gcc,内联汇编 - pushad/popad 丢失?

gcc, inline assembly - pushad/popad missing?

有什么方法可以避免将 pushad/popad 指令主体复制粘贴到我的代码中?

因为 gcc(当前标志:-Wall -m32)抱怨

__asm__("pushad;");

Error: no such instruction: `pushad'

__asm__("popad;");

Error: no such instruction: `popad'

GCC 使用 AT/T 汇编语法,而 pushad/popad 是 Intel 约定,试试这个:

__asm__("pushal;");
__asm__("popal;");