8086寄存器

通用寄存器
AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界传送数据。
BH&BL=BX(base):基址寄存器,常用于地址索引。
CH&CL=CX:计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器。
DH&DL=DX:数据寄存器,常用于数据传递。

 

段寄存器
CS(Code Segment):代码段寄存器
DS(Data Segment):数据段寄存器
SS(Stack Segment):堆栈段寄存器
ES(Extra Segment):附加段寄存器

 

指针寄存器和变址寄存器
SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。
BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置。
SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针。
DI(Destination Index):目的变址寄存器,可用来存放相对于ES段之目的变址指针。

 

IP(Instruction Pointer):指令指针

 

PSW(Program Status Word):程序状态寄存器
ZF(Zero Flag):零标志位,用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。
PF(Parity Flag):奇偶标志位,用来反映运算结果中“1”的个数的奇偶性,如果“1”的个数为偶数,则PF的值为1,否则其值为0。
SF(Sign Flag):符号标志位,用来反映运算结果的符号位,它与运算结果的最高位相同。
CF(Carry Flag):进位标志位,用来反映运算结果是否产生进位或借位,如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则为0。
OF(Overflow Flag):溢出标志位,用来反映有符号数加减运算所得结果是否溢出。如果运算结果超出当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
DF(Direction Flag):方向标志位,用来决定在串操作指令执行时有关指针寄存器发生调整的方向。
IF(Interrupt Flag):中断标志位,IF=1处理可屏蔽中断,IF=0不出来可屏蔽中断。
TF(Trace Flag):跟踪标志位,该标志可用于程序调试,没有专门的指令来设置或清除。
AF(Auxiliary carry Flag):辅助进位标志位,在字操作时,发生低字节向高字节进位或借位时;在字节操作时,发生低4位向高4位进位或借位时。

 

相关指令
abc(c-carry):带进位加法指令。它利用了CF位上记录的进位值。
sbb(b-borrow):带借位减法指令。它利用了CF位上记录的借位值。
cmp(compare):比较指令。它的功能相当于减法指令,只是不保存结果。
je(e-equal):ZF=1则转移
jne(ne-not equal):ZF=0则转移
jb(b-below):CF=0则转移
jnb(nb-not below):CF=0则转移
ja(a-above):CF=0且ZF=0则转移
jna(na-not above):CF=1或ZF=1则转移
movesb(b-byte):传送一个字节
movesw(w-word):传送一个字
rep movesb(rep-repeat):循环执行字节串传送指令
rep movesw(rep-repeat):循环执行字串传送指令
cld(clear DF):将DF置0
std(set DF):将DF置1
pushf(push flag):将标志寄存器的值压栈
popf(pop flag):从栈中弹出数据送入标志寄存器

 

Debug中标志位的表示:
标志位 值为1 值为0
OF(Overflow Flag)         OV(overflow)          NV(no overflow)
SF(Sign Flag)             NG(negative)          PL(plus)
ZF(Zero Flag)             ZR(zero)              NZ(no zero)
PF(Parity Flag)           PE(parity even)       PO(parity odd)
CF(Carry Flag)            CY(carry)             NC(no carry)
DF(Direction Flag)        DN(down)              UP(up)
AF(Auxiliary carry Flag)  AC(assistant carry)   NA(no assistant carry)
IF(Interrupt Flag)        EI(enable interrupt)  DI(disable interrupt)
TF(Trace Flag)

你可能感兴趣的:(UP)