disint.s

来自「嵌入式操作系统T-Kernel 完整代码」· S 代码 · 共 60 行

S
60
字号
/* *---------------------------------------------------------------------- *    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. * *---------------------------------------------------------------------- *//* *	@(#)disint.S (libtk/MC9328) * *	Enable/disable external interrupt */#include <machine.h>#include <tk/sysdef.h>/* * Disable external interrupt * UINT disint( void ) *	CPSR interrupt flag is in disabled status. *	Return value is CPSR prior to change. */	.text	.balign	4	.globl	Csym(disint)	.type	Csym(disint), %functionCsym(disint):	mrs	r0, cpsr	orr	ip, r0, #PSR_DI	msr	cpsr_c, ip	bx	lr/* * Enable external interrupt (restore to original state)  * UINT enaint( UINT intsts ) *	Updates CPSR interrupt disabled flag with the intsts interrupt *	disabled flag. *	CPSR remains unchanged apart from the interrupt disabled flag. *	The return value is CPSR prior to change. */	.text	.balign	4	.globl	Csym(enaint)	.type	Csym(enaint), %functionCsym(enaint):	and	r3, r0, #PSR_DI	mrs	r0, cpsr	bic	r2, r0, #PSR_DI	orr	r2, r2, r3	msr	cpsr_c, r2	bx	lr

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?