如何在 gnu assembler 中 assemble for MIPS cpu

How to assemble for MIPS cpu in the gnu assembler

我正在学习 MIPS 汇编,我想 assemble 使用 asgas 命令

的 MIPS 汇编

正在查看 manual page 我尝试 assemble 使用

as -mips32 myfile.asm

但是它说这是一个无法识别的选项

我也试过用

as -march=r3000 myfile.asm

但这也没有用它说

Assembler messages: Fatal error: invalid -march= option: `r3000'

那么,你如何assemble MIPS 汇编使用 gnu assembler

您有针对 MIPS 构建的 GNU Binutils 版本吗?它不像可以使用 clang -target mips -march=mips1 -c foo.s && llvm-objdump -d foo.o 的 clang(MIPS1 包括 R2000 和 R3000)。

例如,要在我的 x86-64 桌面上 运行 GAS for ARM,我可以 运行 arm-none-eabi-as 因为我在 Arch 上安装了 arm-none-eabi-binutils 软件包 Linux系统。您需要类似的东西,或者自己从源代码配置和构建 Binutils,以获得 mips-something-something-as 可执行文件,您可以 运行.

只是简单 as (/usr/bin/as) 将是您系统的本机汇编程序,因此如果您使用的是 x86-64,则为 x86-64,不支持其他 ISA。 (带有 as --32 的 i386 除外,因为 Binutils 将 amd64 和 i386 视为同一 ISA 的不同版本)。