USER`S MANUAL


Add to my manuals
254 Pages

advertisement

USER`S MANUAL | Manualzz

S3F80N8_UM_REV1.10 ADDRESS

)

PROGRAMMING TIP — Addressing the Common Working Register Area

As the following examples show, you should access working registers in the common area, locations C0H–CFH, using working register addressing mode only.

Examples 1. LD 0C2H,40H ; Invalid addressing mode!

Use working register addressing instead:

R2,40H

2. ADD 0C3H,#45H ; Invalid addressing mode!

Use working register addressing instead:

4-BIT WORKING REGISTER ADDRESSING

Each register pointer defines a movable 8-byte slice of working register space. The address information stored in a register pointer serves as an addressing "window" that makes it possible for instructions to access working registers very efficiently using short 4-bit addresses. When an instruction addresses a location in the selected working register area, the address bits are concatenated in the following way to form a complete 8-bit address:

— The high-order bit of the 4-bit address selects one of the register pointers ("0" selects RP0, "1" selects RP1).

— The five high-order bits in the register pointer select an 8-byte slice of the register space.

— The three low-order bits of the 4-bit address select one of the eight registers in the slice.

As shown in Figure 2-10, the result of this operation is that the five high-order bits from the register pointer are concatenated with the three low-order bits from the instruction address to form the complete address. As long as the address stored in the register pointer remains unchanged, the three bits from the address will always point to an address in the same 8-byte register slice.

Figure 2-11 shows a typical example of 4-bit working register addressing. The high-order bit of the instruction

"INC R6" is "0", which selects RP0. The five high-order bits stored in RP0 (01110B) are concatenated with the three low-order bits of the instruction's 4-bit address (110B) to produce the register address 76H (01110110B).

2-11

ADDRESS SPACES S3F80N8_UM_REV1.10

Selects

RP0 or RP1

Address OPCODE

RP0

RP1

Register pointer provides five high-order bits

4-bit address provides three low-order bits

Together they create an

8-bit register address

Figure 2-10. 4-Bit Working Register Addressing

RP0

0 1 1 1 0 0 0 0

0 1 1 1 0 1 1 0

Register address

(76H)

Selects RP0

RP1

0 1 1 1 1 0 0 0

R6

0 1 1 0

OPCODE

1 1 1 0

Instruction

'INC R6'

Figure 2-11. 4-Bit Working Register Addressing Example

2-12

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

advertisement

Table of contents