1 .file "task.cpp" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __tmp_reg__ = 0 6 __zero_reg__ = 1 7 .global __do_copy_data 8 .global __do_clear_bss 16 .Ltext0: 17 .global _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 19 _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE: 20 .LFB3: 21 .LM1: 22 .LVL0: 23 0000 CF92 push r12 24 0002 DF92 push r13 25 0004 EF92 push r14 26 .LVL1: 27 0006 FF92 push r15 28 0008 0F93 push r16 29 .LVL2: 30 000a 1F93 push r17 31 000c CF93 push r28 32 000e DF93 push r29 33 /* prologue: function */ 34 /* frame size = 0 */ 35 0010 6C01 movw r12,r24 36 0012 F22E mov r15,r18 37 0014 9E2D mov r25,r14 38 .LVL3: 39 .LM2: 40 0016 20E0 ldi r18,lo8(0) 41 0018 30E0 ldi r19,hi8(0) 42 .LVL4: 43 .L3: 44 001a A22F mov r26,r18 45 .LBB6: 46 .LM3: 47 001c F901 movw r30,r18 48 001e B4E0 ldi r27,4 49 0020 EE0F 1: lsl r30 50 0022 FF1F rol r31 51 0024 BA95 dec r27 52 0026 01F4 brne 1b 53 0028 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 54 002a F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 55 002c 8685 ldd r24,Z+14 56 002e 8823 tst r24 57 0030 01F0 breq .L2 58 .LM4: 59 0032 AF5F subi r26,lo8(-(1)) 60 0034 2F5F subi r18,lo8(-(1)) 61 0036 3F4F sbci r19,hi8(-(1)) 62 .LM5: 63 0038 2C30 cpi r18,12 64 003a 3105 cpc r19,__zero_reg__ 65 003c 01F4 brne .L3 66 .L2: 67 .LM6: 68 003e CA2F mov r28,r26 69 0040 D0E0 ldi r29,lo8(0) 70 0042 DE01 movw r26,r28 71 .LVL5: 72 0044 24E0 ldi r18,4 73 0046 AA0F 1: lsl r26 74 0048 BB1F rol r27 75 004a 2A95 dec r18 76 004c 01F4 brne 1b 77 004e A050 subi r26,lo8(-(_ZN11TaskManager5tasksE)) 78 0050 B040 sbci r27,hi8(-(_ZN11TaskManager5tasksE)) 79 0052 1196 adiw r26,1 80 0054 DC92 st X,r13 81 0056 CE92 st -X,r12 82 .LM7: 83 0058 FE01 movw r30,r28 84 005a 84E0 ldi r24,4 85 005c EE0F 1: lsl r30 86 005e FF1F rol r31 87 0060 8A95 dec r24 88 0062 01F4 brne 1b 89 0064 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE+2)) 90 0066 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE+2)) 91 0068 7183 std Z+1,r23 92 006a 6083 st Z,r22 93 .LM8: 94 006c FE01 movw r30,r28 95 006e 64E0 ldi r22,4 96 0070 EE0F 1: lsl r30 97 0072 FF1F rol r31 98 0074 6A95 dec r22 99 0076 01F4 brne 1b 100 .LVL6: 101 0078 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE+4)) 102 007a F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE+4)) 103 007c 5183 std Z+1,r21 104 007e 4083 st Z,r20 105 .LM9: 106 0080 FD01 movw r30,r26 107 0082 F682 std Z+6,r15 108 .LM10: 109 0084 9923 tst r25 110 0086 01F4 brne .L4 111 .LM11: 112 0088 1786 std Z+15,__zero_reg__ 113 008a 00C0 rjmp .L5 114 .L4: 115 .LM12: 116 008c 9233 cpi r25,lo8(50) 117 008e 01F4 brne .L6 118 .LM13: 119 0090 81E0 ldi r24,lo8(1) 120 0092 00C0 rjmp .L9 121 .L6: 122 .LM14: 123 0094 82E0 ldi r24,lo8(2) 124 .L9: 125 0096 FD01 movw r30,r26 126 0098 8787 std Z+15,r24 127 .L5: 128 .LM15: 129 009a 34E0 ldi r19,4 130 009c CC0F 1: lsl r28 131 009e DD1F rol r29 132 00a0 3A95 dec r19 133 00a2 01F4 brne 1b 134 00a4 DE01 movw r26,r28 135 00a6 A050 subi r26,lo8(-(_ZN11TaskManager5tasksE)) 136 00a8 B040 sbci r27,hi8(-(_ZN11TaskManager5tasksE)) 137 00aa FD01 movw r30,r26 138 00ac 8785 ldd r24,Z+15 139 00ae 282F mov r18,r24 140 00b0 30E0 ldi r19,lo8(0) 141 00b2 2050 subi r18,lo8(-(_ZN11TaskManager12cur_priorityE)) 142 00b4 3040 sbci r19,hi8(-(_ZN11TaskManager12cur_priorityE)) 143 00b6 F901 movw r30,r18 144 00b8 8081 ld r24,Z 145 00ba 980F add r25,r24 146 00bc FD01 movw r30,r26 147 00be 9587 std Z+13,r25 148 00c0 8F5F subi r24,lo8(-(1)) 149 00c2 F901 movw r30,r18 150 00c4 8083 st Z,r24 151 .LM16: 152 00c6 FD01 movw r30,r26 153 00c8 1087 std Z+8,r17 154 00ca 0783 std Z+7,r16 155 .LVL7: 156 .LM17: 157 00cc 81E0 ldi r24,lo8(1) 158 00ce 8687 std Z+14,r24 159 .LM18: 160 /* #APP */ 161 ; 36 "task.cpp" 1 162 00d0 F894 cli 163 ; 0 "" 2 164 .LM19: 165 /* #NOAPP */ 166 00d2 2091 0000 lds r18,_ZN5Clock5ticksE 167 00d6 3091 0000 lds r19,(_ZN5Clock5ticksE)+1 168 00da 4091 0000 lds r20,(_ZN5Clock5ticksE)+2 169 00de 5091 0000 lds r21,(_ZN5Clock5ticksE)+3 170 00e2 C801 movw r24,r16 171 00e4 A0E0 ldi r26,lo8(0) 172 00e6 B0E0 ldi r27,hi8(0) 173 .LVL8: 174 00e8 820F add r24,r18 175 00ea 931F adc r25,r19 176 00ec A41F adc r26,r20 177 00ee B51F adc r27,r21 178 .LVL9: 179 00f0 C050 subi r28,lo8(-(_ZN11TaskManager5tasksE)) 180 00f2 D040 sbci r29,hi8(-(_ZN11TaskManager5tasksE)) 181 00f4 8987 std Y+9,r24 182 00f6 9A87 std Y+10,r25 183 00f8 AB87 std Y+11,r26 184 00fa BC87 std Y+12,r27 185 .LM20: 186 /* #APP */ 187 ; 38 "task.cpp" 1 188 00fc 7894 sei 189 ; 0 "" 2 190 /* epilogue start */ 191 /* #NOAPP */ 192 .LBE6: 193 .LM21: 194 00fe DF91 pop r29 195 0100 CF91 pop r28 196 0102 1F91 pop r17 197 0104 0F91 pop r16 198 0106 FF90 pop r15 199 .LVL10: 200 0108 EF90 pop r14 201 010a DF90 pop r13 202 010c CF90 pop r12 203 .LVL11: 204 010e 0895 ret 205 .LFE3: 207 .global _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE 209 _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE: 210 .LFB4: 211 .LM22: 212 .LVL12: 213 0110 CF92 push r12 214 0112 DF92 push r13 215 0114 EF92 push r14 216 .LVL13: 217 0116 FF92 push r15 218 0118 0F93 push r16 219 .LVL14: 220 011a 1F93 push r17 221 011c CF93 push r28 222 011e DF93 push r29 223 /* prologue: function */ 224 /* frame size = 0 */ 225 0120 EC01 movw r28,r24 226 0122 6B01 movw r12,r22 227 0124 F22E mov r15,r18 228 0126 9E2D mov r25,r14 229 .LVL15: 230 .LM23: 231 0128 20E0 ldi r18,lo8(0) 232 012a 30E0 ldi r19,hi8(0) 233 .LVL16: 234 .L12: 235 012c E22E mov r14,r18 236 .LBB7: 237 .LM24: 238 012e F901 movw r30,r18 239 0130 A4E0 ldi r26,4 240 0132 EE0F 1: lsl r30 241 0134 FF1F rol r31 242 0136 AA95 dec r26 243 0138 01F4 brne 1b 244 013a E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 245 013c F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 246 013e 8685 ldd r24,Z+14 247 0140 8823 tst r24 248 0142 01F0 breq .L11 249 .LM25: 250 0144 E394 inc r14 251 0146 2F5F subi r18,lo8(-(1)) 252 0148 3F4F sbci r19,hi8(-(1)) 253 .LM26: 254 014a 2C30 cpi r18,12 255 014c 3105 cpc r19,__zero_reg__ 256 014e 01F4 brne .L12 257 .L11: 258 .LM27: 259 0150 6E2D mov r22,r14 260 0152 70E0 ldi r23,lo8(0) 261 0154 DB01 movw r26,r22 262 0156 E4E0 ldi r30,4 263 0158 AA0F 1: lsl r26 264 015a BB1F rol r27 265 015c EA95 dec r30 266 015e 01F4 brne 1b 267 0160 A050 subi r26,lo8(-(_ZN11TaskManager5tasksE)) 268 0162 B040 sbci r27,hi8(-(_ZN11TaskManager5tasksE)) 269 0164 1196 adiw r26,1 270 0166 DC93 st X,r29 271 0168 CE93 st -X,r28 272 .LM28: 273 016a FB01 movw r30,r22 274 016c 34E0 ldi r19,4 275 016e EE0F 1: lsl r30 276 0170 FF1F rol r31 277 0172 3A95 dec r19 278 0174 01F4 brne 1b 279 0176 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE+2)) 280 0178 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE+2)) 281 017a D182 std Z+1,r13 282 017c C082 st Z,r12 283 .LM29: 284 017e FB01 movw r30,r22 285 0180 24E0 ldi r18,4 286 0182 EE0F 1: lsl r30 287 0184 FF1F rol r31 288 0186 2A95 dec r18 289 0188 01F4 brne 1b 290 018a E050 subi r30,lo8(-(_ZN11TaskManager5tasksE+4)) 291 018c F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE+4)) 292 018e 5183 std Z+1,r21 293 0190 4083 st Z,r20 294 .LM30: 295 0192 ED01 movw r28,r26 296 .LVL17: 297 0194 FE82 std Y+6,r15 298 .LM31: 299 0196 9923 tst r25 300 0198 01F4 brne .L13 301 .LM32: 302 019a 1F86 std Y+15,__zero_reg__ 303 019c 00C0 rjmp .L14 304 .L13: 305 .LM33: 306 019e 9233 cpi r25,lo8(50) 307 01a0 01F4 brne .L15 308 .LM34: 309 01a2 81E0 ldi r24,lo8(1) 310 01a4 FD01 movw r30,r26 311 01a6 8787 std Z+15,r24 312 01a8 00C0 rjmp .L14 313 .L15: 314 .LM35: 315 01aa 82E0 ldi r24,lo8(2) 316 01ac ED01 movw r28,r26 317 01ae 8F87 std Y+15,r24 318 .L14: 319 .LM36: 320 01b0 84E0 ldi r24,4 321 01b2 660F 1: lsl r22 322 01b4 771F rol r23 323 01b6 8A95 dec r24 324 01b8 01F4 brne 1b 325 01ba 6050 subi r22,lo8(-(_ZN11TaskManager5tasksE)) 326 01bc 7040 sbci r23,hi8(-(_ZN11TaskManager5tasksE)) 327 01be EB01 movw r28,r22 328 01c0 EF85 ldd r30,Y+15 329 01c2 F0E0 ldi r31,lo8(0) 330 01c4 E050 subi r30,lo8(-(_ZN11TaskManager12cur_priorityE)) 331 01c6 F040 sbci r31,hi8(-(_ZN11TaskManager12cur_priorityE)) 332 01c8 8081 ld r24,Z 333 01ca 980F add r25,r24 334 01cc 9D87 std Y+13,r25 335 01ce 8F5F subi r24,lo8(-(1)) 336 01d0 8083 st Z,r24 337 .LM37: 338 01d2 1887 std Y+8,r17 339 01d4 0F83 std Y+7,r16 340 .LVL18: 341 .LM38: 342 01d6 81E0 ldi r24,lo8(1) 343 01d8 8E87 std Y+14,r24 344 .LM39: 345 01da 2091 0000 lds r18,_ZN5Clock5ticksE 346 01de 3091 0000 lds r19,(_ZN5Clock5ticksE)+1 347 01e2 4091 0000 lds r20,(_ZN5Clock5ticksE)+2 348 01e6 5091 0000 lds r21,(_ZN5Clock5ticksE)+3 349 01ea C801 movw r24,r16 350 01ec A0E0 ldi r26,lo8(0) 351 01ee B0E0 ldi r27,hi8(0) 352 .LVL19: 353 01f0 820F add r24,r18 354 01f2 931F adc r25,r19 355 01f4 A41F adc r26,r20 356 01f6 B51F adc r27,r21 357 .LVL20: 358 01f8 FB01 movw r30,r22 359 01fa 8187 std Z+9,r24 360 01fc 9287 std Z+10,r25 361 01fe A387 std Z+11,r26 362 0200 B487 std Z+12,r27 363 /* epilogue start */ 364 .LBE7: 365 .LM40: 366 0202 DF91 pop r29 367 0204 CF91 pop r28 368 0206 1F91 pop r17 369 0208 0F91 pop r16 370 020a FF90 pop r15 371 .LVL21: 372 020c EF90 pop r14 373 .LVL22: 374 020e DF90 pop r13 375 0210 CF90 pop r12 376 .LVL23: 377 0212 0895 ret 378 .LFE4: 380 .global _ZN11TaskManager15ExecuteNextTaskEv 382 _ZN11TaskManager15ExecuteNextTaskEv: 383 .LFB5: 384 .LM41: 385 0214 CF93 push r28 386 0216 DF93 push r29 387 /* prologue: function */ 388 /* frame size = 0 */ 389 .LBB8: 390 .LBB9: 391 .LBB10: 392 .LBB11: 393 .LM42: 394 /* #APP */ 395 ; 18 "clock.h" 1 396 0218 F894 cli 397 ; 0 "" 2 398 .LM43: 399 /* #NOAPP */ 400 021a 4091 0000 lds r20,_ZN5Clock5ticksE 401 021e 5091 0000 lds r21,(_ZN5Clock5ticksE)+1 402 0222 6091 0000 lds r22,(_ZN5Clock5ticksE)+2 403 0226 7091 0000 lds r23,(_ZN5Clock5ticksE)+3 404 .LVL24: 405 .LM44: 406 /* #APP */ 407 ; 20 "clock.h" 1 408 022a 7894 sei 409 ; 0 "" 2 410 /* #NOAPP */ 411 .LBE11: 412 .LBE10: 413 .LBE9: 414 .LM45: 415 022c 1092 0000 sts _ZN11TaskManager9cur_tasksE,__zero_reg__ 416 .LM46: 417 0230 8091 0000 lds r24,_ZN11TaskManager7counterE 418 0234 8F5F subi r24,lo8(-(1)) 419 0236 8093 0000 sts _ZN11TaskManager7counterE,r24 420 .LM47: 421 023a 8091 0000 lds r24,_ZN11TaskManager7counterE 422 023e 883C cpi r24,lo8(-56) 423 0240 01F4 brne .L19 424 .LM48: 425 0242 8091 0000 lds r24,_ZN11TaskManager8cur_doneE 426 0246 8695 lsr r24 427 0248 8093 0000 sts _ZN11TaskManager9cpu_usageE,r24 428 .LM49: 429 024c 1092 0000 sts _ZN11TaskManager8cur_doneE,__zero_reg__ 430 .LM50: 431 0250 1092 0000 sts _ZN11TaskManager7counterE,__zero_reg__ 432 .L19: 433 0254 EFEF ldi r30,lo8(-1) 434 .LVL25: 435 0256 FFEF ldi r31,lo8(-1) 436 .LVL26: 437 0258 20E0 ldi r18,lo8(0) 438 025a 30E0 ldi r19,hi8(0) 439 .L21: 440 .LM51: 441 025c E901 movw r28,r18 442 025e A4E0 ldi r26,4 443 0260 CC0F 1: lsl r28 444 0262 DD1F rol r29 445 0264 AA95 dec r26 446 0266 01F4 brne 1b 447 0268 C050 subi r28,lo8(-(_ZN11TaskManager5tasksE)) 448 026a D040 sbci r29,hi8(-(_ZN11TaskManager5tasksE)) 449 026c 8E85 ldd r24,Y+14 450 026e 8823 tst r24 451 0270 01F0 breq .L20 452 .LM52: 453 0272 8091 0000 lds r24,_ZN11TaskManager9cur_tasksE 454 0276 8F5F subi r24,lo8(-(1)) 455 0278 8093 0000 sts _ZN11TaskManager9cur_tasksE,r24 456 .LM53: 457 027c 8985 ldd r24,Y+9 458 027e 9A85 ldd r25,Y+10 459 0280 AB85 ldd r26,Y+11 460 0282 BC85 ldd r27,Y+12 461 0284 4817 cp r20,r24 462 0286 5907 cpc r21,r25 463 0288 6A07 cpc r22,r26 464 028a 7B07 cpc r23,r27 465 028c 00F0 brlo .L20 466 .LM54: 467 028e 8D85 ldd r24,Y+13 468 0290 8F17 cp r24,r31 469 0292 00F4 brsh .L20 470 .LM55: 471 0294 FD85 ldd r31,Y+13 472 0296 E22F mov r30,r18 473 .L20: 474 0298 2F5F subi r18,lo8(-(1)) 475 029a 3F4F sbci r19,hi8(-(1)) 476 .LM56: 477 029c 2C30 cpi r18,12 478 029e 3105 cpc r19,__zero_reg__ 479 02a0 01F4 brne .L21 480 .LM57: 481 02a2 EF3F cpi r30,lo8(-1) 482 02a4 01F4 brne .+2 483 02a6 00C0 rjmp .L22 484 .LM58: 485 02a8 8091 0000 lds r24,_ZN11TaskManager8cur_doneE 486 02ac 8F5F subi r24,lo8(-(1)) 487 02ae 8093 0000 sts _ZN11TaskManager8cur_doneE,r24 488 .LM59: 489 02b2 FF27 clr r31 490 02b4 E7FD sbrc r30,7 491 02b6 F095 com r31 492 .LVL27: 493 02b8 94E0 ldi r25,4 494 02ba EE0F 1: lsl r30 495 02bc FF1F rol r31 496 02be 9A95 dec r25 497 02c0 01F4 brne 1b 498 02c2 EF01 movw r28,r30 499 02c4 C050 subi r28,lo8(-(_ZN11TaskManager5tasksE)) 500 02c6 D040 sbci r29,hi8(-(_ZN11TaskManager5tasksE)) 501 02c8 2881 ld r18,Y 502 02ca 3981 ldd r19,Y+1 503 02cc DF01 movw r26,r30 504 02ce A050 subi r26,lo8(-(_ZN11TaskManager5tasksE+4)) 505 02d0 B040 sbci r27,hi8(-(_ZN11TaskManager5tasksE+4)) 506 02d2 6D91 ld r22,X+ 507 02d4 7C91 ld r23,X 508 02d6 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE+2)) 509 02d8 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE+2)) 510 02da 8081 ld r24,Z 511 02dc 9181 ldd r25,Z+1 512 02de F901 movw r30,r18 513 02e0 0995 icall 514 .LVL28: 515 .LM60: 516 02e2 8E81 ldd r24,Y+6 517 02e4 8823 tst r24 518 02e6 01F4 brne .L23 519 .LM61: 520 02e8 1E86 std Y+14,__zero_reg__ 521 .LM62: 522 02ea EF85 ldd r30,Y+15 523 02ec F0E0 ldi r31,lo8(0) 524 02ee E050 subi r30,lo8(-(_ZN11TaskManager12cur_priorityE)) 525 02f0 F040 sbci r31,hi8(-(_ZN11TaskManager12cur_priorityE)) 526 02f2 8081 ld r24,Z 527 02f4 8150 subi r24,lo8(-(-1)) 528 02f6 8083 st Z,r24 529 02f8 00C0 rjmp .L22 530 .L23: 531 .LM63: 532 02fa 8E81 ldd r24,Y+6 533 02fc 8330 cpi r24,lo8(3) 534 02fe 01F4 brne .L24 535 .LM64: 536 0300 81E0 ldi r24,lo8(1) 537 0302 00C0 rjmp .L28 538 .L24: 539 .LM65: 540 0304 8E81 ldd r24,Y+6 541 0306 8230 cpi r24,lo8(2) 542 0308 01F4 brne .L25 543 .LM66: 544 030a 83E0 ldi r24,lo8(3) 545 .L28: 546 030c 8E83 std Y+6,r24 547 030e 00C0 rjmp .L22 548 .L25: 549 .LM67: 550 0310 2985 ldd r18,Y+9 551 0312 3A85 ldd r19,Y+10 552 0314 4B85 ldd r20,Y+11 553 0316 5C85 ldd r21,Y+12 554 0318 8F81 ldd r24,Y+7 555 031a 9885 ldd r25,Y+8 556 031c A0E0 ldi r26,lo8(0) 557 031e B0E0 ldi r27,hi8(0) 558 0320 820F add r24,r18 559 0322 931F adc r25,r19 560 0324 A41F adc r26,r20 561 0326 B51F adc r27,r21 562 0328 8987 std Y+9,r24 563 032a 9A87 std Y+10,r25 564 032c AB87 std Y+11,r26 565 032e BC87 std Y+12,r27 566 .LVL29: 567 .L22: 568 .LBE8: 569 .LM68: 570 0330 81E0 ldi r24,lo8(1) 571 /* epilogue start */ 572 0332 DF91 pop r29 573 0334 CF91 pop r28 574 0336 0895 ret 575 .LFE5: 577 .global _ZN11TaskManager12PostponeTaskEPFvPvS0_Ej 579 _ZN11TaskManager12PostponeTaskEPFvPvS0_Ej: 580 .LFB6: 581 .LM69: 582 .LVL30: 583 0338 CF93 push r28 584 033a DF93 push r29 585 /* prologue: function */ 586 /* frame size = 0 */ 587 033c 9C01 movw r18,r24 588 .LM70: 589 033e E0E0 ldi r30,lo8(0) 590 0340 F0E0 ldi r31,hi8(0) 591 .LVL31: 592 .L32: 593 .LBB12: 594 .LM71: 595 0342 DF01 movw r26,r30 596 0344 44E0 ldi r20,4 597 0346 AA0F 1: lsl r26 598 0348 BB1F rol r27 599 034a 4A95 dec r20 600 034c 01F4 brne 1b 601 034e A050 subi r26,lo8(-(_ZN11TaskManager5tasksE)) 602 0350 B040 sbci r27,hi8(-(_ZN11TaskManager5tasksE)) 603 0352 8D91 ld r24,X+ 604 0354 9C91 ld r25,X 605 0356 1197 sbiw r26,1 606 0358 8217 cp r24,r18 607 035a 9307 cpc r25,r19 608 035c 01F4 brne .L30 609 035e ED01 movw r28,r26 610 0360 8E85 ldd r24,Y+14 611 0362 8823 tst r24 612 0364 01F0 breq .L30 613 .LM72: 614 0366 8E81 ldd r24,Y+6 615 0368 8330 cpi r24,lo8(3) 616 036a 01F0 breq .L33 617 .LM73: 618 /* #APP */ 619 ; 119 "task.cpp" 1 620 036c F894 cli 621 ; 0 "" 2 622 .LM74: 623 /* #NOAPP */ 624 036e 2091 0000 lds r18,_ZN5Clock5ticksE 625 0372 3091 0000 lds r19,(_ZN5Clock5ticksE)+1 626 0376 4091 0000 lds r20,(_ZN5Clock5ticksE)+2 627 037a 5091 0000 lds r21,(_ZN5Clock5ticksE)+3 628 .LVL32: 629 037e CB01 movw r24,r22 630 0380 A0E0 ldi r26,lo8(0) 631 0382 B0E0 ldi r27,hi8(0) 632 .LVL33: 633 0384 820F add r24,r18 634 0386 931F adc r25,r19 635 0388 A41F adc r26,r20 636 038a B51F adc r27,r21 637 .LVL34: 638 038c 24E0 ldi r18,4 639 038e EE0F 1: lsl r30 640 0390 FF1F rol r31 641 0392 2A95 dec r18 642 0394 01F4 brne 1b 643 0396 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 644 0398 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 645 039a 8187 std Z+9,r24 646 039c 9287 std Z+10,r25 647 039e A387 std Z+11,r26 648 03a0 B487 std Z+12,r27 649 .LM75: 650 /* #APP */ 651 ; 121 "task.cpp" 1 652 03a2 7894 sei 653 ; 0 "" 2 654 /* #NOAPP */ 655 03a4 00C0 rjmp .L33 656 .LVL35: 657 .L30: 658 03a6 3196 adiw r30,1 659 .LM76: 660 03a8 EC30 cpi r30,12 661 03aa F105 cpc r31,__zero_reg__ 662 03ac 01F4 brne .L32 663 .LVL36: 664 .L33: 665 /* epilogue start */ 666 .LBE12: 667 .LM77: 668 03ae DF91 pop r29 669 03b0 CF91 pop r28 670 03b2 0895 ret 671 .LFE6: 673 .global _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej 675 _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej: 676 .LFB7: 677 .LM78: 678 .LVL37: 679 /* prologue: function */ 680 /* frame size = 0 */ 681 03b4 AC01 movw r20,r24 682 .LM79: 683 03b6 20E0 ldi r18,lo8(0) 684 03b8 30E0 ldi r19,hi8(0) 685 .LVL38: 686 .L37: 687 .LBB13: 688 .LM80: 689 03ba F901 movw r30,r18 690 03bc A4E0 ldi r26,4 691 03be EE0F 1: lsl r30 692 03c0 FF1F rol r31 693 03c2 AA95 dec r26 694 03c4 01F4 brne 1b 695 03c6 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 696 03c8 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 697 03ca 8081 ld r24,Z 698 03cc 9181 ldd r25,Z+1 699 03ce 8417 cp r24,r20 700 03d0 9507 cpc r25,r21 701 03d2 01F4 brne .L36 702 03d4 8685 ldd r24,Z+14 703 03d6 8823 tst r24 704 03d8 01F0 breq .L36 705 .LM81: 706 03da 2091 0000 lds r18,_ZN5Clock5ticksE 707 03de 3091 0000 lds r19,(_ZN5Clock5ticksE)+1 708 03e2 4091 0000 lds r20,(_ZN5Clock5ticksE)+2 709 03e6 5091 0000 lds r21,(_ZN5Clock5ticksE)+3 710 03ea CB01 movw r24,r22 711 03ec A0E0 ldi r26,lo8(0) 712 03ee B0E0 ldi r27,hi8(0) 713 .LVL39: 714 03f0 820F add r24,r18 715 03f2 931F adc r25,r19 716 03f4 A41F adc r26,r20 717 03f6 B51F adc r27,r21 718 .LVL40: 719 03f8 8187 std Z+9,r24 720 03fa 9287 std Z+10,r25 721 03fc A387 std Z+11,r26 722 03fe B487 std Z+12,r27 723 0400 0895 ret 724 .LVL41: 725 .L36: 726 0402 2F5F subi r18,lo8(-(1)) 727 0404 3F4F sbci r19,hi8(-(1)) 728 .LM82: 729 0406 2C30 cpi r18,12 730 0408 3105 cpc r19,__zero_reg__ 731 040a 01F4 brne .L37 732 040c 0895 ret 733 .LBE13: 734 .LFE7: 736 .global _ZN11TaskManager17PostponeMultiTaskEPFvPvS0_Ej 738 _ZN11TaskManager17PostponeMultiTaskEPFvPvS0_Ej: 739 .LFB8: 740 .LM83: 741 .LVL42: 742 040e CF93 push r28 743 0410 DF93 push r29 744 /* prologue: function */ 745 /* frame size = 0 */ 746 0412 9C01 movw r18,r24 747 .LM84: 748 0414 C0E0 ldi r28,lo8(0) 749 0416 D0E0 ldi r29,hi8(0) 750 .LVL43: 751 .L43: 752 .LBB14: 753 .LM85: 754 0418 FE01 movw r30,r28 755 041a 44E0 ldi r20,4 756 041c EE0F 1: lsl r30 757 041e FF1F rol r31 758 0420 4A95 dec r20 759 0422 01F4 brne 1b 760 0424 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 761 0426 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 762 0428 8081 ld r24,Z 763 042a 9181 ldd r25,Z+1 764 042c 8217 cp r24,r18 765 042e 9307 cpc r25,r19 766 0430 01F4 brne .L42 767 0432 8685 ldd r24,Z+14 768 0434 8823 tst r24 769 0436 01F0 breq .L42 770 .LM86: 771 /* #APP */ 772 ; 148 "task.cpp" 1 773 0438 F894 cli 774 ; 0 "" 2 775 .LM87: 776 /* #NOAPP */ 777 043a 2091 0000 lds r18,_ZN5Clock5ticksE 778 043e 3091 0000 lds r19,(_ZN5Clock5ticksE)+1 779 0442 4091 0000 lds r20,(_ZN5Clock5ticksE)+2 780 0446 5091 0000 lds r21,(_ZN5Clock5ticksE)+3 781 .LVL44: 782 044a CB01 movw r24,r22 783 044c A0E0 ldi r26,lo8(0) 784 044e B0E0 ldi r27,hi8(0) 785 .LVL45: 786 0450 820F add r24,r18 787 0452 931F adc r25,r19 788 0454 A41F adc r26,r20 789 0456 B51F adc r27,r21 790 .LVL46: 791 0458 24E0 ldi r18,4 792 045a CC0F 1: lsl r28 793 045c DD1F rol r29 794 045e 2A95 dec r18 795 0460 01F4 brne 1b 796 0462 FE01 movw r30,r28 797 0464 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 798 0466 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 799 0468 8187 std Z+9,r24 800 046a 9287 std Z+10,r25 801 046c A387 std Z+11,r26 802 046e B487 std Z+12,r27 803 .LM88: 804 /* #APP */ 805 ; 150 "task.cpp" 1 806 0470 7894 sei 807 ; 0 "" 2 808 .LM89: 809 /* #NOAPP */ 810 0472 C050 subi r28,lo8(-(_ZN11TaskManager5tasksE)) 811 0474 D040 sbci r29,hi8(-(_ZN11TaskManager5tasksE)) 812 0476 82E0 ldi r24,lo8(2) 813 .LVL47: 814 0478 8E83 std Y+6,r24 815 047a 00C0 rjmp .L45 816 .LVL48: 817 .L42: 818 047c 2196 adiw r28,1 819 .LM90: 820 047e CC30 cpi r28,12 821 0480 D105 cpc r29,__zero_reg__ 822 0482 01F4 brne .L43 823 .LVL49: 824 .L45: 825 /* epilogue start */ 826 .LBE14: 827 .LM91: 828 0484 DF91 pop r29 829 0486 CF91 pop r28 830 0488 0895 ret 831 .LFE8: 833 .global _ZN11TaskManager10DeleteTaskEPFvPvS0_E 835 _ZN11TaskManager10DeleteTaskEPFvPvS0_E: 836 .LFB9: 837 .LM92: 838 .LVL50: 839 /* prologue: function */ 840 /* frame size = 0 */ 841 048a AC01 movw r20,r24 842 .LM93: 843 048c 20E0 ldi r18,lo8(0) 844 048e 30E0 ldi r19,hi8(0) 845 .LVL51: 846 .L49: 847 .LBB15: 848 .LM94: 849 0490 F901 movw r30,r18 850 0492 64E0 ldi r22,4 851 0494 EE0F 1: lsl r30 852 0496 FF1F rol r31 853 0498 6A95 dec r22 854 049a 01F4 brne 1b 855 049c E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 856 049e F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 857 04a0 8081 ld r24,Z 858 04a2 9181 ldd r25,Z+1 859 04a4 8417 cp r24,r20 860 04a6 9507 cpc r25,r21 861 04a8 01F4 brne .L48 862 .LM95: 863 04aa 1686 std Z+14,__zero_reg__ 864 .LM96: 865 04ac E785 ldd r30,Z+15 866 04ae F0E0 ldi r31,lo8(0) 867 04b0 E050 subi r30,lo8(-(_ZN11TaskManager12cur_priorityE)) 868 04b2 F040 sbci r31,hi8(-(_ZN11TaskManager12cur_priorityE)) 869 04b4 8081 ld r24,Z 870 04b6 8150 subi r24,lo8(-(-1)) 871 04b8 8083 st Z,r24 872 .L48: 873 04ba 2F5F subi r18,lo8(-(1)) 874 04bc 3F4F sbci r19,hi8(-(1)) 875 .LM97: 876 04be 2C30 cpi r18,12 877 04c0 3105 cpc r19,__zero_reg__ 878 04c2 01F4 brne .L49 879 /* epilogue start */ 880 .LBE15: 881 .LM98: 882 04c4 0895 ret 883 .LFE9: 885 .global _ZN11TaskManager4InitEv 887 _ZN11TaskManager4InitEv: 888 .LFB10: 889 .LM99: 890 /* prologue: function */ 891 /* frame size = 0 */ 892 .LM100: 893 04c6 80E0 ldi r24,lo8(0) 894 04c8 90E0 ldi r25,hi8(0) 895 .L53: 896 .LBB16: 897 .LM101: 898 04ca FC01 movw r30,r24 899 04cc 74E0 ldi r23,4 900 04ce EE0F 1: lsl r30 901 04d0 FF1F rol r31 902 04d2 7A95 dec r23 903 04d4 01F4 brne 1b 904 04d6 E050 subi r30,lo8(-(_ZN11TaskManager5tasksE)) 905 04d8 F040 sbci r31,hi8(-(_ZN11TaskManager5tasksE)) 906 04da 1686 std Z+14,__zero_reg__ 907 04dc 0196 adiw r24,1 908 .LM102: 909 04de 8C30 cpi r24,12 910 04e0 9105 cpc r25,__zero_reg__ 911 04e2 01F4 brne .L53 912 /* epilogue start */ 913 .LBE16: 914 .LM103: 915 04e4 0895 ret 916 .LFE10: 918 .global _ZN11TaskManager5tasksE 919 .global _ZN11TaskManager5tasksE 920 .section .bss 923 _ZN11TaskManager5tasksE: 924 0000 0000 0000 .skip 192,0 924 0000 0000 924 0000 0000 924 0000 0000 924 0000 0000 925 .global _ZN11TaskManager12cur_priorityE 926 .global _ZN11TaskManager12cur_priorityE 929 _ZN11TaskManager12cur_priorityE: 930 00c0 0000 00 .skip 3,0 931 .global _ZN11TaskManager9cur_tasksE 932 .global _ZN11TaskManager9cur_tasksE 935 _ZN11TaskManager9cur_tasksE: 936 00c3 00 .skip 1,0 937 .global _ZN11TaskManager9cpu_usageE 938 .global _ZN11TaskManager9cpu_usageE 941 _ZN11TaskManager9cpu_usageE: 942 00c4 00 .skip 1,0 943 .global _ZN11TaskManager8cur_doneE 944 .global _ZN11TaskManager8cur_doneE 947 _ZN11TaskManager8cur_doneE: 948 00c5 00 .skip 1,0 949 .global _ZN11TaskManager7counterE 950 .global _ZN11TaskManager7counterE 953 _ZN11TaskManager7counterE: 954 00c6 00 .skip 1,0 1035 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 task.cpp /tmp/ccMWKNle.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccMWKNle.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccMWKNle.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccMWKNle.s:5 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccMWKNle.s:6 *ABS*:0000000000000001 __zero_reg__ /tmp/ccMWKNle.s:19 .text:0000000000000000 _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE /tmp/ccMWKNle.s:923 .bss:0000000000000000 _ZN11TaskManager5tasksE /tmp/ccMWKNle.s:929 .bss:00000000000000c0 _ZN11TaskManager12cur_priorityE /tmp/ccMWKNle.s:209 .text:0000000000000110 _ZN11TaskManager10AddTaskIntEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE /tmp/ccMWKNle.s:382 .text:0000000000000214 _ZN11TaskManager15ExecuteNextTaskEv /tmp/ccMWKNle.s:935 .bss:00000000000000c3 _ZN11TaskManager9cur_tasksE /tmp/ccMWKNle.s:953 .bss:00000000000000c6 _ZN11TaskManager7counterE /tmp/ccMWKNle.s:947 .bss:00000000000000c5 _ZN11TaskManager8cur_doneE /tmp/ccMWKNle.s:941 .bss:00000000000000c4 _ZN11TaskManager9cpu_usageE /tmp/ccMWKNle.s:579 .text:0000000000000338 _ZN11TaskManager12PostponeTaskEPFvPvS0_Ej /tmp/ccMWKNle.s:675 .text:00000000000003b4 _ZN11TaskManager15PostponeTaskIntEPFvPvS0_Ej /tmp/ccMWKNle.s:738 .text:000000000000040e _ZN11TaskManager17PostponeMultiTaskEPFvPvS0_Ej /tmp/ccMWKNle.s:835 .text:000000000000048a _ZN11TaskManager10DeleteTaskEPFvPvS0_E /tmp/ccMWKNle.s:887 .text:00000000000004c6 _ZN11TaskManager4InitEv UNDEFINED SYMBOLS __do_copy_data __do_clear_bss _ZN5Clock5ticksE