Assembly 矩阵特定行的和
我有这个代码,我可以打印特定列的和,但如何打印特定行的和 该程序计算M x N矩阵列的元素之和 常数Assembly 矩阵特定行的和,assembly,mips,Assembly,Mips,我有这个代码,我可以打印特定列的和,但如何打印特定行的和 该程序计算M x N矩阵列的元素之和 常数 .eqv NUM_ROWS 5 .eqv NUM_COLS 6 .eqv ELT_SIZE 4 .eqv PRINT_INT 1 .eqv PRINT_STR 4 .eqv READ_INT 5 .eqv TERMINATE 10 .data Input_str: .asciiz "Enter the column number, 0-ba
.eqv NUM_ROWS 5
.eqv NUM_COLS 6
.eqv ELT_SIZE 4
.eqv PRINT_INT 1
.eqv PRINT_STR 4
.eqv READ_INT 5
.eqv TERMINATE 10
.data
Input_str: .asciiz "Enter the column number, 0-based: "
Summary_str: .asciiz "Sum of elements in the specified column: "
Matrix:
row0: .word 1, 6, 8, 10, 12, 2
row1: .word 14, 2, 18, 20, 24, 3
row2: .word 30, 32, 3, 10, 5, 4
row3: .word 1, 2, 3, 4, 5, 5
row4: .word 10, 15, 20, 5, 6, 6
RowAddresses: .word row0, row1, row2, row3, row4
# Note that the rowN and Row Addresses labels aren't used in this program.
.text
main:
# Prompt user for the column number
la $a0, Input_str
jal PrintMsg
li $v0, READ_INT
syscall
move $a1, $v0
la $a0, Matrix
li $a2, NUM_ROWS
li $a3, NUM_COLS
jal ColSum
move $a2, $v0
# Print summary string
la $a0, Summary_str
jal PrintMsg
# Print returned row sum
move $a0, $a2
li $v0, PRINT_INT
syscall
li $v0, TERMINATE
syscall
ColSum:
move $t0, $0
move $v0, $0
li $t1, ELT_SIZE
mul $t2, $a3, $t1
move $t3, $a0
mul $a1, $a1, $t1
add $t3, $t3, $a1
Loop:
beq $t0, $a2, Done
lw $t4, ($t3)
add $v0, $v0, $t4
add $t3, $t3, $t2
addi $t0, $t0, 1
b Loop
Done:
jr $ra
PrintMsg:
li $v0, PRINT_STR
syscall
jr $ra