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


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

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

[第66回]



●MV、CPをセグメント指定可能に

前回はDMとCMをセグメント指定可能にしました。
同じ要領で今度はMV(MOVE)とCP(COMPARE)をセグメント指定可能にしました。
コマンド名はMVですけれど実際の動作はMOVEではなくてCOPYです。
システムプログラムの一部(0100〜01FF)をMVコマンドで同じセグメントの8100にコピーしたあと、CPコマンドでその効果を確認しました。

このときはこれでよいと思ったのですが、今この記事を書いていておかしいことに気が付きました。
実は今はデバッグ中なのでシステムプログラムをRAMのDS=0000にコピーしたうえで、CS=0000にしてRAM上でシステムを実行しています。
しかしそうだとしても[F000]のセグメント指定はROMのエリアのままのはず。
ならば、ROMの8100(セグメントベースはF000)にCOPYはできないはずでしょう。
なのですけれど。
CPコマンドでチェックしてみると0100〜01FFがちゃんと8100〜81FFにコピーされたことがわかります。
するとこの8100〜のセグメントベースはF000ではありえない…。
うーん。
どこかがおかしい。
まるで夏の夜の怪談話であります。

本日は時間がありません。
謎を残したまま次回に続きます。
いえ。
今回は現時点では本当に謎のままです。
明日はホットなホットなホットな一日になりそうです。

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

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