按MIPS中的地址对值排序

时间:2019-01-29 16:58:20

标签: sorting assembly mips

我有以下地址:24、28、32、36和38,其相应值为2、4、3、5和1。如何在MIPS中按地址对这些值进行排序?这样,值将按升序排列:1、2、3、4、5,地址不变。

.data
a1:.word 2
a2:.word 1
a3:.word 3
a4:.word 5

.text
.globl main
main:
add $v0,$zero,$zero #counter
la $t0,a1 #get address of a1
lw $t1, 0($t0) #get value of a1
addi $t0,$t0,4
lw $t2, 0($t0) #get value of a2
slt $t3,$t2,$t1 #if t2<t1 ->t3=1
bne $t3,$zero,EXCHANGE

EXCHANGE:
move $t3,$t1
move $t1,$t2 #value of a2=1
move $t2,$t3 #value of a1=2
jr $ra

0 个答案:

没有答案