📄 55font.txt
字号:
LINE_BYTES EQU 121 ;每行对应字节数
;/// IN R1,COLOR R2,R3, XL XH R12,R13,YL YH //
PROC PutPixel
PutPixel: PUSH DPH
PUSH DPL
PUSH B
PUSH ACC
PUSH 11
PUSH 12
PUSH 04H
PUSH 01H
PPXL: LCALL PonitAddr
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV B,11
MOV A,B
CJNE A,#0,PPXL2
MOV A,#11111000B
ANL A,R4
ORL A,R1
MOVX @DPTR,A
SJMP PutPixel5
PPXL2: MOV A,#11111000B
MOV 12,R1
PPXL1: SETB C
RLC A
XCH A,R1
CLR C
RLC 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
RRC A
CLR C
RRC A
MOV R1,A
MOV A,#11111110B
ANL A,R4
ORL A,R1
MOVX @DPTR,A
SJMP PutPixel5
PPXL4: JC PutPixel5
MOV A,12
CLR C
RRC A
MOV R1,A
MOV A,#11111100B
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
;///IN R2,R3,R12,R13,R1 OUT ACC ///////////
PROC ReadPixel
ReadPixel: PUSH B
push 01h
PUSH DPH
PUSH DPL
PUSH 12
PUSH 13
PUSH 04H
PUSH 11
LCALL PonitAddr
MOVX A,@DPTR
MOVX A,@DPTR
MOV R4,A
MOV B,11
MOV A,B
CJNE A,#0,RPXL2
MOV A,#00000111B
ANL A,R4
MOV R1,A
SJMP RPixel5
RPXL2: MOV A,#00000111B
RPXL1: CLR C
RLC A
DJNZ B,RPXL1
ANL A,R4
MOV B,11
RPXL3: CLR C
RRC 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
RLC A
DJNZ B,RPXL40
ANL A,R4
CLR C
RLC A
MOV B,A
MOV A,11
CJNE A,#6,RPXL41
MOV A,B
CLR C
RLC 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
;/////////////////////////////////////////////////////////////////////////
;R2:XL R3:LY R12:HX R13:HY ADDR=[96R2+3R3/8]+[LINEBYTE*R5] LEAVE=R11
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
MOV DPL,A
MOV A,DPH
ADDC A,12
MOV DPH,A
MOV A,R3
MOV B,#LINE_BYTES
MUL AB
CLR C
ADD A,DPL
MOV DPL,A ;
MOV A,B
ADDC A,DPH
MOV DPH,A
INC DPTR
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 + -