int.c

来自「嵌入式操作系统T-Kernel 完整代码」· C语言 代码 · 共 53 行

C
53
字号
/* *---------------------------------------------------------------------- *    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 + =
减小字号Ctrl + -
显示快捷键?