Node:Statements, Next:Constants, Previous:Symbol Intro, Up:Syntax
A statement ends at a newline character (\n
) or line
separator character. (The line separator is usually ;
, unless
this conflicts with the comment character; see Machine Dependencies.) The
newline or separator character is considered 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. See 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, ...