Next: , Previous: Whitespace, Up: Syntax


There are two ways of rendering comments to as. In both cases the comment is equivalent to one space.

Anything from /* through the next */ is a comment. This means you may not nest these comments.

       The only way to include a newline ('\n') in a comment
       is to use this sort of comment.
     /* This sort of comment does not nest. */

Anything from the line comment character to the next newline is considered a comment and is ignored. The line comment character is ; on the ARC; @ on the ARM; ; for the H8/300 family; ; for the HPPA; # on the i386 and x86-64; # on the i960; ; for the PDP-11; ; for picoJava; # for Motorola PowerPC; # for IBM S/390; # for the Sunplus SCORE; ! for the Renesas / SuperH SH; ! on the SPARC; # on the ip2k; # on the m32c; # on the m32r; | on the 680x0; # on the 68HC11 and 68HC12; # on the Vax; ; for the Z80; ! for the Z8000; # on the V850; # for Xtensa systems; see Machine Dependencies.

On some machines there are two different line comment characters. One character only begins a comment if it is the first non-whitespace character on a line, while the other always begins a comment.

The V850 assembler also supports a double dash as starting a comment that extends to the end of the line.


To be compatible with past assemblers, lines that begin with # have a special interpretation. Following the # should be an absolute expression (see Expressions): the logical line number of the next line. Then a string (see Strings) is allowed: if present it is a new logical file name. The rest of the line, if any, should be whitespace.

If the first non-whitespace characters on the line are not numeric, the line is ignored. (Just like a comment.)

                               # This is an ordinary comment.
     # 42-6 "new_file_name"    # New logical file name
                               # This is logical line # 36.

This feature is deprecated, and may disappear from future versions of as.