现代x86处理器本机支持十进制浮点运算吗?我在网上找不到任何关于它的信息。
没有,这可能会让你很难找到任何关于它的信息。
有两条指令fbld
和fbstp
处理十进制浮点,但它们只是从压缩BCD表示转换为压缩BCD表达。这是唯一直接支持任何十进制浮点,所有算术都是二进制格式。这些指令都是非常微编码的,尤其是fbstp
,它通常转换为150-300µops。
在编写在BCD浮点(打包或非打包)上实现算术的过程时,有(或在某种意义上"已经"有)一些整数指令会很有用,但它们已经过时,在64位模式下不受支持(而且从未构成"对十进制浮点算术的本机支持")。这些是诸如aaa
和daa
之类的指令。