ROM上のプログラムが実行できる環境ができたので、初めての29kプロセッサのプログラムを書いてみます。マニュアルでインストラクションセットをざっと見てみたのですがだいたい見慣れたニーモニックが並んでいます。RISCとはいいますがそんなにとっつきにくい感じはありません。しいて言えばオペランドが3個ある命令があったりするのが変わってるかもしれません。
当然JUMP命令もあるわけで初プログラムはお約束の「JMP $」からやってみます。およそマイクロプロセッサと名付けられたものは全てこのコードを実行できるのではないかと思われるメタコードです
マクロアセンブラASがAm29000をターゲットにできることがわかっていたので早速ソースを書いて通してみます。
ソースコードはたったこれだけ。1行目のCPU疑似命令でターゲットを指定しています
アセンブルは瞬時に通り、初プログラムなのにノーエラーです。といってもエラーに落ちようがない短いソースですが。
出力リスティングファイルです。バイナリコード「A0/00/00/00」が生成されたことがわかります。インストラクションのフォーマットに当てはめると即値PC相対アドレッシングでオフセット0へのジャンプとなるので、期待通りのコードになりました。