mnemonic plus operands, emit machine code bytes 2. **Directives** — control the assembler's behavior, do not emit code 3. **Preprocessor directives** — begin with `%`, processed before assembly