📄 fangbol.asm
字号:
.title "fangbol.asm"
.mmregs
.def _c_int00
.def TINTO_ISR ;Timer0中断服务程序
STACK .usect "STACK",10h
K_TCR_SOFT .set 0b<<11
K_TCR_FREE .set 0b<<10
K_TCR_PSC .set 0b<<6
K_TCR_TRB .set 1b<<5
K_TCR_TSS .set 0b<<4
K_TCR_TDDR .set 1001b<<0
K_TCR .set K_TCR_SOFT | K_TCR_FREE | K_TCR_PSC |K_TCR_TRB | K_TCR_TSS | K_TCR_TDDR
K_TCR_STOP .set 1b<<4
P_HGH_WIDTH .set 10h
P_LOW_WIDTH .set 10h
.data
DATA_DP:
XF_Flag: .word 1
.bss xflage,1
.bss count_on,1
.bss count_off,1
.text
_c_int00:
STM #STACK+10H,SP
LD #DATA_DP,DP
;STM #XF_Flag,AR2
STM #xflage,AR2
ST #0h,*AR2
STM #count_on,AR7
ST #P_HGH_WIDTH,*AR7
STM #count_off,AR6
ST #P_LOW_WIDTH,*AR6
TINT0 .set 6080h
LDM PMST,A
AND #7Fh,A
OR #TINT0,A
STLM A,PMST
PERIOD .set 0f9ffh ;64000,0.2毫秒
STM K_TCR_STOP,TCR
STM #PERIOD,TIM
STM #PERIOD,PRD
STM #K_TCR,TCR
STM #0008h,IMR
STM #0008h,IFR
RSBX INTM
end: nop
B end
TINTO_ISR:
PSHM ST0
BITF *AR2,#1
BC ResetXF,TC
setXF:
LD *AR7,B
SUB #1,B
STL B,*AR7
BC Next ,BGT
SSBX XF
ST #1,*AR2
ST #P_HGH_WIDTH,*AR7
B Next
ResetXF:
LD *AR6,B
SUB #1,B
STL B,*AR6
BC Next ,BGT
RSBX XF
ST #0,*AR2
ST #P_LOW_WIDTH,*AR6
Next:
POPM ST0
RETE
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -