1

我想运行更多的 MIPS 汇编程序。我可以运行模拟器(MARS),也可以运行基本的汇编程序。现在我有例如这个程序要学习,这对于我目前的水平来说是可以的:

.data
prompt: .asciiz "\n Please Input a Value: "
bye: .asciiz "\n Bye!"
.globl main
.text

main:
   li $v0, 4
   la $a0, prompt
   syscall

   li $v0, 5
   syscall
   beqz $v0, end
   move $a0, $v0
   li $v0, 1
   syscall
   b main


end:
   li $v0, 4
   la $a0, bye
   syscall

   li $v0, 10
   syscall

我有 2 本书讨论该理论,但它们更多的是关于电子设备以及 CPU 是如何构造的,而不是教你如何编写完整的程序(我遵循的书是计算机组织和设计以及瑞典语的书Datorsystem,而这些书很好地描述了背景和个人指导,我需要更多的指针来完成我可以通过修改来学习的程序,一些类似的简单程序,具有基本的 i/o,就像上面的那个。由于书中的许多程序都做出了并非如此的假设现实的例如某个值已经在某个寄存器中。练习上面的程序真的很好,因为它是一个完整的程序。你能帮帮我吗?

4

1 回答 1

3

这一切都假设你想成为一个称职的 MIPS 汇编程序员:

  • 请参阅 MIPS Run是关于 MIPS CPU 的规范书籍。本书解释了 MIPS 指令集、CPU 架构以及它们与 MIPS Linux 的关系。

  • 获取一个 MIPS 交叉编译器工具链,就像免费的 Mentor /CodeSourcery 工具链,用它来将你喜欢的 C/C++ 程序编译成 MIPS,并研究汇编器的输出。

  • 您可以从Timesys下载和研究 Linux 的 MIPS 端口。

  • 您可以在此处找到免费且完整的 MIPS 模拟器(MARS 和 SPIM 对于除了家庭作业问题之外的任何事情都不够完整)。如果您想在廉价的真实硬件上运行 MIPS 程序,请从OpenWrt开始。

于 2012-08-06T23:15:55.820 回答