0

我的代码抛出了一些错误,而且我对 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
4

2 回答 2

0

好吧,您没有说错误是什么……但是当我将其插入 spim 时,我收到了:

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
于 2013-10-26T18:46:40.907 回答
0

您应该在“设置”选项卡中更改设置。Simulator-->Settings-->MIPS-->Exception Handler:取消选中此选项“ Load Exception Handler ”,这样您就可以禁用本机 MIPS 代码并且您自己的代码可以正常工作。

于 2015-09-13T15:04:57.797 回答