5、汇编编程:寄存器、二进制数与程序控制

汇编编程:寄存器、二进制数与程序控制

1. 通用寄存器

x86 - 64 ISA 有 16 个通用寄存器,其中 8 个是从 32 位架构延续过来的,可分为两类:
- 计算寄存器 :包括 %rax、%rbx、%rcx 和 %rdx。这些寄存器通常用于通用计算,且可以访问单个字节。
- %rax:累加器,是计算中使用最广泛的通用寄存器。
- %rbx:基址寄存器,常用于索引寻址。
- %rcx:计数器寄存器,历史上用于循环计数。
- %rdx:数据寄存器,在某些算术和输入/输出操作中有特殊意义,有时与 %rax 配合使用。
- 特定任务寄存器 :%rsi、%rdi、%rbp 和 %rsp。虽然也被视为通用寄存器,但主要用于特定任务,且不能访问单个字节。
- %rsi:源索引寄存器,用于处理较长的内存区域。
- %rdi:目标索引寄存器,常与 %rsi 配合处理较长的内存区域。
- %rbp:基指针。
- %rsp:栈指针。

此外,x86 - 64 ISA 还新增了 8 个通用寄存器,标记为 %r8 到 %r15。这些寄存器也有 32 位、16 位和单字节版本,例如 %r11 的 32 位版本是 %r11d,16 位版本是 %r11w,最低有效字节是 %r11b。

寄存器分类 寄存器名称 用途
计算寄存器 <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值