通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。
寄存器的分类寄存器主要用途
通用寄存器数据
寄存器AX乘、除运算,字的输入输出,中间结果的缓存
AL字节的乘、除运算,字节的输入输出,十进制算术运算
AH字节的乘、除运算,存放中断的功能号
BX存储器指针
CX串操作、循环控制的计数器
CL移位操作的计数器
DX字的乘、除运算,间接的输入输出
变址
寄存器SI存储器指针、串指令中的源操作数指针
DI存储器指针、串指令中的目的操作数指针
变址
寄存器BP存储器指针、存取堆栈的指针
SP堆栈的栈顶指针
指令指针IP/EIP
标志位寄存器Flag/EFlag
32位
CPU的
段寄存器16位CPU的
段寄存器ES 附加段寄存器
CS 代码段寄存器
SS 堆栈段寄存器
DS 数据段寄存器
新增加的
段寄存器FS 附加段寄存器
GS 附加段寄存器