Special Characters


A register name can optionally be prefixed by a ‘%’ character. So register %r0 is equivalent to r0 in the assembly code.


The presence of a ‘#’ character within a line (but not at the start of a line) indicates the start of a comment that extends to the end of the current line.

Note: if a line starts with a ‘#’ character then it can also be a logical line number directive (see Comments) or a preprocessor control command (see Preprocessing).


Prefixing an operand with an ‘@’ specifies that the operand is a symbol and not a register. This is how the assembler disambiguates the use of an ARC register name as a symbol. So the instruction

mov r0, @r0

moves the address of symbol r0 into register r0.


The ‘`’ (backtick) character is used to separate statements on a single line.


Used as a separator to obtain a sequence of commands from a C preprocessor macro.