📄 isr.lst
字号:
<
<
< //--------------------------------------------
< SACM_MACRO1: .MACRO
<
< .ENDM
<
< SACM_MACRO2: .MACRO
<
< .ENDM
<
<
<
<
< //.define PC_Play_Enable_A2000 1 // Enable the PC-Play function for SACM-A2000 module
< //.define PC_Play_Enable_S480 1 // Enable the PC-Play function for SACM-S480 module
< //.define PC_Play_Enable_S240 1 // Enable the PC-Play function for SACM-S240 module
< //.define PC_Play_Enable_MS01 1 // Enable the PC-Play function for SACM-MS01 module
<
<
<
< //========================================================================================
< // 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_FIQ_Service_SACM_S480;
< .external F_SACM_S480_PcPlayInitial;
<
< .external F_SACM_S480_Decode;
< .external F_SACM_S480_FillQueue;
< .external F_SACM_S480_TestQueue;
< .external F_SACM_S480_InitDecode;
<
<
<
< //========================================================================================
< // End of S480.inc
< //========================================================================================
.include Resource.inc
<
< // Resource Table
< // Created by IDE, Do not modify this table
<
00008077 < .TEXT
< .external _RES_Table;
< .external _RES_9_72K_SA;
< .external _RES_9_72K_EA;
< .external _RES_10_72K_SA;
< .external _RES_10_72K_EA;
< .external _RES_11_72K_SA;
< .external _RES_11_72K_EA;
< .external _RES_12_72K_SA;
< .external _RES_12_72K_EA;
< .external _RES_13_72K_SA;
< .external _RES_13_72K_EA;
< .external _RES_14_72K_SA;
< .external _RES_14_72K_EA;
< .external _RES_15_72K_SA;
< .external _RES_15_72K_EA;
< .external _RES_16_72K_SA;
< .external _RES_16_72K_EA;
< .external _RES_17_72K_SA;
< .external _RES_17_72K_EA;
< .external _RES_18_72K_SA;
< .external _RES_18_72K_EA;
< .external _RES_19_72K_SA;
< .external _RES_19_72K_EA;
< .external _RES_2_72K_SA;
< .external _RES_2_72K_EA;
< .external _RES_20_72K_SA;
< .external _RES_20_72K_EA;
< .external _RES_21_72K_SA;
< .external _RES_21_72K_EA;
< .external _RES_22_72K_SA;
< .external _RES_22_72K_EA;
< .external _RES_3_72K_SA;
< .external _RES_3_72K_EA;
< .external _RES_4_72K_SA;
< .external _RES_4_72K_EA;
< .external _RES_5_72K_SA;
< .external _RES_5_72K_EA;
< .external _RES_6_72K_SA;
< .external _RES_6_72K_EA;
< .external _RES_7_72K_SA;
< .external _RES_7_72K_EA;
< .external _RES_8_72K_SA;
< .external _RES_8_72K_EA;
< .external _RES_1_72K_SA;
< .external _RES_1_72K_EA;
<
< // End Table
.public _FIQ;
.PUBLIC _BREAK;
.PUBLIC _IRQ0;
.PUBLIC _IRQ1;
.PUBLIC _IRQ2;
.PUBLIC _IRQ3;
.PUBLIC _IRQ4;
.PUBLIC _IRQ5;
.PUBLIC _IRQ6;
.PUBLIC _IRQ7;
.external _uiTwoSecondTimeFlag;
.external _ui2HzIntCounter;
00008077 .text
_FIQ:
00008077 A8 DA PUSH r1,r5 to [sp];
00008078 09 93 00 20 r1=0x2000;
0000807A 11 C3 10 70 test r1,[P_INT_Ctrl];
0000807C 0B 4E jnz L_FIQ_TimerA;
0000807D 09 93 00 08 r1=0x0800;
0000807F 11 C3 10 70 test r1,[P_INT_Ctrl];
00008081 0F 4E jnz L_FIQ_TimerB;
L_FIQ_PWM:
00008082 09 93 00 80 r1=C_FIQ_PWM;
00008084 19 D3 11 70 [P_INT_Clear]=r1;
00008086 A8 90 POP R1,R5 from[sp];
00008087 98 9A reti;
L_FIQ_TimerA:
00008088 19 D3 11 70 [P_INT_Clear]=r1;
0000808A 41 92 r1=0x0001;
0000808B 19 D3 12 70 [P_Watchdog_Clear]=r1;
0000808D 40 F0 94 87 call F_FIQ_Service_SACM_S480;
0000808F A8 90 pop r1,r5 from [sp];
00008090 98 9A reti;
L_FIQ_TimerB:
00008091 19 D3 11 70 [P_INT_Clear]=r1;
00008093 A8 90 pop r1,r5 from [sp];
00008094 98 9A reti;
/////////////////////////////////////////////////////////////////////////////////////////
// Function: Interrupt Service routine Area
// Service for IRQ1 - IRQ7
// User's IRQ must hook on here
/////////////////////////////////////////////////////////////////////////////////////////
_BREAK:
00008095 88 D2 PUSH r1,r1 TO [sp];
00008096 19 D3 11 70 [P_INT_Clear] = r1;
00008098 88 90 POP r1,r1 FROM [sp];
00008099 98 9A reti;
_IRQ0:
0000809A 88 D2 PUSH r1,r1 TO [sp];
0000809B 19 D3 11 70 [P_INT_Clear] = r1;
0000809D 88 90 POP r1,r1 FROM [sp];
0000809E 98 9A reti;
_IRQ1:
0000809F 88 D2 PUSH r1,r1 TO [sp];
000080A0 19 D3 11 70 [P_INT_Clear] = r1;
000080A2 88 90 POP r1,r1 FROM [sp];
000080A3 98 9A reti;
_IRQ2:
000080A4 88 D2 PUSH r1,r1 TO [sp];
000080A5 19 D3 11 70 [P_INT_Clear] = r1;
000080A7 88 90 POP r1,r1 FROM [sp];
000080A8 98 9A reti;
_IRQ3:
000080A9 88 D2 PUSH r1,r1 TO [sp];
000080AA 19 D3 11 70 [P_INT_Clear] = r1;
000080AC 88 90 POP r1,r1 FROM [sp];
000080AD 98 9A reti;
_IRQ4:
000080AE 88 D2 PUSH r1,r1 TO [sp];
000080AF 19 D3 11 70 [P_INT_Clear] = r1;
000080B1 88 90 POP r1,r1 FROM [sp];
000080B2 98 9A reti;
_IRQ5:
000080B3 88 D2 PUSH r1,r1 TO [sp];
000080B4 44 92 r1 = 0x0004
000080B5 11 C3 10 70 test r1,[P_INT_Ctrl] //比较是否为2Hz的中断源
000080B7 02 4E JNZ L_IRQ5_2Hz //是,则转至对应程序段
L_IRQ5_4Hz: //4Hz 中断的处理
000080B8 48 92 r1=0x0008
000080B9 0E EE JMP L_Exit_IRQ5;
L_IRQ5_2Hz:
000080BA 11 93 EA 01 r1=[_ui2HzIntCounter];
000080BC 41 02 r1+=1;
000080BD 19 D3 EA 01 [_ui2HzIntCounter]=r1;
000080BF 45 42 CMP r1,5
000080C0 06 8E JBE L_Countinue;
000080C1 40 92 r1=0;
000080C2 19 D3 EA 01 [_ui2HzIntCounter]=r1;
000080C4 41 92 r1=1
000080C5 19 D3 E9 01 [_uiTwoSecondTimeFlag]=r1;
L_Countinue:
000080C7 44 92 r1 = 0x0004
L_Exit_IRQ5:
000080C8 19 D3 11 70 [P_INT_Clear]=r1;
000080CA 88 90 POP r1,r1 FROM [sp];
000080CB 98 9A reti;
_IRQ6:
000080CC 88 D2 PUSH r1,r1 TO [sp];
000080CD 88 90 POP r1,r1 FROM [sp];
000080CE 98 9A reti;
_IRQ7:
000080CF 88 D2 PUSH r1,r1 TO [sp];
000080D0 88 90 POP r1,r1 FROM [sp];
000080D1 98 9A reti;
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -