Matrix 乘法和组合矩阵
嗨,我正在尝试在mips汇编中编写代码。代码的目的是将两个矩阵相乘。将要求用户输入两个矩阵参数,程序将组合它们,然后要求用户在矩阵中输入值。最后,程序将打印矩阵。例如:用户输入3 x 2,2 x 7程序将它们合并得到3 x 7,用户输入21个值,然后打印矩阵 .文本 开始: 李$V04Matrix 乘法和组合矩阵,matrix,mips,mars-simulator,Matrix,Mips,Mars Simulator,嗨,我正在尝试在mips汇编中编写代码。代码的目的是将两个矩阵相乘。将要求用户输入两个矩阵参数,程序将组合它们,然后要求用户在矩阵中输入值。最后,程序将打印矩阵。例如:用户输入3 x 2,2 x 7程序将它们合并得到3 x 7,用户输入21个值,然后打印矩阵 .文本 开始: 李$V04 la $a0 msg1 syscall li $v0 8 la $a0
la $a0 msg1
syscall
li $v0 8
la $a0 matrix1
li $a1 3
syscall
li $v0 4
la $a0 msg2
syscall
li $v0 8
la $a0 matrix2
li $a1 3
syscall
li $s0 2
lb $t0, matrix1($s0)
lb $t1, matrix2($0)
beq $t1 $t0 values
li $v0 4
la $a0 msg5
syscall
出口:李$V010
syscall
价值:磅$t0,矩阵2($s0)
sb$t0$X1($s0)
循环:beq$s1$s0打印矩阵
li $v0 5
syscall
sb $v0 matrix_values($t2)
addi $s1 $s1 1
addi $t2 $t2 1
j loop
打印矩阵:li$v0 4
la $a0 msg4
syscall
li $v0 4
la $a0 matrix1
syscall
打印:beq$s2$s0退出
li $v0 1
lb $a0 matrix_values($t3)
syscall
li $v0 4
la $a0 spaces
syscall
addi $s2 $s2 1
addi $t4 $t4 1
bne $t0 $t4 print
li $v0 4
la $a0 newline
syscall
li $t4 0
j print
.数据
msg1:.asciiz“请输入第一个矩阵参数”
msg2:.asciiz“请输入第二个矩阵参数”
msg3:.asciiz“请输入矩阵值”
msg4:.asciiz“结果是”
msg5:.asciiz“错误”
空格:.asciiz“”
换行符:.asciiz“\n”
矩阵1:.空间3
矩阵2:.空间3
矩阵值:。字节
.对齐0
li $v0 1
lb $a0 matrix_values($t3)
syscall
li $v0 4
la $a0 spaces
syscall
addi $s2 $s2 1
addi $t4 $t4 1
bne $t0 $t4 print
li $v0 4
la $a0 newline
syscall
li $t4 0
j print