
DocID13284 Rev 2
73/564
UM0404
The central processing unit (CPU)
Data paging is performed by concatenating the lower 14 bits of an indirect or direct, long 16
bit address with the contents of the DPP register, selected by the upper two bits of the 16-bit
address. The content of the selected DPP register specifies one of 1024 possible data
pages. This data page base address, together with the 14-bit page offset forms the physical
24-/20-/18-bit address. In case of non-segmented memory mode, only the two least
significant bits of the implicitly selected DPP register are used to generate the physical
address. Thus, extreme care should be taken when changing the content of a DPP register,
if a non-segmented memory model is selected, because unexpected results could occur.
In case of the segmented memory mode the selected number of segment address bits
(9...2, 5...2 or 3...2) of the respective DPP register is output on the segment address pins
A23/A19/A17/A16 of Port4 for all external data accesses. A DPP register can be updated
via any instruction, which is capable of modifying an SFR.
Due to the internal instruction pipeline, a new DPP value is not yet usable for the operand
address calculation of the instruction, immediately following the instruction updating the
DPP register.
Figure 13. Addressing via the data page pointers
3.4.9 The
context pointer CP
This non-bit-addressable register is used to select the current register context. This means
that the CP register value determines the address of the first General Purpose Register
(GPR) within the current register bank of up to 16 word wide and/or byte wide GPRs.
Data Pages
1023
1022
1021
3
2
1
0
DPP Registers
DPP3-11
DPP2-10
DPP1-01
DPP0-00
After reset or with segmentation disabled the DPP registers select data pages 3...0.
All of the internal memory is accessible in these cases.
14
15
0
16-bit Data Address
9
0
14-bit
10-bit
13
DPP register concatenated with 14-bit
Intra-Page Address gives 24-bit address.