CPU実験室

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

最小プログラム

初めて使うCPUで最初に実行させる、いつもの最小ループをやってみます。単純にして明快。これだけで基本的なハードウェアは確認できてしまいます。

        LOOP:   JUMP  LOOP

 

「JUMP $」でもいいのですが文法的にロケーションカウンタ$が使えるかわからなかったのでこの書き方です。疑似命令も何も使わずに先ずはこのままアセンブル・・・

、とここで少し嵌りました。

 

f:id:O3I:20191108000425j:plain

何度やっても入力ソースファイルが何かおかしいと怒られます。

コードの中のTABやスペースが悪いのか、よくやらかす全角スペースが混ざってないかとかやはり何らかの疑似命令で宣言しなければならないのかとまず疑いました。

エディタでソースを編集しながらアセンブルしてみるの繰返しでも状況が全く変わらなかったのが、何かのはずみで突然アセンブル成功。。。

 

f:id:O3I:20191108001227j:plain

最初???だったのですがどうも入力ファイルをエディタで開いたままアセンブルしようとしたためファイル共有のエラーが出ていたようです。アセンブラがソースをR/W属性で開こうとしたのでしょうか。エディタを閉じてファイルを解放してやれば問題無し。すんなりオブジェクトコード「7F/DA/00」が出来ました。

.ORGに相当する疑似命令が見当たらなかったのでいきなりソースコードを書いていますが、00000000番地にロケートされたようです。