📄 ucos_ii.lis
字号:
0118 240E add R2,R20
011A 351E adc R3,R21
011C 461E adc R4,R22
011E 571E adc R5,R23
0120 3092CC03 sts _OSCtxSwCtr+1,R3
0124 2092CB03 sts _OSCtxSwCtr,R2
0128 5092CE03 sts _OSCtxSwCtr+2+1,R5
012C 4092CD03 sts _OSCtxSwCtr+2,R4
0130 .dbline 346
0130 ; #include "os_time.c"
0130 0E940000 xcall _OSIntCtxSw
0134 .dbline 347
0134 ; #include "os_time.c"
0134 L16:
0134 .dbline 348
0134 ; #include "os_time.c"
0134 L14:
0134 .dbline 349
0134 ; #include "os_time.c"
0134 L12:
0134 .dbline 350
0134 0A2D mov R16,R10
0136 0E940000 xcall _OS_CPU_SR_Restore
013A .dbline 351
013A L8:
013A .dbline -2
013A L7:
013A 0E940000 xcall pop_gset3
013E .dbline 0 ; func end
013E 0895 ret
0140 .dbsym r cpu_sr 10 c
0140 .dbend
0140 .dbfunc e OSSchedLock _OSSchedLock fV
0140 ; cpu_sr -> R20
.even
0140 _OSSchedLock::
0140 0E940000 xcall push_gset1
0144 .dbline -1
0144 .dbline 372
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 .dbline 378
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 ; #include "os_time.c"
0144 80910B03 lds R24,_OSRunning
0148 8130 cpi R24,1
014A 69F4 brne L19
014C .dbline 378
014C .dbline 379
014C ; #include "os_time.c"
014C 0E940000 xcall _OS_CPU_SR_Save
0150 402F mov R20,R16
0152 .dbline 380
0152 ; #include "os_time.c"
0152 80911203 lds R24,_OSLockNesting
0156 8F3F cpi R24,255
0158 18F4 brsh L21
015A .dbline 380
015A .dbline 381
015A ; #include "os_time.c"
015A 8F5F subi R24,255 ; addi 1
015C 80931203 sts _OSLockNesting,R24
0160 .dbline 382
0160 ; #include "os_time.c"
0160 L21:
0160 .dbline 383
0160 042F mov R16,R20
0162 0E940000 xcall _OS_CPU_SR_Restore
0166 .dbline 384
0166 L19:
0166 .dbline -2
0166 L18:
0166 0E940000 xcall pop_gset1
016A .dbline 0 ; func end
016A 0895 ret
016C .dbsym r cpu_sr 20 c
016C .dbend
016C .dbfunc e OSSchedUnlock _OSSchedUnlock fV
016C ; cpu_sr -> R20
.even
016C _OSSchedUnlock::
016C 0E940000 xcall push_gset1
0170 .dbline -1
0170 .dbline 406
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 .dbline 412
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 ; #include "os_time.c"
0170 80910B03 lds R24,_OSRunning
0174 8130 cpi R24,1
0176 09F5 brne L24
0178 .dbline 412
0178 .dbline 413
0178 ; #include "os_time.c"
0178 0E940000 xcall _OS_CPU_SR_Save
017C 402F mov R20,R16
017E .dbline 414
017E ; #include "os_time.c"
017E 2224 clr R2
0180 30901203 lds R3,_OSLockNesting
0184 2314 cp R2,R3
0186 B0F4 brsh L26
0188 .dbline 414
0188 .dbline 415
0188 ; #include "os_time.c"
0188 832D mov R24,R3
018A 8150 subi R24,1
018C 80931203 sts _OSLockNesting,R24
0190 .dbline 416
0190 ; #include "os_time.c"
0190 8823 tst R24
0192 61F4 brne L28
0194 .dbline 416
0194 .dbline 417
0194 ; #include "os_time.c"
0194 20901403 lds R2,_OSIntNesting
0198 2220 tst R2
019A 21F4 brne L30
019C .dbline 417
019C .dbline 418
019C ; #include "os_time.c"
019C 0E940000 xcall _OS_CPU_SR_Restore
01A0 .dbline 419
01A0 ; #include "os_time.c"
01A0 95D2 xcall _OS_Sched
01A2 .dbline 420
01A2 0BC0 xjmp L27
01A4 L30:
01A4 .dbline 420
01A4 ; #include "os_time.c"
01A4 .dbline 421
01A4 ; #include "os_time.c"
01A4 042F mov R16,R20
01A6 0E940000 xcall _OS_CPU_SR_Restore
01AA .dbline 422
01AA ; #include "os_time.c"
01AA .dbline 423
01AA 07C0 xjmp L27
01AC L28:
01AC .dbline 423
01AC ; #include "os_time.c"
01AC .dbline 424
01AC ; #include "os_time.c"
01AC 042F mov R16,R20
01AE 0E940000 xcall _OS_CPU_SR_Restore
01B2 .dbline 425
01B2 ; #include "os_time.c"
01B2 .dbline 426
01B2 03C0 xjmp L27
01B4 L26:
01B4 .dbline 426
01B4 ; #include "os_time.c"
01B4 .dbline 427
01B4 ; #include "os_time.c"
01B4 042F mov R16,R20
01B6 0E940000 xcall _OS_CPU_SR_Restore
01BA .dbline 428
01BA ; #include "os_time.c"
01BA L27:
01BA .dbline 429
01BA L24:
01BA .dbline -2
01BA L23:
01BA 0E940000 xcall pop_gset1
01BE .dbline 0 ; func end
01BE 0895 ret
01C0 .dbsym r cpu_sr 20 c
01C0 .dbend
01C0 .dbfunc e OSStart _OSStart fV
01C0 ; x -> R22
01C0 ; y -> R20
.even
01C0 _OSStart::
01C0 0E940000 xcall push_gset2
01C4 .dbline -1
01C4 .dbline 455
01C4 .dbline 460
01C4 20900B03 lds R2,_OSRunning
01C8 2220 tst R2
01CA 09F0 breq X4
01CC 39C0 xjmp L33
01CE X4:
01CE .dbline 460
01CE .dbline 461
01CE 80E0 ldi R24,<_OSUnMapTbl
01D0 90E0 ldi R25,>_OSUnMapTbl
01D2 E0910F03 lds R30,_OSRdyGrp
01D6 FF27 clr R31
01D8 E80F add R30,R24
01DA F91F adc R31,R25
01DC 4491 lpm R20,Z
01DE .dbline 462
01DE 80E0 ldi R24,<_OSRdyTbl
01E0 90E0 ldi R25,>_OSRdyTbl
01E2 E42F mov R30,R20
01E4 FF27 clr R31
01E6 E80F add R30,R24
01E8 F91F adc R31,R25
01EA E081 ldd R30,z+0
01EC FF27 clr R31
01EE 80E0 ldi R24,<_OSUnMapTbl
01F0 90E0 ldi R25,>_OSUnMapTbl
01F2 E80F add R30,R24
01F4 F91F adc R31,R25
01F6 6491 lpm R22,Z
01F8 .dbline 463
01F8 262E mov R2,R22
01FA 3324 clr R3
01FC 442E mov R4,R20
01FE 5524 clr R5
0200 440C lsl R4
0202 551C rol R5
0204 440C lsl R4
0206 551C rol R5
0208 440C lsl R4
020A 551C rol R5
020C 420C add R4,R2
020E 531C adc R5,R3
0210 40921003 sts _OSPrioHighRdy,R4
0214 .dbline 464
0214 242C mov R2,R4
0216 20921103 sts _OSPrioCur,R2
021A .dbline 465
021A 82E0 ldi R24,2
021C 829D mul R24,R2
021E F001 movw R30,R0
0220 80E0 ldi R24,<_OSTCBPrioTbl
0222 90E0 ldi R25,>_OSTCBPrioTbl
0224 E80F add R30,R24
0226 F91F adc R31,R25
0228 2080 ldd R2,z+0
022A 3180 ldd R3,z+1
022C 30920102 sts _OSTCBHighRdy+1,R3
0230 20920002 sts _OSTCBHighRdy,R2
0234 .dbline 466
0234 30920502 sts _OSTCBCur+1,R3
0238 20920402 sts _OSTCBCur,R2
023C .dbline 467
023C 0E940000 xcall _OSStartHighRdy
0240 .dbline 468
0240 L33:
0240 .dbline -2
0240 L32:
0240 0E940000 xcall pop_gset2
0244 .dbline 0 ; func end
0244 0895 ret
0246 .dbsym r x 22 c
0246 .dbsym r y 20 c
0246 .dbend
0246 .dbfunc e OSTimeTick _OSTimeTick fV
0246 .dbstruct 0 9 os_event
0246 .dbfield 0 OSEventType c
0246 .dbfield 1 OSEventGrp c
0246 .dbfield 2 OSEventCnt i
0246 .dbfield 4 OSEventPtr pV
0246 .dbfield 6 OSEventTbl A[3:3]c
0246 .dbend
0246 .dbstruct 0 36 os_tcb
0246 .dbfield 0 OSTCBStkPtr pc
0246 .dbfield 2 OSTCBNext pS[os_tcb]
0246 .dbfield 4 OSTCBPrev pS[os_tcb]
0246 .dbfield 6 OSTCBEventPtr pS[os_event]
0246 .dbfield 8 OSTCBMsg pV
0246 .dbfield 10 OSTCBDly i
0246 .dbfield 12 OSTCBStat c
0246 .dbfield 13 OSTCBPrio c
0246 .dbfield 14 OSTCBX c
0246 .dbfield 15 OSTCBY c
0246 .dbfield 16 OSTCBBitX c
0246 .dbfield 17 OSTCBBitY c
0246 .dbfield 18 OSTCBCtxSwCtr l
0246 .dbfield 22 OSTCBCyclesTot l
0246 .dbfield 26 OSTCBCyclesStart l
0246 .dbfield 30 OSTCBStkBase pc
0246 .dbfield 32 OSTCBStkUsed l
0246 .dbend
0246 ; step -> R20
0246 ; cpu_sr -> R20
0246 ; ptcb -> R22,R23
.even
0246 _OSTimeTick::
0246 0E940000 xcall push_gset2
024A .dbline -1
024A .dbline 526
024A ; P(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -