FILD - 載入整數

操作碼

指令

說明

DF /0

FILD m16int

m16int 壓入 FPU 暫存器堆疊。

DB /0

FILD m32int

m32int 壓入 FPU 暫存器堆疊。

DF /5

FILD m64int

m64int 壓入 FPU 暫存器堆疊。

說明

將有符號整數源運算元轉換成擴充套件實數格式,並將值壓入 FPU 暫存器堆疊。源運算元可以是字、短整型或長整型值。它以沒有取整誤差的方式載入。源運算元的符號被保留。

操作

TOP TOP - 1;
ST(0) ExtendedReal(SRC);

影響的 FPU 標誌

C1 - 如果發生堆疊上溢,則設定為 1;否則清除為 0。

C0、C2、C3 - 未定義。

浮點異常

#IS - 發生堆疊上溢。

保護模式異常

#GP(0) - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。如果 DS、ES、FS 或 GS 暫存器包含空的段選擇器。

#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。

#NM - 如果 CR0 中的 EM 或 TS 設定為 1。

#PF(錯誤程式碼) - 如果發生頁錯誤。

#AC(0) - 如果在目前特權級別為 3 且啟用對齊檢查的情況下進行未對齊的記憶體引用。

實地址模式異常

#GP - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。

#SS - 如果記憶體運算元有效地址超出 SS 段限制。

#NM - 如果 CR0 中的 EM 或 TS 設定為 1。

虛 8086 模式異常

#GP(0) - 如果記憶體運算元有效地址超出 CS、DS、ES、FS 或 GS 段限制。

#SS(0) - 如果記憶體運算元有效地址超出 SS 段限制。

#NM - 如果 CR0 中的 EM 或 TS 設定為 1。

#PF(錯誤程式碼) - 如果發生頁錯誤。

#AC(0) - 如果在啟用對齊檢查的情況下進行未對齊的記憶體引用。