📄 isr.lst
字号:
< //========================================================================================
.INCLUDE A2000.inc
< //////////////////////////////////////////////////////////////////////////////////////////
< // Progarm: SACM-A2000 API external definition for sacmV26e.lib
< // Writen by: Andy
< // Date: 2000/06/20
< // Date: 2001/10/11 Add Manual mode definition
< //////////////////////////////////////////////////////////////////////////////////////////
<
< .EXTERNAL F_SACM_A2000_Initial //
< .EXTERNAL F_SACM_A2000_ServiceLoop // For Auto Mode only
< .EXTERNAL F_SACM_A2000_Play // For Auto Mode only
< .EXTERNAL F_SACM_A2000_Play_Ex // For Auto Mode only/few delay for sentence
< .EXTERNAL F_SACM_A2000_Stop //
< .EXTERNAL F_SACM_A2000_Pause //
< .EXTERNAL F_SACM_A2000_Resume //
< .EXTERNAL F_SACM_A2000_Volume //
< .EXTERNAL F_SACM_A2000_Status //
<
< .EXTERNAL F_SACM_A2000_InitDecoder // For Manual Mode only
< .EXTERNAL F_SACM_A2000_Decoder // For Manual Mode only
< .EXTERNAL F_SACM_A2000_InitQueue // For Manual Mode only
< .EXTERNAL F_SACM_A2000_FillQueue // For Manual Mode only
< .EXTERNAL F_SACM_A2000_TestQueue // For Manual Mode only
<
< .EXTERNAL F_FIQ_Service_SACM_A2000 // ISR
<
<
< //========================================================================================
< // End of a2000.inc
< //========================================================================================
<
.INCLUDE Key.inc
< .external F_Key_Init
< .external F_Key_Scan
< .external F_Key_Get
<
< .define KEY_1 0x0001
< .define KEY_2 0x0002
< .define KEY_3 0x0004
< .define KEY_LONG_1 0x8001
< .define KEY_LONG_2 0x8002
< .define KEY_LONG_3 0x8004
.PUBLIC _IRQ1, _IRQ6, _IRQ4, _IRQ3
.EXTERNAL _LED_ISR
.EXTERNAL _Clock_ISR
.EXTERNAL _Ext1_IRQ
00008032 .TEXT
//======================================================
// 函数名称: _FIQ
// 实现功能: FIQ中断服务程序,用于语音播放
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器: 无
//======================================================
_IRQ1:
00008032 A8 DA push r1, r5 to [sp]
00008033 09 93 00 10 r1 = C_IRQ1_TMA
00008035 19 D3 11 70 [P_INT_Clear] = r1
00008037 40 F0 B1 8C call F_FIQ_Service_SACM_A2000
00008039 A8 90 pop r1, r5 from [sp]
0000803A 98 9A reti
//======================================================
// 函数名称: _IRQ3
// 实现功能: IRQ3_EXT1中断服务程序,用于测试液滴;IRQ3_EXT2中断服务程序,用于测试液面;
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器: 无
//======================================================
_IRQ3:
0000803B A8 DA push r1, r5 to [sp]
0000803C 09 93 00 01 r1 = C_IRQ3_EXT1
// TEST R1,[P_INT_Ctrl]
// JZ IRQ3_EXT2
//IRQ3_EXT1:
0000803E 19 D3 11 70 [P_INT_Clear] = r1
00008040 40 F0 A0 91 call _Ext1_IRQ
00008042 A8 90 pop r1, r5 from [sp]
00008043 98 9A reti
//IRQ3_EXT2:
// r1 = C_IRQ3_EXT2
// [P_INT_Clear] = r1
// call _LED_ISR
// pop r1, r5 from [sp]
// reti
//======================================================
// 函数名称: _IRQ4
// 实现功能: IRQ4_1KHz中断服务程序,用于计时
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器: 无
//======================================================
_IRQ4:
00008044 A8 DA push r1, r5 to [sp]
00008045 50 92 r1 = C_IRQ4_1KHz
00008046 19 D3 11 70 [P_INT_Clear] = r1
00008048 40 F0 94 91 call _Clock_ISR
0000804A A8 90 pop r1, r5 from [sp]
0000804B 98 9A reti
//======================================================
// 函数名称: _IRQ6
// 实现功能: IRQ6_TMB1中断服务程序,用于按键扫描, IRQ6_TMB2中断服务程序,用于数码管显示;
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器: 无
//======================================================
_IRQ6:
0000804C A8 DA push r1, r5 to [sp]
0000804D 42 92 r1 = C_IRQ6_TMB1
0000804E 11 C3 10 70 TEST R1,[P_INT_Ctrl]
00008050 06 5E JZ IRQ_TMB2
IRQ_TMB1:
00008051 19 D3 11 70 [P_INT_Clear] = r1
00008053 40 F0 E0 92 call F_Key_Scan
00008055 A8 90 pop r1, r5 from [sp]
00008056 98 9A reti
IRQ_TMB2:
00008057 41 92 r1 = C_IRQ6_TMB2
00008058 19 D3 11 70 [P_INT_Clear] = r1
0000805A 40 F0 33 91 call _LED_ISR
0000805C A8 90 pop r1, r5 from [sp]
0000805D 98 9A reti
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -