GAS LISTING /tmp/ccQLIKGP.s page 1 1 .file "event.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.NutEventTimeout,"ax",@progbits 9 .global NutEventTimeout 10 .type NutEventTimeout, @function 11 NutEventTimeout: 12 0000 CF93 push r28 13 0002 DF93 push r29 14 /* prologue: function */ 15 /* frame size = 0 */ 16 /* stack size = 2 */ 17 .L__stack_usage = 2 18 0004 FB01 movw r30,r22 19 /* #APP */ 20 ; 204 "../../nut/os/event.c" 1 21 0006 0FB6 in __tmp_reg__, __SREG__ 22 0008 F894 cli 23 000a 0F92 push __tmp_reg__ 24 25 ; 0 "" 2 26 /* #NOAPP */ 27 000c C081 ld r28,Z 28 000e D181 ldd r29,Z+1 29 /* #APP */ 30 ; 206 "../../nut/os/event.c" 1 31 0010 0F90 pop __tmp_reg__ 32 0012 0FBE out __SREG__, __tmp_reg__ 33 34 ; 0 "" 2 35 /* #NOAPP */ 36 0014 CF3F cpi r28,-1 37 0016 2FEF ldi r18,-1 38 0018 D207 cpc r29,r18 39 001a 01F0 breq .L1 40 .L3: 41 001c 2097 sbiw r28,0 42 001e 01F0 breq .L1 43 0020 4D89 ldd r20,Y+21 44 0022 5E89 ldd r21,Y+22 45 0024 2A81 ldd r18,Y+2 46 0026 3B81 ldd r19,Y+3 47 0028 4817 cp r20,r24 48 002a 5907 cpc r21,r25 49 002c 01F4 brne .L4 50 /* #APP */ 51 ; 223 "../../nut/os/event.c" 1 52 002e 0FB6 in __tmp_reg__, __SREG__ 53 0030 F894 cli 54 0032 0F92 push __tmp_reg__ 55 56 ; 0 "" 2 57 /* #NOAPP */ GAS LISTING /tmp/ccQLIKGP.s page 2 58 0034 3183 std Z+1,r19 59 0036 2083 st Z,r18 60 0038 8C81 ldd r24,Y+4 61 003a 9D81 ldd r25,Y+5 62 003c 892B or r24,r25 63 003e 01F0 breq .L5 64 0040 AA81 ldd r26,Y+2 65 0042 BB81 ldd r27,Y+3 66 0044 1097 sbiw r26,0 67 0046 01F0 breq .L6 68 0048 8C81 ldd r24,Y+4 69 004a 9D81 ldd r25,Y+5 70 004c 1596 adiw r26,4+1 71 004e 9C93 st X,r25 72 0050 8E93 st -X,r24 73 0052 1497 sbiw r26,4 74 0054 00C0 rjmp .L7 75 .L6: 76 0056 8FEF ldi r24,lo8(-1) 77 0058 9FEF ldi r25,lo8(-1) 78 005a 9183 std Z+1,r25 79 005c 8083 st Z,r24 80 .L7: 81 005e 1D82 std Y+5,__zero_reg__ 82 0060 1C82 std Y+4,__zero_reg__ 83 .L5: 84 /* #APP */ 85 ; 234 "../../nut/os/event.c" 1 86 0062 0F90 pop __tmp_reg__ 87 0064 0FBE out __SREG__, __tmp_reg__ 88 89 ; 0 "" 2 90 /* #NOAPP */ 91 0066 82E0 ldi r24,lo8(2) 92 0068 8F87 std Y+15,r24 93 006a 60E0 ldi r22,lo8(runQueue) 94 006c 70E0 ldi r23,hi8(runQueue) 95 006e CE01 movw r24,r28 96 0070 0E94 0000 call NutThreadAddPriQueue 97 0074 8FEF ldi r24,lo8(-1) 98 0076 9FEF ldi r25,lo8(-1) 99 0078 9E8B std Y+22,r25 100 007a 8D8B std Y+21,r24 101 007c 00C0 rjmp .L1 102 .L4: 103 007e FE01 movw r30,r28 104 0080 3296 adiw r30,2 105 0082 E901 movw r28,r18 106 0084 00C0 rjmp .L3 107 .L1: 108 /* epilogue start */ 109 0086 DF91 pop r29 110 0088 CF91 pop r28 111 008a 0895 ret 112 .size NutEventTimeout, .-NutEventTimeout 113 .section .text.NutEventWait,"ax",@progbits 114 .global NutEventWait GAS LISTING /tmp/ccQLIKGP.s page 3 115 .type NutEventWait, @function 116 NutEventWait: 117 0000 8F92 push r8 118 0002 9F92 push r9 119 0004 AF92 push r10 120 0006 BF92 push r11 121 0008 EF92 push r14 122 000a FF92 push r15 123 000c 0F93 push r16 124 000e CF93 push r28 125 0010 DF93 push r29 126 /* prologue: function */ 127 /* frame size = 0 */ 128 /* stack size = 9 */ 129 .L__stack_usage = 9 130 0012 EC01 movw r28,r24 131 0014 4A01 movw r8,r20 132 0016 5B01 movw r10,r22 133 /* #APP */ 134 ; 278 "../../nut/os/event.c" 1 135 0018 0FB6 in __tmp_reg__, __SREG__ 136 001a F894 cli 137 001c 0F92 push __tmp_reg__ 138 139 ; 0 "" 2 140 /* #NOAPP */ 141 001e 8881 ld r24,Y 142 0020 9981 ldd r25,Y+1 143 /* #APP */ 144 ; 280 "../../nut/os/event.c" 1 145 0022 0F90 pop __tmp_reg__ 146 0024 0FBE out __SREG__, __tmp_reg__ 147 148 ; 0 "" 2 149 /* #NOAPP */ 150 0026 0196 adiw r24,1 151 0028 01F4 brne .L17 152 /* #APP */ 153 ; 287 "../../nut/os/event.c" 1 154 002a 0FB6 in __tmp_reg__, __SREG__ 155 002c F894 cli 156 002e 0F92 push __tmp_reg__ 157 158 ; 0 "" 2 159 /* #NOAPP */ 160 0030 1982 std Y+1,__zero_reg__ 161 0032 1882 st Y,__zero_reg__ 162 /* #APP */ 163 ; 289 "../../nut/os/event.c" 1 164 0034 0F90 pop __tmp_reg__ 165 0036 0FBE out __SREG__, __tmp_reg__ 166 167 ; 0 "" 2 168 /* #NOAPP */ 169 0038 0E94 0000 call NutThreadYield 170 003c 00C0 rjmp .L21 171 .L17: GAS LISTING /tmp/ccQLIKGP.s page 4 172 003e 60E0 ldi r22,lo8(runQueue) 173 0040 70E0 ldi r23,hi8(runQueue) 174 0042 8091 0000 lds r24,runningThread 175 0046 9091 0000 lds r25,runningThread+1 176 004a 0E94 0000 call NutThreadRemoveQueue 177 004e BE01 movw r22,r28 178 0050 8091 0000 lds r24,runningThread 179 0054 9091 0000 lds r25,runningThread+1 180 0058 0E94 0000 call NutThreadAddPriQueue 181 005c E090 0000 lds r14,runningThread 182 0060 F090 0000 lds r15,runningThread+1 183 0064 83E0 ldi r24,lo8(3) 184 0066 F701 movw r30,r14 185 0068 8787 std Z+15,r24 186 006a 8114 cp r8,__zero_reg__ 187 006c 9104 cpc r9,__zero_reg__ 188 006e A104 cpc r10,__zero_reg__ 189 0070 B104 cpc r11,__zero_reg__ 190 0072 01F0 breq .L19 191 0074 01E0 ldi r16,lo8(1) 192 0076 9E01 movw r18,r28 193 0078 40E0 ldi r20,lo8(gs(NutEventTimeout)) 194 007a 50E0 ldi r21,hi8(gs(NutEventTimeout)) 195 007c C501 movw r24,r10 196 007e B401 movw r22,r8 197 0080 0E94 0000 call NutTimerStart 198 0084 F701 movw r30,r14 199 0086 968B std Z+22,r25 200 0088 858B std Z+21,r24 201 008a 00C0 rjmp .L20 202 .L19: 203 008c F701 movw r30,r14 204 008e 168A std Z+22,__zero_reg__ 205 0090 158A std Z+21,__zero_reg__ 206 .L20: 207 0092 0E94 0000 call NutThreadResume 208 0096 E091 0000 lds r30,runningThread 209 009a F091 0000 lds r31,runningThread+1 210 009e 8589 ldd r24,Z+21 211 00a0 9689 ldd r25,Z+22 212 00a2 0196 adiw r24,1 213 00a4 01F4 brne .L21 214 00a6 168A std Z+22,__zero_reg__ 215 00a8 158A std Z+21,__zero_reg__ 216 00aa 8FEF ldi r24,lo8(-1) 217 00ac 9FEF ldi r25,lo8(-1) 218 00ae 00C0 rjmp .L18 219 .L21: 220 00b0 80E0 ldi r24,0 221 00b2 90E0 ldi r25,0 222 .L18: 223 /* epilogue start */ 224 00b4 DF91 pop r29 225 00b6 CF91 pop r28 226 00b8 0F91 pop r16 227 00ba FF90 pop r15 228 00bc EF90 pop r14 GAS LISTING /tmp/ccQLIKGP.s page 5 229 00be BF90 pop r11 230 00c0 AF90 pop r10 231 00c2 9F90 pop r9 232 00c4 8F90 pop r8 233 00c6 0895 ret 234 .size NutEventWait, .-NutEventWait 235 .section .text.NutEventWaitNext,"ax",@progbits 236 .global NutEventWaitNext 237 .type NutEventWaitNext, @function 238 NutEventWaitNext: 239 /* prologue: function */ 240 /* frame size = 0 */ 241 /* stack size = 0 */ 242 .L__stack_usage = 0 243 /* #APP */ 244 ; 357 "../../nut/os/event.c" 1 245 0000 0FB6 in __tmp_reg__, __SREG__ 246 0002 F894 cli 247 0004 0F92 push __tmp_reg__ 248 249 ; 0 "" 2 250 /* #NOAPP */ 251 0006 FC01 movw r30,r24 252 0008 2081 ld r18,Z 253 000a 3181 ldd r19,Z+1 254 000c 2F3F cpi r18,-1 255 000e 3F4F sbci r19,-1 256 0010 01F4 brne .L23 257 0012 FC01 movw r30,r24 258 0014 1182 std Z+1,__zero_reg__ 259 0016 1082 st Z,__zero_reg__ 260 .L23: 261 /* #APP */ 262 ; 360 "../../nut/os/event.c" 1 263 0018 0F90 pop __tmp_reg__ 264 001a 0FBE out __SREG__, __tmp_reg__ 265 266 ; 0 "" 2 267 /* #NOAPP */ 268 001c 0C94 0000 jmp NutEventWait 269 .size NutEventWaitNext, .-NutEventWaitNext 270 .section .text.NutEventPostAsync,"ax",@progbits 271 .global NutEventPostAsync 272 .type NutEventPostAsync, @function 273 NutEventPostAsync: 274 0000 CF93 push r28 275 0002 DF93 push r29 276 /* prologue: function */ 277 /* frame size = 0 */ 278 /* stack size = 2 */ 279 .L__stack_usage = 2 280 0004 FC01 movw r30,r24 281 /* #APP */ 282 ; 390 "../../nut/os/event.c" 1 283 0006 0FB6 in __tmp_reg__, __SREG__ 284 0008 F894 cli 285 000a 0F92 push __tmp_reg__ GAS LISTING /tmp/ccQLIKGP.s page 6 286 287 ; 0 "" 2 288 /* #NOAPP */ 289 000c C081 ld r28,Z 290 000e D181 ldd r29,Z+1 291 /* #APP */ 292 ; 392 "../../nut/os/event.c" 1 293 0010 0F90 pop __tmp_reg__ 294 0012 0FBE out __SREG__, __tmp_reg__ 295 296 ; 0 "" 2 297 /* #NOAPP */ 298 0014 CF3F cpi r28,-1 299 0016 8FEF ldi r24,-1 300 0018 D807 cpc r29,r24 301 001a 01F4 brne .+2 302 001c 00C0 rjmp .L31 303 001e 2097 sbiw r28,0 304 0020 01F0 breq .L26 305 /* #APP */ 306 ; 400 "../../nut/os/event.c" 1 307 0022 0FB6 in __tmp_reg__, __SREG__ 308 0024 F894 cli 309 0026 0F92 push __tmp_reg__ 310 311 ; 0 "" 2 312 /* #NOAPP */ 313 0028 8A81 ldd r24,Y+2 314 002a 9B81 ldd r25,Y+3 315 002c 9183 std Z+1,r25 316 002e 8083 st Z,r24 317 0030 8C81 ldd r24,Y+4 318 0032 9D81 ldd r25,Y+5 319 0034 892B or r24,r25 320 0036 01F0 breq .L27 321 0038 AA81 ldd r26,Y+2 322 003a BB81 ldd r27,Y+3 323 003c 1097 sbiw r26,0 324 003e 01F0 breq .L28 325 0040 8C81 ldd r24,Y+4 326 0042 9D81 ldd r25,Y+5 327 0044 1596 adiw r26,4+1 328 0046 9C93 st X,r25 329 0048 8E93 st -X,r24 330 004a 1497 sbiw r26,4 331 004c 00C0 rjmp .L29 332 .L28: 333 004e 8FEF ldi r24,lo8(-1) 334 0050 9FEF ldi r25,lo8(-1) 335 0052 9183 std Z+1,r25 336 0054 8083 st Z,r24 337 .L29: 338 0056 1D82 std Y+5,__zero_reg__ 339 0058 1C82 std Y+4,__zero_reg__ 340 .L27: 341 /* #APP */ 342 ; 411 "../../nut/os/event.c" 1 GAS LISTING /tmp/ccQLIKGP.s page 7 343 005a 0F90 pop __tmp_reg__ 344 005c 0FBE out __SREG__, __tmp_reg__ 345 346 ; 0 "" 2 347 /* #NOAPP */ 348 005e 8D89 ldd r24,Y+21 349 0060 9E89 ldd r25,Y+22 350 0062 0097 sbiw r24,0 351 0064 01F0 breq .L30 352 0066 0E94 0000 call NutTimerStop 353 006a 1E8A std Y+22,__zero_reg__ 354 006c 1D8A std Y+21,__zero_reg__ 355 .L30: 356 006e 82E0 ldi r24,lo8(2) 357 0070 8F87 std Y+15,r24 358 0072 60E0 ldi r22,lo8(runQueue) 359 0074 70E0 ldi r23,hi8(runQueue) 360 0076 CE01 movw r24,r28 361 0078 0E94 0000 call NutThreadAddPriQueue 362 007c 81E0 ldi r24,lo8(1) 363 007e 90E0 ldi r25,0 364 0080 00C0 rjmp .L25 365 .L26: 366 /* #APP */ 367 ; 427 "../../nut/os/event.c" 1 368 0082 0FB6 in __tmp_reg__, __SREG__ 369 0084 F894 cli 370 0086 0F92 push __tmp_reg__ 371 372 ; 0 "" 2 373 /* #NOAPP */ 374 0088 8FEF ldi r24,lo8(-1) 375 008a 9FEF ldi r25,lo8(-1) 376 008c 9183 std Z+1,r25 377 008e 8083 st Z,r24 378 /* #APP */ 379 ; 429 "../../nut/os/event.c" 1 380 0090 0F90 pop __tmp_reg__ 381 0092 0FBE out __SREG__, __tmp_reg__ 382 383 ; 0 "" 2 384 /* #NOAPP */ 385 .L31: 386 0094 80E0 ldi r24,0 387 0096 90E0 ldi r25,0 388 .L25: 389 /* epilogue start */ 390 0098 DF91 pop r29 391 009a CF91 pop r28 392 009c 0895 ret 393 .size NutEventPostAsync, .-NutEventPostAsync 394 .section .text.NutEventPost,"ax",@progbits 395 .global NutEventPost 396 .type NutEventPost, @function 397 NutEventPost: 398 0000 CF93 push r28 399 0002 DF93 push r29 GAS LISTING /tmp/ccQLIKGP.s page 8 400 0004 1F92 push __zero_reg__ 401 0006 1F92 push __zero_reg__ 402 0008 CDB7 in r28,__SP_L__ 403 000a DEB7 in r29,__SP_H__ 404 /* prologue: function */ 405 /* frame size = 2 */ 406 /* stack size = 4 */ 407 .L__stack_usage = 4 408 000c 0E94 0000 call NutEventPostAsync 409 0010 8983 std Y+1,r24 410 0012 9A83 std Y+2,r25 411 0014 0E94 0000 call NutThreadYield 412 0018 8981 ldd r24,Y+1 413 001a 9A81 ldd r25,Y+2 414 /* epilogue start */ 415 001c 0F90 pop __tmp_reg__ 416 001e 0F90 pop __tmp_reg__ 417 0020 DF91 pop r29 418 0022 CF91 pop r28 419 0024 0895 ret 420 .size NutEventPost, .-NutEventPost 421 .section .text.NutEventBroadcastAsync,"ax",@progbits 422 .global NutEventBroadcastAsync 423 .type NutEventBroadcastAsync, @function 424 NutEventBroadcastAsync: 425 0000 0F93 push r16 426 0002 1F93 push r17 427 0004 CF93 push r28 428 0006 DF93 push r29 429 /* prologue: function */ 430 /* frame size = 0 */ 431 /* stack size = 4 */ 432 .L__stack_usage = 4 433 0008 8C01 movw r16,r24 434 /* #APP */ 435 ; 494 "../../nut/os/event.c" 1 436 000a 0FB6 in __tmp_reg__, __SREG__ 437 000c F894 cli 438 000e 0F92 push __tmp_reg__ 439 440 ; 0 "" 2 441 /* #NOAPP */ 442 0010 FC01 movw r30,r24 443 0012 8081 ld r24,Z 444 0014 9181 ldd r25,Z+1 445 /* #APP */ 446 ; 496 "../../nut/os/event.c" 1 447 0016 0F90 pop __tmp_reg__ 448 0018 0FBE out __SREG__, __tmp_reg__ 449 450 ; 0 "" 2 451 /* #NOAPP */ 452 001a 8F3F cpi r24,-1 453 001c FFEF ldi r31,-1 454 001e 9F07 cpc r25,r31 455 0020 01F4 brne .L40 456 /* #APP */ GAS LISTING /tmp/ccQLIKGP.s page 9 457 ; 499 "../../nut/os/event.c" 1 458 0022 0FB6 in __tmp_reg__, __SREG__ 459 0024 F894 cli 460 0026 0F92 push __tmp_reg__ 461 462 ; 0 "" 2 463 /* #NOAPP */ 464 0028 F801 movw r30,r16 465 002a 1182 std Z+1,__zero_reg__ 466 002c 1082 st Z,__zero_reg__ 467 /* #APP */ 468 ; 501 "../../nut/os/event.c" 1 469 002e 0F90 pop __tmp_reg__ 470 0030 0FBE out __SREG__, __tmp_reg__ 471 472 ; 0 "" 2 473 /* #NOAPP */ 474 0032 C0E0 ldi r28,0 475 0034 D0E0 ldi r29,0 476 0036 00C0 rjmp .L41 477 .L40: 478 0038 C0E0 ldi r28,0 479 003a D0E0 ldi r29,0 480 003c 892B or r24,r25 481 003e 01F0 breq .L41 482 .L42: 483 0040 C801 movw r24,r16 484 0042 0E94 0000 call NutEventPostAsync 485 0046 C80F add r28,r24 486 0048 D91F adc r29,r25 487 /* #APP */ 488 ; 507 "../../nut/os/event.c" 1 489 004a 0FB6 in __tmp_reg__, __SREG__ 490 004c F894 cli 491 004e 0F92 push __tmp_reg__ 492 493 ; 0 "" 2 494 /* #NOAPP */ 495 0050 F801 movw r30,r16 496 0052 8081 ld r24,Z 497 0054 9181 ldd r25,Z+1 498 /* #APP */ 499 ; 509 "../../nut/os/event.c" 1 500 0056 0F90 pop __tmp_reg__ 501 0058 0FBE out __SREG__, __tmp_reg__ 502 503 ; 0 "" 2 504 /* #NOAPP */ 505 005a 0197 sbiw r24,1 506 005c 8E3F cpi r24,-2 507 005e 9F4F sbci r25,-1 508 0060 00F0 brlo .L42 509 .L41: 510 0062 CE01 movw r24,r28 511 /* epilogue start */ 512 0064 DF91 pop r29 513 0066 CF91 pop r28 GAS LISTING /tmp/ccQLIKGP.s page 10 514 0068 1F91 pop r17 515 006a 0F91 pop r16 516 006c 0895 ret 517 .size NutEventBroadcastAsync, .-NutEventBroadcastAsync 518 .section .text.NutEventBroadcast,"ax",@progbits 519 .global NutEventBroadcast 520 .type NutEventBroadcast, @function 521 NutEventBroadcast: 522 0000 CF93 push r28 523 0002 DF93 push r29 524 0004 1F92 push __zero_reg__ 525 0006 1F92 push __zero_reg__ 526 0008 CDB7 in r28,__SP_L__ 527 000a DEB7 in r29,__SP_H__ 528 /* prologue: function */ 529 /* frame size = 2 */ 530 /* stack size = 4 */ 531 .L__stack_usage = 4 532 000c 0E94 0000 call NutEventBroadcastAsync 533 0010 8983 std Y+1,r24 534 0012 9A83 std Y+2,r25 535 0014 0E94 0000 call NutThreadYield 536 0018 8981 ldd r24,Y+1 537 001a 9A81 ldd r25,Y+2 538 /* epilogue start */ 539 001c 0F90 pop __tmp_reg__ 540 001e 0F90 pop __tmp_reg__ 541 0020 DF91 pop r29 542 0022 CF91 pop r28 543 0024 0895 ret 544 .size NutEventBroadcast, .-NutEventBroadcast 545 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccQLIKGP.s page 11 DEFINED SYMBOLS *ABS*:0000000000000000 event.c /tmp/ccQLIKGP.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccQLIKGP.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccQLIKGP.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccQLIKGP.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccQLIKGP.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccQLIKGP.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccQLIKGP.s:11 .text.NutEventTimeout:0000000000000000 NutEventTimeout /tmp/ccQLIKGP.s:116 .text.NutEventWait:0000000000000000 NutEventWait /tmp/ccQLIKGP.s:238 .text.NutEventWaitNext:0000000000000000 NutEventWaitNext /tmp/ccQLIKGP.s:273 .text.NutEventPostAsync:0000000000000000 NutEventPostAsync /tmp/ccQLIKGP.s:397 .text.NutEventPost:0000000000000000 NutEventPost /tmp/ccQLIKGP.s:424 .text.NutEventBroadcastAsync:0000000000000000 NutEventBroadcastAsync /tmp/ccQLIKGP.s:521 .text.NutEventBroadcast:0000000000000000 NutEventBroadcast UNDEFINED SYMBOLS runQueue NutThreadAddPriQueue NutThreadYield runningThread NutThreadRemoveQueue NutTimerStart NutThreadResume NutTimerStop