2018.9.7
前へ
次へ
ホームページトップへ戻る


16ビットマイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使ってみるつもりで入手してそのまま置いてあった16ビットCPUのことを思い出しました。
AMD社のAM188です。
その名の通り、CPUコアは80188互換の16ビットCPUです。
そのAM188を使った16ビットマイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第81回]



●8086ラインアセンブラ(2)

[第79回]で8086ラインアランブラのテストを行ないました。
8086アセンブラからマシン語への翻訳はうまくできたのですが、相対ジャンプ命令のジャンプ先アドレスを<>で参考表示するところの値が正しく表示されていませんでした。
そのままにしておくわけにもいきませんので、正しく表示されるようにプログラムを修正しました。

[第79回]と同じテストプログラムです。

今はまだRAMにシステムプログラムをロードしてデバッグをしています。
最初の/LD 86ROM6V.BIN,0100でデバッグ中のシステムプログラム(86ROM6V.BIN)をRAMにロードしています。
[第79回]では86ROM6H.BINでした。
この一週間のデバッグ作業や機能追加の結果バージョンが6Hから6Vまで進みました。
/LD LASMTBL.BIN,8000は8086命令のテーブルのロードです。
/LD LASM86_N.COM,8400は8086ラインアセンブラのロードです。
この2つもシステムプログラムの機能にする予定ですが、まだデバッグ中なのでRAM上のプログラムとしてロードしています。

テストプログラムを入力し終わって、実行しました。

今度はJNZ LOOP <A007>と正しく表示されました。
テストプログラムの実行前と実行後にDMコマンドでメモリ内容を表示して、テストプログラムが正しく実行されたことを確認しました。

●8086ラインアセンブラコマンド(AS)をシステムに組み込みました

8086ラインアセンブラをシステムコマンドとして組み込みました。
特にこだわっているわけでもありませんが、システムコマンド(マシン語機能コマンド)はJP、CM、DMなど2文字で表現してきましたので、今回の8086ラインアセンブラもASというコマンド名にしました(ASMの意味です)。
上のテストではまだコマンド名を組み込んでいませんでしたので、仮にJP 8400 A000として実行しました。
JPコマンドに汎用のパラメータ機能が備わっているわけではありません。
システムデバッグのためのウラ技です。

下はASコマンドをシステムに組み込みましたので、さっそく使ってみたところです。

これもまだRAMにロードしてのテストですが、うまく機能しているようです。

16ビットマイコンボードの製作[第81回]
2018.9.7upload

前へ
次へ
ホームページトップへ戻る