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

📄 7.3.4以10为底的浮点对数函数.txt

📁 《MCS-51单片机应用开发实用子程序》配套源代码包含了常用的单片机开发子程序
💻 TXT
字号:
FLOG: 						
FLN: 
MOV	A,@R0			
MOV	C,ACC.7
MOV	1FH,C
MOV	C,ACC.6
MOV	ACC.7,C
MOV	R2,A
INC		R0
MOV	A,@R0
MOV	R3,A
INC		R0
MOV	A,@R0
MOV	R4,A
DEC		R0
DEC		R0
JB 		1FH,LNOV			
MOV 	A,R3
ORL 	A,R4
JNZ 		LN0
LNOV: 
SETB 	OV
RET
LN0: 
CLR 	C
LCALL 	RLNORM 				
CLR 	A
XCH 	A,R2 				
PUSH 	ACC
;规格化
RLNORM:	
MOV	A,R3					
ORL		A,R4				
JNZ		RLNORM1
MOV	R2,#0C1H				
RET     	
RLNORM1:	
MOV	A,R3
JB		ACC.7,RLNORM2		
CLR		C					
LCALL	RL1
SJMP	RLNORM				
RLNORM2:	
CLR		OV					
RET
RL1:	
MOV	A,R4					
RLC		A				
MOV	R4,A
MOV	A,R3
RLC		A
MOV	R3,A
DEC		R2				
CJNE	R2,#0C0H,RL1E			
CLR		A
MOV	R3,A				
MOV	R4,A
MOV	R2,#0C1H
RL1E:	
CLR		OV 
RET
;回传
MOV0:						
INC		R0				
INC		R0
MOV	A,R4				
MOV	@R0,A
DEC		R0
MOV	A,R3					
MOV	@R0,A
DEC		R0
MOV	A,R2					
MOV	C,1FH
MOV	ACC.7,C
MOV	@R0,A
CLR		ACC.7				
CLR		OV
CJNE	A,#3FH,MV01
SETB	OV					
MV01:	
MOV	A,@R0
FPLN:	
POP		DPH				
POP		DPL
XCH		A,R0    				
XCH		A,R1
XCH		A,R0
CLR		A					
MOV	R2,A
MOV	R3,A
MOV	R4,A
CLR		1FH
PLN1:	
CLR		A				
MOVC	A,@A+DPTR
MOV	C,ACC.7
MOV	1EH,C
MOV	C,ACC.6
MOV	ACC.7,C
MOV	R5,A
INC		DPTR
CLR		A
MOVC	A,@A+DPTR
MOV	R6,A
INC		DPTR				
CLR		A
MOVC	A,@A+DPTR
MOV	R7,A
INC		DPTR				
MOV	C,1EH			
RRC		A
XRL		A,23H
RLC		A
MOV	F0,C					
AS1:	
MOV	A,R6					
ORL		A,R7
JZ		MOV0			
MOV	A,R3					
ORL		A,R4
JNZ		EQ1
MOV	A,R6					
MOV	R3,A
MOV	A,R7
MOV	R4,A
MOV	A,R5
MOV	R2,A
MOV	C,1EH
MOV	1FH,C
CLR		A					
MOVC	A,@A+DPTR		
CJNE	A,#40H,PLN2
XCH		A,R0
XCH		A,R1
XCH		A,R0
MOV0:					
INC		R0				
INC		R0
MOV	A,R4					
MOV	@R0,A
DEC		R0
MOV	A,R3					
MOV	@R0,A
DEC		R0
MOV	A,R2					
MOV	C,1FH
MOV	ACC.7,C
MOV	@R0,A
CLR		ACC.7				
CLR		OV
CJNE	A,#3FH,MV01
SETB	OV					
MV01:	
MOV	A,@R0
CLR		A					
INC		DPTR
JMP		@A+DPTR			
PLN2:	
MOV	A,@R1				
XRL		A,23H
RLC		A
MOV	1FH,C				
LCALL	MUL0
SJMP	PLN1
FLOG:	
MOV	A,@R0				
MOV	C,ACC.7
MOV	1FH,C
MOV	C,ACC.6
MOV	ACC.7,C
MOV	R2,A
INC		R0
MOV	A,@R0
MOV	R3,A
INC		R0
MOV	A,@R0
MOV	R4,A
DEC		R0
DEC		R0
JB 		1FH,LNOV			
MOV 	A,R3
ORL 	A,R4
JNZ 		LN0
LNOV: 
SETB 	OV
JNB		OV,LOG
RET
MUL0:	
LCALL	MVR1
MUL1:	
MOV	A,R3					
ORL		A,R4
JZ		MUL6
MOV	A,R6					
ORL		A,R7
JZ		MUL5
MOV	A,R7					
MOV	B,R4
MUL		AB
MOV	A,B
XCH		A,R7
MOV	B,R3
MUL		AB
ADD		A,R7
MOV	R7,A
CLR		A					
ADDC	A,B
XCH		A,R4					
MOV	B,R6
MUL		AB
ADD		A,R7
MOV	R7,A
MOV	A,B
ADDC	A,R4
MOV	R4,A
CLR		A
RLC		A
XCH		A,R3				
MOV	B,R6
MUL		AB
ADD		A,R4
MOV	R4,A
MOV	A,B
ADDC	A,R3
MOV	R3,A
JB		ACC.7,MUL2			
MOV	A,R7
RLC		A
MOV	R7,A
LCALL	RL1				
MUL2:	
MOV	A,R7
JNB		ACC.7,MUL3
INC		R4
MOV	A,R4
JNZ		MUL3
INC		R3
MOV	A,R3
JNZ		MUL3
MOV	R3,#80H
INC		R2
MUL3:						
MOV	A,R2
ADD		A,R5
MD:						
MOV	R2,A
JB		ACC.7,MUL4
JNB		ACC.6,MUL6
MOV	R2,#3FH				 
SETB	OV					
RET
MUL4:	
JB		ACC.6,MUL6
MUL5:	
CLR		A				
MOV	R3,A
MOV	R4,A
MOV	R2,#41H
MUL6:	
CLR		OV
RET
DB 7BH,0F4H,30H				
DB 0FEH,85H,13H				
DB 7FH,91H,51H				
DB 0FFH,0FAH,0BAH			
DB 0,0FFH,0CAH				
DB 70H,0C0H,0					
DB 40H 						
POP 		ACC 				
JNZ 		LN1
RET 						
LN1: 
CLR 	1EH 					
MOV 	C,ACC.7
MOV 	F0,C 				
JNC 		LN2
CPL 		A 				
INC 		A
LN2: 
MOV 	R2,A 				
MOV 	B,#72H
MUL 	AB
XCH 	A,R2
MOV 	R7,B
MOV 	B,#0B1H
MUL 	AB
ADD 	A,R7
MOV 	R7,A 				
CLR 	A
ADDC 	A,B
MOV 	R6,A
MOV 	R5,#8 				
LN3: 
JB 		ACC.7,LN4		
MOV 	A,R2
RLC 	A
MOV 	R2,A
MOV 	A,R7
RLC 	A
MOV 	R7,A
MOV 	A,R6
RLC 	A
MOV 	R6,A
DEC 	R5
SJMP 	LN3
LN4: 
MOV 	C,F0 				
MOV 	ACC.7,C
LJMP 	ASN 				
JNB 		OV,LOG
RET 						
LOG: 
MOV 	R5,#0FFH				
MOV 	R6,#0DEH
MOV 	R7,#5CH
LCALL 	MUL1 				
;传回结果
MOV0:						
INC		R0					
INC		R0
MOV	A,R4					
MOV	@R0,A
DEC		R0
MOV	A,R3					
MOV	@R0,A
DEC		R0
MOV	A,R2					
MOV	C,1FH
MOV	ACC.7,C
MOV	@R0,A
CLR		ACC.7				
CLR		OV
CJNE	A,#3FH,MV01
SETB	OV					
MV01:	
MOV	A,@R0
CLR		A					
INC		DPTR
JMP		@A+DPTR			

⌨️ 快捷键说明

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