为了运行 MIPS 汇编程序,是否有任何用于 x86 linux 的命令行解释器或任何其他程序集?
我希望能够编写简单的 MIPS 汇编程序并从本地机器上的控制台运行它们。
我知道 SPIM,但它需要 X Windows,我很好奇是否有更好的选择。
编辑:原来它不需要 X Windows。我仍然有 SPIM 的问题。在我的拙见中不是最好的。Qemu / 交叉编译的工具链需要更多的工作,但我的怪癖更少。
顺便说一句,Spim不需要 X Windows。它也有一个控制台界面。运行spim
或xspim
。
您将需要一个交叉编译工具链,或者构建您自己的交叉 binutils。对于预构建的工具链,您可以访问代码源。如果您只想编译程序集,那么您只需要 binutils。Linux Mips wiki上有一些指导方针
对于仿真部分,我会选择 QEmu。
MARS让我的 MIPS 架构的汇编编程变得非常容易。如果您想要 GUI/IDE,我肯定会推荐 MARS。
我昨天也是同样的情况。我也不喜欢 SPIM,所以这就是我所做的:
建立网络也很容易并且有据可查。这具有不需要摆弄交叉编译的优点。
QEmu有一个很好的 MIPS 仿真器。将它与交叉编译的 GCC/binutils 结合起来(从技术上讲,您只需要 binutils 即可获得 GAS,即 GNU 汇编程序),您就可以开始了。
假设您希望使用 GCC。
在 x86-64 系统上编译 MIPS,然后使用模拟器运行可执行文件的步骤:
使用交叉编译工具链生成可执行文件。
如果您使用的是 Debian/Ubuntu,请为 MIPS 安装交叉编译工具链。例如,以下任一 APT 包:gcc-mips-linux-gnu
(MIPS big endian) 或gcc-mipsel-linux-gnu
(MIPS little endian)。
编译使用mips-linux-gnu-gcc
(mipsel-linux-gnu-gcc
对于小端 MIPS);组装使用mips-linux-gnu-as
;链接使用mips-linux-gnu-ld
.
使用模拟器运行可执行文件。
安装一个模拟器,可以在另一种架构(例如 x86-64)上启动为一种架构(例如 MIPS)编译的 Linux 程序:sudo apt-get install qemu-user
。
使用模拟器运行为 MIPS 编译的可执行文件:(qemu-mips ./a.out
或qemu-mipsel ./a.out
为 little endian MIPS)。简单地跑步./a.out
也可以。如果您(或您的发行版的 qemu 包)已设置 binfmt-misc 以透明地运行 qemu-user,则模拟器可能会自动使用。
也许你可以看看这些模拟器?我不是专家,但清单似乎不错。