当前位置: 代码迷 >> 汇编语言 >> 為什麼x86-64沒有pusha這個授命
  详细解决方案

為什麼x86-64沒有pusha這個授命

热度:298   发布时间:2016-05-02 04:49:56.0
為什麼x86-64沒有pusha這個指令?
為什麼x86-64沒有pusha這個指令?

------解决方案--------------------
宏指令的解码压力大执行效率低,正常情况下几乎不会用,是386/486时代遗留的东西,64位模式好多都给去了。
------解决方案--------------------
x64 常规寄存器一共128字节,轻易没人会全都进栈。而且即便x86位一共32字节的常规寄存器,只要你不压esp,一个一个push 8个寄存器要比直接用pushad快一倍。

pushad连同loop enter leave这类指令纯粹就是维护兼容性的鸡肋而已。
  相关解决方案