学习汇编-标志寄存器(9)

学习汇编-标志寄存器(9)

终于到了最后一个寄存器了--标志寄存器(叫她flag),8086是16位
(1)标志寄存器作用:

         a、用在存储相关指令的某些执行结果
         b、用来为CPU执行相关指令提供行为依据

         c、用来控制CPU的相关工作方式

(2)flag存储的信息称为程序状态字(PSW)

(3)各位详解:
         a、第0位 CF:进位(借位)标志位,对无符号运算有意义

         b、第2位 PF:奇偶标志位, 偶数PF=1
         c、第6位 ZF:结果是否是0

         d、第7位 SF:结果是否为负

         e、第10位 DF:方向标志位
                                    DF:0 每次操作后SI、DI递增,使用CLD置DF为0

                                    DF:1 每次操作后SI、DI递减,使用STD置DF为1
         f、第11位 OF:溢出标志位,对有符号运算有意义

(4)相关指令
          a、adc == add + CF ,用于任意大数的加法

          b、sbb == sub -  CF, 用于任意大数的减法
          c、cmp 

                je/jb/jnb/ja/jna  配套为有条件转移
         d、 rep
                 movsb/mobsw   配合DF用于内存拷贝 ,相当于
                                                                       s : ((es)*16+(di)) = ((ds)*16+(si))
                                                                            inc si  ;DF为0的情况,为1则是dec si

                                                                            inc di
                                                                            loop s

         e、pushf :将FLAG压栈  / POPF : 将栈中内容弹出写入标志寄存器中

 

 

 

 

 

你可能感兴趣的:(学习汇编-标志寄存器(9))