2022-06-21 23:30 — asano
カテゴリー:
1820-1692も例によって適当な開発環境が見当たりません。
というわけでCP-1600のときと同様にASのコードジェネレータを書いてみました。CP-1600同様これも書式は簡単で命令数も少なく、着手してから半日ほどでテストも含めて書けました。
現時点のパッチなどをhttps://electrelic.com/pub/asl-Nanoprocessor-20220616/に置いておきます。
- asl-1.42bld223を展開してそのトップディレクトリで
patch -p1 < Nanoprocessor.patch
でパッチを当てます。 - バイナリファイル
t_nano.ori
をtests/t_nano
にコピーします。
後は普通にビルドできるはずです。
ソースの書き方は原則として LID Nano Processor User's Guide に記載のアセンブラに合わせていますが、以下のような点が異なっているので注意してください。
- ASは汎用アセンブラなので最初に
CPU NANO
でNanoprocessorを指定する必要があります。 - 数値定数は8進でのみでしたが、あまりに不便なのでAS標準の式が使えるようにしています。8進・16進定数はCスタイルです。
- 上に伴い
OCT
,DEC
,BCD
には非対応です。これらは一般的なEQU
相当の疑似命令で、それぞれ8進・10進・BCDで定数を記述するときに使用されるものですが、Cスタイルで書けるようにしたので不要と判断しました。 EOF
疑似命令にも非対応です。- コメントは * ではなくAS標準の ; を使用します。
しばらく寝かせたのち問題が無いようであれば作者に送ろうと思っています。
参考文献・関連図書:
LID Nano Processor User's Guide, A-5955-0331-1, Hewlett Packard.
コメントを追加