gcc,内联汇编 - pushad / popad缺失? [英] gcc, inline assembly - pushad/popad missing?
本文介绍了gcc,内联汇编 - pushad / popad缺失?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何避免将 pushad
/ popad
指令正文复制粘贴到我的代码中的方法?因为gcc(当前标志: -Wall -m32
)抱怨说,
__ asm __(pushad;);
错误:没有这样的指令:`pushad'
__ asm __(popad;);
错误:没有这样的指令:`popad'
解决方案
GCC使用AT / T汇编语法,而 pushad / popad
是英特尔惯例,试试这个:
__ asm __(pushal;);
__asm __(popal;);
Any way to avoid having to copy-paste the pushad
/popad
instruction body into my code?
Because gcc (current flags: -Wall -m32
) complains that
__asm__("pushad;");
Error: no such instruction: `pushad'
__asm__("popad;");
Error: no such instruction: `popad'
解决方案
GCC use AT/T assembly syntax, while pushad/popad
are Intel convention, try this:
__asm__("pushal;");
__asm__("popal;");
这篇关于gcc,内联汇编 - pushad / popad缺失?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文