x86-汇编-寄存器

3.4 基本的程序执行寄存器

IA-32中提供了16个常见的寄存器:

在这里插入图片描述

  • 8个32位的通用寄存器:用于存储操作数和指针
    • 数据寄存器:EAX、EBX、ECX、EDX
    • EAX-操作数和结果数据的累加器
    • EBX-指向DS段中数据的指针,基址寄存器
    • ECX-字符串和循环操作的计数器
    • EDX-I/O指针
    • ESI—指向DS寄存器指向的段中数据的指针;字符串操作的源指针
    • EDI—指向ES寄存器指向的段中的数据(或目标)的指针;字符串操作的目标指针
    • ESP-堆栈指针(在SS段中)
    • EBP-指向堆栈上数据的指针(在SS段中)
  • 6个段寄存器
    • CS:代码段
    • DS:数据段
    • SS:堆栈段
    • ES :附加段
  • 程序状态和控制寄存器(EFLAGS):程序状态字(PSW)
  • 指令指针寄存器(EIP)

通用寄存器又可以按低地址、高地址进行细分:
在这里插入图片描述

64位模式

在64位模式下,有16个通用寄存器,默认操作数大小为32位。但是,通用寄存器可以使用32位或64位操作数。
如果指定了32位操作数大小:EAX、EBX、ECX、EDX、EDI、ESI、EBP、ESP、R8D-R15D可用。
如果指定了64位操作数大小:RAX、RBX、RCX、RDX、RDI、RSI、RBP、RSP、R8-R15可用。
R8D-R15D/R8-R15代表八个新的通用寄存器。
所有这些寄存器都可以在字节、字、dword和qword级别访问。
REX前缀用于生成64位操作数大小或引用寄存器R8-R15。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值