.file "task.cpp" __SREG__ = 0x3f __SP_H__ = 0x3e __SP_L__ = 0x3d __CCP__ = 0x34 __tmp_reg__ = 0 __zero_reg__ = 1 .global __do_copy_data .global __do_clear_bss .text .global _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE .type _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE, @function _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE: push r12 push r13 push r14 push r15 push r16 push r17 push r28 push r29 /* prologue: function */ /* frame size = 0 */ movw r28,r24 movw r12,r22 ldi r26,lo8(0) ldi r27,hi8(0) .L3: mov r25,r26 movw r30,r26 ldi r24,4 1: lsl r30 rol r31 dec r24 brne 1b add r30,r26 adc r31,r27 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) ldd r24,Z+15 tst r24 breq .L2 subi r25,lo8(-(1)) adiw r26,1 cpi r26,12 cpc r27,__zero_reg__ brne .L3 .L2: mov r22,r25 ldi r23,lo8(0) movw r30,r22 ldi r26,4 1: lsl r30 rol r31 dec r26 brne 1b add r30,r22 adc r31,r23 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) std Z+1,r29 st Z,r28 std Z+3,r13 std Z+2,r12 std Z+5,r21 std Z+4,r20 std Z+7,r19 std Z+6,r18 cp r14,__zero_reg__ cpc r15,__zero_reg__ brne .L4 std Z+16,__zero_reg__ rjmp .L5 .L4: ldi r24,lo8(50) cp r14,r24 cpc r15,__zero_reg__ brne .L6 ldi r24,lo8(1) rjmp .L9 .L6: ldi r24,lo8(2) .L9: std Z+16,r24 .L5: movw r30,r22 ldi r19,4 1: lsl r30 rol r31 dec r19 brne 1b add r30,r22 adc r31,r23 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) ldd r26,Z+16 ldi r27,lo8(0) subi r26,lo8(-(_ZN11TaskManager12cur_priorityE)) sbci r27,hi8(-(_ZN11TaskManager12cur_priorityE)) ld r24,X mov r25,r24 add r25,r14 std Z+14,r25 subi r24,lo8(-(1)) st X,r24 std Z+9,r17 std Z+8,r16 ldi r24,lo8(1) std Z+15,r24 /* #APP */ ; 18 "clock_o.h" 1 cli ; 0 "" 2 /* #NOAPP */ lds r18,_ZN5Clock5ticksE lds r19,(_ZN5Clock5ticksE)+1 lds r20,(_ZN5Clock5ticksE)+2 lds r21,(_ZN5Clock5ticksE)+3 /* #APP */ ; 20 "clock_o.h" 1 sei ; 0 "" 2 /* #NOAPP */ movw r24,r16 ldi r26,lo8(0) ldi r27,hi8(0) add r24,r18 adc r25,r19 adc r26,r20 adc r27,r21 movw r30,r22 ldi r18,4 1: lsl r30 rol r31 dec r18 brne 1b add r30,r22 adc r31,r23 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) std Z+10,r24 std Z+11,r25 std Z+12,r26 std Z+13,r27 /* epilogue start */ pop r29 pop r28 pop r17 pop r16 pop r15 pop r14 pop r13 pop r12 ret .size _ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE, .-_ZN11TaskManager7AddTaskEPFvPvS0_ES0_S0_NS_9TASK_TYPEEjNS_8PRIORITYE .global _ZN11TaskManager15ExecuteNextTaskEv .type _ZN11TaskManager15ExecuteNextTaskEv, @function _ZN11TaskManager15ExecuteNextTaskEv: push r14 push r15 push r16 push r17 push r28 push r29 /* prologue: function */ /* frame size = 0 */ /* #APP */ ; 18 "clock_o.h" 1 cli ; 0 "" 2 /* #NOAPP */ lds r14,_ZN5Clock5ticksE lds r15,(_ZN5Clock5ticksE)+1 lds r16,(_ZN5Clock5ticksE)+2 lds r17,(_ZN5Clock5ticksE)+3 /* #APP */ ; 20 "clock_o.h" 1 sei ; 0 "" 2 /* #NOAPP */ sts _ZN11TaskManager9cur_tasksE,__zero_reg__ lds r24,_ZN11TaskManager7counterE subi r24,lo8(-(1)) sts _ZN11TaskManager7counterE,r24 lds r24,_ZN11TaskManager7counterE cpi r24,lo8(-56) brne .L11 lds r24,_ZN11TaskManager8cur_doneE lsr r24 sts _ZN11TaskManager9cpu_usageE,r24 sts _ZN11TaskManager8cur_doneE,__zero_reg__ sts _ZN11TaskManager7counterE,__zero_reg__ .L11: ldi r20,lo8(-1) ldi r21,lo8(-1) ldi r18,lo8(0) ldi r19,hi8(0) .L13: movw r30,r18 ldi r22,4 1: lsl r30 rol r31 dec r22 brne 1b add r30,r18 adc r31,r19 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) ldd r24,Z+15 tst r24 breq .L12 lds r24,_ZN11TaskManager9cur_tasksE subi r24,lo8(-(1)) sts _ZN11TaskManager9cur_tasksE,r24 ldd r24,Z+10 ldd r25,Z+11 ldd r26,Z+12 ldd r27,Z+13 cp r14,r24 cpc r15,r25 cpc r16,r26 cpc r17,r27 brlo .L12 ldd r24,Z+14 cp r24,r21 brsh .L12 ldd r21,Z+14 mov r20,r18 .L12: subi r18,lo8(-(1)) sbci r19,hi8(-(1)) cpi r18,12 cpc r19,__zero_reg__ brne .L13 cpi r20,lo8(-1) breq .L14 lds r24,_ZN11TaskManager8cur_doneE subi r24,lo8(-(1)) sts _ZN11TaskManager8cur_doneE,r24 mov r24,r20 clr r25 sbrc r24,7 com r25 movw r28,r24 ldi r18,4 1: lsl r28 rol r29 dec r18 brne 1b add r28,r24 adc r29,r25 subi r28,lo8(-(_ZN11TaskManager5tasksE)) sbci r29,hi8(-(_ZN11TaskManager5tasksE)) ld r30,Y ldd r31,Y+1 ldd r22,Y+4 ldd r23,Y+5 ldd r24,Y+2 ldd r25,Y+3 icall ldd r24,Y+6 ldd r25,Y+7 or r24,r25 brne .L15 std Y+15,__zero_reg__ ldd r30,Y+16 ldi r31,lo8(0) subi r30,lo8(-(_ZN11TaskManager12cur_priorityE)) sbci r31,hi8(-(_ZN11TaskManager12cur_priorityE)) ld r24,Z subi r24,lo8(-(-1)) st Z,r24 rjmp .L14 .L15: ldd r18,Y+10 ldd r19,Y+11 ldd r20,Y+12 ldd r21,Y+13 ldd r24,Y+8 ldd r25,Y+9 ldi r26,lo8(0) ldi r27,hi8(0) add r24,r18 adc r25,r19 adc r26,r20 adc r27,r21 std Y+10,r24 std Y+11,r25 std Y+12,r26 std Y+13,r27 .L14: ldi r24,lo8(1) /* epilogue start */ pop r29 pop r28 pop r17 pop r16 pop r15 pop r14 ret .size _ZN11TaskManager15ExecuteNextTaskEv, .-_ZN11TaskManager15ExecuteNextTaskEv .global _ZN11TaskManager10DeleteTaskEPFvPvS0_E .type _ZN11TaskManager10DeleteTaskEPFvPvS0_E, @function _ZN11TaskManager10DeleteTaskEPFvPvS0_E: /* prologue: function */ /* frame size = 0 */ movw r20,r24 ldi r18,lo8(0) ldi r19,hi8(0) .L21: movw r30,r18 ldi r23,4 1: lsl r30 rol r31 dec r23 brne 1b add r30,r18 adc r31,r19 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) ld r24,Z ldd r25,Z+1 cp r24,r20 cpc r25,r21 brne .L19 std Z+15,__zero_reg__ ldd r30,Z+16 ldi r31,lo8(0) subi r30,lo8(-(_ZN11TaskManager12cur_priorityE)) sbci r31,hi8(-(_ZN11TaskManager12cur_priorityE)) ld r24,Z subi r24,lo8(-(-1)) st Z,r24 ret .L19: subi r18,lo8(-(1)) sbci r19,hi8(-(1)) cpi r18,12 cpc r19,__zero_reg__ brne .L21 ret .size _ZN11TaskManager10DeleteTaskEPFvPvS0_E, .-_ZN11TaskManager10DeleteTaskEPFvPvS0_E .global _ZN11TaskManager4InitEv .type _ZN11TaskManager4InitEv, @function _ZN11TaskManager4InitEv: /* prologue: function */ /* frame size = 0 */ ldi r24,lo8(0) ldi r25,hi8(0) .L25: movw r30,r24 ldi r26,4 1: lsl r30 rol r31 dec r26 brne 1b add r30,r24 adc r31,r25 subi r30,lo8(-(_ZN11TaskManager5tasksE)) sbci r31,hi8(-(_ZN11TaskManager5tasksE)) std Z+15,__zero_reg__ adiw r24,1 cpi r24,12 cpc r25,__zero_reg__ brne .L25 /* epilogue start */ ret .size _ZN11TaskManager4InitEv, .-_ZN11TaskManager4InitEv .global _ZN11TaskManager5tasksE .global _ZN11TaskManager5tasksE .section .bss .type _ZN11TaskManager5tasksE, @object .size _ZN11TaskManager5tasksE, 204 _ZN11TaskManager5tasksE: .skip 204,0 .global _ZN11TaskManager12cur_priorityE .global _ZN11TaskManager12cur_priorityE .type _ZN11TaskManager12cur_priorityE, @object .size _ZN11TaskManager12cur_priorityE, 3 _ZN11TaskManager12cur_priorityE: .skip 3,0 .global _ZN11TaskManager9cur_tasksE .global _ZN11TaskManager9cur_tasksE .type _ZN11TaskManager9cur_tasksE, @object .size _ZN11TaskManager9cur_tasksE, 1 _ZN11TaskManager9cur_tasksE: .skip 1,0 .global _ZN11TaskManager9cpu_usageE .global _ZN11TaskManager9cpu_usageE .type _ZN11TaskManager9cpu_usageE, @object .size _ZN11TaskManager9cpu_usageE, 1 _ZN11TaskManager9cpu_usageE: .skip 1,0 .global _ZN11TaskManager8cur_doneE .global _ZN11TaskManager8cur_doneE .type _ZN11TaskManager8cur_doneE, @object .size _ZN11TaskManager8cur_doneE, 1 _ZN11TaskManager8cur_doneE: .skip 1,0 .global _ZN11TaskManager7counterE .global _ZN11TaskManager7counterE .type _ZN11TaskManager7counterE, @object .size _ZN11TaskManager7counterE, 1 _ZN11TaskManager7counterE: .skip 1,0