ソフトな忘却力(65) FreeDOS、OpenWatcom FORTRAN、77だぜ。

hellof77src
Joseph Halfmoon

前回までTurbo Pascalの系譜を現代に継ぐ?Free Pascalを触ってきました。今回からは「大文字で綴らないといられない」FORTRANです。近代的なFortranではなく固定フォーマットの77ね。「灰の中から不死鳥のごとく蘇った」らしいOpenWatcomの逸品。とりあえずHello Worldからだな。

“ソフトな忘却力(65) FreeDOS、OpenWatcom FORTRAN、77だぜ。” の続きを読む

ぐだぐだ低レベルプログラミング(183)x86(16bit)、MULのオペランドは1個?

MULreg
Joseph Halfmoon

前回はADD、SUBなどの算術演算命令、AND、ORなどの論理演算命令8種が「ほぼほぼ」以下同文ということを確認しました。でも算術演算といえば加減乗除というくらいで、乗除はどうなってんの?そこで今回は乗算命令MULを見ていきます。「何かと何かを掛ける」命令のハズなのに、アセンブラのオペランドは1個だけ。なして?

“ぐだぐだ低レベルプログラミング(183)x86(16bit)、MULのオペランドは1個?” の続きを読む

Pico三昧(23) Raspberry Pico 2、Arduino IDEで吉例Lチカ

ArduinoBoard2
Joseph Halfmoon

前回はラズパイ財団のC/C++ SDKを使ってPico2上での吉例Lチカ実施。ついてはSDKのバージョンアップが必要でした。今回はArduino IDEにてPico2の吉例Lチカを実施。Winddows11機上にインストールしてあるArduino IDE 2.3.2利用デス。ここでもボードマネージャの更新必要でした。

“Pico三昧(23) Raspberry Pico 2、Arduino IDEで吉例Lチカ” の続きを読む

Pico三昧(22) Raspberry Pico 2、C/C++ SDKで吉例Lチカ

Pico2_Blink
Joseph Halfmoon

前回、Raspberry Pi Pico 2を受領したのに、一時寝かせてしまいました。老眼の目にはピンヘッダのハンダ付けが辛い、さらにPico 2用にソフトウエアのアップデートがメンドクセーです。まあ、折角手に入れたボードに火も入れずに打っちゃっておくのも気が咎めるので、なんとか吉例Lチカやってみましたぞ。

“Pico三昧(22) Raspberry Pico 2、C/C++ SDKで吉例Lチカ” の続きを読む

Pico三昧(21) Raspberry Pico 2 着弾、Arm M33とRISC-V

Pico2
Joseph Halfmoon

久しぶりにラズパイ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以下同文?微妙に非対称?

8086ADCopcode
Joseph Halfmoon

前回、x86の16ビット命令セットからADD命令を練習。実はADDが分かれば、ADC、AND、XOR、OR、SBB、SUB、CMPの残り7命令も「ほぼほぼ以下同文」てことで理解できます。でも「ほぼほぼ」って何だ?そこで、この辺でCISCらしいx86のオペコードエンコーディングを復習。ほんとメンドクセーんだが、これ。 “ぐだぐだ低レベルプログラミング(182)x86(16bit)、ADD以下同文?微妙に非対称?” の続きを読む

ソフトな忘却力(60) FreeDOS、FreePASCAL、GDBでデバッグ

gdbVersion
Joseph Halfmoon

前回FreeDOS上にFreePASCALコンパイラをインストール、吉例Hello worldできました。今回はFreePASCALで生成したオブジェクトプログラムのデバッグを実施。使用するのはみんな大好きGDBです。FreeDOS上にインストールしたFreePASCAL処理系には主だったGNUのツール共が同梱。

“ソフトな忘却力(60) FreeDOS、FreePASCAL、GDBでデバッグ” の続きを読む

ソフトな忘却力(57) FreeDOS、WSL2上のUbuntuでのキー入力あれこれ

ERROR_k_curses
Joseph Halfmoon

前回、Raspberry Pi OS上でQEMUを実行しているのと同じ方法でWSL2上のUbuntu上のQEMUでもFreeDOS動くだろ~と甘い見通しで作業開始。FreeDOS、動きはするけれどもいろいろビミョ~。その後、あれこれ設定を確かめていって、まあ、こんなもんかいという線に近付きつつある?ので中間報告?

“ソフトな忘却力(57) FreeDOS、WSL2上のUbuntuでのキー入力あれこれ” の続きを読む

ぐだぐだ低レベルプログラミング(181)x86(16bit)、ADDオペランド何でもありすぎ

ADDregs
Joseph Halfmoon

前回から元祖x86、16bitCPU、8086/8088の命令セットの復習を始めました。うん十年ぶり。忘れてます。しかしArmとかRISC-Vとかの後に改めて8086の命令をみると確かに複雑、CISCだからあたりまえか。今回は整数足し算、ADD命令を練習してみます。命令にとれるオペランドがいろいろありすぎ、何でもあり?

“ぐだぐだ低レベルプログラミング(181)x86(16bit)、ADDオペランド何でもありすぎ” の続きを読む

ソフトな忘却力(54) FreeDOS、MS-DOSを継承するメモリ管理のあれこれ

MSDOS_memoryMaps
Joseph Halfmoon

MS-DOS互換の「魔改造OS」FreeDOSを、あろうことかArmコアのラズパイ4機上で定番CPUエミュレータQEMU使って動かしてます。いろいろ触っていくために、古の時代のMS-DOSのメモリ管理を思い出す必要に迫られました。今回は「面倒かった」記憶だけが残るMS-DOSのメモリ管理の復習ってことで。
“ソフトな忘却力(54) FreeDOS、MS-DOSを継承するメモリ管理のあれこれ” の続きを読む

ぐだぐだ低レベルプログラミング(180)x86(16bit)、INC/DECにCISCを見?

Joseph Halfmoon

さて前回よりx86の最初のステップ、16ビットモードに入りました。いままでRISC-V、ArmとRISC系(Armはそれにしちゃ命令多過ぎだが)を練習してきましたが、今回からは「バリバリの」CISCデス。それほど意識することはないけれども、違いは確実にあるので気づいたところから見ていきます。 “ぐだぐだ低レベルプログラミング(180)x86(16bit)、INC/DECにCISCを見?” の続きを読む

ぐだぐだ低レベルプログラミング(179)x86、16/32/64bit、整数レジスタの発展?

x86IntRegisters
Joseph Halfmoon

長らく練習してきたArmを終え(まだ他所でやるケド)、今回からx86に入ります。Armの命令多過ぎなどと文句を垂れてきましたが、x86の命令「もっと」多過ぎ、死ぬまでに舐め終わらない気がします。そのうえ屋上屋を重ねる拡張により「古い16ビット命令」は「64ビット機では練習しずらく」なってます。どうするの?

“ぐだぐだ低レベルプログラミング(179)x86、16/32/64bit、整数レジスタの発展?” の続きを読む

帰らざるMOS回路(76) Xilinx Vivado、risc-vコア、FPU追加してみる

compareUtilization
Joseph Halfmoon

前回、RISC-V(MicroBlaze-V)のコアの設定画面、各チェックボックス、プルダウンメニューの一つ一つに神だか悪魔だかが宿っておるということで調べてみました。その中でも大物といえばFPUデス。小さなSpartan-7 FPGAに収まるのかどうかちょいと不安だけれども追加してみましたぞ。追加するだけなら簡単。
“帰らざるMOS回路(76) Xilinx Vivado、risc-vコア、FPU追加してみる” の続きを読む

帰らざるMOS回路(75) Xilinx Vivado、risc-vコアの設定のいろいろ、1

Optimization
Joseph Halfmoon

前回、Vitis IDEでデバッガを使うために、RISC-V(MicroBlaze-V)のコアを再設定しました。ハッキリ分かっているわけじゃないんだけれども、まあ「こんなもんだろ~」的な成り行きで設定してました。しかし、待てよと、それぞれのチェックボックス、プルダウンメニューの一つ一つに神だか悪魔だかが宿っておると。

“帰らざるMOS回路(75) Xilinx Vivado、risc-vコアの設定のいろいろ、1” の続きを読む