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 个
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



