为什么在AMD64中删除了BCD指令?

时间:2015-10-17 03:42:53

标签: assembly x86-64

二进制编码的十进制指令至少来自i8086是x86架构的一部分。它们类似于AAA,DAA,AAS,DAS,并且可以帮助处理BCD数字的算术运算。

以下是对它们的一些参考:

https://en.wikipedia.org/wiki/Intel_BCD_opcode

根据英特尔软件开发人员手册。这些指令在长(64位)模式下不可用。我知道也许唯一真正知道为什么是建筑设计师的人,但为什么你认为他们删除了它们?

1 个答案:

答案 0 :(得分:2)

答案在您的链接中:

  

使用这些操作码添加BCD编号是一项复杂的任务,并且需要   许多指令甚至可以添加适度的数字。它还可能需要一个   大量的记忆。

     

所有整数计算都是精确的,因此数字的基数   表示对准确性并不重要。因此,甚至   今天的财务软件通常以二进制存储值   表示,只转换为十进制输入和输出。

     

在x86处理器上,使用二进制数的计算通常很多   比使用BCD编号的计算速度快。