1.8086的寄存器
内部寄存器8个:分为数据寄存器,地址寄存器,变址寄存器
其中数据寄存器4个:AX,BX,CX,DX,又可分为AH,BH,CH,DH和AL,BL,CL,DL。
AX称为累加寄存器,I/O指令均使用该寄存器,访问外部硬件和接口。
BX称为基址寄存器,访问内存时用于存放基址
CX称为计数寄存器,用于循环、字符串的循环控制
DX称为数据寄存器,在寄存器间接寻址的I/O指令中存放I/O地址
地址指针寄存器2个:SP,BP
SP称为堆栈寄存器,BP称为基址指针寄存器,在数组和字符串运算时,用于存放内存的偏移地址
变址寄存器2个:SI,DI
SI称为源变址寄存器,DI称为目的变址寄存器,用于存放数据块操作的内存地址
段寄存器4个:CS,DS,ES,SS
CS代码段寄存器
DS数据段寄存器
ES附加段寄存器
SS堆栈段寄存器,用于存放段地址
2.指令指针
IP:始终指向将要执行的指令,用户不能访问和编程。
标志寄存器:FLAGS 16个寄存器 9个标志位
其中状态标志位有6个:
CF:进位标志位
PF:奇偶标志位
AF:辅助进位位
ZF:零标志位
SF:符号标志位
OF:溢出标志位
控制标志位
TF:跟踪标志位
IF:中断标志位
DF:方向标志位
3.寻址方式
数据寻址
立即寻址:mov al,5
寄存器寻址:move ax,bx
直接寻址:mov ax,[2000H]
寄存器间接寻址:mov ax,[bx]
寄存器相对寻址:mov ax,offset [si]
基址变址寻址:mov ax,[bx][di]
相对基址变址寻址:mov offset [bx][si]
原文:https://www.cnblogs.com/ma1998/p/12109964.html