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