アセンブラ– tag –
-
C言語で作る小さなシステム
C言語でLC-3仮想マシンを自作する全12回まとめ: CPU、アセンブラ、デバッグ機能まで作る入門連載 | UNIX Cafe
LC-3VM:C言語で小さなCPUを動かす連載です このページは、C言語でLC-3仮想マシンを自作する全12回の連載まとめ記事です。 この記事で作るもの: LC-3の.objファイルを読み込み、命令を1つずつ実行するC言語製VM 2048.objやrogue.objをターミナル上で動かす... -
自作VM開発記
【低レイヤ入門】C言語で自作VMに外部バイナリローダーを追加して hello.bin を実行する | UNIX Cafe
前回は、小さな自作VMにADD、SUB、CMP、JUMP、JZ、JNZ、CALLI、RETといった命令を追加しました。 これにより、VMはただ上から順番に命令を処理するだけでなく、CMP の結果に応じた条件分岐(ジャンプ)や、CALLI と RET によるサブルーチン呼び出しができ... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第6回:–trace オプションでCPUの挙動を1命令ずつ覗き見よう)| UNIX Cafe
命令実行をトレースしてVMの動きを見る 前回は、Hello Worldが通るだけの小さいLC-3アセンブラをCで作り、hello.asmからhello-minias.objを生成しました。これで、VMに渡す.objを自分で作る流れまで確認できました。 第6回からは、VMの動きを観察する機能... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第5回:小さいLC-3アセンブラを作る)| UNIX Cafe
小さいLC-3アセンブラを作る 前回は、LC-3アセンブリでHello Worldを書き、既存のlc3asを使って.objファイルを作りました。さらに、printfで同じbyte列を直接書き出し、.objの中身も手作業に近い形で確認しました。 第5回では、前回lc3asが担当していた変... -
C言語で作る小さなシステム
C言語で始めるLC-3仮想マシン自作入門(第4回:LC-3アセンブリでHello Worldを書く)| UNIX Cafe
LC-3アセンブリでHello Worldを書く 前回までで、LC-3 VMは .obj ファイルを読み込み、命令を実行し、TRAPやメモリマップドI/Oを通じてUNIX端末ともやり取りできるようになりました。 ここからは、VMの内側を実装する話から少し視点を変えて、そのVMに渡す... -
C言語で作る小さなシステム
C言語のsigned/unsignedをアセンブラで見る|charの範囲と2の補数の仕組み | UNIX Cafe
この記事では、C言語の signed と unsigned の違い、signed char が -128 〜 127 になる理由、そして unsigned int に -1 を渡すと何が起きるのかを、実際のアセンブラ出力を見ながら確認します。 Introduction プログラミングの教科書を開くと、最初の方...
1
