
6
6-
3
P
R
E
L
IM
IN
A
R
Y
F
P
U
In
str
u
cti
o
n
C
lo
ck
C
o
u
n
ts
FLD Load Data to FPU Reg.
Top of Stack
64-bit Real
32-bit Real
FBLD Load Packed BCD Data to FPU Reg.
FILD Load Integer Data to FPU Reg.
64-bit Integer
32-bit Integer
16-bit Integer
D9 [1100 0 n]
DD [mod 000 r/m]
D9 [mod 000 r/m]
DF [mod 100 r/m]
DF [mod 101 r/m]
DB [mod 000 r/m]
DF [mod 000 r/m]
Push ST(n) onto stack
Push M.DR onto stack
Push M.SR onto stack
Push M.BCD onto stack
Push M.LI onto stack
Push M.SI onto stack
Push M.WI onto stack
2
41 - 45
4 - 8
4 - 6
3 - 6
FLD1 Load Floating Const.= 1.0
D9 E8
Push 1.0 onto stack
4
FLDCW Load FPU Mode Control Register
FLDENV Load FPU Environment
D9 [mod 101 r/m]
D9 [mod 100 r/m]
Ctl Word
Env Regs
<------------
Memory
4
30
FLDL2E Load Floating Const.= Log2(e)
FLDL2T Load Floating Const.= Log2(10)
FLDLG2 Load Floating Const.= Log10(2)
FLDLN2 Load Floating Const.= Ln(2)
FLDPI Load Floating Const.=
π
FLDZ Load Floating Const.= 0.0
D9 EA
D9 E9
D9 EC
D9 ED
D9 EB
D9 EE
Push Log2(e) onto stack
Push Log2(10) onto stack
Push Log10(2) onto stack
Push Loge(2) onto stack
Push
π onto stack
Push 0.0 onto stack
4
FMUL Floating Point Multiply
Top of Stack
80-bit Register
64-bit Real
32-bit Real
FMULP Floating Point Multiply & Pop
FIMUL Floating Point Integer Multiply
32-bit Integer
16-bit Integer
DC [1100 1 n]
D8 [1100 1 n]
DC [mod 001 r/m]
D8 [mod 001 r/m]
DE [1100 1 n]
DA [mod 001 r/m]
DE [mod 001 r/m]
ST(n)
TOS
ST(n)
TOS
<------------
ST(n)
× TOS
TOS
× ST(n)
TOS
× M.DR
TOS
× M.SR
ST(n)
× TOS; then pop TOS
TOS
× M.SI
TOS
× M.WI
4 - 6
4 - 5
4 - 6
9 - 11
8 - 10
FNOP No Operation
D9 D0
No Operation
2
FPATAN Function Eval: Tan
-1(y/x)
FPREM Floating Point Remainder
FPREM1 Floating Point Remainder IEEE
FPTAN Function Eval: Tan(x)
FRNDINT Round to Integer
D9 F3
D9 F8
D9 F5
D9 F2
D9 FC
ST(1)
TOS
<------------
ATAN[ST(1) / TOS]; then pop TOS
Rem[TOS / ST(1)]
TAN(TOS); then push 1.0 onto stack
Round(TOS)
97 - 161
82 - 91
117 - 129
10 - 20
See Note 3
See Note 1
FRSTOR Load FPU Environment and Reg.
FSAVE Save FPU Environment and Reg
FNSAVE Save FPU Environment and Reg
DD [mod 100 r/m]
(9B)DD[mod 110 r/m]
DD [mod 110 r/m]
Restore state.
Wait then save state.
Save state.
56 - 72
57 - 67
55 - 65
FSCALE Floating Multiply by 2
n
FSIN Function Evaluation: Sin(x)
D9 FD
D9 FE
TOS
<------------
TOS
× 2(ST(1))
SIN(TOS)
7 - 14
76 - 140
See Note 1
FSINCOS Function Eval.: Sin(x)& Cos(x)
D9 FB
temp
TOS
<------------
TOS;
SIN(temp); then
145 - 161
See Note 1
push COS(temp) onto stack
FSQRT Floating Point Square Root
D9 FA
TOS <------------ Square Root of TOS
59 - 60
Table 6-23. M II FPU Instruction Set Summary
(Continued)
FPU INSTRUCTION
OP CODE
OPERATION
CLOCK COUNT
NOTES