⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _csl_intc0restoreirq.asm

📁 TI达芬奇dm644x各硬件模块测试代码
💻 ASM
字号:
****************************************************************************
*                    E X P O R T E D     F U N C T I O N S
****************************************************************************
    .global __CSL_intc0RestoreIRQ
****************************************************************************
*                         P A S S - T H R U   C O D E
****************************************************************************

  .text
  .state32

; the MODE bits [4:0] in PSR
__INTC0_CPSR_MODE_MASK  .equ    0x0000001F
__INTC0_CPSR_MODE_SHIFT .equ    0x00

; the IRQ bit   [7]   in PSR
__INTC0_CPSR_IRQ_MASK   .equ    0x00000080
__INTC0_CPSR_IRQ_SHIFT  .equ    0x07

; the FIQ bit   [6]   in PSR
__INTC0_CPSR_FIQ_MASK   .equ    0x00000040
__INTC0_CPSR_FIQ_SHIFT  .equ    0x06


****************************************************************************
*                       P U B L I C   F U N C T I O N S
****************************************************************************

****************************************************************************
*   _CSL_Intc0IrqEnableState
*       _CSL_intc0RestoreIRQ (
*           _CSL_Intc0IrqEnableState prevState
*   )
****************************************************************************

__CSL_intc0RestoreIRQ:
    ; argument in R0 -> the IRQ enable-state
    ; return value in R0 -> the IRQ bit pattern

    mov r0, r0, lsl #__INTC0_CPSR_IRQ_SHIFT ; shift the bit to position
    and r0, r0, #__INTC0_CPSR_IRQ_MASK      ; and mask out extraneous bits

    mrs r1, cpsr
    bic r2, r1, #__INTC0_CPSR_IRQ_MASK      ; clear out the current value
    orr r2, r2, r0                          ; and put in the new one
    msr cpsr, r2

    and r0, r1, #__INTC0_CPSR_IRQ_MASK      ; get the IRQ bits into R0
    mov r0, r0, lsr #__INTC0_CPSR_IRQ_SHIFT ; shift into the LSBs

    bx   lr

    .state16

    .global $_CSL_intc0RestoreIRQ

$_CSL_intc0RestoreIRQ:
    bx  pc
    nop
    .state32
    b   __CSL_intc0RestoreIRQ

****************************************************************************
* End of _CSL_intc0RestoreIRQ.asm
****************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -