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

📄 main.src

📁 这是一个很好的学习工程
💻 SRC
📖 第 1 页 / 共 2 页
字号:
	MOV  	A,j?344
	SETB 	C
	SUBB 	A,R7
	JNC  	?C0012
; 			if(Sampbuff[j]>Sampbuff[j+1])
			; SOURCE LINE # 94
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff+04H)
	MOV  	R0,A
	LCALL	?C?LLDIDATA
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff)
	MOV  	R0,A
	LCALL	?C?LLDIDATA0
	SETB 	C
	LCALL	?C?ULCMP
	JC   	?C0015
; 			{
			; SOURCE LINE # 95
; 			temp=Sampbuff[j];Sampbuff[j]=Sampbuff[j+1];Sampbuff[j+1]=temp;
			; SOURCE LINE # 96
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff)
	MOV  	R0,A
	LCALL	?C?LLDIDATA
	MOV  	temp?345+03H,R7
	MOV  	temp?345+02H,R6
	MOV  	temp?345+01H,R5
	MOV  	temp?345,R4
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff+04H)
	MOV  	R0,A
	LCALL	?C?LLDIDATA
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff)
	MOV  	R0,A
	LCALL	?C?LSTIDATA
	MOV  	R7,temp?345+03H
	MOV  	R6,temp?345+02H
	MOV  	R5,temp?345+01H
	MOV  	R4,temp?345
	MOV  	A,j?344
	ADD  	A,ACC
	ADD  	A,ACC
	ADD  	A,#LOW (Sampbuff+04H)
	MOV  	R0,A
	LCALL	?C?LSTIDATA
; 			}
			; SOURCE LINE # 97
?C0015:
	INC  	j?344
	SJMP 	?C0013
?C0012:
	INC  	i?343
	MOV  	A,i?343
	XRL  	A,#02H
	JNZ  	?C0010
?C0011:
; 	if(Firstfilt)
			; SOURCE LINE # 98
	JNB  	Firstfilt,?C0017
;     {
			; SOURCE LINE # 99
; 		Firstfilt=0;
			; SOURCE LINE # 100
	CLR  	Firstfilt
; 		Firstint=0;
			; SOURCE LINE # 101
;     	Filter_result=Sampbuff[1];
			; SOURCE LINE # 102
; 		Last_samp_data=Sampbuff[1];
			; SOURCE LINE # 103
;     }
			; SOURCE LINE # 104
	SJMP 	?C0032
?C0017:
;     else if(-250<(Sampbuff[1]-Last_samp_data)<250)
			; SOURCE LINE # 105
	CLR  	C
	MOV  	A,Sampbuff+07H
	SUBB 	A,Last_samp_data+03H
	MOV  	R7,A
	MOV  	A,Sampbuff+06H
	SUBB 	A,Last_samp_data+02H
	MOV  	R6,A
	MOV  	A,Sampbuff+05H
	SUBB 	A,Last_samp_data+01H
	MOV  	R5,A
	MOV  	A,Sampbuff+04H
	SUBB 	A,Last_samp_data
	MOV  	R4,A
	MOV  	A,#0FFH
	MOV  	R3,#06H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	CLR  	C
	LCALL	?C?ULCMP
	MOV  	R6,#00H
	JNC  	?C0020
	MOV  	R7,#01H
	SJMP 	?C0021
?C0020:
	MOV  	R7,#00H
?C0021:
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#0FAH
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0019
;    {	
			; SOURCE LINE # 106
;         
;     	Firstint=0;
			; SOURCE LINE # 108
	CLR  	Firstint
; 		Last_samp_data=Sampbuff[1];
			; SOURCE LINE # 109
	MOV  	Last_samp_data+03H,Sampbuff+07H
	MOV  	Last_samp_data+02H,Sampbuff+06H
	MOV  	Last_samp_data+01H,Sampbuff+05H
	MOV  	Last_samp_data,Sampbuff+04H
;     	Filter_result=(Filter_result*9+Sampbuff[1])/10;
			; SOURCE LINE # 110
	CLR  	A
	MOV  	R7,#09H
	MOV  	R6,A
	MOV  	R5,A
	MOV  	R4,A
	MOV  	R3,Filter_result+03H
	MOV  	R2,Filter_result+02H
	MOV  	R1,Filter_result+01H
	MOV  	R0,Filter_result
	LCALL	?C?LMUL
	MOV  	A,R7
	ADD  	A,Sampbuff+07H
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,Sampbuff+06H
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,Sampbuff+05H
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,Sampbuff+04H
	MOV  	R4,A
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	Filter_result+03H,R7
	MOV  	Filter_result+02H,R6
	MOV  	Filter_result+01H,R5
	MOV  	Filter_result,R4
; 	}
			; SOURCE LINE # 111
	RET  	
?C0019:
; 	else
;    {
			; SOURCE LINE # 113
;     	if (Firstint)
			; SOURCE LINE # 114
	JNB  	Firstint,?C0023
;     	{
			; SOURCE LINE # 115
;       		Firstint=0;
			; SOURCE LINE # 116
?C0032:
	CLR  	Firstint
;       		Filter_result=Sampbuff[1];
			; SOURCE LINE # 117
	MOV  	Filter_result+03H,Sampbuff+07H
	MOV  	Filter_result+02H,Sampbuff+06H
	MOV  	Filter_result+01H,Sampbuff+05H
	MOV  	Filter_result,Sampbuff+04H
; 		    Last_samp_data=Sampbuff[1];
			; SOURCE LINE # 118
	MOV  	Last_samp_data+03H,Sampbuff+07H
	MOV  	Last_samp_data+02H,Sampbuff+06H
	MOV  	Last_samp_data+01H,Sampbuff+05H
	MOV  	Last_samp_data,Sampbuff+04H
;     	}
			; SOURCE LINE # 119
	RET  	
?C0023:
;     	else
;       		Firstint=1;
			; SOURCE LINE # 121
	SETB 	Firstint
;     } 	
			; SOURCE LINE # 122
; 
; }
			; SOURCE LINE # 124
?C0025:
	RET  	
; END OF filter

; 
; 
; void data_manage()

	RSEG  ?PR?data_manage?MAIN
data_manage:
	USING	0
			; SOURCE LINE # 127
; {	
			; SOURCE LINE # 128
; 	ulong temp=184320000;
			; SOURCE LINE # 129
;---- Variable 'temp?446' assigned to Register 'R4/R5/R6/R7' ----
	MOV  	R7,#00H
	MOV  	R6,#080H
	MOV  	R5,#0FCH
	MOV  	R4,#0AH
; 	Measure=temp/Filter_result;
			; SOURCE LINE # 130
	MOV  	R3,Filter_result+03H
	MOV  	R2,Filter_result+02H
	MOV  	R1,Filter_result+01H
	MOV  	R0,Filter_result
	LCALL	?C?ULDIV
	MOV  	Measure+03H,R7
	MOV  	Measure+02H,R6
	MOV  	Measure+01H,R5
	MOV  	Measure,R4
; }
			; SOURCE LINE # 131
	RET  	
; END OF data_manage

; 
; void renovate_disp(ulong Measure)

	RSEG  ?PR?_renovate_disp?MAIN
_renovate_disp:
	USING	0
			; SOURCE LINE # 133
	MOV  	Measure?547+03H,R7
	MOV  	Measure?547+02H,R6
	MOV  	Measure?547+01H,R5
	MOV  	Measure?547,R4
; {
			; SOURCE LINE # 134
;     uint  i=Measure;
			; SOURCE LINE # 135
;---- Variable 'i?548' assigned to Register 'R2/R3' ----
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	XCH  	A,R2
	MOV  	A,R6
	XCH  	A,R2
; 	uchar temp[4];
; 	temp[0]=i/1000;
			; SOURCE LINE # 137
	MOV  	R4,#03H
	MOV  	R5,#0E8H
	LCALL	?C?UIDIV
	MOV  	temp?549,R7
; 	temp[1]=(i-temp[0]*1000)/100;
			; SOURCE LINE # 138
	MOV  	R6,#00H
	MOV  	R4,#03H
	MOV  	R5,#0E8H
	LCALL	?C?IMUL
	CLR  	C
	MOV  	A,R3
	SUBB 	A,R7
	MOV  	R7,A
	MOV  	A,R2
	SUBB 	A,R6
	MOV  	R6,A
	MOV  	R4,#00H
	MOV  	R5,#064H
	LCALL	?C?UIDIV
	MOV  	temp?549+01H,R7
; 	temp[2]=(i-temp[0]*1000-temp[1]*100)/10;
			; SOURCE LINE # 139
	MOV  	R7,temp?549
	MOV  	R6,#00H
	MOV  	R4,#03H
	MOV  	R5,#0E8H
	LCALL	?C?IMUL
	CLR  	C
	MOV  	A,R3
	SUBB 	A,R7
	MOV  	R5,A
	MOV  	A,R2
	SUBB 	A,R6
	MOV  	R4,A
	MOV  	A,temp?549+01H
	MOV  	B,#064H
	MUL  	AB
	MOV  	R7,A
	CLR  	C
	MOV  	A,R5
	SUBB 	A,R7
	MOV  	R7,A
	MOV  	A,R4
	SUBB 	A,B
	MOV  	R6,A
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	temp?549+02H,R7
; 	temp[3]=i-temp[0]*1000-temp[1]*100-temp[2]*10;
			; SOURCE LINE # 140
	XCH  	A,R7
	MOV  	A,R3
	XCH  	A,R7
	MOV  	A,temp?549
	MOV  	B,#0E8H
	MUL  	AB
	MOV  	R6,A
	CLR  	C
	MOV  	A,R7
	SUBB 	A,R6
	MOV  	R7,A
	MOV  	A,temp?549+01H
	MOV  	B,#064H
	MUL  	AB
	MOV  	R6,A
	CLR  	C
	MOV  	A,R7
	SUBB 	A,R6
	MOV  	R7,A
	MOV  	A,temp?549+02H
	MOV  	B,#0AH
	MUL  	AB
	MOV  	R6,A
	CLR  	C
	MOV  	A,R7
	SUBB 	A,R6
	MOV  	temp?549+03H,A
; 	if (temp[0]==0)
			; SOURCE LINE # 141
	MOV  	A,temp?549
	JNZ  	?C0027
; 	{
			; SOURCE LINE # 142
; 		temp[0]=43;
			; SOURCE LINE # 143
	MOV  	temp?549,#02BH
; 	}
			; SOURCE LINE # 144
?C0027:
; 	Dispbuff[0]=temp[0];
			; SOURCE LINE # 145
	MOV  	Dispbuff,temp?549
; 	Dispbuff[1]=temp[1]+10;
			; SOURCE LINE # 146
	MOV  	A,temp?549+01H
	ADD  	A,#0AH
	MOV  	Dispbuff+01H,A
; 	Dispbuff[2]=temp[2];
			; SOURCE LINE # 147
	MOV  	Dispbuff+02H,temp?549+02H
; 	Dispbuff[3]=temp[3];
			; SOURCE LINE # 148
	MOV  	Dispbuff+03H,temp?549+03H
; }
			; SOURCE LINE # 149
	RET  	
; END OF _renovate_disp

; 
; void main()

	RSEG  ?PR?main?MAIN
main:
	USING	0
			; SOURCE LINE # 151
; {
			; SOURCE LINE # 152
; 	SP=0x5F;
			; SOURCE LINE # 153
	MOV  	SP,#05FH
; 	ini_sfr();
			; SOURCE LINE # 154
	LCALL	ini_sfr
; 	disp_logo();
			; SOURCE LINE # 155
	LCALL	disp_logo
?C0029:
; 
; 	while(1)
			; SOURCE LINE # 157
; 	{
			; SOURCE LINE # 158
; 		samp();
			; SOURCE LINE # 159
	LCALL	samp
; 		filter();
			; SOURCE LINE # 160
	LCALL	filter
; 		data_manage();
			; SOURCE LINE # 161
	LCALL	data_manage
; 		renovate_disp(Measure);
			; SOURCE LINE # 162
	MOV  	R7,Measure+03H
	MOV  	R6,Measure+02H
	MOV  	R5,Measure+01H
	MOV  	R4,Measure
	LCALL	_renovate_disp
; 	}
			; SOURCE LINE # 163
	SJMP 	?C0029
; END OF main

	END

⌨️ 快捷键说明

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