_csl_begincriticalsection.asm
来自「TI达芬奇dm644x各硬件模块测试代码」· 汇编 代码 · 共 56 行
ASM
56 行
***************************************************************************** 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 + =
减小字号Ctrl + -
显示快捷键?