开始运行更多MIPS汇编程序?

时间:2012-08-06 06:02:27

标签: assembly mips

我想运行更多的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是如何构建的,而不是教你如何编写完整的程序(我关注的书是Computer Organization and Design和瑞典语的书称为Datorsystem,虽然这些书很好地描述了背景和个别指令,但我需要更多的指针来完成我可以从修改中学到的程序,一些类似的简单程序与上面的基本i / o一样。由于很多程序在书中做出的假设是不现实的,例如某个值已经存在于某个寄存器中。上述程序的实践非常好,因为它是一个完整的程序。你能帮助我吗?

1 个答案:

答案 0 :(得分:3)

所有这些都假设您想成为一名称职的MIPS汇编程序员:

  • See MIPS Run是有关MIPS CPU的规范书籍。本书介绍了MIPS指令集,CPU架构以及它们与MIPS Linux的关系。

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

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

  • 您可以找到一个免费且完整的MIPS模拟器here(MARS和SPIM不仅仅是完成家庭作业问题还不够完整)。如果您想在廉价的真实硬件上运行MIPS程序,请从OpenWrt开始。