QTSpim を MIPS シミュレーターとして使用していますが、ユーザーが入力した整数を出力する方法を理解するのに苦労しています。これまでのところ、私のコードは次のとおりです。
.data
prompt: .asciiz "Please enter an integer: "
.text
main:
li $v0, 4
la $a0, prompt
syscall
li $v0, 5
move $s0, $v0
syscall
li $v0, 5
move $s1, $v0
syscall
li $v0, 5
move $s2, $v0
syscall
jal order3
li $v0, 1
move $a0, $s0
syscall
li $v0, 10
syscall
swap:
move $t0, $a0
move $a0, $a1
move $a1, $t0
jr $ra
swap1:
move $t0, $a1
move $a1, $a2
move $a2, $t0
jr $ra
order3:
bgt $a0, $a1, swap
bgt $a1, $a2, swap1
bgt $a0, $a1, swap
jr $ra
最初の整数を出力しようとするたびに、5 が出力されますが、出力されるべきではありません。なぜこれが起こっているのかわかりません。誰かが私のコードの欠陥を指摘できれば、それは素晴らしいことです。
ありがとう。