📄 os_core.src
字号:
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 + -