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

📄 bcd3.asm

📁 三字节BCD转三字节16进制的51汇编(带注释)
💻 ASM
字号:
;标号: BH3 
;功能:三字节BCD码整数转换成三字节十六进制整数 
;入口条件:待转换的三字节BCD码整数在R2、R3、R4中。 
;出口信息:转换后的三字节十六进制整数仍在R2、R3、R4中。 
;影响资源:PSW、A、B、R2、R3、R4、R5
;堆栈需求:4字节 


MOV R2,#97H
MOV R3,#98H
MOV R4,#99H

BH2: 

MOV A,R4 ;将低字节转换成十六进制 
LCALL BCDH 
MOV R4,A 

MOV A,R3 ;将次高字节转换成十六进制 
LCALL BCDH 
MOV B,#100 ;扩大一百倍 
MUL AB 
ADD A,R4 ;和低字节按十六进制相加 
MOV R4,A 
CLR A 
ADDC A,B 
MOV R3,A 

MOV A,R2 ;将高字节转换成十六进制 
LCALL BCDH

;扩大一万倍 #2710H=#10000
MOV B,#10H;乘低字节
MUL AB
ADD A,R4
MOV R4,A 
CLR A
ADDC A,B
ADDC A,R3
MOV R3,A

MOV A,R5
MOV B,#27H;乘高字节
MUL AB
ADD A,R3
MOV R3,A 
CLR A
ADDC A,B
MOV R2,A


;标号:BCDH 
;功能:单字节BCD码整数转换成单字节十六进制整数 
;入口条件:待转换的单字节BCD码整数在累加器A中。 
;出口信息:转换后的单字节十六进制整数仍在累加器A中。 
;影响资源:PSW、A、B、R5 
;堆栈需求:2字节 

BCDH:
 
MOV B,#10H ;分离十位和个位 
DIV AB 
MOV R5,B ;暂存个位 
MOV B,#10 ;将十位转换成十六进制 
MUL AB 
ADD A,R5 ;按十六进制加上个位 
MOV R5,A;暂存转换后的单字节十六进制整数
RET 

END

⌨️ 快捷键说明

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