📄 disint.s
字号:
/* *---------------------------------------------------------------------- * 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/MB87Q1100) * * 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -