压缩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码
BCD码分为 非压缩BCD码 和 压缩BCD码。非压缩BCD:一个字节8位来存储一个十进制数,如上例32=0000 0011 0000 0010压缩BCD码:每个字节的前4位都是0,可以省略掉,剩下的8位一组,凑成一个字节。如32的压缩BCD=0011 0010压缩BCD转换为非压缩BCD时,只需每4位扩展为8位,高位补0即可。另需注意区分:BCD码 和 整数值转换成二进制数值的不同
就是每4位表示一个数字咯~原本一个字节8位代表一个数字的,现在压缩BCD码一个字节代表两个数字。比如32,非压缩BCD码就是0010 0000,压缩BCD码高4位放数字‘3’,低4位放数字‘2’,于是压缩BCD码就是0011 0010
用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD(Binary-Coded Decimal)码
压缩BCD码,指的就是用四位二进制数表示一位BCD码,用一个字节表示的两位BCD码,称为压缩型BCD码。其中高四位存放十位数字,低四位存放个位数字。如56的压缩型8421 bcd码是0101 0110
就是用一个字节(8位)来表示两位十进制数据,其中高四位和低四位分别表示一个十进制数。例如:32可以用00110010表示。