3、X86-64 汇编语言编程入门

X86-64 汇编语言编程入门

1. 遗留指令集与基础要点

所有 x86 - 64 处理器都支持 SSE2 指令集,这意味着 x86 - 64 函数可以安全地使用 SSE2 的打包整数指令替代 MMX,也能使用 SSE2(或 AVX)的标量浮点指令替代 x87 FPU 指令。不过,x86 - 64 函数仍可使用 MMX 和 x87 FPU 指令集,在将 x86 - 32 遗留代码迁移到 x86 - 64 时,这种使用可能是必要的。但对于新的 x86 - 64 软件开发,不建议使用 MMX 和 x87 FPU 指令集。

以下是一些关键学习要点:
- 基本数据类型 :x86 - 64 平台的基本数据类型包括字节(8 位)、字(16 位)、双字(32 位)、四字(64 位)和双四字(128 位)。编程语言的基本数据类型如字符、字符串、整数和浮点值都源自这些基本数据类型。
- 通用寄存器 :x86 - 64 处理器包含 16 个 64 位通用寄存器,用于使用 8 位、16 位、32 位或 64 位宽的操作数执行算术、逻辑和数据传输操作。
- 指令指针和状态寄存器 :x86 - 64 处理器还包括指令指针(RIP)和控制与状态(RFLAGS)寄存器。前者指向接下来要执行的指令,后者包含处理器控制位和状态标志。大多数算术和逻辑指令会更新 RFLAGS 中的一个或多个状态标志,这些标志可用于改变程序流程或有条件地为变量赋值。
- AVX/AVX2 寄存器 :支持 AVX/AVX2 的 x86 - 64 处理器包含 16 个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值