使用Fibonacci序列的MIPS

时间:2013-10-25 13:21:36

标签: mips mips32

我的代码抛出了一些错误,我并不总是非常熟悉MIPS语法。给出的问题是:

1202年调查的原始问题是兔子在理想情况下的繁殖速度有多快。

假设一对新生的兔子,一只雄性和一只雌性,放在田里。

兔子在一个月后性成熟,因此在第二个月结束时,雌性可以产生另一对兔子。

假设我们的兔子从未死亡,并且从第二个月开始,每个月女性总会生产一对(一男一女)。

一年会有多少对?

我到目前为止的代码是:

.data

str: .asciiz "The number of pairs of rabbits in a year are: "

.text
.globl main

li $t0, 12
li $t1, 0
li $t2, 1
li $t4, 0

la $a0, str
li $v0, 4
syscall

loop:

beq $t4, $t0, exit
move $t3, $t2
add $t2, $t1, $t2
move $t1, $t3
addi $t4, $t4, 1

j loop

exit:

move $a0, $t2
li $v0, 1
syscall


li $v0, 10
syscall

2 个答案:

答案 0 :(得分:0)

嗯,你没有说出错误是什么......但当我把它插入垃圾邮件时我收到了:

SPIM Version 7.4 of January 1, 2009
Copyright 1990-2004 by James R. Larus (larus@cs.wisc.edu).
All Rights Reserved.
See the file README for a full copyright notice.
Loaded: /opt/local/share/spim/exceptions.s
The following symbols are undefined:
main

Instruction references undefined symbol at 0x00400014
[0x00400014]    0x0c000000  jal 0x00000000 [main]           ; 180: jal main

这意味着您缺少主标签。在主要功能之前添加它:

.text
.globl main
main:

li $t0, 12
...

这产生了预期的答案:

The number of pairs of rabbits in a year are: 233

答案 1 :(得分:0)

您应该更改选项卡"设置"中的设置。 模拟器 - >设置 - > MIPS - >异常处理程序: 取消选中此选项" 加载异常处理程序" 通过这种方式,您可以禁用本机MIPS代码并使用自己的代码。