求寄存器ax中的值,请写出详细解答步骤
求(ax)=?程序如下:
mov ax,0
push ax
popf
mov ax,0fff0h
add ax,0010h
pushf
pop ax
and al,11000101b
and ah,00001000b
mov ax,0
push ax
popf
mov ax,0
push ax
popf FL清0
mov ax,0fff0h
add ax,0010h 有溢出 ax=0000 FL=0000 1000 0101 0101
pushf
pop ax ax=0000 1000 0101 0101
and al,11000101b al=0100 0101
and ah,00001000b ah=0000 1000
ax=0145h
求正确答案。 ax = 0045Hmov ax,0 AX=0000H
push ax AX入栈
popf 从栈中弹出数据送入标志寄存器中,FLAG=0H
mov ax,0fff0h AX=fff0H
add ax,0010h 溢出,AX=0000H
pushf 标志寄存器的值入栈 0000 0000 0100 0101
pop ax AX=0000 0000 0100 0101
and al,11000101b AL=0100 0101
and ah,00001000b AH= 0000 0000标志位情况为
NV UP DI PL ZR NA PE NC
AX=0000 0000 0100 0101B= 45H 福禄娃娃 发表于 2013-8-29 14:22 static/image/common/back.gif
ax = 0045H标志位情况为
NV UP DI PL ZR NA PE NC
AX=0000 0000 0100 0101B= 45H
有点疑惑,关于溢出标志与进位标志。是不是运算溢出了,进位标准就为0了? vitamin 发表于 2013-9-15 15:16 static/image/common/back.gif
有点疑惑,关于溢出标志与进位标志。是不是运算溢出了,进位标准就为0了?
进位和溢出没关系的
进位标识符就看有没有进位
溢出是看对于有符号数,结果是否准确,不准确则溢出了。 tsembrace 发表于 2013-9-15 18:01 static/image/common/back.gif
进位和溢出没关系的
进位标识符就看有没有进位
溢出是看对于有符号数,结果是否准确,不准确则溢出了。
哦,懂了,是我算错数了,fff0 作为有符号数的话,真实值是 -0010H ,多谢。 进来看看。。。。 没看懂。。。。。
页:
[1]