S3F84B8_UM_REV 1.00
2 ADDRESS SPACES
2-14
2.4.1 COMMON WORKING REGISTER AREA (C0H–CFH)
After a reset, register pointers RP0 and RP1 automatically select two 8 byte register slices in set 1 (locations
C0H–CFH) as the active 16 byte working register block.
RP0
C0H–C7H
RP1
C8H–CFH
This 16 byte address range is called common area. The locations in this area can be used as working registers for
operations that address any location on any page in the register file. Typically, these working registers serve as
temporary buffers for data operations between different pages.
FFH
Page 1
Set 2
FFH
C0H
00H
BFH
Page 0
Set 2
Page 0
Prime
Space
FFH
FCH
E0H
D0H
C0H
Set 1
Following a hardware reset, register
pointers RP0 and RP1 point to the
common working register area,
locations C0H-CFH.
RP0 =
RP1 =
1 1 0 0
0 0 0 0
1 1 0 0
1 0 0 0
~
~
~
Figure 2-11 Common Working Register Area
Example 2-3 Addressing the Common Working Register Area
As shown in the following examples, you should access working registers in the common area (locations C0H–
CFH) using working register addressing mode only.
1. LD
0C2H, 40H
; Invalid addressing mode
Use working register addressing instead:
SRP
#0C0H
LD
R2, 40H
; R2 (C2H)
the value in location 40H
2. ADD 0C3H, #45H
; Invalid addressing mode
Use working register addressing instead:
SRP
#0C0H
ADD
R3, #45H
; R3 (C3H)
R3 + 45H