8XC196NP, 80C196NU USER’S MANUAL
5-18
Appendix C includes a table of the windowable SFRs with the window selection register values
and direct addresses for each window size. The following examples explain how to determine the
WSR value and direct address for any windowable location. An additional example shows how
to set up a window by using the linker locator.
5.3.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 direct addressing through a 32-byte window. Table 5-10 on page
5-17 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 ad-
dress from the address to be accessed (014BH – 0140H = 000BH). Add the offset to the base ad-
dress of the window in the lower register file (from Table 5-11). The direct address is 00EBH
(000BH + 00E0H) for a WSR window or 006BH (000BH + 0060H) for a WSR1 window.
5.3.2.2 64-byte Windowing Example
Assume that you wish to access the SFR at location 1F8CH with direct addressing through a 64-
byte window. Table 5-10 on page 5-17 shows that you need to write 3EH to the window selection
register. It also shows that the base address of the 64-byte memory area is 1F80H. To determine
the offset, subtract that base address from the address to be accessed (1F8CH – 1F80H = 000CH).
Add the offset to the base address of the window in the lower register file (from Table 5-11). The
direct address is 00CCH (000CH + 00C0H) for a WSR window or 004CH (000CH + 0040H) for
a WSR1 window.
5.3.2.3 128-byte Windowing Example
Assume that you wish to access the SFR at location 1F82H with direct addressing through a 128-
byte window. Table 5-11 on page 5-18 shows that you need to write 1FH to the window selection
register. It also shows that the base address of the 128-byte memory area is 1F80H. To determine
the offset, subtract that base address from the address to be accessed (1F82H – 1F80H = 0002H).
Add the offset to the base address of the window in the lower register file (from Table 5-11). The
direct address is 0082H (0002H + 0080H).
Table 5-11. Windowed Base Addresses
Window Size
WSR Windowed Base Address
(Base Address in Lower Register File)
WSR1 Windowed Base Address
(Base Address in Lower Register File)
80C196NU Only
32-byte 00E0H 0060H
64-byte 00C0H 0040H
128-byte 0080H —