📄 pacintn.src
字号:
; --------------------------------------------------------------------------- ; Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS ; プロセッサ藐据步コンポ〖ネント (泣惟 H8/300HN 脱) ; 充り哈みハンドラ ; ; Copyright (C) 1998-2003 by Project HOS ; http://sourceforge.jp/projects/hos/ ; --------------------------------------------------------------------------- .CPU 300HN .SECTION D, DATA, ALIGN=2 .SECTION X, DATA, ALIGN=2 .SECTION P, CODE, ALIGN=2 .EXPORT _hos_vector007 .EXPORT _hos_vector008 .EXPORT _hos_vector009 .EXPORT _hos_vector010 .EXPORT _hos_vector011 .EXPORT _hos_vector012 .EXPORT _hos_vector013 .EXPORT _hos_vector014 .EXPORT _hos_vector015 .EXPORT _hos_vector016 .EXPORT _hos_vector017 .EXPORT _hos_vector018 .EXPORT _hos_vector019 .EXPORT _hos_vector021 .EXPORT _hos_vector022 .EXPORT _hos_vector023 .EXPORT _hos_vector024 .EXPORT _hos_vector025;------------------------------------------------; 充り哈みハンドラ;------------------------------------------------_hos_vector007: push.w r0 mov.b #7, r0l bra int_handler _hos_vector008: push.w r0 mov.b #8, r0l bra int_handler_hos_vector009: push.w r0 mov.b #9, r0l bra int_handler_hos_vector010: push.w r0 mov.b #10, r0l bra int_handler_hos_vector011: push.w r0 mov.b #11, r0l bra int_handler_hos_vector012: push.w r0 mov.b #12, r0l bra int_handler_hos_vector013: push.w r0 mov.b #13, r0l bra int_handler_hos_vector014: push.w r0 mov.b #14, r0l bra int_handler_hos_vector015: push.w r0 mov.b #15, r0l bra int_handler_hos_vector016: push.w r0 mov.b #16, r0l bra int_handler_hos_vector017: push.w r0 mov.b #17, r0l bra int_handler_hos_vector018: push.w r0 mov.b #18, r0l bra int_handler_hos_vector019: push.w r0 mov.b #19, r0l bra int_handler_hos_vector021: push.w r0 mov.b #21, r0l bra int_handler_hos_vector022: push.w r0 mov.b #22, r0l bra int_handler_hos_vector023: push.w r0 mov.b #23, r0l bra int_handler_hos_vector024: push.w r0 mov.b #24, r0l bra int_handler_hos_vector025: push.w r0 mov.b #25, r0l; -----------------------------------------------; 充り哈み借妄;; 充り哈み券栏箕は er0 を push した稿、r0l に; 充り哈み戎规をセットして、ここにジャンプする; ----------------------------------------------- .IMPORT _kernel_sta_int ; 充り哈み借妄倡幌 .IMPORT _kernel_end_int ; 充り哈み借妄姜位 .IMPORT _kernel_exe_int ; 充り哈み借妄悸乖 .IMPORT _kernel_int_sp ; 充り哈み脱スタックアドレス .IMPORT _kernel_int_ssp ; 充り哈み脱スタックアドレス .IMPORT _kernel_int_cnt ; 充り哈みネストカウンタ .IMPORT _kernel_h83_imsk ; 附哼の充り哈みマスク猛 .IMPORT _kernel_h83_ibmsk ; ベ〖ス充り哈みマスク猛int_handler: push.w e0 ; ---- 充り哈み戎规の射圭橙磨 extu.w r0 ; ---- レジスタ瘦赂 push.l er1 ; ----充り哈みマスク肋年 stc.b ccr, r1l and.b #h'c0, r1l mov.b r1l, @_kernel_h83_imsk ; -------- 驴脚充り哈みの冉侍 mov.w @_kernel_int_cnt, r1 bne mul_int ; ======== 呵介の充り哈み ======== ; ---- 充り哈みネストカウンタ肋年 mov.w #1, r1 mov.w r1, @_kernel_int_cnt ; ---- スタックポインタの掐れ仑え mov.w r7, @_kernel_int_ssp mov.w @_kernel_int_sp, r7 ; ---- 充り哈み借妄の倡幌 push.w r0 jsr @_kernel_sta_int pop.w r0 ; -------- 充り哈みハンドラの借妄 jsr @_kernel_exe_int ; -------- スタックポインタ牲耽 mov.w @_kernel_int_ssp, r7 ; -------- 充り哈みネストカウンタクリア xor.w r1, r1 mov.w r1, @_kernel_int_cnt ; -------- 充り哈みマスク猛の牲耽 mov.b @_kernel_h83_ibmsk, r0l mov.b r0l, @_kernel_h83_imsk ; 充り哈みマスク猛をベ〖ス猛に提す ; -------- タスクコンテキストに败乖 jsr @_kernel_end_int ; -------- 牲耽稿のマスク猛を肋年 mov.b @_kernel_h83_ibmsk, r0l ; ベ〖スマスク猛艰り叫し mov.b @(8, er7), r1l and.b #h'3f, r1l ; スタック惧のCCRからIとUI笆嘲を艰り叫し or.b r0l, r1l ; ベ〖スマスク猛を肋年 mov.b r1l, @(8, er7) ; スタック惧のCCRを构糠 ; -------- 牲耽 pop.l er1 pop.w e0 pop.w r0 rte ; ======== 驴脚充り哈み ========mul_int: ; -------- 充り哈みネストカウンタ裁换 inc.w #1, r1 mov.w r1, @_kernel_int_cnt ; -------- 充り哈みハンドラ钙び叫し jsr @_kernel_exe_int ; -------- 充り哈みネストカウンタ负换 mov.w @_kernel_int_cnt, r0 dec.w #1, r0 mov.w r0, @_kernel_int_cnt ; -------- 牲耽 pop.l er1 pop.w e0 pop.w r0 rte .END; --------------------------------------------------------------------------- ; Copyright (C) 1998-2003 by Project HOS ; ---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -