
Standard Instruction Set PROGRAMMING MANUAL
6/197
1.1.2 Long addressing mode
Long addressing mode uses one of the four DPP registers to specify a physical 18-bit or
24-bit address. Any word or byte data within the entire address space can be accessed in
this mode. All devices support an override mechanism for the DPP addressing scheme (see
section 1.1.3).
Note Word accesses on odd byte addresses are not executed, but rather trigger a
hardware trap. After reset, the DPP registers are initialized so that all long
addresses are directly mapped onto the identical physical addresses, within
segment 0.
Rw, Rb: Specifies direct access to any GPR in the currently active context (register bank). Both
'Rw' and 'Rb' require four bits in the instruction format. The base address of the current
register bank is determined by the content of register CP. 'Rw' specifies a 4-bit word GPR
address relative to the base address (CP), while 'Rb' specifies a 4 bit byte GPR address
relative to the base address (CP).
reg: Specifies direct access to any (E)SFR or GPR in the currently active context (register
bank). 'reg' requires eight bits in the instruction format. Short 'reg' addresses from 00h to
EFh always specify (E)SFRs. In this case, the factor '' equals 2 and the base address is
00’F000h for the standard SFR area, or 00’FE00h for the extended ESFR area. ‘reg’
accesses to the ESFR area require a preceding EXT*R instruction to switch the base
address. Depending on the opcode of an instruction, either the total word (for word opera-
tions), or the low byte (for byte operations) of an SFR can be addressed via 'reg'. Note that
the high byte of an SFR cannot be accessed by the 'reg' addressing mode. Short 'reg'
addresses from F0h to FFh always specify GPRs. In this case, only the lower four bits of
'reg' are significant for physical address generation, therefore it can be regarded as identi-
cal to the address generation described for the 'Rb' and 'Rw' addressing modes.
bitoff: Specifies direct access to any word in the bit-addressable memory space. 'bitoff' requires
eight bits in the instruction format. Depending on the specified 'bitoff' range, different base
addresses are used to generate physical addresses: Short 'bitoff' addresses from 00h to
7Fh use 00’FD00h as a base address, therefore they specify the 128 highest internal RAM
word locations (00’FD00h to 00’FDFEh). Short 'bitoff' addresses from 80h to EFh use
00’FF00h as a base address to specify the highest internal SFR word locations (00’FF00h
to 00’FFDEh) or use 00’F100h as a base address to specify the highest internal ESFR
word locations (00’F100h to 00’F1DEh). ‘bitoff’ accesses to the ESFR area require a pre-
ceding EXT*R instruction to switch the base address. For short 'bitoff' addresses from F0h
to FFh, only the lowest four bits and the contents of the CP register are used to generate
the physical address of the selected word GPR.
bitaddr: Any bit address is specified by a word address within the bit-addressable memory space
(see 'bitoff'), and by a bit position ('bitpos') within that word. Thus, 'bitaddr' requires twelve
bits in the instruction format.