📄 isr.asm
字号:
// =========================================
// 文件名称:ISR.asm
// 功能描述:061的中断,调用F_USB_ISR
// 维护记录:modified by liuxue v1.0 2007-03-15
// =========================================
.PUBLIC _BREAK
.PUBLIC _FIQ
.PUBLIC _IRQ0
.PUBLIC _IRQ1
.PUBLIC _IRQ2
.PUBLIC _IRQ3
.PUBLIC _IRQ4
.PUBLIC _IRQ5
.PUBLIC _IRQ6
.PUBLIC _IRQ7
.INCLUDE spce061a.inc
.INCLUDE key.inc
.INCLUDE dvr.inc
.EXTERNAL _D12_USB_Isr
.TEXT
_BREAK:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_FIQ:
push r1,r5 to [sp]
r1 = C_FIQ_TMA
test r1,[P_INT_Ctrl]
jnz ?L_FIQ_TimerA
r1 = C_FIQ_TMB
test r1,[P_INT_Ctrl]
jnz ?L_FIQ_TimerB
?L_FIQ_PWM:
r1 = C_FIQ_PWM
[P_INT_Clear] = r1
pop r1,r5 from [sp]
reti
?L_FIQ_TimerA:
[P_INT_Clear] = r1
call F_FIQ_Service_SACM_DVR
pop r1,r5 from [sp]
reti
?L_FIQ_TimerB:
[P_INT_Clear] = r1
pop r1,r5 from [sp]
reti
_IRQ0:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_IRQ1:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_IRQ2:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_IRQ3:
push r1, r5 to [SP]
r1 = C_IRQ3_EXT1
test r1, [P_INT_Ctrl]
jnz ?L_IRQ3_EXT1
r1 = C_IRQ3_EXT2
test r1, [P_INT_Ctrl]
jnz ?L_IRQ3_EXT2
?L_IRQ3_Key:
r1 = C_IRQ3_KEY
[P_INT_Clear] = r1
jmp ?Exit
?L_IRQ3_EXT2:
r1 = C_IRQ3_EXT2
[P_INT_Clear] = r1
jmp ?Exit
?L_IRQ3_EXT1:
int off
r1 = C_IRQ3_EXT1
[P_INT_Clear] = r1
r1 = 0x0001
[P_Watchdog_Clear] = r1
call _D12_USB_Isr
int irq
?Exit:
pop r1, r5 from [SP]
reti
_IRQ4:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_IRQ5:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
_IRQ6:
push r1, r4 to [SP]
r1 = C_IRQ6_TMB2
test r1, [P_INT_Ctrl]
jnz ?L_IRQ6_TMB2
r1 = C_IRQ6_TMB1
test r1, [P_INT_Ctrl]
jnz ?L_IRQ6_TMB1
jmp ?Exit
?L_IRQ6_TMB2:
call F_Key_Scan // 扫描键盘
r1 = C_IRQ6_TMB2
[P_INT_Clear] = r1
jmp ?Exit
?L_IRQ6_TMB1:
r1 = C_IRQ6_TMB1
[P_INT_Clear] = r1
jmp ?Exit
?Exit:
pop r1, r4 from [SP]
reti
_IRQ7:
push r1, r4 to [SP]
pop r1, r4 from [SP]
reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -