📄 disint.s
字号:
/* *---------------------------------------------------------------------- * T-Kernel * * Copyright (C) 2004-2006 by Ken Sakamura. All rights reserved. * T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * * Version: 1.02.02 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/9. * *---------------------------------------------------------------------- *//* * @(#)disint.S (libtk/M32104) * * Enable/disable external interrupt */#include <machine.h>#include <tk/sysdef.h>/* * Disable external interrupt * UINT disint( void ) * PSW.IE = 0; return value is ~PSW prior to change. */ .text .balign 4 .globl Csym(disint) .type Csym(disint), @functionCsym(disint): mvfc r0, psw ldi r1, #~PSW_IE and r1, r0 not r0, r0 mvtc r1, psw jmp lr/* * Enable external interrupt (restore to original state) * UINT enaint( UINT intsts ) * PSW.IE = ~intsts.IE; Only PSW.IE changes; all else remains unchanged. * The return value is ~PSW prior to the change. */ .text .balign 4 .globl Csym(enaint) .type Csym(enaint), @functionCsym(enaint): mvfc r4, psw and3 r5, r0, #PSW_IE or3 r6, r4, #PSW_IE not r0, r4 xor r6, r5 mvtc r6, psw jmp lr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -