8086CPU 总共有14 个16位寄存器:
1、通用寄存器:8个
2、指令指针:1个
3、标志寄存器:1个 18位
4、段寄存器:4个
1、通用寄存器:数据寄存器4个 、、、 指针寄存器及变址寄存器4个
a、数据寄存器可以分为 高8位、低8位,可以分别寻址
AX = AH &AL:累加寄存器--------------运算、与外部IO通信
BX = BH & BL:基址寄存器-------------地址索引
CX =CH & CL:计数寄存器-------------计数--------移位指令、循环(loop)
DX = DH & DL:数据寄存器-------------数据传递
SP(Stack Pointer):堆栈指针寄存器-----------------SS:SP->目前的堆栈位置
BP(Base Pointer):基址指针寄存器------------------SS: BP
SI(Source Index):源变址寄存器 ------------------DS:SI
DI(Destination Index):目的变址寄存器-------------ES:DI
2、指令指针IP(Instruction Pointer)
IP指向的是指令地址的段内地址偏移量,又称偏移地址(Offset Address)或有效地址(EA,Effective Address)
3、标志寄存器FR(Flag Register)18位———> 9个位有意义——》6个状态位,3位控制位
OF:溢出标示位
DF:方向标志位
IF:中断允许标示位
TF:跟踪标志
SF:符号标志位
ZF:零标志
AF:辅助进位标志
PF:奇偶标志
CF:进位标志
4、段寄存器(Segment Register)
CS(Code Segment):代码段寄存器;
DS(Data Segment):数据段寄存器;
SS(Stack Segment):堆栈段寄存器;
ES(Extra Segment):附加段寄存器
DS 所指的64K,这就是COM文件不得大于64K的原因。8086以内存做为战场,用寄存器做为军事基地,以加速工作
来源:https://www.cnblogs.com/xwtstudio/p/12484399.html