资源描述
如有你有帮助,请购买下载,谢谢!
正确与否,请自己判别!
以下都是把原始数据放在 R0 中,转换之后的数据置于 R3 或 R4 中
;十六进制(二进制)换成 ASCII 码
;0—9=30H-39 ;A-F=41H-46H
ORG 0000H LJMP MAIN ORG 0100H
MAIN:MOV R2,#2AH
MOV A,R2
ANL A,#0FH;取低半字节
CJNE A,#10,K2;不相等则转移
K2: JC K1
ADD A,#07H
K1:
K:
END
ADD A,#30H
MOV R3,A;将结果保存在 R3 中
MOV A,R2
SWAP A
ANL A,#0FH; 取高半字节
CJNE A,#10,$+3;不相等则转移
JC K
ADD A,#07H ADD A,#30H
MOV R4,A;将结果保存在 R4 中
LJMP $
;ASCII 码换成十六进制(二进制)
;30H--39H=0—9 ;41H--46H=A-F
ORG 0000H LJMP MAIN ORG 0100H
MAIN:MOV R2,#41H
MOV A,R2
CJNE A,#40H,$+3;执行下一条语句,如果 A<40H,C=1
JC K
SUBB A,#07H
K: SUBB A,#30H
MOV R3,A;将结果保存在 R3 中
LJMP $
END
1页
;BCD 码换成 ASCII 码
;0—9=30H-39H
ORG 0000H
LJMP MAIN ORG 0100H
MAIN:MOV R0,#1H
MOV R2,#23H
MOV A,R2
LOOP:ANL A,#0FH;取低半字节
ADD A,#30H DJNZ R0,K1
MOV R3,A;将结果保存在 R3 中
MOV A,R2
SWAP A
JMP LOOP
如有你有帮助,请购买下载,谢谢!
K1: MOV R4,A
LJMP $
END
;将 ASCII 码换成 BCD 码,方法(ASCII 码=>二进制=>BCD 码
;0--9=0--9
;41H--46H=10--15
ORG 0000H
LJMP MAIN ORG 0100H
MAIN:;MOV R2,#46H;(举例)
MOV A,R2
CJNE A,#40H,$+3;执行下一条语句,如果 A<40H,C=1
JC K
SUBB A,#07H
K:
SUBB A,#30H
MOV R3,A;将结果保存在 R3 中,R3 只能是一个字节
MOV A,R3
CJNE A,#10,$+3;不相等则转移
JC K1 DA A
K1: MOV R3,A;将结果保存在 R3 中
LJMP $
END
;十六进(二进制)制换成 BCD 码
;0--9=0--9H
;A--F=10--15H
2页
ORG 0000H
LJMP MAIN ORG 0100H
MAIN:MOV R0,#1H
;MOV R2,#2AH;(举例)
MOV A,R2
LOOP:ANL A,#0FH;取低半字节
CJNE A,#10,$+3;不相等则转移
JC K
DA A
如有你有帮助,请购买下载,谢谢!
k:
DJNZ R0,K1
MOV R3,A;将结果保存在 R3 中
MOV A,R2
SWAP A
JMP LOOP
K1: MOV R4,A
LJMP $
END
;将 BCD 码转换成十六进制(二进制)
;0--9=0--9
;10--15=A--F;感觉不需要这一段
ORG 0000H LJMP MAIN ORG 0100H
MAIN:;MOV R2,#15H(举例)
MOV A,R2
CJNE A,#10H,$+3;
JC K
SUBB A,#6;感觉不需要
K: MOV R3,A
LJMP $
END
;在以 2000H 为首地址的存储区里存放着 20 个用 ASCII 码表示的 0
-9 的数
;将他们转换成 BCD 码(即一个单元存放 2 位 BCD 码)的形式存放
在 3000H-3009H 单元中?
ORG 0000H
LJMP MAIN ORG 0100H
3页
展开阅读全文