① 程序可见的寄存器是指在汇编语言程序设计中用到的寄存器,分为通用寄存器、专用寄存器和段寄存器3类。
② 程序不可见的寄存器是指一般应用程序设计中不用而由系统所用的寄存器。
1通用寄存器
数据寄存器:AX、BX、CX、DX,四个16位通用寄存器,用来暂时存放计算过程中所用到的操作数、结果和其他信息。既可以以字形式(如AX)也可以以字节形式(如AH、AL)访问。
AX(accumulator):累加器,算术运算的主要寄存器。所有的I/O指令都使用这一寄存器与外部设备传送信息。
BX(base):通用寄存器,在计算存储器地址时常用作基址寄存器。
CX(count):通用寄存器,在循环和串操作指令中用作隐含的计数器。
DX(data):通用寄存器,在作双字长运算时把DX和AX合在一起存放一个双字长数,DX用来存放高位字。对某些I/O操作,DX用于对I/O端口的寄存器间接寻址。
指针及变址寄存器:SP、BP、SI、DI,四个16位寄存器。
SP:堆栈指针寄存器。
BP:基址指针寄存器。
SI:源变址寄存器。
DI:目的变址寄存器。
对于80386及其后继机型则是32位的通用寄存器,包括EAX、EBX、ECX、EDX、ESP、EBP、EDI和ESI。这些寄存器都可以存放数据,也可以当32位的地址寄存器使用。
2 专用寄存器
专用寄存器:IP、SP、FLAGS,3个16位寄存器。
IP:指令指针寄存器。存放代码段中的偏移地址。80386及其后继机型则是EIP。
SP:堆栈指针寄存器,指示栈顶的偏移地址。80386及其后继机型则是ESP。
FLAGS:标志寄存器,又称为程序状态字寄存器(program status word, PSW)。由条件码标志(flag)、控制标志和系统标志构成。80386及其后继机型则是EFLAGS。8086/8088的FLAGS如下所示:
1514131211109876543210
|
|
|
| OF | DF | IF | TF | SF | ZF |
| AF |
| PF |
| CF |