一、CPU的寄存器
–AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;
–BX--基址寄存器,常用做存放存储器地址;
–CX--计数器,作为循环和串操作等指令中的隐含计数器;
–DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。
(SI,DI,SP,BP,只能按16位进行存取操作)
–变址寄存器常用于存储器寻址时提供地址
–SI(Source Index)是源变址寄存器
–DI (Destination Index)是目的变址寄存器
–指针寄存器用于寻址内存堆栈内的数据
–SP为堆栈指针寄存器,指示栈顶的偏移地址,SP不能再用于其他目的,具有专用目的
–BP为基址指针寄存器,表示数据在段中的基地址
–CS(代码段)指明代码段的起始地址,用来存放程序的指令序列,代码段寄存器CS存放代码段的段地址,指令指针寄存器IP指示下条指令的偏移地址
处理器利用CS:IP取得下一条要执行的指令
–SS(堆栈段)指明堆栈段的起始地址,堆栈段确定堆栈所在的主存区域,堆栈段寄存器SS存放堆栈段的段地址,堆栈指针寄存器SP指示堆栈栈顶的偏移地址
处理器利用SS:SP操作堆栈栈顶的数据
–DS(数据段)指明数据段的起始地址,数据段存放运行程序所用的数据,数据段寄存器DS存放数据段的段地址,各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址
处理器利用DS:EA存取数据段中的数据
–ES(附加段)指明附加段的起始地址,附加段是附加的数据段,也用于数据的保存:附加段寄存器ES存放附加段的段地址,各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址
处理器利用ES:EA存取附加段中的数据,串操作指令将附加段作为其目的操作数的存放区域
–FR(标志寄存器),标志(Flag)用于反映指令执行结果或控制指令执行形式,8086处理器的各种标志形成了一个16位的标志寄存器FR(标志寄存器的内容称为程序状态字PSW)
–状态标志--用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它。
–CF ZF SF PF OF AF
–控制标志--可由程序根据需要用指令设置,用于控制处理器执行指令的方式
–DF IF TF
PF标志仅反映最低8位中“1”的个数是偶或奇,即使是进行16位字操作
二、CPU的寻址方式
1.立即寻址
操作数在指令中,紧跟在操作码之后,这样的操作数成为立即数,可以是8位或者16位。
例如:
MOV AX,1234H
2.寄存器寻址
3.直接寻址
4.寄存器间接寻址
5.基址寻址
6.变址寻址
7.基址变址寻址
未完待续~