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

📄 os_core.src

📁 ucOS 模拟环境
💻 SRC
📖 第 1 页 / 共 3 页
字号:
          SUB.W       R0,R0
          MOV.W       R0,@(10:16,R6)
          .LINE       690
          MOV.W       R0,@(6:16,R6)
          .LINE       692
          MOV.W       @SP,R0
          MOV.W       R0,@(8:16,R6)
          .LINE       696
          SUB.B       R0L,R0L
          MOV.B       R0L,@(13:16,R6)
          .LINE       697
          MOV.B       @(17:16,SP),R0L
          SUB.B       R0H,R0H
          NOT.B       R0L
          NOT.B       R0H
          MOV.B       @(12:16,R6),R0H
          AND.B       R0L,R0H
          MOV.B       R0H,@(12:16,R6)
          .LINE       698
          MOV.B       R0H,R0L
          BNE         L214
          .LINE       698
          .LINE       699
          MOV.B       @_OSRdyGrp:16,R0L
          OR.B        R4H,R0L
          MOV.B       R0L,@_OSRdyGrp:16
          .LINE       700
          MOV.W       R2,R0
          MOV.B       @(_OSRdyTbl:16,R0),R1L
          OR.B        R4L,R1L
          MOV.B       R1L,@(_OSRdyTbl:16,R0)
L214:                                    
          .LINE       702
          MOV.B       R5L,R0L
          .LINE       703
          ADDS.W      #2,SP
          ADDS.W      #2,SP
          JMP         @$spregld2$3:16
          .LINE       721
_OS_EventTaskWait:                      ; function: OS_EventTaskWait
          .STACK      _OS_EventTaskWait=12
          JSR         @$sp_regsv$3:16
          .LINE       722
          MOV.W       #_OSTCBCur,R6
          MOV.W       R0,R5
          .LINE       726
          MOV.W       @R6,R1
          MOV.W       R5,@(6:16,R1)
          .LINE       727
          MOV.W       @R6,R3
          MOV.B       @(16:16,R3),R3L
          .LINE       728
          SUB.B       R3H,R3H
          MOV.W       R3,R0
          MOV.W       @R6,R1
          MOV.B       @(17:16,R1),R1L
          SUB.B       R1H,R1H
          NOT.B       R1L
          NOT.B       R1H
          MOV.B       @(_OSRdyTbl:16,R3),R1H
          AND.B       R1L,R1H
          MOV.B       R1H,@(_OSRdyTbl:16,R3)
          .LINE       729
          MOV.B       @(_OSRdyTbl:16,R0),R1L
          BNE         L216
          .LINE       729
          .LINE       730
          MOV.W       @R6,R1
          MOV.B       @(18:16,R1),R1L
          SUB.B       R1H,R1H
          NOT.B       R1L
          NOT.B       R1H
          MOV.B       @_OSRdyGrp:16,R1H
          AND.B       R1L,R1H
          MOV.B       R1H,@_OSRdyGrp:16
L216:                                    
          .LINE       732
          MOV.W       @R6,R0
          MOV.B       @(16:16,R0),R0L
          SUB.B       R0H,R0H
          MOV.W       #7,R1
          ADD.W       R5,R1
          ADD.W       R0,R1
          MOV.W       @R6,R0
          MOV.B       @(17:16,R0),R0L
          MOV.B       @R1,R0H
          OR.B        R0L,R0H
          MOV.B       R0H,@R1
          .LINE       733
          MOV.W       @R6,R0
          MOV.B       @(18:16,R0),R0L
          MOV.B       @(6:16,R5),R0H
          OR.B        R0L,R0H
          MOV.B       R0H,@(6:16,R5)
          .LINE       734
          JMP         @$spregld2$3:16
          .LINE       752
_OS_EventTO:                            ; function: OS_EventTO
          .STACK      _OS_EventTO=12
          JSR         @$sp_regsv$3:16
          .LINE       753
          MOV.W       #_OSTCBCur,R6
          .LINE       757
          MOV.W       @R6,R3
          MOV.B       @(16:16,R3),R3L
          .LINE       758
          SUB.B       R3H,R3H
          MOV.W       R3,R4
          MOV.W       #7,R1
          ADD.W       R0,R1
          ADD.W       R3,R1
          MOV.W       @R6,R2
          MOV.B       @(17:16,R2),R2L
          SUB.B       R2H,R2H
          NOT.B       R2L
          NOT.B       R2H
          MOV.B       @R1,R2H
          AND.B       R2L,R2H
          MOV.B       R2H,@R1
          .LINE       759
          MOV.W       #7,R1
          ADD.W       R0,R1
          ADD.W       R4,R1
          MOV.B       @R1,R2L
          BNE         L217
          .LINE       759
          .LINE       760
          MOV.W       @R6,R1
          MOV.B       @(18:16,R1),R1L
          SUB.B       R1H,R1H
          NOT.B       R1L
          NOT.B       R1H
          MOV.B       @(6:16,R0),R1H
          AND.B       R1L,R1H
          MOV.B       R1H,@(6:16,R0)
L217:                                    
          .LINE       762
          MOV.W       @R6,R0
          SUB.B       R1L,R1L
          MOV.B       R1L,@(13:16,R0)
          .LINE       763
          MOV.W       @R6,R0
          MOV.B       R1L,@(12:16,R0)
          .LINE       764
          MOV.W       @R6,R0
          SUB.W       R2,R2
          MOV.W       R2,@(6:16,R0)
          .LINE       765
          JMP         @$spregld2$3:16
          .LINE       782
_OS_EventWaitListInit:                  ; function: OS_EventWaitListInit
          .STACK      _OS_EventWaitListInit=4
          PUSH.W      R6
          .LINE       783
          MOV.W       R0,R6
          .LINE       792
          SUB.B       R1L,R1L
          MOV.B       R1L,@(6:16,R6)
          .LINE       793
          ADD.B       #7,R6L
          ADDX.B      #0,R6H
          .LINE       795
          MOV.B       R1L,R0H
          .LINE       795
          SUB.B       R0L,R0L
L218:                                    
          .LINE       795
          .LINE       796
          MOV.B       R0L,@R6
          ADDS.W      #1,R6
          .LINE       795
          INC.B       R0H
          .LINE       795
          BEQ         L218
          .LINE       798
          POP.W       R6
          RTS
          .LINE       814
__$OS_InitEventList:                    ; function: OS_InitEventList
          .STACK      __$OS_InitEventList=6
          PUSH.W      R5
          PUSH.W      R4
          .LINE       815
          .LINE       823
          MOV.W       #40,R1
          MOV.W       #_OSEventTbl,R0
          JSR         @_OS_MemClr:16
          .LINE       824
          MOV.W       #_OSEventTbl,R1
          .LINE       825
          MOV.W       #_OSEventTbl+8,R5
          .LINE       826
          MOV.W       #4,R4
          .LINE       826
          SUB.B       R0L,R0L
L219:                                    
          .LINE       826
          .LINE       827
          MOV.B       R0L,@R1
          .LINE       828
          MOV.W       R5,@(2:16,R1)
          .LINE       833
          ADD.B       #8,R1L
          ADDX.B      #0,R1H
          .LINE       834
          ADD.B       #8,R5L
          ADDX.B      #0,R5H
          .LINE       826
          SUBS.W      #1,R4
          MOV.W       R4,R4
          BNE         L219
          .LINE       836
          SUB.B       R0H,R0H
          MOV.B       R0L,@R1
          .LINE       837
          MOV.W       R0,@(2:16,R1)
          .LINE       842
          MOV.W       #_OSEventTbl,R0
          MOV.W       R0,@_OSEventFreeList:16
          .LINE       853
          POP.W       R4
          POP.W       R5
          RTS
          .LINE       868
__$OS_InitMisc:                         ; function: OS_InitMisc
          .STACK      __$OS_InitMisc=2
          .LINE       869
          .LINE       875
          SUB.B       R0L,R0L
          MOV.B       R0L,@_OSLockNesting:16
          MOV.B       R0L,@_OSIntNesting:16
          .LINE       879
          MOV.B       R0L,@_OSRunning:16
          MOV.B       R0L,@_OSTaskCtr:16
          .LINE       881
          SUB.W       R1,R1
          MOV.W       R1,@_OSCtxSwCtr:16
          MOV.W       R1,@_OSCtxSwCtr+2:16
          .LINE       882
          MOV.W       R1,@_OSIdleCtr:16
          MOV.W       R1,@_OSIdleCtr+2:16
          .LINE       886
          MOV.W       R1,@_OSIdleCtrMax:16
          MOV.W       R1,@_OSIdleCtrMax+2:16
          MOV.W       R1,@_OSIdleCtrRun:16
          MOV.W       R1,@_OSIdleCtrRun+2:16
          .LINE       887
          MOV.B       R0L,@_OSStatRdy:16
          .LINE       889
          RTS
          .LINE       904
__$OS_InitRdyList:                      ; function: OS_InitRdyList
          .STACK      __$OS_InitRdyList=2
          .LINE       905
          .LINE       914
          SUB.B       R0L,R0L
          MOV.B       R0L,@_OSRdyGrp:16
          .LINE       915
          MOV.W       #_OSRdyTbl,R1
          .LINE       916
          MOV.B       R0L,R0H
          .LINE       916
L220:                                    
          .LINE       916
          .LINE       917
          MOV.B       R0L,@R1
          ADDS.W      #1,R1
          .LINE       916
          INC.B       R0H
          .LINE       916
          BEQ         L220
          .LINE       921
          SUB.B       R0H,R0H
          MOV.B       R0L,@_OSPrioHighRdy:16
          MOV.B       R0L,@_OSPrioCur:16
          .LINE       924
          MOV.W       R0,@_OSTCBCur:16
          MOV.W       R0,@_OSTCBHighRdy:16
          .LINE       925
          RTS
          .LINE       941
__$OS_InitTaskIdle:                     ; function: OS_InitTaskIdle
          .STACK      __$OS_InitTaskIdle=2
          .LINE       942
          .LINE       975
          MOV.B       #4,R0L
          PUSH.W      R0
          MOV.W       #_OSTaskIdleStk+48,R0
          PUSH.W      R0
          SUB.W       R1,R1
          MOV.W       #_OS_TaskIdle,R0
          JSR         @_OSTaskCreate:16
          ADDS.W      #2,SP
          ADDS.W      #2,SP
          .LINE       987
          RTS
          .LINE       1003
__$OS_InitTaskStat:                     ; function: OS_InitTaskStat
          .STACK      __$OS_InitTaskStat=2
          .LINE       1004
          .LINE       1037
          MOV.B       #3,R0L
          PUSH.W      R0
          MOV.W       #_OSTaskStatStk+98,R0
          PUSH.W      R0
          SUB.W       R1,R1
          MOV.W       #_OS_TaskStat,R0
          JSR         @_OSTaskCreate:16
          ADDS.W      #2,SP
          ADDS.W      #2,SP
          .LINE       1049
          RTS
          .LINE       1065
__$OS_InitTCBList:                      ; function: OS_InitTCBList
          .STACK      __$OS_InitTCBList=4
          PUSH.W      R4
          .LINE       1066
          .LINE       1072
          MOV.W       #80,R1
          MOV.W       #_OSTCBTbl,R0
          BSR         _OS_MemClr
          .LINE       1073
          MOV.W       #10,R1
          MOV.W       #_OSTCBPrioTbl,R0
          BSR         _OS_MemClr
          .LINE       1074
          MOV.W       #_OSTCBTbl,R1
          .LINE       1075
          MOV.W       #_OSTCBTbl+20,R0
          .LINE       1076
          MOV.B       #3,R4L
          .LINE       1076
L221:                                    
          .LINE       1076
          .LINE       1077
          MOV.W       R0,@(2:16,R1)
          .LINE       1082
          ADD.B       #20,R1L
          ADDX.B      #0,R1H
          .LINE       1083
          ADD.B       #20,R0L
          ADDX.B      #0,R0H
          .LINE       1076
          DEC.B       R4L
          BNE         L221
          .LINE       1085
          SUB.W       R0,R0
          MOV.W       R0,@(2:16,R1)
          .LINE       1090
          MOV.W       R0,@_OSTCBList:16
          .LINE       1091
          MOV.W       #_OSTCBTbl,R1
          MOV.W       R1,@_OSTCBFreeList:16
          .LINE       1092
          POP.W       R4
          RTS
          .LINE       1114
_OS_MemClr:                             ; function: OS_MemClr
          .STACK      _OS_MemClr=4
          PUSH.W      R5
          .LINE       1115
          MOV.W       R0,R5
          .LINE       1116
          SUB.B       R0L,R0L
          BRA         L223
L222:                                    
          .LINE       1116
          .LINE       1117
          MOV.B       R0L,@R5
          ADDS.W      #1,R5
          .LINE       1118
          SUBS.W      #1,R1
L223:                                    
          .LINE       1116
          MOV.W       R1,R1
          BNE         L222
          .LINE       1120
          POP.W       R5
          RTS
          .LINE       1146
_OS_MemCopy:                            ; function: OS_MemCopy

⌨️ 快捷键说明

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