代码之家  ›  专栏  ›  技术社区  ›  mmcdole

如何在x86 linux上执行MIPS汇编程序?

  •  19
  • mmcdole  · 技术社区  · 17 年前

    为了运行MIPS汇编程序,x86 linux是否有任何命令行解释器或其他程序集?

    我希望能够编写简单的MIPS汇编程序,并从本地机器上的控制台运行它们。

    我知道SPIM,但它 需要X Windows 我很好奇是否有更好的选择。

    编辑:事实证明它不需要X Windows。我仍然有SPIM的问题。依我拙见,这不是最好的。Qemu/交叉编译的工具链需要更多的工作,但我的怪癖更少。

    8 回复  |  直到 12 年前
        1
  •  14
  •   Rob Kennedy    17 年前

    顺便说一句, Spim 不需要X Windows。它也有一个控制台界面。要么跑 spim xspim .

        2
  •  8
  •   shodanex    17 年前

    MARS 使我的MIPS架构的汇编编程变得更加容易。如果你想要一个GUI/IDE,我肯定会推荐MARS。

        3
  •  8
  •   Derek    16 年前

    您需要一个交叉编译工具链,或者构建自己的交叉binutils。 对于预构建的工具链,您可以访问 code sourcery 。如果你只想编译程序集,那么所有 你需要的是binutils。关于 Linux Mips 维基

    对于仿真部分,QEmu将是我的选择。

        4
  •  3
  •   Kim Stebel    16 年前

    我昨天也遇到了同样的情况。我也不喜欢SPIM,所以我这样做了:

  • 已安装gxemul和gxemul-doc(这些是debian上的包名)
  • 按照文档中的详细说明在模拟MIPS机器上安装netbsd
  • 由于netbsd已经包含了标准的gcc工具链和vi,所以可以使用了。

    建立网络非常容易,也有很好的记录。这具有不需要篡改交叉编译的优点。

  •     5
  •  3
  •   Tom    16 年前

    您可以使用gxemul,它模拟MIPS机器(包括Dreamcast),并且能够运行许多操作系统(包括linux、netbsd等)。

    gxemul-wikipedia

    gxemul-home page

        6
  •  2
  •   ΦXocę 웃 Пepeúpa ツ    10 年前

    QEmu 具有良好的MIPS仿真器。结合交叉编译的GCC/binutils(从技术上讲,你只需要binutils来获取GNU汇编程序GAS),就可以开始了。

        7
  •  2
  •   Flux    4 年前

    假设您希望使用GCC。

    在x86-64系统上编译MIPS,然后使用仿真器运行可执行文件的步骤:

    1. 使用交叉编译工具链生成可执行文件。

      • 如果您使用的是Debian/Ubuntu,请安装MIPS的交叉编译工具链。例如,以下任一APT包: gcc-mips-linux-gnu (MIPS大端序)或 gcc-mipsel-linux-gnu (MIPS小端序)。

      • 使用编译 mips-linux-gnu-gcc ( mipsel-linux-gnu-gcc 对于小端序MIPS);组装使用 mips-linux-gnu-as ;链接使用 mips-linux-gnu-ld .

    2. 使用模拟器运行可执行文件。

      • 安装一个模拟器,可以在另一个架构(例如x86-64)上启动为一种架构(例如MIPS)编译的Linux程序: sudo apt-get install qemu-user .

      • 使用模拟器运行为MIPS编译的可执行文件: qemu-mips ./a.out (或 qemu-mipsel ./a.out 对于小端MIPS)。简单地跑步 ./a.out 也可能奏效;如果您(或您的发行版的qemu包)已设置binfmt-misc以透明地运行qemu-user,则可以自动使用模拟器。

        8
  •  1
  •   PolyThinker    17 年前

    也许你可以看看这些 emulators ?我不是专家,但这份名单似乎不错。