📄 isr.asm
字号:
//////////////////////////////////////////////////////////
////levension @SCUT @2007.4.14 ////
/////////////////////////////////////////////////////////
.PUBLIC _BREAK
.PUBLIC _FIQ
.PUBLIC _IRQ0
.PUBLIC _IRQ1
.PUBLIC _IRQ2
.PUBLIC _IRQ3
.PUBLIC _IRQ4
.PUBLIC _IRQ5
.PUBLIC _IRQ6
.PUBLIC _IRQ7
//===================================================================
// 中断服务程序
//===================================================================
.EXTERNAL _FIQ_Handler
.EXTERNAL _BREAK_Handler
.EXTERNAL _IRQ0_Handler
.EXTERNAL _IRQ1_Handler
.EXTERNAL _IRQ2_Handler
.EXTERNAL _IRQ3_Handler
.EXTERNAL _IRQ4_Handler
.EXTERNAL _IRQ5_Handler
.EXTERNAL _IRQ6_Handler
.EXTERNAL _UART_Handler
.INCLUDE SPCE061A.inc
.DEFINE P_WatchDog_Clear 0x7012
.TEXT
/////////////////////////////////////////////////////////////////////////////////////////
// Function: Fast Interrupt Service routine Area
////////////////////////////////////////////////////////////////////////////////////////
_FIQ:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _FIQ_Handler
pop r1,r4 from [sp]
reti
/////////////////////////////////////////////////////////////////////////////////////////
// Function: Interrupt Service routine Area
// Service for IRQ1 - IRQ7
// User's IRQ must hook on here
/////////////////////////////////////////////////////////////////////////////////////////
_BREAK:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _BREAK_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ0:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ0_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ1:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ1_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ2:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ2_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ3:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ3_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ4:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ4_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ5:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ5_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ6:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _IRQ6_Handler
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
_IRQ7:
push r1,r4 to [sp]
r1=0x0001;
[P_WatchDog_Clear]=r1;
call _UART_Handler //如果不使用UART,把这段注释掉
pop r1,r4 from [sp]
reti
// ---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -