as: Statements

1 
1 3.5 Statements
1 ==============
1 
1 A "statement" ends at a newline character ('\n') or a "line separator
1 character".  The line separator character is target specific and
1 described in the _Syntax_ section of each target's documentation.  Not
1 all targets support a line separator character.  The newline or line
1 separator character is considered to be part of the preceding statement.
1 Newlines and separators within character constants are an exception:
1 they do not end statements.
1 
1    It is an error to end any statement with end-of-file: the last
1 character of any input file should be a newline.
1 
1    An empty statement is allowed, and may include whitespace.  It is
1 ignored.
1 
1    A statement begins with zero or more labels, optionally followed by a
1 key symbol which determines what kind of statement it is.  The key
1 symbol determines the syntax of the rest of the statement.  If the
1 symbol begins with a dot '.' then the statement is an assembler
1 directive: typically valid for any computer.  If the symbol begins with
1 a letter the statement is an assembly language "instruction": it
1 assembles into a machine language instruction.  Different versions of
1 'as' for different computers recognize different instructions.  In fact,
1 the same symbol may represent a different instruction in a different
1 computer's assembly language.
1 
1    A label is a symbol immediately followed by a colon (':').
1 Whitespace before a label or after a colon is permitted, but you may not
1 have whitespace between a label's symbol and its colon.  ⇒Labels.
1 
1    For HPPA targets, labels need not be immediately followed by a colon,
1 but the definition of a label must begin in column zero.  This also
1 implies that only one label may be defined on each line.
1 
1      label:     .directive    followed by something
1      another_label:           # This is an empty statement.
1                 instruction   operand_1, operand_2, ...
1