前回は、MUL(掛け算)命令。今回はレジスタやメモリの中のビットをシフトしたりローテイトしたりする命令について調査。全8種類(実際は7種類)もあり。「フツーの」RISCはこの系統の命令種類をこれほどもってません。それにキャリーフラグが影響うけること多いなど動作もクセ強。御先祖の8ビットの血統を色濃く受け継いでおると。
“ぐだぐだ低レベルプログラミング(184)x86(16bit)、シフト、ローテイト(86のね)” の続きを読む
Pico三昧(27) ラズパイPico2:RP2350、Pico:RP2040との仕様比較3
前回までに、ラズパイPico2搭載のRP2350とPico搭載のRP2040の電源、クロックなどの比較を行いました。いよいよチップの内部です。最初は「プロセッサ・サブシステム」部分。PicoのRP2040はデュアルArmコア、RP2350ではデュアルArm+デュアルRISC-Vだと。でも実は構造、かなり似てました。
“Pico三昧(27) ラズパイPico2:RP2350、Pico:RP2040との仕様比較3” の続きを読む
Pico三昧(26) ラズパイPico2:RP2350、Pico:RP2040との仕様比較2
前回はラズパイPico2搭載のRP2350とPico搭載のRP2040の電源、クロック端子などを中心に比較してみました。今回は残りの端子を比べてみます。しかし調べているうちにRP2354なる型番のチップも存在(現物を見たわけでないけれども)することが分かりました。パッケージ内部にFlashをスタックした版みたい。
Pico三昧(25) ラズパイPico2:RP2350、Pico:RP2040との仕様比較1
過去回(第21回)でラズパイPico2搭載のRP2350マイクロコントローラのデータシート、PicoのときのRP2040のそれに比べて2倍以上のページ数(1346p)があると愕然としました。愕然としてばかりもいられないので、少しづつ読み進めていきたいと思います。RP2040と比べながらね。今回は電源、クロック端子など。
Pico三昧(24) ラズパイPico2、MicroPythonで吉例Lチカ
ソフトな忘却力(65) FreeDOS、OpenWatcom FORTRAN、77だぜ。
前回までTurbo Pascalの系譜を現代に継ぐ?Free Pascalを触ってきました。今回からは「大文字で綴らないといられない」FORTRANです。近代的なFortranではなく固定フォーマットの77ね。「灰の中から不死鳥のごとく蘇った」らしいOpenWatcomの逸品。とりあえずHello Worldからだな。
ぐだぐだ低レベルプログラミング(183)x86(16bit)、MULのオペランドは1個?
前回はADD、SUBなどの算術演算命令、AND、ORなどの論理演算命令8種が「ほぼほぼ」以下同文ということを確認しました。でも算術演算といえば加減乗除というくらいで、乗除はどうなってんの?そこで今回は乗算命令MULを見ていきます。「何かと何かを掛ける」命令のハズなのに、アセンブラのオペランドは1個だけ。なして?
Pico三昧(23) Raspberry Pico 2、Arduino IDEで吉例Lチカ
前回はラズパイ財団のC/C++ SDKを使ってPico2上での吉例Lチカ実施。ついてはSDKのバージョンアップが必要でした。今回はArduino IDEにてPico2の吉例Lチカを実施。Winddows11機上にインストールしてあるArduino IDE 2.3.2利用デス。ここでもボードマネージャの更新必要でした。
Pico三昧(22) Raspberry Pico 2、C/C++ SDKで吉例Lチカ
前回、Raspberry Pi Pico 2を受領したのに、一時寝かせてしまいました。老眼の目にはピンヘッダのハンダ付けが辛い、さらにPico 2用にソフトウエアのアップデートがメンドクセーです。まあ、折角手に入れたボードに火も入れずに打っちゃっておくのも気が咎めるので、なんとか吉例Lチカやってみましたぞ。
Pico三昧(21) Raspberry Pico 2 着弾、Arm M33とRISC-V
久しぶりにラズパイPicoです。辺境の老人のもとにも「Pico 2」やってまいりました。文明開化。前のPicoに搭載されていたRP2040は、デュアルコアのArmを搭載してましたが、コアはお手頃なやつでした。しかし今回Pico 2は、デュアルArm M33だけではなく、デュアルRISC-Vも搭載とな。どうなってるんだ?
“Pico三昧(21) Raspberry Pico 2 着弾、Arm M33とRISC-V” の続きを読む
ぐだぐだ低レベルプログラミング(182)x86(16bit)、ADD以下同文?微妙に非対称?
前回、x86の16ビット命令セットからADD命令を練習。実はADDが分かれば、ADC、AND、XOR、OR、SBB、SUB、CMPの残り7命令も「ほぼほぼ以下同文」てことで理解できます。でも「ほぼほぼ」って何だ?そこで、この辺でCISCらしいx86のオペコードエンコーディングを復習。ほんとメンドクセーんだが、これ。 “ぐだぐだ低レベルプログラミング(182)x86(16bit)、ADD以下同文?微妙に非対称?” の続きを読む
ソフトな忘却力(60) FreeDOS、FreePASCAL、GDBでデバッグ
前回FreeDOS上にFreePASCALコンパイラをインストール、吉例Hello worldできました。今回はFreePASCALで生成したオブジェクトプログラムのデバッグを実施。使用するのはみんな大好きGDBです。FreeDOS上にインストールしたFreePASCAL処理系には主だったGNUのツール共が同梱。
ソフトな忘却力(57) FreeDOS、WSL2上のUbuntuでのキー入力あれこれ
前回、Raspberry Pi OS上でQEMUを実行しているのと同じ方法でWSL2上のUbuntu上のQEMUでもFreeDOS動くだろ~と甘い見通しで作業開始。FreeDOS、動きはするけれどもいろいろビミョ~。その後、あれこれ設定を確かめていって、まあ、こんなもんかいという線に近付きつつある?ので中間報告?
ぐだぐだ低レベルプログラミング(181)x86(16bit)、ADDオペランド何でもありすぎ
前回から元祖x86、16bitCPU、8086/8088の命令セットの復習を始めました。うん十年ぶり。忘れてます。しかしArmとかRISC-Vとかの後に改めて8086の命令をみると確かに複雑、CISCだからあたりまえか。今回は整数足し算、ADD命令を練習してみます。命令にとれるオペランドがいろいろありすぎ、何でもあり?