<<<    Index    >>>
B-38
INSTRUCTION FORMATS AND ENCODINGS
FDIVR – Reverse Divide
ST(0) 
<
 32-bit memory ? ST(0)
11011 000 : mod 111 r/m
ST(0) 
<
 64-bit memory ? ST(0)
11011 100 : mod 111 r/m
ST(d) 
<
 ST(i) ? ST(0)
11011 d00 : 1111 R ST(i)
FDIVRP – Reverse Divide and Pop
ST(0) ? ST(i) ? ST(0)
11011 110 : 1111 0 ST(i)
FFREE – Free ST(i) Register
11011 101 : 1100 0 ST(i)
FIADD – Add Integer
ST(0) 
<
 ST(0) + 16-bit memory
11011 110 : mod 000 r/m
ST(0) 
<
 ST(0) + 32-bit memory
11011 010 : mod 000 r/m
FICOM – Compare Integer
16-bit memory
11011 110 : mod 010 r/m
32-bit memory
11011 010 : mod 010 r/m
FICOMP – Compare Integer and Pop
16-bit memory
11011 110 : mod 011 r/m
32-bit memory
11011 010 : mod 011 r/m
FIDIV
ST(0) 
<
 ST(0) + 16-bit memory
11011 110 : mod 110 r/m
ST(0) 
<
 ST(0) + 32-bit memory
11011 010 : mod 110 r/m
FIDIVR
ST(0) 
<
 ST(0) + 16-bit memory
11011 110 : mod 111 r/m
ST(0) 
<
 ST(0) + 32-bit memory
11011 010 : mod 111 r/m
FILD – Load Integer
16-bit memory
11011 111 : mod 000 r/m
32-bit memory
11011 011 : mod 000 r/m
64-bit memory
11011 111 : mod 101 r/m
FIMUL
ST(0) 
<
 ST(0) + 16-bit memory
11011 110 : mod 001 r/m
ST(0) 
<
 ST(0) + 32-bit memory
11011 010 : mod 001 r/m
FINCSTP – Increment Stack Pointer
11011 001 : 1111 0111
FINIT – Initialize Floating-Point Unit
FIST – Store Integer
16-bit memory
11011 111 : mod 010 r/m
32-bit memory
11011 011 : mod 010 r/m
FISTP – Store Integer and Pop
16-bit memory
11011 111 : mod 011 r/m
32-bit memory
11011 011 : mod 011 r/m
64-bit memory
11011 111 : mod 111 r/m
FISUB
ST(0) 
<
 ST(0) + 16-bit memory
11011 110 : mod 100 r/m
ST(0) 
<
 ST(0) + 32-bit memory
11011 010 : mod 100 r/m
Table B-23.  Floating-Point Instruction Formats and Encodings
Instruction and Format
Encoding
<<<    Index    >>>