tracer.lst 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526
  1. GAS LISTING /tmp/ccjWWE5a.s page 1
  2. 1 .file "tracer.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 .text.NutTraceTimer1IRQ,"ax",@progbits
  10. 9 .type NutTraceTimer1IRQ, @function
  11. 10 NutTraceTimer1IRQ:
  12. 11 /* prologue: function */
  13. 12 /* frame size = 0 */
  14. 13 /* stack size = 0 */
  15. 14 .L__stack_usage = 0
  16. 15 0000 8091 0000 lds r24,micros_high
  17. 16 0004 9091 0000 lds r25,micros_high+1
  18. 17 0008 0196 adiw r24,1
  19. 18 000a 9093 0000 sts micros_high+1,r25
  20. 19 000e 8093 0000 sts micros_high,r24
  21. 20 0012 0895 ret
  22. 21 .size NutTraceTimer1IRQ, .-NutTraceTimer1IRQ
  23. 22 .section .text.NutTraceClear,"ax",@progbits
  24. 23 .global NutTraceClear
  25. 24 .type NutTraceClear, @function
  26. 25 NutTraceClear:
  27. 26 /* prologue: function */
  28. 27 /* frame size = 0 */
  29. 28 /* stack size = 0 */
  30. 29 .L__stack_usage = 0
  31. 30 0000 1092 0000 sts trace_isfull,__zero_reg__
  32. 31 0004 1092 0000 sts trace_head+1,__zero_reg__
  33. 32 0008 1092 0000 sts trace_head,__zero_reg__
  34. 33 000c 8091 0000 lds r24,trace_mode
  35. 34 0010 8823 tst r24
  36. 35 0012 01F4 brne .+2
  37. 36 0014 00C0 rjmp .L2
  38. 37 0016 9091 0000 lds r25,trace_mask+8
  39. 38 001a 9130 cpi r25,lo8(1)
  40. 39 001c 01F4 brne .L2
  41. 40 /* #APP */
  42. 41 ; 173 "../../nut/os/tracer.c" 1
  43. 42 001e 0FB6 in __tmp_reg__, __SREG__
  44. 43 0020 0F92 push __tmp_reg__
  45. 44 0022 F894 cli
  46. 45
  47. 46 ; 0 "" 2
  48. 47 /* #NOAPP */
  49. 48 0024 E091 0000 lds r30,trace_items
  50. 49 0028 F091 0000 lds r31,trace_items+1
  51. 50 002c 21E0 ldi r18,lo8(1)
  52. 51 002e 30E0 ldi r19,0
  53. 52 0030 3093 0000 sts trace_head+1,r19
  54. 53 0034 2093 0000 sts trace_head,r18
  55. 54 0038 F093 0000 sts trace_current+1,r31
  56. 55 003c E093 0000 sts trace_current,r30
  57. 56 0040 28E0 ldi r18,lo8(8)
  58. 57 0042 2083 st Z,r18
  59. GAS LISTING /tmp/ccjWWE5a.s page 2
  60. 58 0044 1282 std Z+2,__zero_reg__
  61. 59 0046 1182 std Z+1,__zero_reg__
  62. 60 0048 2091 0000 lds r18,micros_high
  63. 61 004c 3091 0000 lds r19,micros_high+1
  64. 62 0050 3483 std Z+4,r19
  65. 63 0052 2383 std Z+3,r18
  66. 64 0054 2091 8400 lds r18,132
  67. 65 0058 3091 8500 lds r19,132+1
  68. 66 005c 3683 std Z+6,r19
  69. 67 005e 2583 std Z+5,r18
  70. 68 0060 2091 0000 lds r18,trace_size
  71. 69 0064 3091 0000 lds r19,trace_size+1
  72. 70 0068 2230 cpi r18,2
  73. 71 006a 3105 cpc r19,__zero_reg__
  74. 72 006c 04F4 brge .L5
  75. 73 006e 9093 0000 sts trace_isfull,r25
  76. 74 0072 1092 0000 sts trace_head+1,__zero_reg__
  77. 75 0076 1092 0000 sts trace_head,__zero_reg__
  78. 76 007a 8230 cpi r24,lo8(2)
  79. 77 007c 01F4 brne .L5
  80. 78 007e 1092 0000 sts trace_mode,__zero_reg__
  81. 79 .L5:
  82. 80 /* #APP */
  83. 81 ; 173 "../../nut/os/tracer.c" 1
  84. 82 0082 0F90 pop __tmp_reg__
  85. 83 0084 0FBE out __SREG__, __tmp_reg__
  86. 84
  87. 85 ; 0 "" 2
  88. 86 /* #NOAPP */
  89. 87 .L2:
  90. 88 0086 0895 ret
  91. 89 .size NutTraceClear, .-NutTraceClear
  92. 90 .section .text.NutTraceInit,"ax",@progbits
  93. 91 .global NutTraceInit
  94. 92 .type NutTraceInit, @function
  95. 93 NutTraceInit:
  96. 94 0000 1F93 push r17
  97. 95 0002 CF93 push r28
  98. 96 0004 DF93 push r29
  99. 97 /* prologue: function */
  100. 98 /* frame size = 0 */
  101. 99 /* stack size = 3 */
  102. 100 .L__stack_usage = 3
  103. 101 0006 EC01 movw r28,r24
  104. 102 0008 162F mov r17,r22
  105. 103 000a 8091 0000 lds r24,trace_isinit
  106. 104 000e 8111 cpse r24,__zero_reg__
  107. 105 0010 00C0 rjmp .L12
  108. 106 0012 82E0 ldi r24,lo8(2)
  109. 107 0014 8093 8100 sts 129,r24
  110. 108 0018 40E0 ldi r20,0
  111. 109 001a 50E0 ldi r21,0
  112. 110 001c 60E0 ldi r22,lo8(gs(NutTraceTimer1IRQ))
  113. 111 001e 70E0 ldi r23,hi8(gs(NutTraceTimer1IRQ))
  114. 112 0020 80E0 ldi r24,lo8(sig_OVERFLOW1)
  115. 113 0022 90E0 ldi r25,hi8(sig_OVERFLOW1)
  116. 114 0024 0E94 0000 call NutRegisterIrqHandler
  117. GAS LISTING /tmp/ccjWWE5a.s page 3
  118. 115 0028 8091 6E00 lds r24,110
  119. 116 002c 8160 ori r24,lo8(1)
  120. 117 002e 8093 6E00 sts 110,r24
  121. 118 0032 81E0 ldi r24,lo8(1)
  122. 119 0034 8093 0000 sts trace_isinit,r24
  123. 120 .L12:
  124. 121 0038 2097 sbiw r28,0
  125. 122 003a 01F4 brne .L13
  126. 123 003c C4EF ldi r28,lo8(-12)
  127. 124 003e D1E0 ldi r29,lo8(1)
  128. 125 .L13:
  129. 126 0040 8091 0000 lds r24,trace_size
  130. 127 0044 9091 0000 lds r25,trace_size+1
  131. 128 0048 C817 cp r28,r24
  132. 129 004a D907 cpc r29,r25
  133. 130 004c 01F0 breq .L14
  134. 131 004e 6091 0000 lds r22,trace_items
  135. 132 0052 7091 0000 lds r23,trace_items+1
  136. 133 0056 6115 cp r22,__zero_reg__
  137. 134 0058 7105 cpc r23,__zero_reg__
  138. 135 005a 01F0 breq .L15
  139. 136 005c 80E0 ldi r24,lo8(heapFreeList)
  140. 137 005e 90E0 ldi r25,hi8(heapFreeList)
  141. 138 0060 0E94 0000 call NutHeapRootFree
  142. 139 .L15:
  143. 140 0064 87E0 ldi r24,lo8(7)
  144. 141 0066 8C9F mul r24,r28
  145. 142 0068 B001 movw r22,r0
  146. 143 006a 8D9F mul r24,r29
  147. 144 006c 700D add r23,r0
  148. 145 006e 1124 clr __zero_reg__
  149. 146 0070 80E0 ldi r24,lo8(heapFreeList)
  150. 147 0072 90E0 ldi r25,hi8(heapFreeList)
  151. 148 0074 0E94 0000 call NutHeapRootAlloc
  152. 149 0078 9093 0000 sts trace_items+1,r25
  153. 150 007c 8093 0000 sts trace_items,r24
  154. 151 0080 892B or r24,r25
  155. 152 0082 01F4 brne .L16
  156. 153 0084 1092 0000 sts trace_size+1,__zero_reg__
  157. 154 0088 1092 0000 sts trace_size,__zero_reg__
  158. 155 008c 80E0 ldi r24,0
  159. 156 008e 90E0 ldi r25,0
  160. 157 0090 00C0 rjmp .L17
  161. 158 .L16:
  162. 159 0092 D093 0000 sts trace_size+1,r29
  163. 160 0096 C093 0000 sts trace_size,r28
  164. 161 .L14:
  165. 162 009a 1093 0000 sts trace_mode,r17
  166. 163 009e 0E94 0000 call NutTraceClear
  167. 164 00a2 8091 0000 lds r24,trace_size
  168. 165 00a6 9091 0000 lds r25,trace_size+1
  169. 166 .L17:
  170. 167 /* epilogue start */
  171. 168 00aa DF91 pop r29
  172. 169 00ac CF91 pop r28
  173. 170 00ae 1F91 pop r17
  174. 171 00b0 0895 ret
  175. GAS LISTING /tmp/ccjWWE5a.s page 4
  176. 172 .size NutTraceInit, .-NutTraceInit
  177. 173 .section .text.NutTraceStop,"ax",@progbits
  178. 174 .global NutTraceStop
  179. 175 .type NutTraceStop, @function
  180. 176 NutTraceStop:
  181. 177 /* prologue: function */
  182. 178 /* frame size = 0 */
  183. 179 /* stack size = 0 */
  184. 180 .L__stack_usage = 0
  185. 181 0000 8091 0000 lds r24,trace_mode
  186. 182 0004 8823 tst r24
  187. 183 0006 01F4 brne .+2
  188. 184 0008 00C0 rjmp .L22
  189. 185 000a 2091 0000 lds r18,trace_mask+9
  190. 186 000e 2130 cpi r18,lo8(1)
  191. 187 0010 01F0 breq .+2
  192. 188 0012 00C0 rjmp .L22
  193. 189 /* #APP */
  194. 190 ; 178 "../../nut/os/tracer.c" 1
  195. 191 0014 0FB6 in __tmp_reg__, __SREG__
  196. 192 0016 0F92 push __tmp_reg__
  197. 193 0018 F894 cli
  198. 194
  199. 195 ; 0 "" 2
  200. 196 /* #NOAPP */
  201. 197 001a E091 0000 lds r30,trace_items
  202. 198 001e F091 0000 lds r31,trace_items+1
  203. 199 0022 6091 0000 lds r22,trace_head
  204. 200 0026 7091 0000 lds r23,trace_head+1
  205. 201 002a AB01 movw r20,r22
  206. 202 002c 4F5F subi r20,-1
  207. 203 002e 5F4F sbci r21,-1
  208. 204 0030 5093 0000 sts trace_head+1,r21
  209. 205 0034 4093 0000 sts trace_head,r20
  210. 206 0038 37E0 ldi r19,lo8(7)
  211. 207 003a 369F mul r19,r22
  212. 208 003c C001 movw r24,r0
  213. 209 003e 379F mul r19,r23
  214. 210 0040 900D add r25,r0
  215. 211 0042 1124 clr __zero_reg__
  216. 212 0044 E80F add r30,r24
  217. 213 0046 F91F adc r31,r25
  218. 214 0048 F093 0000 sts trace_current+1,r31
  219. 215 004c E093 0000 sts trace_current,r30
  220. 216 0050 89E0 ldi r24,lo8(9)
  221. 217 0052 8083 st Z,r24
  222. 218 0054 1282 std Z+2,__zero_reg__
  223. 219 0056 1182 std Z+1,__zero_reg__
  224. 220 0058 8091 0000 lds r24,micros_high
  225. 221 005c 9091 0000 lds r25,micros_high+1
  226. 222 0060 9483 std Z+4,r25
  227. 223 0062 8383 std Z+3,r24
  228. 224 0064 8091 8400 lds r24,132
  229. 225 0068 9091 8500 lds r25,132+1
  230. 226 006c 9683 std Z+6,r25
  231. 227 006e 8583 std Z+5,r24
  232. 228 0070 8091 0000 lds r24,trace_size
  233. GAS LISTING /tmp/ccjWWE5a.s page 5
  234. 229 0074 9091 0000 lds r25,trace_size+1
  235. 230 0078 4817 cp r20,r24
  236. 231 007a 5907 cpc r21,r25
  237. 232 007c 04F0 brlt .L23
  238. 233 007e 2093 0000 sts trace_isfull,r18
  239. 234 0082 1092 0000 sts trace_head+1,__zero_reg__
  240. 235 0086 1092 0000 sts trace_head,__zero_reg__
  241. 236 .L23:
  242. 237 /* #APP */
  243. 238 ; 178 "../../nut/os/tracer.c" 1
  244. 239 008a 0F90 pop __tmp_reg__
  245. 240 008c 0FBE out __SREG__, __tmp_reg__
  246. 241
  247. 242 ; 0 "" 2
  248. 243 /* #NOAPP */
  249. 244 .L22:
  250. 245 008e 1092 0000 sts trace_mode,__zero_reg__
  251. 246 0092 0895 ret
  252. 247 .size NutTraceStop, .-NutTraceStop
  253. 248 .section .rodata.str1.1,"aMS",@progbits,1
  254. 249 .LC0:
  255. 250 0000 5452 4143 .string "TRACE STATUS"
  256. 250 4520 5354
  257. 250 4154 5553
  258. 250 00
  259. 251 .LC1:
  260. 252 000d 204D 6F64 .string " Mode is %s\n"
  261. 252 6520 6973
  262. 252 2025 730A
  263. 252 00
  264. 253 .LC2:
  265. 254 001a 2053 697A .string " Size is %d\n"
  266. 254 6520 6973
  267. 254 2025 640A
  268. 254 00
  269. 255 .LC3:
  270. 256 0027 2069 7320 .string " is full"
  271. 256 6675 6C6C
  272. 256 00
  273. 257 .LC4:
  274. 258 0030 2063 6F6E .string " contains %d elements\n"
  275. 258 7461 696E
  276. 258 7320 2564
  277. 258 2065 6C65
  278. 258 6D65 6E74
  279. 259 .section .text.NutTraceStatusPrint,"ax",@progbits
  280. 260 .global NutTraceStatusPrint
  281. 261 .type NutTraceStatusPrint, @function
  282. 262 NutTraceStatusPrint:
  283. 263 /* prologue: function */
  284. 264 /* frame size = 0 */
  285. 265 /* stack size = 0 */
  286. 266 .L__stack_usage = 0
  287. 267 0000 80E0 ldi r24,lo8(.LC0)
  288. 268 0002 90E0 ldi r25,hi8(.LC0)
  289. 269 0004 0E94 0000 call puts
  290. 270 0008 E091 0000 lds r30,trace_mode
  291. GAS LISTING /tmp/ccjWWE5a.s page 6
  292. 271 000c EE0F lsl r30
  293. 272 000e FF0B sbc r31,r31
  294. 273 0010 E050 subi r30,lo8(-(mode_string))
  295. 274 0012 F040 sbci r31,hi8(-(mode_string))
  296. 275 0014 8181 ldd r24,Z+1
  297. 276 0016 8F93 push r24
  298. 277 0018 8081 ld r24,Z
  299. 278 001a 8F93 push r24
  300. 279 001c 80E0 ldi r24,lo8(.LC1)
  301. 280 001e 90E0 ldi r25,hi8(.LC1)
  302. 281 0020 9F93 push r25
  303. 282 0022 8F93 push r24
  304. 283 0024 0E94 0000 call printf
  305. 284 0028 8091 0000 lds r24,trace_size+1
  306. 285 002c 8F93 push r24
  307. 286 002e 8091 0000 lds r24,trace_size
  308. 287 0032 8F93 push r24
  309. 288 0034 80E0 ldi r24,lo8(.LC2)
  310. 289 0036 90E0 ldi r25,hi8(.LC2)
  311. 290 0038 9F93 push r25
  312. 291 003a 8F93 push r24
  313. 292 003c 0E94 0000 call printf
  314. 293 0040 8DB7 in r24,__SP_L__
  315. 294 0042 9EB7 in r25,__SP_H__
  316. 295 0044 0896 adiw r24,8
  317. 296 0046 0FB6 in __tmp_reg__,__SREG__
  318. 297 0048 F894 cli
  319. 298 004a 9EBF out __SP_H__,r25
  320. 299 004c 0FBE out __SREG__,__tmp_reg__
  321. 300 004e 8DBF out __SP_L__,r24
  322. 301 0050 8091 0000 lds r24,trace_isfull
  323. 302 0054 8823 tst r24
  324. 303 0056 01F0 breq .L28
  325. 304 0058 80E0 ldi r24,lo8(.LC3)
  326. 305 005a 90E0 ldi r25,hi8(.LC3)
  327. 306 005c 0C94 0000 jmp puts
  328. 307 .L28:
  329. 308 0060 8091 0000 lds r24,trace_head+1
  330. 309 0064 8F93 push r24
  331. 310 0066 8091 0000 lds r24,trace_head
  332. 311 006a 8F93 push r24
  333. 312 006c 80E0 ldi r24,lo8(.LC4)
  334. 313 006e 90E0 ldi r25,hi8(.LC4)
  335. 314 0070 9F93 push r25
  336. 315 0072 8F93 push r24
  337. 316 0074 0E94 0000 call printf
  338. 317 0078 0F90 pop __tmp_reg__
  339. 318 007a 0F90 pop __tmp_reg__
  340. 319 007c 0F90 pop __tmp_reg__
  341. 320 007e 0F90 pop __tmp_reg__
  342. 321 0080 0895 ret
  343. 322 .size NutTraceStatusPrint, .-NutTraceStatusPrint
  344. 323 .section .rodata.str1.1
  345. 324 .LC5:
  346. 325 0047 0A54 5241 .string "\nTRACE"
  347. 325 4345 00
  348. 326 .LC6:
  349. GAS LISTING /tmp/ccjWWE5a.s page 7
  350. 327 004e 206E 6F74 .string " not initialized!\n"
  351. 327 2069 6E69
  352. 327 7469 616C
  353. 327 697A 6564
  354. 327 210A 00
  355. 328 .LC7:
  356. 329 0061 2063 6F6E .string " contains %d items, "
  357. 329 7461 696E
  358. 329 7320 2564
  359. 329 2069 7465
  360. 329 6D73 2C20
  361. 330 .LC8:
  362. 331 0076 2070 7269 .string " printing %d items.\n"
  363. 331 6E74 696E
  364. 331 6720 2564
  365. 331 2069 7465
  366. 331 6D73 2E0A
  367. 332 .LC9:
  368. 333 008b 5469 6D65 .string "Time [s:ms:us]"
  369. 333 205B 733A
  370. 333 6D73 3A75
  371. 333 735D 00
  372. 334 .LC10:
  373. 335 009a 5043 2F49 .string "PC/Info"
  374. 335 6E66 6F00
  375. 336 .LC11:
  376. 337 00a2 5441 4700 .string "TAG"
  377. 338 .LC12:
  378. 339 00a6 252D 3230 .string "%-20s%-12s%-12s\n"
  379. 339 7325 2D31
  380. 339 3273 252D
  381. 339 3132 730A
  382. 339 00
  383. 340 .LC13:
  384. 341 00b7 2D2D 2D2D .string "-----------------------------------------------"
  385. 341 2D2D 2D2D
  386. 341 2D2D 2D2D
  387. 341 2D2D 2D2D
  388. 341 2D2D 2D2D
  389. 342 .LC14:
  390. 343 00e7 252D 3230 .string "%-20s%-15s%7u:%03u:%03u\n"
  391. 343 7325 2D31
  392. 343 3573 2537
  393. 343 753A 2530
  394. 343 3375 3A25
  395. 344 .LC15:
  396. 345 0100 252D 3230 .string "%-20s%-#15x%7u:%03u:%03u\n"
  397. 345 7325 2D23
  398. 345 3135 7825
  399. 345 3775 3A25
  400. 345 3033 753A
  401. 346 .section .text.NutTracePrint,"ax",@progbits
  402. 347 .global NutTracePrint
  403. 348 .type NutTracePrint, @function
  404. 349 NutTracePrint:
  405. 350 0000 2F92 push r2
  406. 351 0002 3F92 push r3
  407. GAS LISTING /tmp/ccjWWE5a.s page 8
  408. 352 0004 4F92 push r4
  409. 353 0006 5F92 push r5
  410. 354 0008 6F92 push r6
  411. 355 000a 7F92 push r7
  412. 356 000c 8F92 push r8
  413. 357 000e 9F92 push r9
  414. 358 0010 AF92 push r10
  415. 359 0012 BF92 push r11
  416. 360 0014 CF92 push r12
  417. 361 0016 DF92 push r13
  418. 362 0018 EF92 push r14
  419. 363 001a FF92 push r15
  420. 364 001c 0F93 push r16
  421. 365 001e 1F93 push r17
  422. 366 0020 CF93 push r28
  423. 367 0022 DF93 push r29
  424. 368 0024 00D0 rcall .
  425. 369 0026 CDB7 in r28,__SP_L__
  426. 370 0028 DEB7 in r29,__SP_H__
  427. 371 /* prologue: function */
  428. 372 /* frame size = 3 */
  429. 373 /* stack size = 21 */
  430. 374 .L__stack_usage = 21
  431. 375 002a 8C01 movw r16,r24
  432. 376 002c 2091 0000 lds r18,trace_mode
  433. 377 0030 2983 std Y+1,r18
  434. 378 0032 1092 0000 sts trace_mode,__zero_reg__
  435. 379 0036 80E0 ldi r24,lo8(.LC5)
  436. 380 0038 90E0 ldi r25,hi8(.LC5)
  437. 381 003a 9F93 push r25
  438. 382 003c 8F93 push r24
  439. 383 003e 0E94 0000 call printf
  440. 384 0042 8091 0000 lds r24,trace_size
  441. 385 0046 9091 0000 lds r25,trace_size+1
  442. 386 004a 0F90 pop __tmp_reg__
  443. 387 004c 0F90 pop __tmp_reg__
  444. 388 004e 0097 sbiw r24,0
  445. 389 0050 01F4 brne .L30
  446. 390 0052 80E0 ldi r24,lo8(.LC6)
  447. 391 0054 90E0 ldi r25,hi8(.LC6)
  448. 392 /* epilogue start */
  449. 393 0056 0F90 pop __tmp_reg__
  450. 394 0058 0F90 pop __tmp_reg__
  451. 395 005a 0F90 pop __tmp_reg__
  452. 396 005c DF91 pop r29
  453. 397 005e CF91 pop r28
  454. 398 0060 1F91 pop r17
  455. 399 0062 0F91 pop r16
  456. 400 0064 FF90 pop r15
  457. 401 0066 EF90 pop r14
  458. 402 0068 DF90 pop r13
  459. 403 006a CF90 pop r12
  460. 404 006c BF90 pop r11
  461. 405 006e AF90 pop r10
  462. 406 0070 9F90 pop r9
  463. 407 0072 8F90 pop r8
  464. 408 0074 7F90 pop r7
  465. GAS LISTING /tmp/ccjWWE5a.s page 9
  466. 409 0076 6F90 pop r6
  467. 410 0078 5F90 pop r5
  468. 411 007a 4F90 pop r4
  469. 412 007c 3F90 pop r3
  470. 413 007e 2F90 pop r2
  471. 414 0080 0C94 0000 jmp puts
  472. 415 .L30:
  473. 416 0084 2091 0000 lds r18,trace_isfull
  474. 417 0088 2111 cpse r18,__zero_reg__
  475. 418 008a 00C0 rjmp .L31
  476. 419 008c 8091 0000 lds r24,trace_head
  477. 420 0090 9091 0000 lds r25,trace_head+1
  478. 421 .L31:
  479. 422 0094 9F93 push r25
  480. 423 0096 8F93 push r24
  481. 424 0098 80E0 ldi r24,lo8(.LC7)
  482. 425 009a 90E0 ldi r25,hi8(.LC7)
  483. 426 009c 9F93 push r25
  484. 427 009e 8F93 push r24
  485. 428 00a0 0E94 0000 call printf
  486. 429 00a4 0F90 pop __tmp_reg__
  487. 430 00a6 0F90 pop __tmp_reg__
  488. 431 00a8 0F90 pop __tmp_reg__
  489. 432 00aa 0F90 pop __tmp_reg__
  490. 433 00ac 0115 cp r16,__zero_reg__
  491. 434 00ae 1105 cpc r17,__zero_reg__
  492. 435 00b0 01F4 brne .L32
  493. 436 00b2 0091 0000 lds r16,trace_size
  494. 437 00b6 1091 0000 lds r17,trace_size+1
  495. 438 .L32:
  496. 439 00ba 8091 0000 lds r24,trace_isfull
  497. 440 00be 8823 tst r24
  498. 441 00c0 01F0 breq .L33
  499. 442 00c2 8091 0000 lds r24,trace_size
  500. 443 00c6 9091 0000 lds r25,trace_size+1
  501. 444 00ca 00C0 rjmp .L48
  502. 445 .L33:
  503. 446 00cc 8091 0000 lds r24,trace_head
  504. 447 00d0 9091 0000 lds r25,trace_head+1
  505. 448 .L48:
  506. 449 00d4 8017 cp r24,r16
  507. 450 00d6 9107 cpc r25,r17
  508. 451 00d8 04F4 brge .L35
  509. 452 00da 8C01 movw r16,r24
  510. 453 .L35:
  511. 454 00dc 1F93 push r17
  512. 455 00de 0F93 push r16
  513. 456 00e0 80E0 ldi r24,lo8(.LC8)
  514. 457 00e2 90E0 ldi r25,hi8(.LC8)
  515. 458 00e4 9F93 push r25
  516. 459 00e6 8F93 push r24
  517. 460 00e8 0E94 0000 call printf
  518. 461 00ec 80E0 ldi r24,lo8(.LC9)
  519. 462 00ee 90E0 ldi r25,hi8(.LC9)
  520. 463 00f0 9F93 push r25
  521. 464 00f2 8F93 push r24
  522. 465 00f4 80E0 ldi r24,lo8(.LC10)
  523. GAS LISTING /tmp/ccjWWE5a.s page 10
  524. 466 00f6 90E0 ldi r25,hi8(.LC10)
  525. 467 00f8 9F93 push r25
  526. 468 00fa 8F93 push r24
  527. 469 00fc 80E0 ldi r24,lo8(.LC11)
  528. 470 00fe 90E0 ldi r25,hi8(.LC11)
  529. 471 0100 9F93 push r25
  530. 472 0102 8F93 push r24
  531. 473 0104 80E0 ldi r24,lo8(.LC12)
  532. 474 0106 90E0 ldi r25,hi8(.LC12)
  533. 475 0108 9F93 push r25
  534. 476 010a 8F93 push r24
  535. 477 010c 0E94 0000 call printf
  536. 478 0110 80E0 ldi r24,lo8(.LC13)
  537. 479 0112 90E0 ldi r25,hi8(.LC13)
  538. 480 0114 0E94 0000 call puts
  539. 481 0118 C801 movw r24,r16
  540. 482 011a 0197 sbiw r24,1
  541. 483 011c 9B83 std Y+3,r25
  542. 484 011e 8A83 std Y+2,r24
  543. 485 0120 0FB6 in __tmp_reg__,__SREG__
  544. 486 0122 F894 cli
  545. 487 0124 DEBF out __SP_H__,r29
  546. 488 0126 0FBE out __SREG__,__tmp_reg__
  547. 489 0128 CDBF out __SP_L__,r28
  548. 490 012a 58EE ldi r21,lo8(-24)
  549. 491 012c 452E mov r4,r21
  550. 492 012e 53E0 ldi r21,lo8(3)
  551. 493 0130 552E mov r5,r21
  552. 494 0132 612C mov r6,__zero_reg__
  553. 495 0134 712C mov r7,__zero_reg__
  554. 496 0136 60E0 ldi r22,lo8(.LC14)
  555. 497 0138 E62E mov r14,r22
  556. 498 013a 60E0 ldi r22,hi8(.LC14)
  557. 499 013c F62E mov r15,r22
  558. 500 .L37:
  559. 501 013e AA81 ldd r26,Y+2
  560. 502 0140 BB81 ldd r27,Y+3
  561. 503 0142 B7FD sbrc r27,7
  562. 504 0144 00C0 rjmp .L53
  563. 505 0146 8091 0000 lds r24,trace_head
  564. 506 014a 9091 0000 lds r25,trace_head+1
  565. 507 014e EA81 ldd r30,Y+2
  566. 508 0150 FB81 ldd r31,Y+3
  567. 509 0152 8E1B sub r24,r30
  568. 510 0154 9F0B sbc r25,r31
  569. 511 0156 0197 sbiw r24,1
  570. 512 0158 97FF sbrs r25,7
  571. 513 015a 00C0 rjmp .L38
  572. 514 015c 2091 0000 lds r18,trace_size
  573. 515 0160 3091 0000 lds r19,trace_size+1
  574. 516 0164 820F add r24,r18
  575. 517 0166 931F adc r25,r19
  576. 518 .L38:
  577. 519 0168 F7E0 ldi r31,lo8(7)
  578. 520 016a F89F mul r31,r24
  579. 521 016c 9001 movw r18,r0
  580. 522 016e F99F mul r31,r25
  581. GAS LISTING /tmp/ccjWWE5a.s page 11
  582. 523 0170 300D add r19,r0
  583. 524 0172 1124 clr __zero_reg__
  584. 525 0174 0091 0000 lds r16,trace_items
  585. 526 0178 1091 0000 lds r17,trace_items+1
  586. 527 017c 020F add r16,r18
  587. 528 017e 131F adc r17,r19
  588. 529 0180 D801 movw r26,r16
  589. 530 0182 1396 adiw r26,3
  590. 531 0184 8D90 ld r8,X+
  591. 532 0186 9C90 ld r9,X
  592. 533 0188 1497 sbiw r26,3+1
  593. 534 018a A12C mov r10,__zero_reg__
  594. 535 018c B12C mov r11,__zero_reg__
  595. 536 018e D401 movw r26,r8
  596. 537 0190 9927 clr r25
  597. 538 0192 8827 clr r24
  598. 539 0194 F801 movw r30,r16
  599. 540 0196 8580 ldd r8,Z+5
  600. 541 0198 9680 ldd r9,Z+6
  601. 542 019a A12C mov r10,__zero_reg__
  602. 543 019c B12C mov r11,__zero_reg__
  603. 544 019e 882A or r8,r24
  604. 545 01a0 992A or r9,r25
  605. 546 01a2 AA2A or r10,r26
  606. 547 01a4 BB2A or r11,r27
  607. 548 01a6 C501 movw r24,r10
  608. 549 01a8 B401 movw r22,r8
  609. 550 01aa A301 movw r20,r6
  610. 551 01ac 9201 movw r18,r4
  611. 552 01ae 0E94 0000 call __udivmodsi4
  612. 553 01b2 362E mov r3,r22
  613. 554 01b4 272E mov r2,r23
  614. 555 01b6 CA01 movw r24,r20
  615. 556 01b8 B901 movw r22,r18
  616. 557 01ba A301 movw r20,r6
  617. 558 01bc 9201 movw r18,r4
  618. 559 01be 0E94 0000 call __udivmodsi4
  619. 560 01c2 D62E mov r13,r22
  620. 561 01c4 C72E mov r12,r23
  621. 562 01c6 C501 movw r24,r10
  622. 563 01c8 B401 movw r22,r8
  623. 564 01ca 20E4 ldi r18,lo8(64)
  624. 565 01cc 32E4 ldi r19,lo8(66)
  625. 566 01ce 4FE0 ldi r20,lo8(15)
  626. 567 01d0 50E0 ldi r21,0
  627. 568 01d2 0E94 0000 call __udivmodsi4
  628. 569 01d6 D801 movw r26,r16
  629. 570 01d8 EC91 ld r30,X
  630. 571 01da E830 cpi r30,lo8(8)
  631. 572 01dc 00F4 brsh .L40
  632. 573 01de 8E2F mov r24,r30
  633. 574 01e0 90E0 ldi r25,0
  634. 575 01e2 E630 cpi r30,lo8(6)
  635. 576 01e4 00F4 brsh .L41
  636. 577 01e6 E230 cpi r30,lo8(2)
  637. 578 01e8 00F4 brsh .+2
  638. 579 01ea 00C0 rjmp .L39
  639. GAS LISTING /tmp/ccjWWE5a.s page 12
  640. 580 01ec 2F92 push r2
  641. 581 01ee 3F92 push r3
  642. 582 01f0 CF92 push r12
  643. 583 01f2 DF92 push r13
  644. 584 01f4 3F93 push r19
  645. 585 01f6 2F93 push r18
  646. 586 01f8 F801 movw r30,r16
  647. 587 01fa 2181 ldd r18,Z+1
  648. 588 01fc 3281 ldd r19,Z+2
  649. 589 01fe 2A5F subi r18,-6
  650. 590 0200 3F4F sbci r19,-1
  651. 591 0202 3F93 push r19
  652. 592 0204 00C0 rjmp .L52
  653. 593 .L40:
  654. 594 0206 EA30 cpi r30,lo8(10)
  655. 595 0208 01F4 brne .L39
  656. 596 020a 2F92 push r2
  657. 597 020c 3F92 push r3
  658. 598 020e CF92 push r12
  659. 599 0210 DF92 push r13
  660. 600 0212 3F93 push r19
  661. 601 0214 2F93 push r18
  662. 602 0216 D801 movw r26,r16
  663. 603 0218 1196 adiw r26,1
  664. 604 021a ED91 ld r30,X+
  665. 605 021c FC91 ld r31,X
  666. 606 021e 1297 sbiw r26,1+1
  667. 607 0220 EE0F lsl r30
  668. 608 0222 FF1F rol r31
  669. 609 0224 E050 subi r30,lo8(-(user_string))
  670. 610 0226 F040 sbci r31,hi8(-(user_string))
  671. 611 0228 8181 ldd r24,Z+1
  672. 612 022a 8F93 push r24
  673. 613 022c 8081 ld r24,Z
  674. 614 022e 8F93 push r24
  675. 615 0230 8091 0000 lds r24,tag_string+21
  676. 616 0234 8F93 push r24
  677. 617 0236 8091 0000 lds r24,tag_string+20
  678. 618 023a 00C0 rjmp .L51
  679. 619 .L41:
  680. 620 023c 2F92 push r2
  681. 621 023e 3F92 push r3
  682. 622 0240 CF92 push r12
  683. 623 0242 DF92 push r13
  684. 624 0244 3F93 push r19
  685. 625 0246 2F93 push r18
  686. 626 0248 D801 movw r26,r16
  687. 627 024a 1196 adiw r26,1
  688. 628 024c ED91 ld r30,X+
  689. 629 024e FC91 ld r31,X
  690. 630 0250 1297 sbiw r26,1+1
  691. 631 0252 EE0F lsl r30
  692. 632 0254 FF1F rol r31
  693. 633 0256 E050 subi r30,lo8(-(int_string))
  694. 634 0258 F040 sbci r31,hi8(-(int_string))
  695. 635 025a 2181 ldd r18,Z+1
  696. 636 025c 2F93 push r18
  697. GAS LISTING /tmp/ccjWWE5a.s page 13
  698. 637 025e 2081 ld r18,Z
  699. 638 .L52:
  700. 639 0260 2F93 push r18
  701. 640 0262 FC01 movw r30,r24
  702. 641 0264 EE0F lsl r30
  703. 642 0266 FF1F rol r31
  704. 643 0268 E050 subi r30,lo8(-(tag_string))
  705. 644 026a F040 sbci r31,hi8(-(tag_string))
  706. 645 026c 8181 ldd r24,Z+1
  707. 646 026e 8F93 push r24
  708. 647 0270 8081 ld r24,Z
  709. 648 .L51:
  710. 649 0272 8F93 push r24
  711. 650 0274 FF92 push r15
  712. 651 0276 EF92 push r14
  713. 652 0278 00C0 rjmp .L49
  714. 653 .L39:
  715. 654 027a 2F92 push r2
  716. 655 027c 3F92 push r3
  717. 656 027e CF92 push r12
  718. 657 0280 DF92 push r13
  719. 658 0282 3F93 push r19
  720. 659 0284 2F93 push r18
  721. 660 0286 D801 movw r26,r16
  722. 661 0288 1296 adiw r26,2
  723. 662 028a 8C91 ld r24,X
  724. 663 028c 1297 sbiw r26,2
  725. 664 028e 8F93 push r24
  726. 665 0290 1196 adiw r26,1
  727. 666 0292 8C91 ld r24,X
  728. 667 0294 8F93 push r24
  729. 668 0296 F0E0 ldi r31,0
  730. 669 0298 EE0F lsl r30
  731. 670 029a FF1F rol r31
  732. 671 029c E050 subi r30,lo8(-(tag_string))
  733. 672 029e F040 sbci r31,hi8(-(tag_string))
  734. 673 02a0 8181 ldd r24,Z+1
  735. 674 02a2 8F93 push r24
  736. 675 02a4 8081 ld r24,Z
  737. 676 02a6 8F93 push r24
  738. 677 02a8 A0E0 ldi r26,lo8(.LC15)
  739. 678 02aa B0E0 ldi r27,hi8(.LC15)
  740. 679 02ac BF93 push r27
  741. 680 02ae AF93 push r26
  742. 681 .L49:
  743. 682 02b0 0E94 0000 call printf
  744. 683 02b4 0FB6 in __tmp_reg__,__SREG__
  745. 684 02b6 F894 cli
  746. 685 02b8 DEBF out __SP_H__,r29
  747. 686 02ba 0FBE out __SREG__,__tmp_reg__
  748. 687 02bc CDBF out __SP_L__,r28
  749. 688 02be 8A81 ldd r24,Y+2
  750. 689 02c0 9B81 ldd r25,Y+3
  751. 690 02c2 0197 sbiw r24,1
  752. 691 02c4 9B83 std Y+3,r25
  753. 692 02c6 8A83 std Y+2,r24
  754. 693 02c8 00C0 rjmp .L37
  755. GAS LISTING /tmp/ccjWWE5a.s page 14
  756. 694 .L53:
  757. 695 02ca B981 ldd r27,Y+1
  758. 696 02cc B093 0000 sts trace_mode,r27
  759. 697 /* epilogue start */
  760. 698 02d0 0F90 pop __tmp_reg__
  761. 699 02d2 0F90 pop __tmp_reg__
  762. 700 02d4 0F90 pop __tmp_reg__
  763. 701 02d6 DF91 pop r29
  764. 702 02d8 CF91 pop r28
  765. 703 02da 1F91 pop r17
  766. 704 02dc 0F91 pop r16
  767. 705 02de FF90 pop r15
  768. 706 02e0 EF90 pop r14
  769. 707 02e2 DF90 pop r13
  770. 708 02e4 CF90 pop r12
  771. 709 02e6 BF90 pop r11
  772. 710 02e8 AF90 pop r10
  773. 711 02ea 9F90 pop r9
  774. 712 02ec 8F90 pop r8
  775. 713 02ee 7F90 pop r7
  776. 714 02f0 6F90 pop r6
  777. 715 02f2 5F90 pop r5
  778. 716 02f4 4F90 pop r4
  779. 717 02f6 3F90 pop r3
  780. 718 02f8 2F90 pop r2
  781. 719 02fa 0895 ret
  782. 720 .size NutTracePrint, .-NutTracePrint
  783. 721 .section .text.NutTraceGetPC,"ax",@progbits
  784. 722 .global NutTraceGetPC
  785. 723 .type NutTraceGetPC, @function
  786. 724 NutTraceGetPC:
  787. 725 /* prologue: function */
  788. 726 /* frame size = 0 */
  789. 727 /* stack size = 0 */
  790. 728 .L__stack_usage = 0
  791. 729 0000 EDB7 in r30,__SP_L__
  792. 730 0002 FEB7 in r31,__SP_L__+1
  793. 731 0004 8181 ldd r24,Z+1
  794. 732 0006 082E mov __tmp_reg__,r24
  795. 733 0008 000C lsl r0
  796. 734 000a 990B sbc r25,r25
  797. 735 000c 982F mov r25,r24
  798. 736 000e 8827 clr r24
  799. 737 0010 EDB7 in r30,__SP_L__
  800. 738 0012 FEB7 in r31,__SP_L__+1
  801. 739 0014 2281 ldd r18,Z+2
  802. 740 0016 822B or r24,r18
  803. 741 0018 880F lsl r24
  804. 742 001a 991F rol r25
  805. 743 001c 0895 ret
  806. 744 .size NutTraceGetPC, .-NutTraceGetPC
  807. 745 .section .text.NutTraceMaskSet,"ax",@progbits
  808. 746 .global NutTraceMaskSet
  809. 747 .type NutTraceMaskSet, @function
  810. 748 NutTraceMaskSet:
  811. 749 /* prologue: function */
  812. 750 /* frame size = 0 */
  813. GAS LISTING /tmp/ccjWWE5a.s page 15
  814. 751 /* stack size = 0 */
  815. 752 .L__stack_usage = 0
  816. 753 0000 8B30 cpi r24,11
  817. 754 0002 9105 cpc r25,__zero_reg__
  818. 755 0004 04F4 brge .L55
  819. 756 0006 FC01 movw r30,r24
  820. 757 0008 E050 subi r30,lo8(-(trace_mask))
  821. 758 000a F040 sbci r31,hi8(-(trace_mask))
  822. 759 000c 21E0 ldi r18,lo8(1)
  823. 760 000e 2083 st Z,r18
  824. 761 .L55:
  825. 762 0010 0895 ret
  826. 763 .size NutTraceMaskSet, .-NutTraceMaskSet
  827. 764 .section .text.NutTraceMaskClear,"ax",@progbits
  828. 765 .global NutTraceMaskClear
  829. 766 .type NutTraceMaskClear, @function
  830. 767 NutTraceMaskClear:
  831. 768 /* prologue: function */
  832. 769 /* frame size = 0 */
  833. 770 /* stack size = 0 */
  834. 771 .L__stack_usage = 0
  835. 772 0000 8B30 cpi r24,11
  836. 773 0002 9105 cpc r25,__zero_reg__
  837. 774 0004 04F4 brge .L57
  838. 775 0006 FC01 movw r30,r24
  839. 776 0008 E050 subi r30,lo8(-(trace_mask))
  840. 777 000a F040 sbci r31,hi8(-(trace_mask))
  841. 778 000c 1082 st Z,__zero_reg__
  842. 779 .L57:
  843. 780 000e 0895 ret
  844. 781 .size NutTraceMaskClear, .-NutTraceMaskClear
  845. 782 .section .rodata.str1.1
  846. 783 .LC16:
  847. 784 011a 5452 4143 .string "TRACEMASK"
  848. 784 454D 4153
  849. 784 4B00
  850. 785 .LC17:
  851. 786 0124 2025 6420 .string " %d %s "
  852. 786 2573 2000
  853. 787 .LC18:
  854. 788 012c 4F4E 00 .string "ON"
  855. 789 .LC19:
  856. 790 012f 4F46 4600 .string "OFF"
  857. 791 .section .text.NutTraceMaskPrint,"ax",@progbits
  858. 792 .global NutTraceMaskPrint
  859. 793 .type NutTraceMaskPrint, @function
  860. 794 NutTraceMaskPrint:
  861. 795 0000 CF92 push r12
  862. 796 0002 DF92 push r13
  863. 797 0004 EF92 push r14
  864. 798 0006 FF92 push r15
  865. 799 0008 0F93 push r16
  866. 800 000a 1F93 push r17
  867. 801 000c CF93 push r28
  868. 802 000e DF93 push r29
  869. 803 /* prologue: function */
  870. 804 /* frame size = 0 */
  871. GAS LISTING /tmp/ccjWWE5a.s page 16
  872. 805 /* stack size = 8 */
  873. 806 .L__stack_usage = 8
  874. 807 0010 80E0 ldi r24,lo8(.LC16)
  875. 808 0012 90E0 ldi r25,hi8(.LC16)
  876. 809 0014 0E94 0000 call puts
  877. 810 0018 00E0 ldi r16,lo8(tag_string)
  878. 811 001a 10E0 ldi r17,hi8(tag_string)
  879. 812 001c 80E0 ldi r24,lo8(trace_mask)
  880. 813 001e E82E mov r14,r24
  881. 814 0020 80E0 ldi r24,hi8(trace_mask)
  882. 815 0022 F82E mov r15,r24
  883. 816 0024 C0E0 ldi r28,0
  884. 817 0026 D0E0 ldi r29,0
  885. 818 0028 90E0 ldi r25,lo8(.LC17)
  886. 819 002a C92E mov r12,r25
  887. 820 002c 90E0 ldi r25,hi8(.LC17)
  888. 821 002e D92E mov r13,r25
  889. 822 .L62:
  890. 823 0030 F801 movw r30,r16
  891. 824 0032 8081 ld r24,Z
  892. 825 0034 9181 ldd r25,Z+1
  893. 826 0036 0E5F subi r16,-2
  894. 827 0038 1F4F sbci r17,-1
  895. 828 003a 9F93 push r25
  896. 829 003c 8F93 push r24
  897. 830 003e DF93 push r29
  898. 831 0040 CF93 push r28
  899. 832 0042 DF92 push r13
  900. 833 0044 CF92 push r12
  901. 834 0046 0E94 0000 call printf
  902. 835 004a F701 movw r30,r14
  903. 836 004c 8191 ld r24,Z+
  904. 837 004e 7F01 movw r14,r30
  905. 838 0050 0F90 pop __tmp_reg__
  906. 839 0052 0F90 pop __tmp_reg__
  907. 840 0054 0F90 pop __tmp_reg__
  908. 841 0056 0F90 pop __tmp_reg__
  909. 842 0058 0F90 pop __tmp_reg__
  910. 843 005a 0F90 pop __tmp_reg__
  911. 844 005c 8823 tst r24
  912. 845 005e 01F0 breq .L60
  913. 846 0060 80E0 ldi r24,lo8(.LC18)
  914. 847 0062 90E0 ldi r25,hi8(.LC18)
  915. 848 0064 00C0 rjmp .L64
  916. 849 .L60:
  917. 850 0066 80E0 ldi r24,lo8(.LC19)
  918. 851 0068 90E0 ldi r25,hi8(.LC19)
  919. 852 .L64:
  920. 853 006a 0E94 0000 call puts
  921. 854 006e 2196 adiw r28,1
  922. 855 0070 CB30 cpi r28,11
  923. 856 0072 D105 cpc r29,__zero_reg__
  924. 857 0074 01F4 brne .L62
  925. 858 /* epilogue start */
  926. 859 0076 DF91 pop r29
  927. 860 0078 CF91 pop r28
  928. 861 007a 1F91 pop r17
  929. GAS LISTING /tmp/ccjWWE5a.s page 17
  930. 862 007c 0F91 pop r16
  931. 863 007e FF90 pop r15
  932. 864 0080 EF90 pop r14
  933. 865 0082 DF90 pop r13
  934. 866 0084 CF90 pop r12
  935. 867 0086 0895 ret
  936. 868 .size NutTraceMaskPrint, .-NutTraceMaskPrint
  937. 869 .section .rodata.str1.1
  938. 870 .LC20:
  939. 871 0133 7072 696E .string "print%d"
  940. 871 7425 6400
  941. 872 .LC21:
  942. 873 013b 7072 696E .string "print"
  943. 873 7400
  944. 874 .LC22:
  945. 875 0141 6F6E 6573 .string "oneshot"
  946. 875 686F 7400
  947. 876 .LC23:
  948. 877 0149 5452 4143 .string "TRACE mode %s, restarted\n"
  949. 877 4520 6D6F
  950. 877 6465 2025
  951. 877 732C 2072
  952. 877 6573 7461
  953. 878 .LC24:
  954. 879 0163 6369 7263 .string "circular"
  955. 879 756C 6172
  956. 879 00
  957. 880 .LC25:
  958. 881 016c 7369 7A65 .string "size%d"
  959. 881 2564 00
  960. 882 .LC26:
  961. 883 0173 5452 4143 .string "TRACE new size: %d\n"
  962. 883 4520 6E65
  963. 883 7720 7369
  964. 883 7A65 3A20
  965. 883 2564 0A00
  966. 884 .LC27:
  967. 885 0187 7374 6F70 .string "stop"
  968. 885 00
  969. 886 .LC28:
  970. 887 018c 5452 4143 .string "TRACE stopped"
  971. 887 4520 7374
  972. 887 6F70 7065
  973. 887 6400
  974. 888 .LC29:
  975. 889 019a 6D61 736B .string "mask%d"
  976. 889 2564 00
  977. 890 .LC30:
  978. 891 01a1 6D61 736B .string "mask"
  979. 891 00
  980. 892 .LC31:
  981. 893 01a6 5359 4E54 .string "SYNTAX: trace [print [<size>]|oneshot|circular|size <size>|stop|mask [<tag>]]"
  982. 893 4158 3A20
  983. 893 7472 6163
  984. 893 6520 5B70
  985. 893 7269 6E74
  986. 894 .section .text.NutTraceTerminal,"ax",@progbits
  987. GAS LISTING /tmp/ccjWWE5a.s page 18
  988. 895 .global NutTraceTerminal
  989. 896 .type NutTraceTerminal, @function
  990. 897 NutTraceTerminal:
  991. 898 0000 EF92 push r14
  992. 899 0002 FF92 push r15
  993. 900 0004 0F93 push r16
  994. 901 0006 1F93 push r17
  995. 902 0008 CF93 push r28
  996. 903 000a DF93 push r29
  997. 904 000c 1F92 push __zero_reg__
  998. 905 000e 1F92 push __zero_reg__
  999. 906 0010 CDB7 in r28,__SP_L__
  1000. 907 0012 DEB7 in r29,__SP_H__
  1001. 908 /* prologue: function */
  1002. 909 /* frame size = 2 */
  1003. 910 /* stack size = 8 */
  1004. 911 .L__stack_usage = 8
  1005. 912 0014 8C01 movw r16,r24
  1006. 913 0016 CE01 movw r24,r28
  1007. 914 0018 0196 adiw r24,1
  1008. 915 001a 7C01 movw r14,r24
  1009. 916 001c 9F93 push r25
  1010. 917 001e 8F93 push r24
  1011. 918 0020 80E0 ldi r24,lo8(.LC20)
  1012. 919 0022 90E0 ldi r25,hi8(.LC20)
  1013. 920 0024 9F93 push r25
  1014. 921 0026 8F93 push r24
  1015. 922 0028 1F93 push r17
  1016. 923 002a 0F93 push r16
  1017. 924 002c 0E94 0000 call sscanf
  1018. 925 0030 0F90 pop __tmp_reg__
  1019. 926 0032 0F90 pop __tmp_reg__
  1020. 927 0034 0F90 pop __tmp_reg__
  1021. 928 0036 0F90 pop __tmp_reg__
  1022. 929 0038 0F90 pop __tmp_reg__
  1023. 930 003a 0F90 pop __tmp_reg__
  1024. 931 003c 0197 sbiw r24,1
  1025. 932 003e 01F4 brne .L66
  1026. 933 0040 8981 ldd r24,Y+1
  1027. 934 0042 9A81 ldd r25,Y+2
  1028. 935 0044 00C0 rjmp .L84
  1029. 936 .L66:
  1030. 937 0046 45E0 ldi r20,lo8(5)
  1031. 938 0048 50E0 ldi r21,0
  1032. 939 004a 60E0 ldi r22,lo8(.LC21)
  1033. 940 004c 70E0 ldi r23,hi8(.LC21)
  1034. 941 004e C801 movw r24,r16
  1035. 942 0050 0E94 0000 call strncmp
  1036. 943 0054 892B or r24,r25
  1037. 944 0056 01F4 brne .L68
  1038. 945 0058 80E0 ldi r24,0
  1039. 946 005a 90E0 ldi r25,0
  1040. 947 .L84:
  1041. 948 005c 0E94 0000 call NutTracePrint
  1042. 949 0060 00C0 rjmp .L65
  1043. 950 .L68:
  1044. 951 0062 47E0 ldi r20,lo8(7)
  1045. GAS LISTING /tmp/ccjWWE5a.s page 19
  1046. 952 0064 50E0 ldi r21,0
  1047. 953 0066 60E0 ldi r22,lo8(.LC22)
  1048. 954 0068 70E0 ldi r23,hi8(.LC22)
  1049. 955 006a C801 movw r24,r16
  1050. 956 006c 0E94 0000 call strncmp
  1051. 957 0070 892B or r24,r25
  1052. 958 0072 01F4 brne .L69
  1053. 959 0074 62E0 ldi r22,lo8(2)
  1054. 960 0076 00C0 rjmp .L86
  1055. 961 .L69:
  1056. 962 0078 48E0 ldi r20,lo8(8)
  1057. 963 007a 50E0 ldi r21,0
  1058. 964 007c 60E0 ldi r22,lo8(.LC24)
  1059. 965 007e 70E0 ldi r23,hi8(.LC24)
  1060. 966 0080 C801 movw r24,r16
  1061. 967 0082 0E94 0000 call strncmp
  1062. 968 0086 892B or r24,r25
  1063. 969 0088 01F4 brne .L70
  1064. 970 008a 61E0 ldi r22,lo8(1)
  1065. 971 .L86:
  1066. 972 008c 8091 0000 lds r24,trace_size
  1067. 973 0090 9091 0000 lds r25,trace_size+1
  1068. 974 0094 0E94 0000 call NutTraceInit
  1069. 975 0098 E091 0000 lds r30,trace_mode
  1070. 976 009c EE0F lsl r30
  1071. 977 009e FF0B sbc r31,r31
  1072. 978 00a0 E050 subi r30,lo8(-(mode_string))
  1073. 979 00a2 F040 sbci r31,hi8(-(mode_string))
  1074. 980 00a4 8181 ldd r24,Z+1
  1075. 981 00a6 8F93 push r24
  1076. 982 00a8 8081 ld r24,Z
  1077. 983 00aa 8F93 push r24
  1078. 984 00ac 80E0 ldi r24,lo8(.LC23)
  1079. 985 00ae 90E0 ldi r25,hi8(.LC23)
  1080. 986 00b0 00C0 rjmp .L85
  1081. 987 .L70:
  1082. 988 00b2 FF92 push r15
  1083. 989 00b4 EF92 push r14
  1084. 990 00b6 80E0 ldi r24,lo8(.LC25)
  1085. 991 00b8 90E0 ldi r25,hi8(.LC25)
  1086. 992 00ba 9F93 push r25
  1087. 993 00bc 8F93 push r24
  1088. 994 00be 1F93 push r17
  1089. 995 00c0 0F93 push r16
  1090. 996 00c2 0E94 0000 call sscanf
  1091. 997 00c6 0F90 pop __tmp_reg__
  1092. 998 00c8 0F90 pop __tmp_reg__
  1093. 999 00ca 0F90 pop __tmp_reg__
  1094. 1000 00cc 0F90 pop __tmp_reg__
  1095. 1001 00ce 0F90 pop __tmp_reg__
  1096. 1002 00d0 0F90 pop __tmp_reg__
  1097. 1003 00d2 0197 sbiw r24,1
  1098. 1004 00d4 01F4 brne .L71
  1099. 1005 00d6 6091 0000 lds r22,trace_mode
  1100. 1006 00da 8981 ldd r24,Y+1
  1101. 1007 00dc 9A81 ldd r25,Y+2
  1102. 1008 00de 0E94 0000 call NutTraceInit
  1103. GAS LISTING /tmp/ccjWWE5a.s page 20
  1104. 1009 00e2 9F93 push r25
  1105. 1010 00e4 8F93 push r24
  1106. 1011 00e6 80E0 ldi r24,lo8(.LC26)
  1107. 1012 00e8 90E0 ldi r25,hi8(.LC26)
  1108. 1013 .L85:
  1109. 1014 00ea 9F93 push r25
  1110. 1015 00ec 8F93 push r24
  1111. 1016 00ee 0E94 0000 call printf
  1112. 1017 00f2 0F90 pop __tmp_reg__
  1113. 1018 00f4 0F90 pop __tmp_reg__
  1114. 1019 00f6 0F90 pop __tmp_reg__
  1115. 1020 00f8 0F90 pop __tmp_reg__
  1116. 1021 00fa 00C0 rjmp .L65
  1117. 1022 .L71:
  1118. 1023 00fc 44E0 ldi r20,lo8(4)
  1119. 1024 00fe 50E0 ldi r21,0
  1120. 1025 0100 60E0 ldi r22,lo8(.LC27)
  1121. 1026 0102 70E0 ldi r23,hi8(.LC27)
  1122. 1027 0104 C801 movw r24,r16
  1123. 1028 0106 0E94 0000 call strncmp
  1124. 1029 010a 892B or r24,r25
  1125. 1030 010c 01F4 brne .L72
  1126. 1031 010e 0E94 0000 call NutTraceStop
  1127. 1032 0112 80E0 ldi r24,lo8(.LC28)
  1128. 1033 0114 90E0 ldi r25,hi8(.LC28)
  1129. 1034 0116 00C0 rjmp .L83
  1130. 1035 .L72:
  1131. 1036 0118 FF92 push r15
  1132. 1037 011a EF92 push r14
  1133. 1038 011c 80E0 ldi r24,lo8(.LC29)
  1134. 1039 011e 90E0 ldi r25,hi8(.LC29)
  1135. 1040 0120 9F93 push r25
  1136. 1041 0122 8F93 push r24
  1137. 1042 0124 1F93 push r17
  1138. 1043 0126 0F93 push r16
  1139. 1044 0128 0E94 0000 call sscanf
  1140. 1045 012c 0F90 pop __tmp_reg__
  1141. 1046 012e 0F90 pop __tmp_reg__
  1142. 1047 0130 0F90 pop __tmp_reg__
  1143. 1048 0132 0F90 pop __tmp_reg__
  1144. 1049 0134 0F90 pop __tmp_reg__
  1145. 1050 0136 0F90 pop __tmp_reg__
  1146. 1051 0138 0197 sbiw r24,1
  1147. 1052 013a 01F4 brne .L73
  1148. 1053 013c E981 ldd r30,Y+1
  1149. 1054 013e FA81 ldd r31,Y+2
  1150. 1055 0140 EB30 cpi r30,11
  1151. 1056 0142 F105 cpc r31,__zero_reg__
  1152. 1057 0144 04F4 brge .L74
  1153. 1058 0146 E050 subi r30,lo8(-(trace_mask))
  1154. 1059 0148 F040 sbci r31,hi8(-(trace_mask))
  1155. 1060 014a 81E0 ldi r24,lo8(1)
  1156. 1061 014c 9081 ld r25,Z
  1157. 1062 014e 9111 cpse r25,__zero_reg__
  1158. 1063 0150 80E0 ldi r24,0
  1159. 1064 .L75:
  1160. 1065 0152 8083 st Z,r24
  1161. GAS LISTING /tmp/ccjWWE5a.s page 21
  1162. 1066 0154 0E94 0000 call NutTraceClear
  1163. 1067 .L74:
  1164. 1068 0158 0E94 0000 call NutTraceMaskPrint
  1165. 1069 015c 00C0 rjmp .L65
  1166. 1070 .L73:
  1167. 1071 015e 44E0 ldi r20,lo8(4)
  1168. 1072 0160 50E0 ldi r21,0
  1169. 1073 0162 60E0 ldi r22,lo8(.LC30)
  1170. 1074 0164 70E0 ldi r23,hi8(.LC30)
  1171. 1075 0166 C801 movw r24,r16
  1172. 1076 0168 0E94 0000 call strncmp
  1173. 1077 016c 892B or r24,r25
  1174. 1078 016e 01F0 breq .L74
  1175. 1079 0170 0E94 0000 call NutTraceStatusPrint
  1176. 1080 0174 80E0 ldi r24,lo8(.LC31)
  1177. 1081 0176 90E0 ldi r25,hi8(.LC31)
  1178. 1082 .L83:
  1179. 1083 0178 0E94 0000 call puts
  1180. 1084 .L65:
  1181. 1085 /* epilogue start */
  1182. 1086 017c 0F90 pop __tmp_reg__
  1183. 1087 017e 0F90 pop __tmp_reg__
  1184. 1088 0180 DF91 pop r29
  1185. 1089 0182 CF91 pop r28
  1186. 1090 0184 1F91 pop r17
  1187. 1091 0186 0F91 pop r16
  1188. 1092 0188 FF90 pop r15
  1189. 1093 018a EF90 pop r14
  1190. 1094 018c 0895 ret
  1191. 1095 .size NutTraceTerminal, .-NutTraceTerminal
  1192. 1096 .section .text.NutTraceRegisterUserTag,"ax",@progbits
  1193. 1097 .global NutTraceRegisterUserTag
  1194. 1098 .type NutTraceRegisterUserTag, @function
  1195. 1099 NutTraceRegisterUserTag:
  1196. 1100 /* prologue: function */
  1197. 1101 /* frame size = 0 */
  1198. 1102 /* stack size = 0 */
  1199. 1103 .L__stack_usage = 0
  1200. 1104 0000 8A30 cpi r24,10
  1201. 1105 0002 9105 cpc r25,__zero_reg__
  1202. 1106 0004 04F4 brge .L89
  1203. 1107 0006 FC01 movw r30,r24
  1204. 1108 0008 EE0F lsl r30
  1205. 1109 000a FF1F rol r31
  1206. 1110 000c E050 subi r30,lo8(-(user_string))
  1207. 1111 000e F040 sbci r31,hi8(-(user_string))
  1208. 1112 0010 7183 std Z+1,r23
  1209. 1113 0012 6083 st Z,r22
  1210. 1114 0014 0895 ret
  1211. 1115 .L89:
  1212. 1116 0016 8FEF ldi r24,lo8(-1)
  1213. 1117 0018 9FEF ldi r25,lo8(-1)
  1214. 1118 001a 0895 ret
  1215. 1119 .size NutTraceRegisterUserTag, .-NutTraceRegisterUserTag
  1216. 1120 .comm user_string,20,1
  1217. 1121 .global mode_string
  1218. 1122 .section .rodata.str1.1
  1219. GAS LISTING /tmp/ccjWWE5a.s page 22
  1220. 1123 .LC32:
  1221. 1124 01f4 4349 5243 .string "CIRCULAR"
  1222. 1124 554C 4152
  1223. 1124 00
  1224. 1125 .LC33:
  1225. 1126 01fd 4F4E 4553 .string "ONESHOT"
  1226. 1126 484F 5400
  1227. 1127 .data
  1228. 1128 .type mode_string, @object
  1229. 1129 .size mode_string, 6
  1230. 1130 mode_string:
  1231. 1131 0000 0000 .word .LC19
  1232. 1132 0002 0000 .word .LC32
  1233. 1133 0004 0000 .word .LC33
  1234. 1134 .global int_string
  1235. 1135 .section .rodata.str1.1
  1236. 1136 .LC34:
  1237. 1137 0205 5541 5254 .string "UART0_CTS"
  1238. 1137 305F 4354
  1239. 1137 5300
  1240. 1138 .LC35:
  1241. 1139 020f 5541 5254 .string "UART0_RXCOMPL"
  1242. 1139 305F 5258
  1243. 1139 434F 4D50
  1244. 1139 4C00
  1245. 1140 .LC36:
  1246. 1141 021d 5541 5254 .string "UART0_TXEMPTY"
  1247. 1141 305F 5458
  1248. 1141 454D 5054
  1249. 1141 5900
  1250. 1142 .LC37:
  1251. 1143 022b 5541 5254 .string "UART1_CTS"
  1252. 1143 315F 4354
  1253. 1143 5300
  1254. 1144 .LC38:
  1255. 1145 0235 5541 5254 .string "UART1_RXCOMPL"
  1256. 1145 315F 5258
  1257. 1145 434F 4D50
  1258. 1145 4C00
  1259. 1146 .LC39:
  1260. 1147 0243 5541 5254 .string "UART1_TXEMPTY"
  1261. 1147 315F 5458
  1262. 1147 454D 5054
  1263. 1147 5900
  1264. 1148 .LC40:
  1265. 1149 0251 5449 4D45 .string "TIMER0_OVERFL"
  1266. 1149 5230 5F4F
  1267. 1149 5645 5246
  1268. 1149 4C00
  1269. 1150 .LC41:
  1270. 1151 025f 5449 4D45 .string "TIMER1_OVERFL"
  1271. 1151 5231 5F4F
  1272. 1151 5645 5246
  1273. 1151 4C00
  1274. 1152 .LC42:
  1275. 1153 026d 5355 4152 .string "SUART_TIMER"
  1276. 1153 545F 5449
  1277. GAS LISTING /tmp/ccjWWE5a.s page 23
  1278. 1153 4D45 5200
  1279. 1154 .LC43:
  1280. 1155 0279 5355 4152 .string "SUART_RX"
  1281. 1155 545F 5258
  1282. 1155 00
  1283. 1156 .data
  1284. 1157 .type int_string, @object
  1285. 1158 .size int_string, 20
  1286. 1159 int_string:
  1287. 1160 0006 0000 .word .LC34
  1288. 1161 0008 0000 .word .LC35
  1289. 1162 000a 0000 .word .LC36
  1290. 1163 000c 0000 .word .LC37
  1291. 1164 000e 0000 .word .LC38
  1292. 1165 0010 0000 .word .LC39
  1293. 1166 0012 0000 .word .LC40
  1294. 1167 0014 0000 .word .LC41
  1295. 1168 0016 0000 .word .LC42
  1296. 1169 0018 0000 .word .LC43
  1297. 1170 .global tag_string
  1298. 1171 .section .rodata.str1.1
  1299. 1172 .LC44:
  1300. 1173 0282 4372 6974 .string "Critical Enter"
  1301. 1173 6963 616C
  1302. 1173 2020 456E
  1303. 1173 7465 7200
  1304. 1174 .LC45:
  1305. 1175 0292 4372 6974 .string "Critical Exit"
  1306. 1175 6963 616C
  1307. 1175 2020 4578
  1308. 1175 6974 00
  1309. 1176 .LC46:
  1310. 1177 02a1 5468 7265 .string "Thread Yield"
  1311. 1177 6164 2020
  1312. 1177 2020 5969
  1313. 1177 656C 6400
  1314. 1178 .LC47:
  1315. 1179 02b1 5468 7265 .string "Thread SetPrio"
  1316. 1179 6164 2020
  1317. 1179 2020 5365
  1318. 1179 7450 7269
  1319. 1179 6F00
  1320. 1180 .LC48:
  1321. 1181 02c3 5468 7265 .string "Thread Wait"
  1322. 1181 6164 2020
  1323. 1181 2020 5761
  1324. 1181 6974 00
  1325. 1182 .LC49:
  1326. 1183 02d2 5468 7265 .string "Thread Sleep"
  1327. 1183 6164 2020
  1328. 1183 2020 536C
  1329. 1183 6565 7000
  1330. 1184 .LC50:
  1331. 1185 02e2 496E 7465 .string "Interrupt Enter"
  1332. 1185 7272 7570
  1333. 1185 7420 456E
  1334. 1185 7465 7200
  1335. GAS LISTING /tmp/ccjWWE5a.s page 24
  1336. 1186 .LC51:
  1337. 1187 02f2 496E 7465 .string "Interrupt Exit"
  1338. 1187 7272 7570
  1339. 1187 7420 4578
  1340. 1187 6974 00
  1341. 1188 .LC52:
  1342. 1189 0301 5472 6163 .string "Trace Start"
  1343. 1189 6520 5374
  1344. 1189 6172 7400
  1345. 1190 .LC53:
  1346. 1191 030d 5472 6163 .string "Trace Stop"
  1347. 1191 6520 5374
  1348. 1191 6F70 00
  1349. 1192 .LC54:
  1350. 1193 0318 5573 6572 .string "User *"
  1351. 1193 202A 00
  1352. 1194 .data
  1353. 1195 .type tag_string, @object
  1354. 1196 .size tag_string, 22
  1355. 1197 tag_string:
  1356. 1198 001a 0000 .word .LC44
  1357. 1199 001c 0000 .word .LC45
  1358. 1200 001e 0000 .word .LC46
  1359. 1201 0020 0000 .word .LC47
  1360. 1202 0022 0000 .word .LC48
  1361. 1203 0024 0000 .word .LC49
  1362. 1204 0026 0000 .word .LC50
  1363. 1205 0028 0000 .word .LC51
  1364. 1206 002a 0000 .word .LC52
  1365. 1207 002c 0000 .word .LC53
  1366. 1208 002e 0000 .word .LC54
  1367. 1209 .global trace_mask
  1368. 1210 .type trace_mask, @object
  1369. 1211 .size trace_mask, 11
  1370. 1212 trace_mask:
  1371. 1213 0030 00 .byte 0
  1372. 1214 0031 00 .byte 0
  1373. 1215 0032 01 .byte 1
  1374. 1216 0033 01 .byte 1
  1375. 1217 0034 01 .byte 1
  1376. 1218 0035 01 .byte 1
  1377. 1219 0036 00 .byte 0
  1378. 1220 0037 00 .byte 0
  1379. 1221 0038 01 .byte 1
  1380. 1222 0039 01 .byte 1
  1381. 1223 003a 01 .byte 1
  1382. 1224 .global trace_mode
  1383. 1225 .section .bss
  1384. 1226 .type trace_mode, @object
  1385. 1227 .size trace_mode, 1
  1386. 1228 trace_mode:
  1387. 1229 0000 00 .zero 1
  1388. 1230 .global trace_isinit
  1389. 1231 .type trace_isinit, @object
  1390. 1232 .size trace_isinit, 1
  1391. 1233 trace_isinit:
  1392. 1234 0001 00 .zero 1
  1393. GAS LISTING /tmp/ccjWWE5a.s page 25
  1394. 1235 .global trace_isfull
  1395. 1236 .type trace_isfull, @object
  1396. 1237 .size trace_isfull, 1
  1397. 1238 trace_isfull:
  1398. 1239 0002 00 .zero 1
  1399. 1240 .global trace_size
  1400. 1241 .type trace_size, @object
  1401. 1242 .size trace_size, 2
  1402. 1243 trace_size:
  1403. 1244 0003 0000 .zero 2
  1404. 1245 .global trace_head
  1405. 1246 .type trace_head, @object
  1406. 1247 .size trace_head, 2
  1407. 1248 trace_head:
  1408. 1249 0005 0000 .zero 2
  1409. 1250 .global trace_current
  1410. 1251 .type trace_current, @object
  1411. 1252 .size trace_current, 2
  1412. 1253 trace_current:
  1413. 1254 0007 0000 .zero 2
  1414. 1255 .global trace_items
  1415. 1256 .type trace_items, @object
  1416. 1257 .size trace_items, 2
  1417. 1258 trace_items:
  1418. 1259 0009 0000 .zero 2
  1419. 1260 .global micros_high
  1420. 1261 .type micros_high, @object
  1421. 1262 .size micros_high, 2
  1422. 1263 micros_high:
  1423. 1264 000b 0000 .zero 2
  1424. 1265 .ident "GCC: (GNU) 5.3.0"
  1425. 1266 .global __do_copy_data
  1426. 1267 .global __do_clear_bss
  1427. GAS LISTING /tmp/ccjWWE5a.s page 26
  1428. DEFINED SYMBOLS
  1429. *ABS*:0000000000000000 tracer.c
  1430. /tmp/ccjWWE5a.s:2 *ABS*:000000000000003e __SP_H__
  1431. /tmp/ccjWWE5a.s:3 *ABS*:000000000000003d __SP_L__
  1432. /tmp/ccjWWE5a.s:4 *ABS*:000000000000003f __SREG__
  1433. /tmp/ccjWWE5a.s:5 *ABS*:000000000000003b __RAMPZ__
  1434. /tmp/ccjWWE5a.s:6 *ABS*:0000000000000000 __tmp_reg__
  1435. /tmp/ccjWWE5a.s:7 *ABS*:0000000000000001 __zero_reg__
  1436. /tmp/ccjWWE5a.s:10 .text.NutTraceTimer1IRQ:0000000000000000 NutTraceTimer1IRQ
  1437. /tmp/ccjWWE5a.s:1263 .bss:000000000000000b micros_high
  1438. /tmp/ccjWWE5a.s:25 .text.NutTraceClear:0000000000000000 NutTraceClear
  1439. /tmp/ccjWWE5a.s:1238 .bss:0000000000000002 trace_isfull
  1440. /tmp/ccjWWE5a.s:1248 .bss:0000000000000005 trace_head
  1441. /tmp/ccjWWE5a.s:1228 .bss:0000000000000000 trace_mode
  1442. /tmp/ccjWWE5a.s:1212 .data:0000000000000030 trace_mask
  1443. /tmp/ccjWWE5a.s:1258 .bss:0000000000000009 trace_items
  1444. /tmp/ccjWWE5a.s:1253 .bss:0000000000000007 trace_current
  1445. /tmp/ccjWWE5a.s:1243 .bss:0000000000000003 trace_size
  1446. /tmp/ccjWWE5a.s:93 .text.NutTraceInit:0000000000000000 NutTraceInit
  1447. /tmp/ccjWWE5a.s:1233 .bss:0000000000000001 trace_isinit
  1448. /tmp/ccjWWE5a.s:176 .text.NutTraceStop:0000000000000000 NutTraceStop
  1449. /tmp/ccjWWE5a.s:262 .text.NutTraceStatusPrint:0000000000000000 NutTraceStatusPrint
  1450. /tmp/ccjWWE5a.s:1130 .data:0000000000000000 mode_string
  1451. /tmp/ccjWWE5a.s:349 .text.NutTracePrint:0000000000000000 NutTracePrint
  1452. *COM*:0000000000000014 user_string
  1453. /tmp/ccjWWE5a.s:1197 .data:000000000000001a tag_string
  1454. /tmp/ccjWWE5a.s:1159 .data:0000000000000006 int_string
  1455. /tmp/ccjWWE5a.s:724 .text.NutTraceGetPC:0000000000000000 NutTraceGetPC
  1456. /tmp/ccjWWE5a.s:748 .text.NutTraceMaskSet:0000000000000000 NutTraceMaskSet
  1457. /tmp/ccjWWE5a.s:767 .text.NutTraceMaskClear:0000000000000000 NutTraceMaskClear
  1458. /tmp/ccjWWE5a.s:794 .text.NutTraceMaskPrint:0000000000000000 NutTraceMaskPrint
  1459. /tmp/ccjWWE5a.s:897 .text.NutTraceTerminal:0000000000000000 NutTraceTerminal
  1460. /tmp/ccjWWE5a.s:1099 .text.NutTraceRegisterUserTag:0000000000000000 NutTraceRegisterUserTag
  1461. UNDEFINED SYMBOLS
  1462. sig_OVERFLOW1
  1463. NutRegisterIrqHandler
  1464. heapFreeList
  1465. NutHeapRootFree
  1466. NutHeapRootAlloc
  1467. puts
  1468. printf
  1469. __udivmodsi4
  1470. sscanf
  1471. strncmp
  1472. __do_copy_data
  1473. __do_clear_bss