as: M68K-Moto-Syntax

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