main.lst 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s page 1
  2. 1 .file "main.c"
  3. 2 .arch atmega2561
  4. 3 __SREG__ = 0x3f
  5. 4 __SP_H__ = 0x3e
  6. 5 __SP_L__ = 0x3d
  7. 6 __tmp_reg__ = 0
  8. 7 __zero_reg__ = 1
  9. 8 .global __do_copy_data
  10. 9 .global __do_clear_bss
  11. 10 .text
  12. 11 .global SysInitIO
  13. 12 .type SysInitIO, @function
  14. 13 SysInitIO:
  15. 14 /* prologue: frame size=0 */
  16. 15 /* prologue end (size=0) */
  17. 16 0000 87EF ldi r24,lo8(-9)
  18. 17 0002 84B9 out 36-0x20,r24
  19. 18 0004 8CE0 ldi r24,lo8(12)
  20. 19 0006 8AB9 out 42-0x20,r24
  21. 20 0008 8BB1 in r24,43-0x20
  22. 21 000a 8C70 andi r24,lo8(12)
  23. 22 000c 836F ori r24,lo8(-13)
  24. 23 000e 8BB9 out 43-0x20,r24
  25. 24 0010 8EE8 ldi r24,lo8(-114)
  26. 25 0012 8DB9 out 45-0x20,r24
  27. 26 0014 8EB1 in r24,46-0x20
  28. 27 0016 8E78 andi r24,lo8(-114)
  29. 28 0018 8160 ori r24,lo8(1)
  30. 29 001a 8EB9 out 46-0x20,r24
  31. 30 001c 85B7 in r24,85-0x20
  32. 31 001e 8068 ori r24,lo8(-128)
  33. 32 0020 85BF out 85-0x20,r24
  34. 33 0022 85B7 in r24,85-0x20
  35. 34 0024 8068 ori r24,lo8(-128)
  36. 35 0026 85BF out 85-0x20,r24
  37. 36 0028 8EE0 ldi r24,lo8(14)
  38. 37 002a 80BB out 48-0x20,r24
  39. 38 002c 81B3 in r24,49-0x20
  40. 39 002e 8E70 andi r24,lo8(14)
  41. 40 0030 816F ori r24,lo8(-15)
  42. 41 0032 81BB out 49-0x20,r24
  43. 42 0034 88E1 ldi r24,lo8(24)
  44. 43 0036 83BB out 51-0x20,r24
  45. 44 /* epilogue: frame size=0 */
  46. 45 0038 0895 ret
  47. 46 /* epilogue end (size=1) */
  48. 47 /* function SysInitIO size 29 (28) */
  49. 48 .size SysInitIO, .-SysInitIO
  50. 49 .global NutAppMain
  51. 50 .type NutAppMain, @function
  52. 51 NutAppMain:
  53. 52 /* prologue: frame size=18 */
  54. 53 003a 1F93 push r17
  55. 54 003c CF93 push r28
  56. 55 003e DF93 push r29
  57. 56 0040 CDB7 in r28,__SP_L__
  58. 57 0042 DEB7 in r29,__SP_H__
  59. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s page 2
  60. 58 0044 6297 sbiw r28,18
  61. 59 0046 0FB6 in __tmp_reg__,__SREG__
  62. 60 0048 F894 cli
  63. 61 004a DEBF out __SP_H__,r29
  64. 62 004c 0FBE out __SREG__,__tmp_reg__
  65. 63 004e CDBF out __SP_L__,r28
  66. 64 /* prologue end (size=11) */
  67. 65 0050 0E94 0000 call WatchDogDisable
  68. 66 0054 84E6 ldi r24,lo8(100)
  69. 67 0056 0E94 0000 call NutDelay
  70. 68 005a 0E94 0000 call SysInitIO
  71. 69 005e 0E94 0000 call SPIinit
  72. 70 0062 0E94 0000 call LedInit
  73. 71 0066 0E94 0000 call LcdLowLevelInit
  74. 72 006a 0E94 0000 call Uart0DriverInit
  75. 73 006e 0E94 0000 call Uart0DriverStart
  76. 74 0072 0E94 0000 call LogInit
  77. 75 0076 80E0 ldi r24,lo8(__c.2550)
  78. 76 0078 90E0 ldi r25,hi8(__c.2550)
  79. 77 007a 9F93 push r25
  80. 78 007c 8F93 push r24
  81. 79 007e 16EC ldi r17,lo8(-58)
  82. 80 0080 1F93 push r17
  83. 81 0082 0E94 0000 call LogMsg_P
  84. 82 0086 0E94 0000 call CardInit
  85. 83 008a 0E94 0000 call X12Init
  86. 84 008e CE01 movw r24,r28
  87. 85 0090 0196 adiw r24,1
  88. 86 0092 0E94 0000 call X12RtcGetClock
  89. 87 0096 0F90 pop __tmp_reg__
  90. 88 0098 0F90 pop __tmp_reg__
  91. 89 009a 0F90 pop __tmp_reg__
  92. 90 009c 892B or r24,r25
  93. 91 009e 01F4 brne .L4
  94. 92 00a0 8981 ldd r24,Y+1
  95. 93 00a2 9A81 ldd r25,Y+2
  96. 94 00a4 9F93 push r25
  97. 95 00a6 8F93 push r24
  98. 96 00a8 8B81 ldd r24,Y+3
  99. 97 00aa 9C81 ldd r25,Y+4
  100. 98 00ac 9F93 push r25
  101. 99 00ae 8F93 push r24
  102. 100 00b0 8D81 ldd r24,Y+5
  103. 101 00b2 9E81 ldd r25,Y+6
  104. 102 00b4 9F93 push r25
  105. 103 00b6 8F93 push r24
  106. 104 00b8 80E0 ldi r24,lo8(__c.2552)
  107. 105 00ba 90E0 ldi r25,hi8(__c.2552)
  108. 106 00bc 9F93 push r25
  109. 107 00be 8F93 push r24
  110. 108 00c0 1F93 push r17
  111. 109 00c2 0E94 0000 call LogMsg_P
  112. 110 00c6 8DB7 in r24,__SP_L__
  113. 111 00c8 9EB7 in r25,__SP_H__
  114. 112 00ca 0996 adiw r24,9
  115. 113 00cc 0FB6 in __tmp_reg__,__SREG__
  116. 114 00ce F894 cli
  117. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s page 3
  118. 115 00d0 9EBF out __SP_H__,r25
  119. 116 00d2 0FBE out __SREG__,__tmp_reg__
  120. 117 00d4 8DBF out __SP_L__,r24
  121. 118 .L4:
  122. 119 00d6 0E94 0000 call At45dbInit
  123. 120 00da 0E94 0000 call RcInit
  124. 121 00de 0E94 0000 call KbInit
  125. 122 00e2 40E0 ldi r20,lo8(0)
  126. 123 00e4 50E0 ldi r21,hi8(0)
  127. 124 00e6 60E0 ldi r22,lo8(gs(SysMainBeatInterrupt))
  128. 125 00e8 70E0 ldi r23,hi8(gs(SysMainBeatInterrupt))
  129. 126 00ea 80E0 ldi r24,lo8(sig_OVERFLOW0)
  130. 127 00ec 90E0 ldi r25,hi8(sig_OVERFLOW0)
  131. 128 00ee 0E94 0000 call NutRegisterIrqHandler
  132. 129 00f2 892B or r24,r25
  133. 130 00f4 01F4 brne .L6
  134. 131 00f6 85B5 in r24,69-0x20
  135. 132 00f8 8460 ori r24,lo8(4)
  136. 133 00fa 85BD out 69-0x20,r24
  137. 134 00fc A89A sbi 53-0x20,0
  138. 135 00fe 8091 6E00 lds r24,110
  139. 136 0102 8160 ori r24,lo8(1)
  140. 137 0104 8093 6E00 sts 110,r24
  141. 138 .L6:
  142. 139 0108 81E0 ldi r24,lo8(1)
  143. 140 010a 0E94 0000 call NutThreadSetPriority
  144. 141 /* #APP */
  145. 142 010e 7894 sei
  146. 143 /* #NOAPP */
  147. 144 .L8:
  148. 145 0110 84E0 ldi r24,lo8(4)
  149. 146 0112 0E94 0000 call LedControl
  150. 147 0116 0E94 0000 call KbScan
  151. 148 011a 8F5F subi r24,lo8(-1)
  152. 149 011c 9F4F sbci r25,hi8(-1)
  153. 150 011e 01F4 brne .L9
  154. 151 0120 80E0 ldi r24,lo8(0)
  155. 152 0122 00C0 rjmp .L13
  156. 153 .L9:
  157. 154 0124 81E0 ldi r24,lo8(1)
  158. 155 .L13:
  159. 156 0126 0E94 0000 call LcdBackLight
  160. 157 012a 64E6 ldi r22,lo8(100)
  161. 158 012c 70E0 ldi r23,hi8(100)
  162. 159 012e 80E0 ldi r24,hlo8(100)
  163. 160 0130 90E0 ldi r25,hhi8(100)
  164. 161 0132 0E94 0000 call NutSleep
  165. 162 0136 0E94 0000 call WatchDogRestart
  166. 163 013a 00C0 rjmp .L8
  167. 164 /* epilogue: frame size=18 */
  168. 165 /* epilogue: noreturn */
  169. 166 /* epilogue end (size=0) */
  170. 167 /* function NutAppMain size 131 (120) */
  171. 168 .size NutAppMain, .-NutAppMain
  172. 169 .type SysMainBeatInterrupt, @function
  173. 170 SysMainBeatInterrupt:
  174. 171 /* prologue: frame size=0 */
  175. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s page 4
  176. 172 /* prologue end (size=0) */
  177. 173 013c 0E94 0000 call KbScan
  178. 174 0140 0E94 0000 call CardCheckCard
  179. 175 /* epilogue: frame size=0 */
  180. 176 0144 0895 ret
  181. 177 /* epilogue end (size=1) */
  182. 178 /* function SysMainBeatInterrupt size 5 (4) */
  183. 179 .size SysMainBeatInterrupt, .-SysMainBeatInterrupt
  184. 180 .section .progmem.data,"a",@progbits
  185. 181 .type __c.2552, @object
  186. 182 .size __c.2552, 26
  187. 183 __c.2552:
  188. 184 0000 5254 4320 .string "RTC time [%02d:%02d:%02d]"
  189. 184 7469 6D65
  190. 184 205B 2530
  191. 184 3264 3A25
  192. 184 3032 643A
  193. 185 .type __c.2550, @object
  194. 186 .size __c.2550, 12
  195. 187 __c.2550:
  196. 188 001a 4865 6C6C .string "Hello World"
  197. 188 6F20 576F
  198. 188 726C 6400
  199. 189 /* File "source/main.c": code 165 = 0x00a5 ( 152), prologues 11, epilogues 2 */
  200. GAS LISTING C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s page 5
  201. DEFINED SYMBOLS
  202. *ABS*:00000000 main.c
  203. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:3 *ABS*:0000003f __SREG__
  204. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:4 *ABS*:0000003e __SP_H__
  205. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:5 *ABS*:0000003d __SP_L__
  206. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:6 *ABS*:00000000 __tmp_reg__
  207. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:7 *ABS*:00000001 __zero_reg__
  208. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:13 .text:00000000 SysInitIO
  209. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:51 .text:0000003a NutAppMain
  210. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:187 .progmem.data:0000001a __c.2550
  211. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:183 .progmem.data:00000000 __c.2552
  212. C:\Users\GUUSV_~1\AppData\Local\Temp/cc6ajCyb.s:170 .text:0000013c SysMainBeatInterrupt
  213. UNDEFINED SYMBOLS
  214. __do_copy_data
  215. __do_clear_bss
  216. WatchDogDisable
  217. NutDelay
  218. SPIinit
  219. LedInit
  220. LcdLowLevelInit
  221. Uart0DriverInit
  222. Uart0DriverStart
  223. LogInit
  224. LogMsg_P
  225. CardInit
  226. X12Init
  227. X12RtcGetClock
  228. At45dbInit
  229. RcInit
  230. KbInit
  231. sig_OVERFLOW0
  232. NutRegisterIrqHandler
  233. NutThreadSetPriority
  234. LedControl
  235. KbScan
  236. LcdBackLight
  237. NutSleep
  238. WatchDogRestart
  239. CardCheckCard