我正在使用Visual Studio进行程序集编码,而我对程序集还很陌生。我的问题是,当我向寄存器分配一个数字时,该数字的值已更改。
.386
.model flat, stdcall
stack 4096
ExitProcess PROTO, dwExitCode: DWORD
.data
;define your variables here
adword DWORD ?
aword WORD 7788h
.code
main PROC
mov eax,11223344h ; moved a constant into a register
mov ebx, eax ; moved ebx -> eax
mov adword, eax ; mov eax-> adword
mov ax, aword ; 7788h -> ax
mov ah, 10h
INVOKE ExitProcess, 0
main ENDP
END main
Eax的值不是11223344,它将变成其他值。