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

📄 os_core.exp

📁 ucOS 模拟环境
💻 EXP
📖 第 1 页 / 共 2 页
字号:
          .LINE       534
          MOV.W       #_OSTCBTbl,R1
          .LINE       535
          MOV.W       #_OSTCBTbl+14,R0
          .LINE       536
          MOV.B       #3,R4L
          .LINE       536
L166:                                    
          .LINE       536
          .LINE       537
          MOV.W       R0,@(2:16,R1)
          .LINE       542
          ADD.B       #14,R1L
          ADDX.B      #0,R1H
          .LINE       543
          ADD.B       #14,R0L
          ADDX.B      #0,R0H
          .LINE       536
          DEC.B       R4L
          BNE         L166
          .LINE       545
          SUB.W       R0,R0
          MOV.W       R0,@(2:16,R1)
          .LINE       550
          MOV.W       R0,@_OSTCBList:16
          .LINE       551
          MOV.W       #_OSTCBTbl,R1
          MOV.W       R1,@_OSTCBFreeList:16
          .LINE       552
          POP.W       R4
          RTS
          .LINE       574
_OS_MemClr:                             ; function: OS_MemClr
          .STACK      _OS_MemClr=4
          PUSH.W      R5
          .LINE       575
          MOV.W       R0,R5
          .LINE       576
          SUB.B       R0L,R0L
          BRA         L168
L167:                                    
          .LINE       576
          .LINE       577
          MOV.B       R0L,@R5
          ADDS.W      #1,R5
          .LINE       578
          SUBS.W      #1,R1
L168:                                    
          .LINE       576
          MOV.W       R1,R1
          BNE         L167
          .LINE       580
          POP.W       R5
          RTS
          .LINE       606
_OS_MemCopy:                            ; function: OS_MemCopy
          .STACK      _OS_MemCopy=8
          PUSH.W      R6
          PUSH.W      R5
          .LINE       607
          MOV.W       R0,R5
          MOV.W       @(6:16,SP),R6
          .LINE       608
          BRA         L170
L169:                                    
          .LINE       608
          .LINE       609
          MOV.B       @R1+,R0L
          MOV.B       R0L,@R5
          ADDS.W      #1,R5
          .LINE       610
          SUBS.W      #1,R6
L170:                                    
          .LINE       608
          MOV.W       R6,R6
          BNE         L169
          .LINE       612
          POP.W       R5
          POP.W       R6
          RTS
          .LINE       631
_OS_Sched:                              ; function: OS_Sched
          .STACK      _OS_Sched=4
          PUSH.W      R6
          .LINE       632
          .LINE       639
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6H
          .LINE       640
          MOV.B       @_OSIntNesting:16,R0L
          BNE         L171
          .LINE       640
          .LINE       641
          MOV.B       @_OSLockNesting:16,R0L
          BNE         L171
          .LINE       641
          .LINE       642
          MOV.B       @_OSRdyGrp:16,R0L
          SUB.B       R0H,R0H
          MOV.B       @(_OSUnMapTbl:16,R0),R6L
          .LINE       643
          MOV.B       R6L,R0L
          MOV.B       #8,R0H
          MULXU.B     R0H,R0
          MOV.B       R6L,R1L
          SUB.B       R1H,R1H
          MOV.B       @(_OSRdyTbl:16,R1),R1L
          MOV.B       @(_OSUnMapTbl:16,R1),R1L
          ADD.B       R1L,R0L
          MOV.B       R0L,@_OSPrioHighRdy:16
          .LINE       644
          MOV.B       @_OSPrioCur:16,R0H
          CMP.B       R0H,R0L
          BEQ         L171
          .LINE       644
          .LINE       645
          SUB.B       R0H,R0H
          ADD.W       R0,R0
          MOV.W       @(_OSTCBPrioTbl:16,R0),R0
          MOV.W       R0,@_OSTCBHighRdy:16
          .LINE       649
          MOV.W       #_OSCtxSwCtr,R0
          JSR         @$PRIL$3:16
          .LINE       650
          JSR         @_OSCtxSw:16
L171:                                    
          .LINE       654
          MOV.B       R6H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       655
          POP.W       R6
          RTS
          .LINE       744
_OS_TaskIdle:                           ; function: OS_TaskIdle
          .STACK      _OS_TaskIdle=4
          .LINE       745
          .LINE       752
L174:                                    
          .LINE       752
          .LINE       753
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6L
          .LINE       754
          MOV.W       #_OSIdleCtr,R0
          JSR         @$PRIL$3:16
          .LINE       755
          MOV.B       R6L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       756
          JSR         @_OSTaskIdleHook:16
          .LINE       752
          BRA         L174
          .LINE       758
          .LINE       785
_OS_TaskStat:                           ; function: OS_TaskStat
          .STACK      _OS_TaskStat=26
          MOV.W       #14,R6
          SUB.W       R6,SP
          .LINE       786
          MOV.W       #_OSIdleCtrMax,R4
          MOV.W       #_OSCPUUsage,R5
          .LINE       796
          BRA         L177
L176:                                    
          .LINE       796
          .LINE       797
          MOV.W       #15,R0
          JSR         @_OSTimeDly:16
L177:                                    
          .LINE       796
          MOV.B       @_OSStatRdy:16,R0L
          BEQ         L176
          .LINE       799
          MOV.W       R4,R1
          MOV.W       #L178,R2
          MOV.W       #10,R0
          ADD.W       SP,R0
          JSR         @$DIVUL$3:16
          .LINE       800
L179:                                    
          .LINE       800
          .LINE       801
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6L
          .LINE       802
          MOV.W       #_OSIdleCtr,R0
          MOV.W       #_OSIdleCtrRun,R1
          JSR         @$MV4$3:16
          .LINE       803
          MOV.W       #_OSIdleCtr,R0
          MOV.W       #6,R1
          ADD.W       SP,R1
          JSR         @$MV4$3:16
          .LINE       804
          SUB.W       R0,R0
          MOV.W       R0,@_OSIdleCtr:16
          MOV.W       R0,@_OSIdleCtr+2:16
          .LINE       805
          MOV.B       R6L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       806
          MOV.W       @(10:16,SP),R0
          BNE         L182
          MOV.W       @(12:16,SP),R0
          BEQ         L181
L182:                                    
          .LINE       806
          .LINE       807
          MOV.W       #6,R1
          ADD.W       SP,R1
          MOV.W       #10,R2
          ADD.W       SP,R2
          MOV.W       SP,R0
          JSR         @$DIVUL$3:16
          MOV.B       #100,R6L
          MOV.B       @(3:16,R0),R0L
          SUB.B       R0L,R6L
          .LINE       808
          MOV.B       R6L,R6L
          BLT         L183
          .LINE       808
          .LINE       809
          MOV.B       R6L,@R5
          BRA         L185
L183:                                    
          .LINE       810
          .LINE       811
          SUB.B       R0L,R0L
          MOV.B       R0L,@R5
          BRA         L185
L181:                                    
          .LINE       813
          .LINE       814
          SUB.B       R0L,R0L
          MOV.B       R0L,@R5
          .LINE       815
          MOV.W       R4,R1
          MOV.W       #L178,R2
          MOV.W       #10,R0
          ADD.W       SP,R0
          JSR         @$DIVUL$3:16
L185:                                    
          .LINE       817
          JSR         @_OSTaskStatHook:16
          .LINE       821
          MOV.W       #7,R0
          JSR         @_OSTimeDly:16
          .LINE       800
          JMP         @L179:16
          .LINE       823
          .LINE       869
_OS_TCBInit:                            ; function: OS_TCBInit
          .STACK      _OS_TCBInit=24
          JSR         @$sp_regsv$3:16
          .LINE       870
          MOV.W       #_OSTCBList,R4
          MOV.B       R0L,R5L
          MOV.W       R1,R3
          .LINE       877
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          .LINE       878
          MOV.W       @_OSTCBFreeList:16,R6
          .LINE       879
          BNE         $+6
          JMP         @L186:16
          .LINE       879
          .LINE       880
          MOV.W       @(2:16,R6),R0
          MOV.W       R0,@_OSTCBFreeList:16
          .LINE       881
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       882
          MOV.W       R3,@R6
          .LINE       883
          MOV.B       R5L,@(9:16,R6)
          .LINE       884
          SUB.W       R0,R0
          MOV.B       R0L,@(8:16,R6)
          .LINE       885
          MOV.W       R0,@(6:16,R6)
          .LINE       905
          MOV.B       R5L,R0L
          SHLR.B      R0L
          SHLR.B      R0L
          SHLR.B      R0L
          MOV.B       R0L,@(11:16,R6)
          .LINE       906
          MOV.B       @(_OSMapTbl:16,R0),R0L
          MOV.B       R0L,@(13:16,R6)
          .LINE       907
          MOV.B       R5L,R0L
          AND.B       #7,R0L
          MOV.B       R0L,@(10:16,R6)
          .LINE       908
          MOV.B       @(_OSMapTbl:16,R0),R0L
          MOV.B       R0L,@(12:16,R6)
          .LINE       936
          MOV.W       R6,R0
          JSR         @_OSTCBInitHook:16
          .LINE       939
          MOV.W       R6,R0
          JSR         @_OSTaskCreateHook:16
          .LINE       941
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          .LINE       942
          MOV.B       R5L,R0L
          SUB.B       R0H,R0H
          ADD.W       R0,R0
          MOV.W       R6,@(_OSTCBPrioTbl:16,R0)
          .LINE       943
          MOV.W       @R4,R0
          MOV.W       R0,@(2:16,R6)
          .LINE       944
          SUB.W       R0,R0
          MOV.W       R0,@(4:16,R6)
          .LINE       945
          MOV.W       @R4,R1
          BEQ         L187
          .LINE       945
          .LINE       946
          MOV.W       R6,@(4:16,R1)
L187:                                    
          .LINE       948
          MOV.W       R6,@R4
          .LINE       949
          MOV.B       @(13:16,R6),R0L
          MOV.B       @_OSRdyGrp:16,R0H
          OR.B        R0L,R0H
          MOV.B       R0H,@_OSRdyGrp:16
          .LINE       950
          MOV.B       @(11:16,R6),R0L
          SUB.B       R0H,R0H
          MOV.B       @(12:16,R6),R1L
          MOV.B       @(_OSRdyTbl:16,R0),R1H
          OR.B        R1L,R1H
          MOV.B       R1H,@(_OSRdyTbl:16,R0)
          .LINE       951
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       952
          SUB.B       R0L,R0L
          BRA         L188
L186:                                    
          .LINE       954
          JSR         @_OSCPURestoreSR:16
          .LINE       955
          MOV.B       #70,R0L
          .LINE       956
L188:                                    
          JMP         @$spregld2$3:16
          .SECTION    C,DATA,ALIGN=2
L178:
          .DATA.W     H'0000,H'0064
_OSMapTbl:                              ; static: OSMapTbl
          .DATA.B     H'01,H'02,H'04,H'08,H'10,H'20,H'40,H'80
_OSUnMapTbl:                            ; static: OSUnMapTbl
          .DATA.B     H'00,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'06,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'07,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'06,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00
          .SECTION    B,DATA,ALIGN=2
_OSCtxSwCtr:                            ; static: OSCtxSwCtr
          .RES.W      2
_OSIdleCtrMax:                          ; static: OSIdleCtrMax
          .RES.W      2
_OSIdleCtrRun:                          ; static: OSIdleCtrRun
          .RES.W      2
_OSTaskStatStk:                         ; static: OSTaskStatStk
          .RES.W      50
_OSIdleCtr:                             ; static: OSIdleCtr
          .RES.W      2
_OSTaskIdleStk:                         ; static: OSTaskIdleStk
          .RES.W      25
_OSTCBCur:                              ; static: OSTCBCur
          .RES.W      1
_OSTCBFreeList:                         ; static: OSTCBFreeList
          .RES.W      1
_OSTCBHighRdy:                          ; static: OSTCBHighRdy
          .RES.W      1
_OSTCBList:                             ; static: OSTCBList
          .RES.W      1
_OSTCBPrioTbl:                          ; static: OSTCBPrioTbl
          .RES.W      5
_OSTCBTbl:                              ; static: OSTCBTbl
          .RES.W      28
_OSCPUUsage:                            ; static: OSCPUUsage
          .RES.B      1
_OSStatRdy:                             ; static: OSStatRdy
          .RES.B      1
_OSIntNesting:                          ; static: OSIntNesting
          .RES.B      1
_OSIntExitY:                            ; static: OSIntExitY
          .RES.B      1
_OSLockNesting:                         ; static: OSLockNesting
          .RES.B      1
_OSPrioCur:                             ; static: OSPrioCur
          .RES.B      1
_OSPrioHighRdy:                         ; static: OSPrioHighRdy
          .RES.B      1
_OSRdyGrp:                              ; static: OSRdyGrp
          .RES.B      1
_OSRdyTbl:                              ; static: OSRdyTbl
          .RES.B      1
_OSRunning:                             ; static: OSRunning
          .RES.B      1
_OSTaskCtr:                             ; static: OSTaskCtr
          .RES.B      1
          .END

⌨️ 快捷键说明

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