Better format
This commit is contained in:
@@ -13,48 +13,54 @@ move $t0, $zero # a0 = 0
|
|||||||
|
|
||||||
move $t0, $zero # i = 0
|
move $t0, $zero # i = 0
|
||||||
move $t1, $s1 #t1 = a
|
move $t1, $s1 #t1 = a
|
||||||
read_in_num: bge $t0, $s0, done_read_in_num # i >= n, break
|
read_in_num:
|
||||||
li $v0, 5 # read in num
|
bge $t0, $s0, done_read_in_num # i >= n, break
|
||||||
syscall
|
li $v0, 5 # read in num
|
||||||
|
syscall
|
||||||
|
|
||||||
sw $v0, 0($t1) # a[i] = v0
|
sw $v0, 0($t1) # a[i] = v0
|
||||||
addi $t0, $t0, 1 # i++
|
addi $t0, $t0, 1 # i++
|
||||||
addi $t1, $t1, 4 # t1 += 4
|
addi $t1, $t1, 4 # t1 += 4
|
||||||
j read_in_num
|
j read_in_num
|
||||||
|
|
||||||
done_read_in_num: srl $s2, $s0, 1 # s1 = n / 2
|
done_read_in_num:
|
||||||
|
srl $s2, $s0, 1 # s1 = n / 2
|
||||||
move $t0, $zero # i = 0
|
move $t0, $zero # i = 0
|
||||||
move $t1, $s1
|
move $t1, $s1
|
||||||
|
|
||||||
subi $t2, $s0, 1 # t2 = n - 1
|
subi $t2, $s0, 1 # t2 = n - 1
|
||||||
sll $t2, $t2, 2 # t2 *= 4
|
sll $t2, $t2, 2 # t2 *= 4
|
||||||
add $t2, $t2, $s1
|
add $t2, $t2, $s1
|
||||||
reverse: bge $t0, $s2, done_reverse # i >= n / 2, break
|
reverse:
|
||||||
lw $t3, 0($t1) # t3 = a[i]
|
bge $t0, $s2, done_reverse # i >= n / 2, break
|
||||||
addi $t3, $t3, 1 # t3 += 1
|
lw $t3, 0($t1) # t3 = a[i]
|
||||||
|
addi $t3, $t3, 1 # t3 += 1
|
||||||
|
|
||||||
lw $t4, 0($t2) # t4 = a[n - i - 1]
|
lw $t4, 0($t2) # t4 = a[n - i - 1]
|
||||||
addi $t4, $t4, 1 # t4 += 1
|
addi $t4, $t4, 1 # t4 += 1
|
||||||
|
|
||||||
sw $t4, 0($t1)
|
sw $t4, 0($t1)
|
||||||
sw $t3, 0($t2)
|
sw $t3, 0($t2)
|
||||||
|
|
||||||
addi $t0, $t0, 1
|
addi $t0, $t0, 1
|
||||||
addi $t1, $t1, 4
|
addi $t1, $t1, 4
|
||||||
subi $t2, $t2, 4
|
subi $t2, $t2, 4
|
||||||
j reverse
|
j reverse
|
||||||
|
|
||||||
done_reverse: move $t0, $zero
|
done_reverse:
|
||||||
|
move $t0, $zero
|
||||||
move $t1, $s1
|
move $t1, $s1
|
||||||
|
|
||||||
output: bge $t0, $s0 done_output
|
output:
|
||||||
lw $a0, 0($t1)
|
bge $t0, $s0 done_output
|
||||||
li $v0 1
|
lw $a0, 0($t1)
|
||||||
syscall
|
li $v0 1
|
||||||
|
syscall
|
||||||
|
|
||||||
addi $t0, $t0, 1
|
addi $t0, $t0, 1
|
||||||
addi $t1, $t1, 4
|
addi $t1, $t1, 4
|
||||||
j output
|
j output
|
||||||
|
|
||||||
done_output: li $v0 17
|
done_output:
|
||||||
|
li $v0 17
|
||||||
syscall
|
syscall
|
||||||
Reference in New Issue
Block a user