Rev. 1.00, 05/04, page 41 of 544
2.7.3
Register Indirect with Displacement—@(d:16, ERn) or @(d:32, ERn)
A 16-bit or 32-bit displacement contained in the instruction code is added to an address register
(ERn) specified by the register field of the instruction, and the sum gives the address of a memory
operand. A 16-bit displacement is sign-extended when added.
2.7.4
Register Indirect with Post-Increment or Pre-Decrement—@ERn+ or @-ERn
Register Indirect with Post-Increment—@ERn+:
The register field of the instruction code
specifies an address register (ERn) which contains the address of a memory operand. After the
operand is accessed, 1, 2, or 4 is added to the address register contents and the sum is stored in the
address register. The value added is 1 for byte access, 2 for word access, and 4 for longword
access. For word or longword transfer instructions, the register value should be even.
Register Indirect with Pre-Decrement—@-ERn:
The value 1, 2, or 4 is subtracted from an
address register (ERn) specified by the register field in the instruction code, and the result
becomes the address of a memory operand. The result is also stored in the address register. The
value subtracted is 1 for byte access, 2 for word access, and 4 for longword access. For word or
longword transfer instructions, the register value should be even.
2.7.5
Absolute Address—@aa:8, @aa:16, @aa:24, or @aa:32
The instruction code contains the absolute address of a memory operand. The absolute address
may be 8 bits long (@aa:8), 16 bits long (@aa:16), 24 bits long (@aa:24), or 32 bits long
(@aa:32). Table 2.12 indicates the accessible absolute address ranges.
To access data, the absolute address should be 8 bits (@aa:8), 16 bits (@aa:16), or 32 bits
(@aa:32) long. For an 8-bit absolute address, the upper 16 bits are all assumed to be 1 (H'FFFF).
For a 16-bit absolute address, the upper 16 bits are a sign extension. For a 32-bit absolute address,
the entire address space is accessed.
A 24-bit absolute address (@aa:24) indicates the address of a program instruction. The upper 8
bits are all assumed to be 0 (H'00).
Table 2.12 Absolute Address Access Ranges
Absolute Address
Normal Mode
Advanced Mode
8 bits (@aa:8)
H'FF00 to H'FFFF
H'FFFF00 to H'FFFFFF
16 bits (@aa:16)
H'000000 to H'007FFF,
H'FF8000 to H'FFFFFF
Data address
32 bits (@aa:32)
Program instruction
address
24 bits (@aa:24)
H'0000 to H'FFFF
H'000000 to H'FFFFFF
Содержание H8S/2111B
Страница 2: ...Rev 1 00 05 04 page ii of xxxiv...
Страница 8: ...Rev 1 00 05 04 page viii of xxxiv...
Страница 22: ...Rev 1 00 05 04 page xxii of xxxiv...
Страница 30: ...Rev 1 00 05 04 page xxx of xxxiv...
Страница 84: ...Rev 1 00 05 04 page 50 of 544...
Страница 100: ...Rev 1 00 05 04 page 66 of 544...
Страница 126: ...Rev 1 00 05 04 page 92 of 544...
Страница 180: ...Rev 1 00 05 04 page 146 of 544...
Страница 216: ...Rev 1 00 05 04 page 182 of 544...
Страница 254: ...Rev 1 00 05 04 page 220 of 544...
Страница 268: ...Rev 1 00 05 04 page 234 of 544...
Страница 382: ...Rev 1 00 05 04 page 348 of 544...
Страница 462: ...Rev 1 00 05 04 page 428 of 544...
Страница 464: ...Rev 1 00 05 04 page 430 of 544...
Страница 488: ...Rev 1 00 05 04 page 454 of 544...
Страница 496: ...Rev 1 00 05 04 page 462 of 544...
Страница 574: ...Rev 1 00 05 04 page 540 of 544...
Страница 581: ......
Страница 582: ...H8S 2111B Hardware Manual...