isr.asm

来自「用凌阳61板实现语音播放的程序」· 汇编 代码 · 共 44 行

ASM
44
字号
	.text
	.include hardware.inc            // 包含SPCE061A硬件声明头文件
	.include a2000.inc               //包含用A2000函数的头文件
	.public _FIQ                     //声明中断入口函数
_FIQ:
	PUSH R1,R4 to [sp];              //寄存器入栈 
	R1 = 0x2000;
	test R1,[P_INT_Ctrl];            //判断是否是定时器A中断
	jnz L_FIQ_TimerA;
	R1 = 0x0800;
	test R1,[P_INT_Ctrl];           //判断是否是定时器B中断
	jnz L_FIQ_TimerB;
	L_FIQ_PWM:
	R1 = C_FIQ_PWM;                      //进入PWM中断
	[P_INT_Clear] = R1;                  //清除PWM中断标志
	POP R1,R4 from[sp];                  //出栈恢复
	RETI;
L_FIQ_TimerA:                       //进入定时器A中断
[P_INT_Clear] = R1;                 //清除定时器A中断标志

call F_FIQ_Service_SACM_A2000;       // 将语音送到DAC通道
pop R1,R4 from [sp];                 //出栈恢复
RETI;                                 //中断返回
L_FIQ_TimerB:                       //进入定时器B中断
[P_INT_Clear] = R1;                   //清除定时器B中断标志
pop R1,R4 from [sp];                  //出栈恢复
RETI;                                 //中断返回


//===================================================================================
//函数:F_ClearWatchdog()
//语法:void F_ClearWatchdog(void)
//描述:清看门狗
//参数:无
//返回:无
//===================================================================================
.code
.public _F_ClearWatchdog;
_F_ClearWatchdog: .proc
    R1 = 0x0001;
    [P_Watchdog_Clear] = R1;
    RETF;
.ENDP	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?