📄 irq.s
字号:
;/*****************************************************************************/
;/* IRQ.S: IRQ Handler */
;/*****************************************************************************/
;/* This file is part of the uVision/ARM development tools. */
;/* Copyright (c) 2005-2006 Keil Software. All rights reserved. */
;/* This software may only be used under the terms of a valid, current, */
;/* end user licence from KEIL for a compatible version of KEIL software */
;/* development tools. Nothing else gives you the right to use this software. */
;/*****************************************************************************/
IRQSTA_ADR EQU 0xFFFF0000 ; IRQSTA Address
; User Interrupt Functions
; extern __irq void IRQx (void);
; extern __irq void IRQy (void);
; IMPORT IRQx ; User IRQx Function
; IMPORT IRQy ; User IRQx Function
;mIRQx EQU 0x00000080 ; User IRQx Mask
;mIRQy EQU 0x00004000 ; User IRQy Mask
; OS Interrupt Functions
IMPORT os_clock_interrupt
IMPORT os_def_interrupt
mIRQ_OS EQU 0x00000006 ; OS IRQ Mask (SWI + Timer)
AREA IRQ, CODE, READONLY
ARM
PRESERVE8
ALIGN
EXPORT IRQ_Handler
IRQ_Handler
STMDB SP!,{R0} ; Save R0
LDR R0,=IRQSTA_ADR ; Load IRQSTA Address
LDR R0,[R0] ; Load IRQSTA Value
; TST R0,#mIRQx ; Check IRQx Flag
; LDMNEIA SP!,{R0} ; Restore R0
; LDRNE PC,=IRQx ; IRQx Function
; TST R0,#mIRQy ; Check IRQy Flag
; LDMNEIA SP!,{R0} ; Restore R0
; LDRNE PC,=IRQy ; IRQy Function
TST R0,#mIRQ_OS ; Check OS IRQ Flag
LDMNEIA SP!,{R0} ; Restore R0
LDRNE PC,=os_clock_interrupt ; OS Clock IRQ Function
LDMIA SP!,{R0} ; Restore R0
LDR PC,=os_def_interrupt ; OS Default IRQ Function
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -