Regular Instructions
Regular instructions have the following form (some of the parts are optional):
Space and tab characters are only required between two tokens if the assembler might otherwise treat the tokens as one unit. Statements are terminated by the newline character. The label and comments are optional.
An operator is a symbol consisting of the name of a machine instruction of the current machine or the name of a macro. Every regular instruction must have an operator.
An operand is a value for a field of the instruction. If the field has 0 bits, then the operand must be the name of the field. For fields of positive numbers of bits, the operand must be a symbol or literal. If it is a symbol, the same symbol must appear somewhere in the program as a label or as an EQU constant or as the name of one of the restricted values of the field.
For each instruction, there must be one operand for each field specified in the format of that instruction, not counting the first field, which corresponds to the opcode, and not counting the fields that are ignored or are optional.
Note that there are three types of symbols that can be used as operands for fields with unrestricted values: local EQUs (defined in the file), global EQUs (defined in the machine), and labels (defined in the file). A symbol might appear in all three types of sources. In that case, local EQUs have priority, followed by global EQUs, and finally labels.