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

📄 lhy.asm

📁 我在公司做的基于430F206的互感器现场效验仪.有原理图印板图及源程序,已定型.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L73
	.line	33
;>>>> 					Read_Data=Lcd_rd&0x00ff;
	IN	* ,011h
	LAC	* ,AR2
	ANDK	255
	LARK	AR2,5
	MAR	*0+
	SACL	* ,AR0
L74:
	.line	34
;>>>> 						wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L74
	.line	36
;>>>> 				Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L75:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L75
	.line	37
;>>>> 					Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L76:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L76
	.line	38
;>>>> 					Lcd_wd=Cursor_Y;	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L77:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L77
	.line	39
;>>>> 				Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L78:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L78
	.line	40
;>>>> 					Lcd_wd=Dot_Type|Read_Data;
	MAR	* ,AR2
	LARK	AR2,5
	MAR	*0+
	LAC	*-
	OR	* ,AR1
	SACL	* 
	OUT	* ,010h,AR0
L79:
	.line	41
;>>>> 						wait();
;>>>> 			 else
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L79
	B	L64
L68:
	.line	46
;>>>> 			 	Dot_Type=0xff>>(X0&0x07);
	LACK	7
	MAR	* ,AR2
	AND	* ,AR0
	CMPL
	SACL	* 
	LT	* 
	LACK	255
	SACL	* 
	SSXM
	LACT	* ,AR2
	ADRK	7-LF5
	SACH	* ,1,AR0
	.line	47
;>>>> 			 	Lcd_wc=CSRDIR_RG;	wait();
	LACK	76
	SACL	* 
	OUT	* ,011h
L81:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L81
	.line	48
;>>>> 			 	Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L82:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L82
	.line	49
;>>>> 					Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L83:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L83
	.line	50
;>>>> 					Lcd_wd=Cursor_Y;	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L84:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L84
	.line	51
;>>>> 			 	Lcd_wc=MREAD;	wait();
	LACK	67
	SACL	* 
	OUT	* ,011h
L85:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L85
	.line	52
;>>>> 					Read_Data=Lcd_rd&0x00ff;
	IN	* ,011h
	LAC	* ,AR2
	ANDK	255
	LARK	AR2,5
	MAR	*0+
	SACL	* ,AR0
L86:
	.line	53
;>>>> 					wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L86
	.line	55
;>>>> 			 	Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L87:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L87
	.line	56
;>>>> 					Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L88:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L88
	.line	57
;>>>> 					Lcd_wd=Cursor_Y;	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L89:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L89
	.line	58
;>>>> 			 	Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L90:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L90
	.line	59
;>>>> 			 		Lcd_wd=Dot_Type|Read_Data;
	MAR	* ,AR2
	LARK	AR2,5
	MAR	*0+
	LAC	*-
	OR	* ,AR1
	SACL	* 
	OUT	* ,010h,AR0
L91:
	.line	60
;>>>> 			 			wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L91
	.line	61
;>>>> 			 	for (Counter=(X0>>3);Counter<((X1>>3)-1);Counter++)
	RSXM
	MAR	* ,AR2
	LARK	AR2,-3+LF5
	MAR	*0+
	LAC	* ,12
	ADRK	6-LF5
	SACH	* ,1
	SBRK	8-LF5
	LAC	* ,12,AR0
	SBLK	1,15
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	8-LF5
	SUBS	* 
	BLEZ	L93
	MAR	* ,AR0
L92:
	.line	63
;>>>> 			 			Lcd_wd=0xff;
	LACK	255
	SACL	* 
	OUT	* ,010h
L94:
	.line	64
;>>>> 			 			wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L94
	.line	61
	MAR	* ,AR2
	LARK	AR2,3
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	RSXM
	SBRK	8-LF5
	LAC	* ,12,AR0
	SBLK	1,15
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	8-LF5
	SUBS	* ,AR0
	BGZ	L92
L93:
	.line	67
;>>>> 			 	Lcd_wc=CSRW;	wait();
	LACK	70
	MAR	* ,AR0
	SACL	* 
	OUT	* ,011h
L95:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L95
	.line	68
;>>>> 					Lcd_wd=Cursor_X+(X1>>3)-(X0>>3);
	MAR	* ,AR2
	LARK	AR2,-5+LF5
	MAR	*0+
	LAC	* ,12
	ADRK	6-LF5
	ADD	* ,15,AR1
	SACH	*+,1,AR2
	SBRK	4-LF5
	LAC	* ,12,AR1
	MAR	*-,AR0
	SACH	* ,1,AR1
	LAC	* ,AR0
	SUB	* ,AR1
	SACL	* 
	OUT	* ,010h,AR0
L96:
	.line	69
;>>>> 						wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L96
	.line	70
;>>>> 					Lcd_wd=Cursor_Y;	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L97:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L97
	.line	71
;>>>> 			 	Lcd_wc=MREAD;	wait();
	LACK	67
	SACL	* 
	OUT	* ,011h
L98:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L98
	.line	72
;>>>> 					Read_Data=Lcd_rd&0x00ff;
	IN	* ,011h
	LAC	* ,AR2
	ANDK	255
	LARK	AR2,5
	MAR	*0+
	SACL	* ,AR0
L99:
	.line	73
;>>>> 						wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L99
	.line	75
;>>>> 			 	Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L100:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L100
	.line	76
;>>>> 					Lcd_wd=Cursor_X+(X1>>3)-(X0>>3);
	MAR	* ,AR2
	LARK	AR2,-5+LF5
	MAR	*0+
	LAC	* ,12
	ADRK	6-LF5
	ADD	* ,15,AR1
	SACH	*+,1,AR2
	SBRK	4-LF5
	LAC	* ,12,AR1
	MAR	*-,AR0
	SACH	* ,1,AR1
	LAC	* ,AR0
	SUB	* ,AR1
	SACL	* 
	OUT	* ,010h,AR0
L101:
	.line	77
;>>>> 						wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L101
	.line	78
;>>>> 					Lcd_wd=Cursor_Y;	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L102:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L102
	.line	79
;>>>> 			 	Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L103:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L103
	.line	80
;>>>> 			 	Dot_Type=(0xff<<(7-X1&0x07))&0xff;
	LACK	7
	MAR	* ,AR2
	LARK	AR2,-5+LF5
	MAR	*0+
	SUB	* ,AR0
	ANDK	7
	SACL	* 
	LT	* 
	LACK	255
	SACL	* 
	LACT	* ,AR2
	ANDK	255
	ADRK	9-LF5
	SACL	* 
	.line	81
;>>>> 			 		Lcd_wd=Dot_Type|Read_Data;
	LAC	*+
	OR	* ,AR1
	SACL	* 
	OUT	* ,010h,AR0
L104:
	.line	82
;>>>> 			 		wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L104
	B	L64
L65:
	.line	86
;>>>> 		else if(abs((int)X1-(int)X0)>fabs((int)Y1-(int)Y0))
	SSXM
	LAC	* 
	ADRK	2
	SUB	*-,AR1
	CALL	F$$ITOF
	MAR	*-
	ZALS	* 
	ANDK	07FFFh
	SACL	*+,AR2
	SSXM
	LAC	* 
	ADRK	2
	SUB	* ,AR1
	ABS
	CALL	F$$ITOF
	CALL	F$$GT
	BZ	L105
	.line	88
;>>>> 	 		 k=((double)Y1-(double)Y0)/((double)X1-(double)X0);      
	MAR	* ,AR2
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	SBRK	2
	ZALS	*+,AR1
	CALL	F$$UTOF
	CALL	F$$SUB
	MAR	* ,AR2
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	SBRK	2
	ZALS	* ,AR1
	CALL	F$$UTOF
	CALL	F$$SUB
	CALL	F$$DIV
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	ADRK	12-LF5
	SACL	*+
	SACH	* 
	.line	89
;>>>> 	 		 if (X0>X1)	
	SBRK	10-LF5
	ZALS	* 
	SBRK	2
	SUBS	* 
	BLEZ	L106
	.line	91
;>>>> 			 	 for(Cursor_X=X1;Cursor_X<=X0;Cursor_X++)
	LAC	* 
	ADRK	6-LF5
	SACL	* 
	ZALS	* 
	SBRK	4-LF5
	SUBS	* 
	BGZ	L64
	SBRK	3
L107:
	.line	93
;>>>> 			 	 	 Cursor_Y=(int)((double)(Cursor_X-X1)*k+(double)Y1);
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	ADRK	12-LF5
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+,AR2
	SBRK	6
	ZALS	* 
	SBRK	6-LF5
	SUBS	* ,AR1
	ANDK	0FFFFh
	CALL	F$$UTOF
	CALL	F$$MUL
	CALL	F$$ADD
	CALL	F$$FTOI
	MAR	* ,AR2
	ADRK	7-LF5
	SACL	* 
	.line	94
;>>>> 			 	 	 Lcd_Point(Cursor_X,Cursor_Y);
;>>>> 			 else
	LAC	*-,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Point
	SBRK	2
	.line	91
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	4-LF5
	SUBS	* 
	SBRK	3
	BLEZ	L107
	B	L64
L106:
	.line	100
;>>>> 			 	 for(Cursor_X=X0;Cursor_X<=X1;Cursor_X++)
	ADRK	2
	LAC	* 
	ADRK	4-LF5
	SACL	* 
	ZALS	* 
	SBRK	6-LF5
	SUBS	* 
	BGZ	L64
	MAR	*+
L110:
	.line	102
;>>>> 			 	 	 Cursor_Y=(int)((double)(Cursor_X-X0)*k+(double)Y0);
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	ADRK	10-LF5
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+,AR2
	SBRK	6
	ZALS	* 
	SBRK	4-LF5
	SUBS	* ,AR1
	ANDK	0FFFFh
	CALL	F$$UTOF
	CALL	F$$MUL
	CALL	F$$ADD
	CALL	F$$FTOI
	MAR	* ,AR2
	ADRK	5-LF5
	SACL	* 
	.line	103
;>>>> 			 	 	 Lcd_Point(Cursor_X,Cursor_Y);
;>>>> 		else
	LAC	*-,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Point
	SBRK	2
	.line	100
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	6-LF5
	SUBS	*+
	BLEZ	L110
	B	L64
L105:
	.line	111
;>>>> 	 		 k=((double)X1-(double)X0)/((double)Y1-(double)Y0);      
	MAR	* ,AR2
	MAR	*-
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	SBRK	2
	ZALS	* ,AR1
	CALL	F$$UTOF
	CALL	F$$SUB
	MAR	* ,AR2
	ADRK	3
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	SBRK	2
	ZALS	* ,AR1
	CALL	F$$UTOF
	CALL	F$$SUB
	CALL	F$$DIV
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	ADRK	11-LF5
	SACL	*+
	SACH	* 
	.line	112
;>>>> 	 		 if (Y0>Y1)	
	SBRK	11-LF5
	ZALS	* 
	SBRK	2
	SUBS	* 
	BLEZ	L112
	.line	114
;>>>> 			 	 for(Cursor_Y=Y1;Cursor_Y<=Y0;Cursor_Y++)
	LAC	* 
	ADRK	8-LF5
	SACL	* 
	ZALS	* 
	SBRK	6-LF5
	SUBS	* 
	BGZ	L64
	MAR	*-
L113:
	.line	116
;>>>> 			 	 	 Cursor_X=(int)((double)(Cursor_Y-Y1)*k+(double)X1);
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	ADRK	11-LF5
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+,AR2
	SBRK	5
	ZALS	* 
	SBRK	8-LF5
	SUBS	* ,AR1
	ANDK	0FFFFh
	CALL	F$$UTOF
	CALL	F$$MUL
	CALL	F$$ADD
	CALL	F$$FTOI
	MAR	* ,AR2
	ADRK	7-LF5
	SACL	*+
	.line	117
;>>>> 			 	 	 Lcd_Point(Cursor_X,Cursor_Y);
;>>>> 			 else
	LAC	*-,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Point
	SBRK	2
	.line	114
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	6-LF5
	SUBS	*-
	BLEZ	L113
	B	L64
L112:
	.line	123
;>>>> 			 	 for(Cursor_Y=Y0;Cursor_Y<=Y1;Cursor_Y++)
	ADRK	2
	LAC	* 
	ADRK	6-LF5
	SACL	* 
	ZALS	* 
	SBRK	8-LF5
	SUBS	* 
	BGZ	L64
	ADRK	3
L116:
	.line	125
;>>>> 			 	 	 Cursor_X=(int)((double)(Cursor_Y-Y0)*k+(double)X0);
	ZALS	* ,AR1
	CALL	F$$UTOF
	MAR	* ,AR2
	ADRK	9-LF5
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+,AR2
	SBRK	5
	ZALS	* 
	SBRK	6-LF5
	SUBS	* ,AR1
	ANDK	0FFFFh
	CALL	F$$UTOF
	CALL	F$$MUL
	CALL	F$$ADD
	CALL	F$$FTOI
	MAR	* ,AR2
	ADRK	5-LF5
	SACL	*+
	.line	126
;>>>> 			 	 	 Lcd_Point(Cursor_X,Cursor_Y);
	LAC	*-,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Point
	SBRK	2
	.line	123
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	8-LF5
	SUBS	* 
	ADRK	3
	BLEZ	L116
L64:
EPI0_5:
	.line	132
	MAR	* ,AR1
	SBRK	9
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	351,000000000H,8

	.sym	_Lcd_Cctw,_Lcd_Cctw,32,2,0
	.globl	_Lcd_Cctw

	.func	370
;>>>> 	void	Lcd_Cctw(unsigned int Row,unsigned int Column,unsigned int Dot1,unsigned int Dot2,pointer *Data_Add,unsigned int Flag)
******************************************************
* FUNCTION DEF : _Lcd_Cctw
******************************************************
_Lcd_Cctw:

LF6	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,5
	LAR	AR0,*0+,AR2

	.sym	_Row,-3+LF6,14,9,16
	.sym	_Column,-4+LF6,14,9,16
	.sym	_Dot1,-5+LF6,14,9,16
	.sym	_Dot2,-6+LF6,14,9,16
	.sym	_Data_Add,-7+LF6,30,9,16
	.sym	_Flag,-8+LF6,14,9,16
	.sym	_Cursor_X,1,14,1,16
	.sym	_Cursor_Y,2,14,1,16
	.sym	_Counter1,3,14,1,16
	.sym	_Counter2,4,14,1,16
	.line	3
;>>>> 		unsigned  int	Cursor_X,Cursor_Y;
;>>>> 	 	unsigned  int	Counter1,Counter2;
	.line	6
;>>>> 	 	Cursor_X=((Row<<3)*Lcd_AP+Column+0x4000)&0x00ff;
	LARK	AR2,-3+LF6
	MAR	*0+
	LAC	*-,3,AR0
	SACL	* 
	LT	* ,AR2
	MPYK	40
	PAC
	ADDK	16384
	ADD	* 
	ANDK	255
	ADRK	5-LF6
	SACL	* 
	.line	7
;>>>> 	 	Cursor_Y=(((Row<<3)*Lcd_AP+Column+0x4000)&0xff00)>>8;
	SBRK	4-LF6
	LAC	*-,3,AR0
	SACL	* 
	LT	* 
	LACK	40
	SACL	*
	MPYU	*,AR2
	PAC
	ADDK	16384
	ADDS	* ,AR0
	ANDK	65280
	SACL	* 
	RSXM
	LAC	* ,7,AR2
	ADRK	6-LF6
	SACH	* ,1,AR0
	.line	8
;>>>> 	 	Lcd_wc=CSRDIR_DW;	wait();
	LACK	79
	SACL	* 
	OUT	* ,011h
L118:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L118
	.line	9
;>>>> 	 	for(Counter2=0;Counter2<(Dot1>>3);Counter2++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,4
	MAR	*0+
	SACL	* 
	SBRK	9-LF6
	LAC	* ,12,AR0
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	9-LF6
	SUBS	* 
	BLEZ	L120
	MAR	* ,AR0
L119:
	.line	11
;>>>> 	 			Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L121:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L121
	.line	12
;>>>> 		 			Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L122:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L122
	.line	13
;>>>> 		 			Lcd_wd=Cursor_Y; 	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L123:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L123
	.line	14
;>>>> 			 	Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L124:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L124
	.line	15
;>>>> 			 for(Counter1=0;Counter1<Dot2;Counter1++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,3
	MAR	*0+
	SACL	* 
	ZALS	* 
	SBRK	9-LF6
	SUBS	* 
	BGEZ	L126
	SBRK	2
L125:
	.line	17
;>>>> 	     				if(Flag==Abnormal)
	LAC	* 
	SUBK	1
	BNZ	L127
	.line	19
;>>>> 	     					Lcd_wd=~(*(Data_Add++));
	MAR	*+
	LAR	AR3,* ,AR3
	LAC	*+,AR2
	SAR	AR3,* ,AR1
	CMPL
	SACL	* 
	OUT	* ,010h,AR0
L128:
	.line	20
;>>>> 	     						wait();
;>>>> 			 		else 
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L128
	B	L129
L127:
	.line	24
;>>>> 			 			Lcd_wd=*(Data_Add++);
	MAR	*+
	LAR	AR3,* ,AR3
	OUT	*+,010h,AR2
	SAR	AR3,* ,AR3
	LAC	* ,AR0
L130:
	.line	25
;>>>> 			 				wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L130
L129:
	.line	15
	MAR	* ,AR2
	LARK	AR2,3
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	9-LF6
	SUBS	* 
	SBRK	2
	BLZ	L125
L126:
	.line	29
;>>>> 	     		     	Cursor_X++;
	LARK	AR2,1
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 

⌨️ 快捷键说明

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