Go to the first, previous, next, last section, table of contents.
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)'.
Go to the first, previous, next, last section, table of contents.