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