8086汇编学习之寄存器汇总

一、通用寄存器
1、AX:16位寄存器(16位累加寄存器)
2、BX、CX、DX都是16位寄存器和AX用法相似
以上4种都能拆解为两个8位寄存器使用
例如:AL,AH
3、BP是一个不能分解的16位寄存器,所存内容可以用来生成一个寄存器地址
4、SI和DI也都是不能分解的16位寄存器,基本用途与BP相似,但有时有特殊用途
二、专用寄存器
1、SP寄存器:堆栈指针,16位的寄存器,存放堆栈栈顶的地址,内容随出栈进栈操作而改变
2、IP指令指针,用来存下一条要执行指令的地址
不能直接(显式)使用IP寄存器,要用例如jump来间接该IP寄存器
3、FLAGS寄存器:16位寄存器用来存标志位
条件标志:
a. CF:进位、借位标志,用于加减时,最高位上产生的进位或借位的状态,0有、1无
b. AF:(辅助进位标志),用来判断第3位上是否有进位或借位
c. ZF:(0标志)用于记录运算结果是否为0,ZF=1则结果为0,ZF=0则结果不为0
d. SF:(符号标志)用于记录运算结果的符号位SF=0则为正,SF=1则表负
e. OF:(溢出标志)用于记录带符号数加减运算时的溢出状态,0则无溢出,1则有溢出
f. PF:(奇偶标志)用于记录运算结果的低8位中1的个数,若PF=0则奇数个1,1则偶数个1,一般用于奇偶校验
控制标志:
a. DF(方向标志):用于字符串操作时,控制串指针的修改方向,DF=0则增量修改,1则减量修改
b. IF(中断标志):用于决定是否允许CPU响应外部可屏蔽中断请求IF=0禁止,1允许
c. TF(陷阱标志):用于决定cpu是否以单步(单步陷阱)方式工作,TF=0禁止,TF=1允许,一般用于调试

三、段寄存器
1、CS寄存器:代码段寄存器,用来放代码段的段地址(存储程序中指定代码的段)
2、DS寄存器:数据段寄存器、存放数据段的地址(定义各种变量的段)
3、ES寄存器:附加段寄存器,存放附加数据段的段地址。当一个数据段的存储空间不够用时可以定义
4、SS寄存器:堆栈段寄存器,存放堆栈段的段地址,堆栈段是在程序中作为堆栈使用的存储段

你可能感兴趣的:(8086汇编,嵌入式)