📄 caculatetime.asm
字号:
.include hardware.inc
.include s480.inc
.include bsrSD.inc
.external _BSR_FIQ_Routine
.external F_FIQ_Service_SACM_S480
//.include hardware.h
.DEFINE P_INT_CTRL1 0x7010
.DEFINE P_INT_CTRL_NEW1 0x702D
.DEFINE P_INT_CLEAR 0x7011
//.DEFINE P_Watchdog_Clear1 0x7012
.define c_time1 0x04a0
.define c_time2 0x04a1//0.01s
.define c_time3 0x04a2//0.1s
//.DEFINE P_Watchdog_Clear 0x7012;
.code
.text
.public _IRQ4
_IRQ4:
push r1,r5 to [sp]
R1 = 0x0010
[P_INT_CLEAR] = R1
int off
r1=1
[0x7012]=r1
r1=[c_time1]
r1=r1+1
cmp r1,10
jb _case1
jmp _case2
_case1:
[c_time1]=r1
jmp _m2
_case2:
r1=0
[c_time1]=r1
r1=[c_time2]
r1+=1
cmp r1,10
jb _a0
jmp _case3
_a0:
[c_time2]=r1
jmp m1
_case3:
r1=0
[c_time2]=r1
r1=[c_time3]
r1+=1
cmp r1,10
jb _a1
jmp _s1
_a1:
[c_time3]=r1
jmp m1
_s1:
r1=0
[c_time3]=r1
r1=[0x049f]
r1+=1
cmp r1,10
je c4
[0x049f]=r1
jmp m1
_m2: jmp m1
c4:
r1=0
[0x049f]=r1
r1=[0x049e]
r1+=1
cmp r1,6
je c3
[0x049e]=r1
jmp m1
c3:
r1=0
[0x049e]=r1
r1=[0x049d]
r1+=1
cmp r1,10
je c2
[0x049d]=r1
jmp m1
c2:
r1=0
[0x049d]=r1
r1=[0x049c]
r1+=1
cmp r1,6
je c1
[0x049c]=r1
m1: jmp exit
c1:
r1=[0x049a]
cmp r1,0
je b0
r1=[0x049b]
r1+=1
cmp r1,3
je b1
[0x049b]=r1
jmp exit
b0:
r1=[0x049b]
r1+=1
cmp r1,10
je b1
[0x049b]=r1
jmp exit
b1:
r1=0
[0x049b]=r1
r1=[0x049a]
r1+=1
cmp r1,2
je b2
[0x049a]=r1
jmp exit
b2:
r1=0
[0x049a]=r1
exit:
int fiq,irq
pop r1,r5 from [sp]
reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -