2 * Hyper Operating System V4 Advance
7 * Copyright (C) 1998-2006 by Project HOS
8 * http://sourceforge.jp/projects/hos/
12 #include "core/core.h"
13 #include "object/isrobj.h"
19 void _kernel_exe_isr(INTNO intno)
21 _KERNEL_T_ISRCB_RO_PTR isrcb_ro;
22 _KERNEL_T_ISRCB_PTR isrcb;
23 _KERNEL_T_ISRHDL isrhdl;
25 isrhdl = _KERNEL_INT_GET_HEAD(intno);
28 #if _KERNEL_SPT_HOK_ISRSTA
29 _kernel_isr_sta(intno);
32 while ( isrhdl != _KERNEL_ISRHDL_NULL )
34 isrcb = _KERNEL_ISR_ISRHDL2ISRCB(isrhdl);
35 isrcb_ro = _KERNEL_ISR_ISRHDL2ISRCBRO(isrhdl);
37 _KERNEL_ENA_INT(); /* %jp{多重割込み許可} */
38 _KERNEL_ISR_GET_ISR(isrcb_ro)(_KERNEL_ISR_GET_EXINF(isrcb_ro));
39 _KERNEL_DIS_INT(); /* %jp{割込み禁止} */
41 isrhdl = _KERNEL_ISR_GET_NEXT(isrcb);
45 #if _KERNEL_SPT_HOK_ISREND
46 _kernel_isr_end(intno);