?? pacint.src
字號:
; --------------------------------------------------------------------------- ; Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS ; プロセッサ藐據(jù)步コンポ〖ネント (泣惟 H8/300H 脫) ; 充り哈みハンドラ ; ; Copyright (C) 1998-2003 by Project HOS ; http://sourceforge.jp/projects/hos/ ; --------------------------------------------------------------------------- .CPU 300HA .SECTION D, DATA, ALIGN=2 .SECTION X, DATA, ALIGN=2 .SECTION P, CODE, ALIGN=2 .EXPORT _hos_vector001 .EXPORT _hos_vector002 .EXPORT _hos_vector003 .EXPORT _hos_vector004 .EXPORT _hos_vector005 .EXPORT _hos_vector006 .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_vector020 .EXPORT _hos_vector021 .EXPORT _hos_vector022 .EXPORT _hos_vector023 .EXPORT _hos_vector024 .EXPORT _hos_vector025 .EXPORT _hos_vector026 .EXPORT _hos_vector027 .EXPORT _hos_vector028 .EXPORT _hos_vector029 .EXPORT _hos_vector030 .EXPORT _hos_vector031 .EXPORT _hos_vector032 .EXPORT _hos_vector033 .EXPORT _hos_vector034 .EXPORT _hos_vector035 .EXPORT _hos_vector036 .EXPORT _hos_vector037 .EXPORT _hos_vector038 .EXPORT _hos_vector039 .EXPORT _hos_vector040 .EXPORT _hos_vector041 .EXPORT _hos_vector042 .EXPORT _hos_vector043 .EXPORT _hos_vector044 .EXPORT _hos_vector045 .EXPORT _hos_vector046 .EXPORT _hos_vector047 .EXPORT _hos_vector048 .EXPORT _hos_vector049 .EXPORT _hos_vector050 .EXPORT _hos_vector051 .EXPORT _hos_vector052 .EXPORT _hos_vector053 .EXPORT _hos_vector054 .EXPORT _hos_vector055 .EXPORT _hos_vector056 .EXPORT _hos_vector057 .EXPORT _hos_vector058 .EXPORT _hos_vector059 .EXPORT _hos_vector060 .EXPORT _hos_vector061 .EXPORT _hos_vector062 .EXPORT _hos_vector063;------------------------------------------------; 充り哈みハンドラ;------------------------------------------------_hos_vector001: push.l er0 mov.l #1, er0 bra int_handler1:8_hos_vector002: push.l er0 mov.l #2, er0 bra int_handler1:8_hos_vector003: push.l er0 mov.l #3, er0 bra int_handler1:8_hos_vector004: push.l er0 mov.l #4, er0 bra int_handler1:8_hos_vector005: push.l er0 mov.l #5, er0 bra int_handler1:8_hos_vector006: push.l er0 mov.l #6, er0 bra int_handler1:8_hos_vector007: push.l er0 mov.l #7, er0 bra int_handler1:8_hos_vector008: push.l er0 mov.l #8, er0 bra int_handler1:8_hos_vector009: push.l er0 mov.l #9, er0 bra int_handler1:8_hos_vector010: push.l er0 mov.l #10, er0 bra int_handler1:8_hos_vector011: push.l er0 mov.l #11, er0int_handler1: bra int_handler:16_hos_vector012: push.l er0 mov.l #12, er0 bra int_handler1:8_hos_vector013: push.l er0 mov.l #13, er0 bra int_handler1:8_hos_vector014: push.l er0 mov.l #14, er0 bra int_handler1:8_hos_vector015: push.l er0 mov.l #15, er0 bra int_handler1:8_hos_vector016: push.l er0 mov.l #16, er0 bra int_handler1:8_hos_vector017: push.l er0 mov.l #17, er0 bra int_handler1:8_hos_vector018: push.l er0 mov.l #18, er0 bra int_handler1:8_hos_vector019: push.l er0 mov.l #19, er0 bra int_handler1:8_hos_vector020: push.l er0 mov.l #20, er0 bra int_handler1:8_hos_vector021: push.l er0 mov.l #21, er0 bra int_handler1:8_hos_vector022: push.l er0 mov.l #22, er0 bra int_handler2:8_hos_vector023: push.l er0 mov.l #23, er0 bra int_handler2:8_hos_vector024: push.l er0 mov.l #24, er0 bra int_handler2:8_hos_vector025: push.l er0 mov.l #25, er0 bra int_handler2:8_hos_vector026: push.l er0 mov.l #26, er0 bra int_handler2:8_hos_vector027: push.l er0 mov.l #27, er0 bra int_handler2:8_hos_vector028: push.l er0 mov.l #28, er0 bra int_handler2:8_hos_vector029: push.l er0 mov.l #29, er0 bra int_handler2:8_hos_vector030: push.l er0 mov.l #30, er0 bra int_handler2:8_hos_vector031: push.l er0 mov.l #31, er0 bra int_handler2:8_hos_vector032: push.l er0 mov.l #32, er0int_handler2: bra int_handler_hos_vector033: push.l er0 mov.l #33, er0 bra int_handler2:8_hos_vector034: push.l er0 mov.l #34, er0 bra int_handler2:8_hos_vector035: push.l er0 mov.l #35, er0 bra int_handler2:8_hos_vector036: push.l er0 mov.l #36, er0 bra int_handler2:8_hos_vector037: push.l er0 mov.l #37, er0 bra int_handler2:8_hos_vector038: push.l er0 mov.l #38, er0 bra int_handler2:8_hos_vector039: push.l er0 mov.l #39, er0 bra int_handler2:8_hos_vector040: push.l er0 mov.l #40, er0 bra int_handler2:8_hos_vector041: push.l er0 mov.l #41, er0 bra int_handler2:8_hos_vector042: push.l er0 mov.l #42, er0 bra int_handler2:8_hos_vector043: push.l er0 mov.l #43, er0 bra int_handler3:8_hos_vector044: push.l er0 mov.l #44, er0 bra int_handler3:8_hos_vector045: push.l er0 mov.l #45, er0 bra int_handler3:8_hos_vector046: push.l er0 mov.l #46, er0 bra int_handler3:8_hos_vector047: push.l er0 mov.l #47, er0 bra int_handler3:8_hos_vector048: push.l er0 mov.l #48, er0 bra int_handler3:8_hos_vector049: push.l er0 mov.l #49, er0 bra int_handler3:8_hos_vector050: push.l er0 mov.l #50, er0 bra int_handler3:8_hos_vector051: push.l er0 mov.l #51, er0 bra int_handler3:8_hos_vector052: push.l er0 mov.l #52, er0int_handler3: bra int_handler:16_hos_vector053: push.l er0 mov.l #53, er0 bra int_handler:8_hos_vector054: push.l er0 mov.l #54, er0 bra int_handler:8_hos_vector055: push.l er0 mov.l #55, er0 bra int_handler:8_hos_vector056: push.l er0 mov.l #56, er0 bra int_handler:8_hos_vector057: push.l er0 mov.l #57, er0 bra int_handler:8_hos_vector058: push.l er0 mov.l #58, er0 bra int_handler:8_hos_vector059: push.l er0 mov.l #59, er0 bra int_handler:8_hos_vector060: push.l er0 mov.l #60, er0 bra int_handler:8_hos_vector061: push.l er0 mov.l #61, er0 bra int_handler:8_hos_vector062: push.l er0 mov.l #62, er0 bra int_handler:8_hos_vector063: push.l er0 mov.l #63, er0 bra int_handler:8; -----------------------------------------------; 充り哈み借妄;; 充り哈み券欄箕は er0 を push した稿、er0 に; 充り哈み戎規(guī)をセットして、ここにジャンプする; ----------------------------------------------- .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.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.l er7, @_kernel_int_ssp mov.l @_kernel_int_sp, er7 ; ---- 充り哈み借妄の倡幌 push.l er0 jsr @_kernel_sta_int pop.l er0 ; -------- 充り哈みハンドラの借妄 jsr @_kernel_exe_int ; -------- スタックポインタ牲耽 mov.l @_kernel_int_ssp, er7 ; -------- 充り哈みネストカウンタクリア 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を構(gòu)糠 ; -------- 牲耽 pop.l er1 pop.l er0 rte ; ======== 驢腳充り哈み ========mul_int: ; -------- 充り哈みネストカウンタ裁換 inc.w #1, r1 mov.w r1, @_kernel_int_cnt ; -------- 充り哈みハンドラ鈣び叫し jsr @_kernel_exe_int ; -------- 充り哈みネストカウンタ負(fù)換 mov.w @_kernel_int_cnt, r0 dec.w #1, r0 mov.w r0, @_kernel_int_cnt ; -------- 牲耽 pop.l er1 pop.l er0 rte .END; --------------------------------------------------------------------------- ; Copyright (C) 1998-2002 by Project HOS ; ---------------------------------------------------------------------------
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -