使用ld指令的winmips64问题

时间:2012-12-20 02:06:24

标签: mips

我为我的大学做过练习,我已经用mips写了一个代码。 练习为我们提供了带有一些数字的2D阵列。 我想在一些寄存器中加载给定的数组。

这是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]

问题是程序识别第一个加载指令 但它不会让我看到第二个红线。 有谁知道问题是什么?

1 个答案:

答案 0 :(得分:0)

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