📄 pacint.s
字号:
_hos_vecter080: mov.l r4, @-r15
bra int_handler
mov #80, r4
_hos_vecter081: mov.l r4, @-r15
bra int_handler
mov #81, r4
_hos_vecter082: mov.l r4, @-r15
bra int_handler
mov #82, r4
_hos_vecter083: mov.l r4, @-r15
bra int_handler
mov #83, r4
_hos_vecter084: mov.l r4, @-r15
bra int_handler
mov #84, r4
_hos_vecter085: mov.l r4, @-r15
bra int_handler
mov #85, r4
_hos_vecter086: mov.l r4, @-r15
bra int_handler
mov #86, r4
_hos_vecter087: mov.l r4, @-r15
bra int_handler
mov #87, r4
_hos_vecter088: mov.l r4, @-r15
bra int_handler
mov #88, r4
_hos_vecter089: mov.l r4, @-r15
bra int_handler
mov #89, r4
_hos_vecter090: mov.l r4, @-r15
bra int_handler
mov #90, r4
_hos_vecter091: mov.l r4, @-r15
bra int_handler
mov #91, r4
_hos_vecter092: mov.l r4, @-r15
bra int_handler
mov #92, r4
_hos_vecter093: mov.l r4, @-r15
bra int_handler
mov #93, r4
_hos_vecter094: mov.l r4, @-r15
bra int_handler
mov #94, r4
_hos_vecter095: mov.l r4, @-r15
bra int_handler
mov #95, r4
_hos_vecter096: mov.l r4, @-r15
bra int_handler
mov #96, r4
_hos_vecter097: mov.l r4, @-r15
bra int_handler
mov #97, r4
_hos_vecter098: mov.l r4, @-r15
bra int_handler
mov #98, r4
_hos_vecter099: mov.l r4, @-r15
bra int_handler
mov #99, r4
_hos_vecter100: mov.l r4, @-r15
bra int_handler
mov #100, r4
_hos_vecter101: mov.l r4, @-r15
bra int_handler
mov #101, r4
_hos_vecter102: mov.l r4, @-r15
bra int_handler
mov #102, r4
_hos_vecter103: mov.l r4, @-r15
bra int_handler
mov #103, r4
_hos_vecter104: mov.l r4, @-r15
bra int_handler
mov #104, r4
_hos_vecter105: mov.l r4, @-r15
bra int_handler
mov #105, r4
_hos_vecter106: mov.l r4, @-r15
bra int_handler
mov #106, r4
_hos_vecter107: mov.l r4, @-r15
bra int_handler
mov #107, r4
_hos_vecter108: mov.l r4, @-r15
bra int_handler
mov #108, r4
_hos_vecter109: mov.l r4, @-r15
bra int_handler
mov #109, r4
_hos_vecter110: mov.l r4, @-r15
bra int_handler
mov #110, r4
_hos_vecter111: mov.l r4, @-r15
bra int_handler
mov #111, r4
_hos_vecter112: mov.l r4, @-r15
bra int_handler
mov #112, r4
_hos_vecter113: mov.l r4, @-r15
bra int_handler
mov #113, r4
_hos_vecter114: mov.l r4, @-r15
bra int_handler
mov #114, r4
_hos_vecter115: mov.l r4, @-r15
bra int_handler
mov #115, r4
_hos_vecter116: mov.l r4, @-r15
bra int_handler
mov #116, r4
_hos_vecter117: mov.l r4, @-r15
bra int_handler
mov #117, r4
_hos_vecter118: mov.l r4, @-r15
bra int_handler
mov #118, r4
_hos_vecter119: mov.l r4, @-r15
bra int_handler
mov #119, r4
_hos_vecter120: mov.l r4, @-r15
bra int_handler
mov #120, r4
_hos_vecter121: mov.l r4, @-r15
bra int_handler
mov #121, r4
_hos_vecter122: mov.l r4, @-r15
bra int_handler
mov #122, r4
_hos_vecter123: mov.l r4, @-r15
bra int_handler
mov #123, r4
_hos_vecter124: mov.l r4, @-r15
bra int_handler
mov #124, r4
_hos_vecter125: mov.l r4, @-r15
bra int_handler
mov #125, r4
_hos_vecter126: mov.l r4, @-r15
bra int_handler
mov #126, r4
_hos_vecter127: mov.l r4, @-r15
bra int_handler
mov #127, r4
_hos_vecter128: mov.l r4, @-r15
bra int_handler
mov #128, r4
_hos_vecter129: mov.l r4, @-r15
bra int_handler
mov #129, r4
_hos_vecter130: mov.l r4, @-r15
bra int_handler
mov #130, r4
_hos_vecter131: mov.l r4, @-r15
bra int_handler
mov #131, r4
_hos_vecter132: mov.l r4, @-r15
bra int_handler
mov #132, r4
_hos_vecter133: mov.l r4, @-r15
bra int_handler
mov #133, r4
_hos_vecter134: mov.l r4, @-r15
bra int_handler
mov #134, r4
_hos_vecter135: mov.l r4, @-r15
bra int_handler
mov #135, r4
_hos_vecter136: mov.l r4, @-r15
bra int_handler
mov #136, r4
_hos_vecter137: mov.l r4, @-r15
bra int_handler
mov #137, r4
_hos_vecter138: mov.l r4, @-r15
bra int_handler
mov #138, r4
_hos_vecter139: mov.l r4, @-r15
bra int_handler
mov #139, r4
_hos_vecter140: mov.l r4, @-r15
bra int_handler
mov #140, r4
_hos_vecter141: mov.l r4, @-r15
bra int_handler
mov #141, r4
_hos_vecter142: mov.l r4, @-r15
bra int_handler
mov #142, r4
_hos_vecter143: mov.l r4, @-r15
bra int_handler
mov #143, r4
_hos_vecter144: mov.l r4, @-r15
bra int_handler
mov #144, r4
_hos_vecter145: mov.l r4, @-r15
bra int_handler
mov #145, r4
_hos_vecter146: mov.l r4, @-r15
bra int_handler
mov #146, r4
_hos_vecter147: mov.l r4, @-r15
bra int_handler
mov #147, r4
_hos_vecter148: mov.l r4, @-r15
bra int_handler
mov #148, r4
_hos_vecter149: mov.l r4, @-r15
bra int_handler
mov #149, r4
_hos_vecter150: mov.l r4, @-r15
bra int_handler
mov #150, r4
_hos_vecter151: mov.l r4, @-r15
bra int_handler
mov #151, r4
_hos_vecter152: mov.l r4, @-r15
bra int_handler
mov #152, r4
_hos_vecter153: mov.l r4, @-r15
bra int_handler
mov #153, r4
_hos_vecter154: mov.l r4, @-r15
bra int_handler
mov #154, r4
_hos_vecter155: mov.l r4, @-r15
bra int_handler
mov #155, r4
_hos_vecter156: mov.l r4, @-r15
bra int_handler
mov #156, r4
/************************************************
充り哈みハンドラ
r4をスタックに姥んだ稿、r4に充り哈み戎规を
呈羌してここに尸呆するものとする
************************************************/
.align 2
int_handler:
/* レジスタ锣闰(r0-r1) */
mov.l r0, @-r15
mov.l r1, @-r15
/* 充り哈みマスク肋年 */
stc sr, r0
mov r0, r1
or #0xf0, r0 /* 充り哈み链マスク肋年 */
ldc r0, sr
/* 充り哈みマスクの瘦赂 */
mov r1, r0
and #0xf0, r0
mov.l imsk_addr, r1
mov.l r0, @r1
/* 充り哈み戎规の射规橙磨をクリア */
extu.b r4, r4
/* レジスタ瘦赂(r2-r7,mach,macl,pr) */
mov.l r2, @-r15
mov.l r3, @-r15
mov.l r5, @-r15
mov.l r6, @-r15
mov.l r7, @-r15
sts.l mach, @-r15
sts.l macl, @-r15
sts.l pr, @-r15
/* 驴脚充り哈み冉年 */
mov.l int_cnt_addr, r1
mov.l @r1, r0
cmp/eq #0, r0
bf/s int_multi
add #1, r0
/* 帽迫充り哈み箕 */
mov.l r0, @r1 /* 充り哈みネスト猛を肋年 */
/* スタック掐れ仑え */
mov.l save_sp_addr, r0
mov.l r15, @r0 /* 附哼のスタックを锣闰 */
mov.l int_sp_addr, r0
mov.l @r0, r15 /* 充り哈み脱スタックを肋年 */
mov.l r4, @-r15 /* 充り哈み戎规を锣闰 */
/* 充り哈み倡幌借妄钙び叫し */
mov.l sta_int_addr, r1
jsr @r1
nop
/* 充り哈み悸乖借妄钙び叫し */
mov.l exe_int_addr, r1
jsr @r1
mov.l @r15+, r4 /* 充り哈み戎规を苞眶とする */
/* スタックの牲耽 */
mov.l save_sp_addr, r0
mov.l @r0, r15
/* 充り哈みカウンタのクリア */
mov.l int_cnt_addr, r1
xor r0, r0
mov.l r0, @r1
/* ベ〖スマスク猛に提す */
mov.l imsk_base_addr, r0
mov.l @r0, r1
mov.l imsk_addr, r0
mov.l r1, @r0
/* 充り哈み姜位借妄钙び叫し */
mov.l end_int_addr, r1
jsr @r1
nop
/* レジスタ牲耽 */
lds.l @r15+, pr
lds.l @r15+, macl
lds.l @r15+, mach
mov.l @r15+, r7
mov.l @r15+, r6
mov.l @r15+, r5
mov.l @r15+, r3
mov.l @r15+, r2
mov.l @r15+, r1
/* 牲耽箕充り哈みマスクの肋年 */
mov.l imsk_addr, r4
mov.l @r4, r4 /* マスク猛艰评 */
mov.l @(8, r15), r0
or r4, r0
mov.l r0, @(8, r15) /* 牲耽箕SRのマスク肋年 */
mov.l @r15+, r0
mov.l @r15+, r4
rte
nop
/* 驴脚充り哈み借妄 */
int_multi:
mov.l r0, @r1 /* 充り哈みネスト猛を肋年 */
/* 充り哈み悸乖借妄钙び叫し */
mov.l exe_int_addr, r1
jsr @r1 /* 充り哈み戎规を苞眶とする */
nop
/* 充り哈みカウンタの负换 */
mov.l int_cnt_addr, r1
mov.l @r1, r0
add #-1, r0
mov.l r0, @r1
/* レジスタ牲耽 */
lds.l @r15+, pr
lds.l @r15+, macl
lds.l @r15+, mach
mov.l @r15+, r7
mov.l @r15+, r6
mov.l @r15+, r5
mov.l @r15+, r3
mov.l @r15+, r2
mov.l @r15+, r1
mov.l @r15+, r0
mov.l @r15+, r4
rte
nop
.align 2
imsk_addr:
.long _hospac_sh_imsk /* 充り哈みマスク */
imsk_base_addr:
.long _hospac_sh_imsk_base /* 充り哈みマスクベ〖ス猛 */
int_cnt_addr:
.long _kernel_int_cnt /* 充り哈みネスト搀眶 */
save_sp_addr:
.long _kernel_int_ssp /* 充り哈み脱スタックポインタ锣闰 */
int_sp_addr:
.long _kernel_int_sp /* 充り哈み脱スタックポインタ */
sta_int_addr:
.long _kernel_sta_int /* 充り哈み倡幌借妄 */
end_int_addr:
.long _kernel_end_int /* 充り哈み姜位借妄 */
exe_int_addr:
.long _kernel_exe_int /* 充り哈み悸乖借妄 */
.end
/* ------------------------------------------------------------------------ */
/* Copyright (C) 1998-2002 by Project HOS */
/* ------------------------------------------------------------------------ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -