32-Byte Windowing Example; Unsupported Locations Windowing Example - Intel 8XC196MC User Manual

Table of Contents

Advertisement

8XC196MC, MD, MH USER'S MANUAL
Appendix C includes a table of the windowable SFRs with the WSR values and direct addresses
for each window size. The following examples explain how to determine the WSR value and di-
rect address for any windowable location. An additional example shows how to set up a window
by using the linker locator.
4.2.2.1

32-byte Windowing Example

Assume that you wish to access location 014BH (a location in the upper register file used for gen-
eral-purpose register RAM) with register-direct addressing through a 32-byte window. Table 4-11
on page 4-15 shows that you need to write 4AH to the window selection register. It also shows
that the base address of the 32-byte memory area is 0140H. To determine the offset, subtract that
base address from the address to be accessed (014BH – 0140H = 000BH). Add the offset to the
base address of the window in the lower register file (00E0H, from Table 4-12). The direct ad-
dress is 00EBH (000BH + 00E0H).
4.2.2.2
64-byte Windowing Example
Assume that you wish to access the WG_CONTROL register (location 1FCCH) with register-di-
rect addressing through a 64-byte window. Table 4-11 shows that you need to write 3FH to the
window selection register. It also shows that the base address of the 64-byte memory area is
1FC0H. To determine the offset, subtract that base address from the address to be accessed
(1FCCH – 1FC0H = 000CH). Add the offset to the base address of the window in the lower reg-
ister file (00C0H, from Table 4-12). The direct address is 00CCH (000CH + 00C0H).
4.2.2.3
128-byte Windowing Example
Assume that you wish to access location 1F42H (the EPA0_TIME register) with register-direct
addressing through a 128-byte window. Table 4-11 shows that you need to write 1EH to the win-
dow selection register. It also shows that the base address of the 128-byte memory area is 1F00H.
To determine the offset, subtract that base address from the address to be accessed (1F42H –
1F00H = 0042H). Add the offset to the base address of the window in the lower register file
(0080H, from Table 4-12). The direct address is 00C2H (0042H + 0080H).
4.2.2.4

Unsupported Locations Windowing Example

Assume that you wish to access location 1FF1H (the P5_MODE register, a memory-mapped
SFR) with register-direct addressing through a 128-byte window. This location is in the range of
addresses (1FE0–1FFFH) that cannot be windowed. Although you could set up the window by
writing 1FH to the WSR, reading this location through the window would return FFH (all ones)
and writing to it would not change the contents. However, you could access the peripheral SFRs
in the range of 1F80–1FDFH with their windowed direct addresses.
4-16
Get other manuals https://www.bkmanuals.com

Advertisement

Table of Contents
loading

This manual is also suitable for:

8xc196md8xc196mh

Table of Contents