?? 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 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 + -