1
汇编语言进制转换
编译整理 ----
----
----
---- 彭跃辉
(编译环境 WAVE 6000
WAVE 6000
WAVE 6000
WAVE 6000 )
1-1
1-1
1-1
1-1 :将单字节十六进制数转换成 BCD
BCD
BCD
BCD 码
单字节十六进制数在 0~255 之间,将其除 100 后,商为百位数,余数除以 10 ,商为十位数
,
余数为个位数。设单字节数存在于 23H 中,转换后,百位数存放于 R4 中,十位和个位数 分
别存放于 R5 的高位和低位字节中。 示例中 23H 单元赋值 7B H ( 1111011B
) 。
程序如下: (
ASM 文件见 1-1.asm )
1-2
1-2
1-2
1-2 :将单字节二进制数转换成 BCD
BCD
BCD
BCD 码
将给定的一个字节二进制数( 0~255 之间)转换成十进制( B CD )码。将累加器 A 的值拆
为三个 B CD 码, 并存入从 RESULT 开始的三个单元, 示例程序中 A 赋值 #123
D
( 1111011 B
) 。
程序如下: (
ASM 文件见 1-2.asm )
1-3
1-3
1-3
1-3 :将双字节二进制数转换为 BCD
BCD
BCD
BCD 码
入口参数: (
R2R3 )为双字节十六位二进制数。出口参数: ( R4R5R6 )为转换完的压缩 B C D
码。示例中该双字节二进制数为
1111111111111111B
。
算法如下:
二进制数转换为 B CD 数的一般方法是把二进制数除以 1000 、 100 、 10 等 10 个各次幂,所
得的商即为千、百、十位数,余数为个位数。这样的方法在被转换数较大时,需进行多字 节
- 1
- 2
前往页