Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试组装一些 32 位代码
gcc -o a.out code.s
但我收到以下消息:
Error: invalid instruction suffix for 'push'
从汇编器返回。导致此问题的代码行如下:
pushl %ebp
我做了一些研究,说我需要使用 32-but 汇编器。有人可以告诉我我是怎么做的吗?
您可能试图在 64 位系统上执行此操作,其中 gcc 默认为-m64.
-m64
所以只需这样做:
gcc -Wall -m32 code.s
如果您有 32 位汇编代码,那么您需要使用 32 位工具集进行编译。看起来您正在使用 64 位工具集进行编译,这似乎是问题所在。您不能在一个模块中混合使用 32 位和 64 位代码。
您的选择: