as: M68K-Moto-Syntax
9.21.3 Motorola Syntax
----------------------
The standard Motorola syntax for this chip differs from the syntax
already discussed (Syntax M68K-Syntax.). 'as' can accept
Motorola syntax for operands, even if MIT syntax is used for other
operands in the same instruction. The two kinds of syntax are fully
compatible.
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'), or a suppressed address
register ('%za0' through '%za7'). The use of SIZE means one of 'w' or
'l', and it may always be omitted along with the leading dot. The use
of SCALE means one of '1', '2', '4', or '8', and it may always be
omitted along with the leading asterisk.
The following additional addressing modes are understood:
"Address Register Indirect"
'(%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 Postincrement"
'(%a0)+' through '(%a7)+'
"Address Register Predecrement"
'-(%a0)' through '-(%a7)'
"Indirect Plus Offset"
'NUMBER(%A0)' through 'NUMBER(%A7)', or 'NUMBER(%PC)'.
The NUMBER may also appear within the parentheses, as in
'(NUMBER,%A0)'. When used with the PC, the NUMBER may be omitted
(with an address register, omitting the NUMBER produces Address
Register Indirect mode).
"Index"
'NUMBER(APC,REGISTER.SIZE*SCALE)'
The NUMBER may be omitted, or it may appear within the parentheses.
The APC may be omitted. The REGISTER and the APC may appear in
either order. If both APC and REGISTER are address registers, and
the SIZE and SCALE are omitted, then the first register is taken as
the base register, and the second as the index register.
"Postindex"
'([NUMBER,APC],REGISTER.SIZE*SCALE,ONUMBER)'
The ONUMBER, or the REGISTER, or both, may be omitted. Either the
NUMBER or the APC may be omitted, but not both.
"Preindex"
'([NUMBER,APC,REGISTER.SIZE*SCALE],ONUMBER)'
The NUMBER, or the APC, or the REGISTER, or any two of them, may be
omitted. The ONUMBER may be omitted. The REGISTER and the APC may
appear in either order. If both APC and REGISTER are address
registers, and the SIZE and SCALE are omitted, then the first
register is taken as the base register, and the second as the index
register.