📄 _csl_begincriticalsection.asm
字号:
***************************************************************************** E X P O R T E D F U N C T I O N S**************************************************************************** .global __CSL_beginCriticalSection***************************************************************************** P A S S - T H R U C O D E**************************************************************************** .text .state32; the FIQIRQ bit [6:7] in PSR__ARM_CPSR_FIQIRQ_MASK .equ 0x000000C0__ARM_CPSR_FIQIRQ_SHIFT .equ 0x06***************************************************************************** P U B L I C F U N C T I O N S********************************************************************************************************************************************************* CSL_CriticalSectionState* _CSL_beginCriticalSection (* void* )****************************************************************************__CSL_beginCriticalSection: ; return value in R0 -> the FIQIRQ bit pattern mrs r0, cpsr orr r1, r0, #__ARM_CPSR_FIQIRQ_MASK ; set the FIQIRQ-bits to disable msr cpsr, r1 ; make return value and r0, r0, #__ARM_CPSR_FIQIRQ_MASK ; mask out irrelevant bits mov r0, r0, lsr #__ARM_CPSR_FIQIRQ_SHIFT ; shift into LSBs bx lr .state16 .global $_CSL_beginCriticalSection$_CSL_beginCriticalSection: bx pc nop .state32 b __CSL_beginCriticalSection***************************************************************************** End of _CSL_beginCriticalSection.asm****************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -