XA User Guide 3-5 3/24/97
3.3.1 Bytes, Words, and Alignment
XA memory is addressed in units of bytes, where each byte consists of 8 bits. A word consists of
two bytes, and the word storage order is “Little-Endian”, that is, the less significant byte of word
data is located at a lower memory address. See Figure 3.4.
Any word access must be aligned at an even address (Address bit A0=0). If an odd-aligned word
access is attempted the word at the next-smallest even address will be accessed, that is, A0 will
be set to 0.
The external XA memory spaces may be accessed in byte or word units but the hardware access
method does not affect the even alignment restriction on word accesses.
3.4 Data Memory
The data memory space starts at address 0 and extends to the highest valid address in the
implementation, at maximum, FFFFFFh. As will be described below, the data memory space is
segmented into 256 segments of 64K bytes each. External Data Memory starts at the first address
following the highest Internal Data Memory location. In general, at least 512 bytes of Internal
Data Memory, starting at location 0, will be provided in all XA implementations; however, there
is no inherent minimum or maximum architectural limitation on Internal Data Memory.
The upper 16 segments of data memory (addresses F0:0000 through FF:FFFF hexadecimal) are
reserved for special functions in XA derivatives. A similar range is reserved in the code memory
space, see section 3.5.
3.4.1 Alignment in Data Memory
There are no data memory alignment restrictions except that placed on word accesses to all
memory: Words must be fetched from even addresses. An attempt to fetch a word at an odd
address will fetch a word from the preceding even address.
3.4.2 External and Internal Overlap
If External Data Memory is placed by external logic at addresses that overlaps Internal Data
Memory, the Internal Data Memory generally takes precedence. The overlapped portion of the
External memory may be accessed only by using a form of the MOVX instruction; see
Chapter 6. The use of MOVX always forces external data memory fetch in XA. For non-
overlapped portion of external data memory, no MOVX is required.
Figure 3.4 Memory byte order
address
n
n + 1
L.S. Byte
M.S. Byte
A0
0
1
WORD at address n