ucos_ii.lis
来自「基于mega128的ucos参考源码」· LIS 代码 · 共 1,834 行 · 第 1/5 页
LIS
1,834 行
0148 69F4 brne L19
014A .dbline 376
014A .dbline 377
014A ; #include <os_time.c>
014A 0E940000 xcall _OS_CPU_SR_Save
014E 402F mov R20,R16
0150 .dbline 378
0150 ; #include <os_time.c>
0150 80911302 lds R24,_OSLockNesting
0154 8F3F cpi R24,255
0156 18F4 brsh L21
0158 .dbline 378
0158 .dbline 379
0158 ; #include <os_time.c>
0158 8F5F subi R24,255 ; addi 1
015A 80931302 sts _OSLockNesting,R24
015E .dbline 380
015E ; #include <os_time.c>
015E L21:
015E .dbline 381
015E 042F mov R16,R20
0160 0E940000 xcall _OS_CPU_SR_Restore
0164 .dbline 382
0164 L19:
0164 .dbline -2
0164 L18:
0164 0E940000 xcall pop_gset1
0168 .dbline 0 ; func end
0168 0895 ret
016A .dbsym r cpu_sr 20 c
016A .dbend
016A .dbfunc e OSSchedUnlock _OSSchedUnlock fV
016A ; cpu_sr -> R20
.even
016A _OSSchedUnlock::
016A 0E940000 xcall push_gset1
016E .dbline -1
016E .dbline 404
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E .dbline 410
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E ; #include <os_time.c>
016E 80910D02 lds R24,_OSRunning
0172 8130 cpi R24,1
0174 09F5 brne L24
0176 .dbline 410
0176 .dbline 411
0176 ; #include <os_time.c>
0176 0E940000 xcall _OS_CPU_SR_Save
017A 402F mov R20,R16
017C .dbline 412
017C ; #include <os_time.c>
017C 2224 clr R2
017E 30901302 lds R3,_OSLockNesting
0182 2314 cp R2,R3
0184 B0F4 brsh L26
0186 .dbline 412
0186 .dbline 413
0186 ; #include <os_time.c>
0186 832D mov R24,R3
0188 8150 subi R24,1
018A 80931302 sts _OSLockNesting,R24
018E .dbline 414
018E ; #include <os_time.c>
018E 8823 tst R24
0190 61F4 brne L28
0192 .dbline 414
0192 .dbline 415
0192 ; #include <os_time.c>
0192 20901502 lds R2,_OSIntNesting
0196 2220 tst R2
0198 21F4 brne L30
019A .dbline 415
019A .dbline 416
019A ; #include <os_time.c>
019A 0E940000 xcall _OS_CPU_SR_Restore
019E .dbline 417
019E ; #include <os_time.c>
019E 91D2 xcall _OS_Sched
01A0 .dbline 418
01A0 0BC0 xjmp L27
01A2 L30:
01A2 .dbline 418
01A2 ; #include <os_time.c>
01A2 .dbline 419
01A2 ; #include <os_time.c>
01A2 042F mov R16,R20
01A4 0E940000 xcall _OS_CPU_SR_Restore
01A8 .dbline 420
01A8 ; #include <os_time.c>
01A8 .dbline 421
01A8 07C0 xjmp L27
01AA L28:
01AA .dbline 421
01AA ; #include <os_time.c>
01AA .dbline 422
01AA ; #include <os_time.c>
01AA 042F mov R16,R20
01AC 0E940000 xcall _OS_CPU_SR_Restore
01B0 .dbline 423
01B0 ; #include <os_time.c>
01B0 .dbline 424
01B0 03C0 xjmp L27
01B2 L26:
01B2 .dbline 424
01B2 ; #include <os_time.c>
01B2 .dbline 425
01B2 ; #include <os_time.c>
01B2 042F mov R16,R20
01B4 0E940000 xcall _OS_CPU_SR_Restore
01B8 .dbline 426
01B8 ; #include <os_time.c>
01B8 L27:
01B8 .dbline 427
01B8 L24:
01B8 .dbline -2
01B8 L23:
01B8 0E940000 xcall pop_gset1
01BC .dbline 0 ; func end
01BC 0895 ret
01BE .dbsym r cpu_sr 20 c
01BE .dbend
01BE .dbfunc e OSStart _OSStart fV
01BE ; x -> R22
01BE ; y -> R20
.even
01BE _OSStart::
01BE 0E940000 xcall push_gset2
01C2 .dbline -1
01C2 .dbline 453
01C2 .dbline 458
01C2 20900D02 lds R2,_OSRunning
01C6 2220 tst R2
01C8 09F0 breq X4
01CA 39C0 xjmp L33
01CC X4:
01CC .dbline 458
01CC .dbline 459
01CC 80E0 ldi R24,<_OSUnMapTbl
01CE 90E0 ldi R25,>_OSUnMapTbl
01D0 E0911002 lds R30,_OSRdyGrp
01D4 FF27 clr R31
01D6 E80F add R30,R24
01D8 F91F adc R31,R25
01DA 4491 lpm R20,Z
01DC .dbline 460
01DC 80E0 ldi R24,<_OSRdyTbl
01DE 90E0 ldi R25,>_OSRdyTbl
01E0 E42F mov R30,R20
01E2 FF27 clr R31
01E4 E80F add R30,R24
01E6 F91F adc R31,R25
01E8 E081 ldd R30,z+0
01EA FF27 clr R31
01EC 80E0 ldi R24,<_OSUnMapTbl
01EE 90E0 ldi R25,>_OSUnMapTbl
01F0 E80F add R30,R24
01F2 F91F adc R31,R25
01F4 6491 lpm R22,Z
01F6 .dbline 461
01F6 262E mov R2,R22
01F8 3324 clr R3
01FA 442E mov R4,R20
01FC 5524 clr R5
01FE 440C lsl R4
0200 551C rol R5
0202 440C lsl R4
0204 551C rol R5
0206 440C lsl R4
0208 551C rol R5
020A 420C add R4,R2
020C 531C adc R5,R3
020E 40921102 sts _OSPrioHighRdy,R4
0212 .dbline 462
0212 242C mov R2,R4
0214 20921202 sts _OSPrioCur,R2
0218 .dbline 463
0218 82E0 ldi R24,2
021A 829D mul R24,R2
021C F001 movw R30,R0
021E 80E0 ldi R24,<_OSTCBPrioTbl
0220 90E0 ldi R25,>_OSTCBPrioTbl
0222 E80F add R30,R24
0224 F91F adc R31,R25
0226 2080 ldd R2,z+0
0228 3180 ldd R3,z+1
022A 30920301 sts _OSTCBHighRdy+1,R3
022E 20920201 sts _OSTCBHighRdy,R2
0232 .dbline 464
0232 30920701 sts _OSTCBCur+1,R3
0236 20920601 sts _OSTCBCur,R2
023A .dbline 465
023A 0E940000 xcall _OSStartHighRdy
023E .dbline 466
023E L33:
023E .dbline -2
023E L32:
023E 0E940000 xcall pop_gset2
0242 .dbline 0 ; func end
0242 0895 ret
0244 .dbsym r x 22 c
0244 .dbsym r y 20 c
0244 .dbend
0244 .dbfunc e OSTimeTick _OSTimeTick fV
0244 .dbstruct 0 8 os_event
0244 .dbfield 0 OSEventType c
0244 .dbfield 1 OSEventGrp c
0244 .dbfield 2 OSEventCnt i
0244 .dbfield 4 OSEventPtr pV
0244 .dbfield 6 OSEventTbl A[2:2]c
0244 .dbend
0244 .dbstruct 0 34 os_tcb
0244 .dbfield 0 OSTCBStkPtr pc
0244 .dbfield 2 OSTCBNext pS[os_tcb]
0244 .dbfield 4 OSTCBPrev pS[os_tcb]
0244 .dbfield 6 OSTCBEventPtr pS[os_event]
0244 .dbfield 8 OSTCBDly i
0244 .dbfield 10 OSTCBStat c
0244 .dbfield 11 OSTCBPrio c
0244 .dbfield 12 OSTCBX c
0244 .dbfield 13 OSTCBY c
0244 .dbfield 14 OSTCBBitX c
0244 .dbfield 15 OSTCBBitY c
0244 .dbfield 16 OSTCBCtxSwCtr l
0244 .dbfield 20 OSTCBCyclesTot l
0244 .dbfield 24 OSTCBCyclesStart l
0244 .dbfield 28 OSTCBStkBase pc
0244 .dbfield 30 OSTCBStkUsed l
0244 .dbend
0244 ; step -> R20
0244 ; cpu_sr -> R20
0244 ; ptcb -> R22,R23
.even
0244 _OSTimeTick::
0244 0E940000 xcall push_gset2
0248 .dbline -1
0248 .dbline 524
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 .dbline 533
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
0248 ; Pピ
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?