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

📄 lhy.asm

📁 我在公司做的基于430F206的互感器现场效验仪.有原理图印板图及源程序,已定型.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.line	9
	ADRK	3
	LAC	* 
	ADDK	1
	SACL	* 
	RSXM
	SBRK	9-LF6
	LAC	* ,12,AR0
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	9-LF6
	SUBS	* ,AR0
	BGZ	L119
L120:
EPI0_6:
	.line	31
	MAR	* ,AR1
	SBRK	6
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	400,000000000H,5

	.sym	_Lcd_Character,_Lcd_Character,32,2,0
	.globl	_Lcd_Character

	.func	414
;>>>> 	void	Lcd_Character(unsigned int Row,unsigned int Column,unsigned int Character)
******************************************************
* FUNCTION DEF : _Lcd_Character
******************************************************
_Lcd_Character:

LF7	.set	0

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

	.sym	_Row,-3+LF7,14,9,16
	.sym	_Column,-4+LF7,14,9,16
	.sym	_Character,-5+LF7,14,9,16
	.sym	_Cursor_X,1,14,1,16
	.sym	_Cursor_Y,2,14,1,16
	.line	2
;>>>> 		unsigned  int	Cursor_X,Cursor_Y;
	.line	4
;>>>> 	 	Cursor_X=(Row*Lcd_AP+Column+0x0000)&0x00ff;
	LARK	AR2,-3+LF7
	MAR	*0+
	LT	*-
	MPYK	40
	PAC
	ADD	* 
	ANDK	255
	ADRK	5-LF7
	SACL	* 
	.line	5
;>>>> 	 	Cursor_Y=((Row*Lcd_AP+Column+0x0000)&0xff00)>>8;
	SBRK	4-LF7
	LT	*-,AR0
	LACK	40
	SACL	*
	MPYU	*,AR2
	PAC
	ADDS	* ,AR0
	ANDK	65280
	SACL	* 
	RSXM
	LAC	* ,7,AR2
	ADRK	6-LF7
	SACH	* ,1,AR0
	.line	6
;>>>> 	 	Lcd_wc=CSRDIR_RG;	wait();
	LACK	76
	SACL	* 
	OUT	* ,011h
L131:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L131
	.line	7
;>>>> 		Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L132:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L132
	.line	8
;>>>> 			Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L133:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L133
	.line	9
;>>>> 			Lcd_wd=Cursor_Y; 	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L134:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L134
	.line	10
;>>>> 	 	Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L135:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L135
	.line	11
;>>>> 			Lcd_wd=Character;	wait();
	MAR	* ,AR2
	LARK	AR2,-5+LF7
	MAR	*0+
	OUT	* ,010h,AR0
L136:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L136
EPI0_7:
	.line	12
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	425,000000000H,3

	.sym	_Lcd_Ascii,_Lcd_Ascii,32,2,0
	.globl	_Lcd_Ascii

	.func	442
;>>>> 	void	Lcd_Ascii(unsigned int Row,unsigned int Column,unsigned int Character,unsigned int Flag)
******************************************************
* FUNCTION DEF : _Lcd_Ascii
******************************************************
_Lcd_Ascii:

LF8	.set	0

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

	.sym	_Row,-3+LF8,14,9,16
	.sym	_Column,-4+LF8,14,9,16
	.sym	_Character,-5+LF8,14,9,16
	.sym	_Flag,-6+LF8,14,9,16
	.sym	_Data_Add,1,30,1,16
	.line	2
;>>>> 		pointer	*Data_Add;
	.line	5
;>>>> 		Data_Add=Ascii+((Character-0x20)<<4);
	LARK	AR2,-5+LF8
	MAR	*0+
	LAC	* ,4,AR1
	SACL	* 
	LAC	* ,AR2
	ADLK	_Ascii+-512,0
	ADRK	6-LF8
	SACL	* 
	.line	6
;>>>> 		Lcd_Cctw(Row,Column,8,16,Data_Add,Flag);           
	SBRK	7-LF8
	LAC	* ,AR1
	SACL	*+,AR2
	ADRK	7-LF8
	LAC	* ,AR1
	SACL	*+
	LACK	16
	SACL	*+
	LACK	8
	SACL	*+,AR2
	SBRK	5-LF8
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Cctw
	SBRK	6
EPI0_8:
	.line	7
	SBRK	3
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	448,000000000H,2

	.sym	_Lcd_Out_Bmp,_Lcd_Out_Bmp,32,2,0
	.globl	_Lcd_Out_Bmp

	.func	465
;>>>> 	void	Lcd_Out_Bmp(unsigned int Dot_X,unsigned int Dot_Y,unsigned int Dot1,unsigned int Dot2,pointer *Data_Add,unsigned int Flag)
******************************************************
* FUNCTION DEF : _Lcd_Out_Bmp
******************************************************
_Lcd_Out_Bmp:

LF9	.set	0

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

	.sym	_Dot_X,-3+LF9,14,9,16
	.sym	_Dot_Y,-4+LF9,14,9,16
	.sym	_Dot1,-5+LF9,14,9,16
	.sym	_Dot2,-6+LF9,14,9,16
	.sym	_Data_Add,-7+LF9,30,9,16
	.sym	_Flag,-8+LF9,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=(Dot_Y*Lcd_AP+(Dot_X>>3)+0x4000)&0x00ff;
	RSXM
	LARK	AR2,-3+LF9
	MAR	*0+
	LAC	*-,12,AR1
	SACH	* ,1,AR2
	LT	* ,AR1
	MPYK	40
	PAC
	ADDK	16384
	ADD	* ,AR2
	ANDK	255
	ADRK	5-LF9
	SACL	* 
	.line	7
;>>>> 	 	Cursor_Y=((Dot_Y*Lcd_AP+(Dot_X>>3)+0x4000)&0xff00)>>8;
	SBRK	4-LF9
	LAC	*-,12,AR1
	SACH	* ,1,AR2
	LT	* ,AR0
	LACK	40
	SACL	*
	MPYU	*,AR1
	PAC
	ADDK	16384
	ADDS	* ,AR0
	ANDK	65280
	SACL	* 
	LAC	* ,7,AR2
	ADRK	6-LF9
	SACH	* ,1,AR0
	.line	8
;>>>> 	 	Lcd_wc=CSRDIR_RG;	wait();
	LACK	76
	SACL	* 
	OUT	* ,011h
L137:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L137
	.line	9
;>>>> 	 	for(Counter2=0;Counter2<Dot2;Counter2++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,4
	MAR	*0+
	SACL	* 
	ZALS	* 
	SBRK	10-LF9
	SUBS	* 
	BGEZ	L139
	MAR	* ,AR0
L138:
	.line	11
;>>>> 	 			Lcd_wc=CSRW;	wait();
	LACK	70
	SACL	* 
	OUT	* ,011h
L140:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L140
	.line	12
;>>>> 		 			Lcd_wd=Cursor_X;	wait();
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	OUT	* ,010h,AR0
L141:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L141
	.line	13
;>>>> 		 			Lcd_wd=Cursor_Y; 	wait();
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	OUT	* ,010h,AR0
L142:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L142
	.line	14
;>>>> 			 	Lcd_wc=MWRITE;	wait();
	LACK	66
	SACL	* 
	OUT	* ,011h
L143:
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L143
	.line	15
;>>>> 				for(Counter1=0;Counter1<(Dot1>>3);Counter1++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,3
	MAR	*0+
	SACL	* 
	RSXM
	SBRK	8-LF9
	LAC	* ,12,AR0
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	8-LF9
	SUBS	* 
	BLEZ	L145
	SBRK	11-LF9
L144:
	.line	17
;>>>> 	     					if(Flag==Abnormal)
	LAC	* 
	SUBK	1
	BNZ	L146
	.line	19
;>>>> 	     						Lcd_wd=~(*(Data_Add++));
	MAR	*+
	LAR	AR3,* ,AR3
	LAC	*+,AR2
	SAR	AR3,* ,AR1
	CMPL
	SACL	* 
	OUT	* ,010h,AR0
L147:
	.line	20
;>>>> 	     							wait();
;>>>> 			 			else
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L147
	B	L148
L146:
	.line	24
;>>>> 			 				Lcd_wd=*(Data_Add++);
	MAR	*+
	LAR	AR3,* ,AR3
	OUT	*+,010h,AR2
	SAR	AR3,* ,AR3
	LAC	* ,AR0
L149:
	.line	25
;>>>> 			 					wait();
	IN	* ,010h
	ZALS	* 
	ANDK	64
	SUBK	64
	BZ	L149
L148:
	.line	15
	MAR	* ,AR2
	LARK	AR2,3
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	RSXM
	SBRK	8-LF9
	LAC	* ,12,AR0
	SACH	* ,1
	ZALS	* ,AR2
	ADRK	8-LF9
	SUBS	* 
	SBRK	11-LF9
	BGZ	L144
L145:
	.line	28
;>>>> 	     			Cursor_Y=Cursor_Y+((Cursor_X+Lcd_AP)>>8);
	LARK	AR2,1
	MAR	*0+
	ZALS	*+,AR0
	ADDK	40
	SACL	* 
	LAC	* ,7,AR2
	ADD	* ,15
	SACH	*-,1
	.line	29
;>>>> 	 			Cursor_X=(Cursor_X+Lcd_AP)&0x00ff;
	LAC	* 
	ADDK	40
	ANDK	255
	SACL	* 
	.line	9
	ADRK	3
	LAC	* 
	ADDK	1
	SACL	* 
	ZALS	* 
	SBRK	10-LF9
	SUBS	* ,AR0
	BLZ	L138
L139:
EPI0_9:
	.line	32
	MAR	* ,AR1
	SBRK	6
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	496,000000000H,5

	.sym	_Lcd_Real,_Lcd_Real,32,2,0
	.globl	_Lcd_Real

	.func	511
;>>>> 	void	Lcd_Real(unsigned int Row,unsigned int Column,double Real_Data,unsigned int Dot_Bit)
******************************************************
* FUNCTION DEF : _Lcd_Real
******************************************************
_Lcd_Real:

LF10	.set	0

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

	.sym	_Row,-3+LF10,14,9,16
	.sym	_Column,-4+LF10,14,9,16
	.sym	_Real_Data,-6+LF10,7,9,32
	.sym	_Dot_Bit,-7+LF10,14,9,16
	.sym	_Dis_Data,1,52,1,320,,20
	.sym	_Counter,21,4,1,16
	.sym	_Dot_Flag,22,4,1,16
	.line	2
;>>>> 	 	int	Dis_Data[20];
	.line	4
;>>>> 	 	int	Counter=1;
	LACK	1
	LARK	AR2,21
	MAR	*0+
	SACL	*+
	.line	5
;>>>> 	 	int	Dot_Flag=0;
	LACK	0
	SACL	* ,AR1
	.line	7
;>>>> 	 	if (Real_Data<0)	
	LALK	FL0
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	SBRK	28-LF10
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L150
	.line	9
;>>>> 	 			Dis_Data[0]='-';
	LACK	45
	MAR	* ,AR2
	ADRK	6-LF10
	SACL	* 
	.line	10
;>>>> 	 			Real_Data=fabs(Real_Data);
	SBRK	6-LF10
	ZALH	*-
	ANDK	0FFFEh,15
	OR	* 
	SACL	*+
	SACH	* 
	B	L151
L150:
	.line	12
;>>>> 	 	else 	Dis_Data[0]=' ';
	LACK	32
	MAR	* ,AR2
	ADRK	6-LF10
	SACL	* 
L151:
	.line	14
;>>>> 		while (Real_Data>=10.0)
	MAR	* ,AR1
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LARK	AR2,-6+LF10
	MAR	*0+
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$GE
	BZ	L153
	MAR	* ,AR2
	MAR	*-,AR1
L152:
	.line	16
;>>>> 				Real_Data=Real_Data/10.0;
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$DIV
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	SACL	*+
	SACH	* 
	.line	17
;>>>> 				Dot_Flag++;
	ADRK	27-LF10
	LAC	* 
	ADDK	1
	SACL	*-
	.line	18
;>>>> 				Counter=1;
	LACK	1
	SACL	* ,AR1
	.line	14
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	SBRK	27-LF10
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L152
L153:
	.line	21
;>>>> 		while (Real_Data<1)
	LALK	FL2
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LARK	AR2,-6+LF10
	MAR	*0+
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L155
	MAR	* ,AR2
	MAR	*-,AR1
L154:
	.line	23
;>>>> 				Real_Data=Real_Data*10.0;
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$MUL
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	SACL	*+
	SACH	* 
	.line	24
;>>>> 				Dis_Data[1]='0';
	LACK	48
	ADRK	7-LF10
	SACL	*+
	.line	25
;>>>> 				Dis_Data[2]='.';
	LACK	46
	SACL	* 
	.line	26
;>>>> 				Counter=3-Dot_Flag;
	LACK	3
	ADRK	19
	SUB	*-
	SACL	*+,AR0
	.line	27
;>>>> 				Dis_Data[Counter]='0';
	SACL	* 
	LAR	AR3,* ,AR3
	MAR	*0+
	LACK	48
	MAR	*+
	SACL	* ,AR2
	.line	28
;>>>> 				Dot_Flag--;
	LAC	* 
	SUBK	1
	SACL	* ,AR1
	.line	21
	LALK	FL2
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	SBRK	28-LF10
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$GE
	BZ	L154
L155:
	.line	31
;>>>> 	 	for (Counter=Counter;Counter<=(Dot_Bit+1);Counter++)
	MAR	* ,AR2
	LARK	AR2,21
	MAR	*0+
	LAC	* 
	SACL	* 
	SBRK	28-LF10
	ZALS	* ,AR1
	ADDK	1
	SACL	* ,AR2
	ADRK	28-LF10
	ZALS	* ,AR1
	SUBS	* 
	BGZ	L157
	MAR	* ,AR2
	SBRK	27-LF10
L156:
	.line	33
;>>>> 				Dis_Data[Counter]=(int)Real_Data+0x30;
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$FTOI
	ADDK	48
	SACL	*+,AR2
	ADRK	26-LF10
	LAR	AR3,* ,AR3
	MAR	*0+,AR1
	MAR	*-
	LAC	* ,AR3
	MAR	*+
	SACL	* ,AR1
	.line	34
;>>>> 				Real_Data=(Real_Data-(Dis_Data[Counter]-0x30))*10.0;
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LAR	AR3,* ,AR3
	MAR	*0+
	SSXM
	MAR	*+
	LAC	* ,AR1
	SUBK	48
	CALL	F$$ITOF
	MAR	* ,AR2
	SBRK	27-LF10
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$SUB
	CALL	F$$MUL
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	SACL	*+
	SACH	* 
	.line	35
;>>>> 				if (Dot_Flag==0)
	ADRK	27-LF10
	LAC	* 
	BNZ	L158
	.line	37
;>>>> 						Counter=Counter+1;
	MAR	*-
	LAC	* 
	ADDK	1
	SACL	* 
	.line	38
;>>>> 						Dis_Data[Counter]='.';
	LAR	AR3,* ,AR3
	MAR	*0+
	LACK	46
	MAR	*+
	SACL	* 
L158:
	.line	40
;>>>> 				Dot_Flag--;
	MAR	* ,AR2
	LARK	AR2,22
	MAR	*0+
	LAC	* 
	SUBK	1
	SACL	*-
	.line	31
	LAC	* 
	ADDK	1
	SACL	* 
	SBRK	28-LF10
	ZALS	* ,AR1
	ADDK	1
	SACL	* ,AR2
	ADRK	28-LF10
	ZALS	* ,AR1
	SUBS	* ,AR2
	SBRK	27-LF10
	BLEZ	L156
L157:
	.line	43
;>>>> 		for (Counter=0;Counter<Dot_Bit+2;Counter++)
	LACK	0
	MAR	* ,AR2
	LARK	AR2,21
	MAR	*0+
	SACL	* 
	SBRK	28-LF10
	ZALS	* ,AR1
	ADDK	2
	SACL	* ,AR2
	ADRK	28-LF10
	ZALS	* ,AR1
	SUBS	* 
	BGEZ	L160
	MAR	* ,AR2
L159:
	.line	44
;>>>> 			Lcd_Character(Row,Column++,Dis_Data[Counter]);
	LAR	AR3,* ,AR3
	MAR	*0+
	MAR	*+
	LAC	* ,AR1
	SACL	*+,AR2
	SBRK	25-LF10
	LAC	* 
	ADDK	1
	SACL	*+,AR1
	SUBK	1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	_Lcd_Character
	SBRK	3
	.line	43
	MAR	* ,AR2
	LARK	AR2,21
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	SBRK	28-LF10
	ZALS	* ,AR1
	ADDK	2
	SACL	* ,AR2
	ADRK	28-LF10
	ZALS	* ,AR1
	SUBS	* ,AR2
	BLZ	L159
L160:
EPI0_10:
	.line	46
	MAR	* ,AR1
	SBRK	24
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	556,000000000H,23

	.sym	_Lcd_Exp,_Lcd_Exp,32,2,0
	.globl	_Lcd_Exp

	.func	571
;>>>> 	void	Lcd_Exp(unsigned int Row,unsigned int Column,double Real_Data,unsigned int Dot_Bit)
******************************************************
* FUNCTION DEF : _Lcd_Exp
******************************************************
_Lcd_Exp:

LF11	.set	0

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

	.sym	_Row,-3+LF11,14,9,16
	.sym	_Column,-4+LF11,14,9,16
	.sym	_Real_Data,-6+LF11,7,9,32
	.sym	_Dot_Bit,-7+LF11,14,9,16
	.sym	_Dis_Data,1,52,1,320,,20
	.sym	_Counter,21,4,1,16
	.sym	_Dot_Flag,22,4,1,16
	.line	2
;>>>> 	 	int	Dis_Data[20];
	.line	4
;>>>> 	 	int	Counter=1;
	LACK	1
	LARK	AR2,21
	MAR	*0+
	SACL	*+
	.line	5
;>>>> 	 	int	Dot_Flag=0;
	LACK	0
	SACL	* ,AR1
	.line	7
;>>>> 	 	if (Real_Data<0)	
	LALK	FL0
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	SBRK	28-LF11
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L161
	.line	9
;>>>> 	 			Dis_Data[0]='-';
	LACK	45
	MAR	* ,AR2
	ADRK	6-LF11
	SACL	* 
	.line	10
;>>>> 	 			Real_Data=fabs(Real_Data);
	SBRK	6-LF11
	ZALH	*-
	ANDK	0FFFEh,15
	OR	* 
	SACL	*+
	SACH	* 
	B	L162
L161:
	.line	12
;>>>> 	 	else 	Dis_Data[0]=' ';
	LACK	32
	MAR	* ,AR2
	ADRK	6-LF11
	SACL	* 
L162:
	.line	14
;>>>> 		while (Real_Data>=10.0)
	MAR	* ,AR1
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LARK	AR2,-6+LF11
	MAR	*0+
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$GE
	BZ	L164
	MAR	* ,AR2
	MAR	*-,AR1
L163:
	.line	16
;>>>> 				Real_Data=Real_Data/10.0;
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$DIV
	MAR	*-
	ZALH	*-
	ADDS	* ,AR2
	SACL	*+
	SACH	* 
	.line	17
;>>>> 				Dot_Flag++;
	ADRK	27-LF11
	LAC	* 
	ADDK	1
	SACL	* ,AR1
	.line	14
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	SBRK	28-LF11
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	*-,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L163
L164:
	.line	20
;>>>> 		while (Real_Data<1)
	LALK	FL2
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LARK	AR2,-6+LF11
	MAR	*0+
	LAC	*+,AR1
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	CALL	F$$LT
	BZ	L166
	MAR	* ,AR2
	MAR	*-,AR1
L165:
	.line	22
;>>>> 				Real_Data=Real_Data*10.0;
	LALK	FL1
	RPTK	1
	TBLR	*+
	MAR	* ,AR2
	LAC	*+,AR1
	S

⌨️ 快捷键说明

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