两字节压缩BCD码转换为二进制数
whisper是什么意思-
两字节压缩
BCD
码转换为二进制数
设高
8
位(千位和百位即
a3
a2
)放在
R5
中,低
8
位(十位和个位即
a1a0
)放在
R4
中
A=
a3
×
1000
+
a2
×
100
+
< br>a1
×
10
+
< br>a0 =
(
a3
×
10
+
a2
)
×
100
+
(
a1
×
10
+
a0
)
公共项可用子程序实现
方法一:
ORG
0000H
LJMP
0100H
ORG
0100H
ZHU:
MOV
A , R5
ANL
A , #0F0H
SWAP
A
MOV
R6 , A
MOV
A , R5
ANL
A , #0FH
XCH
A , R5
MOV
A ,
R4
ANL
A , #0F0H
SWAP
A
MOV
R4 , A
MOV
A , R4
ANL
A , #0FH
XCH
A , R3
MOV
A , R6
MOV
B , #10
MUL
AB
ADD
A , R5
MOV
B , #100
MUL
AB
MOV
R5 , A
MOV
R6 , B
低
8
位放到
R5
MOV
A , R4
MOV
B , #10
MUL
AB
ADD
A , R3
MOV
R4, A
MOV
A , R5
ADD
A ,
R4
MOV
R4 , A
MOV
A, R6
ADDC
A , #00H
MOV
R6 , A
JIESHU:
END
p>
--
把千位数放到
R6
的低四位
--
把百位数放到
R5
的低四位
--
把十位数放到
< br>R4
的低四位
--
把个位数放到
R3
的低
四位
--
(千位数×
10
< br>+百位数)×
100
p>
--
把
(千位数×
10
+百位数)
×
100
的高
8
位放到
R6
,
--
(十位数×
10
+个位数)
,结果肯定小于
255 <
/p>
--
把(十位数×
10
< br>+个位数)的结果放到
R4
--
转换后的二进制数由高到低依次存放到
R6
、
R5
、
R4