?? isr.asm
字號:
.PUBLIC _FIQ
.EXTERNAL _BSR_FIQ_Routine
.EXTERNAL __gIsStopRecog //變量值 = 0 辨識器忙;= 1 辨識器停止
.EXTERNAL _PlayFlag
.INCLUDE s480.inc;
.INCLUDE A2000.inc;
.INCLUDE resource.inc
.INCLUDE hardware.inc
.TEXT
//============================================================================================
//函數: FIQ()
//語法:void FIQ(void)
//描述:FIQ中服務斷函數
//參數:無
//返回:無
//===============================================================================================
_FIQ:
PUSH R1,R4 TO [SP]
R1 = [P_INT_Ctrl]
R1 &= 0x2000
JZ L_notTimerA //當不為TIQ_TMA,則轉
R1 = [__gIsStopRecog]
JNZ L_BSR_NotBusy //[__gIsStopRecog]為1則轉至放音處理
CALL _BSR_FIQ_Routine //為0,調用辨識子程序
JMP L_BSR_Busy //返回中斷
L_BSR_NotBusy: //放音處理
R2 = [_PlayFlag]
JNZ L_Play2000 //[_PlayFlag]為1則是播放2000
CALL F_FIQ_Service_SACM_S480; //為0,播放480
JMP L_BSR_Busy //返回中斷
L_Play2000: //2000播放子程序
CALL F_FIQ_Service_SACM_A2000;
L_BSR_Busy: //返回中斷
R1 = 0x2000
[P_INT_Clear] = R1
POP R1,R4 FROM [SP];
reti;
L_notTimerA:
R1 = 0x8800;
[P_INT_Clear] = R1;
POP R1,R4 FROM [SP];
RETI;
.END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -