检测点11.1

Tutorial: 汇编基础 Category: C语言 Published: 2026-04-07 13:58:26 Views: 20 Likes: 0 Comments: 0
1. 检测点 11.1
写出下面每条指令执行后, ZF、PF、SF 等标志位的值。

指令        ZF    PF   SF
sub al,al   1     1    0     al = 0000 0000B
ZF:结果是0, ZF=1, 表示真值
PF:结果是0, 1 的个数是 0, PF=1, 表示偶数
SF: 结果是0, SF=0, 表示非负数, 非真

mov al,1    1     1    0     al = 0000 0001B
push ax     1     1    0
pop bx	    1     1    0     bl = 0000 0001B
移动指令 不影响标志位

add al,bl   0     0    0     al = 0000 0010B
ZF:结果不是0
PF:结果有一个1, 不是偶数
SF: 不是负数

add al,10   0     1    0     al = 0000 1100
ZF: 结果不是0
PF: 结果有两个1, 偶数
SF: 不是负数

mul al      0     1    0     al = 0000 0000 1001 0000
mul,div 不影响标志位
2. 检测点 11.2

al 范围:-128(80H) => 127 ax 范围:-32768 => 32762 CF: 标志位, 把结果当做 无符号 运算 1111 1111 = 255

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

指令           CF    OF   SF    ZF    PF
sub al,al      0     0    0     1     1    al = 0B
减法运算, 结果为零。无进位 / 借位, 无溢出
CF: 不进位
OF: 不溢出
SF: 不是负
ZF: 是0
PF: 偶数

mov al,10H     0     0    0     1     1    al = 0001 0000B
移动指令 不影响标志位


add al,90H     0     0    1     0     1    al = 1010 0000B
加法运算, 10H + 90H = 0A0H。结果 AL 的最高位为 1, 表示负数。
CF: 无符号运算, 不进位
OF: 无溢出
SF: 负数
ZF: 不是0
PF: 21, 是偶数

mov al,80H     0     0    1     0     1    al = 1000 0000B
移动指令 不影响标志位

add al,80H     1     1    0     1     1    al = (0001) 0000 0000B
加法运算, 80H + 80H。
对于有符号数的计算而言, (-128) + (-128) = -256, 超出了 8 位有符号数的范围, 有溢出
对于无符号数的计算而言, 80H + 80H = 100H, 有向更高位进位, 且 AL 只能存储 00H 部分
CF: 进位
OF: 溢出
SF: 不是负
ZF: 是0
PF: 01, 是偶数

mov al,0FCH    1     1    0     1     1    al = 1111 1100
移动指令 不影响标志位

add al,05H     1     0    0     0     0    al = -4 + 5 = 0000 0001
加法运算, 0FCH + 05H。对于有符号数的计算而言, (-4) + (5) = 01H, 无溢出
对于有符号数的计算而言, FCH + 05H = 101H, 有向更高位进位, 且 AL 只能存储 01H 部分
CF: 进位
OF: 不溢出
SF: 不是负
ZF: 不是0
PF: 11, 不是偶数

mov al,7DH     1     0    0     0     0   al = 1101
移动指令 不影响标志位

add al,0BH     0     1    1     0     1   al = 1000 1000
加法运算, 7DH + 0BH。对于有符号数的计算而言, (125) + (11) = 136, 
超出了 8 位有符号数的范围, 有溢出;
对于无符号数的计算而言, 7DH + 0BH = 88H, 无向更高位的进位。
结果 AL 的最高位为 1, 表示负数。

CF: 不进位
OF: 溢出
SF: 是负
ZF: 不是0
PF: 21, 偶数
Prev: 标志寄存器 Next: adc