Assembly 矩阵特定行的和

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

我有这个代码,我可以打印特定列的和,但如何打印特定行的和

该程序计算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-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