x86 汇编
外观
(从 X86 重定向)
本书涵盖 x86 微处理器家族的汇编语言编程。其目标是教授如何使用 x86 汇编语言进行编程,以及 x86 处理器家族的历史和基本架构。
当提到 x86 时,我们指的是所有基于 x86 的处理器(自 1978 年原始的 Intel 8086 以来)。这包括
- IA-32 汇编,也常被称为 x86-32 汇编(Intel 架构 32 位,自 Intel 80386 以来),是原始 16 位 Intel x86 处理器架构的 32 位扩展(用于 Intel 8086 - 80286 CPU)。IA-32 与 16 位 x86 完全向后兼容。
- x86-64,也称为 AMD64 或 AMD 64 位扩展,与 32 位代码向后兼容,不会造成性能损失。
- Intel 64,以前称为 IA-32e 或 EM64T,与 x86-64 几乎相同。
在整本书中,这些术语在适当的时候可以互换使用。在涵盖 16 位、32 位或 64 位架构以及任何限制时,会给出特殊说明,以减少混淆。
请注意,还有一个单独的 64 位指令集,即 IA-64 (Itanium)。它原本打算取代 x86 产品线,但其普及程度不如预期,因此并没有发生这种取代。
目录
x86 基础
x86 指令集
语法和汇编器
指令扩展
高级 x86
x86 芯片组
嵌入和互操作性
- 与 WinAPI 接口 (直接与操作系统通信 来自上面的文章 GNU 汇编语法 (GAS))
- 与 Linux 交互
- 调用约定(来自嵌入式系统书籍)
- 调用约定(来自x86 反汇编书籍)
- 使用 CDECL 与 C 标准库和自己的静态库交互
- 内联汇编器(嵌入式系统书籍)
- 链接汇编器(嵌入式系统书籍)