?? irq_ven.s
字號:
IMPORT timer_irq
EXPORT handler_irq
EXPORT Angel_IRQ_Address
AREA irq, CODE, READONLY
; ********************************************************************************
; * DATA
; ********************************************************************************
INTPND DCD 0x03ff4004 ;IRQ controller
handler_irq
STMFD sp!, {r0 - r3, LR} ;Maintain Stack using APCS standard
; -- identify source of interrupt .........................
LDR r0, INTPND
LDR r0, [r0]
; -- check if source is a timer interrupt .................
TST r0, #0x0400
BNE handler_event_timer
LDMFD sp!, {r0 - r3, lr} ;If not then its an Angel request
LDR pc, Angel_IRQ_Address ;remove the regs from the stack and call
;the routine
handler_event_timer
BL timer_irq ;if this point is reached then the irq is from
;the timer
LDMFD sp!, {r0 - r3,lr} ;return from the irq_auxtimer routine -
;restore the registers
subs pc, lr, #4 ;and return from the interrupt
Angel_IRQ_Address
DCD 0x00000000 ; Scratch location for Angel IRQ Handler address
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -