本节讨论的指令仅用于 32 位编程模式。压缩十进制数的每个字节存放两个十进制数字,每个数字用 4 位表示。如果数字个数为奇数,则最高的半字节用零填充。存储大小可变:
压缩十进制存储至少有两个优势:
1) 数据几乎可以包含任何个数的有效数字。这使得以很高的精度执行计算成为可能。
2) 实现压缩十进制数与 ASCII 码之间的相互转换相对简单。
DAA(加法后的十进制调整)和 DAS(减法后的十进制调整)这两条指令调整压缩十进制数加减法的结果。可惜的是,目前还没有与乘除法有关的相似指令。在这些情况下,相乘或相除的数必须是非压缩的,执行后再压缩。
下面分别对 DAA 指令和 DAS 指令做详细介绍:
《DAA 指令》
《DAS 指令》