gcc,内联汇编 – pushad / popad缺失?
有什么方法可以避免将pushad
/ popad
指令体复制粘贴到我的代码中?
因为gcc(当前标志: -Wall -m32
)抱怨这一点
__asm__("pushad;");
错误:没有这样的指令:`pushad’
__asm__("popad;");
错误:没有这样的指令:`popad’
GCC使用AT / T汇编语法,而pushad/popad
是Intel惯例,试试这个:
__asm__("pushal;"); __asm__("popal;");