2012-12-20 22 views
0

我爲我的大學進行了練習,其中我已經用mips編寫了一個代碼。 練習給了我們一些數字的2D數組。 我想加載一些寄存器給定的數組。winmips64 problema with ld instruction

這裏是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

你可能打算說ld $s4,B($t4)。您尚未將值加載到$t5,這可能是導致紅線的原因。