通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。
表2.1 通用寄存器的主要用途
| 寄存器的分类 | 寄存器 | 主 要 用 途  |                                          
    |
| 通 
         用 寄 存 器  |                                          
      数据 
         
 寄存器  |                                          
      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 | 附加段寄存器 | ||
更详细的内容请点击:通用寄存器功能的说明。