Volatile Registers
By convention, some registers may be designated:
We will use the registers %eax, %ecx, %edx, and %ebx; %ebx is callee-saved, but is saved in the preamble and restored in the postamble.
Any floating values that need to be preserved across a call must be saved on the stack prior to the call and restored afterwards. Routines are provided to save one floating register on the stack and restore it.