ハンドアセンブルでやってみたLEDチカチカのソースコードをそのままアセンブルしてみます。
最低限必要なアセンブラへのディレクティブ:.MODULE~.ENDMODで囲み、どこのメモリ空間に配置するか・・セクション指示としてBOOTメモリのpage0とします。
あとSYSファイルで宣言したI/O定義を.PORT LED_OUTで参照できます。ここでちょっと嵌まったのがLED_OUTというラベルはアドレスのマクロ定義ではなく、変数そのものを示すようでソースコードの最初の行:I4にLED_OUTのアドレスを即値で代入するときI4=LED_OUT; はエラーになってしまいます
変数のアドレスを示す「^」(キャレット)演算子を前に付ければいいようで、これはx86系のアセンブラでのOFFSET演算子のようなものかもしれません。
あとはラベルLOOPは予約語のようなのでCLOOPに変更。
TEST1.DSP
これをアセンブラに食わせます
アセンブラは何事もないと何のメッセージを出さずに終わってしまうので事前に-helpでusageを表示させてます
アセンブル後のLSTファイルです。なんか見覚えのあるコードが生成されています。I/OアドレスとCLOOPの飛び先は、この後リンカが解決してくれます。
TEST1.LST