Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. .cpu cortex-m4
  2. .eabi_attribute 20, 1
  3. .eabi_attribute 21, 1
  4. .eabi_attribute 23, 3
  5. .eabi_attribute 24, 1
  6. .eabi_attribute 25, 1
  7. .eabi_attribute 26, 1
  8. .eabi_attribute 30, 6
  9. .eabi_attribute 34, 1
  10. .eabi_attribute 18, 4
  11. .file "fibonacci.c"
  12. .text
  13. .align 1
  14. .global fib
  15. .syntax unified
  16. .thumb
  17. .thumb_func
  18. .fpu softvfp
  19. .type fib, %function
  20. fib:
  21. @ args = 0, pretend = 0, frame = 8
  22. @ frame_needed = 1, uses_anonymous_args = 0
  23. push {r4, r7, lr}
  24. sub sp, sp, #12
  25. add r7, sp, #0
  26. str r0, [r7, #4]
  27. ldr r3, [r7, #4]
  28. cmp r3, #0
  29. beq .L2
  30. ldr r3, [r7, #4]
  31. cmp r3, #1
  32. bne .L3
  33. .L2:
  34. ldr r3, [r7, #4]
  35. b .L4
  36. .L3:
  37. ldr r3, [r7, #4]
  38. subs r3, r3, #1
  39. mov r0, r3
  40. bl fib
  41. mov r4, r0
  42. ldr r3, [r7, #4]
  43. subs r3, r3, #2
  44. mov r0, r3
  45. bl fib
  46. mov r3, r0
  47. add r3, r3, r4
  48. .L4:
  49. mov r0, r3
  50. adds r7, r7, #12
  51. mov sp, r7
  52. @ sp needed
  53. pop {r4, r7, pc}
  54. .size fib, .-fib
  55. .section .rodata
  56. .align 2
  57. .LC0:
  58. .ascii "fib(1) = %d\012\000"
  59. .align 2
  60. .LC1:
  61. .ascii "fib(2) = %d\012\000"
  62. .align 2
  63. .LC2:
  64. .ascii "fib(3) = %d\012\000"
  65. .align 2
  66. .LC3:
  67. .ascii "fib(4) = %d\012\000"
  68. .align 2
  69. .LC4:
  70. .ascii "fib(5) = %d\012\000"
  71. .align 2
  72. .LC5:
  73. .ascii "fib(10) = %d\012\000"
  74. .align 2
  75. .LC6:
  76. .ascii "fib(13) = %d\012\000"
  77. .text
  78. .align 1
  79. .global main
  80. .syntax unified
  81. .thumb
  82. .thumb_func
  83. .fpu softvfp
  84. .type main, %function
  85. main:
  86. @ args = 0, pretend = 0, frame = 8
  87. @ frame_needed = 1, uses_anonymous_args = 0
  88. push {r7, lr}
  89. sub sp, sp, #8
  90. add r7, sp, #0
  91. str r0, [r7, #4]
  92. str r1, [r7]
  93. movs r0, #1
  94. bl fib
  95. mov r3, r0
  96. mov r1, r3
  97. ldr r0, .L7
  98. bl printf
  99. movs r0, #2
  100. bl fib
  101. mov r3, r0
  102. mov r1, r3
  103. ldr r0, .L7+4
  104. bl printf
  105. movs r0, #3
  106. bl fib
  107. mov r3, r0
  108. mov r1, r3
  109. ldr r0, .L7+8
  110. bl printf
  111. movs r0, #4
  112. bl fib
  113. mov r3, r0
  114. mov r1, r3
  115. ldr r0, .L7+12
  116. bl printf
  117. movs r0, #5
  118. bl fib
  119. mov r3, r0
  120. mov r1, r3
  121. ldr r0, .L7+16
  122. bl printf
  123. movs r0, #10
  124. bl fib
  125. mov r3, r0
  126. mov r1, r3
  127. ldr r0, .L7+20
  128. bl printf
  129. movs r0, #13
  130. bl fib
  131. mov r3, r0
  132. mov r1, r3
  133. ldr r0, .L7+24
  134. bl printf
  135. movs r3, #0
  136. mov r0, r3
  137. adds r7, r7, #8
  138. mov sp, r7
  139. @ sp needed
  140. pop {r7, pc}
  141. .L8:
  142. .align 2
  143. .L7:
  144. .word .LC0
  145. .word .LC1
  146. .word .LC2
  147. .word .LC3
  148. .word .LC4
  149. .word .LC5
  150. .word .LC6
  151. .size main, .-main
  152. .ident "GCC: (Arch Repository) 6.2.0"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement