?? pacintn.s
字號:
/* -------------------------------------------------------------------------*//* Hyper Operating System V4 *//* 充り哈みハンドラ Hitachi H8/300H 脫 *//* *//* Copyright (C) 1998-2006 by Project HOS *//* http://sourceforge.jp/projects/hos/ *//* ------------------------------------------------------------------------ */#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) .h8300hn#else .h8300h#endif .text .align 2 .global _hos_vector001 .global _hos_vector002 .global _hos_vector003 .global _hos_vector004 .global _hos_vector005 .global _hos_vector006 .global _hos_vector007 .global _hos_vector008 .global _hos_vector009 .global _hos_vector010 .global _hos_vector011 .global _hos_vector012 .global _hos_vector013 .global _hos_vector014 .global _hos_vector015 .global _hos_vector016 .global _hos_vector017 .global _hos_vector018 .global _hos_vector019 .global _hos_vector020 .global _hos_vector021 .global _hos_vector022 .global _hos_vector023 .global _hos_vector024 .global _hos_vector025/************************************************ 充り哈みハンドラ*************************************************/_hos_vector001: push.w r0 mov.b #1, r0l bra int_handler1:8_hos_vector002: push.w r0 mov.b #2, r0l bra int_handler1:8_hos_vector003: push.w r0 mov.b #3, r0l bra int_handler1:8_hos_vector004: push.w r0 mov.b #4, r0lint_handler1: bra int_handler:8_hos_vector005: push.w r0 mov.b #5, r0l bra int_handler:8_hos_vector006: push.w r0 mov.b #6, r0l bra int_handler:8_hos_vector007: push.w r0 mov.b #7, r0l bra int_handler:8_hos_vector008: push.w r0 mov.b #8, r0l bra int_handler:8_hos_vector009: push.w r0 mov.b #9, r0l bra int_handler:8_hos_vector010: push.w r0 mov.b #10, r0l bra int_handler:8_hos_vector011: push.w r0 mov.b #11, r0l bra int_handler:8_hos_vector012: push.w r0 mov.b #12, r0l bra int_handler:8_hos_vector013: push.w r0 mov.b #13, r0l bra int_handler:8_hos_vector014: push.w r0 mov.b #14, r0l bra int_handler:8_hos_vector015: push.w r0 mov.b #15, r0l bra int_handler:8_hos_vector016: push.w r0 mov.b #16, r0l bra int_handler:8_hos_vector017: push.w r0 mov.b #17, r0l bra int_handler:8_hos_vector018: push.w r0 mov.b #18, r0l bra int_handler:8_hos_vector019: push.w r0 mov.b #19, r0l bra int_handler:8_hos_vector020: push.w r0 mov.b #20, r0l bra int_handler:8_hos_vector021: push.w r0 mov.b #21, r0l bra int_handler:8_hos_vector022: push.w r0 mov.b #22, r0l bra int_handler:8_hos_vector023: push.w r0 mov.b #23, r0l bra int_handler:8_hos_vector024: push.w r0 mov.b #24, r0l bra int_handler_hos_vector025: push.w r0 mov.b #25, r0l/************************************************ 充り哈み借妄 充り哈み券欄箕は r0 を push した稿、r0l に 充り哈み戎規をセットして、ここにジャンプする*************************************************/int_handler: /* レジスタ瘦賂 */ push.w e0 push.l er1 push.l er2 push.l er3 /* 充り哈み戎規のマスク */ extu.w r0 /* 充り哈みマスク肋年 */ stc.b ccr, r1l and.b #0xc0, r1l mov.b r1l, @_kernel_h83_imsk:16 /* 驢腳充り哈みの冉侍 */ mov.w @_kernel_int_cnt:16, r1 bne mul_int /* ======== 呵介の充り哈み ======== */ /* 充り哈みネストカウンタ肋年 */ mov.w #1, r1 mov.w r1, @_kernel_int_cnt:16 /* スタックポインタの掐れ侖え */ mov.w r7, @_kernel_int_ssp:16 mov.w @_kernel_int_sp:16, r7 /* 充り哈み借妄の倡幌 */ push.w r0 jsr @_kernel_sta_int:16 pop.w r0 /* 充り哈みハンドラの借妄 */ jsr @_kernel_exe_int:16 /* スタックポインタ牲耽 */ mov.w @_kernel_int_ssp:16, r7 /* 充り哈みネストカウンタクリア */ xor.w r1, r1 mov.w r1, @_kernel_int_cnt:16 /* 充り哈みマスク猛の牲耽 */ mov.b @_kernel_h83_ibmsk:16, r0l mov.b r0l, @_kernel_h83_imsk:16 /* 充り哈みマスク猛をベ〖ス猛に提す */ /* タスクコンテキストに敗乖 */ jsr @_kernel_end_int:16 /* 牲耽稿のマスク猛を肋年 */ mov.b @_kernel_h83_ibmsk:16, r0l /* ベ〖スマスク猛艱り叫し */ mov.b @(16:16, er7), r1l and.b #0x3f,r1l /* スタック懼のCCRからIとU笆嘲を艱り叫し */ or.b r0l, r1l /* ベ〖スマスク猛を肋年 */ mov.b r1l, @(16:16, er7) /* スタック懼のCCRを構糠 */ /* 牲耽 */ pop.l er3 pop.l er2 pop.l er1 pop.w e0 pop.w r0 rte /* ======== 驢腳充り哈み ======== */mul_int: /* 充り哈みネストカウンタ裁換 */ inc.w #1, r1 mov.w r1, @_kernel_int_cnt:16 /* 充り哈みハンドラ鈣び叫し */ jsr @_kernel_exe_int:16 /* 充り哈みネストカウンタ負換 */ mov.w @_kernel_int_cnt:16, r0 dec.w #1, r0 mov.w r0, @_kernel_int_cnt:16 /* 牲耽 */ pop.l er3 pop.l er2 pop.l er1 pop.w e0 pop.w r0 rte .end/* -------------------------------------------------------------------------*//* Copyright (C) 1998-2006 by Project HOS *//* -------------------------------------------------------------------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -