一、8086寄存器

        8086寄存器有14个寄存器分为以下几类:通用寄存器、段寄存器、指令寄存器、标志寄存器等。

(一)通用寄存器

         ax:累加寄存器

         bx:基地址寄存器

         cx:计数器

         dx:数据存储的寄存器

 

         sp:堆栈指针,可以指向堆栈位置和ss配合使用

         bp:基址指针寄存器

         si:源变址寄存器可用来存放相对于DS段之源变址指针;

         di:目的变址寄存器,可用来存放相对于 ES 段之目的变址指针

(二)段寄存器

        cs:段寄存器

        ds:数据段寄存器

        es:附加段寄存器

        ss:堆栈段寄存器

(三)指令寄存器

        ip:指令寄存器

(四)标志寄存器

        8086有一个18位的标志寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。


  OF: 溢出标志位OF用于反映有符号数加减运算所得结果是否溢出。

如果结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,

                                                                                      否则,OF的值被清为0。


  DF:方向标志DF位用来决定在串操作指令执行时有关指针寄存器发生调整的方向。 

  IF:中断允许标志IF位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。具体规定如下: 
  (1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求; 
  (2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。 

  TF:跟踪标志TF。该标志可用于程序调试。TF标志没有专门的指令来设置或清楚。
  (1)如果TF=1,则CPU处于单步执行指令的工作方式,此时每执行完一条指令,就显示CPU内各个寄存器的当前值及CPU将要执行的下一条指令。
  (2)如果TF=0,则处于连续工作模式。

  SF:符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法。

          所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,

                                                                                                            否则其值为1。 


  ZF: 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,

                                                                                                            否则其值为0

            在判断运算结果是否为0时,可使用此标志位。

 
  AF:下列情况下,辅助进位标志AF的值被置为1,否则其值为0: 
  (1)、在字操作时,发生低字节向高字节进位或借位时; 
  (2)、在字节操作时,发生低4位向高4位进位或借位时。 


  PF:奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。

                                                              如果“1”的个数为偶数,则PF的值为1,

                                                                                                         否则其值为0。 


  CF:进位标志CF主要用来反映运算是否产生进位或借位。

                      如果运算结果的最高位产生了一个进位或借位,那么,其值为1,

                                                                                                               否则其值为0

二、数据访问的时候常用的组合

ip默认的段地址是cs

sp, bp默认的段地址是ss

bx,si,di默认的段地址是ds

只有 4 个寄存器可以以 […] 的方式使用,这四个寄存器分别是 BX,SI,DI,BP。

这4个寄存器可以单个出现,或只能以4种组合出现:bx和si,bx和di,bp和si,bp和di

另一方面可以指定段写的例如DS:[bp];