私の問題はそれほど大きくはありませんが、私は何かを理解していないので、いくつかの助けを求めていました。アセンブリx86補助演算命令
私たちはAssembly .x86言語について学び、SUB算術命令に固執しました。
これはコードです:
INCLUDE Irvine32.inc
.data
val_A DWORD 1234h
val_B DWORD 144h
.code
main proc
MOV EAX, val_B ;This works
SUB EAX, val_A
CALL WriteInt
CALL Crlf
INVOKE ExitProcess, 0
main endp
.stack
dw 100 dup(?)
end main
私は、このように配置しようとすると:
MOV EAX, val_A
MOV EBX, val_B
SUB EBX, EAX
それは仕事をdoesntの。私たちは[SUB]算術構造は[MOV]と[ADD]と同じように動作することを知りましたが、[SUB reg/reg]として使用しようとすると、EAXレジスタにあるものだけが表示されます。 私はVisual Studioを使用しています。それが問題なのかどうかはわかりません。
結果はEBXに格納されます。 MOV EAX、EBXを追加してWriteIntを満足させ、正しい値を表示させる必要があります。 –
Ohh ....これは簡単です...ありがとうございました:) – Terminatorka
最初のバージョンはEAXの結果をEBXの2番目に入れます。だから、あなたのWriteIntはEAXの入力を期待しているので、あなたは別のバーチャルを持っています。 – Artur