操作碼 |
指令 |
說明 |
D9 F0 |
F2XM1 |
將 ST(0) 替換成 (2ST(0) - 1) |
計算 2 的指數(源運算元)冪減 1。源運算元位於暫存器 ST(0),結果也儲存到 ST(0)。源運算元的值必須在範圍 -1.0 到 +1.0 內。如果源運算元值超出此範圍,則結果未定義。
下表顯示計算各類數值的指數冪時得到的結果(假設未發生上溢或下溢)。
ST(0) SRC |
ST(0) DEST |
-1.0 到 -0 |
-0.5 到 -0 |
-0 |
-0 |
+0 |
+0 |
+0 到 +1.0 |
+0 到 1.0 |
2 以外的其它值的指數冪可以使用以下公式計算:
xy 2(y * log2x)
ST(0) (2ST(0) - 1);
如果結果取整則設定為 1;否則清除。
C0、C2、C3 - 未定義。
#IS - 發生堆疊下溢。
#IA - 源運算元是 SNaN 值或不支援的格式。
#D - 源運算元是非規格化值。
#U - 結果對於目標格式而言太小。
#P - 值無法按目標格式精確表示。
#NM - 如果 CR0 中的 EM 或 TS 設定為 1。
#NM - 如果 CR0 中的 EM 或 TS 設定為 1。
#NM - 如果 CR0 中的 EM 或 TS 設定為 1。