带ld指令的winmips64问题
我在大学里做了一个练习,我已经用mips写了一段代码。 这个练习让我们使用一些数字创建二维数组。 我想在一些寄存器中加载给定的数组 这是带ld指令的winmips64问题,mips,Mips,我在大学里做了一个练习,我已经用mips写了一段代码。 这个练习让我们使用一些数字创建二维数组。 我想在一些寄存器中加载给定的数组 这是代码: 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 .
代码
:
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]
问题是程序识别第一条加载指令
但这不是给我第二条红线吗。
有人知道问题出在哪里吗?你可能是想说
ld$s4,B($t4)
。您尚未将值加载到$t5
中,这可能是导致红线的原因