Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- .balign 4
- array: .word 6, 8, 4, 7, 3, 2, 5, 1
- size: .word 8
- prt_str: .asciz "%d\n"
- .text
- .extern printf
- .global main
- main:
- push {lr}
- mov r1, #0 /* i */
- ldr r0, =array
- ldr r7, =size
- ldr r7, [r7]
- outer_for:
- cmp r1, r7
- beq outer_for_done
- mov r2, #0 // j
- inner_for:
- add r3, r2, #1 // j+1
- sub r4, r7, #1 // count-1
- cmp r3, r4
- beq inner_for_done
- if:
- ldr r5, [r0, +r2, lsl #2]
- ldr r6, [r0, +r3, lsl #2]
- cmp r5, r6
- ble if_done
- str r5, [r0, +r3, lsl #2]
- str r6, [r0, +r2, lsl #2]
- if_done:
- add r2, r2, #1
- b inner_for
- inner_for_done:
- add r1, r1, #1
- b outer_for
- outer_for_done:
- mov r4, r0
- mov r5, #0
- print:
- cmp r5, r7
- bge fin
- ldr r0, =prt_str
- ldr r1, [r4, r5, lsl #2]
- bl printf
- add r5, r5, #1
- b print
- fin:
- mov r0, #0
- pop {lr}
- bx lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement