1、

8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)

8086CPU的flag寄存器结构:

汇编语言之----------标志寄存器

1 3 5 12  13 14 15位在8086CPU中没有使用,不具有任何意义

0 2 4 6 7 8 9 10 11都具有特殊的含义

2、ZF标志(zero flag)

flag的第6位是ZF,零标志位

它记录相关指令执行后

结果为0, ZF = 1

结果不为0,ZF = 0

mov ax,1    sub ax,1                    结果为0,ZF = 1

3、PF标志,奇偶标志位

他记录指令执行后,结果的所有二进制位中1的个数

为偶数,PF = 1

为奇数,PF = 0

4、符号位0代表+           1代表-

汇编语言之----------标志寄存器

 100 000 01就相当于 -127

5、SF标志,符号标志位

它记录执行指令后

结果为负 SF = 1

结果为正 SF = 0

6、CF标志,进位标志位

mov al,98

mov al,al

这样就会产生进位,我们的寄存器不会将进位直接丢掉,而是在寄存器中保存是否进位

7、OF标志,溢出标志位、

溢出只是针对于有符号数而言

进位是针对于无符号数来说的

汇编语言之----------标志寄存器

汇编语言之----------标志寄存器

8、adc指令,是带进位的加法指令,它利用了CF位上记录的进位值

adc ax,bx

(ax)=(ax)+(bx)+CF

汇编语言之----------标志寄存器

9、sbb指令 sbb是带借位减法指令,他利用了CF位上记录的借位值

sbb ax,bx

(ax) = (ax) - (bx) - CF

汇编语言之----------标志寄存器

10、

 

相关文章: