2.04 标志寄存器

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

答:
sub al,al ZF=1 PF=1 SF=0
mov al,1 ZF=1 PF=1 SF=0
push ax ZF=1PF=1SF=0
pop bx ZF=1PF=1SF=0
add al,bl ZF=0PF=0SF=0
add al,10 ZF=0PF=1SF=1
mul al ZF=0PF=1SF=0

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

CF OF SF ZF PF
sub al,al
mov al,10h
add al,90h
mov al,80h
add al,80h
mov al,0fch
add al,05h
mov al,7dh
add al,0bh
答:
sub al,al
CF OF SF ZF PF
0 0 0 1 1
mov al,10H ; MOV 指令不影响 Flag
CF OF SF ZF PF
0 0 0 1 1

add al,90H ; 作无符号数,A0H无进位,当作有符号数,16+(-112),在-128~127,无溢出
CF OF SF ZF PF
0 0 1 0 1

mov al,80H ; MOV 指令不影响 Flag
CF OF SF ZF PF
0 0 1 0 1

add al,80H ;作无符号数,100H,进位,作有符号数,(-128)+(-128),不在-128~127,溢出
CF OF SF ZF PF
1 1 0 1 1

mov al,0FCH ; MOV 指令不影响 Flag
CF OF SF ZF PF
1 1 0 1 1

add al,05H ; 无符号,有进位,有符号,(-4)+5=1,在-128~127,无溢出
CF OF SF ZF PF
1 0 0 0 0

mov al,7DH ; MOV 指令不影响 Flag
CF OF SF ZF PF
1 0 0 0 0

add al,0BH ; 无符号数,无进位,有符号数 125+12=137,不在-128~127,溢出
CF OF SF ZF PF
0 1 1 0 1

3.请说说标志CF和标志OF的差异。

答: 如果把指令中处理的数据按照无符号数看待,则处理结果达到进位是,置CF为1;
如果把该处理中的数据按照有符号数看待,则处理结果超过有符号数表达范围的,
置OF为1;两个标志同步进行,CPU并不知道该数的类型;

4.8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志的状态?

答: 8086/8088标志寄存器中定义了9个标志,如下:
CF: Carry Flag
ZF: Zero Flag
SF: Sign Flag
OF: Overflow Flag
PF: Parity Flag
AF: Auxiliary Carry Flag
DF: Direction Flag
IF: Interrupt-enable Flag
TF: Trap Flag

这些标志可分为两类,分别为:
1、运算结果标志;
2、状态控制标志;

采用指令SAHF可把AH中的指定位送至标志寄存器低8位SF、ZF、AF、PF、CF;
采用CLC可清除CF,置CF到0
采用STC可置CF到1
采用CLD可置DF到0
采用STD可置DF到1
采用CLI可置IF到0
采用STI可置IF到1
另外,在某些指令执行过程中会改变部分标志的状态;

5.请写出如下程序片段中每条算术运算指令执行后标志CF、ZF、SF、OF、PF、AF的状态。

mov al,89h
add al,al
add al,9dh
cmp al,0bch
sub al,al
dec al
inc al
自己动手网上查资料,或者利用debug工具得出结果;
答: INSTRUCTION CF ZF SF OF PF AF
MOV AL,89H 0 0 0 0 0 0
ADD AL,AL 1 0 0 1 1 1
ADD AL,9DH 0 0 1 0 1 0
CMP AL,0BCH 1 0 1 0 1 0
SUB AL,AL 0 1 0 0 1 0
DEC AL 0 0 1 0 1 1
INC AL 0 1 0 0 1 1

6.请写出如下程序片段中每条逻辑运算指令执行后标志ZF、SF、PF的状态:

mov al,45h
and al,0fh
or al,0c3h
xor al,al
答: INSTRUCTION ZF SF PF
MOV AL,45H 0 0 0
AND AL,0FH 0 0 1
OR AL,0C3H 0 1 0
XOR AL,AL 1 0 1

7.请写出如下程序片段中每条移位指令执行后标志CF、ZF、SF、PF的状态

mov al,84h
sar al,1
shr al,1
ror al,1
rcl al,1
shl al,1
rol al,1

答: INSTRUCTION CF ZF SF PF
MOV AL,84H 0 0 0 0
SAR AL,1 0 0 1 0
SHR AL,1 0 0 0 0
ROR AL,1 1 0 0 0 (该命令不影响SF位)
RCL AL,1 1 0 0 0
SHL AL,1 0 0 1 0
ROL AL,1 1 0 1 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙肖醒醒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值