📄 font10.txt
字号:
;/地址线A16连P1.5 XL为横坐标低位 XH为横坐标高位 YL为纵坐标低位 YH为纵坐标高位/
HLINE_BYTES EQU 1 ;每行对应字节数高位
LLINE_BYTES EQU 0 ;每行对应字节数低位
;/////////////////写点程序//////////////////////
;入口参数:01=颜色代码RGB00000 02=XL 03=YL 12=XH 13=YH
;出口参数:无
;过程参数:DPTR ACC B 01 02 03 04 11 12 13
PROC PutPixel
PutPixel: PUSH DPH
PUSH DPL
PUSH B
PUSH ACC
PUSH 11
PUSH 12
PUSH 04H
PUSH 01H
PPXL: LCALL PonitAddr
MOV P1.5,C
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV B,11
MOV A,B
CJNE A,#0,PPXL2
MOV A,#00011111B
ANL A,R4
ORL A,R1
MOVX @DPTR,A
SJMP PutPixel5
PPXL2: MOV A,#00011111B
MOV 12,R1
PPXL1: SETB C
RRC A
XCH A,R1
CLR C
RrC A
XCH A,R1
DJNZ B,PPXL1
ANL A,R4
ORL A,R1
PutPixel4:
MOVX @DPTR,A
INC DPTR
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV A,11
CJNE A,#6,PPXL4
MOV A,12
CLR C
RlC A
CLR C
RlC A
MOV R1,A
MOV A,#01111111B
ANL A,R4
ORL A,R1
MOVX @DPTR,A
SJMP PutPixel5
PPXL4: JC PutPixel5
MOV A,12
CLR C
RlC A
MOV R1,A
MOV A,#00111111B
ANL A,R4
ORL A,R1
MOVX @DPTR,A
PutPixel5: POP 01H
POP 04H
POP 12
POP 11
POP ACC
POP B
POP DPL
POP DPH
RET
END
;////////////////////////////读点程序//////////////////////
;入口参数: 02=XL 03=YL 12=XH 13=YH
;出口参数:ACC=颜色代码RGB00000
;过程参数:DPTR ACC B 01 02 03 04 11 12 13
PROC ReadPixel
ReadPixel: PUSH B
push 01h
PUSH DPH
PUSH DPL
PUSH 12
PUSH 13
PUSH 04H
PUSH 11
LCALL PonitAddr
MOV P1.5,C
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV B,11
MOV A,B
CJNE A,#0,RPXL2
MOV A,#11100000B
ANL A,R4
MOV R1,A
SJMP RPixel5
RPXL2: MOV A,#11100000B
RPXL1: CLR C
RrC A
DJNZ B,RPXL1
ANL A,R4
MOV B,11
RPXL3: CLR C
RlC A
DJNZ B,RPXL3
MOV R1,A
RPixel4:
INC DPTR
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV A,11
CLR C
SUBB A,#6
JC RPixel5
INC A
MOV B,A
MOV A,#00000000B
RPXL40: SETB C
RrC A
DJNZ B,RPXL40
ANL A,R4
CLR C
RrC A
MOV B,A
MOV A,11
CJNE A,#6,RPXL41
MOV A,B
CLR C
RrC A
MOV B,A
RPXL41: MOV A,B
ORL A,R1
MOV R1,A
RPixel5: MOV A,R1
POP 11
POP 04H
POP 13
POP 12
POP DPL
POP DPH
pop 01h
POP B
RET
END
;//////////////////坐标地址计算//////////////////
;入口参数: 02=XL 03=YL 12=XH 13=YH
;出口参数: DPTR 地址的A0--A15 C为地址的A16 余数LEAVE=R11
;过程参数:DPTR ACC B 02 03 06 11 12 13 PSW
; ADDR=[96XH+3XL/8+1]+[256*LY]
PonitAddr:
PUSH 02H
PUSH 03H
PUSH 12
PUSH 13
PUSH 06H
PUSH B
PUSH A
MOV A,12
MOV B,#96
MUL AB
MOV DPH,B
MOV DPL,A
MOV A,R2
MOV B,#3
MUL AB
MOV R6,A
MOV A,#32
MUL AB
MOV R2,A
MOV 12,B
MOV A,R6
MOV B,#8
DIV AB
MOV 11,B
CLR C
ADD A,R2
MOV R2,A
MOV A,DPL
ADDC A,R2
ADDC A,#1
MOV DPL,A
MOV A,DPH
ADDC A,12
MOV DPH,A
CLR C
ADD A,R3
ADDC A,#1
MOV DPH,A
MOV A,#0
ADDC A,13
mov C,ACC.0
POP A
POP B
POP 06H
POP 13
POP 12
POP 03H
POP 02H
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -