递增寄存器超过其限制。汇编语言加法
Incrementing register past its limits. Assembly language addition
执行以下行后 EAX 中的值是多少?
mov eax, 1002FFFFh
inc ax
答案是1002000h
。
我的问题是,为什么答案不是 1003 0000h
,或者 1002 0000h
考虑到我们最初从 32 位的东西开始,而答案不知何故是 32-4 位。
您正在增加 AX,它是 16 位,并且溢出到 0x0000
所以答案是 0x10020000(不是你说的 0x1002000,可能是打字错误)
要获得 0x10030000 作为结果,您必须改为增加 EAX
执行以下行后 EAX 中的值是多少?
mov eax, 1002FFFFh
inc ax
答案是1002000h
。
我的问题是,为什么答案不是 1003 0000h
,或者 1002 0000h
考虑到我们最初从 32 位的东西开始,而答案不知何故是 32-4 位。
您正在增加 AX,它是 16 位,并且溢出到 0x0000
所以答案是 0x10020000(不是你说的 0x1002000,可能是打字错误)
要获得 0x10030000 作为结果,您必须改为增加 EAX