changes to allow express addresses in bytes and work with bytes extending or swaping bytes in a register