📄 新建 文本文档 (2).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 + -