📄 daima31.asm
字号:
COM EQU 20H ;指令寄存器
DAT EQU 21H ;数据寄存器
CWADD1 EQU 8000H ;写指令代码地址(E1)
CRADD1 EQU 8200H ;读状态字地址(E1)
DWADD1 EQU 8100H ;写显示数据地址(E1)
DRADD1 EQU 8300H ;读显示数据地址(E1)
CWADD2 EQU 4000H ;写指令代码地址(E2)
CRADD2 EQU 4200H ;读状态字地址(E2)
DWADD2 EQU 4100H ;写显示数据地址(E2)
DRADD2 EQU 4300H ;读显示数据地址(E2)
;写指令代码子程序:
PRO: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址
PRO1: MOVX A,@DPTR ;读状态字
JB ACC.7,PRO1 ;判“忙”标志为“0”否,否再读
MOV DPTR,#CWADD1 ;设置写指令代码地址
MOV A,COM ;取指令代码
MOVX @DPTR,A ;写指令代码
POP DPH
POP DPL
RET
;写显示数据子程序:
PR1: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址
PR11: MOVX A,@DPTR ;读状态字
JB ACC.7,PR11 ;判“忙”标志为“0”否,否再读
MOV DPTR,#CWADD1 ;设置写显示数据地址
MOV A,DAT ;取数据
MOVX @DPTR,A ;写数据
POP DPH
POP DPL
RET
;读显示数据子程序:
PR2: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址
PR21: MOVX A,@DPTR ;读状态字
JB ACC.7,PR21 ;判“忙”标志为“0”否,否再读
MOV DPTR,#DRADD1 ;设置读显示数据地址
MOVX A,@DPTR ;读数据
MOV DAT,A ;存数据
POP DPH
POP DPL
RET
;写指令代码子程序:
PR3: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR31: MOVX A,@DPTR ;读状态字
JB ACC.7,PR31 ;判“忙”标志为“0”否,否再读
MOV DPTR,#CWADD2 ;设置写指令代码地址
MOV A,COM ;取指令代码
MOVX @DPTR,A ;写指令代码
POP DPH
POP DPL
RET
;写显示数据子程序:
PR4: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR41: MOVX A,@DPTR ;读状态字
JB 0ACC.7,PR41 ;判“忙”标志为“0”否,否再读
MOV DPTR,#DWADD2 ;设置写显示数据地址
MOV A,DAT ;取数据
MOVX @DPTR,A ;写数据
POP DPH
POP DPL
RET
;读显示数据子程序:
PR5: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR51: MOVX A,@DPTR ;读状态字
JB ACC.7,PR51 ;判“忙”标志为“0”否,否再读
MOV DPTR,#DRADD2 ;设置读显示数据地址
MOVX A,@DPTR ;读数据
MOV DAT,A ;存数据
POP DPH
POP DPL
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -