📄 sdot.asm
字号:
; 绘点子程序S_DOT
; 占用内部寄存器:O_XL,O_XH,O_YL,A,B
; 内部调用子程序:PR1,PR2,PR3
; 程序调用入口: S_DOT
; 程序输入变量: O_XL,O_XH,O_YL
S_DOT: MOV A,O_YL ; 取行坐标地址
MOV B,#PARA1 ; 设置显示域宽度
MUL AB ; 计算显示RAM地址
MOV O_YL,B ; 高8位暂存O_YL
MOV DAT1,A ; 低8位暂存DAT1
MOV A,O_XL ; 取列坐标低地址
PUSH ACC ; 入栈
MOV B,#03H ; 设置循环量=3(除以8)
S_DOT1: MOV A,O_XH ; 取列坐标地址高3位
RRC A ; 右移一位至C
MOV O_XH,A ; 暂存
MOV A,O_XL ; 取列坐标地址低8位
RRC A ; 右移入一位
MOV O_XL,A ; 存除以8的商(一字节)
DJNZ B,S_DOT1 ; 循环
ADD A,DAT1 ; 计算显示RAM地址
MOV DAT1,A ; 存低8位
CLR A
ADDC A,O_YL
MOV O_YL,A ; 存高8位
MOV COM,#0AH ; 设置光标指针
LCALL PR1
LCALL PR2 ; 低8位
MOV COM,#0BH
LCALL PR1
MOV DAT1,O_YL ; 高8位
LCALL PR2
MOV COM,#0FH ; 设置"位置位"代码
LCALL PR1
POP ACC ; 出栈
ANL A,#07H ; 取点位置值
MOV DAT1,A ; 设置置"1"位
LCALL PR2
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -