CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

リンカ実行

アセンブラが吐いたオブジェクトをリンカで結合します。この時、最初に作ったアーキテクチャファイル(.ACH)も一緒に読み込まれてメモリの実アドレスが決定します。

 

f:id:O3I:20210624131325j:plain

 

リンカも最初usageを出してみましたが、正常実行されると外部定義を参照した旨のシンプルなメッセージしか出ません。

f:id:O3I:20210624131308j:plain

 

マップファイルを出力してみるとBOOTメモリ上に7バイトのコードが確かにできています。

TEST1.MAP

f:id:O3I:20210624131419j:plain

最終的な成果物のEXEファイルです。EXEといってもexecutable memory image file なのでうっかりダブルクリックしてしまうと何が起きるかわかりませんから要注意です

 

TEST1.EXE

f:id:O3I:20210624131434j:plain

ブートROMに配置する意の@BO、ロケーションアドレス0000に続いて24ビットのコードが7ワード、チェックサムがテキストで書かれています。コード部分はハンドアセンブルの結果と全く同一なのがわかります。