📄 fiq.lst
字号:
< .EXTERNAL F_SP_ReadQueue_NIC // Read queue with no index change
< .EXTERNAL F_SP_ReadQueue_NIC_A2000
< .EXTERNAL F_SP_ReadQueue_NIC_S480
< .EXTERNAL F_SP_ReadQueue_NIC_S240
< .EXTERNAL F_SP_ReadQueue_NIC_MS01
< .EXTERNAL F_SP_ReadQueue_NIC_DVR
<
<
< .EXTERNAL F_SP_SACM_A2000_Init_
< .EXTERNAL F_SP_SACM_S480_Init_
< .EXTERNAL F_SP_SACM_S240_Init_
<
< .EXTERNAL F_SP_SACM_MS01_Init_
< .EXTERNAL F_SP_PlayMode0_
< .EXTERNAL F_SP_PlayMode1_
< .EXTERNAL F_SP_PlayMode2_
< .EXTERNAL F_SP_PlayMode3_
<
< .EXTERNAL F_SP_SACM_DVR_Init_
< .EXTERNAL F_SP_SACM_DVR_Rec_Init_
< .EXTERNAL F_SP_SACM_DVR_Play_Init_
<
< .EXTERNAL F_SP_GetResource
<
< //////////////////////////////////////////////////////////////////
< // Reserve old defintion
< // Note: Some user who use old library may use the old name
< //////////////////////////////////////////////////////////////////
< .EXTERNAL F_SP_Send_PWM // Get RAW data
< .EXTERNAL F_SP_Send_DAC1 //
< .EXTERNAL F_SP_Send_DAC2 //
<
< .EXTERNAL F_STD_Send_DAC1 // reserved old
< .EXTERNAL F_STD_Send_DAC2 // reserved old
<
< .EXTERNAL F_RampUpDAC1 // reserved old
< .EXTERNAL F_RampDnDAC1 // reserved old
< .EXTERNAL F_RampUpDAC2 // reserved old
< .EXTERNAL F_RampDnDAC2 // reserved old
< ///////////////////////////////////////////////////////////////////
<
<
<
< //========================================================================================
< // End of hardware.inc
< //========================================================================================
.include s480.inc
< //////////////////////////////////////////////////////////////////////////////////////////
< // Progarm: SACM-S480 API external definition
< // Writen by: Andy
< // Date: 2000/06/20
< // 2001/02/10
< //////////////////////////////////////////////////////////////////////////////////////////
< .external F_SACM_S480_Initial;
< .external F_SACM_S480_ServiceLoop;
< .external F_SACM_S480_Play;
< .external F_SACM_S480_Stop;
< .external F_SACM_S480_Pause;
< .external F_SACM_S480_Resume;
<
< .external F_SACM_S480_VolumeUp;
< .external F_SACM_S480_VolumeDn;
<
< .external F_SACM_S480_SpeechStatus;
<
< .external F_SACM_S480_PcPlayInitial;
<
< .external F_FIQ_Service_SACM_S480;
<
<
< //========================================================================================
< // End of S480.inc
< //========================================================================================
.include bsrSD.inc
<
< .DEFINE BSR_SI_MODE 0
< .DEFINE BSR_SD_MODE 1
< .DEFINE BSR_MIX_MODE 2
<
< .DEFINE BSR_MIC 0
< .DEFINE BSR_LINE_IN 1
<
< .DEFINE BSR_TRAIN_TWICE 0
< .DEFINE BSR_TRAIN_ONCE 1
<
< .DEFINE BSR_SPR512 1
< .DEFINE BSR_SPR1024A 2
< .DEFINE BSR_SPR4096 3
<
< .EXTERNAL F_BSRStartPlay
< //Parameters: R1 = Buffer address, R2 = Number of samples, R3 = Memory bank no.
<
< .EXTERNAL F_BSRAudioStop
< //....This function is used to clear all interrupt, so the audio function is disabled.
< //Parameters: NONE
<
< .EXTERNAL F_BSR_InitRecognizer
< //....This function is used to initialize the recognizer engine.
< //Parameters: NONE
<
< .EXTERNAL F_BSR_GetResult
< //....This function is used to perform recognition. Return value = 0 if no recognition result
< //is available, otherwise it returns the word index.
< //Parameters: NONE
<
< .EXTERNAL F_BSR_StopRecognizer
<
< .EXTERNAL F_BSR_GetRecognizerScore
< //....This function return the score of current recognizer result. The value is in the range of
< // -0x1000 to 0x1000. Negative value means that the result is rejected.
<
< .EXTERNAL F_BSR_GetRejectedResult
<
< .EXTERNAL F_BSR_EnableCPUIndicator
<
< .EXTERNAL F_BSR_DisableCPUIndicator
<
< .EXTERNAL F_BSR_Train
< // Parameter:
< // R1 = SD Word ID.
< // R2 = Train mode.
< // Return:
< // R1 = 0: successfully trained.
< // R1 = -1: No voice detected.
< // R1 = -2: Needs to be trained again.
< // R1 = -3: The environment may be too noisy.
< // R1 = -4: database is full.
< // Description:
< // This function is used to train the SD word.
< // Each SD word to be trained should be given a unique wordID, this ID is an integer value >= 100.
< // When recognizer recognize the trained word, it will return the corresponding word ID to user.
<
< .EXTERNAL F_BSR_IsDBFull
< // Parameter: NONE
< // Return:
< // R1 = -1: if SD model space is full.
< // otherwise R1 = 0.
< // Description:
< // This function is used to check whether the SD model space is full.
< //You can only start the SD training session when there is available SD model space.
<
< .EXTERNAL F_BSR_IsDBEmpty
< // Parameter: NONE
< // Return:
< // R1 = -1: if SD model space is empty.
< // otherwise R1 = 0
< // Description:
< // This function is used to check whether the SD model space is empty.
< // You can check the SD model space first (whether it is empty) before doing the SD recognition.
<
< .EXTERNAL F_BSR_DeleteSDWord
< // Parameter:
< // R1 = WordID
< // Return:
< // R1 = 0: if the corresponding SD word is successfully deleted.
< // R1 = -1: if Flash error.
< // R1 = -2: if wordID not found.
< // Description:
< // This function is used to delete the trained SD word from SD model space.
< //Currently, SD model space can only store five SD command.
<
< .EXTERNAL F_BSR_DeleteAll
< .EXTERNAL F_BSR_SetTrainMode
< .EXTERNAL F_BSR_GetNumSDWord
< .EXTERNAL F_BSR_FlashInit
< .EXTERNAL F_BSR_DeleteSDGroup
< .EXTERNAL F_BSR_FlashEraseSector
< .EXTERNAL F_BSR_FlashWriteByte
< .EXTERNAL F_BSR_FlashReadByte
< .EXTERNAL F_BSR_FindSDWord
< .EXTERNAL F_BSR_GetNumWordErased
< .EXTERNAL F_BSR_SelectSDGroup
< .EXTERNAL F_BSR_ExportSDWord
< .EXTERNAL F_BSR_ImportSDWord
< .EXTERNAL F_BSR_FlashSelectBank
< .EXTERNAL F_BSR_FlashEraseAll
.external _BSR_FIQ_Routine
.external F_FIQ_Service_SACM_S480
.public _FIQ
0000A02E .text
_FIQ:
0000A02E A8 DA push r1,r5 to [sp]
0000A02F 09 93 00 20 r1 = C_FIQ_TMA
0000A031 11 C3 10 70 test r1,[P_INT_Ctrl]
0000A033 0B 4E jnz L_FIQ_TimerA
0000A034 09 93 00 08 r1 = C_FIQ_TMB
0000A036 11 C3 10 70 test r1,[P_INT_Ctrl]
0000A038 0E 4E jnz L_FIQ_TimerB
L_FIQ_PWM:
0000A039 09 93 00 80 r1 = C_FIQ_PWM
0000A03B 19 D3 11 70 [P_INT_Clear] = r1
0000A03D A8 90 pop r1,r5 from [sp]
0000A03E 98 9A reti
L_FIQ_TimerA:
0000A03F 19 D3 11 70 [P_INT_Clear] = r1
0000A041 40 F0 41 80 call _BSR_FIQ_Routine
0000A043 40 F0 50 B2 call F_FIQ_Service_SACM_S480
0000A045 A8 90 pop r1,r5 from [sp]
0000A046 98 9A reti
L_FIQ_TimerB:
0000A047 19 D3 11 70 [P_INT_Clear] = r1
0000A049 A8 90 pop r1,r5 from [sp]
0000A04A 98 9A reti
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -