In this section:
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.