Previous: H8/300-Regs, Up: H8/300 Syntax

##### 9.11.2.3 Addressing Modes

as understands the following addressing modes for the H8/300:

`r` n
  Register direct
`@r` n
  Register indirect
`@(`d`, r` n`)`
`@(`d`:16, r` n`)`
`@(`d`:24, r` n`)`
  Register indirect: 16-bit or 24-bit displacement d from register n. (24-bit displacements are only meaningful on the H8/300H.)
`@r` n`+`
  Register indirect with post-increment
`@-r` n
  Register indirect with pre-decrement
`@`aa
`@`aa`:8`
`@`aa`:16`
`@`aa`:24`
  Absolute address `aa`. (The address size :24 only makes sense on the H8/300H.)
`#`xx
`#`xx`:8`
`#`xx`:16`
`#`xx`:32`
  Immediate data xx. You may specify the :8, :16, or :32 for clarity, if you wish; but `as` neither requires this nor uses it—the data size required is taken from context.
`@@`aa
`@@`aa`:8`
  Memory indirect. You may specify the :8 for clarity, if you wish; but `as` neither requires this nor uses it.