Using The Register Points (Rp) - Samsung S3F84B8 User Manual

8-bit cmos
Hide thumbs Also See for S3F84B8:
Table of Contents

Advertisement

S3F84B8_UM_REV 1.00

2.3.2 USING THE REGISTER POINTS (RP)

Register pointers RP0 and RP1, mapped to addresses D6H and D7H in set 1, are used to select two movable 8
byte working register slices in the register file. After a reset, they point to the working register common area: RP0
points to addresses C0H–C7H, and RP1 points to addresses C8H–CFH.
To change a register pointer value, you load a new value to RP0 and/or RP1 using an SRP or LD instruction (see
and
Figure 2-7
Figure
Using working register addressing, you can only access two 8-bit slices of the register file that are currently
pointed by RP0 and RP1. However, you cannot use the register pointers to select a working register space in set
2, C0H–FFH, because these locations can be accessed by only using the Indirect Register or Indexed addressing
modes.
Usually, the selected 16 byte working register block consists of two contiguous 8 byte slices. As a general
programming guideline, it is recommended that RP0 point to the "lower" slice and RP1 point to the "upper" slice
(see
2-7). In some cases, it may be necessary to define working register areas in different (non-
Figure
contiguous) areas of the register file. In
respectively.
Since a register pointer can point to either of the two 8 byte slices in the working register block, you can define the
working register area to support program requirements.
SRP
SRP1
SRP0
CLR
LD
0 0 0 0 1 X X X
RP1
0 0 0 0 0 X X X
RP0
2-8).
Figure
Example 2-1
#70H
#48H
#0A0H
RP0
RP1, #0F8H
Figure 2-7
Contiguous 16 Byte Working Register Block
2-7, RP0 and RP1 point to the "upper" slice and "lower" slice
Setting the Register Pointers
; RP0  70H, RP1  78H
; RP0  no change, RP1  48H,
; RP0  A0H, RP1  no change
; RP0  00H, RP1  no change
; RP0  no change, RP1  0F8H
Register File
Contains 32
8-Byte Slices
8-Byte Slice
8-Byte Slice
2-10
2 ADDRESS SPACES
FH (R15)
16-Byte
Contiguous
8H
7H
Working
Register block
0H (R0)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents