; ; M16Cアーキテクチャ依存出力ファイル ; ; 割込みベクタ及び割込みハンドラ定義 ; .section program, code, align .glb __kernel_interrupt_entry .glb _target_timer_handler .glb __kernel_target_timer_handler_12_entry __kernel_target_timer_handler_12_entry: pushm r0,r1,r2,r3,a0,a1,sb,fb ; レジスタをタスクスタックへ退避 mov.l #_target_timer_handler, a0 ; ハンドラのアドレスをa0へ jmp __kernel_interrupt_entry ; 共通ルーチンへ .glb __kernel_inthdr_17 .glb __kernel__kernel_inthdr_17_17_entry __kernel__kernel_inthdr_17_17_entry: pushm r0,r1,r2,r3,a0,a1,sb,fb ; レジスタをタスクスタックへ退避 mov.l #__kernel_inthdr_17, a0 ; ハンドラのアドレスをa0へ jmp __kernel_interrupt_entry ; 共通ルーチンへ .glb __kernel_inthdr_18 .glb __kernel__kernel_inthdr_18_18_entry __kernel__kernel_inthdr_18_18_entry: pushm r0,r1,r2,r3,a0,a1,sb,fb ; レジスタをタスクスタックへ退避 mov.l #__kernel_inthdr_18, a0 ; ハンドラのアドレスをa0へ jmp __kernel_interrupt_entry ; 共通ルーチンへ .glb _exc_handler .glb __kernel_exc_handler_1_entry __kernel_exc_handler_1_entry: pushm r0,r1,r2,r3,a0,a1,sb,fb ; レジスタをタスクスタックへ退避 stc isp, r3r1 ; スタックポインタをスタックへ push.l r3r1 mov.l #_exc_handler, a0 ; ハンドラのアドレスをa0へ jmp __kernel_interrupt_entry ; 共通ルーチンへ ; ; 可変ベクタテーブル ; .glb _start .glb _unused_interrupt .section vvector vvector_table: .lword _unused_interrupt ; 00 .lword _unused_interrupt ; 01 .lword _unused_interrupt ; 02 .lword _unused_interrupt ; 03 .lword _unused_interrupt ; 04 .lword _unused_interrupt ; 05 .lword _unused_interrupt ; 06 .lword _unused_interrupt ; 07 .lword _unused_interrupt ; 08 .lword _unused_interrupt ; 09 .lword _unused_interrupt ; 10 .lword _unused_interrupt ; 11 .lword __kernel_target_timer_handler_12_entry ; 12 .lword _unused_interrupt ; 13 .lword _unused_interrupt ; 14 .lword _unused_interrupt ; 15 .lword _unused_interrupt ; 16 .lword __kernel__kernel_inthdr_17_17_entry ; 17 .lword __kernel__kernel_inthdr_18_18_entry ; 18 .lword _unused_interrupt ; 19 .lword _unused_interrupt ; 20 .lword _unused_interrupt ; 21 .lword _unused_interrupt ; 22 .lword _unused_interrupt ; 23 .lword _unused_interrupt ; 24 .lword _unused_interrupt ; 25 .lword _unused_interrupt ; 26 .lword _unused_interrupt ; 27 .lword _unused_interrupt ; 28 .lword _unused_interrupt ; 29 .lword _unused_interrupt ; 30 .lword _unused_interrupt ; 31 .lword _unused_interrupt ; 32 .lword _unused_interrupt ; 33 .lword _unused_interrupt ; 34 .lword _unused_interrupt ; 35 .lword _unused_interrupt ; 36 .lword _unused_interrupt ; 37 .lword _unused_interrupt ; 38 .lword _unused_interrupt ; 39 .lword _unused_interrupt ; 40 .lword _unused_interrupt ; 41 .lword _unused_interrupt ; 42 .lword _unused_interrupt ; 43 .lword _unused_interrupt ; 44 .lword _unused_interrupt ; 45 .lword _unused_interrupt ; 46 .lword _unused_interrupt ; 47 .lword _unused_interrupt ; 48 .lword _unused_interrupt ; 49 .lword _unused_interrupt ; 50 .lword _unused_interrupt ; 51 .lword _unused_interrupt ; 52 .lword _unused_interrupt ; 53 .lword _unused_interrupt ; 54 .lword _unused_interrupt ; 55 .lword _unused_interrupt ; 56 .lword _unused_interrupt ; 57 .lword _unused_interrupt ; 58 .lword _unused_interrupt ; 59 .lword _unused_interrupt ; 60 .lword _unused_interrupt ; 61 .lword _unused_interrupt ; 62 .lword _unused_interrupt ; 63 ; ; 固定ベクタテーブル ; .section fvector fvector_table: .lword _unused_interrupt ; 0 .lword __kernel_exc_handler_1_entry ; 1 .lword _unused_interrupt ; 2 .lword _unused_interrupt ; 3 .lword 0FFFFFFH ; Reserved .lword _unused_interrupt ; 5 .lword 0FFFFFFH ; Reserved .lword _unused_interrupt ; 7 .lword _start ; 8 .end