王爽《汇编语言(第三版)》检测点11.1

时间:2020-12-24 19:25:38

写出下面每条指令执行后,ZF、PF、SF等标志位的值。

指令

sub al,al

mov al,1

push ax

pop bx

add al,bl

add al,10

mul al

ZF(0)

1

1

1

1

0

0

0

PF(偶)

1

1

1

1

0

1

1

SF(负)

0

0

0

0

0

0

0

 

ZF标志:是否为0

PF标志:结果中是否有偶数个为1的bit位。

SF标志:结果是否为负,仅有符号运算有用。

 

提示:传送指令不影响标志位。至于为什么是这样,我估计是因为更改标志位会费时间,CPU的资源很宝贵,而且转移指令的标志位并没有什么实际意义

 

1. sub al,al  结果为0,有0个为1的bit位,非负。

2. mov al,1  传送指令不影响标志位。

3. push ax  传送指令不影响标志位。

4. pop bx   传送指令不影响标志位。

5. add al,bl  结果为00000010B,结果不为0,有1个为1的bit位,非负。

6. add al,10  结果为00001100B,结果不为0,有2个为1的bit位,非负。

7. mul al   结果为10010000B,结果不为0,有2个为1的bit位,非负。