无法将数据移入EAX

时间:2011-11-25 12:36:30

标签: assembly x86 masm

我通过输入分配变量,然后尝试将变量值移动到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。

为什么?

1 个答案:

答案 0 :(得分:0)