常用寄存器

指令指针寄存器 Instruction Pointer Register

IP(Instruction Pointer):指令指针寄存器

注
EIP寄存器存储着cpu要读取的指令的地址,没它cpu就无法读取下一条指令(cpu就无法执行) 
每次相应指令执行完相应的EIP值就会增加  EIP is incremented after each instruction
EIP的值可以通过CALL,RET等指令修改    EIP modified by CALL, RET, JMP, and conditional JMP

通用寄存器 General purpose register

AH&AL=AX(accumulator):累加寄存器
BH&BL=BX(base):基地址寄存器 
CH&CL=CX(count):计数寄存器 
DH&DL=DX(data):数据寄存器 
SI(Source Index):源变址寄存器 
DI(Destination Index):目的变址寄存器
SP(Stack Pointer):堆栈顶指针寄存器 
BP(Base Pointer):堆栈基指针寄存器 

注1:
================ RAX 64位寄存器
        ======== EAX 32位寄存器 EAX中的"E"表示的意思是Extended,"扩展"的意思
            ==== AX  16位寄存器 AX是EAX的低16位 "X"表示的意思是mix、"混合"的意思。对AX指的是AH和AL两个混合的总称
            ==   AH  8位寄存器  AH是AX的高八位
              == AL  8位寄存器  AL是AX的低八位
注2:               
Accumulator 蓄电池; 累加器;
例:In this design accumulator is used to accumulate and release energy.
译:在本设计中,蓄能器主要起储存与释放能量的作用
注3: 
x86中只有8个32位通用寄存器,eax,ebx,ecx,edx, ebp, esp, esi, edi。x86_64把这8个通用寄存器扩展成了64位的
注4:
便捷记忆 ABCD SBSD

段寄存器 Segment Register

CS(Code Segment):代码段寄存器,其值为代码段的段值
DS(Data Segment):数据段寄存器,其值为数据段的段值
SS(Stack Segment):堆栈段寄存器,其值为堆栈段的段值
ES(Extra Segment):附加段寄存器,其值为附加数据段的段值
FS(Flag Segment):是标志段寄存器(附加段寄存器)
GS(Global Segment):是全局段寄存器(附加段寄存器)

标志寄存器 Flags Register

OF(overflow flag):溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1. 
SF(sign flag):符号标志 记录运算结果的符号,结果负时为1. 
ZF(zero flag):零标志 运算结果等于0时为1,否则为0. 
CF(carry flag):进位标志 最高有效位产生进位时为1,否则为0. 
AF(auxiliary carry flag):辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0. 
PF(parity flag):奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0. 
DF(direcion flag):方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大. 
IF(interrupt flag):中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断. 
TF(trap flag):陷阱标志 用于调试单步操作.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值