coa-lab/assignment-1/src/descending.asm

40 lines
522 B
NASM

.data
a:
70
80
40
20
10
30
50
60
n:
8
.text
main:
load %x0, $n, %x3
load %x0, $n, %x9
init:
subi %x9, 1, %x9
addi %x0, 0, %x4
loopi:
addi %x0, 0, %x5
loopj:
addi %x5, 1, %x6
load %x6, $a, %x8
load %x5, $a, %x7
addi %x5, 1, %x5
check:
beq %x5, %x3, loopout
blt %x8, %x7, loopj
subi %x5, 1, %x30
addi %x30, 1, %x29
store %x8, $a, %x30
store %x7, $a, %x29
jmp loopj
loopout:
addi %x4, 1, %x4
beq %x4, %x9, escape
jmp loopi
escape:
end