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