Using as: H8/300-Addressing

Previous: H8/300-Regs, Up: H8/300 Syntax [Contents][Index]

#### 9.12.2.3 Addressing Modes

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

`rn`

  Register direct

`@rn`

  Register indirect

`@(d, rn)`
`@(d:16, rn)`
`@(d:24, rn)`

  Register indirect: 16-bit or 24-bit displacement d from register n. (24-bit displacements are only meaningful on the H8/300H.)

`@rn+`

  Register indirect with post-increment

`@-rn`

  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.