|
17.2. Syntax17.2.1. Special Characters; is the line comment character.
$ can be used instead of a newline to separate statements.
Therefore you may not use $ in symbol names on the H8/300.
17.2.2. Register NamesYou can use predefined symbols of the form rnh and
rnl to refer to the H8/300 registers as sixteen 8-bit
general-purpose registers. n is a digit from 0 to
7); for instance, both r0h and r7l are valid
register names.
You can also use the eight predefined symbols rn to refer
to the H8/300 registers as 16-bit registers (you must use this form for
addressing).
On the H8/300H, you can also use the eight predefined symbols
ern (er0 … er7) to refer to the 32-bit
general purpose registers.
The two control registers are called pc (program counter; a
16-bit register, except on the H8/300H where it is 24 bits) and
ccr (condition code register; an 8-bit register). r7 is
used as the stack pointer, and can also be called sp.
17.2.3. Addressing Modesas 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.
|
|