⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p2764.asm

📁 微型针式打印机的源代码和PCB图纸
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                  MOV	1CH,A
                  MOV	A,#08H
                  SJMP	Q0262
Q025E:            CLR	A
                  MOV	1CH,A
                  MOV	A,R0
Q0262:            MOV	16H,A
                  RET
;==============================================
Q0265:
                  ACALL QGET_BYTE
                  DEC	A
                  MOV	R0,A
Q0269:            PUSH	00H
                  PUSH	05H
                  MOV	A,R5
                  LCALL	Q088B
                  POP	05H
                  POP	00H
                  DJNZ	R0,Q0269
                  RET
;================================================
Q0278:            PUSH	00H
                  MOV	A,#20H
                  LCALL	Q088B
                  POP	00H
                  DJNZ	R0,Q0278
                  RET
;=========================================
Q0284:
                  DB    06H
                  DW Q0234
                  DB 0AH
                  DW Q0329
                  DB 0DH
                  DW Q0323
                  DB 0FH
                  DW Q0599
                  DB 01H
                  DW Q02FD
                  DB 07H
                  DW Q0241
                  DB 08H
                  DW Q0247
                  DB 09H
                  DW Q0250
                  DB 0EH
                  DW Q0265
                  DB 00H
                  DW Q02A5
                  DB FFH
                  DW Q0278

                  
;==================================================
Q02A5:            ACALL QGET_BYTE
                  CJNE	A,#02H,Q02AE
                  ACALL	Q04DD
                  SJMP	Q02B3
Q02AE:            CJNE	A,#01H,Q02B4
                  ACALL	Q04D9
Q02B3:            RET
Q02B4:            DEC	A
                  DEC	A
                  DEC	A
                  LJMP	Q0163
;========================================================
Q02BA:            MOV	A,R6
                  JZ	Q02C0
                  LCALL	Q075E
Q02C0:            ACALL GET_MAX_POINT_TO_B
                  ACALL QGET_BYTE
                  MOV	R1,A
                  JZ    Q02E7                ;0条曲线
                  CLR	C
                  SUBB	A,B
                  JC	Q02D0
                  ACALL GET_MAX_POINT_TO_B
                  DEC	A
                  MOV	R1,A
Q02D0:            ACALL GET_MAX_POINT_TO_B
                  ACALL QGET_BYTE
                  MOV	R2,A
                  CLR	C
                  SUBB	A,B
                  JNC	Q02E5
                  MOV	A,R2
                  MOV	R0,A
                  LCALL	Q07C3
                  MOV	P2,#00H
                  LCALL PUT_A_TO_@R0
Q02E5:            DJNZ	R1,Q02D0
Q02E7:            ACALL QGET_BYTE
                  CJNE  A,#0DH,Q02E7            ;一直到结束
                  LCALL	Q07BA
                  ORL	P1,#FFH
                  ACALL GET_BYTE_TO_R0
                  XRL	A,#0AH
                  RET
;==================================================
GET_MAX_POINT_TO_B: MOV   A,15H
                  INC	A
                  MOV	B,A
                  RET
;=================================================
Q02FD:            MOV   A,R6
                  JZ	Q0303
                  LCALL	Q075E
Q0303:            MOV	DPTR,#03CDH
                  MOV	R2,#10H
                  MOV	R0,#00H
Q030A:            MOV	R1,#06H
Q030C:            MOVX	A,@DPTR
                  MOV	P2,#00H
                  LCALL PUT_A_TO_@R0
                  INC	R0
                  INC	DPTR
                  DJNZ	R1,Q030C
                  INC	DPTR
                  DJNZ	R2,Q030A
                  MOV	R6,#60H
                  LCALL	Q075E
                  ORL	P1,#FFH
                  RET
;===============================================
Q0323:
JUMP3:            ACALL Q0347
                  XRL	A,#0AH
                  SJMP	Q0330
;===============================================
JUMP2:
Q0329:            MOV	A,R6
                  MOV	3CH,A
                  ACALL	Q0347
                  XRL	A,#0DH
Q0330:            JZ	Q0346
                  MOV	A,11H
                  CJNE	A,#01H,Q033B
                  MOV	A,R0
                  LJMP	Q021E
Q033B:            CJNE	A,#02H,Q0342
                  MOV	A,R0
                  LJMP	Q018A
Q0342:            MOV	A,R0
                  LJMP	Q00F0
Q0346:            RET
;=======================================================
Q0347:            LCALL	Q075E
                  ORL	P1,#FFH
                  CLR	25H.6
                  ACALL GET_BYTE_TO_R0
                  RET
;======================================================
Q0352:            LCALL	Q075E
                  MOV	A,R1
                  CJNE	A,#01H,Q0352
                  ORL	P1,#FFH
                  MOV	A,#01H
                  MOV	20H,A
                  RET
;==================================================
Q0361:            MOV   DPTR,#050AH
                  MOVX	A,@DPTR
                  XRL	A,#00H
                  JZ	Q03A7
                  LCALL	Q075E
                  MOV	DPH,17H
                  MOV	DPL,18H
                  MOVX	A,@DPTR
                  MOV	R4,A
                  MOV	A,20H
                  XCH	A,R4
                  CLR	C
                  SUBB	A,R4
                  JZ	Q037D
                  JNC	Q037F
Q037D:            SJMP	Q0396
Q037F:            PUSH	DPL
                  PUSH	DPH
                  MOV	R0,A
Q0384:            PUSH	00H
                  MOV	R0,#01H
                  LCALL	Q071B
                  LCALL	Q0764
                  POP	00H
                  DJNZ	R0,Q0384
                  POP	DPH
                  POP	DPL
Q0396:            INC	DPTR
                  MOVX	A,@DPTR
                  XRL	A,#00H
                  JNZ	Q039F
                  MOV	DPTR,#050AH
Q039F:            MOV	17H,DPH
                  MOV	18H,DPL
                  SJMP	Q03AA
Q03A7:            LJMP	Q0329
Q03AA:            ORL	P1,#FFH
                  RET
;================================================
Q03AE:            ACALL QGET_BYTE
                  MOV	1CH,A
                  RET
;==================================================
Q03B3:
                  ACALL GET_BYTE_TO_R0
                  XRL	A,#00H
                  JZ	Q03BF
                  MOV	A,R0
                  MOV	1BH,A
                  LCALL SET_P1
Q03BF:            RET
;===============================================
Q03C0:            ACALL QGET_BYTE
                  MOV	3AH,A
                  RET
;=================================================
Q03C5:            CLR   A
                  MOV	3AH,A
                  RET
;=================================================
Q03C9:            MOV   DPTR,#050AH
                  MOV	R1,#00H
Q03CE:            ACALL GET_BYTE_TO_R0
                  XRL	A,#00H
                  JZ	Q03DF
                  MOV	A,R0
                  MOVX	@DPTR,A
                  INC	DPTR
                  MOV	A,R1
                  ADD	A,#01H
                  JC	Q03DF
                  MOV	R1,A
                  SJMP	Q03CE
Q03DF:            MOVX	@DPTR,A
                  MOV	DPTR,#050AH
                  LCALL SET_P1
                  MOV	17H,DPH
                  MOV	18H,DPL
                  RET
;================================================
Q03ED:            ACALL GET_BYTE_TO_R0
                  CLR	C
                  SUBB	A,#02H
                  JNC	Q040A
                  MOV	A,R0
                  XRL	A,#01H
                  JNZ	Q0400
                  ACALL GET_BYTE_TO_R0
                  LCALL	Q071B
                  SJMP	Q040A
Q0400:            LCALL GET_BYTE_TO_R0
                  JNB	27H.6,Q0408
                  MOV	R0,#00H
Q0408:            MOV	3BH,R0
Q040A:            RET
;=====================================================
Q040B:            MOV   DPTR,#02A5H
                  CLR	27H.6
                  CLR	A
                  MOV	R1,A
Q0412:            ACALL GET_BYTE_TO_R0
                  XRL	A,#00H
                  JZ	Q042C
                  SETB	27H.6
                  MOV	A,R0
                  MOV	A,13H
                  INC	A
                  CLR	C
                  SUBB	A,R0
                  JC	Q0412
                  MOV	A,R0
                  DEC	A
                  MOVX	@DPTR,A
                  INC	DPTR
                  INC	R1
                  MOV	A,13H
                  XRL	A,R1
                  JNZ	Q0412
Q042C:            MOV	DPTR,#02A4H
                  MOV	A,R1
                  MOVX	@DPTR,A
                  RET
;=======================================================
Q0432:            ACALL Q043B
                  JNC	Q0438
                  MOV	A,13H
Q0438:            MOV	19H,A
                  RET
;=======================================================
Q043B:            ACALL GET_BYTE_TO_R0
                  MOV	A,13H
                  CLR	C
                  SUBB	A,R0
                  RET
;=======================================
Q0442:            ACALL Q043B
                  MOV	A,R0
                  JNC	Q0448
                  CLR	A
Q0448:            MOV	37H,A
                  RET
;===========================================
Q044B:            MOV   R1,#1DH
Q044D:            ACALL GET_BYTE_TO_R0
                  JZ	Q0459
                  CLR	C
                  SUBB	A,#05H
                  JNC	Q0459
                  MOV	A,R0
                  SJMP	Q045B
Q0459:            MOV	A,#01H
Q045B:            MOV	@R1,A
                  RET
;====================================
Q045D:            CLR   25H.6
                  RET
;=====================================
Q0460:            SETB  25H.6
                  RET
;========================================================
Q0463:            MOV	R1,#1EH
                  SJMP	Q044D
Q0467:            MOV   R1,#1FH
                  SJMP	Q044D
;=================================================
Q046B:            MOV   R1,#38H
                  PUSH	01H
                  MOV	DPTR,#01FCH
                  SJMP	Q047B
;=========================================
Q0474:            MOV   R1,#39H
                  PUSH	01H
                  MOV	DPTR,#0250H
Q047B:            ACALL QGET_BYTE
                  CJNE	A,#01H,Q0486
                  ACALL	Q04C3
                  MOV	R0,#01H
                  SJMP	Q049F
Q0486:            XRL	A,#00H
                  JZ	Q0493
                  CLR	A
                  MOV	38H,A
                  MOV	39H,A
                  POP	01H
                  SJMP	Q04A3
Q0493:            POP	01H
                  PUSH	01H
                  MOV	A,@R1
                  JZ	Q049D
                  LCALL	Q04A4
Q049D:            MOV	R0,#00H
Q049F:            POP	01H
                  MOV	A,R0
                  MOV	@R1,A
Q04A3:            RET
;===============================================
Q04A4:            MOV	R2,#00H
Q04A6:            MOVX	A,@DPTR
                  JZ	Q04B3
                  INC	R2
                  INC	DPTR
                  INC	DPTR
                  MOV	A,13H
                  XRL	A,R2
                  JNZ	Q04A6
                  SJMP	Q04C2
Q04B3:            PUSH	DPH
                  PUSH	DPL
                  INC	DPTR
                  MOVX	A,@DPTR
                  MOV	R2,A
                  MOV	A,R6
                  CLR	C
                  SUBB	A,R2
                  POP	DPL
                  POP	DPH
                  MOVX	@DPTR,A
Q04C2:            RET
;===================================================
Q04C3:            MOV	R2,#00H
Q04C5:            MOVX	A,@DPTR
                  JZ	Q04D2
                  INC	R2
                  INC	DPTR
                  INC	DPTR
                  MOV	A,13H
                  XRL	A,R2
                  JNZ	Q04C5
                  SJMP	Q04D8
Q04D2:            MOV	A,R6
                  INC	DPTR
                  JZ	Q04D7
                  DEC	A
Q04D7:            MOVX	@DPTR,A
Q04D8:            RET
Q04D9:            MOV	A,#01H
                  SJMP	Q04DF
;====================================================
Q04DD:            MOV	A,#02H
Q04DF:            MOV	21H,A
                  RET
;===================================================
Q04E2:            ACALL QGET_BYTE
                  XRL	A,#01H
                  JNZ	Q04EB
                  SETB	25H.5
                  RET
Q04EB:            CLR	25H.5
                  RET
;=====================================================
Q04EE:
                  INC	2EH
                  MOV	DPTR,#02A4H
                  MOVX	A,@DPTR
                  CLR	C
                  SUBB	A,2EH
                  JNC	Q04FA
                  RET
;======================================================
Q04FA:            MOV	A,2EH
                  CLR	C
                  ADD	A,DPL
                  MOV	DPL,A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -