1
我正在通過輸入分配變量,然後嘗試將該變量值移入EAX。無法將數據移入EAX
它不工作,我收到奇怪的結果。
.386
.model flat, c
.stack 100h
printf PROTO arg1:Ptr Byte, printlist:VARARG
scanf PROTO arg2:Ptr Byte, printlist:VARARG
.data
in1fmt byte "%d",0
msg1fmt byte 0Ah,"%s",0
msg1 byte "Enter an integer: ",0
number sdword ?
.code
main proc
INVOKE printf, ADDR msg1fmt, ADDR msg1
INVOKE scanf, ADDR in1fmt, ADDR number
mov eax, number
ret
main endp
end
如果我輸入30,由於某種原因EAX包含17。
爲什麼?
你是如何檢查eax的值?我沒有看到任何輸出代碼.... – SoapBox
也許他在調試器 –
中檢查過,或者也可能是他輸入了23 .__。 –