Advertisement
Guest User

fibon_recu_O2.asm

a guest
Sep 7th, 2021
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * fibon_recu.asm with "-O2 -fno-inline"
  3.  */
  4.  
  5.         .align  2
  6.         .global fibonacci
  7.         .type   fibonacci, %function
  8. fibonacci:
  9.         @ args = 0, pretend = 0, frame = 0
  10.         @ frame_needed = 0, uses_anonymous_args = 0
  11.         ldr     r3, .L9
  12.         ldr     r2, .L9+4
  13. .LPIC0:
  14.         add     r3, pc, r3
  15.         stmfd   sp!, {r4, r5, r6, r7, r8, lr}
  16.         ldr     r7, [r3, r2]
  17.         mov     r6, r0
  18.         ldrd    r2, [r7]
  19.         adds    r2, r2, #1
  20.         adc     r3, r3, #0
  21.         cmp     r0, #1
  22.         strd    r2, [r7]
  23.         movhi   r8, r0
  24.         movhi   r4, #0
  25.         movhi   r5, #0
  26.         bls     .L8
  27. .L4:
  28.         sub     r0, r8, #1
  29.         and     r0, r0, #255
  30.         bl      fibonacci(PLT)
  31.         ldrd    r2, [r7]
  32.         sub     r8, r8, #2
  33.         adds    r2, r2, #1
  34.         adc     r3, r3, #0
  35.         and     r8, r8, #255
  36.         strd    r2, [r7]
  37.         adds    r4, r4, r0
  38.         adc     r5, r5, r1
  39.         cmp     r8, #1
  40.         bhi     .L4
  41.         and     r6, r6, #1
  42. .L5:
  43.         and     r0, r6, #255
  44.         adds    r0, r0, r4
  45.         mov     r1, #0
  46.         adc     r1, r1, r5
  47.         ldmfd   sp!, {r4, r5, r6, r7, r8, pc}
  48. .L8:
  49.         mov     r4, #0
  50.         mov     r5, #0
  51.         b       .L5
  52. .L10:
  53.         .align  2
  54. .L9:
  55.         .word   _GLOBAL_OFFSET_TABLE_-(.LPIC0+8)
  56.         .word   calls(GOT)
  57.         .size   fibonacci, .-fibonacci
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement