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/S1C38K) * * 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 + -
显示快捷键?