it's fine to use movem (ldm) to help copy several words at once, but if words loaded are subsequently stored by single MOVs as they can be, the registers need to be allocated so the result is in the original order.