Copyright (C) 2000-2012 |
GNU Info (nasm.info)Section B.4.108B.4.108. `FUCOMxx': Floating-Point Unordered Compare ---------------------------------------------------- FUCOM fpureg ; DD E0+r [386,FPU] FUCOM ST0,fpureg ; DD E0+r [386,FPU] FUCOMP fpureg ; DD E8+r [386,FPU] FUCOMP ST0,fpureg ; DD E8+r [386,FPU] FUCOMPP ; DA E9 [386,FPU] FUCOMI fpureg ; DB E8+r [P6,FPU] FUCOMI ST0,fpureg ; DB E8+r [P6,FPU] FUCOMIP fpureg ; DF E8+r [P6,FPU] FUCOMIP ST0,fpureg ; DF E8+r [P6,FPU] * `FUCOM' compares `ST0' with the given operand, and sets the FPU flags accordingly. `ST0' is treated as the left-hand side of the comparison, so that the carry flag is set (for a `less-than' result) if `ST0' is less than the given operand. * `FUCOMP' does the same as `FUCOM', but pops the register stack afterwards. `FUCOMPP' compares `ST0' with `ST1' and then pops the register stack twice. * `FUCOMI' and `FUCOMIP' work like the corresponding forms of `FUCOM' and `FUCOMP', but write their results directly to the CPU flags register rather than the FPU status word, so they can be immediately followed by conditional jump or conditional move instructions. The `FUCOM' instructions differ from the `FCOM' instructions (*Note Section B.4.73::) only in the way they handle quiet NaNs: `FUCOM' will handle them silently and set the condition code flags to an `unordered' result, whereas `FCOM' will generate an exception. automatically generated by info2www version 1.2.2.9 |