Assembly Language for Beginners

(nextflipdebug2) #1

.1. X86


FCOMPPcompare ST(0) with ST(1); pop two elements from the stack


FDIVRop: ST(0)=op/ST(0)


FDIVRST(i), ST(j): ST(i)=ST(j)/ST(i)


FDIVRPop: ST(0)=op/ST(0); pop one element from the stack


FDIVRPST(i), ST(j): ST(i)=ST(j)/ST(i); pop one element from the stack


FDIVop: ST(0)=ST(0)/op


FDIVST(i), ST(j): ST(i)=ST(i)/ST(j)


FDIVPST(1)=ST(0)/ST(1); pop one element from the stack, i.e., the dividend and divisor values in the
stack are replaced by quotient


FILDop: convert integer and push it to the stack.


FISTop: convert ST(0) to integer op


FISTPop: convert ST(0) to integer op; pop one element from the stack


FLD1push 1 to stack


FLDCWop: load FPU control word (.1.3 on page 1023) from 16-bit op.


FLDZpush zero to stack


FLDop: push op to the stack.


FMULop: ST(0)=ST(0)*op


FMULST(i), ST(j): ST(i)=ST(i)*ST(j)


FMULPop: ST(0)=ST(0)*op; pop one element from the stack


FMULPST(i), ST(j): ST(i)=ST(i)*ST(j); pop one element from the stack


FSINCOS: tmp=ST(0); ST(1)=sin(tmp); ST(0)=cos(tmp)


FSQRT:ST(0) =



ST(0)

FSTCWop: store FPU control word (.1.3 on page 1023) into 16-bit op after checking for pending excep-
tions.


FNSTCWop: store FPU control word (.1.3 on page 1023) into 16-bit op.


FSTSWop: store FPU status word (.1.3 on page 1024) into 16-bit op after checking for pending excep-
tions.


FNSTSWop: store FPU status word (.1.3 on page 1024) into 16-bit op.


FSTop: copy ST(0) to op


FSTPop: copy ST(0) to op; pop one element from the stack


FSUBRop: ST(0)=op-ST(0)


FSUBRST(0), ST(i): ST(0)=ST(i)-ST(0)


FSUBRPST(1)=ST(0)-ST(1); pop one element from the stack, i.e., the value in the stack is replaced by
the difference


FSUBop: ST(0)=ST(0)-op


FSUBST(0), ST(i): ST(0)=ST(0)-ST(i)


FSUBPST(1)=ST(1)-ST(0); pop one element from the stack, i.e., the value in the stack is replaced by the
difference


FUCOMST(i): compare ST(0) and ST(i)


FUCOMcompare ST(0) and ST(1)


FUCOMPcompare ST(0) and ST(1); pop one element from stack.


FUCOMPPcompare ST(0) and ST(1); pop two elements from stack.


The instructions perform just like FCOM, but an exception is raised only if one of the operands is
SNaN, while QNaN numbers are processed smoothly.

FXCHST(i) exchange values in ST(0) and ST(i)

Free download pdf