MIPS 新手,可以准确理解代码的运行情况,但我不理解所提供的答案/解决方案。任何帮助将不胜感激。
请阅读以下代码,并在函数返回后记下数组 A 中的内容。
.data A: .word 21,3,2,9,100,22,6,15,33,90 .text .globl main main: la $a0, A li $a1, 17 li $a2, 10 jal funct li $v0, 10 # exit syscall funct: li $t0, 0 li $v1, 1000000 funct_L0: sll $t1, $t0, 2 add $t1, $t1, $a0 lw $t1, 0($t1) sub $t2, $t1, $a1 bgt $t2, $0, funct_L1 sub $t2, $0, $t2 funct_L1: bgt $t2, $v1, funct_L2 ori $v0, $t0, 0 ori $v1, $t2, 0 funct_L2: addi $t0, $t0, 1 blt $t0, $a2, funct_L0 jr $ra
解决方案:找到最小的差异