📄 task_dsp.src
字号:
; ---------------------------------------------------------------------------
; HOS 僞僗僋僨傿僗僷僢僠張棟
;
; Copyright(C) 1998-2002 by Project HOS
; ---------------------------------------------------------------------------
; .CPU 300HN
; .INCLUDE "extern.inc"
.SECTION P,CODE,ALIGN=2
; -----------------------------------------------
; 妱崬傒儅僗僋 (斈梡)
; -----------------------------------------------
___di:
ORC #H'80, CCR
RTS
; -----------------------------------------------
; 妱崬傒儅僗僋夝彍 (斈梡)
; -----------------------------------------------
___ei:
ANDC #H'7F,CCR
RTS
; -----------------------------------------------
; 妱崬傒儅僗僋 (僔僗僥儉僐乕儖梡)
; -----------------------------------------------
___set_imsk:
ORC #H'80, CCR
RTS
; -----------------------------------------------
; 妱崬傒儅僗僋偐傜偺暅婣 (僔僗僥儉僐乕儖梡)
; -----------------------------------------------
___res_imsk:
MOV.W @_sysstat,R0
AND.W #H'02,R0
BNE NO_SET
ANDC #H'7F,CCR
NO_SET:
RTS
; -----------------------------------------------
; 僞僗僋僗僞乕僩晹暘
; 嵟弶偺僨傿僗僷僢僠屻偙偙偵棃傞
; -----------------------------------------------
___tskst_entry:
LDC #H'00,CCR ; 妱傝崬傒嫋壜
PUSH.W R0 ; 僗僞乕僩僷儔儊乕僞乕
JSR @ER6
ADDS #2,ER7
JMP @_ext_tsk ; 僞僗僋廔椆
; -----------------------------------------------
; 僞僗僋愗傝懼偊
; H __swc_dsp(T_TCB *tcb);
; -----------------------------------------------
___swc_dsp:
PUSH.L ER2
PUSH.L ER3
PUSH.L ER4
PUSH.L ER5
PUSH.L ER6
SUBS #2, ER7 ; 儕僞乕儞僷儔儊乕僞梡椞堟嶌惉
;偙偙傪曄峏2002/07/03 by 郷
; MOV.L @_curtcb,ER1
; MOV.L ER7,@(0, ER1) ; 僗僞僢僋億僀儞僞曐懚
; MOV.L @(0, ER0), ER7 ; 僗僞僢僋億僀儞僞暅婣
; MOV.L ER0,@_curtcb ; 怴TCB搊榐
MOV.W @_curtcb,R1
MOV.W R7,@(0, ER1) ; 僗僞僢僋億僀儞僞曐懚
MOV.W @(0, ER0), R7 ; 僗僞僢僋億僀儞僞暅婣
MOV.W R0,@_curtcb ; 怴TCB搊榐
POP.W R0 ; 儕僞乕儞僷儔儊乕僞乕庢摼
POP.L ER6
POP.L ER5
POP.L ER4
POP.L ER3
POP.L ER2
RTS
; -----------------------------------------------
; 僞僗僋偺暅婣
; void __sta_dsp(T_TCB *tcb);
; -----------------------------------------------
___sta_dsp:
;偙偙傪曄峏2002/07/03 by 郷
; MOV.L @(0, ER0),ER7 ; 僗僞僢僋億僀儞僞暅婣
MOV.W @(0, ER0),R7 ; 僗僞僢僋億僀儞僞暅婣
POP.W R0
POP.L ER6
POP.L ER5
POP.L ER4
POP.L ER3
POP.L ER2
RTS
; -----------------------------------------------
; 僞僗僋偺掆巭
; H __end_dsp(void);
; -----------------------------------------------
___end_dsp:
PUSH.L ER2
PUSH.L ER3
PUSH.L ER4
PUSH.L ER5
PUSH.L ER6
SUBS #2, ER7 ; 儕僞乕儞僷儔儊乕僞梡椞堟嶌惉
;偙偙傪曄峏2002/07/03 by 郷
; MOV.L @_curtcb,ER1
; MOV.L ER7,@(0, ER1) ; 僗僞僢僋億僀儞僞曐懚
MOV.W @_curtcb,R1
MOV.W @_curtcb,R2
MOV.W R7,@(0, ER1) ; 僗僞僢僋億僀儞僞曐懚
JMP @___tsk_hlt ; 僞僗僋掆巭
; -----------------------------------------------
; HALT (儗僨傿乕僉儏乕偵僞僗僋偑柍偄)
; -----------------------------------------------
___tsk_hlt:
MOV.L #H'FFFFFFFF,ER0 ; NADR
MOV.L ER0,@_curtcb
MOV.L #_halt_sp,ER7
LDC #H'00,CCR ; 妱傝崬傒嫋壜
HLT_LOOP: BRA HLT_LOOP ; 柍尷儖乕僾
.SECTION B,DATA,ALIGN=2
_halt_stack: .RES.W 64 ; HALT帪偺僗僞僢僋
_halt_sp:
; .END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -