tenx(十速)TM87系列常用宏(一)
tenx(十速)TM87系列常用宏(一)
首先,定义一些寄存器,用于存储临时变量,定义R0到R7为70H~77H,方便LCD显示。
定义如下:
ORG 70H
R0 DN 1
R1 DN 1
R2 DN 1
R3 DN 1
R4 DN 1
R5 DN 1
R6 DN 1
R7 DN 1
由于累加器AC和状态寄存器CF无法直接操作,所以定义两个寄存器给AC和CF。
ACC DN 1
CF DN 1
比较常用的宏有:
1、RAM清零
单片机上电后,RAM值是未知的,未避免出现错误,所以需要对RAM清零。
ClearRAM .macro
.locallabel ClearRAMLoop
LDS R0,$00
MVU R0
MVH R0
MVL R0
ClearRAMLoop:
MRW# @HL,R0
CPHL $00
JMP ClearRAMLoop
.endm
2、LCD清屏
ClearScreen .macro
LDS R0,$00
MVU R0
MVH R0
MVL R0
LCPX 0
LCPX 1
LCPX 2
LCPX 3
.endm
3、中断压栈和出栈
⑴ 压栈
;压栈
PUSH .macro
STA ACC
MAF CF
.endm
⑵ 出栈
;出栈
POP .macro
LDA ACC
MRA CF
.endm
4、清除CF和AC
⑴ 清除CF
;清除CF
CLRCF .macro
RF C
.endm
⑵ 清除AC
;清除AC
CLRAC .macro
LDS R0,$0
.endm