0

我的大学有一个练习,我已经在 mips 中编写了代码。该练习为我们提供了带有一些数字的二维数组。我想在一些寄存器中加载给定的数组。

这是code

A: .word 0, 0, 0, 0, 0, 0, 0, 0
.word 0, 1, 1, 1, 1, 1, 1, 1
.word 0, 2, 2, 2, 2, 2, 2, 2
.word 0, 3, 3, 3, 3, 3, 3, 3
.word 0, 4, 4, 4, 4, 4, 4, 4
.word 0, 5, 5, 5, 5, 5, 5, 5
.word 0, 6, 6, 6, 6, 6, 6, 6
.word 0, 7, 7, 7, 7, 7, 7, 7
; 8-by-8 input matrix Β
Β: .word 0, 0, 0, 0, 0, 0, 0, 0
.word 0, 1, 0, 0, 0, 0, 0, 0
.word 0, 0, 2, 0, 0, 0, 0, 0
.word 0, 0, 0, 3, 0, 0, 0, 0
.word 0, 0, 0, 0, 0, 4, 0, 0
.word 0, 0, 0, 0, 5, 0, 0, 0
.word 0, 0, 0, 0, 0, 0, 6, 0
.word 0, 0, 0, 0, 0, 0, 0, 7


dmul        $t4,$s1,$s0             ; $t4=i*N       
dadd        $t4,$t4,$s2             ; $t4=(i*N) + j
dsll        $t4,$t4,3                       ; $t4=8 * ((i * N) + j)  
ld          $s3,A($t4)              ; $s3 = A[i][j]
ld          $s4,B($t5)              ; $s4 =B[i][j]

问题是程序识别第一条加载指令,但它没有显示第二条的红线。有谁知道问题是什么?

4

1 回答 1

0

你可能是想说ld $s4,B($t4)。您尚未加载$t5可能导致红线的值。

于 2012-12-20T05:13:15.643 回答