# Mnemonic Explicit Implicit Operands Encoding Flags, Prefixes, Set, Category, Class, RW map, Additional ops #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ # 0xD8 FPU instructions, mod mem FADD ST(0),Mfd X87STATUS [0xD8 /0:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMUL ST(0),Mfd X87STATUS [0xD8 /1:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOM ST(0),Mfd X87STATUS [0xD8 /2:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FCOMP ST(0),Mfd X87STATUS [0xD8 /3:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FSUB ST(0),Mfd X87STATUS [0xD8 /4:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FSUBR ST(0),Mfd X87STATUS [0xD8 /5:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIV ST(0),Mfd X87STATUS [0xD8 /6:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVR ST(0),Mfd X87STATUS [0xD8 /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FADD ST(0),ST(i) X87STATUS [0xD8 /0:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMUL ST(0),ST(i) X87STATUS [0xD8 /1:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOM ST(0),ST(i) X87STATUS [0xD8 /2:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FCOMP ST(0),ST(i) X87STATUS [0xD8 /3:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FSUB ST(0),ST(i) X87STATUS [0xD8 /4:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FSUBR ST(0),ST(i) X87STATUS [0xD8 /5:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIV ST(0),ST(i) X87STATUS [0xD8 /6:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVR ST(0),ST(i) X87STATUS [0xD8 /7:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m # 0xD9 FLD ST(0),Mfd X87STATUS [0xD9 /0:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FST Mfd,ST(0) X87STATUS [0xD9 /2:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FSTP Mfd,ST(0) X87STATUS [0xD9 /3:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FLDENV Mfe X87STATUS [0xD9 /4:mem] s:X87, t:X87_ALU, w:R|W, u:C0=m|C1=m|C2=m|C3=m FLDCW Mw X87CONTROL,X87STATUS [0xD9 /5:mem] s:X87, t:X87_ALU, w:R|W|W, u:C0=u|C1=u|C2=u|C3=u FNSTENV Mfe X87STATUS [0xD9 /6:mem] s:X87, t:X87_ALU, w:W|W, u:C0=u|C1=u|C2=u|C3=u FNSTCW Mw X87CONTROL,X87STATUS [0xD9 /7:mem] s:X87, t:X87_ALU, w:W|R|W, u:C0=u|C1=u|C2=u|C3=u FNOP nil nil [0xD9 /0xD0] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u FCHS nil X87STATUS [0xD9 /0xE0] s:X87, t:X87_ALU, w:W, u:C1=0 FABS nil X87STATUS [0xD9 /0xE1] s:X87, t:X87_ALU, w:W, u:C1=0 FTST nil X87STATUS [0xD9 /0xE4] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m FXAM nil X87STATUS [0xD9 /0xE5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m FLD1 nil X87STATUS [0xD9 /0xE8] s:X87, t:X87_ALU, w:W, u:C1=m FLDL2T nil X87STATUS [0xD9 /0xE9] s:X87, t:X87_ALU, w:W, u:C1=m FLDL2E nil X87STATUS [0xD9 /0xEA] s:X87, t:X87_ALU, w:W, u:C1=m FLDPI nil X87STATUS [0xD9 /0xEB] s:X87, t:X87_ALU, w:W, u:C1=m FLDLG2 nil X87STATUS [0xD9 /0xEC] s:X87, t:X87_ALU, w:W, u:C1=m FLDLN2 nil X87STATUS [0xD9 /0xED] s:X87, t:X87_ALU, w:W, u:C1=m FLDZ nil X87STATUS [0xD9 /0xEE] s:X87, t:X87_ALU, w:W, u:C1=m F2XM1 nil X87STATUS [0xD9 /0xF0] s:X87, t:X87_ALU, w:W, u:C1=m FYL2X nil X87STATUS [0xD9 /0xF1] s:X87, t:X87_ALU, w:W, u:C1=m FPTAN nil X87STATUS [0xD9 /0xF2] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m FPATAN nil X87STATUS [0xD9 /0xF3] s:X87, t:X87_ALU, w:W, u:C1=m FXTRACT nil X87STATUS [0xD9 /0xF4] s:X87, t:X87_ALU, w:W, u:C1=m FPREM1 nil X87STATUS [0xD9 /0xF5] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m FDECSTP nil X87STATUS [0xD9 /0xF6] s:X87, t:X87_ALU, w:W, u:C1=0 FINCSTP nil X87STATUS [0xD9 /0xF7] s:X87, t:X87_ALU, w:W, u:C1=0 FPREM nil X87STATUS [0xD9 /0xF8] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m FYL2XP1 nil X87STATUS [0xD9 /0xF9] s:X87, t:X87_ALU, w:W, u:C1=m FSQRT nil X87STATUS [0xD9 /0xFA] s:X87, t:X87_ALU, w:W, u:C1=m FSINCOS nil X87STATUS [0xD9 /0xFB] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m FRNDINT nil X87STATUS [0xD9 /0xFC] s:X87, t:X87_ALU, w:W, u:C1=m FSCALE nil X87STATUS [0xD9 /0xFD] s:X87, t:X87_ALU, w:W, u:C1=m FSIN nil X87STATUS [0xD9 /0xFE] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m FCOS nil X87STATUS [0xD9 /0xFF] s:X87, t:X87_ALU, w:W, u:C1=m|C2=m FLD ST(0),ST(i) X87STATUS [0xD9 /0:reg] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FXCH ST(0),ST(i) X87STATUS [0xD9 /1:reg] s:X87, t:X87_ALU, w:RW|RW|W, u:C1=0 FSTPNCE ST(i),ST(0) X87STATUS [0xD9 /3:reg] s:X87, t:X87_ALU, w:W|R|W # 0xDA FIADD ST(0),Md X87STATUS [0xDA /0:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIMUL ST(0),Md X87STATUS [0xDA /1:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FICOM ST(0),Md X87STATUS [0xDA /2:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m FICOMP ST(0),Md X87STATUS [0xDA /3:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m FISUB ST(0),Md X87STATUS [0xDA /4:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FISUBR ST(0),Md X87STATUS [0xDA /5:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIDIV ST(0),Md X87STATUS [0xDA /6:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIDIVR ST(0),Md X87STATUS [0xDA /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FUCOMPP nil X87STATUS [0xDA /0xE9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=m|C2=m|C3=m FCMOVB ST(0),ST(i) X87STATUS,Fv [0xDA /0:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t, u:C1=m FCMOVE ST(0),ST(i) X87STATUS,Fv [0xDA /1:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:ZF=t, u:C1=m FCMOVBE ST(0),ST(i) X87STATUS,Fv [0xDA /2:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t|ZF=t, u:C1=m FCMOVU ST(0),ST(i) X87STATUS,Fv [0xDA /3:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:PF=t, u:C1=m # 0xDB FILD ST(0),Md X87STATUS [0xDB /0:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTTP Md,ST(0) X87STATUS [0xDB /1:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=0 FIST Md,ST(0) X87STATUS [0xDB /2:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTP Md,ST(0) X87STATUS [0xDB /3:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FLD ST(0),Mft X87STATUS [0xDB /5:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FSTP Mft,ST(0) X87STATUS [0xDB /7:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FNOP nil nil [0xDB /0xE0] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u FNDISI nil nil [0xDB /0xE1] s:X87, t:X87_ALU, w:W FNCLEX nil X87STATUS [0xDB /0xE2] s:X87, t:X87_ALU, w:W FNINIT nil X87CONTROL,X87TAG,X87STATUS [0xDB /0xE3] s:X87, t:X87_ALU, w:W|W|W, u:C0=0|C1=0|C2=0|C3=0 FNOP nil nil [0xDB /0xE4] s:X87, t:X87_ALU, u:C0=u|C1=u|C2=u|C3=u FCMOVNB ST(0),ST(i) X87STATUS,Fv [0xDB /0:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t, u:C1=m FCMOVNE ST(0),ST(i) X87STATUS,Fv [0xDB /1:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:ZF=t, u:C1=m FCMOVNBE ST(0),ST(i) X87STATUS,Fv [0xDB /2:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:CF=t|ZF=t, u:C1=m FCMOVNU ST(0),ST(i) X87STATUS,Fv [0xDB /3:reg] s:X87, t:X87_ALU, w:CW|R|RW|W, f:PF=t, u:C1=m FUCOMI ST(0),ST(i) X87STATUS,Fv [0xDB /5:reg] s:X87, t:X87_ALU, w:R|R|RW|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m FCOMI ST(0),ST(i) X87STATUS,Fv [0xDB /6:reg] s:X87, t:X87_ALU, w:R|R|RW|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m # 0xDC FADD ST(0),Mfq X87STATUS [0xDC /0:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMUL ST(0),Mfq X87STATUS [0xDC /1:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOM ST(0),Mfq X87STATUS [0xDC /2:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FCOMP ST(0),Mfq X87STATUS [0xDC /3:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FSUB ST(0),Mfq X87STATUS [0xDC /4:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FSUBR ST(0),Mfq X87STATUS [0xDC /5:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIV ST(0),Mfq X87STATUS [0xDC /6:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVR ST(0),Mfq X87STATUS [0xDC /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FADD ST(i),ST(0) X87STATUS [0xDC /0:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMUL ST(i),ST(0) X87STATUS [0xDC /1:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOM ST(0),ST(i) X87STATUS [0xDC /2:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FCOMP ST(0),ST(i) X87STATUS [0xDC /3:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=0|C2=m|C3=m FSUBR ST(i),ST(0) X87STATUS [0xDC /4:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FSUB ST(i),ST(0) X87STATUS [0xDC /5:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVR ST(i),ST(0) X87STATUS [0xDC /6:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIV ST(i),ST(0) X87STATUS [0xDC /7:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m # 0xDD FLD ST(0),Mfq X87STATUS [0xDD /0:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTTP Mq,ST(0) X87STATUS [0xDD /1:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=0 FST Mfq,ST(0) X87STATUS [0xDD /2:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FSTP Mfq,ST(0) X87STATUS [0xDD /3:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FRSTOR Mfs X87CONTROL [0xDD /4:mem] s:X87, t:X87_ALU, w:R|W, u:C0=m|C1=m|C2=m|C3=m FNSAVE Mfs X87CONTROL,X87TAG,X87STATUS [0xDD /6:mem] s:X87, t:X87_ALU, w:W|RW|RW|W, u:C0=0|C1=0|C2=0|C3=0 FNSTSW Mw X87STATUS [0xDD /7:mem] s:X87, t:X87_ALU, w:W|W, u:C0=u|C1=u|C2=u|C3=u FFREE ST(i) X87TAG [0xDD /0:reg] s:X87, t:X87_ALU, w:R|W, u:C0=u|C1=u|C2=u|C3=u FXCH ST(0),ST(i) X87STATUS [0xDD /1:reg] s:X87, t:X87_ALU, w:W|R|W, u:C1=0 FST ST(i),ST(0) X87STATUS [0xDD /2:reg] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FSTP ST(i),ST(0) X87STATUS [0xDD /3:reg] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FUCOM ST(0),ST(i) X87STATUS [0xDD /4:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m FUCOMP ST(0),ST(i) X87STATUS [0xDD /5:reg] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m # 0xDE FIADD ST(0),Mw X87STATUS [0xDE /0:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIMUL ST(0),Mw X87STATUS [0xDE /1:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FICOM ST(0),Mw X87STATUS [0xDE /2:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m FICOMP ST(0),Mw X87STATUS [0xDE /3:mem] s:X87, t:X87_ALU, w:R|R|W, u:C0=m|C1=m|C2=m|C3=m FISUB ST(0),Mw X87STATUS [0xDE /4:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FISUBR ST(0),Mw X87STATUS [0xDE /5:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIDIV ST(0),Mw X87STATUS [0xDE /6:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FIDIVR ST(0),Mw X87STATUS [0xDE /7:mem] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOMPP nil X87STATUS [0xDE /0xD9] s:X87, t:X87_ALU, w:W, u:C0=m|C1=0|C2=m|C3=m FADDP ST(i),ST(0) X87STATUS [0xDE /0:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FMULP ST(i),ST(0) X87STATUS [0xDE /1:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FCOMP ST(0),ST(i) X87STATUS [0xDE /2:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C0=m|C1=0|C2=m|C3=m FSUBRP ST(i),ST(0) X87STATUS [0xDE /4:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FSUBP ST(i),ST(0) X87STATUS [0xDE /5:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVRP ST(i),ST(0) X87STATUS [0xDE /6:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m FDIVP ST(i),ST(0) X87STATUS [0xDE /7:reg] s:X87, t:X87_ALU, w:RW|R|W, u:C1=m # 0xDF FILD ST(0),Mw X87STATUS [0xDF /0:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTTP Mw,ST(0) X87STATUS [0xDF /1:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=0 FIST Mw,ST(0) X87STATUS [0xDF /2:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTP Mw,ST(0) X87STATUS [0xDF /3:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FBLD ST(0),Mfa X87STATUS [0xDF /4:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FILD ST(0),Mq X87STATUS [0xDF /5:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FBSTP Mfa,ST(0) X87STATUS [0xDF /6:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FISTP Mq,ST(0) X87STATUS [0xDF /7:mem] s:X87, t:X87_ALU, w:W|R|W, u:C1=m FFREEP ST(i) X87TAG [0xDF /0:reg] s:X87, t:X87_ALU, w:R|W FXCH ST(0),ST(i) X87TAG [0xDF /1:reg] s:X87, t:X87_ALU, w:R|W|W, u:C1=0 FSTP ST(i),ST(0) X87STATUS [0xDF /2:reg] s:X87, t:X87_ALU, w:R|W|W, u:C1=m FSTP ST(i),ST(0) X87STATUS [0xDF /3:reg] s:X87, t:X87_ALU, w:R|W|W, u:C1=m FNSTSW AX X87STATUS [0xDF /0xE0] s:X87, t:X87_ALU, w:W|W, u:C0=u|C1=u|C2=u|C3=u FSTDW AX nil [0xDF /0xE1] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u, m:NO64 FSTSG AX nil [0xDF /0xE2] s:X87, t:X87_ALU, w:W, u:C0=u|C1=u|C2=u|C3=u FUCOMIP ST(0),ST(i) X87STATUS,Fv [0xDF /5:reg] s:X87, t:X87_ALU, w:R|R|W|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m FCOMIP ST(0),ST(i) X87STATUS,Fv [0xDF /6:reg] s:X87, t:X87_ALU, w:R|R|W|W, f:CF=m|PF=m|ZF=m|OF=0, u:C0=m|C1=0|C2=m|C3=m FRINEAR nil nil [0xDF /0xFC] s:X87, t:X87_ALU