Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .global _start
- LIST: .word 5, 10, 9, 6, 7, 1
- _start:
- LDR R1,=LIST //Load R1 with address of LIST
- LDR R2, [R1] //Load R2 with number of elements in LIST
- ADD R1, #4
- SUB R2, #-1
- MOV R4, #0
- OUTLOOP:
- CMN R2, #-1 //Check branch condition of i >= 0
- BEQ END
- SUB R2, #-1 //Subtract 1 from i
- LDR R1, =LIST
- INLOOP:
- MOV R0, R1
- ADD R1, #4
- CMP R4, R3
- BEQ OUTLOOP
- ADD R4, #1
- SWAP:
- MOV R7, R0 //Save address of element
- MOV R0, #0 //Move 0 to R0 by default
- LDR R5, [R7] //Load current element into R5
- LDR R6, [R7, #4]//Load next element into R6
- CMP R5, R6 //Compare R5 to R6
- BGT SWITCH //If R5 - R6 > 0 branch to SWITCH
- B INLOOP
- SWITCH:
- STR R6, [R7] //Store R5 value into
- STR R5, [R7, #4]
- MOV R0, #1
- B INLOOP
- RELINK:
- MOV PC, LR
- END:
- B END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement