首页 > 技术文章 > 32位汇编基础_cpu 寄存器

chuijingjing 2018-07-14 11:45 原文

32位通用寄存器

EAX     EBX

ECX     EDX

EBP     ESP

ESI      EDI

八个寄存器都可以作为普通的数据寄存器使用。
但有的有特殊的用途:
EAX       为累加器,
ECX       为计数器,
EBX,EBP    为基址寄存器,
ESI,EDI    为变址寄存器,
EBP       还可以是基指针,
ESP       为堆栈指针

16位通用寄存器

AX(累加器):一般用来存放参加运算的数据和结果,在乘、除法运算、I/O操作、BCD数运算中有不可替代的作用。

BX(基址寄存器):可作为数据寄存器,也可存放内存的逻辑偏移地址,而AX,CX,DX则不能。

CX(数据寄存器):即可作为数据寄存器,又可在串指令和移位指令中作为计数器。

DX(数据寄存器):除可作为通用寄存器外,还在乘、除法运算、带符号数的扩展指令中有特殊用途。

SI (源变地址寄存器):多用于存放内存的逻辑地址(隐含的逻辑段地址在数据段寄存器中),也可存放数据。

DI (目标变址寄存器):多用于存放内存的逻辑偏移地址(隐含的逻辑段地址在数据段寄存器中),也可存放数据。

BP(基址指针):用于存放内存的逻辑偏移地址(隐含的逻辑段地址在堆栈段寄存器中)。

SP(堆栈指针):用于存放栈顶的逻辑偏移地址(隐含的逻辑段地址在堆栈段寄存器中)。

16位段寄存器

CS(代码段寄存器):存放程序代码段起始地址的高16位。

DS(数据段寄存器):存放数据段起始地址的高16位。

SS(堆栈段寄存器):存放堆栈段起始地址的高16位。

ES(扩展段寄存器):存放扩展数据段地址的高16位。

 

推荐阅读