2016-10-18 14 views
0

私はMipsアセンブリの今後の試験を勉強していますが、この関数の使用方法を取得しようとしています。私は段階的にそれを踏襲しましたが、メカニックの計算以外では、これらの計算の真の使い方を見つけることはできません。誰でも助けますか?再帰関数の使用法のヘルプ(Mipsアセンブリ)

func: 
bge $a1, $a2, Exit 
sll $t1, $a1, 2 
add $t1, $a0, $t1 
sll $t2, $a2, 2 
add $t2, $a0, $t2 
lw $t3, 0($t1) 
lw $t4, 0($t2) 
sw $t3, 0($t2) 
sw $t4, 0($t1) 
addi $a1, $a1, 1 
addi $a2, $a2, -1 
j func 
Exit:  
jr $ra 
+0

サンプルデータで実行すると、;が表示されます) – Jester

答えて

0

$a0(ベースアドレス)によって与えられる配列、$a1(第1素子位置 - 1)逆転、および$a2(最後の要素の位置 - 1)。これは、$a1 >= $a2まで、array[$a1]array[$a2]を繰り返し交換することによってそうする。