Mixing of Intel 32-bit Assembler and Fortran
Assembler programs should not alter registers EBX% (pointer to non-local dynamic
data), EBP% (pointer to local dynamic data), or ESP% (stack pointer). Other
general registers can be used freely.
The coprocessor will be empty and in rounding mode when control is passed to
assembler, and it must be in the same state afterwards.