我正在解决一个汇编问题之一,我偶然发现了逻辑方面的问题。让我想到的是,在将数字系统从十六进制更改为垃圾箱之后,并做出了否定和操作,我得到了与其他人不同的答案(我无法联系(。
MOV eax, 0f0f0f0f0h;
MOV edx, 87654321h;
NOT ax;
INC dx;
AND edx, eax;
我期望输出会这样:80604020H,这是答案之一,但另一个人做出了决定并回答:80600302H对我来说,这是我在进行数学后没有意义的。我仍然是大会的新手,所以我可能不知道怎么了,有人可以解释我的回答是什么,还是正确的?
让我们一次使用此指令。NOT ax
将从
0F0F0F0F0
to
0F0F00F0F
由于AX是EAX的下部16位。那么INC dx
将从
87654321
to
87654322
AND edx,eax
指令将结合起来
0F0F00F0F
& 87654322
= 80600302
这使您朋友的答案正确。
如果未指令是NOT EAX
,则答案将为07050302。