Advertisement
Guest User

Untitled

a guest
Jan 13th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.74 KB | None | 0 0
  1. .global main
  2. .global getchar
  3.  
  4. .text
  5. main:
  6.   push {lr}
  7.   mov r7,#0
  8.   mov r8,#0
  9.   mov r9,#0
  10.   mov r6,#0
  11.   bl read
  12.  
  13.  
  14. read:
  15.   bl getchar
  16.   mov r1, r0
  17.  
  18.   cmp r1,#-1
  19.   beq printout
  20.  
  21.   cmp r1,#10
  22.   cmpne r1,#32
  23.   bne addchar
  24.  
  25.   cmp r6,#0
  26.   beq addword
  27.  
  28.   cmp r1,#10
  29.   beq addline
  30.  
  31.   b read
  32.  
  33. addline:
  34.   add r7,#1
  35.   b read
  36.  
  37. addword:
  38.   add r9,#1
  39.   add r8,#1
  40.   mov r6,#1
  41.   cmp r1,#10
  42.   beq addline
  43.   b read
  44.  
  45. addfinalword:
  46.   add r8,#1
  47.   mov r6,#1
  48.   bl printout
  49.  
  50. addchar:
  51.   add r9,#1
  52.   mov r6,#0
  53.   b read
  54.  
  55. printout:
  56.   cmp r6,#0
  57.   beq addfinalword
  58.  
  59.  
  60.   mov r3,r9
  61.   mov r2,r8
  62.   mov r1,r7
  63.   ldr r0,=format
  64.   bl printf
  65.  
  66.   bl getchar
  67.   pop {lr}
  68.   bx lr
  69.  
  70. .data
  71. format:
  72.     .asciz " %d,%d,%d\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement