📄 int.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel * * Copyright (C) 2004 by Ken Sakamura. All rights reserved. * T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * * Version: 1.01.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2004/6/28. * *---------------------------------------------------------------------- *//* * @(#)int.c (libtk/SH7727) * * Interrupt controller */#include <basic.h>#include <tk/syslib.h>#include <tk/sysdef.h>/* * Clear IRQ interrupt request */EXPORT void ClearInt( INTVEC vector ){ UW msk = 1 << IRQNO(vector); UW irr; UW imask; /* Disable interrupt */ Asm(" stc sr, r0 \n" " stc sr, %0 \n" " or %1, r0 \n" " ldc r0, sr " : "=r"(imask) : "i"(SR_I(15)) : "r0" ); irr = in_b(IRR0); if ( (irr & msk) != 0 ) { /* Clear interrupt request */ out_b(IRR0, irr ^ msk); } /* Restore interrupt status */ Asm(" ldc %0, sr" :: "r"(imask));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -