![Infineon Technologies XC2200 Скачать руководство пользователя страница 182](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439182.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Central Processing Unit (CPU)
User’s Manual
4-44
V2.1, 2008-08
CPUSV2_X, V2.2
4.7.3
Indirect Addressing Modes
Indirect addressing modes can be considered as a combination of short and long
addressing modes. This means that the “long” 16-bit pointer is provided indirectly by the
contents of a word GPR which itself is specified directly by a short 4-bit address
(‘Rw’ = 0 … 15).
There are indirect addressing modes, which add a constant value to the GPR contents
before the long 16-bit address is calculated. Other indirect addressing modes can
decrement or increment the indirect address pointers (GPR contents) by 2 or 1 (referring
to words or bytes) or by the contents of the offset registers QR0 or QR1.
Note: Some instructions only use the lowest four word GPRs (R3 … R0) as indirect
address pointers, which are specified via short 2-bit addresses in that case.
The following indirect addressing modes are provided:
Table 4-19
Generating Physical Addresses from Indirect Pointers
Step Executed Action
Calculation
Notes
1
Calculate the address of the
indirect pointer (word GPR)
from its short address
GPR Address =
2
×
Short Addr.
[+ (CP)]
see
2
Pre-decrement indirect
pointer (‘-Rw’) depending
on datatype (
∆
= 1 or 2 for
byte or word operations)
(GPR Address) =
(GPR Address)
-
∆
Optional step, executed only if
required by addressing mode
3
Adjust the pointer by a
constant value
(‘Rw + const16’)
Pointer =
(GPR Address)
+ Constant
Optional step, executed only if
required by addressing mode
4
Calculate the physical 24-bit
address using the resulting
pointer
Physical Addr. =
Page/S
Pointer offset
Uses DPPs or page/segment
override mechanisms,
see
5
Post-in/decrement indirect
pointer (‘Rw
±
’) depending
on datatype (
∆
= 1 or 2 for
byte or word operations), or
depending on offset
registers (
∆
= QRx)
1)
1) Post-decrement and QRx-based modification is provided only for CoXXX instructions.
(GPR Address) =
(GPR Address)
± ∆
Optional step, executed only if
required by addressing mode