Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 0.42 KB | None | 0 0
  1. /* n = r0, k = r1, n >=k >=0 */
  2. binom:
  3.     /* if (k == 0 || n == k) then 1 */
  4.     cmp r1, #0
  5.     cpmne r0, r1
  6.     addeq r2, r2, #1
  7.     bxeq lr
  8.  
  9.     /* left recursive call */
  10.     sub r0, r0, #1
  11.     push {r0,r1,lr}
  12.     bl binom
  13.  
  14.     /* right recursive call */
  15.     pop {r0,r1}
  16.     sub r1, r1, #1
  17.     bl binom
  18.  
  19.     /* cumulative result */
  20.     pop {lr}
  21.     bx lr
  22.  
  23. main:
  24.     ldr r0, =5
  25.     ldr r1, =3
  26.     ldr r2, =0
  27.     push {lr}
  28.     bl binom
  29.     mov r0, r2
  30.     pop {lr}
  31.     bx lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement