How can I save a cycle while loading the address of a Memory Mapped Register to a pointer?
If you want to load a 32-bit address in a single cycle, then you should try to group accesses such that you need to change only the lower 16 bits. You cannot do a native 32-bit write in a single cycle to the register, but you can load the lower 16 bits in one cycle. In this case, the upper 16 address bits of the MMR remains the same.