繁体   English   中英

这个MIPS阵列+循环在做什么?

[英]What is this MIPS array + loop doing?

MIPS的新增功能,可以完全理解代码的功能,但是我不理解所提供的答案/解决方案。 任何帮助将不胜感激。

  1. 函数返回后,请阅读以下代码并在数组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 

解决方案:找到最小的差异

它从数组中找到最接近$a1传递的数字的元素。 换句话说,它找到差abs(x - $a1)最小的元素x 它返回$v0的索引和$v1的差。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM