我为我的大学做过练习,我已经用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]
问题是程序识别第一个加载指令 但它不会让我看到第二个红线。 有谁知道问题是什么?
答案 0 :(得分:0)
你可能想说ld $s4,B($t4)
。您尚未将值加载到$t5
中,这可能是导致红线的原因。