I preemptively apologize for asking a very elementary question; my searches did not quickly yield my answer.
I understand that when I want to access data from memory, the size of the instruction dictates what is read:
ex.
Code:
MOVE.L #0,D0
MOVE.L #0,D1
MOVE.L #0,D2
MOVE.L #0,D3
MOVE.L #524292,($40).L
MOVE.L ($40).L,D0
MOVE.W ($40).L,D1
MOVE.W D0,D2
MOVE.B D0,D3
I expect that this results in a filled D0:
54292 = 0000000000001000 0000000000000100
D0 = 0000000000001000 0000000000000100
and a half filled (lower order byte) D1 = 0000000000000000 0000000000001000
This is because the second move instruction reads 4 bytes and the first one reads only 2 bytes starting at address pointed to by the value stored at address $40.
My question is: when I read a word value from a filled register, is the higher order byte the one which is read (starting at the first byte at bit 31) or is the lower order byte the one that is read (starting at bit 15)? Alternately, would D2 contain #4 or #8?