私は8086プログラムを書いていましたが、それはうまくいきますが、変数を宣言する部分に来るとエミュレータからエラーが出ます。ラインtemp db 0x0F
を実行しようとすると、エミュレータは言う:エラー:「未知のオペコードはスキップされました:32」
unknown opcode skipped: 32
not 8086 instruction - not supported yet.
ここに私の完全なプログラムがあります:
org 100h
mov ah, temp ;put variables into registers
mov al, changed
mov dx, result
lea bx, temp ;get address of temp and put into bx
add dx, [bx] ;add value at the address in bx to result
lea bx, changed ;get address of changed and put into bx
add dx, [bx] ;add value at the address in bx to result
temp db 0x0F ;declare and initialize variables
changed db 32h
result dw 0
はどのようにプログラム機能、およびどのように私はそれを修正しますと、この必然的ですか?
EDIT:sigjuiceは問題を解決しました。コメントでわかるように。ここでは、正しく動作するプログラムの最終バージョンがあります:あなたのプログラムのこの部分で
.CODE
org 100h
mov ah, temp ;put variables into registers
mov al, changed
mov dx, result
lea bx, temp ;get address of temp and put into bx
add dx, [bx] ;add value at the address in bx to result
lea bx, changed ;get address of changed and put into bx
add dx, [bx] ;add value at the address in bx to result
.DATA
temp db 0x0F ;declare and initialize variables
changed db 32h
result dw 0
プログラムをアセンブルしてリンクするためのコマンドは何ですか?使用しているエミュレータは何ですか? – sigjuice
@sigjuice私は[emu8086](http://www.emu8086.com/)でこれをやっています。あなたのコメントは私が前に知らなかった、使用していないアセンブラ指示を発見するようになった。 '.CODE'と' .DATA'アセンブラディレクティブを追加すると、問題が修正されたようです。どうもありがとうございました。 – tagurit
あなたは大歓迎です!正常に実行されるプログラムの最終バージョンを含めた場合、他の人には役に立ちえることをお勧めしますか? – sigjuice