The 'print' macros are preserving the registers.

Or at least ax, bx, cx and dx :P