在学习了基于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寄存器组和指令集
原文地址:https://blog.51cto.com/14207158/2485779
时间: 2024-10-11 10:29:38