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

📄 新建 文本文档 (2).txt

📁 51单片机方面的程序 用汇编写的 很经典的一些程序
💻 TXT
字号:
;BCD小数转换为二进制小数(2位)
;入口: R0(低位首址),R7
;占用资源: ACC,B,R5
;堆栈需求: 2字节
;出口: R3,R4

PDTB : 
	CLR A
	MOV R3,A
	MOV R4,A
PDB1 : 
	MOV A,R3
	MOV B,#9AH
	MUL AB
	MOV R5,B
	XCH A,R4
	MOV B,#19H
	MUL AB
	ADD A,R4
	MOV A,R5
	ADDC A,B
	MOV R5,A
	MOV A,@R0
	MOV B,#9AH
	MUL AB
	ADD A,R5
	MOV R4,A
	CLR A
	ADDC A,B
	XCH A,R3
	MOV B,#19H
	MUL AB
	ADD A,R4
	MOV R4,A
	MOV A,B
	ADDC A,R3
	MOV R3,A
	MOV A,@R0
	MOV B,#19H
	MUL AB
	ADD A,R3
	MOV R3,A
	DEC R0
	DJNZ R7,PDB1
RET
;BCD小数转换为二进制小数(N位)
;入口: R1(低位首址),M,N
;占用资源: ACC,B,R2,R3,R7
;堆栈需求: 2字节
;出口: R0

PDTBMN : 
	MOV A,R0
	MOV R2,A
	MOV A,R1
	MOV R3,A
	MOV B,N
	CLR A
PDBMN1 : 
	MOV @R0,A
	INC R0
	DJNZ B,PDBMN1
	MOV A,N
	SWAP A
	RR A
	MOV R7,A
PDBMN2 : 
	MOV A,R2
	MOV R0,A
	MOV A,R3
	MOV R1,A
	MOV B,M
	CLR C
PDBMN3 : 
	MOV A,@R1
	ADDC A,@R1
	DA A
	JNB ACC.4,PDBMN4
	SETB C
	CLR ACC.4
PDBMN4 : 
	MOV @R1,A
	INC R1
	DJNZ B,PDBMN3
	MOV B,N
PDBMN5 : 
	MOV A,@R0
	RLC A
	MOV @R0,A
	INC R0
	DJNZ B,PDBMN5
	DJNZ R7,PDBMN2
	MOV A,R2
	MOV R0,A
	RET
;BCD整数转换为二进制整数(1位)
;入口: R0(高位地址),R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R4

IDTB1: 
	CLR A
	MOV R4,A
IDB11: 
	MOV A,R4
	MOV B,#0AH
	MUL AB
	ADD A,@R0
	INC R0
	MOV R4,A
	DJNZ R7,IDB11
	RET
;BCD整数转换为二进制整数(2位)
;入口: R0(高位地址),R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R3,R4

IDTB2: 
	CLR A
	MOV R3,A
	MOV R4,A
IDB21: 
	MOV A,R4
	MOV B,#0AH
	MUL AB
	MOV R4,A
	MOV A,B
	XCH A,R3
	MOV B,#0AH
	MUL AB
	ADD A,R3
	MOV R3,A
	MOV A,R4
	ADD A,@R0
	INC R0
	MOV R4,A
	CLR A
	ADDC A,R3
	MOV R3,A
	DJNZ R7,IDB21
	RET
;BCD整数转换为二进制整数(3位)
;入口: R0(高位地址),R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R2,R3,R4

IDTB3: 
	CLR A
	MOV R2,A
	MOV R3,A
	MOV R4,A
IDB31: 
	MOV A,R4
	MOV B,#0AH
	MUL AB
	MOV R4,A
	MOV A,B
	XCH A,R3
	MOV B,#0AH
	MUL AB
	ADD A,R3
	MOV R3,A
	CLR A
	ADDC A,B
	XCH A,R2
	MOV B,#0AH
	MUL AB
	ADD A,R2
	MOV R2,A
	MOV A,R4
	ADD A,@R0
	INC R0
	MOV R4,A
	CLR A
	ADDC A,R3
	MOV R3,A
	CLR A
	ADDC A,R2
	MOV R2,A
	DJNZ R7,IDB31
	RET
;BCD整数转换为二进制整数(N位)
;入口: R1(高位地址),M,N
;占用资源: ACC,B,R2,R7,NCNT,F0
;堆栈需求: 2字节
;出口: R0

IDTBMN : 
	MOV A,R0
	MOV R2,A
	MOV B,N
	CLR A
IDBMN1 : 
	MOV @R0,A
	INC R0
	DJNZ B,IDBMN1
	MOV A,R2
	MOV R0,A
	MOV A,M
	MOV NCNT,A
IDBMN2 : 
	MOV R7,N
	CLR A
	CLR F0
IDBMN3 : 
	XCH A,@R0
	MOV B,#0AH
	MUL AB
	MOV C,F0
	ADDC A,@R0
	MOV F0,C
	MOV @R0,A
	INC R0
	MOV A,B
	DJNZ R7,IDBMN3
	MOV A,R2
	MOV R0,A
	MOV A,@R1
	INC R1
	ADD A,@R0
	MOV @R0,A
	DJNZ NCNT,IDBMN2
	RET

⌨️ 快捷键说明

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