GAS LISTING /tmp/ccbe4QK8.s page 1 1 .file "msg.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.NutMsgQFreeTimer,"ax",@progbits 9 .type NutMsgQFreeTimer, @function 10 NutMsgQFreeTimer: 11 /* prologue: function */ 12 /* frame size = 0 */ 13 /* stack size = 0 */ 14 .L__stack_usage = 0 15 0000 DC01 movw r26,r24 16 0002 1296 adiw r26,2 17 0004 ED91 ld r30,X+ 18 0006 FC91 ld r31,X 19 0008 1397 sbiw r26,2+1 20 000a 1296 adiw r26,2 21 .L2: 22 000c 3097 sbiw r30,0 23 000e 01F0 breq .L7 24 0010 E617 cp r30,r22 25 0012 F707 cpc r31,r23 26 0014 01F4 brne .L3 27 0016 2085 ldd r18,Z+8 28 0018 3185 ldd r19,Z+9 29 001a 2D93 st X+,r18 30 001c 3C93 st X,r19 31 001e 8091 0000 lds r24,nutMsgFreeTimers 32 0022 9091 0000 lds r25,nutMsgFreeTimers+1 33 0026 9187 std Z+9,r25 34 0028 8087 std Z+8,r24 35 002a F093 0000 sts nutMsgFreeTimers+1,r31 36 002e E093 0000 sts nutMsgFreeTimers,r30 37 0032 0895 ret 38 .L3: 39 0034 DF01 movw r26,r30 40 0036 1896 adiw r26,8 41 0038 0084 ldd __tmp_reg__,Z+8 42 003a F185 ldd r31,Z+9 43 003c E02D mov r30,__tmp_reg__ 44 003e 00C0 rjmp .L2 45 .L7: 46 0040 0895 ret 47 .size NutMsgQFreeTimer, .-NutMsgQFreeTimer 48 .section .text.NutMsgQCreate,"ax",@progbits 49 .global NutMsgQCreate 50 .type NutMsgQCreate, @function 51 NutMsgQCreate: 52 0000 CF93 push r28 53 0002 DF93 push r29 54 /* prologue: function */ 55 /* frame size = 0 */ 56 /* stack size = 2 */ 57 .L__stack_usage = 2 GAS LISTING /tmp/ccbe4QK8.s page 2 58 0004 C1E0 ldi r28,lo8(1) 59 0006 D0E0 ldi r29,0 60 0008 00C0 rjmp 2f 61 1: 62 000a CC0F lsl r28 63 2: 64 000c 8A95 dec r24 65 000e 02F4 brpl 1b 66 0010 85E0 ldi r24,lo8(5) 67 0012 C89F mul r28,r24 68 0014 B001 movw r22,r0 69 0016 1124 clr __zero_reg__ 70 0018 625F subi r22,-14 71 001a 7F4F sbci r23,-1 72 001c 80E0 ldi r24,lo8(heapFreeList) 73 001e 90E0 ldi r25,hi8(heapFreeList) 74 0020 0E94 0000 call NutHeapRootAllocClear 75 0024 0097 sbiw r24,0 76 0026 01F0 breq .L9 77 0028 C150 subi r28,lo8(-(-1)) 78 002a FC01 movw r30,r24 79 002c C087 std Z+8,r28 80 002e 2091 0000 lds r18,nutMsgQue 81 0032 3091 0000 lds r19,nutMsgQue+1 82 0036 3583 std Z+5,r19 83 0038 2483 std Z+4,r18 84 003a 9093 0000 sts nutMsgQue+1,r25 85 003e 8093 0000 sts nutMsgQue,r24 86 .L9: 87 /* epilogue start */ 88 0042 DF91 pop r29 89 0044 CF91 pop r28 90 0046 0895 ret 91 .size NutMsgQCreate, .-NutMsgQCreate 92 .section .text.NutMsgQFull,"ax",@progbits 93 .global NutMsgQFull 94 .type NutMsgQFull, @function 95 NutMsgQFull: 96 /* prologue: function */ 97 /* frame size = 0 */ 98 /* stack size = 0 */ 99 .L__stack_usage = 0 100 0000 FC01 movw r30,r24 101 0002 2781 ldd r18,Z+7 102 0004 30E0 ldi r19,0 103 0006 2F5F subi r18,-1 104 0008 3F4F sbci r19,-1 105 000a 4085 ldd r20,Z+8 106 000c 50E0 ldi r21,0 107 000e 2423 and r18,r20 108 0010 3523 and r19,r21 109 0012 4681 ldd r20,Z+6 110 0014 50E0 ldi r21,0 111 0016 81E0 ldi r24,lo8(1) 112 0018 90E0 ldi r25,0 113 001a 2417 cp r18,r20 114 001c 3507 cpc r19,r21 GAS LISTING /tmp/ccbe4QK8.s page 3 115 001e 01F0 breq .L14 116 0020 80E0 ldi r24,0 117 0022 90E0 ldi r25,0 118 .L14: 119 0024 9195 neg r25 120 0026 8195 neg r24 121 0028 9109 sbc r25,__zero_reg__ 122 002a 0895 ret 123 .size NutMsgQFull, .-NutMsgQFull 124 .section .text.NutMsgQPost,"ax",@progbits 125 .global NutMsgQPost 126 .type NutMsgQPost, @function 127 NutMsgQPost: 128 0000 AF92 push r10 129 0002 BF92 push r11 130 0004 CF92 push r12 131 0006 DF92 push r13 132 0008 EF92 push r14 133 000a FF92 push r15 134 000c 0F93 push r16 135 000e 1F93 push r17 136 0010 CF93 push r28 137 0012 DF93 push r29 138 0014 1F92 push __zero_reg__ 139 0016 CDB7 in r28,__SP_L__ 140 0018 DEB7 in r29,__SP_H__ 141 /* prologue: function */ 142 /* frame size = 1 */ 143 /* stack size = 11 */ 144 .L__stack_usage = 11 145 001a 5C01 movw r10,r24 146 001c 6A01 movw r12,r20 147 001e 7901 movw r14,r18 148 /* #APP */ 149 ; 160 "../../nut/os/msg.c" 1 150 0020 0FB6 in __tmp_reg__, __SREG__ 151 0022 F894 cli 152 0024 0F92 push __tmp_reg__ 153 154 ; 0 "" 2 155 /* #NOAPP */ 156 0026 6983 std Y+1,r22 157 0028 0E94 0000 call NutMsgQFull 158 002c 8C01 movw r16,r24 159 002e 6981 ldd r22,Y+1 160 0030 892B or r24,r25 161 0032 01F0 breq .L16 162 /* #APP */ 163 ; 163 "../../nut/os/msg.c" 1 164 0034 0F90 pop __tmp_reg__ 165 0036 0FBE out __SREG__, __tmp_reg__ 166 167 ; 0 "" 2 168 /* #NOAPP */ 169 0038 0FEF ldi r16,lo8(-1) 170 003a 1FEF ldi r17,lo8(-1) 171 003c 00C0 rjmp .L17 GAS LISTING /tmp/ccbe4QK8.s page 4 172 .L16: 173 003e F501 movw r30,r10 174 0040 8781 ldd r24,Z+7 175 0042 3996 adiw r30,9 176 0044 95E0 ldi r25,lo8(5) 177 0046 899F mul r24,r25 178 0048 E00D add r30,r0 179 004a F11D adc r31,r1 180 004c 1124 clr __zero_reg__ 181 004e 6083 st Z,r22 182 0050 D282 std Z+2,r13 183 0052 C182 std Z+1,r12 184 0054 F482 std Z+4,r15 185 0056 E382 std Z+3,r14 186 0058 F501 movw r30,r10 187 005a 8781 ldd r24,Z+7 188 005c 8F5F subi r24,lo8(-(1)) 189 005e 9085 ldd r25,Z+8 190 0060 8923 and r24,r25 191 0062 8783 std Z+7,r24 192 /* #APP */ 193 ; 176 "../../nut/os/msg.c" 1 194 0064 0F90 pop __tmp_reg__ 195 0066 0FBE out __SREG__, __tmp_reg__ 196 197 ; 0 "" 2 198 /* #NOAPP */ 199 0068 C501 movw r24,r10 200 006a 0E94 0000 call NutEventPostAsync 201 .L17: 202 006e C801 movw r24,r16 203 /* epilogue start */ 204 0070 0F90 pop __tmp_reg__ 205 0072 DF91 pop r29 206 0074 CF91 pop r28 207 0076 1F91 pop r17 208 0078 0F91 pop r16 209 007a FF90 pop r15 210 007c EF90 pop r14 211 007e DF90 pop r13 212 0080 CF90 pop r12 213 0082 BF90 pop r11 214 0084 AF90 pop r10 215 0086 0895 ret 216 .size NutMsgQPost, .-NutMsgQPost 217 .section .text.NutMsgQBroadcast,"ax",@progbits 218 .global NutMsgQBroadcast 219 .type NutMsgQBroadcast, @function 220 NutMsgQBroadcast: 221 0000 AF92 push r10 222 0002 BF92 push r11 223 0004 CF92 push r12 224 0006 DF92 push r13 225 0008 FF92 push r15 226 000a 0F93 push r16 227 000c 1F93 push r17 228 000e CF93 push r28 GAS LISTING /tmp/ccbe4QK8.s page 5 229 0010 DF93 push r29 230 /* prologue: function */ 231 /* frame size = 0 */ 232 /* stack size = 9 */ 233 .L__stack_usage = 9 234 0012 F82E mov r15,r24 235 0014 6B01 movw r12,r22 236 0016 5A01 movw r10,r20 237 0018 C091 0000 lds r28,nutMsgQue 238 001c D091 0000 lds r29,nutMsgQue+1 239 0020 00E0 ldi r16,0 240 0022 10E0 ldi r17,0 241 .L19: 242 0024 2097 sbiw r28,0 243 0026 01F0 breq .L21 244 0028 9501 movw r18,r10 245 002a A601 movw r20,r12 246 002c 6F2D mov r22,r15 247 002e CE01 movw r24,r28 248 0030 0E94 0000 call NutMsgQPost 249 0034 081B sub r16,r24 250 0036 190B sbc r17,r25 251 0038 0C80 ldd __tmp_reg__,Y+4 252 003a DD81 ldd r29,Y+5 253 003c C02D mov r28,__tmp_reg__ 254 003e 00C0 rjmp .L19 255 .L21: 256 0040 C801 movw r24,r16 257 /* epilogue start */ 258 0042 DF91 pop r29 259 0044 CF91 pop r28 260 0046 1F91 pop r17 261 0048 0F91 pop r16 262 004a FF90 pop r15 263 004c DF90 pop r13 264 004e CF90 pop r12 265 0050 BF90 pop r11 266 0052 AF90 pop r10 267 0054 0895 ret 268 .size NutMsgQBroadcast, .-NutMsgQBroadcast 269 .section .text.NutMsgQSend,"ax",@progbits 270 .global NutMsgQSend 271 .type NutMsgQSend, @function 272 NutMsgQSend: 273 0000 CF93 push r28 274 0002 DF93 push r29 275 0004 1F92 push __zero_reg__ 276 0006 1F92 push __zero_reg__ 277 0008 CDB7 in r28,__SP_L__ 278 000a DEB7 in r29,__SP_H__ 279 /* prologue: function */ 280 /* frame size = 2 */ 281 /* stack size = 4 */ 282 .L__stack_usage = 4 283 000c 0E94 0000 call NutMsgQPost 284 0010 0097 sbiw r24,0 285 0012 01F4 brne .L24 GAS LISTING /tmp/ccbe4QK8.s page 6 286 0014 8983 std Y+1,r24 287 0016 9A83 std Y+2,r25 288 0018 0E94 0000 call NutThreadYield 289 001c 8981 ldd r24,Y+1 290 001e 9A81 ldd r25,Y+2 291 0020 00C0 rjmp .L23 292 .L24: 293 0022 8FEF ldi r24,lo8(-1) 294 0024 9FEF ldi r25,lo8(-1) 295 .L23: 296 /* epilogue start */ 297 0026 0F90 pop __tmp_reg__ 298 0028 0F90 pop __tmp_reg__ 299 002a DF91 pop r29 300 002c CF91 pop r28 301 002e 0895 ret 302 .size NutMsgQSend, .-NutMsgQSend 303 .section .text.NutMsgQTimerCb,"ax",@progbits 304 .type NutMsgQTimerCb, @function 305 NutMsgQTimerCb: 306 0000 0F93 push r16 307 0002 CF93 push r28 308 0004 DF93 push r29 309 /* prologue: function */ 310 /* frame size = 0 */ 311 /* stack size = 3 */ 312 .L__stack_usage = 3 313 0006 EB01 movw r28,r22 314 0008 9B01 movw r18,r22 315 000a 40E0 ldi r20,0 316 000c 50E0 ldi r21,0 317 000e 6EEF ldi r22,lo8(-2) 318 0010 8881 ld r24,Y 319 0012 9981 ldd r25,Y+1 320 0014 0E94 0000 call NutMsgQPost 321 0018 2A85 ldd r18,Y+10 322 001a 892B or r24,r25 323 001c 01F0 breq .L26 324 001e 2223 tst r18 325 0020 01F0 breq .L25 326 0022 01E0 ldi r16,lo8(1) 327 0024 9E01 movw r18,r28 328 0026 40E0 ldi r20,lo8(gs(NutMsgQTimerCb)) 329 0028 50E0 ldi r21,hi8(gs(NutMsgQTimerCb)) 330 002a 61E0 ldi r22,lo8(1) 331 002c 70E0 ldi r23,0 332 002e 80E0 ldi r24,0 333 0030 90E0 ldi r25,0 334 0032 0E94 0000 call NutTimerStartTicks 335 0036 9F83 std Y+7,r25 336 0038 8E83 std Y+6,r24 337 003a 00C0 rjmp .L25 338 .L26: 339 003c 2223 tst r18 340 003e 01F0 breq .L25 341 0040 1F82 std Y+7,__zero_reg__ 342 0042 1E82 std Y+6,__zero_reg__ GAS LISTING /tmp/ccbe4QK8.s page 7 343 .L25: 344 /* epilogue start */ 345 0044 DF91 pop r29 346 0046 CF91 pop r28 347 0048 0F91 pop r16 348 004a 0895 ret 349 .size NutMsgQTimerCb, .-NutMsgQTimerCb 350 .section .text.NutMsgQStartTimer,"ax",@progbits 351 .global NutMsgQStartTimer 352 .type NutMsgQStartTimer, @function 353 NutMsgQStartTimer: 354 0000 4F92 push r4 355 0002 5F92 push r5 356 0004 6F92 push r6 357 0006 7F92 push r7 358 0008 AF92 push r10 359 000a BF92 push r11 360 000c CF92 push r12 361 000e DF92 push r13 362 0010 EF92 push r14 363 0012 0F93 push r16 364 0014 1F93 push r17 365 0016 CF93 push r28 366 0018 DF93 push r29 367 /* prologue: function */ 368 /* frame size = 0 */ 369 /* stack size = 13 */ 370 .L__stack_usage = 13 371 001a 6C01 movw r12,r24 372 001c 2A01 movw r4,r20 373 001e 3B01 movw r6,r22 374 0020 5901 movw r10,r18 375 0022 C091 0000 lds r28,nutMsgFreeTimers 376 0026 D091 0000 lds r29,nutMsgFreeTimers+1 377 002a 2097 sbiw r28,0 378 002c 01F0 breq .L35 379 002e 8885 ldd r24,Y+8 380 0030 9985 ldd r25,Y+9 381 0032 9093 0000 sts nutMsgFreeTimers+1,r25 382 0036 8093 0000 sts nutMsgFreeTimers,r24 383 003a 00C0 rjmp .L36 384 .L35: 385 003c 6BE0 ldi r22,lo8(11) 386 003e 70E0 ldi r23,0 387 0040 80E0 ldi r24,lo8(heapFreeList) 388 0042 90E0 ldi r25,hi8(heapFreeList) 389 0044 0E94 0000 call NutHeapRootAlloc 390 0048 EC01 movw r28,r24 391 .L36: 392 004a D982 std Y+1,r13 393 004c C882 st Y,r12 394 004e 1D83 std Y+5,r17 395 0050 0C83 std Y+4,r16 396 0052 BB82 std Y+3,r11 397 0054 AA82 std Y+2,r10 398 0056 EA86 std Y+10,r14 399 0058 0E2D mov r16,r14 GAS LISTING /tmp/ccbe4QK8.s page 8 400 005a 9E01 movw r18,r28 401 005c 40E0 ldi r20,lo8(gs(NutMsgQTimerCb)) 402 005e 50E0 ldi r21,hi8(gs(NutMsgQTimerCb)) 403 0060 C301 movw r24,r6 404 0062 B201 movw r22,r4 405 0064 0E94 0000 call NutTimerStart 406 0068 9F83 std Y+7,r25 407 006a 8E83 std Y+6,r24 408 006c F601 movw r30,r12 409 006e 8281 ldd r24,Z+2 410 0070 9381 ldd r25,Z+3 411 0072 9987 std Y+9,r25 412 0074 8887 std Y+8,r24 413 0076 D383 std Z+3,r29 414 0078 C283 std Z+2,r28 415 007a CE01 movw r24,r28 416 /* epilogue start */ 417 007c DF91 pop r29 418 007e CF91 pop r28 419 0080 1F91 pop r17 420 0082 0F91 pop r16 421 0084 EF90 pop r14 422 0086 DF90 pop r13 423 0088 CF90 pop r12 424 008a BF90 pop r11 425 008c AF90 pop r10 426 008e 7F90 pop r7 427 0090 6F90 pop r6 428 0092 5F90 pop r5 429 0094 4F90 pop r4 430 0096 0895 ret 431 .size NutMsgQStartTimer, .-NutMsgQStartTimer 432 .section .text.NutMsgQStopTimer,"ax",@progbits 433 .global NutMsgQStopTimer 434 .type NutMsgQStopTimer, @function 435 NutMsgQStopTimer: 436 0000 0F93 push r16 437 0002 1F93 push r17 438 0004 CF93 push r28 439 0006 DF93 push r29 440 /* prologue: function */ 441 /* frame size = 0 */ 442 /* stack size = 4 */ 443 .L__stack_usage = 4 444 0008 8C01 movw r16,r24 445 000a FC01 movw r30,r24 446 000c C081 ld r28,Z 447 000e D181 ldd r29,Z+1 448 /* #APP */ 449 ; 314 "../../nut/os/msg.c" 1 450 0010 0FB6 in __tmp_reg__, __SREG__ 451 0012 F894 cli 452 0014 0F92 push __tmp_reg__ 453 454 ; 0 "" 2 455 /* #NOAPP */ 456 0016 8E81 ldd r24,Y+6 GAS LISTING /tmp/ccbe4QK8.s page 9 457 0018 9F81 ldd r25,Y+7 458 001a 25E0 ldi r18,lo8(5) 459 001c 3FEF ldi r19,lo8(-1) 460 .L38: 461 001e 8917 cp r24,r25 462 0020 01F0 breq .L45 463 0022 FE01 movw r30,r28 464 0024 289F mul r18,r24 465 0026 E00D add r30,r0 466 0028 F11D adc r31,r1 467 002a 1124 clr __zero_reg__ 468 002c 4185 ldd r20,Z+9 469 002e 4E3F cpi r20,lo8(-2) 470 0030 01F4 brne .L39 471 0032 4485 ldd r20,Z+12 472 0034 5585 ldd r21,Z+13 473 0036 0417 cp r16,r20 474 0038 1507 cpc r17,r21 475 003a 01F4 brne .L39 476 003c 3187 std Z+9,r19 477 .L39: 478 003e 8F5F subi r24,lo8(-(1)) 479 0040 4885 ldd r20,Y+8 480 0042 8423 and r24,r20 481 0044 00C0 rjmp .L38 482 .L45: 483 0046 F801 movw r30,r16 484 0048 8681 ldd r24,Z+6 485 004a 9781 ldd r25,Z+7 486 004c 0097 sbiw r24,0 487 004e 01F0 breq .L41 488 0050 0E94 0000 call NutTimerStop 489 .L41: 490 /* #APP */ 491 ; 330 "../../nut/os/msg.c" 1 492 0054 0F90 pop __tmp_reg__ 493 0056 0FBE out __SREG__, __tmp_reg__ 494 495 ; 0 "" 2 496 /* #NOAPP */ 497 0058 B801 movw r22,r16 498 005a CE01 movw r24,r28 499 /* epilogue start */ 500 005c DF91 pop r29 501 005e CF91 pop r28 502 0060 1F91 pop r17 503 0062 0F91 pop r16 504 0064 0C94 0000 jmp NutMsgQFreeTimer 505 .size NutMsgQStopTimer, .-NutMsgQStopTimer 506 .section .text.NutMsgQGetMessage,"ax",@progbits 507 .global NutMsgQGetMessage 508 .type NutMsgQGetMessage, @function 509 NutMsgQGetMessage: 510 0000 EF92 push r14 511 0002 FF92 push r15 512 0004 0F93 push r16 513 0006 1F93 push r17 GAS LISTING /tmp/ccbe4QK8.s page 10 514 0008 CF93 push r28 515 000a DF93 push r29 516 /* prologue: function */ 517 /* frame size = 0 */ 518 /* stack size = 6 */ 519 .L__stack_usage = 6 520 000c EC01 movw r28,r24 521 000e 8B01 movw r16,r22 522 0010 BA01 movw r22,r20 523 0012 A901 movw r20,r18 524 /* #APP */ 525 ; 347 "../../nut/os/msg.c" 1 526 0014 0FB6 in __tmp_reg__, __SREG__ 527 0016 F894 cli 528 0018 0F92 push __tmp_reg__ 529 530 ; 0 "" 2 531 /* #NOAPP */ 532 001a 0E94 0000 call NutEventWait 533 001e 7C01 movw r14,r24 534 0020 892B or r24,r25 535 0022 01F0 breq .L47 536 /* #APP */ 537 ; 350 "../../nut/os/msg.c" 1 538 0024 0F90 pop __tmp_reg__ 539 0026 0FBE out __SREG__, __tmp_reg__ 540 541 ; 0 "" 2 542 /* #NOAPP */ 543 0028 EE24 clr r14 544 002a EA94 dec r14 545 002c FE2C mov r15,r14 546 002e 00C0 rjmp .L48 547 .L47: 548 0030 8E81 ldd r24,Y+6 549 0032 FE01 movw r30,r28 550 0034 95E0 ldi r25,lo8(5) 551 0036 899F mul r24,r25 552 0038 E00D add r30,r0 553 003a F11D adc r31,r1 554 003c 1124 clr __zero_reg__ 555 003e 3996 adiw r30,9 556 0040 85E0 ldi r24,lo8(5) 557 0042 D801 movw r26,r16 558 0: 559 0044 0190 ld r0,Z+ 560 0046 0D92 st X+,r0 561 0048 8A95 dec r24 562 004a 01F4 brne 0b 563 004c 8E81 ldd r24,Y+6 564 004e 8F5F subi r24,lo8(-(1)) 565 0050 9885 ldd r25,Y+8 566 0052 8923 and r24,r25 567 0054 8E83 std Y+6,r24 568 0056 9F81 ldd r25,Y+7 569 0058 8917 cp r24,r25 570 005a 01F0 breq .L49 GAS LISTING /tmp/ccbe4QK8.s page 11 571 005c CE01 movw r24,r28 572 005e 0E94 0000 call NutEventPostAsync 573 .L49: 574 /* #APP */ 575 ; 365 "../../nut/os/msg.c" 1 576 0062 0F90 pop __tmp_reg__ 577 0064 0FBE out __SREG__, __tmp_reg__ 578 579 ; 0 "" 2 580 /* #NOAPP */ 581 0066 D801 movw r26,r16 582 0068 8C91 ld r24,X 583 006a 8E3F cpi r24,lo8(-2) 584 006c 01F4 brne .L48 585 006e 1396 adiw r26,3 586 0070 ED91 ld r30,X+ 587 0072 FC91 ld r31,X 588 0074 1497 sbiw r26,3+1 589 0076 8481 ldd r24,Z+4 590 0078 9581 ldd r25,Z+5 591 007a 1496 adiw r26,3+1 592 007c 9C93 st X,r25 593 007e 8E93 st -X,r24 594 0080 1397 sbiw r26,3 595 0082 8281 ldd r24,Z+2 596 0084 9381 ldd r25,Z+3 597 0086 1296 adiw r26,1+1 598 0088 9C93 st X,r25 599 008a 8E93 st -X,r24 600 008c 1197 sbiw r26,1 601 008e 8285 ldd r24,Z+10 602 0090 80FF sbrs r24,0 603 0092 00C0 rjmp .L48 604 0094 BF01 movw r22,r30 605 0096 CE01 movw r24,r28 606 0098 0E94 0000 call NutMsgQFreeTimer 607 .L48: 608 009c C701 movw r24,r14 609 /* epilogue start */ 610 009e DF91 pop r29 611 00a0 CF91 pop r28 612 00a2 1F91 pop r17 613 00a4 0F91 pop r16 614 00a6 FF90 pop r15 615 00a8 EF90 pop r14 616 00aa 0895 ret 617 .size NutMsgQGetMessage, .-NutMsgQGetMessage 618 .section .text.NutMsgQFlush,"ax",@progbits 619 .global NutMsgQFlush 620 .type NutMsgQFlush, @function 621 NutMsgQFlush: 622 /* prologue: function */ 623 /* frame size = 0 */ 624 /* stack size = 0 */ 625 .L__stack_usage = 0 626 0000 FC01 movw r30,r24 627 /* #APP */ GAS LISTING /tmp/ccbe4QK8.s page 12 628 ; 385 "../../nut/os/msg.c" 1 629 0002 0FB6 in __tmp_reg__, __SREG__ 630 0004 F894 cli 631 0006 0F92 push __tmp_reg__ 632 633 ; 0 "" 2 634 /* #NOAPP */ 635 0008 8781 ldd r24,Z+7 636 000a 8683 std Z+6,r24 637 000c 1182 std Z+1,__zero_reg__ 638 000e 1082 st Z,__zero_reg__ 639 /* #APP */ 640 ; 395 "../../nut/os/msg.c" 1 641 0010 0F90 pop __tmp_reg__ 642 0012 0FBE out __SREG__, __tmp_reg__ 643 644 ; 0 "" 2 645 /* #NOAPP */ 646 0014 0895 ret 647 .size NutMsgQFlush, .-NutMsgQFlush 648 .comm nutMsgFreeTimers,2,1 649 .comm nutMsgQue,2,1 650 .ident "GCC: (GNU) 5.3.0" 651 .global __do_clear_bss GAS LISTING /tmp/ccbe4QK8.s page 13 DEFINED SYMBOLS *ABS*:0000000000000000 msg.c /tmp/ccbe4QK8.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccbe4QK8.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccbe4QK8.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccbe4QK8.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccbe4QK8.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccbe4QK8.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccbe4QK8.s:10 .text.NutMsgQFreeTimer:0000000000000000 NutMsgQFreeTimer *COM*:0000000000000002 nutMsgFreeTimers /tmp/ccbe4QK8.s:51 .text.NutMsgQCreate:0000000000000000 NutMsgQCreate *COM*:0000000000000002 nutMsgQue /tmp/ccbe4QK8.s:95 .text.NutMsgQFull:0000000000000000 NutMsgQFull /tmp/ccbe4QK8.s:127 .text.NutMsgQPost:0000000000000000 NutMsgQPost /tmp/ccbe4QK8.s:220 .text.NutMsgQBroadcast:0000000000000000 NutMsgQBroadcast /tmp/ccbe4QK8.s:272 .text.NutMsgQSend:0000000000000000 NutMsgQSend /tmp/ccbe4QK8.s:305 .text.NutMsgQTimerCb:0000000000000000 NutMsgQTimerCb /tmp/ccbe4QK8.s:353 .text.NutMsgQStartTimer:0000000000000000 NutMsgQStartTimer /tmp/ccbe4QK8.s:435 .text.NutMsgQStopTimer:0000000000000000 NutMsgQStopTimer /tmp/ccbe4QK8.s:509 .text.NutMsgQGetMessage:0000000000000000 NutMsgQGetMessage /tmp/ccbe4QK8.s:621 .text.NutMsgQFlush:0000000000000000 NutMsgQFlush UNDEFINED SYMBOLS heapFreeList NutHeapRootAllocClear NutEventPostAsync NutThreadYield NutTimerStartTicks NutHeapRootAlloc NutTimerStart NutTimerStop NutEventWait __do_clear_bss