2-10
CPU
Am/An 031
PC 031
031
031
(32-bit address) 031
(32-bit address) 031
(32-bit address) 031
(32-bit address) 031
Register direct
Immediate value
Dm / Dn
Am / An
imm8 / regs
imm16
imm32
imm40
imm48
Register indirect (Am) / (An)
Register indirect
with displacement
Absolute
Register indirect with index
(Di, Am)/(Di, An)
Address calculation Effective address
+
(32-bit address)
abs32/abs16
Am/An 031
d32/d16/d8 715 031
+
Di
Am/An
031
(32-bit address) 031
031
+
+
SP 031
15
d32/d16/d8 715 031
d32/d16/d8 715 031
Addressing mode
(d8, Am)/(d8, An)
: d8 is sign-extended
(d16, Am)/(d16, An)
: d16 is sign-extended
(d32, Am)/(d32, An)
(Branch instructions only)
(d8, PC)
: d8 is sign-extended
(d16, PC)
: d16 is sign-extended
(d32, PC)
(d8, SP)
: d8 is zero-extended
(d16, SP)
: d16 is zero-extended
(d32, SP)
(abs16)
: abs16 is zero-extended
(abs32)
2.4 Instructions
2.4.1 Addressing Modes
The 32-bit microcontroller is equipped with the following 6 addressing modes which are frequently used with
compilers.
All 6 addressing modes of register direct, immediate value, register indirect, register indirect with displacement,
absolute and register indirect with index can be used with data transfer group instructions.
The 2 addressing modes of register direct and immediate addressing can be used with register operation instructions.
Register indirect with index addressing is an addressing mode used to efficiently access arrays and other data.
Table 2-4-1 Addressing Mode Types
When accessing data using the register indirect with displacement and register indirect with index modes, the base
address (the contents of Am, An and SP) and the effective address must be located within the same address space.
For details on memory spaces, refer to section 4.1, "Memory Mode Types and Selection."