📄 isr.asm
字号:
//中断程序(ISR.ASM)
.text
.include hardware.inc
.include S480.inc
.include Resource.inc
.public _FIQ;
_FIQ:
PUSH r1,r4 to [sp]; //压栈保护
r1=0x2000;
test r1,[P_INT_Ctrl]; //判断是不是FIQ_TMA中断源
jnz L_FIQ_TimerA; //是,则转
r1=0x0800;
test r1,[P_INT_Ctrl]; //否则,判断是不是FIQ_TMB中断源
jnz L_FIQ_TimerB; //是,则转
L_FIQ_PWM:
r1=C_FIQ_PWM;
[P_INT_Clear]=r1; //清除P_INT_Clear单元
POP R1,R4 from[sp];
reti;
L_FIQ_TimerA:
[P_INT_Clear]=r1;
call F_FIQ_Service_SACM_S480; //调用函数,完成播放
pop r1,r4 from [sp];
reti;
L_FIQ_TimerB:
[P_INT_Clear]=r1;
pop r1,r4 from [sp];
reti;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -