Avoid using EAX as a temporary where possible.

All the regs should be indirect addressing compatible.  So if it's
in a reg, let's use that instead of EAX.
Optimize write to a single x64 op too.