為什麼x86-64沒有pusha這個指令?
為什麼x86-64沒有pusha這個指令?
[解决办法]
宏指令的解码压力大执行效率低,正常情况下几乎不会用,是386/486时代遗留的东西,64位模式好多都给去了。
[解决办法]
x64 常规寄存器一共128字节,轻易没人会全都进栈。而且即便x86位一共32字节的常规寄存器,只要你不压esp,一个一个push 8个寄存器要比直接用pushad快一倍。
pushad连同loop enter leave这类指令纯粹就是维护兼容性的鸡肋而已。