ST62T85B/E85B
MEMORY MAP (Cont’d)
1.3.5 Data Window Register (DWR)
Data Window Register (DWR)
The Data read-only memory window is located from Address: 0C9h — Write Only
address 0040h to address 007Fh in Data space. It
allows direct reading of 64 consecutive bytes locat-
7
0
ed anywhere in program memory, between ad-
dress 0000h and 1FFFh (top memory address de-
- DWR6 DWR5 DWR4 DWR3 DWR2 DWR1 DWR0
pends on the specific device). All the program
memory can therefore be used to store either in-
structions or read-only data. Indeed, the window Bits 7 = Not used.
can be moved in steps of 64 bytes along the pro-
gram memory by writing the appropriate code in the
Data Window Register (DWR).
Bit 6-0 = DWR6-DWR0: Data read-only memory
Window Register Bits. These are the Data read-
only memory Window bits that correspond to the
The DWR can be addressed like any RAM location upper bits of the data read-only memory space.
in the Data Space, it is however a write-only regis-
ter and therefore cannot be accessed using single-
bit operations. This register is used to position the
64-byte read-only data window (from address 40h
) to address 7Fh of the Data space) in program
t(s memory in 64-byte steps. The effective address of
the byte to be read as data in program memory is
c obtained by concatenating the 6 least significant
u bits of the register address given in the instruction
d (as least significant bits) and the content of the
ro DWR register (as most significant bits), as illustrat-
ed in Figure 5 below. For instance, when address-
P ing location 0040h of the Data Space, with 0 load-
te ed in the DWR register, the physical location ad-
dressed in program memory is 00h. The DWR reg-
le ister is not cleared on reset, therefore it must be
o written to prior to the first access to the Data read-
s only memory window area.
Caution: This register is undefined on reset. Nei-
ther read nor single bit instructions may be used to
address this register.
Note: Care is required when handling the DWR
register as it is write only. For this reason, the
DWR contents should not be changed while exe-
cuting an interrupt service routine, as the service
routine cannot save and then restore the register’s
previous contents. If it is impossible to avoid writ-
ing to the DWR during the interrupt service routine,
an image of the register must be saved in a RAM
location, and each time the program writes to the
DWR, it must also write to the image register. The
image register must be written first so that, if an in-
terrupt occurs between the two instructions, the
DWR is not affected.
Ob Figure 5. Data read-only memory Window Memory Addressing
) - DATA ROM
13 12 11 10 9 8 7 6 5 4 3 2 1 0 PROGRAM SPACE ADDRESS
t(s WINDOW REGISTER 7 6 5 4 3 2 1 0
READ
c CONTENTS
du (DWR)
5 4 3 2 1 0 DATA SPACE ADDRESS
01
40h-7Fh
ro IN INSTRUCTION
P Example:
Obsolete DWR=28h
0 10 10 0 0
DATA SPACE ADDRESS
01 0 1100 1
59h
ROM
ADDRESS:A19h
0 10 10 0 0 0 1 10 0 1
VR0A1573
12/78
12