ぐだぐだ低レベルプログラミング(196)x86(16bit)、条件ジャンプ命令群 Jcc

Jcc_results
Joseph Halfmoon

x86の命令どもを16ビットモードから眺めてます。今回は条件付ジャンプです。x86を含むクラシックなプロセッサでは、数多くの条件フラグを駆使してジャンプするのが普通です。しかしレジスタの依存関係以外に伏線張ると「近代化時」にメンドクセー筈。モダンなRISC-Vなどはフラグ無、条件判断は条件ジャンプ命令自体で判定だよ。
“ぐだぐだ低レベルプログラミング(196)x86(16bit)、条件ジャンプ命令群 Jcc” の続きを読む

Pico三昧(57) ラズパイPico2:RP2350、RISC-V プラットフォームタイマ

RVptimerRead
Joseph Halfmoon

前回はHWスピンロックを試用。処理系が「時々」使うことがあるらしい機能を勝手に直接利用して前回はタマタマ動作しましたが、その後、案の定マズイ場合にも遭遇。そゆときは番号変えると動くかも。さて今回はRISC-Vのプラットフォームタイマを読み出してみます。RISC-VといいつつRP2350ではArmコアでも読めるみたい。
“Pico三昧(57) ラズパイPico2:RP2350、RISC-V プラットフォームタイマ” の続きを読む

データのお砂場(165) R言語、ethanol、圧縮比と当量比とNOx、{lattice}

ethanol_wireframe
Joseph Halfmoon

R言語所蔵のサンプルデータをABC順に眺めてます。今回はlatticeパッケージのethanol、エンジンでエタノール燃料を燃焼させるときに発生するNOx濃度をエンジンの圧縮比と当量比に対して計測したデータみたいです。公害全盛?時代の日本で育った老人はNOxでつい昨日のことのように思い出します。光化学スモッグってやつ。

“データのお砂場(165) R言語、ethanol、圧縮比と当量比とNOx、{lattice}” の続きを読む

忘却の微分方程式(177) Maxima、{fourie}、4次関数のフーリエ級数をプロット

totalfourier
Joseph Halfmoon

前回はMaxima様にラプラス変換をお願いして伝達関数を求めました。今回お願いするのはフーリエ級数展開です。普段「高速フーリエ変換」とて数値的な解析にお世話になっておりますが、今回は数値ではなくシンボル計算で級数をもとめてみます。数学できない老人は間違えずに自力計算できる気がしません。でもMaximaで一撃よ。
“忘却の微分方程式(177) Maxima、{fourie}、4次関数のフーリエ級数をプロット” の続きを読む

Lispと一緒(34) ラズパイPico2でもuLisp、I2Cメモリ読み書き

I2CmemRW_BB
Joseph Halfmoon

Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。前回はI2CバスにSCANをかけ、接続したメモリが接続したつもりのアドレスに「居る」ことを確認できました。今回は実際にメモリにライトしてリードしてみます。リードのところの手順にちょっとテク?いるけれども、どおってことない。ホントか? “Lispと一緒(34) ラズパイPico2でもuLisp、I2Cメモリ読み書き” の続きを読む

お手軽ツールで今更学ぶアナログ(215) FMディテクタ、スロープ検波器

FMdetectorTransSIM
Joseph Halfmoon

アナデバ社(ADI社)のWeb記事『StudentZone』の2024年11月号(和文版)の実習初回。前回までAM検波。今回はFM。各種FM検波器の解説が掲載されとります。『StudentZone』のタイトル的には今回も『ADALM2000による実習』ですが実機実習はみあたらず、シミュレーション「のみ」です。いいのか?

“お手軽ツールで今更学ぶアナログ(215) FMディテクタ、スロープ検波器” の続きを読む

ブロックを積みながら(182) Scilab/Xcos、Maximaから伝達関数「輸入」

TF0_flow_results
Joseph Halfmoon

別シリーズ「忘却の微分方程式第176回」にて、ラプラス変換関数を使って伝達関数を求めてみました。Maxima様にお願してメンドクセー「伝達関数」が得られるとなれば、ブロック線図を描くのはお茶の子サイサイ? あとはScilab/Xcos側に伝達関数を輸入すれば時間領域でのシミュレーションができるハズ。サンプルを実地検証。 “ブロックを積みながら(182) Scilab/Xcos、Maximaから伝達関数「輸入」” の続きを読む

忘却の微分方程式(176) Maxima、ラプラス変換で伝達関数を求める

BlockDiag0
Joseph Halfmoon

別シリーズ「ブロックを積みながら」にて、ブロック線図を描いてシミュレーションを行ってます。伝達関数が分かっていればブロック線図を描くのは自由自在、であるのです。しかし数学力の欠如した忘却力の老人には伝達関数を求めるのが辛いです、というかメンドクセー。でもMaxima様にお願いすればラプラス変換できたんだよね。
“忘却の微分方程式(176) Maxima、ラプラス変換で伝達関数を求める” の続きを読む

オプション沼(27) Arduino IDE 2.x、コンパイラオプションの在処

ArduinoIDEoutputControl
Joseph Halfmoon

Arduino環境ではツールチェーンの上に一枚かぶさっているプリプロセッサ的なものが皆よきように計らってくれるのでお楽。しかし、たまにコンパイラオプションを操作しようと思うと隠されている分メンドイです。まあその前に、メンドクセーものどもが画面に映らないように制御もされとるので、それを外して現実を見るところからっすけど。
“オプション沼(27) Arduino IDE 2.x、コンパイラオプションの在処” の続きを読む

手習ひデジタル信号処理(162) Scilab、{IPCV}、画像の輪郭抽出

plotHandCountours
Joseph Halfmoon

今回は画像の輪郭抽出を行ったのち、その輪郭のConvex Hull(凸包)まで一気に処理せんとの野望あり。というか処理例がそうなっていただけのことなのですが凸包いけませぬ。毎度の処理例途中でのエラー、いろいろ突いてみるもなんともはや動きませぬ。元より素人、分かっておらんからの~。そこで手前の輪郭抽出でお茶を濁しました。
“手習ひデジタル信号処理(162) Scilab、{IPCV}、画像の輪郭抽出” の続きを読む

ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP

jmpDebug3
Joseph Halfmoon

x86の命令どもを16ビットモードから眺めてます。今回は無条件ジャンプです。どのプロセッサも長いのとか短いのとか複数種類のジャンプ命令を持つことが多いですが、x86はやっぱりメンドクセーです。直接に間接、nearにfarそういえばshortもあったな、という感じ。アセンブラにもコマケー指示をせんとなりません。
“ぐだぐだ低レベルプログラミング(195)x86(16bit)、無条件JMP” の続きを読む

Pico三昧(56) ラズパイPico2:RP2350、HWスピンロックの試用

HWspinlockResults
Joseph Halfmoon

前回はMicroPython処理系が備えているlockをつかって2コアの排他制御を試みました。今回はラズパイPico/Pico2に特有なハードウエア・スピンロック機構を使ってみます。RP2040のときには有用であったHWスピンロックですが、RP2350では後ろ向きの機能になってます。でも使えることに変わりありませぬ。 “Pico三昧(56) ラズパイPico2:RP2350、HWスピンロックの試用” の続きを読む

データのお砂場(164) R言語、environmental、NYの空気、{lattice}

Joseph Halfmoon

R言語所蔵のサンプルデータをABC順に眺めてます。今回はlatticeパッケージのenvironmental、なんかデジャヴのような。忘却力の年寄りはほぼほぼ忘れてましたが、調べたら2年以上まえに「似たデータセット」を扱ってました。ちょいとツッコミどころがあるデータでした。今回は可視化の処理例なのでまあいいか? “データのお砂場(164) R言語、environmental、NYの空気、{lattice}” の続きを読む

Lispと一緒(33) ラズパイPico2でもuLisp、I2Cポートスキャン

I2CscanSchematic
Joseph Halfmoon

Common Lispの系譜を継ぐuLispをラズパイPico2マイコン上で練習中。前回はSPIにメモリを接続しました。今回はI2Cバスにメモリを接続です。しかし読み書きの前にI2Cポート・スキャンからです。まあ、uLispの例題そのまま走らせるだけなんだけれども。一応、実機波形を確認。I2Cバス動いてますなあ。 “Lispと一緒(33) ラズパイPico2でもuLisp、I2Cポートスキャン” の続きを読む