Advertisement
Forceisthop

REVERSE STRING

Dec 27th, 2022
1,142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.81 KB | None | 0 0
  1.                 AREA program,CODE,READONLY
  2.                 ENTRY
  3. main            push {r4-r7, lr}
  4.                 ldr r0, =string
  5.                 ldr r1, =string1
  6.                 strb r1, [r0]
  7.                 mov r1, #' '
  8.                 strb r1, [r0, #1]
  9.                 ldr r1, =string2
  10.                 strb r1, [r0, #2]
  11.                 mov r1, #0
  12.                 strb r1, [r0, #8]
  13.                 mov r0, r0
  14.                 bl reverse_string
  15.                 pop {r4-r7, pc}
  16.  
  17. reverse_string  push {r4-r7, lr}
  18.                 mov r4, r0
  19.                 mov r5, #0
  20. find_length     ldrb r6, [r4, r5]
  21.                 cmp r6, #0
  22.                 beq done
  23.                 add r5, r5, #1
  24.                 b find_length
  25. done            sub r5, r5, #1
  26.                 mov r6, #0
  27. reverse_loop    cmp r6, r5
  28.                 bge done2
  29.                 ldrb r7, [r4, r6]
  30.                 ldrb r6, [r4, r5]
  31.                 strb r6, [r4, r6]
  32.                 strb r7, [r4, r5]
  33.                 add r6, r6, #1
  34.                 sub r5, r5, #1
  35.                 b reverse_loop
  36. done2           pop {r4-r7, pc}
  37.  
  38. string DCB "hello world", 0
  39. string1 DCB "hello", 0
  40. string2 DCB "world", 0
  41.                 END
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement