📄 int_asm.src
字号:
; ---------------------------------------------------------------------------
; HOS 妱傝崬傒娗棟 傾僙儞僽儕晹
;
; Copyright(C) 1998-2002 by Project HOS
; ---------------------------------------------------------------------------
; .CPU 300HN
; .INCLUDE "extern.inc"
.SECTION P,CODE,ALIGN=2
; -----------------------------------------------
; 僨僼僅儖僩偺妱傝崬傒僴儞僪儔
; -----------------------------------------------
_int_default:
RTE
; -----------------------------------------------
; 妱傝崬傒偺僩儔僢僾
; ER1 偵屇傃弌偟傾僪儗僗偑擖偭偰偔傞
; -----------------------------------------------
_int_trap:
; -------- 儗僕僗僞曐懚
PUSH.L ER0
; -------- 懡廳妱傝崬傒偺敾暿
MOV.W @_int_cnt,R0
BNE MUL_INT
; ======== 嵟弶偺妱傝崬傒 ========
MOV.W #1,R0
MOV.W R0,@_int_cnt
; -------- 僔僗僥儉忬懺偺曄峏
MOV.W @_sysstat,R0
BSET #2,R0L
MOV.W R0,@_sysstat
; -------- 僗僞僢僋億僀儞僞偺擖傟懼偊
;偙偙傪曄峏 2002/07/03 by 郷
; MOV.L ER7,@_int_sp
; MOV.L @___system_stack,ER7
MOV.W R7,@_int_sp
MOV.W @___system_stack,R7
; -------- 僴儞僪儔屇傃弌偟
JSR @ER1
; -------- 妱傝崬傒暅婣
LDC #H'FF,CCR ; 妱傝崬傒嬛巭
XOR.W R0,R0
MOV.W R0,@_int_cnt
; -------- 僗僞僢僋億僀儞僞暅婣
;偙偙傪曄峏 2002/07/03 by 郷
; MOV.L @_int_sp,ER7
MOV.W @_int_sp,R7
; -------- 僔僗僥儉忬懺曄峏
MOV.W @_sysstat,R0
BCLR #2,R0L
MOV.W R0,@_sysstat
; -------- 抶墑僨傿僗僷僢僠
MOV.W @_sysstat,R0
BNE INT_RETURN
MOV.W @_dlydsp,R0
BEQ INT_RETURN
JSR @___tsk_dsp
; -------- 暅婣
INT_RETURN:
POP.L ER0
POP.L ER1
RTE
; ======== 懡廳妱傝崬傒 ========
MUL_INT:
INC.W #1,R0
MOV.W R0,@_int_cnt
; -------- 妱傝崬傒僴儞僪儔屇傃弌偟
JSR @ER1
LDC #H'FF,CCR ; 妱傝崬傒嬛巭
; -------- 妱傝崬傒偐傜偺暅婣
MOV.W @_int_cnt,R0
DEC.W #1,R0
MOV.W R0,@_int_cnt
POP.L ER0
POP.L ER1
RTE
; -----------------------------------------------
; 妱傝崬傒張棟僨乕僞
; -----------------------------------------------
.SECTION B,DATA,ALIGN=2
;偙偙傪曄峏 2002/07/03 by 郷
;_int_sp: .RES.L 1 ; 妱傝崬傒帪偺 ER7 曐懚梡
_int_sp: .RES.W 1 ; 妱傝崬傒帪偺 ER7 曐懚梡
; .END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -