我有一个问题,要求使用 MARS 4.5 模拟器使用 MIPS 汇编语言反转数组

问题描述

我将此代码与此数据段一起使用,并想反转数组中的 4 个元素,当然我可以更改它,所以不用担心。

    .data
array:  .word 1 2 3 5
tab:    .asciiz "\t"
    .text
    .globl main
main:
    li $t0,4   # $t0 is loop counter
    la $t2,array 
while:
    beq $t0,$zero,exit   # loop condition :: i!=0;
    lw $t1,16($t2)
    
    li $v0,1
    move $a0,$t1
    syscall
    # print space
    li $v0,4 
    la $a0,tab
    syscall
    # loop increments :: i--,array--
    addi $t0,$t0,-1  #i--
    addi $t2,$t2,-4  #array--
    j while
 
exit:
    li $v0,10
    syscall

输出为:

543516788   5   3   2   
-- program is finished running --

我做错了什么? 我只想知道为什么它显示 543516788 5 3 2 而不是 5 3 2 1 并提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...