您好我正在尝试用mips程序集编写代码。代码的目的是乘以两个矩阵。将要求用户输入两个矩阵参数,程序将它们组合,然后要求用户在矩阵中输入值。最后程序将打印矩阵。例如:用户输入3 x 2,2 x 7程序将它们组合起来得到3 x 7,用户输入21个值然后打印矩阵
的.text 开始: li $ v0 4
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
退出:li $ v0 10
syscall
值:lb $ t0,matrix2($ s0) sb $ t0 matrix1($ s0)
lb $t1, matrix1($0)
li $v0 4
la $a0 msg3
syscall
mult $t0 $t1
mflo $s0
循环:beq $ s1 $ s0 print_matrix
li $v0 5
syscall
sb $v0 matrix_values($t2)
addi $s1 $s1 1
addi $t2 $t2 1
j loop
print_matrix:li $ v0 4
la $a0 msg4
syscall
li $v0 4
la $a0 matrix1
syscall
print:beq $ s2 $ s0 exit
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"
matrix1:.space 3
matrix2:。Space 3
matrix_values:.byte
.align 0