.text main: li $v0, 4 # print string la $a0, msg # printf("Enter row, col and value: "); syscall li $v0, 5 syscall move $t0, $v0 # row li $v0, 5 syscall move $t1, $v0 # col li $v0, 5 syscall move $t2, $v0 # value # address + offset # offset = (row*N_COLs + col)*sizeof(int) mul $t3, $t0, 5 add $t3, $t3, $t1 mul $t3, $t3, 4 sw $t2, numbers($t3) # numbers[row][col] = value; li $t0, 0 # i = 0; loop_row_cond: bge $t0, 3, loop_row_end loop_row_body: li $t1, 0 # j = 0; loop_col_cond: bge $t1, 5, loop_col_end loop_col_body: mul $t2, $t0, 5 add $t2, $t2, $t1 mul $t2, $t2, 4 li $v0, 1 lw $a0, numbers($t2) syscall li $v0, 11 la $a0, ' ' syscall addi $t1, 1 b loop_col_cond loop_col_end: li $v0, 11 la $a0, '\n' syscall addi $t0, 1 b loop_row_cond loop_row_end: li $v0, 0 # return 0; jr $ra .data numbers: .word 0:5 .word 0:5 .word 0:5 # .word 0:15 msg: .asciiz "Enter row, col and value: "