All 80387 floating point types except packed BCD are supported.
(BCD support may be added without much difficulty). These data
types are 16-, 32-, and 64- bit integers, and single (32-bit),
double (64-bit), and extended (80-bit) precision floating point.
Each supported type has an opcode suffix and a constructor
associated with it. Opcode suffixes specify operand's data
types. Constructors build these data types into memory.
Floating point constructors are `.float' or `.single',
`.double', and `.tfloat' for 32-, 64-, and 80-bit formats.
These correspond to opcode suffixes `s', `l', and `t'.
`t' stands for temporary real, and that the 80387 only supports
this format via the `fldt' (load temporary real to stack top) and
`fstpt' (store temporary real and pop stack) instructions.
Integer constructors are `.word', `.long' or `.int', and
`.quad' for the 16-, 32-, and 64-bit integer formats. The corresponding
opcode suffixes are `s' (single), `l' (long), and `q'
(quad). As with the temporary real format the 64-bit `q' format is
only present in the `fildq' (load quad integer to stack top) and
`fistpq' (store quad integer and pop stack) instructions.
Register to register operations do not require opcode suffixes,
so that `fst %st, %st(1)' is equivalent to `fstl %st, %st(1)'.
This document was generated
by root on January, 30 2002
using texi2html