# Assembler directives (ivss) **Assembler directives** control object construction instead of requesting processor operations. ivss recognizes dot-prefixed statements for sections, data, symbols, constants, and termination: ```asm .global answer .equ initial, 42 .section my_data answer: .word initial .skip 4 .end ``` `.global` exports the symbol, `.equ` defines an absolute value, and `.section` chooses the output section. `.word` emits a four-byte value; `.skip` appends four zero bytes. `.end` stops source processing. These directives do not become separate instructions for the emulator to execute. The implementation dispatches each recognized directive to a handler. Data directives modify the current section's buffer. Symbol directives update symbol metadata, and `.equ` expressions are saved for evaluation after source processing. This timing permits an expression to use labels discovered later in the input. It does not provide arbitrary compile-time programming: expressions use the assembler's supported arithmetic and symbol evaluation rules. [[ivss-constant-expressions|Constant expressions]] and [[ivss-data-allocation|data allocation]] explain these two parts separately. Source: [asembler.c](https://github.com/yanevskiv/ivss/blob/main/src/asembler.c).