我有两个 3x3 浮点数组。我将它们存储为两个一维数组并编写了以下代码来将它们相乘(这里,s3 是输出矩阵):- MULTIP1: li $t8,4 # $s7 具有数组 s2 的地址,$s4 具有数组 arr
la的地址$t9,s3 里 $t1,0 里 $t2,1 里 $t3,0 里 $t4,1
LOOP1:
beq $t4,$t8,MULTIP2 #multip2 is the next segment of program
li $t2,1
ENTER1:
beq $t2,$t8,UP1
li $t0,1
LOOP2:
beq $t0,$t8,UP2
ENTER2:
lwc1 $f22,0($s7)
lwc1 $f24,0($s4)
mul.s $f8,$f22,$f24
add.s $f10,$f10,$f8
swc1 $f10,0($t9)
addi $s7,$s7,4
addi $s4,$s4,12
addi $t0,$t0,1
j LOOP2
UP2:
l.s $f10,zero
addi $t9,$t9,4
addi $t1,$t1,4 #update column of second matrix
la $s7,s2
add $s7,$s7,$t3
la $s4,arr
add $s4,$s4,$t1
addi $t2,$t2,1
j ENTER1
UP1:
addi $t3,$t3,12
la $s7,s2
add $s7,$s7,$t3 #update row of first matrix
la $s4,arr
addi $t4,$t4,1
j LOOP1
这段代码只正确给出了预期输出矩阵的第一行……其余的都搞砸了……请帮忙!!!