The memory width gets set to Hi8, which makes it so that the source byte gets stored at addr + 1 instead of addr.
Currently, memory is word-addressable, and is only pseudo byte-addressable because I read out a word, change a byte, and write back a word. I should really have byte-addressable load/store functions in addition to word-addressable load/store functions.