如何在x86 linux上执行MIPS汇编程序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在x86 linux上执行MIPS汇编程序?相关的知识,希望对你有一定的参考价值。
x86 linux周围是否有任何命令行解释器或任何其他程序集,以便运行MIPS汇编程序?
我希望能够编写简单的MIPS汇编程序并从本地计算机上的控制台运行它们。
我知道SPIM,但是它需要X Windows,我很好奇是否有更好的选择。
编辑:事实证明它不需要X Windows。我仍然对SPIM有问题。我的拙见不是最好的。 Qemu / Cross编译的工具链需要更多工作,但我的怪癖却更少。
您将需要交叉编译工具链,或构建自己的交叉binutils。对于预构建的工具链,您可以访问code sourcery。如果只想编译程序集,那么所有您需要的是binutils。Linux MipsWiki上有一些准则
对于仿真部分,QEmu是我的选择。
顺便说一下,Spim不需要X Windows。它还具有控制台界面。运行spim
或xspim
。
MARS使我的MIPS体系结构的汇编编程变得非常容易。如果您想要GUI / IDE,我肯定会推荐MARS。
昨天我的情况也一样。我也不喜欢SPIM,所以这是我做的:
建立网络非常容易,而且文档也很丰富。这样做的好处是无需摆弄交叉编译。
[您可以使用gxemul,它模拟MIPS机器(包括Dreamcast等),并且能够运行许多操作系统(包括linux,netbsd等)。
QEmu具有良好的MIPS仿真器。将其与交叉编译的GCC / binutils结合使用(从技术上讲,您只需要binutils即可获得GAS和GNU汇编器),您就可以使用了。
也许您可以看看这些emulators?我不是专家,但列表似乎不错。
假设您希望使用GCC。
在x84-64系统上编译MIPS,然后使用仿真器运行可执行文件的步骤:
使用交叉编译工具链生成可执行文件。
如果您使用的是Debian / Ubuntu,请为MIPS安装交叉编译工具链。例如,以下两个APT软件包之一:
gcc-mips-linux-gnu
(MIPS大字节序)或gcc-mipsel-linux-gnu
(MIPS小字节序)。使用
mips-linux-gnu-gcc
进行编译(对于小端MIPS,则为mipsel-linux-gnu-gcc
;用mips-linux-gnu-as
组装;使用mips-linux-gnu-gcc
链接。
使用仿真器运行可执行文件。
- [安装可以在一个CPU(例如x84-64)上启动为一个CPU(例如MIPS)编译的Linux进程的仿真器:
sudo apt-get install qemu-user
。 - 使用仿真器运行为MIPS编译的可执行文件:
qemu-mips ./a.out
(或对于小尾数MIPS为qemu-mipsel ./a.out
)。只需运行./a.out
也可以;将使用模拟器。
- [安装可以在一个CPU(例如x84-64)上启动为一个CPU(例如MIPS)编译的Linux进程的仿真器:
以上是关于如何在x86 linux上执行MIPS汇编程序?的主要内容,如果未能解决你的问题,请参考以下文章