特定のデータをメモリ位置0x4000に保存しました。データが画面に印刷されるように、そこからメモリ位置0xb800にバイトを渡したいと思いました。この問題は、0xb800:0に格納しようとすると発生します。これは、 0x4000:0にあると想定する最初のバイトです。例として使用したコードは次のとおりです。
mov ax, 0xb800
mov es, ax
mov byte [es:0], 'A'
これは正常にコンパイルされ、完全に実行されますが、私が適応させようとしているものは、NASMで「無効なセグメントオーバーライド」エラーをスローします。これが私の機能しないコードです:
mov ax, 0xb800
mov es, ax
mov byte [es:0], byte [0x4000:0]
ESセグメントを使用して0x4000:[offset]から1バイトを取得し、それを0xb800:[offset]にフィードすることは可能ですか?もしそうなら、どのように?