【发布时间】:2012-10-17 23:22:24
【问题描述】:
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
解决方案:找到最小的差异
【问题讨论】:
-
为了将文本格式化为代码,将其缩进 4 个空格并确保其前后各有空行。备查。 :)
标签: arrays loops assembly mips mips32