📄 irq.lst
字号:
Sunplus u'nSP Assembler - Ver. 1.14.3.1
Listing File Has Been Relocated
//======================================================
// 文件名称: PWM.asm
// 功能描述: PWM设置服务
// 完成日期: 2003-8-13
//======================================================
.define P_INT_CTRL 0x7010;
.define P_INT_CLEAR 0x7011;
.EXTERNAL _F_PwmIRQ3
00000001 .RAM
//TimeA: 频率设置值,PWM:占空比设置值
00000001 20 00 00 00 .VAR TimeA=0x0020,PWM=0x0000
00008009 .text
//======================================================
// 函数名称: IRQ3
// 实现功能: 外部中断服务
// 入口参数: 无
// 出口参数: 无
// 破坏寄存器: r1,r2
//======================================================
.public _IRQ3
_IRQ3:
00008009 A8 DA push r1,r5 to [sp] //压栈保护
0000800A 09 93 00 01 r1=0x0100
0000800C 11 C3 10 70 test r1,[P_INT_CTRL] //比较是否为IRQ3_EXT1
0000800E 1D 4E jnz irq3_ext1 //是,则转至对应程序段;
0000800F 09 93 00 02 r1=0x0200
00008011 11 C3 10 70 test r1,[P_INT_CTRL] //否,则比较是否为IRQ3_EXT2
00008013 08 4E jnz irq3_ext2 //是,则转至对应程序段;
00008014 09 93 00 02 r1=0x0200
irq3_key: //否,则进入键唤醒中断
00008016 09 93 80 00 r1=0x0080
00008018 19 D3 11 70 [P_INT_CLEAR]=r1
0000801A A8 90 pop r1,r5 from [sp]
0000801B 98 9A reti
irq3_ext2:
0000801C 11 93 01 00 r1=[TimeA]
0000801E 09 03 F0 00 r1+=0xf0
00008020 19 D3 01 00 [TimeA]=r1
00008022 12 95 02 00 r2=[PWM]
00008024 40 F0 09 82 call _F_PwmIRQ3; //重设pwm,来自于pwm.asm
00008026 09 93 00 02 r1=0x0200
00008028 19 D3 11 70 [P_INT_CLEAR]=r1
0000802A A8 90 pop r1,r5 from [sp]
0000802B 98 9A reti
irq3_ext1:
0000802C 11 93 02 00 r1=[PWM]
0000802E 70 02 r1+=0x0030
0000802F 0A 95 F0 0F r2=0x0ff0
00008031 01 45 cmp r2,r1
00008032 0E 0E jb ReturnLoop
00008033 19 D3 02 00 [PWM]=r1
00008035 11 93 01 00 r1=[TimeA]
00008037 12 95 02 00 r2=[PWM]
00008039 40 F0 09 82 call _F_PwmIRQ3; //重设pwm,来自于pwm.asm
0000803B 09 93 00 01 r1=0x0100
0000803D 19 D3 11 70 [P_INT_CLEAR]=r1
0000803F A8 90 pop r1,r5 from [sp]
00008040 98 9A reti
ReturnLoop:
00008041 40 92 r1=0x0000
00008042 19 D3 02 00 [PWM]=r1
00008044 11 93 01 00 r1=[TimeA]
00008046 12 95 02 00 r2=[PWM]
00008048 40 F0 09 82 call _F_PwmIRQ3; //重设pwm,来自于pwm.asm
0000804A 09 93 00 01 r1=0x0100
0000804C 19 D3 11 70 [P_INT_CLEAR]=r1
0000804E A8 90 pop r1,r5 from [sp]
0000804F 98 9A reti
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -