⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucos_ii.lis

📁 ucos移植到m64
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 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
 01AC 10E0              ldi R17,>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           ; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -