nutinit.lst 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. GAS LISTING /tmp/cc5jY6bu.s page 1
  2. 1 .file "nutinit.c"
  3. 2 __SP_H__ = 0x3e
  4. 3 __SP_L__ = 0x3d
  5. 4 __SREG__ = 0x3f
  6. 5 __RAMPZ__ = 0x3b
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .section .rodata.str1.1,"aMS",@progbits,1
  10. 9 .LC0:
  11. 10 0000 6D61 696E .string "main"
  12. 10 00
  13. 11 .section .text.NutIdle,"ax",@progbits
  14. 12 .global NutIdle
  15. 13 .type NutIdle, @function
  16. 14 NutIdle:
  17. 15 /* prologue: function */
  18. 16 /* frame size = 0 */
  19. 17 /* stack size = 0 */
  20. 18 .L__stack_usage = 0
  21. 19 0000 0E94 0000 call NutTimerInit
  22. 20 0004 20E0 ldi r18,0
  23. 21 0006 33E0 ldi r19,lo8(3)
  24. 22 0008 40E0 ldi r20,0
  25. 23 000a 50E0 ldi r21,0
  26. 24 000c 60E0 ldi r22,lo8(gs(NutAppMain))
  27. 25 000e 70E0 ldi r23,hi8(gs(NutAppMain))
  28. 26 0010 80E0 ldi r24,lo8(.LC0)
  29. 27 0012 90E0 ldi r25,hi8(.LC0)
  30. 28 0014 0E94 0000 call NutThreadCreate
  31. 29 0018 8EEF ldi r24,lo8(-2)
  32. 30 001a 0E94 0000 call NutThreadSetPriority
  33. 31 .L3:
  34. 32 001e 0E94 0000 call NutThreadYield
  35. 33 0022 0E94 0000 call NutThreadDestroy
  36. 34 0026 E091 0000 lds r30,IdleCall
  37. 35 002a F091 0000 lds r31,IdleCall+1
  38. 36 002e 3097 sbiw r30,0
  39. 37 0030 01F0 breq .L2
  40. 38 0032 1995 eicall
  41. 39 .L2:
  42. 40 0034 9091 0000 lds r25,idle_sleep_mode
  43. 41 0038 9F3F cpi r25,lo8(-1)
  44. 42 003a 01F0 breq .L3
  45. 43 003c 83B7 in r24,0x33
  46. 44 003e 23B7 in r18,0x33
  47. 45 0040 217F andi r18,lo8(-15)
  48. 46 0042 922B or r25,r18
  49. 47 0044 93BF out 0x33,r25
  50. 48 0046 93B7 in r25,0x33
  51. 49 0048 9160 ori r25,lo8(1)
  52. 50 004a 93BF out 0x33,r25
  53. 51 /* #APP */
  54. 52 ; 278 "../../nut/os/../arch/avr/os/nutinit.c" 1
  55. 53 004c 8895 sleep
  56. 54
  57. 55 ; 0 "" 2
  58. 56 /* #NOAPP */
  59. GAS LISTING /tmp/cc5jY6bu.s page 2
  60. 57 004e 93B7 in r25,0x33
  61. 58 0050 9E7F andi r25,lo8(-2)
  62. 59 0052 93BF out 0x33,r25
  63. 60 0054 93B7 in r25,0x33
  64. 61 0056 917F andi r25,lo8(-15)
  65. 62 0058 8E70 andi r24,lo8(14)
  66. 63 005a 892B or r24,r25
  67. 64 005c 83BF out 0x33,r24
  68. 65 005e 00C0 rjmp .L3
  69. 66 .size NutIdle, .-NutIdle
  70. 67 .section .rodata.str1.1
  71. 68 .LC1:
  72. 69 0005 6964 6C65 .string "idle"
  73. 69 00
  74. 70 .section .init8,"ax",@progbits
  75. 71 .global NutInit
  76. 72 .type NutInit, @function
  77. 73 NutInit:
  78. 74 /* prologue: naked */
  79. 75 /* frame size = 0 */
  80. 76 /* stack size = 0 */
  81. 77 .L__stack_usage = 0
  82. 78 0000 0E94 0000 call NutLoadConfig
  83. 79 0004 20E8 ldi r18,lo8(-128)
  84. 80 0006 31E0 ldi r19,lo8(1)
  85. 81 0008 40E0 ldi r20,0
  86. 82 000a 50E0 ldi r21,0
  87. 83 000c 60E0 ldi r22,lo8(gs(NutIdle))
  88. 84 000e 70E0 ldi r23,hi8(gs(NutIdle))
  89. 85 0010 80E0 ldi r24,lo8(.LC1)
  90. 86 0012 90E0 ldi r25,hi8(.LC1)
  91. 87 0014 0E94 0000 call NutThreadCreate
  92. 88 /* epilogue start */
  93. 89 .size NutInit, .-NutInit
  94. 90 .section .init1,"ax",@progbits
  95. 91 .type NutInitXRAM, @function
  96. 92 NutInitXRAM:
  97. 93 /* prologue: naked */
  98. 94 /* frame size = 0 */
  99. 95 /* stack size = 0 */
  100. 96 .L__stack_usage = 0
  101. 97 0000 84E8 ldi r24,lo8(-124)
  102. 98 0002 8093 7400 sts 116,r24
  103. 99 /* epilogue start */
  104. 100 .size NutInitXRAM, .-NutInitXRAM
  105. 101 .section .text.NutThreadSetSleepMode,"ax",@progbits
  106. 102 .global NutThreadSetSleepMode
  107. 103 .type NutThreadSetSleepMode, @function
  108. 104 NutThreadSetSleepMode:
  109. 105 /* prologue: function */
  110. 106 /* frame size = 0 */
  111. 107 /* stack size = 0 */
  112. 108 .L__stack_usage = 0
  113. 109 0000 9091 0000 lds r25,idle_sleep_mode
  114. 110 0004 8093 0000 sts idle_sleep_mode,r24
  115. 111 0008 892F mov r24,r25
  116. 112 000a 0895 ret
  117. GAS LISTING /tmp/cc5jY6bu.s page 3
  118. 113 .size NutThreadSetSleepMode, .-NutThreadSetSleepMode
  119. 114 .section .text.NutRegisterIdleCallback,"ax",@progbits
  120. 115 .global NutRegisterIdleCallback
  121. 116 .type NutRegisterIdleCallback, @function
  122. 117 NutRegisterIdleCallback:
  123. 118 /* prologue: function */
  124. 119 /* frame size = 0 */
  125. 120 /* stack size = 0 */
  126. 121 .L__stack_usage = 0
  127. 122 0000 2091 0000 lds r18,IdleCall
  128. 123 0004 3091 0000 lds r19,IdleCall+1
  129. 124 0008 9093 0000 sts IdleCall+1,r25
  130. 125 000c 8093 0000 sts IdleCall,r24
  131. 126 0010 C901 movw r24,r18
  132. 127 0012 0895 ret
  133. 128 .size NutRegisterIdleCallback, .-NutRegisterIdleCallback
  134. 129 .section .init5,"ax",@progbits
  135. 130 .type NutInitSP, @function
  136. 131 NutInitSP:
  137. 132 /* prologue: naked */
  138. 133 /* frame size = 0 */
  139. 134 /* stack size = 0 */
  140. 135 .L__stack_usage = 0
  141. 136 0000 8FEF ldi r24,lo8(-1)
  142. 137 0002 9FE7 ldi r25,lo8(127)
  143. 138 0004 9EBF out __SP_L__+1,r25
  144. 139 0006 8DBF out __SP_L__,r24
  145. 140 /* epilogue start */
  146. 141 .size NutInitSP, .-NutInitSP
  147. 142 .type NutInitHeap, @function
  148. 143 NutInitHeap:
  149. 144 /* prologue: naked */
  150. 145 /* frame size = 0 */
  151. 146 /* stack size = 0 */
  152. 147 .L__stack_usage = 0
  153. 148 0008 8FEF ldi r24,lo8(-1)
  154. 149 000a 9FE7 ldi r25,lo8(127)
  155. 150 000c 8050 subi r24,lo8(__heap_start)
  156. 151 000e 9040 sbci r25,hi8(__heap_start)
  157. 152 0010 8138 cpi r24,-127
  158. 153 0012 9140 sbci r25,1
  159. 154 0014 00F0 brlo .L16
  160. 155 0016 4FEF ldi r20,lo8(-1)
  161. 156 0018 5EE7 ldi r21,lo8(126)
  162. 157 001a 4050 subi r20,lo8(__heap_start)
  163. 158 001c 5040 sbci r21,hi8(__heap_start)
  164. 159 001e 60E0 ldi r22,lo8(__heap_start)
  165. 160 0020 70E0 ldi r23,hi8(__heap_start)
  166. 161 0022 80E0 ldi r24,lo8(heapFreeList)
  167. 162 0024 90E0 ldi r25,hi8(heapFreeList)
  168. 163 0026 0E94 0000 call NutHeapRootAdd
  169. 164 .L16:
  170. 165 /* epilogue start */
  171. 166 .size NutInitHeap, .-NutInitHeap
  172. 167 .local IdleCall
  173. 168 .comm IdleCall,2,1
  174. 169 .global idle_sleep_mode
  175. GAS LISTING /tmp/cc5jY6bu.s page 4
  176. 170 .data
  177. 171 .type idle_sleep_mode, @object
  178. 172 .size idle_sleep_mode, 1
  179. 173 idle_sleep_mode:
  180. 174 0000 FF .byte -1
  181. 175 .comm nutmem_onchip,64,1
  182. 176 .global ms62_5
  183. 177 .section .bss
  184. 178 .type ms62_5, @object
  185. 179 .size ms62_5, 1
  186. 180 ms62_5:
  187. 181 0000 00 .zero 1
  188. 182 .ident "GCC: (GNU) 5.3.0"
  189. 183 .global __do_copy_data
  190. 184 .global __do_clear_bss
  191. GAS LISTING /tmp/cc5jY6bu.s page 5
  192. DEFINED SYMBOLS
  193. *ABS*:0000000000000000 nutinit.c
  194. /tmp/cc5jY6bu.s:2 *ABS*:000000000000003e __SP_H__
  195. /tmp/cc5jY6bu.s:3 *ABS*:000000000000003d __SP_L__
  196. /tmp/cc5jY6bu.s:4 *ABS*:000000000000003f __SREG__
  197. /tmp/cc5jY6bu.s:5 *ABS*:000000000000003b __RAMPZ__
  198. /tmp/cc5jY6bu.s:6 *ABS*:0000000000000000 __tmp_reg__
  199. /tmp/cc5jY6bu.s:7 *ABS*:0000000000000001 __zero_reg__
  200. /tmp/cc5jY6bu.s:14 .text.NutIdle:0000000000000000 NutIdle
  201. .bss:0000000000000001 IdleCall
  202. /tmp/cc5jY6bu.s:173 .data:0000000000000000 idle_sleep_mode
  203. /tmp/cc5jY6bu.s:73 .init8:0000000000000000 NutInit
  204. /tmp/cc5jY6bu.s:92 .init1:0000000000000000 NutInitXRAM
  205. /tmp/cc5jY6bu.s:104 .text.NutThreadSetSleepMode:0000000000000000 NutThreadSetSleepMode
  206. /tmp/cc5jY6bu.s:117 .text.NutRegisterIdleCallback:0000000000000000 NutRegisterIdleCallback
  207. /tmp/cc5jY6bu.s:131 .init5:0000000000000000 NutInitSP
  208. /tmp/cc5jY6bu.s:143 .init5:0000000000000008 NutInitHeap
  209. *COM*:0000000000000040 nutmem_onchip
  210. /tmp/cc5jY6bu.s:180 .bss:0000000000000000 ms62_5
  211. UNDEFINED SYMBOLS
  212. NutTimerInit
  213. NutAppMain
  214. NutThreadCreate
  215. NutThreadSetPriority
  216. NutThreadYield
  217. NutThreadDestroy
  218. NutLoadConfig
  219. __heap_start
  220. heapFreeList
  221. NutHeapRootAdd
  222. __do_copy_data
  223. __do_clear_bss