在学习了基于 8086 的 x86 汇编指令后, 继续学习了 32 位, 64 位的 x86 汇编指令. 其基本原理与 8086 基本一致, 只是增加了 X87 浮点单元, 以及用于浮点运算和多媒体处理的 SIMD(Single Instruction Multiple Data, 单指令多数据流)指令.
无论是 64 位, 32 位, 16 位, 8 位处理器, 都是可以 (不是绝对) 向前兼容的.
1. 寄存器变化
32 位:
(1)通用寄存器扩展到 32 位, 增加到 8 个
(2)增加了 x87 浮点单元, 及相关指令
(3)地址总线 32 位
64 位处理器:
(1)通用寄存器扩展到 64 位, 增加到 16 个
(2)兼容 32 位 x87 浮点单元, 及相关指令, 不推荐使用
(3)增加了 8 个 80 位浮点寄存器
(4)地址总线 48 位(不是 64 位)
2. 处理器模式
32 位:
(1)保护模式(有个子模式: 虚拟 8086 模式)
(2)实地址模式
(3)系统管理模式
64 位:
(1)兼容模式
(2)64 位模式
3. 浮点运算
32 位:
(1)x87 的 FPU 指令
(2)MMX 寄存器组和指令集
(3)SSE 寄存器组和指令集
(4)AVX 寄存器组和指令集
64 位:
(1)兼容 32 位浮点运行指令集
(2)SSE-64 寄存器组和指令集
(3)AVX-64 寄存器组和指令集
来源: http://www.bubuko.com/infodetail-3498877.html