|
指令 |
說明 |
|
FISTTP m16int |
將 ST 當作有符號整數(截斷)儲存到 m16int,並彈出 ST。 |
|
FISTTP m32int |
將 ST 當作有符號整數(截斷)儲存到 m32int,並彈出 ST。 |
|
FISTTP m64int |
將 ST 當作有符號整數(截斷)儲存到 m64int,並彈出 ST。 |
FISTTP 以截斷(截尾)為取整模式,將 ST 中的值轉換成有符號整數,結果傳輸到目標,並彈出 ST。FISTTP 接受字、短整數及長整數目標運算元。
下表顯示按整數格式儲存各類數值時得到的結果。
F 表示有限浮點值。
I 表示整數。
* 表示浮點操作無效 (#IA) 異常。
DEST ¨ ST;
pop ST;
C1 清除;C0、C2 及 C3 未定義。
無效、堆疊無效(堆疊下溢)、精度。
#GP(0) - 如果目標運算元位於不可寫的段。
CS、DS、ES、FS 或 GS 段中的記憶體運算元有效地址非法。
#SS(0) - SS 段中的地址非法。
#PF(錯誤程式碼) - 頁錯誤。
#AC - 如果在目前特權級別為 3 時進行未對齊的記憶體引用。
#NM - 如果 CR0.EM = 1。
如果 CR0 中的 TS 設定為 1。
#UD - 如果 CPUID.PNI(ECX bit 0) = 0。
中斷 13 - 如果運算元的任何部分出現在從 0 到 0FFFFH 的有效地址空間之外。
#NM - 如果 CR0.EM = 1。
如果 CR0 中的 TS 設定為 1。
#UD - 如果 CPUID.PNI(ECX bit 0) = 0。
中斷 13 - 如果運算元的任何部分出現在從 0 到 0FFFFH 的有效地址空間之外。
#NM - 如果 CR0.EM = 1。
如果 CR0 中的 TS 設定為 1。
#UD - 如果 CPUID.PNI(ECX bit 0) = 0。
#PF(錯誤程式碼) - 頁錯誤。
#AC - 目前特權級別為 3 時的未對齊的記憶體引用。