"Оптимизация для PENTIUM процессора" - читать интересную книгу автора

FNSTSW AX/m16 6 np 0 0
FLDCW m16 8 np 0 0
FNSTCW m16 2 np 0 0

FADD(P) r/m 3 + 2 2
FSUB(R)(P) r/m 3 + 2 2
FMUL(P) r/m 3 + 2 2 и)
FDIV(R)(P) r/m 19/33/39 м) + к) 38 л) 2
FCHS FABS 1 + 0 0
FCOM(P)(P) FUCOM r/m 1 + 0 0
FIADD FISUB(R) m 6 np 2 2
FIMUL m 6 np 2 2
FIDIV(R) m 22/36/42 м) np 38 л) 2
FICOM m 4 np 0 0
FTST 1 np 0 0
FXAM 17 np 4 0
FPREM 16-64 np 2 2
FPREM1 20-70 np 2 2
FRNDINT 19 np 0 0
FSCALE 32 np 5 0
FXTRACT 12-66 np 0 0

FSQRT 70 np 69 л) 2
FSIN FCOS FSINCOS варьируется np 2 2
F2XM1 FYL2X FYL2XP1 варьируется np 2 2
FPATAN варьируется np 2 2
FPTAN варьируется np 36 л) 0

FNOP 2 np 0 0
FXCH r 1 np 0 0
FINCSTP FDECSTP 2 np 0 0
FFREE r 2 np 0 0
FNCLEX 6-9 np 0 0
FNINIT 22 np 0 0
FNSAVE m около 300 np 0 0
FRSTOR m 73 np 0 0
WAIT 1 np 0 0
-----------------------------------------------------------------------------
Пояснения:
з) Что бы загрузить значение требуется один такт заранее.
и) 1, если перекрывается, например как FMUL
к) Если за инструкцией FXCH следует целочисленная инструкция, то спаривание
будет не полным, на один такт больше, так что целочисленная инструкция
начнется в 3 такта.
л) Не может перекрыться с инструкцией целочисленного умножения.
м) FDIV исполниться за 19, 33, 39 тактов, если операнд имеет точность 24, 53
и 64 бита соответственно. FIDIV потребуется на 3 такта больше. Точность
определяется 8-9 битами слова управления операциями с плавающей точкой.