Contents|Index|Previous|Next

Comments

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, as in the following statement.

    /*
      The only way to include a newline (’\n’) in a comment
      is to use this sort of comment.
    */

This means you may not nest the following types of comments.

    /* 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 Vax; ‘#’ on the i960; ‘!’ on the SPARC; ‘|’ on the 680x0; ‘;’ for the AMD 29K family; ‘;’ for the H8/300 family; ‘!’ for the H8/500 family; ‘;’ for the HPPA; ‘!’ for the Hitachi SH; ‘!’ for the Z8000; see Machine Dependent Features for specific architectures.

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.

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.