Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- B main
- array DEFW 25,10,13,9,44,15,6,2,36,4
- ALIGN
- main
- MOV R0,#0 ; array[R2]
- MOV R1,#0 ; array[R3]
- MOV R2,#0 ; current_index*4
- MOV R3,#0 ; (current_index+1)*4
- MOV R4,#8 ; array length-2
- MOV R5,#0 ; counter
- MOV R6,#0 ; sorted?
- ADRL R7,array ; array address
- iloop CMP R4,#0
- BEQ iend
- MOV R2,#0
- MOV R3,#4
- jloop CMP R5,R4
- BEQ jend
- LDR R0,[R7,R2]
- LDR R1,[R7,R3]
- CMP R0,R1
- BLT no_swap
- STR R0,[R7,R3]
- STR R1,[R7,R2]
- no_swap ADD R2,R2,#4
- ADD R3,R3,#4
- ADD R5,R5,#1
- jend SUB R4,R4,#1
- B iloop
- iend MOV R4,#10
- MOV R9,#0
- print CMP R4,#0
- BEQ end
- LDR R0,[R7,R9]
- SWI 4
- MOV R0,#44
- SWI 0
- ADD R9,R9,#4
- SUB R4,R4,#1
- B print
- end SWI 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement