小编hai*_* ha的帖子

为什么 FLD m80fp 不会引发 SNaN 输入的异常,而 double 或 float 的 FLD 可以?

以下是使用FLD时可能出现的异常:

  • #IS 发生堆栈下溢或溢出。
  • #IA 源操作数是 SNaN。如果源操作数是双扩展精度浮点格式(FLD m80fp 或 FLD ST(i)),则不会发生。
  • #D 源操作数是一个非正规值。如果源操作数是双扩展精度浮点格式,则不会发生。

为什么 #IA 异常“如果源操作数是双扩展精度浮点格式,则不会发生”?

我认为双精度浮点和双扩展精度浮点格式基本相同。两者都能够编码 SNaN。

这种差异是否有任何合乎逻辑的原因,或者只是它的方式?

floating-point x86 assembly x87

2
推荐指数
1
解决办法
74
查看次数

标签 统计

assembly ×1

floating-point ×1

x86 ×1

x87 ×1