www.pudn.com > iccavrUCOS_m64.rar > Ucos_ii.lis


                        .module Ucos_ii.c 
                        .area lit(rom, con, rel) 
 0000           _OSMapTbl:: 
 0000 0102              .byte 1,2 
 0002 0408              .byte 4,8 
 0004 1020              .byte 16,32 
 0006 4080              .byte 64,128 
 0008           _OSUnMapTbl:: 
 0008 0000              .byte 0,0 
 000A 0100              .byte 1,0 
 000C 0200              .byte 2,0 
 000E 0100              .byte 1,0 
 0010 0300              .byte 3,0 
 0012 0100              .byte 1,0 
 0014 0200              .byte 2,0 
 0016 0100              .byte 1,0 
 0018 0400              .byte 4,0 
 001A 0100              .byte 1,0 
 001C 0200              .byte 2,0 
 001E 0100              .byte 1,0 
 0020 0300              .byte 3,0 
 0022 0100              .byte 1,0 
 0024 0200              .byte 2,0 
 0026 0100              .byte 1,0 
 0028 0500              .byte 5,0 
 002A 0100              .byte 1,0 
 002C 0200              .byte 2,0 
 002E 0100              .byte 1,0 
 0030 0300              .byte 3,0 
 0032 0100              .byte 1,0 
 0034 0200              .byte 2,0 
 0036 0100              .byte 1,0 
 0038 0400              .byte 4,0 
 003A 0100              .byte 1,0 
 003C 0200              .byte 2,0 
 003E 0100              .byte 1,0 
 0040 0300              .byte 3,0 
 0042 0100              .byte 1,0 
 0044 0200              .byte 2,0 
 0046 0100              .byte 1,0 
 0048 0600              .byte 6,0 
 004A 0100              .byte 1,0 
 004C 0200              .byte 2,0 
 004E 0100              .byte 1,0 
 0050 0300              .byte 3,0 
 0052 0100              .byte 1,0 
 0054 0200              .byte 2,0 
 0056 0100              .byte 1,0 
 0058 0400              .byte 4,0 
 005A 0100              .byte 1,0 
 005C 0200              .byte 2,0 
 005E 0100              .byte 1,0 
 0060 0300              .byte 3,0 
 0062 0100              .byte 1,0 
 0064 0200              .byte 2,0 
 0066 0100              .byte 1,0 
 0068 0500              .byte 5,0 
 006A 0100              .byte 1,0 
 006C 0200              .byte 2,0 
 006E 0100              .byte 1,0 
 0070 0300              .byte 3,0 
 0072 0100              .byte 1,0 
 0074 0200              .byte 2,0 
 0076 0100              .byte 1,0 
 0078 0400              .byte 4,0 
 007A 0100              .byte 1,0 
 007C 0200              .byte 2,0 
 007E 0100              .byte 1,0 
 0080 0300              .byte 3,0 
 0082 0100              .byte 1,0 
 0084 0200              .byte 2,0 
 0086 0100              .byte 1,0 
 0088 0700              .byte 7,0 
 008A 0100              .byte 1,0 
 008C 0200              .byte 2,0 
 008E 0100              .byte 1,0 
 0090 0300              .byte 3,0 
 0092 0100              .byte 1,0 
 0094 0200              .byte 2,0 
 0096 0100              .byte 1,0 
 0098 0400              .byte 4,0 
 009A 0100              .byte 1,0 
 009C 0200              .byte 2,0 
 009E 0100              .byte 1,0 
 00A0 0300              .byte 3,0 
 00A2 0100              .byte 1,0 
 00A4 0200              .byte 2,0 
 00A6 0100              .byte 1,0 
 00A8 0500              .byte 5,0 
 00AA 0100              .byte 1,0 
 00AC 0200              .byte 2,0 
 00AE 0100              .byte 1,0 
 00B0 0300              .byte 3,0 
 00B2 0100              .byte 1,0 
 00B4 0200              .byte 2,0 
 00B6 0100              .byte 1,0 
 00B8 0400              .byte 4,0 
 00BA 0100              .byte 1,0 
 00BC 0200              .byte 2,0 
 00BE 0100              .byte 1,0 
 00C0 0300              .byte 3,0 
 00C2 0100              .byte 1,0 
 00C4 0200              .byte 2,0 
 00C6 0100              .byte 1,0 
 00C8 0600              .byte 6,0 
 00CA 0100              .byte 1,0 
 00CC 0200              .byte 2,0 
 00CE 0100              .byte 1,0 
 00D0 0300              .byte 3,0 
 00D2 0100              .byte 1,0 
 00D4 0200              .byte 2,0 
 00D6 0100              .byte 1,0 
 00D8 0400              .byte 4,0 
 00DA 0100              .byte 1,0 
 00DC 0200              .byte 2,0 
 00DE 0100              .byte 1,0 
 00E0 0300              .byte 3,0 
 00E2 0100              .byte 1,0 
 00E4 0200              .byte 2,0 
 00E6 0100              .byte 1,0 
 00E8 0500              .byte 5,0 
 00EA 0100              .byte 1,0 
 00EC 0200              .byte 2,0 
 00EE 0100              .byte 1,0 
 00F0 0300              .byte 3,0 
 00F2 0100              .byte 1,0 
 00F4 0200              .byte 2,0 
 00F6 0100              .byte 1,0 
 00F8 0400              .byte 4,0 
 00FA 0100              .byte 1,0 
 00FC 0200              .byte 2,0 
 00FE 0100              .byte 1,0 
 0100 0300              .byte 3,0 
 0102 0100              .byte 1,0 
 0104 0200              .byte 2,0 
 0106 0100              .byte 1,0 
                        .area text(rom, con, rel) 
                ;              i -> R10,R11 
                        .even 
 0000           _OSInit:: 
 0000 0E940000          xcall push_gset3x 
 0004 2397              sbiw R28,3 
 0006           ; /* 
 0006           ; ********************************************************************************************************* 
 0006           ; *                                                uC/OS-II 
 0006           ; *                                          The Real-Time Kernel 
 0006           ; * 
 0006           ; *                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL 
 0006           ; *                                           All Rights Reserved 
 0006           ; * 
 0006           ; *                                                  V2.00 
 0006           ; * 
 0006           ; * File : uCOS_II.C 
 0006           ; * By   : Jean J. Labrosse 
 0006           ; ********************************************************************************************************* 
 0006           ; */ 
 0006           ;  
 0006           ; #define  OS_GLOBALS                           /* Declare GLOBAL variables                              */ 
 0006           ; #include "includes.h" 
 0006           ;  
 0006           ;  
 0006           ; #define  OS_MASTER_FILE                       /* Prevent the following files from including includes.h */ 
 0006           ; #include "os_core.c" 
 0006           ; #include "os_task.c" 
 0006           ; #include "os_time.c" 
 0006           ; //#include "uart.c" 
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006           ;  
 0006 80E0              ldi R24,0 
 0008 90E0              ldi R25,0 
 000A A0E0              ldi R26,0 
 000C B0E0              ldi R27,0 
 000E 9093BA00          sts _OSTime+1,R25 
 0012 8093B900          sts _OSTime,R24 
 0016 B093BC00          sts _OSTime+2+1,R27 
 001A A093BB00          sts _OSTime+2,R26 
 001E           ;  
 001E 2224              clr R2 
 0020 2092ED00          sts _OSIntNesting,R2 
 0024           ;  
 0024 2092EC00          sts _OSLockNesting,R2 
 0028           ;  
 0028           ;  
 0028 2092E500          sts _OSTaskCtr,R2 
 002C           ;  
 002C           ;  
 002C 2092E600          sts _OSRunning,R2 
 0030           ;  
 0030 80E0              ldi R24,0 
 0032 90E0              ldi R25,0 
 0034 A0E0              ldi R26,0 
 0036 B0E0              ldi R27,0 
 0038 9093EF00          sts _OSIdleCtr+1,R25 
 003C 8093EE00          sts _OSIdleCtr,R24 
 0040 B093F100          sts _OSIdleCtr+2+1,R27 
 0044 A093F000          sts _OSIdleCtr+2,R26 
 0048           ;  
 0048           ;  
 0048 80E0              ldi R24,0 
 004A 90E0              ldi R25,0 
 004C A0E0              ldi R26,0 
 004E B0E0              ldi R27,0 
 0050 90930501          sts _OSCtxSwCtr+1,R25 
 0054 80930401          sts _OSCtxSwCtr,R24 
 0058 B0930701          sts _OSCtxSwCtr+2+1,R27 
 005C A0930601          sts _OSCtxSwCtr+2,R26 
 0060           ;  
 0060 2092E900          sts _OSRdyGrp,R2 
 0064 AA24              clr R10 
 0066 BB24              clr R11 
 0068 0AC0              xjmp L6 
 006A           L3: 
 006A 80E0              ldi R24,<_OSRdyTbl 
 006C 90E0              ldi R25,>_OSRdyTbl 
 006E F501              movw R30,R10 
 0070 E80F              add R30,R24 
 0072 F91F              adc R31,R25 
 0074 2224              clr R2 
 0076 2082              std z+0,R2 
 0078           L4: 
 0078 C501              movw R24,R10 
 007A 0196              adiw R24,1 
 007C 5C01              movw R10,R24 
 007E           L6: 
 007E           ;  
 007E C501              movw R24,R10 
 0080 8230              cpi R24,2 
 0082 E0E0              ldi R30,0 
 0084 9E07              cpc R25,R30 
 0086 88F3              brlo L3 
 0088           ;  
 0088           ;  
 0088           ;  
 0088           ;  
 0088 2224              clr R2 
 008A 2092EB00          sts _OSPrioCur,R2 
 008E           ;  
 008E 2092EA00          sts _OSPrioHighRdy,R2 
 0092           ;  
 0092 3324              clr R3 
 0094 3092E000          sts _OSTCBHighRdy+1,R3 
 0098 2092DF00          sts _OSTCBHighRdy,R2 
 009C           ;  
 009C 3092E400          sts _OSTCBCur+1,R3 
 00A0 2092E300          sts _OSTCBCur,R2 
 00A4           ;  
 00A4 3092DE00          sts _OSTCBList+1,R3 
 00A8 2092DD00          sts _OSTCBList,R2 
 00AC AA24              clr R10 
 00AE BB24              clr R11 
 00B0 11C0              xjmp L10 
 00B2           L7: 
 00B2 02E0              ldi R16,2 
 00B4 10E0              ldi R17,0 
 00B6 9501              movw R18,R10 
 00B8 0E940000          xcall empy16s 
 00BC F801              movw R30,R16 
 00BE 80E0              ldi R24,<_OSTCBPrioTbl 
 00C0 90E0              ldi R25,>_OSTCBPrioTbl 
 00C2 E80F              add R30,R24 
 00C4 F91F              adc R31,R25 
 00C6 2224              clr R2 
 00C8 3324              clr R3 
 00CA 3182              std z+1,R3 
 00CC 2082              std z+0,R2 
 00CE           L8: 
 00CE C501              movw R24,R10 
 00D0 0196              adiw R24,1 
 00D2 5C01              movw R10,R24 
 00D4           L10: 
 00D4           ;  
 00D4 C501              movw R24,R10 
 00D6 8031              cpi R24,16 
 00D8 E0E0              ldi R30,0 
 00DA 9E07              cpc R25,R30 
 00DC 50F3              brlo L7 
 00DE AA24              clr R10 
 00E0 BB24              clr R11 
 00E2 1BC0              xjmp L14 
 00E4           L11: 
 00E4 9501              movw R18,R10 
 00E6 2F5F              subi R18,255  ; offset = 1 
 00E8 3F4F              sbci R19,255 
 00EA 0EE0              ldi R16,14 
 00EC 10E0              ldi R17,0 
 00EE 0E940000          xcall empy16s 
 00F2 1801              movw R2,R16 
 00F4 80E0              ldi R24,<_OSTCBTbl 
 00F6 90E0              ldi R25,>_OSTCBTbl 
 00F8 280E              add R2,R24 
 00FA 391E              adc R3,R25 
 00FC 0EE0              ldi R16,14 
 00FE 10E0              ldi R17,0 
 0100 9501              movw R18,R10 
 0102 0E940000          xcall empy16s 
 0106 F801              movw R30,R16 
 0108 80E0              ldi R24,<_OSTCBTbl+2 
 010A 90E0              ldi R25,>_OSTCBTbl+2 
 010C E80F              add R30,R24 
 010E F91F              adc R31,R25 
 0110 3182              std z+1,R3 
 0112 2082              std z+0,R2 
 0114           L12: 
 0114 C501              movw R24,R10 
 0116 0196              adiw R24,1 
 0118 5C01              movw R10,R24 
 011A           L14: 
 011A           ;  
 011A           ;  
 011A           ;  
 011A C501              movw R24,R10 
 011C 8530              cpi R24,5 
 011E E0E0              ldi R30,0 
 0120 9E07              cpc R25,R30 
 0122 00F3              brlo L11 
 0124           ;  
 0124           ;  
 0124           ;  
 0124 2224              clr R2 
 0126 3324              clr R3 
 0128 30924900          sts _OSTCBTbl+70+2+1,R3 
 012C 20924800          sts _OSTCBTbl+70+2,R2 
 0130           ;  
 0130 80E0              ldi R24,<_OSTCBTbl 
 0132 90E0              ldi R25,>_OSTCBTbl 
 0134 9093E200          sts _OSTCBFreeList+1,R25 
 0138 8093E100          sts _OSTCBFreeList,R24 
 013C AA24              clr R10 
 013E BB24              clr R11 
 0140 1BC0              xjmp L21 
 0142           L18: 
 0142 9501              movw R18,R10 
 0144 2F5F              subi R18,255  ; offset = 1 
 0146 3F4F              sbci R19,255 
 0148 08E0              ldi R16,8 
 014A 10E0              ldi R17,0 
 014C 0E940000          xcall empy16s 
 0150 1801              movw R2,R16 
 0152 80E0              ldi R24,<_OSEventTbl 
 0154 90E0              ldi R25,>_OSEventTbl 
 0156 280E              add R2,R24 
 0158 391E              adc R3,R25 
 015A 08E0              ldi R16,8 
 015C 10E0              ldi R17,0 
 015E 9501              movw R18,R10 
 0160 0E940000          xcall empy16s 
 0164 F801              movw R30,R16 
 0166 80E0              ldi R24,<_OSEventTbl 
 0168 90E0              ldi R25,>_OSEventTbl 
 016A E80F              add R30,R24 
 016C F91F              adc R31,R25 
 016E 3182              std z+1,R3 
 0170 2082              std z+0,R2 
 0172           L19: 
 0172 C501              movw R24,R10 
 0174 0196              adiw R24,1 
 0176 5C01              movw R10,R24 
 0178           L21: 
 0178           ;  
 0178           ;  
 0178           ;  
 0178 C501              movw R24,R10 
 017A 8130              cpi R24,1 
 017C E0E0              ldi R30,0 
 017E 9E07              cpc R25,R30 
 0180 00F3              brlo L18 
 0182           ;  
 0182           ;  
 0182           ;  
 0182 2224              clr R2 
 0184 3324              clr R3 
 0186 3092FB00          sts _OSEventTbl+8+1,R3 
 018A 2092FA00          sts _OSEventTbl+8,R2 
 018E           ;  
 018E 80E0              ldi R24,<_OSEventTbl 
 0190 90E0              ldi R25,>_OSEventTbl 
 0192 90930301          sts _OSEventFreeList+1,R25 
 0196 80930201          sts _OSEventFreeList,R24 
 019A           ;  
 019A           ;  
 019A           ;  
 019A           ;  
 019A 8FE0              ldi R24,15 
 019C 8A83              std y+2,R24 
 019E 80E0              ldi R24,<_OSTaskIdleStk+99 
 01A0 90E0              ldi R25,>_OSTaskIdleStk+99 
 01A2 9983              std y+1,R25 
 01A4 8883              std y+0,R24 
 01A6 2227              clr R18 
 01A8 3327              clr R19 
 01AA 00E0              ldi R16,PL_OSTaskIdle 
 01AE 2CD3              xcall _OSTaskCreate 
 01B0           L2: 
 01B0 2396              adiw R28,3 
 01B2 0E940000          xcall pop_gset3x 
 01B6                   .dbline 0 ; func end 
 01B6 0895              ret 
                        .even 
 01B8           _OSIntExit:: 
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8           ;  
 01B8 0A93              st -y,r16 
 01BA 0FB7              in r16,0x3F 
 01BC F894              cli 
 01BE 0F93              push r16 
 01C0 0991              ld r16,y+ 
 01C2           ;  
 01C2 8091ED00          lds R24,_OSIntNesting 
 01C6 8150              subi R24,1 
 01C8 282E              mov R2,R24 
 01CA 2092ED00          sts _OSIntNesting,R2 
 01CE 4090EC00          lds R4,_OSLockNesting 
 01D2 2428              or R2,R4 
 01D4 09F0              breq X0 
 01D6 50C0              xjmp L25 
 01D8           X0: 
 01D8           ;  
 01D8 80E0              ldi R24,<_OSUnMapTbl 
 01DA 90E0              ldi R25,>_OSUnMapTbl 
 01DC E091E900          lds R30,_OSRdyGrp 
 01E0 FF27              clr R31 
 01E2 E80F              add R30,R24 
 01E4 F91F              adc R31,R25 
 01E6 E491              lpm R30,Z 
 01E8 E093B800          sts _OSIntExitY,R30 
 01EC           ;  
 01EC 80E0              ldi R24,<_OSRdyTbl 
 01EE 90E0              ldi R25,>_OSRdyTbl 
 01F0 FF27              clr R31 
 01F2 E80F              add R30,R24 
 01F4 F91F              adc R31,R25 
 01F6 E081              ldd R30,z+0 
 01F8 FF27              clr R31 
 01FA 80E0              ldi R24,<_OSUnMapTbl 
 01FC 90E0              ldi R25,>_OSUnMapTbl 
 01FE E80F              add R30,R24 
 0200 F91F              adc R31,R25 
 0202 2490              lpm R2,Z 
 0204 3324              clr R3 
 0206 4090B800          lds R4,_OSIntExitY 
 020A 5524              clr R5 
 020C 440C              lsl R4 
 020E 551C              rol R5 
 0210 440C              lsl R4 
 0212 551C              rol R5 
 0214 440C              lsl R4 
 0216 551C              rol R5 
 0218 420C              add R4,R2 
 021A 531C              adc R5,R3 
 021C 4092EA00          sts _OSPrioHighRdy,R4 
 0220           ;  
 0220 2090EB00          lds R2,_OSPrioCur 
 0224 4214              cp R4,R2 
 0226 41F1              breq L27 
 0228           ;  
 0228 242C              mov R2,R4 
 022A 82E0              ldi R24,2 
 022C 829D              mul R24,R2 
 022E F001              movw R30,R0 
 0230 80E0              ldi R24,<_OSTCBPrioTbl 
 0232 90E0              ldi R25,>_OSTCBPrioTbl 
 0234 E80F              add R30,R24 
 0236 F91F              adc R31,R25 
 0238 2080              ldd R2,z+0 
 023A 3180              ldd R3,z+1 
 023C 3092E000          sts _OSTCBHighRdy+1,R3 
 0240 2092DF00          sts _OSTCBHighRdy,R2 
 0244           ;  
 0244 81E0              ldi R24,1 
 0246 90E0              ldi R25,0 
 0248 A0E0              ldi R26,0 
 024A B0E0              ldi R27,0 
 024C 40900601          lds R4,_OSCtxSwCtr+2 
 0250 50900701          lds R5,_OSCtxSwCtr+2+1 
 0254 20900401          lds R2,_OSCtxSwCtr 
 0258 30900501          lds R3,_OSCtxSwCtr+1 
 025C 280E              add R2,R24 
 025E 391E              adc R3,R25 
 0260 4A1E              adc R4,R26 
 0262 5B1E              adc R5,R27 
 0264 30920501          sts _OSCtxSwCtr+1,R3 
 0268 20920401          sts _OSCtxSwCtr,R2 
 026C 50920701          sts _OSCtxSwCtr+2+1,R5 
 0270 40920601          sts _OSCtxSwCtr+2,R4 
 0274           ;  
 0274 0E940000          xcall _OSIntCtxSw 
 0278           ;  
 0278           L27: 
 0278           ;  
 0278           L25: 
 0278           ;  
 0278 0A93              st -y,r16 
 027A 0F91              pop r16 
 027C 0FBF              out 0x3F,r16 
 027E 0991              ld r16,y+ 
 0280           L24: 
 0280                   .dbline 0 ; func end 
 0280 0895              ret 
 0282           ;              y -> R10 
                        .even 
 0282           _OSSched:: 
 0282 0E940000          xcall push_gset3x 
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286           ;  
 0286 0A93              st -y,r16 
 0288 0FB7              in r16,0x3F 
 028A F894              cli 
 028C 0F93              push r16 
 028E 0991              ld r16,y+ 
 0290           ;  
 0290 2090ED00          lds R2,_OSIntNesting 
 0294 3090EC00          lds R3,_OSLockNesting 
 0298 3228              or R3,R2 
 029A 09F0              breq X1 
 029C 4EC0              xjmp L30 
 029E           X1: 
 029E           ;  
 029E 80E0              ldi R24,<_OSUnMapTbl 
 02A0 90E0              ldi R25,>_OSUnMapTbl 
 02A2 E091E900          lds R30,_OSRdyGrp 
 02A6 FF27              clr R31 
 02A8 E80F              add R30,R24 
 02AA F91F              adc R31,R25 
 02AC A490              lpm R10,Z 
 02AE           ;  
 02AE 80E0              ldi R24,<_OSRdyTbl 
 02B0 90E0              ldi R25,>_OSRdyTbl 
 02B2 EA2D              mov R30,R10 
 02B4 FF27              clr R31 
 02B6 E80F              add R30,R24 
 02B8 F91F              adc R31,R25 
 02BA E081              ldd R30,z+0 
 02BC FF27              clr R31 
 02BE 80E0              ldi R24,<_OSUnMapTbl 
 02C0 90E0              ldi R25,>_OSUnMapTbl 
 02C2 E80F              add R30,R24 
 02C4 F91F              adc R31,R25 
 02C6 2490              lpm R2,Z 
 02C8 3324              clr R3 
 02CA 4A2C              mov R4,R10 
 02CC 5524              clr R5 
 02CE 440C              lsl R4 
 02D0 551C              rol R5 
 02D2 440C              lsl R4 
 02D4 551C              rol R5 
 02D6 440C              lsl R4 
 02D8 551C              rol R5 
 02DA 420C              add R4,R2 
 02DC 531C              adc R5,R3 
 02DE 4092EA00          sts _OSPrioHighRdy,R4 
 02E2           ;  
 02E2 2090EB00          lds R2,_OSPrioCur 
 02E6 4214              cp R4,R2 
 02E8 41F1              breq L32 
 02EA           ;  
 02EA 242C              mov R2,R4 
 02EC 82E0              ldi R24,2 
 02EE 829D              mul R24,R2 
 02F0 F001              movw R30,R0 
 02F2 80E0              ldi R24,<_OSTCBPrioTbl 
 02F4 90E0              ldi R25,>_OSTCBPrioTbl 
 02F6 E80F              add R30,R24 
 02F8 F91F              adc R31,R25 
 02FA 2080              ldd R2,z+0 
 02FC 3180              ldd R3,z+1 
 02FE 3092E000          sts _OSTCBHighRdy+1,R3 
 0302 2092DF00          sts _OSTCBHighRdy,R2 
 0306           ;  
 0306 81E0              ldi R24,1 
 0308 90E0              ldi R25,0 
 030A A0E0              ldi R26,0 
 030C B0E0              ldi R27,0 
 030E 40900601          lds R4,_OSCtxSwCtr+2 
 0312 50900701          lds R5,_OSCtxSwCtr+2+1 
 0316 20900401          lds R2,_OSCtxSwCtr 
 031A 30900501          lds R3,_OSCtxSwCtr+1 
 031E 280E              add R2,R24 
 0320 391E              adc R3,R25 
 0322 4A1E              adc R4,R26 
 0324 5B1E              adc R5,R27 
 0326 30920501          sts _OSCtxSwCtr+1,R3 
 032A 20920401          sts _OSCtxSwCtr,R2 
 032E 50920701          sts _OSCtxSwCtr+2+1,R5 
 0332 40920601          sts _OSCtxSwCtr+2,R4 
 0336           ;  
 0336 0E940000          xcall _OSCtxSw 
 033A           ;  
 033A           L32: 
 033A           ;  
 033A           L30: 
 033A           ;  
 033A 0A93              st -y,r16 
 033C 0F91              pop r16 
 033E 0FBF              out 0x3F,r16 
 0340 0991              ld r16,y+ 
 0342           L29: 
 0342 0E940000          xcall pop_gset3x 
 0346                   .dbline 0 ; func end 
 0346 0895              ret 
 0348           ;              x -> R12 
 0348           ;              y -> R10 
                        .even 
 0348           _OSStart:: 
 0348 0E940000          xcall push_gset4x 
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C           ;  
 034C 2090E600          lds R2,_OSRunning 
 0350 2220              tst R2 
 0352 09F0              breq X2 
 0354 39C0              xjmp L35 
 0356           X2: 
 0356           ;  
 0356 80E0              ldi R24,<_OSUnMapTbl 
 0358 90E0              ldi R25,>_OSUnMapTbl 
 035A E091E900          lds R30,_OSRdyGrp 
 035E FF27              clr R31 
 0360 E80F              add R30,R24 
 0362 F91F              adc R31,R25 
 0364 A490              lpm R10,Z 
 0366           ;  
 0366 80E0              ldi R24,<_OSRdyTbl 
 0368 90E0              ldi R25,>_OSRdyTbl 
 036A EA2D              mov R30,R10 
 036C FF27              clr R31 
 036E E80F              add R30,R24 
 0370 F91F              adc R31,R25 
 0372 E081              ldd R30,z+0 
 0374 FF27              clr R31 
 0376 80E0              ldi R24,<_OSUnMapTbl 
 0378 90E0              ldi R25,>_OSUnMapTbl 
 037A E80F              add R30,R24 
 037C F91F              adc R31,R25 
 037E C490              lpm R12,Z 
 0380           ;  
 0380 2C2C              mov R2,R12 
 0382 3324              clr R3 
 0384 4A2C              mov R4,R10 
 0386 5524              clr R5 
 0388 440C              lsl R4 
 038A 551C              rol R5 
 038C 440C              lsl R4 
 038E 551C              rol R5 
 0390 440C              lsl R4 
 0392 551C              rol R5 
 0394 420C              add R4,R2 
 0396 531C              adc R5,R3 
 0398 4092EA00          sts _OSPrioHighRdy,R4 
 039C           ;  
 039C 242C              mov R2,R4 
 039E 2092EB00          sts _OSPrioCur,R2 
 03A2           ;  
 03A2 82E0              ldi R24,2 
 03A4 829D              mul R24,R2 
 03A6 F001              movw R30,R0 
 03A8 80E0              ldi R24,<_OSTCBPrioTbl 
 03AA 90E0              ldi R25,>_OSTCBPrioTbl 
 03AC E80F              add R30,R24 
 03AE F91F              adc R31,R25 
 03B0 2080              ldd R2,z+0 
 03B2 3180              ldd R3,z+1 
 03B4 3092E000          sts _OSTCBHighRdy+1,R3 
 03B8 2092DF00          sts _OSTCBHighRdy,R2 
 03BC           ;  
 03BC 3092E400          sts _OSTCBCur+1,R3 
 03C0 2092E300          sts _OSTCBCur,R2 
 03C4           ;  
 03C4 0E940000          xcall _OSStartHighRdy 
 03C8           ;  
 03C8           L35: 
 03C8           L34: 
 03C8 0E940000          xcall pop_gset4x 
 03CC                   .dbline 0 ; func end 
 03CC 0895              ret 
 03CE           ;          pdata -> R16,R17 
                        .even 
 03CE           _OSTaskIdle:: 
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           ;  
 03CE           L38: 
 03CE           ;  
 03CE           ;  
 03CE 0A93              st -y,r16 
 03D0 0FB7              in r16,0x3F 
 03D2 F894              cli 
 03D4 0F93              push r16 
 03D6 0991              ld r16,y+ 
 03D8           ;  
 03D8 81E0              ldi R24,1 
 03DA 90E0              ldi R25,0 
 03DC A0E0              ldi R26,0 
 03DE B0E0              ldi R27,0 
 03E0 4090F000          lds R4,_OSIdleCtr+2 
 03E4 5090F100          lds R5,_OSIdleCtr+2+1 
 03E8 2090EE00          lds R2,_OSIdleCtr 
 03EC 3090EF00          lds R3,_OSIdleCtr+1 
 03F0 280E              add R2,R24 
 03F2 391E              adc R3,R25 
 03F4 4A1E              adc R4,R26 
 03F6 5B1E              adc R5,R27 
 03F8 3092EF00          sts _OSIdleCtr+1,R3 
 03FC 2092EE00          sts _OSIdleCtr,R2 
 0400 5092F100          sts _OSIdleCtr+2+1,R5 
 0404 4092F000          sts _OSIdleCtr+2,R4 
 0408           ;  
 0408 0A93              st -y,r16 
 040A 0F91              pop r16 
 040C 0FBF              out 0x3F,r16 
 040E 0991              ld r16,y+ 
 0410           ;  
 0410 DECF              xjmp L38 
 0412           X3: 
 0412           L37: 
 0412                   .dbline 0 ; func end 
 0412 0895              ret 
 0414           ;           ptcb -> R10,R11 
 0414           ;            opt -> y+10 
 0414           ;           pext -> y+8 
 0414           ;       stk_size -> y+6 
 0414           ;             id -> y+4 
 0414           ;           pbos -> y+2 
 0414           ;           ptos -> R18,R19 
 0414           ;           prio -> R16 
                        .even 
 0414           _OSTCBInit:: 
 0414 0E940000          xcall push_gset3x 
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418           ;  
 0418 0A93              st -y,r16 
 041A 0FB7              in r16,0x3F 
 041C F894              cli 
 041E 0F93              push r16 
 0420 0991              ld r16,y+ 
 0422           ;  
 0422 A090E100          lds R10,_OSTCBFreeList 
 0426 B090E200          lds R11,_OSTCBFreeList+1 
 042A           ;  
 042A AA20              tst R10 
 042C 19F4              brne X4 
 042E BB20              tst R11 
 0430 09F4              brne X6 
 0432 7CC0              xjmp L43 
 0434           X6: 
 0434           X4: 
 0434           ;  
 0434 F501              movw R30,R10 
 0436 2280              ldd R2,z+2 
 0438 3380              ldd R3,z+3 
 043A 3092E200          sts _OSTCBFreeList+1,R3 
 043E 2092E100          sts _OSTCBFreeList,R2 
 0442           ;  
 0442 0A93              st -y,r16 
 0444 0F91              pop r16 
 0446 0FBF              out 0x3F,r16 
 0448 0991              ld r16,y+ 
 044A           ;  
 044A F501              movw R30,R10 
 044C 3183              std z+1,R19 
 044E 2083              std z+0,R18 
 0450           ;  
 0450 0187              std z+9,R16 
 0452           ;  
 0452 2224              clr R2 
 0454 F501              movw R30,R10 
 0456 2086              std z+8,R2 
 0458           ;  
 0458 3324              clr R3 
 045A F501              movw R30,R10 
 045C 3782              std z+7,R3 
 045E 2682              std z+6,R2 
 0460           ;  
 0460           ;  
 0460           ;  
 0460           ;  
 0460           ;  
 0460           ;  
 0460           ;  
 0460           ;  
 0460 202E              mov R2,R16 
 0462 2694              lsr R2 
 0464 2694              lsr R2 
 0466 2694              lsr R2 
 0468 F501              movw R30,R10 
 046A 2386              std z+11,R2 
 046C           ;  
 046C 80E0              ldi R24,<_OSMapTbl 
 046E 90E0              ldi R25,>_OSMapTbl 
 0470 F501              movw R30,R10 
 0472 E385              ldd R30,z+11 
 0474 FF27              clr R31 
 0476 E80F              add R30,R24 
 0478 F91F              adc R31,R25 
 047A E491              lpm R30,Z 
 047C D501              movw R26,R10 
 047E 1D96              adiw R26,13 
 0480 EC93              st x,R30 
 0482           ;  
 0482 802F              mov R24,R16 
 0484 8770              andi R24,7 
 0486 F501              movw R30,R10 
 0488 8287              std z+10,R24 
 048A           ;  
 048A 80E0              ldi R24,<_OSMapTbl 
 048C 90E0              ldi R25,>_OSMapTbl 
 048E F501              movw R30,R10 
 0490 E285              ldd R30,z+10 
 0492 FF27              clr R31 
 0494 E80F              add R30,R24 
 0496 F91F              adc R31,R25 
 0498 E491              lpm R30,Z 
 049A D501              movw R26,R10 
 049C 1C96              adiw R26,12 
 049E EC93              st x,R30 
 04A0           ;  
 04A0           ;  
 04A0 0A93              st -y,r16 
 04A2 0FB7              in r16,0x3F 
 04A4 F894              cli 
 04A6 0F93              push r16 
 04A8 0991              ld r16,y+ 
 04AA           ;  
 04AA 82E0              ldi R24,2 
 04AC 809F              mul R24,R16 
 04AE F001              movw R30,R0 
 04B0 80E0              ldi R24,<_OSTCBPrioTbl 
 04B2 90E0              ldi R25,>_OSTCBPrioTbl 
 04B4 E80F              add R30,R24 
 04B6 F91F              adc R31,R25 
 04B8 B182              std z+1,R11 
 04BA A082              std z+0,R10 
 04BC           ;  
 04BC 2090DD00          lds R2,_OSTCBList 
 04C0 3090DE00          lds R3,_OSTCBList+1 
 04C4 F501              movw R30,R10 
 04C6 3382              std z+3,R3 
 04C8 2282              std z+2,R2 
 04CA           ;  
 04CA 2224              clr R2 
 04CC 3324              clr R3 
 04CE F501              movw R30,R10 
 04D0 3582              std z+5,R3 
 04D2 2482              std z+4,R2 
 04D4           ;  
 04D4 2090DD00          lds R2,_OSTCBList 
 04D8 3090DE00          lds R3,_OSTCBList+1 
 04DC 2220              tst R2 
 04DE 11F4              brne X5 
 04E0 3320              tst R3 
 04E2 31F0              breq L45 
 04E4           X5: 
 04E4           ;  
 04E4 E091DD00          lds R30,_OSTCBList 
 04E8 F091DE00          lds R31,_OSTCBList+1 
 04EC B582              std z+5,R11 
 04EE A482              std z+4,R10 
 04F0           ;  
 04F0           L45: 
 04F0           ;  
 04F0 B092DE00          sts _OSTCBList+1,R11 
 04F4 A092DD00          sts _OSTCBList,R10 
 04F8           ;  
 04F8 F501              movw R30,R10 
 04FA 2584              ldd R2,z+13 
 04FC 3090E900          lds R3,_OSRdyGrp 
 0500 3228              or R3,R2 
 0502 3092E900          sts _OSRdyGrp,R3 
 0506           ;  
 0506 80E0              ldi R24,<_OSRdyTbl 
 0508 90E0              ldi R25,>_OSRdyTbl 
 050A F501              movw R30,R10 
 050C 2384              ldd R2,z+11 
 050E 3324              clr R3 
 0510 280E              add R2,R24 
 0512 391E              adc R3,R25 
 0514 F501              movw R30,R10 
 0516 4484              ldd R4,z+12 
 0518 F101              movw R30,R2 
 051A 5080              ldd R5,z+0 
 051C 5428              or R5,R4 
 051E 5082              std z+0,R5 
 0520           ;  
 0520 0A93              st -y,r16 
 0522 0F91              pop r16 
 0524 0FBF              out 0x3F,r16 
 0526 0991              ld r16,y+ 
 0528           ;  
 0528 0027              clr R16 
 052A 05C0              xjmp L42 
 052C           L43: 
 052C           ;  
 052C           ;  
 052C 0A93              st -y,r16 
 052E 0F91              pop r16 
 0530 0FBF              out 0x3F,r16 
 0532 0991              ld r16,y+ 
 0534           ;  
 0534 06E4              ldi R16,70 
 0536           L42: 
 0536 0E940000          xcall pop_gset3x 
 053A                   .dbline 0 ; func end 
 053A 0895              ret 
 053C           ;           ptcb -> R16,R17 
                        .even 
 053C           _OSTimeTick:: 
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C           ;  
 053C 0091DD00          lds R16,_OSTCBList 
 0540 1091DE00          lds R17,_OSTCBList+1 
 0544 3FC0              xjmp L49 
 0546           L48: 
 0546           ;  
 0546           ;  
 0546 0A93              st -y,r16 
 0548 0FB7              in r16,0x3F 
 054A F894              cli 
 054C 0F93              push r16 
 054E 0991              ld r16,y+ 
 0550           ;  
 0550 F801              movw R30,R16 
 0552 2680              ldd R2,z+6 
 0554 3780              ldd R3,z+7 
 0556 2220              tst R2 
 0558 19F4              brne X7 
 055A 3320              tst R3 
 055C 09F4              brne X9 
 055E 2BC0              xjmp L51 
 0560           X9: 
 0560           X7: 
 0560           ;  
 0560 C801              movw R24,R16 
 0562 0696              adiw R24,6 
 0564 FC01              movw R30,R24 
 0566 8081              ldd R24,z+0 
 0568 9181              ldd R25,z+1 
 056A 0197              sbiw R24,1 
 056C 2C01              movw R4,R24 
 056E 5182              std z+1,R5 
 0570 4082              std z+0,R4 
 0572 8030              cpi R24,0 
 0574 8907              cpc R24,R25 
 0576 09F0              breq X10 
 0578 1EC0              xjmp L53 
 057A           X10: 
 057A           X8: 
 057A           ;  
 057A F801              movw R30,R16 
 057C 2084              ldd R2,z+8 
 057E 23FC              sbrc R2,3 
 0580 15C0              rjmp L55 
 0582           ;  
 0582 F801              movw R30,R16 
 0584 2584              ldd R2,z+13 
 0586 3090E900          lds R3,_OSRdyGrp 
 058A 3228              or R3,R2 
 058C 3092E900          sts _OSRdyGrp,R3 
 0590           ;  
 0590 80E0              ldi R24,<_OSRdyTbl 
 0592 90E0              ldi R25,>_OSRdyTbl 
 0594 F801              movw R30,R16 
 0596 2384              ldd R2,z+11 
 0598 3324              clr R3 
 059A 280E              add R2,R24 
 059C 391E              adc R3,R25 
 059E F801              movw R30,R16 
 05A0 4484              ldd R4,z+12 
 05A2 F101              movw R30,R2 
 05A4 5080              ldd R5,z+0 
 05A6 5428              or R5,R4 
 05A8 5082              std z+0,R5 
 05AA 05C0              xjmp L56 
 05AC           L55: 
 05AC           ;  
 05AC           ;  
 05AC 81E0              ldi R24,1 
 05AE 90E0              ldi R25,0 
 05B0 F801              movw R30,R16 
 05B2 9783              std z+7,R25 
 05B4 8683              std z+6,R24 
 05B6           ;  
 05B6           L56: 
 05B6           ;  
 05B6           L53: 
 05B6           ;  
 05B6           L51: 
 05B6 F801              movw R30,R16 
 05B8 0281              ldd R16,z+2 
 05BA 1381              ldd R17,z+3 
 05BC 0A93              st -y,r16 
 05BE 0F91              pop r16 
 05C0 0FBF              out 0x3F,r16 
 05C2 0991              ld r16,y+ 
 05C4           L49: 
 05C4 F801              movw R30,R16 
 05C6 8185              ldd R24,z+9 
 05C8 8F30              cpi R24,15 
 05CA 09F0              breq X11 
 05CC BCCF              xjmp L48 
 05CE           X11: 
 05CE           ;  
 05CE           ;  
 05CE           ;  
 05CE           ;  
 05CE 0A93              st -y,r16 
 05D0 0FB7              in r16,0x3F 
 05D2 F894              cli 
 05D4 0F93              push r16 
 05D6 0991              ld r16,y+ 
 05D8           ;  
 05D8 81E0              ldi R24,1 
 05DA 90E0              ldi R25,0 
 05DC A0E0              ldi R26,0 
 05DE B0E0              ldi R27,0 
 05E0 4090BB00          lds R4,_OSTime+2 
 05E4 5090BC00          lds R5,_OSTime+2+1 
 05E8 2090B900          lds R2,_OSTime 
 05EC 3090BA00          lds R3,_OSTime+1 
 05F0 280E              add R2,R24 
 05F2 391E              adc R3,R25 
 05F4 4A1E              adc R4,R26 
 05F6 5B1E              adc R5,R27 
 05F8 3092BA00          sts _OSTime+1,R3 
 05FC 2092B900          sts _OSTime,R2 
 0600 5092BC00          sts _OSTime+2+1,R5 
 0604 4092BB00          sts _OSTime+2,R4 
 0608           ;  
 0608 0A93              st -y,r16 
 060A 0F91              pop r16 
 060C 0FBF              out 0x3F,r16 
 060E 0991              ld r16,y+ 
 0610           L47: 
 0610                   .dbline 0 ; func end 
 0610 0895              ret 
 0612           ;           stks -> R14,R15 
 0612           ;            tmp -> R12,R13 
 0612           ;            stk -> R10,R11 
 0612           ;            opt -> y+8 
 0612           ;           ptos -> y+6 
 0612           ;          pdata -> R18,R19 
 0612           ;           task -> R16,R17 
                        .even 
 0612           _OSTaskStkInit:: 
 0612 0E940000          xcall push_gset5x 
 0616 AE80              ldd R10,y+6 
 0618 BF80              ldd R11,y+7 
 061A C501              movw R24,R10 
 061C 8454              subi R24,68 
 061E 9040              sbci R25,0 
 0620 F801              movw R30,R16 
 0622 C590              lpm R12,Z+ 
 0624 D490              lpm R13,Z 
 0626 1C01              movw R2,R24 
 0628 0197              sbiw R24,1 
 062A F101              movw R30,R2 
 062C C082              std z+0,R12 
 062E 1C01              movw R2,R24 
 0630 0197              sbiw R24,1 
 0632 7C01              movw R14,R24 
 0634 2601              movw R4,R12 
 0636 452C              mov R4,R5 
 0638 5524              clr R5 
 063A F101              movw R30,R2 
 063C 4082              std z+0,R4 
 063E 1501              movw R2,R10 
 0640 C101              movw R24,R2 
 0642 0197              sbiw R24,1 
 0644 4424              clr R4 
 0646 F101              movw R30,R2 
 0648 4082              std z+0,R4 
 064A 1C01              movw R2,R24 
 064C 0197              sbiw R24,1 
 064E 5C01              movw R10,R24 
 0650 81E0              ldi R24,1 
 0652 F101              movw R30,R2 
 0654 8083              std z+0,R24 
 0656 1501              movw R2,R10 
 0658 C101              movw R24,R2 
 065A 0197              sbiw R24,1 
 065C 5C01              movw R10,R24 
 065E 82E0              ldi R24,2 
 0660 F101              movw R30,R2 
 0662 8083              std z+0,R24 
 0664 1501              movw R2,R10 
 0666 C101              movw R24,R2 
 0668 0197              sbiw R24,1 
 066A 5C01              movw R10,R24 
 066C 83E0              ldi R24,3 
 066E F101              movw R30,R2 
 0670 8083              std z+0,R24 
 0672 1501              movw R2,R10 
 0674 C101              movw R24,R2 
 0676 0197              sbiw R24,1 
 0678 5C01              movw R10,R24 
 067A 84E0              ldi R24,4 
 067C F101              movw R30,R2 
 067E 8083              std z+0,R24 
 0680 1501              movw R2,R10 
 0682 C101              movw R24,R2 
 0684 0197              sbiw R24,1 
 0686 5C01              movw R10,R24 
 0688 85E0              ldi R24,5 
 068A F101              movw R30,R2 
 068C 8083              std z+0,R24 
 068E 1501              movw R2,R10 
 0690 C101              movw R24,R2 
 0692 0197              sbiw R24,1 
 0694 5C01              movw R10,R24 
 0696 86E0              ldi R24,6 
 0698 F101              movw R30,R2 
 069A 8083              std z+0,R24 
 069C 1501              movw R2,R10 
 069E C101              movw R24,R2 
 06A0 0197              sbiw R24,1 
 06A2 5C01              movw R10,R24 
 06A4 87E0              ldi R24,7 
 06A6 F101              movw R30,R2 
 06A8 8083              std z+0,R24 
 06AA 1501              movw R2,R10 
 06AC C101              movw R24,R2 
 06AE 0197              sbiw R24,1 
 06B0 5C01              movw R10,R24 
 06B2 88E0              ldi R24,8 
 06B4 F101              movw R30,R2 
 06B6 8083              std z+0,R24 
 06B8 1501              movw R2,R10 
 06BA C101              movw R24,R2 
 06BC 0197              sbiw R24,1 
 06BE 5C01              movw R10,R24 
 06C0 89E0              ldi R24,9 
 06C2 F101              movw R30,R2 
 06C4 8083              std z+0,R24 
 06C6 1501              movw R2,R10 
 06C8 C101              movw R24,R2 
 06CA 0197              sbiw R24,1 
 06CC 5C01              movw R10,R24 
 06CE 80E1              ldi R24,16 
 06D0 F101              movw R30,R2 
 06D2 8083              std z+0,R24 
 06D4 1501              movw R2,R10 
 06D6 C101              movw R24,R2 
 06D8 0197              sbiw R24,1 
 06DA 5C01              movw R10,R24 
 06DC 81E1              ldi R24,17 
 06DE F101              movw R30,R2 
 06E0 8083              std z+0,R24 
 06E2 1501              movw R2,R10 
 06E4 C101              movw R24,R2 
 06E6 0197              sbiw R24,1 
 06E8 5C01              movw R10,R24 
 06EA 82E1              ldi R24,18 
 06EC F101              movw R30,R2 
 06EE 8083              std z+0,R24 
 06F0 1501              movw R2,R10 
 06F2 C101              movw R24,R2 
 06F4 0197              sbiw R24,1 
 06F6 5C01              movw R10,R24 
 06F8 83E1              ldi R24,19 
 06FA F101              movw R30,R2 
 06FC 8083              std z+0,R24 
 06FE 1501              movw R2,R10 
 0700 C101              movw R24,R2 
 0702 0197              sbiw R24,1 
 0704 5C01              movw R10,R24 
 0706 84E1              ldi R24,20 
 0708 F101              movw R30,R2 
 070A 8083              std z+0,R24 
 070C 1501              movw R2,R10 
 070E C101              movw R24,R2 
 0710 0197              sbiw R24,1 
 0712 5C01              movw R10,R24 
 0714 85E1              ldi R24,21 
 0716 F101              movw R30,R2 
 0718 8083              std z+0,R24 
 071A 6901              movw R12,R18 
 071C 1501              movw R2,R10 
 071E C101              movw R24,R2 
 0720 0197              sbiw R24,1 
 0722 F101              movw R30,R2 
 0724 C082              std z+0,R12 
 0726 1C01              movw R2,R24 
 0728 0197              sbiw R24,1 
 072A 2601              movw R4,R12 
 072C 452C              mov R4,R5 
 072E 5524              clr R5 
 0730 F101              movw R30,R2 
 0732 4082              std z+0,R4 
 0734 1C01              movw R2,R24 
 0736 0197              sbiw R24,1 
 0738 5C01              movw R10,R24 
 073A 88E1              ldi R24,24 
 073C F101              movw R30,R2 
 073E 8083              std z+0,R24 
 0740 1501              movw R2,R10 
 0742 C101              movw R24,R2 
 0744 0197              sbiw R24,1 
 0746 5C01              movw R10,R24 
 0748 89E1              ldi R24,25 
 074A F101              movw R30,R2 
 074C 8083              std z+0,R24 
 074E 1501              movw R2,R10 
 0750 C101              movw R24,R2 
 0752 0197              sbiw R24,1 
 0754 5C01              movw R10,R24 
 0756 80E2              ldi R24,32 
 0758 F101              movw R30,R2 
 075A 8083              std z+0,R24 
 075C 1501              movw R2,R10 
 075E C101              movw R24,R2 
 0760 0197              sbiw R24,1 
 0762 5C01              movw R10,R24 
 0764 81E2              ldi R24,33 
 0766 F101              movw R30,R2 
 0768 8083              std z+0,R24 
 076A 1501              movw R2,R10 
 076C C101              movw R24,R2 
 076E 0197              sbiw R24,1 
 0770 5C01              movw R10,R24 
 0772 82E2              ldi R24,34 
 0774 F101              movw R30,R2 
 0776 8083              std z+0,R24 
 0778 1501              movw R2,R10 
 077A C101              movw R24,R2 
 077C 0197              sbiw R24,1 
 077E 5C01              movw R10,R24 
 0780 83E2              ldi R24,35 
 0782 F101              movw R30,R2 
 0784 8083              std z+0,R24 
 0786 1501              movw R2,R10 
 0788 C101              movw R24,R2 
 078A 0197              sbiw R24,1 
 078C 5C01              movw R10,R24 
 078E 84E2              ldi R24,36 
 0790 F101              movw R30,R2 
 0792 8083              std z+0,R24 
 0794 1501              movw R2,R10 
 0796 C101              movw R24,R2 
 0798 0197              sbiw R24,1 
 079A 5C01              movw R10,R24 
 079C 85E2              ldi R24,37 
 079E F101              movw R30,R2 
 07A0 8083              std z+0,R24 
 07A2 1501              movw R2,R10 
 07A4 C101              movw R24,R2 
 07A6 0197              sbiw R24,1 
 07A8 5C01              movw R10,R24 
 07AA 86E2              ldi R24,38 
 07AC F101              movw R30,R2 
 07AE 8083              std z+0,R24 
 07B0 1501              movw R2,R10 
 07B2 C101              movw R24,R2 
 07B4 0197              sbiw R24,1 
 07B6 5C01              movw R10,R24 
 07B8 87E2              ldi R24,39 
 07BA F101              movw R30,R2 
 07BC 8083              std z+0,R24 
 07BE 1501              movw R2,R10 
 07C0 C101              movw R24,R2 
 07C2 0197              sbiw R24,1 
 07C4 5C01              movw R10,R24 
 07C6 80E3              ldi R24,48 
 07C8 F101              movw R30,R2 
 07CA 8083              std z+0,R24 
 07CC 1501              movw R2,R10 
 07CE C101              movw R24,R2 
 07D0 0197              sbiw R24,1 
 07D2 5C01              movw R10,R24 
 07D4 81E3              ldi R24,49 
 07D6 F101              movw R30,R2 
 07D8 8083              std z+0,R24 
 07DA 1501              movw R2,R10 
 07DC C101              movw R24,R2 
 07DE 0197              sbiw R24,1 
 07E0 5C01              movw R10,R24 
 07E2 80E8              ldi R24,128 
 07E4 F101              movw R30,R2 
 07E6 8083              std z+0,R24 
 07E8 6701              movw R12,R14 
 07EA 1501              movw R2,R10 
 07EC C101              movw R24,R2 
 07EE 0197              sbiw R24,1 
 07F0 5C01              movw R10,R24 
 07F2 2601              movw R4,R12 
 07F4 452C              mov R4,R5 
 07F6 5524              clr R5 
 07F8 F101              movw R30,R2 
 07FA 4082              std z+0,R4 
 07FC FC01              movw R30,R24 
 07FE C082              std z+0,R12 
 0800 8C01              movw R16,R24 
 0802           L57: 
 0802 0E940000          xcall pop_gset5x 
 0806                   .dbline 0 ; func end 
 0806 0895              ret 
 0808           ;            psp -> R10,R11 
 0808           ;            err -> R10 
 0808           ;           prio -> R12 
 0808           ;           ptos -> y+16 
 0808           ;          pdata -> R14,R15 
 0808           ;           task -> R10,R11 
                        .even 
 0808           _OSTaskCreate:: 
 0808 0E940000          xcall push_gset5x 
 080C 7901              movw R14,R18 
 080E 5801              movw R10,R16 
 0810 2A97              sbiw R28,10 
 0812 CA88              ldd R12,y+18 
 0814 8FE0              ldi R24,15 
 0816 8C15              cp R24,R12 
 0818 10F4              brsh L59 
 081A 0AE2              ldi R16,42 
 081C 70C0              xjmp L58 
 081E           L59: 
 081E 0A93              st -y,r16 
 0820 0FB7              in r16,0x3F 
 0822 F894              cli 
 0824 0F93              push r16 
 0826 0991              ld r16,y+ 
 0828 82E0              ldi R24,2 
 082A 8C9D              mul R24,R12 
 082C F001              movw R30,R0 
 082E 80E0              ldi R24,<_OSTCBPrioTbl 
 0830 90E0              ldi R25,>_OSTCBPrioTbl 
 0832 E80F              add R30,R24 
 0834 F91F              adc R31,R25 
 0836 2080              ldd R2,z+0 
 0838 3180              ldd R3,z+1 
 083A 2220              tst R2 
 083C 09F0              breq X13 
 083E 5AC0              xjmp L61 
 0840           X13: 
 0840 3320              tst R3 
 0842 09F0              breq X14 
 0844 57C0              xjmp L61 
 0846           X14: 
 0846           X12: 
 0846 82E0              ldi R24,2 
 0848 8C9D              mul R24,R12 
 084A F001              movw R30,R0 
 084C 80E0              ldi R24,<_OSTCBPrioTbl 
 084E 90E0              ldi R25,>_OSTCBPrioTbl 
 0850 E80F              add R30,R24 
 0852 F91F              adc R31,R25 
 0854 81E0              ldi R24,1 
 0856 90E0              ldi R25,0 
 0858 9183              std z+1,R25 
 085A 8083              std z+0,R24 
 085C 0A93              st -y,r16 
 085E 0F91              pop r16 
 0860 0FBF              out 0x3F,r16 
 0862 0991              ld r16,y+ 
 0864 2224              clr R2 
 0866 3324              clr R3 
 0868 3B82              std y+3,R3 
 086A 2A82              std y+2,R2 
 086C 0888              ldd R0,y+16 
 086E 1988              ldd R1,y+17 
 0870 1982              std y+1,R1 
 0872 0882              std y+0,R0 
 0874 9701              movw R18,R14 
 0876 8501              movw R16,R10 
 0878 CCDE              xcall _OSTaskStkInit 
 087A 5801              movw R10,R16 
 087C 2224              clr R2 
 087E 3324              clr R3 
 0880 3986              std y+9,R3 
 0882 2886              std y+8,R2 
 0884 3F82              std y+7,R3 
 0886 2E82              std y+6,R2 
 0888 3D82              std y+5,R3 
 088A 2C82              std y+4,R2 
 088C 3B82              std y+3,R3 
 088E 2A82              std y+2,R2 
 0890 3982              std y+1,R3 
 0892 2882              std y+0,R2 
 0894 9501              movw R18,R10 
 0896 0C2D              mov R16,R12 
 0898 BDDD              xcall _OSTCBInit 
 089A A02E              mov R10,R16 
 089C 0023              tst R16 
 089E A1F4              brne L63 
 08A0 0A93              st -y,r16 
 08A2 0FB7              in r16,0x3F 
 08A4 F894              cli 
 08A6 0F93              push r16 
 08A8 0991              ld r16,y+ 
 08AA 8091E500          lds R24,_OSTaskCtr 
 08AE 8F5F              subi R24,255    ; addi 1 
 08B0 8093E500          sts _OSTaskCtr,R24 
 08B4 0A93              st -y,r16 
 08B6 0F91              pop r16 
 08B8 0FBF              out 0x3F,r16 
 08BA 0991              ld r16,y+ 
 08BC 2090E600          lds R2,_OSRunning 
 08C0 2220              tst R2 
 08C2 B1F0              breq L64 
 08C4 DEDC              xcall _OSSched 
 08C6 14C0              xjmp L64 
 08C8           L63: 
 08C8 0A93              st -y,r16 
 08CA 0FB7              in r16,0x3F 
 08CC F894              cli 
 08CE 0F93              push r16 
 08D0 0991              ld r16,y+ 
 08D2 82E0              ldi R24,2 
 08D4 8C9D              mul R24,R12 
 08D6 F001              movw R30,R0 
 08D8 80E0              ldi R24,<_OSTCBPrioTbl 
 08DA 90E0              ldi R25,>_OSTCBPrioTbl 
 08DC E80F              add R30,R24 
 08DE F91F              adc R31,R25 
 08E0 2224              clr R2 
 08E2 3324              clr R3 
 08E4 3182              std z+1,R3 
 08E6 2082              std z+0,R2 
 08E8 0A93              st -y,r16 
 08EA 0F91              pop r16 
 08EC 0FBF              out 0x3F,r16 
 08EE 0991              ld r16,y+ 
 08F0           L64: 
 08F0 0A2D              mov R16,R10 
 08F2 05C0              xjmp L58 
 08F4           L61: 
 08F4 0A93              st -y,r16 
 08F6 0F91              pop r16 
 08F8 0FBF              out 0x3F,r16 
 08FA 0991              ld r16,y+ 
 08FC 08E2              ldi R16,40 
 08FE           L58: 
 08FE 2A96              adiw R28,10 
 0900 0E940000          xcall pop_gset5x 
 0904                   .dbline 0 ; func end 
 0904 0895              ret 
 0906           ;          ticks -> R10,R11 
                        .even 
 0906           _OSTimeDly:: 
 0906 0E940000          xcall push_gset3x 
 090A 5801              movw R10,R16 
 090C AA20              tst R10 
 090E 19F4              brne X15 
 0910 BB20              tst R11 
 0912 09F4              brne X16 
 0914 32C0              xjmp L68 
 0916           X16: 
 0916           X15: 
 0916 0A93              st -y,r16 
 0918 0FB7              in r16,0x3F 
 091A F894              cli 
 091C 0F93              push r16 
 091E 0991              ld r16,y+ 
 0920 80E0              ldi R24,<_OSRdyTbl 
 0922 90E0              ldi R25,>_OSRdyTbl 
 0924 E091E300          lds R30,_OSTCBCur 
 0928 F091E400          lds R31,_OSTCBCur+1 
 092C 2384              ldd R2,z+11 
 092E 3324              clr R3 
 0930 280E              add R2,R24 
 0932 391E              adc R3,R25 
 0934 E091E300          lds R30,_OSTCBCur 
 0938 F091E400          lds R31,_OSTCBCur+1 
 093C 4484              ldd R4,z+12 
 093E 4094              com R4 
 0940 F101              movw R30,R2 
 0942 5080              ldd R5,z+0 
 0944 5420              and R5,R4 
 0946 452C              mov R4,R5 
 0948 4082              std z+0,R4 
 094A 5520              tst R5 
 094C 59F4              brne L70 
 094E E091E300          lds R30,_OSTCBCur 
 0952 F091E400          lds R31,_OSTCBCur+1 
 0956 2584              ldd R2,z+13 
 0958 2094              com R2 
 095A 3090E900          lds R3,_OSRdyGrp 
 095E 3220              and R3,R2 
 0960 3092E900          sts _OSRdyGrp,R3 
 0964           L70: 
 0964 E091E300          lds R30,_OSTCBCur 
 0968 F091E400          lds R31,_OSTCBCur+1 
 096C B782              std z+7,R11 
 096E A682              std z+6,R10 
 0970 0A93              st -y,r16 
 0972 0F91              pop r16 
 0974 0FBF              out 0x3F,r16 
 0976 0991              ld r16,y+ 
 0978 84DC              xcall _OSSched 
 097A           L68: 
 097A           L67: 
 097A 0E940000          xcall pop_gset3x 
 097E                   .dbline 0 ; func end 
 097E 0895              ret 
                        .area bss(ram, con, rel) 
 0000           _OSTCBTbl: 
 0000                   .blkb 84 
 0054           _OSTaskIdleStk: 
 0054                   .blkb 100 
 00B8           _OSIntExitY: 
 00B8                   .blkb 1 
 00B9           _OSTime:: 
 00B9                   .blkb 4 
 00BD           _OSTCBPrioTbl:: 
 00BD                   .blkb 32 
 00DD           _OSTCBList:: 
 00DD                   .blkb 2 
 00DF           _OSTCBHighRdy:: 
 00DF                   .blkb 2 
 00E1           _OSTCBFreeList:: 
 00E1                   .blkb 2 
 00E3           _OSTCBCur:: 
 00E3                   .blkb 2 
 00E5           _OSTaskCtr:: 
 00E5                   .blkb 1 
 00E6           _OSRunning:: 
 00E6                   .blkb 1 
 00E7           _OSRdyTbl:: 
 00E7                   .blkb 2 
 00E9           _OSRdyGrp:: 
 00E9                   .blkb 1 
 00EA           _OSPrioHighRdy:: 
 00EA                   .blkb 1 
 00EB           _OSPrioCur:: 
 00EB                   .blkb 1 
 00EC           _OSLockNesting:: 
 00EC                   .blkb 1 
 00ED           _OSIntNesting:: 
 00ED                   .blkb 1 
 00EE           _OSIdleCtr:: 
 00EE                   .blkb 4 
 00F2           _OSEventTbl:: 
 00F2                   .blkb 16 
 0102           _OSEventFreeList:: 
 0102                   .blkb 2 
 0104           _OSCtxSwCtr:: 
 0104                   .blkb 4 
                        .area func_lit 
 0000 E701      PL_OSTaskIdle:  .word `_OSTaskIdle