📄 inspect_irq.asm
字号:
.include hardware.inc;
.define P_WatchDog_Clear 0x7012
.data
disp_table:.dw 0x3f00,0x0600,0x5b00,0x4f00
.dw 0x6600,0x6d00,0x7d00,0x0700
.dw 0x7f00,0x6f00
.ram
.public _light;
.var _light;
.external _pdig;
.text
.public _IRQ4;
_IRQ4:
push r1,r5 to [sp];
r1=0x0000;
r2=0x0000;
r3=0x0000;
r4=0x0000;
r5=0x0000;
r1=0x0001;
r1=0x0001;
[P_WatchDog_Clear]=r1;
r1=[_light];
cmp r1,7;
JBE L_label;
r1=0x0000;
[_light]=r1;
L_label:
r1=[_light];
r2=[_pdig];
r2+=r1;
bp=disp_table;
bp+=[r2];
r2=[bp];
r2|=r1;
cmp r1,0x0000;
JNE L_no_dot;
r1=0x8000;
r2|=r1;
L_no_dot:
[P_IOB_Data]=r2;
r1=[_light];
r1+=1;
[_light]=r1;
r1=0x0040;
[P_INT_Clear]=r1;
pop r1,r5 from [sp];
reti;
.define P_ADC_MUX_Ctrl 0x702B;
.define P_ADC_MUX_Data 0x702C;
.external _number;
.code
.public _IRQ5;
_IRQ5:
PUSH r1,r5 to [sp];
r1=0x0001;
[P_ADC_MUX_Ctrl]=r1;
[P_ADC_Ctrl]=r1;
_AD_Convert:
_AD:
r1=[P_ADC_MUX_Ctrl];
test r1,0x8000;
JZ _AD;
r1=[P_ADC_MUX_Data];
r1=r1 LSR 3;
r1=r1 LSR 3;
[_number]=r1;
R1=0x0004;
[P_INT_Clear]=r1;
POP r1,r5 from [sp];
reti;
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -