irq.asm

来自「该程序是用C编写的」· 汇编 代码 · 共 31 行

ASM
31
字号
.INCLUDE hardware.inc

.PUBLIC _IRQ3, _IRQ5;
.EXTERNAL	_TimeCount;        // 触发计时
.EXTERNAL   Per500msSet        //2Hz中断,每次500ms时钟
.EXTERNAL   _TimeChangeCount;  //计时
.text
.public 
_IRQ3: 
	push r1,r5 to [sp]
	r1 = 0x0380;           //按键唤醒0000,0011,1000,0000
    [P_INT_Clear] = r1;
	pop	r1,r5 from [sp];
	reti;
	

//--------2Hz中断------//
_IRQ5: 
	push r1,r5 to [sp]
	r1 = 0x0008;          //0000,0000,0000,1000
L_IRQ5_2Hz:
	r1 = 0xFFFF;          //万年历时间
    [Per500msSet] = r1;
    r1 = [_TimeCount];    //计时
	r1 += 1;
	[_TimeCount] = r1;
    r1=0x0004				//0000,0000,0000,0100
    [P_INT_Clear] = r1;
	pop	r1,r5 from [sp];
	reti;
.endp

⌨️ 快捷键说明

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