Eigentlich ist es wurst, welchen Adress-Pin du wo anhängst.
Jede adresse hat 15 Bit, die eindeutig irgendeinen Speichplatz bezeichnen, und ob deine BYtes physisch aufsteigend oder durcheinander im Speicher liegen, ist egal. Genauso ist es mit den Daten-bits. Haupsache, z.b D3 kriegt beim Lesen das, was er beim Schreiben dort hingeschickt hat.

Programm bleibt stehen: Da es keine Rückmeldungen vom Speicher gibt, auf die man warten und dann hängenbleiben könnte, muss das einen anderen Grund haben. Ich les mir jetzt das mit dem XRAM beim 162-er im datasheet mal durch, ob es da irgendwelche weisheiten gibt.