CPU実験室

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

最小プログラム

DSP56001ボードはDSP周りのハードが完成したのでさっそく動作確認してみます。先ずはいつものように最小ループテスト:JMP $からですがちゃんとインストラクションはあります。

先頭から4kbyte以内のジャンプであれば12bitアドレス即値のショート形式で指定できます。リセットベクタは0番地なので0番地に0番地へ飛ぶJMP 0を置けばよく、これは簡単に0x0C0000の24bitコードにハンドアセンブルできます。

 

もちろんこれで良いのですが、実は56kDSPを下調べ中にモトローラ純正のアセンブラASM56000を見つけてました。入力するソースはこれだけです

 

ただアセンブラ演算子など記号の使い方にメーカごとに方言があって、初っ端からJMP $ がエラーになってちょっと嵌まりました。


JMP *に直してアセンブル通り同じコード0x0C0000が得られました

 

強制的にロングアドレッシングするように>演算子を付けてJMP >*とすると24bit即値を生成して0x0AF080,0x000000になりますが当然動作は同じです