什么是压缩BCD码和非压缩BCD码?

2024-12-31 22:55:46
推荐回答(4个)
回答1:

压缩BCD码是用四位二进制数表示一位BCD码,用一个字节表示的两位BCD码,即一个字节存放两个十进制数位,想到压缩BCD码更节省存储空间。

非压缩BCD码:非压缩型BCD码一个字节可存放一个一位十进制数,其中高4位的内容不做规定(也有部分书籍要求为0,二者均可),低4位二进制表示该位十进制数。

非压缩BCD码在汇编中的调整指令为AAA(加法的ASCII码调整)、AAS(减法的ASCII码调整)、AAM(乘法的ASCII码调整)、AAD(除法的ASCII码调整)。

扩展资料:

调试时使用的数据:

ORG 0000H

MOV 20H, #12H ;假设被加数NA是563412

MOV 21H, #34H

MOV 22H, #56H

MOV 30H, #77H ;假设加数NB是998877

MOV 31H, #88H

MOV 32H, #99H

LCALL ADD3B ;调用3字节加法子程序

SJMP $ ;相加结束,暂停,此时可以观察到和的数值:1562289

参考资料来源:百度百科-压缩BCD码

参考资料来源:百度百科-非压缩BCD码

回答2:

回答3:

回答4:

最常用的BCD编码,就是使用"0"至"9"这十个数值的二进码来表示。这种编码方式,在中国大陆称之为“8421码”。除此以外,对应不同需求,各人亦开发了不同的编码方法,以适应不同的需求。这些编码,大致可以分成有权码和无权码两种:
有权BCD码,如:8421(最常用)、2421、5421…
无权BCD码,如:余3码、格雷码…

压缩BCD码与非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制数8.