📄 isr.lst
字号:
.public _IRQ2;
.public _IRQ3;
.public _IRQ4;
.public _IRQ5;
.public _IRQ6;
.public _IRQ7;
_BREAK:
//add your code here
00008523 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: FIQ中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
.external F_FIQ_Service_SACM_S480
_FIQ:
00008524 A0 D8 PUSH R1,R4 to [sp] //寄存器压栈保护
00008525 09 93 00 20 R1 = 0x2000
00008527 11 C3 10 70 test R1,[P_INT_Ctrl] //是TimerA的FIQ中断?
00008529 0B 4E jnz L_FIQ_TimerA
0000852A 09 93 00 08 R1 = 0x0800
0000852C 11 C3 10 70 test R1,[P_INT_Ctrl] //是TimerB的FIQ中断?
0000852E 0C 4E jnz L_FIQ_TimerB
L_FIQ_PWM: //PWM的FIQ中断服务
0000852F 09 93 00 80 R1 = C_FIQ_PWM
00008531 19 D3 11 70 [P_INT_Clear] = R1 //清中断标志
00008533 A0 90 POP R1,R4 from[sp] //出栈
00008534 98 9A reti
L_FIQ_TimerA: //TimerA的FIQ中断服务
00008535 19 D3 11 70 [P_INT_Clear] = R1 //清中断标志
00008537 40 F0 36 A7 call F_FIQ_Service_SACM_S480 //调用A2000播放的FIQ服务程序
00008539 A0 90 pop R1,R4 from [sp] //出栈
0000853A 98 9A reti
L_FIQ_TimerB: //TimerB的FIQ中断服务
0000853B 19 D3 11 70 [P_INT_Clear]=R1 //清中断标志
0000853D A0 90 pop R1,R4 from [sp] //出栈
0000853E 98 9A RETI
//=============================================================
// 语法格式:
// 实现功能: IRQ0中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
_IRQ0:
//add your code here
0000853F 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ1中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
_IRQ1:
//add your code here
00008540 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ2中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
_IRQ2:
//add your code here
00008541 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ3中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
.external _Dis_In_IRQ_DistanceServiceLoop
_IRQ3:
//add your code here
00008542 A0 D8 push r1, r4 to [sp]
00008543 09 93 00 01 r1 = C_IRQ3_EXT1
00008545 19 D3 11 70 [P_INT_Clear] = r1
00008547 40 F0 46 B5 call _Dis_In_IRQ_DistanceServiceLoop
00008549 A0 90 pop r1, r4 from [sp]
0000854A 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ4中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
.external _KeyScan_ServiceLoop
.external _IRQ_PlayService
_IRQ4:
//add your code here
0000854B A0 D8 push r1, r4 to [sp]
0000854C 11 93 10 70 r1 = [P_INT_Ctrl]
0000854E 09 C3 40 00 test r1, C_IRQ4_4KHz
00008550 08 4E jnz ?IRQ4_4KHz
00008551 60 C2 test r1, C_IRQ4_2KHz
00008552 0D 4E jnz ?IRQ4_2KHz
?IRQ4_1KHz:
00008553 50 92 r1 = C_IRQ4_1KHz
00008554 19 D3 11 70 [P_INT_Clear] = r1
00008556 40 F0 45 B6 call _KeyScan_ServiceLoop
00008558 0A EE jmp ?IRQ4_Exit
?IRQ4_4KHz:
00008559 09 93 40 00 r1 = C_IRQ4_4KHz
0000855B 19 D3 11 70 [P_INT_Clear] = r1
0000855D 40 F0 56 BE call _IRQ_PlayService
0000855F 03 EE jmp ?IRQ4_Exit
?IRQ4_2KHz:
00008560 60 92 r1 = C_IRQ4_2KHz
00008561 19 D3 11 70 [P_INT_Clear] = r1
?IRQ4_Exit:
00008563 A0 90 pop r1, r4 from [sp]
00008564 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ5中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
.external _Dis_In_IRQ_SpeedServiceLoop
.external _Cal_In_IRQ_ServiceLoop
.external _uiFlashFlag
_IRQ5:
//add your code here
00008565 A0 D8 push r1,r4 to [sp]
00008566 44 92 r1 = C_IRQ5_2Hz
00008567 19 D3 11 70 [P_INT_Clear] = r1
00008569 41 92 r1 = 0x0001
0000856A 19 D3 12 70 [P_Watchdog_Clear] = r1
0000856C 19 D3 FB 01 [_uiFlashFlag] = r1
0000856E 40 F0 75 B5 call _Dis_In_IRQ_SpeedServiceLoop
00008570 40 F0 5A AF call _Cal_In_IRQ_ServiceLoop
00008572 A0 90 pop r1,r4 from [sp]
00008573 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ6中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
_IRQ6:
//add your code here
00008574 98 9A reti;
//=============================================================
// 语法格式:
// 实现功能: IRQ7中断服务程序
// 参数: 无
// 返回值: 无
//=============================================================
_IRQ7:
//add your code here
00008575 98 9A reti;
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -