📄 os_task.exp
字号:
.CPU 300
.IMPORT $sp_regsv$3
.IMPORT $spregld2$3
.IMPORT _OSCPUSaveSR
.IMPORT _OSCPURestoreSR
.IMPORT _OSRunning
.IMPORT _OSTaskCtr
.IMPORT _OSTCBPrioTbl
.IMPORT _OS_Sched
.IMPORT _OS_TCBInit
.IMPORT _OSTaskStkInit
.EXPORT _OSTaskCreate
.SECTION P,CODE,ALIGN=2
.LINE "E:\Study\ucOS-II\ucOS-II\ucOS kernel\Task\os_task.c",59
_OSTaskCreate: ; function: OSTaskCreate
.STACK _OSTaskCreate=16
JSR @$sp_regsv$3:16
.LINE 60
MOV.W R0,R3
MOV.W R1,R4
.LINE 73
JSR @_OSCPUSaveSR:16
MOV.B R0L,R5L
.LINE 74
MOV.B @(15:16,SP),R6L
SUB.B R6H,R6H
ADD.W R6,R6
MOV.W @(_OSTCBPrioTbl:16,R6),R0
BNE L69
.LINE 74
.LINE 75
MOV.W #1,R0
MOV.W R0,@(_OSTCBPrioTbl:16,R6)
.LINE 77
MOV.B R5L,R0L
JSR @_OSCPURestoreSR:16
.LINE 78
SUB.W R5,R5
PUSH.W R5
MOV.W @(14:16,SP),R0
PUSH.W R0
MOV.W R4,R1
MOV.W R3,R0
JSR @_OSTaskStkInit:16
ADDS.W #2,SP
ADDS.W #2,SP
.LINE 79
SUB.W R4,R4
PUSH.W R5
PUSH.W R4
MOV.W @L70+2:16,R1
PUSH.W R1
MOV.W @L70:16,R1
PUSH.W R1
PUSH.W R5
PUSH.W R4
MOV.W R0,R1
MOV.B @(27:16,SP),R0L
JSR @_OS_TCBInit:16
MOV.W #12,R1
ADD.W R1,SP
MOV.B R0L,R5L
.LINE 80
BNE L71
.LINE 80
.LINE 81
JSR @_OSCPUSaveSR:16
.LINE 82
MOV.B @_OSTaskCtr:16,R0H
INC.B R0H
MOV.B R0H,@_OSTaskCtr:16
.LINE 83
JSR @_OSCPURestoreSR:16
.LINE 84
MOV.B @_OSRunning:16,R0L
CMP.B #1,R0L
BNE L73
.LINE 84
.LINE 85
JSR @_OS_Sched:16
BRA L73
L71:
.LINE 87
.LINE 88
JSR @_OSCPUSaveSR:16
.LINE 89
MOV.W R4,@(_OSTCBPrioTbl:16,R6)
.LINE 90
JSR @_OSCPURestoreSR:16
L73:
.LINE 92
MOV.B R5L,R0L
BRA L74
L69:
.LINE 94
MOV.B R5L,R0L
JSR @_OSCPURestoreSR:16
.LINE 95
MOV.B #40,R0L
.LINE 96
L74:
JMP @$spregld2$3:16
.SECTION C,DATA,ALIGN=2
L70:
.DATA.W H'0000,H'0000
.END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -