- register locking (i.e. disallow X writes during indexed traversal that uses X)
- compiler optimization
- when writing multiple, 16-bit address literals to memory, they may share the same high byte. if all writes are done by bouncing off the accumulator, you can save instructions by using the accumulator for the high byte once and writing multiple times