Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z

Vol. 2B B-97
INSTRUCTION FORMATS AND ENCODINGS
The Mod and R/M fields of the ModR/M byte have the same interpretation as the
corresponding fields of the integer instructions. The SIB byte and disp (displace-
ment) are optionally present in instructions that have Mod and R/M fields. Their pres-
ence depends on the values of Mod and R/M, as for integer instructions.
Table B-34 shows the formats and encodings of the floating-point instructions.
Table B-34. Floating-Point Instruction Formats and Encodings
Instruction and Format Encoding
F2XM1 – Compute 2
ST(0)
– 1 11011 001 : 1111 0000
FABS – Absolute Value 11011 001 : 1110 0001
FADD – Add
ST(0) ST(0) + 32-bit memory 11011 000 : mod 000 r/m
ST(0) ST(0) + 64-bit memory 11011 100 : mod 000 r/m
ST(d) ST(0) + ST(i) 11011 d00 : 11 000 ST(i)
FADDP – Add and Pop
ST(0) ST(0) + ST(i) 11011 110 : 11 000 ST(i)
FBLD – Load Binary Coded Decimal 11011 111 : mod 100 r/m
FBSTP – Store Binary Coded Decimal and Pop 11011 111 : mod 110 r/m
FCHS – Change Sign 11011 001 : 1110 0000
FCLEX – Clear Exceptions 11011 011 : 1110 0010
FCOM – Compare Real
32-bit memory 11011 000 : mod 010 r/m
64-bit memory 11011 100 : mod 010 r/m
ST(i) 11011 000 : 11 010 ST(i)
FCOMP – Compare Real and Pop
32-bit memory 11011 000 : mod 011 r/m
64-bit memory 11011 100 : mod 011 r/m
ST(i) 11011 000 : 11 011 ST(i)
FCOMPP – Compare Real and Pop Twice 11011 110 : 11 011 001
FCOMIP – Compare Real, Set EFLAGS, and Pop 11011 111 : 11 110 ST(i)
FCOS – Cosine of ST(0) 11011 001 : 1111 1111
FDECSTP – Decrement Stack-Top Pointer 11011 001 : 1111 0110
FDIV – Divide
ST(0) ST(0) ÷ 32-bit memory 11011 000 : mod 110 r/m