Finally figured out what I was doing wrong. I was subtracting 8 from the addressing (thinking the address was in bits, and a byte is 8 bits). Eventually I subtracted 1 for each cell. For some maps, the cell size is 2 bytes (e.g LDRXN) So I just subtracted/added 2 for each offset cell.
I feel good