寄存器
32位 | 16位 | 8位寄存器 |
EAX | AX | AH AL |
ECX | CX | CH CL |
EDX | DX | DH DL |
EBX | BX | BH BL |
ESP | SP | |
EBP | BP | |
ESI | SI | |
EDI | DI |
除了这些通用寄存器,还有一些其他的寄存器以及不对外公开的寄存器,因为用途特殊,不能乱使用。
在CPU里面的一些容器,设计计算机的人,为它起了几个名字。
寄存器
主要用途
存储范围
EAX
累加器
32位
ECX
计次
32位
EDX
I/O指针
32位
EBX
DS段的数据指针
32位
ESP 堆栈指针
32位
EBP
SS段的数据指针
32位
ESI 字符串操作的源指针; SS段的数据指针
32位
EDI 字符串操作的数据指针;ES段的数据指针
32位
计8086处理器时,每个寄存器都有自己的特殊用途。
32位 | 16位 | 8位寄存器 |
EAX | AX=累加器 | AH AL |
ECX | CX=计数器 | CH CL |
EDX | DX=数据寄存器 | DH DL |
EBX | BX=DS段的数据偏移地址 | BH BL |
ESP | SP=栈顶指针 | |
EBP | BP=栈底指针 | |
ESI | SI=复制内存原始地址(movsb movsw) | |
EDI | DI=复制内存目标地址(movsb movsw) |
32位 | 16位 | 8位寄存器 |
EAX | AX | AH AL |
ECX | CX | CH CL |
EDX | DX | DH DL |
EBX | BX | BH BL |
ESP | SP | |
EBP | BP | |
ESI | SI | |
EDI | DI |
在8086处理器上,如果要用寄存器来提供偏移地址,只能使用BX,SI,DI,BP。
段寄存器:BX
段寄存器:SI
段寄存器:DI
段寄存器:BP
代码段寄存器 CS [Code Segment]
数据段寄存器 DS [Data
Segment]
附加段几次器 ES [Extra Segment]
指令寄存器 IP
它和CS一起使用。
栈段寄存器
SS