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
前へ
次へ
ホームページトップへ戻る