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

📄 samisr_asm.s

📁 S64和VS1003的MP3播放实现的源代码/
💻 S
字号:
; SAM ISR

SAM_AIC_BASE EQU 0xFFFFF000
SAM_AIC_IVR EQU 0x0100
SAM_AIC_FVR EQU 0x0104

IRQBIT    EQU    0x80 
FIQBIT    EQU    0x40

      PRESERVE8
      AREA  RAM_VECTOR, CODE, READONLY
      CODE32

;***************************************************************************************************
; ISR Handler
        EXPORT CPU_IRQ_ISR
        EXTERN OS_CPU_IRQ_ISR_Handler
CPU_IRQ_ISR
        ; Enter IRQ mode
        SUB    LR, LR, #4  ; return address
        STMFD  SP!,{R0-R3, LR} ; ATPCS 
        LDR    R0, _OS_CPU_IRQ_ISR_Handler
        MOV    LR, PC
        BX     R0
        LDMFD  SP!,{R0-R3, PC}^ ; SPSR -> CPSR

_OS_CPU_IRQ_ISR_Handler
        DCD    OS_CPU_IRQ_ISR_Handler
;***************************************************************************************************
      EXPORT SAM_IRQ_ENABLE
      EXPORT SAM_IRQ_DISABLE

SAM_IRQ_ENABLE
        MRS    R0, CPSR ; ATPCS
        BIC    R1, R0, #IRQBIT
        MSR    CPSR_c, R1    
        MRS    R1, CPSR         ; confirm
        ADD    R1, R1, #IRQBIT
        CMP    R1, #IRQBIT
        BEQ    SAM_IRQ_ENABLE            
        BX     LR

SAM_IRQ_DISABLE
        MRS    R0, CPSR ; ATPCS
        ORR    R1, R0, #IRQBIT
        MSR    CPSR_c, R1
        MRS    R1, CPSR         ; confirm
        ADD    R1, R1, #IRQBIT
        CMP    R1, #IRQBIT
        BNE    SAM_IRQ_ENABLE
        BX     LR

      END

⌨️ 快捷键说明

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