📄 em78p372n_indirect.dt
字号:
;************************************************************************
;下面的范例实现对BANK0(0X10~0X3F)、BANK1(0X20~0X3F)的RAM清0的动作
;************************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Disable
;编译软件:eUIDE version 1.02.09.07
INCLUDE "EM78P372N.inc"
ORG 0X00
JMP INITIAL
ORG 0X50
INITIAL:
WDTC
DISI
BS S_BANK
MOV A,@0X7F
MOV SCR,A ;选择4MHz
BC S_BANK
MOV A,@0X10
MOV RSR,A ;RSR指至RAM中0X10的地址
CLR_LOOP:
CLR R0 ;清除RSR指定地址的内容
INC RSR ;RSR指到下一个地址
JBC RSR,6 ;判断是否Bank0(0x10~0x3F)已清除
BS RSR,5 ;已清除Bank0(0x10~0x3F)
;改由Bank1 地址0x20~0x3F
MOV A,RSR
AND A,@0X7F
JBS z ;判断是否Bank0及Bank1皆已清除
JMP CLR_LOOP ;尚未清除完
MAIN:
CLR RSR
JMP MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -