as: Xtensa Syntax

1 
1 9.55.2 Assembler Syntax
1 -----------------------
1 
1 Block comments are delimited by '/*' and '*/'.  End of line comments may
1 be introduced with either '#' or '//'.
1 
1    If a '#' appears as the first character of a line then the whole line
1 is treated as a comment, but in this case the line could also be a
1 logical line number directive (⇒Comments) or a preprocessor
1 control command (⇒Preprocessing).
1 
1    Instructions consist of a leading opcode or macro name followed by
1 whitespace and an optional comma-separated list of operands:
1 
1      OPCODE [OPERAND, ...]
1 
1    Instructions must be separated by a newline or semicolon (';').
1 
1    FLIX instructions, which bundle multiple opcodes together in a single
1 instruction, are specified by enclosing the bundled opcodes inside
1 braces:
1 
1      {
1      [FORMAT]
1      OPCODE0 [OPERANDS]
1      OPCODE1 [OPERANDS]
1      OPCODE2 [OPERANDS]
1      ...
1      }
1 
1    The opcodes in a FLIX instruction are listed in the same order as the
1 corresponding instruction slots in the TIE format declaration.
1 Directives and labels are not allowed inside the braces of a FLIX
1 instruction.  A particular TIE format name can optionally be specified
1 immediately after the opening brace, but this is usually unnecessary.
1 The assembler will automatically search for a format that can encode the
1 specified opcodes, so the format name need only be specified in rare
1 cases where there is more than one applicable format and where it
1 matters which of those formats is used.  A FLIX instruction can also be
1 specified on a single line by separating the opcodes with semicolons:
1 
1      { [FORMAT;] OPCODE0 [OPERANDS]; OPCODE1 [OPERANDS]; OPCODE2 [OPERANDS]; ... }
1 
1    If an opcode can only be encoded in a FLIX instruction but is not
1 specified as part of a FLIX bundle, the assembler will choose the
1 smallest format where the opcode can be encoded and will fill unused
1 instruction slots with no-ops.
1 

Menu