This syntax for the Motorola 680x0 was developed at MIT.
The 680x0 version of as uses instructions names and
syntax compatible with the Sun assembler. Intervening periods are
ignored; for example, `movl' is equivalent to `mov.l'.
In the following table apc stands for any of the address registers
(`%a0' through `%a7'), the program counter (`%pc'), the
zero-address relative to the program counter (`%zpc'), a suppressed
address register (`%za0' through `%za7'), or it may be omitted
entirely. The use of size means one of `w' or `l', and
it may be omitted, along with the leading colon, unless a scale is also
specified. The use of scale means one of `1', `2',
`4', or `8', and it may always be omitted along with the
leading colon.
The following addressing modes are understood:
Immediate
`#number'
Data Register
`%d0' through `%d7'
Address Register
`%a0' through `%a7'
`%a7' is also known as `%sp', i.e. the Stack Pointer. %a6
is also known as `%fp', the Frame Pointer.
Address Register Indirect
`%a0@' through `%a7@'
Address Register Postincrement
`%a0@+' through `%a7@+'
Address Register Predecrement
`%a0@-' through `%a7@-'
Indirect Plus Offset
`apc@(number)'
Index
`apc@(number,register:size:scale)'
The number may be omitted.
Postindex
`apc@(number)@(onumber,register:size:scale)'
The onumber or the register, but not both, may be omitted.
Preindex
`apc@(number,register:size:scale)@(onumber)'
The number may be omitted. Omitting the register produces
the Postindex addressing mode.
Absolute
`symbol', or `digits', optionally followed by
`:b', `:w', or `:l'.
This document was generated
by root on January, 30 2002
using texi2html