The common calling conventions for IA-32 say:
• Callee-save registers %ebx, %esi, %edi, %ebp, %esp Callee must not change these. (Or restore the caller\'s v
In short, caller save are because of argument passing. Everything else is callee save.