📄 pacint.s
字号:
/* ------------------------------------------------------------------------ *//* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS *//* プロセッサ藐据步コンポ〖ネント (MIPS3高垂コア脱) *//* 充り哈みハンドラ *//* *//* Copyright (C) 1998-2002 by Project HOS *//* http://sourceforge.jp/projects/hos/ *//* ------------------------------------------------------------------------ */#include "mipsregs.h" .global int_handler /* 充り哈みハンドラ */ /** * 充り哈みハンドラ * 柒婶で充り哈み妥傍を冉年して判峡したハンドラを钙び叫す。 * 附哼はタイマ充り哈みしかサポ〖トしていない。 */ .text .align 2int_handler: /* レジスタ锣闰(r1-r1) */ move k0, sp /* 凯磨涟のスタックポインタを锣闰 */ addiu sp, -288 /* スタックフレ〖ムの澄瘦 */ sw $2, 4*2(sp) sw $3, 4*3(sp) sw $4, 4*4(sp) sw $5, 4*5(sp) sw $6, 4*6(sp) sw $7, 4*7(sp) sw $8, 4*8(sp) sw $9, 4*9(sp) sw $10, 4*10(sp) sw $11, 4*11(sp) sw $12, 4*12(sp) sw $13, 4*13(sp) sw $14, 4*14(sp) sw $15, 4*15(sp) sw $16, 4*16(sp) sw $17, 4*17(sp) sw $18, 4*18(sp) sw $19, 4*19(sp) sw $20, 4*20(sp) sw $21, 4*21(sp) sw $22, 4*22(sp) sw $23, 4*23(sp) sw $24, 4*24(sp) sw $25, 4*25(sp) sw $26, 4*26(sp) sw $27, 4*27(sp) sw k0, 4*29(sp) /* sp を锣闰∈凯磨涟の猛∷*/ sw $31, 4*31(sp) /* raを锣闰*/ mfc0 v1, CP0_EPC sw v1, 4*34(sp) /* EPCを锣闰 */ /* スタックの锣闰 */ la k0, kernel_int_ssp sw sp, (k0) la k0, kernel_int_sp lw sp, (k0) /* 充り哈み倡幌借妄钙び叫し */ la k0, kernel_sta_int jal k0 nop /* 充り哈み戎规を苞眶して悸乖借妄钙び叫し ∈とりあえずタイマ充り哈みだけがかかるとする。充り哈みベクタ戎规=1∷*/ la k0, kernel_exe_int li a0, 1 jal k0 nop /* スタックの牲耽 */ la k0, kernel_int_ssp lw sp, (k0) /* IE=0, EXL=0にセット∈充り哈みは敦贿のまま∷*/ mfc0 k0, CP0_STATUS la k1, 0xfffffffc and k0, k0, k1 /* IE=0, EXL=0 */ mtc0 k0, CP0_STATUS /* 充り哈み姜位借妄钙び叫し */ la k0, kernel_end_int jal k0 nop /* IE=1, EXL=1にセット∈充り哈みは敦贿のまま∷*/ mfc0 k0, CP0_STATUS la k1, 0x00000003 or k0, k0, k1 /* IE=1, EXL=1 */ mtc0 k0, CP0_STATUS /* レジスタ牲耽 */ lw $2, 4*2(sp) lw $3, 4*3(sp) lw $4, 4*4(sp) lw $5, 4*5(sp) lw $6, 4*6(sp) lw $7, 4*7(sp) lw $8, 4*8(sp) lw $9, 4*9(sp) lw $10, 4*10(sp) lw $11, 4*11(sp) lw $12, 4*12(sp) lw $13, 4*13(sp) lw $14, 4*14(sp) lw $15, 4*15(sp) lw $16, 4*16(sp) lw $17, 4*17(sp) lw $18, 4*18(sp) lw $19, 4*19(sp) lw $20, 4*20(sp) lw $21, 4*21(sp) lw $22, 4*22(sp) lw $23, 4*23(sp) lw $24, 4*24(sp) lw $25, 4*25(sp) lw $26, 4*26(sp) lw $27, 4*27(sp) lw $31, 4*31(sp) /* raの牲耽 */ lw v1, 4*34(sp) /* EPCの牲耽 */ mtc0 v1, CP0_EPC lw $29, 4*29(sp) /* スタックポインタの牲耽 */ eret/* ------------------------------------------------------------------------ *//* Copyright (C) 1998-2002 by Project HOS *//* ------------------------------------------------------------------------ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -