ARM Block data transfer

Basic work is done, but it appears that there is some quirky behavior
behind some of the block transfers that may still need to be implemented