Advertisement
Guest User

03-2

a guest
Oct 15th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.92 KB | None | 0 0
  1.     .text
  2.     .global sort_by_age
  3.  
  4. swap:
  5.     @r0 == N
  6.     @r1 == *person_tsons
  7.     @r2 == ind_1
  8.     @r3 == ind_2
  9.     push {r4, r5, r6, lr}
  10.     mov r4, #0
  11. swap_loop:
  12.     cmp r4, #12
  13.     beq swap_ret
  14.     ldr r5, [r1, r2]
  15.     ldr r6, [r1, r3]
  16.     str r5, [r1, r3]
  17.     str r6, [r1, r2]
  18.     add r2, #4
  19.     add r3, #4
  20.     add r4, #1
  21.     b swap_loop
  22. swap_ret:
  23.     sub r2, #48
  24.     sub r3, #48
  25.     pop {r4, r5, r6, pc}
  26.  
  27.  
  28. sort_by_age:
  29.     push {r4, r5, r6, lr}
  30.     mov r4, #48
  31.     mul r0, r4
  32.     mov r4, #0
  33. main_loop:
  34.     cmp r4, r0
  35.     beq ret
  36.     mov r2, #0
  37.     add r3, r2, #48
  38. second_loop:
  39.     cmp r3, r0
  40.     beq second_loop_end
  41.     add r2, #4
  42.     add r3, #4
  43.     ldrb r5, [r1, r2]
  44.     ldrb r6, [r1, r3]
  45.     sub r2, #4
  46.     sub r3, #4
  47.     cmp r6, r5
  48.     bllt swap
  49.     add r2, #48
  50.     add r3, #48
  51.     b second_loop
  52. second_loop_end:
  53.     add r4, #48
  54.     b main_loop
  55. ret:
  56.     pop {r4, r5, r6, pc}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement