The compiler looks-ahead a token most of the time, so you might throw an extra semicolon after the directive if it's not taking affect right away. #include_text is slightly faster than #include if you have no graphics. #prefetch will load-in files while compiling others. #exe {} Will execute code at compile type and can be used to insert code into the stream being compiled using StreamPrintF(). #define Define string constant #assert Print a warning during compilation if an expression is not true. #if Include code if an expresion is true. #else #endif #ifdef,#ifndef Include code if a sym is defined. #ifstatic,#ifnstatic Include code if in static compiler mode. defined() Is a function that can be used in expressions. #help_index, #help_file See Help System. See Scoping and Linkages, preprocessor and Compiler Options. Assembler Directives See ::/LT/Compiler/OpCodes.TXZ for opcodes. They're not standard. Some invalid instructions are not flagged and some valid instructions are not implemented. 16-bit asm support is limited. Here are example instruction formats: ADD RAX,U64 FS:DISP[RSI+RDI*8] ADD RAX,U64 [DISP] $ Current compiler output pos (instruction ptr). Even works in C+ expressions. LABEL:: Defines an exported glbl label. LABEL: Defines an non-exported glbl label. @@LABEL: Defines a local label with scope valid between two global labels. DU8, DU16, DU32, DU64 Define BYTE, WORD, DWORD or QWORD. Can be used with DUP() and ASCII strings. For your convenience, the ASCII strings do not have terminating zeros. DUP() can be used with ? for uninitialized values. Use uninitialized values in struc's. Define cmds must end with a semicolon. STRUC new_ip ENDS USE16, USE32, USE64 IMPORT sym1name, sym2name; LIST, NOLIST ALIGN num, fill_byte Align to num boundary and fill with fill_byte. ALIGN num, ? Align to num boundary but do not fill. See ::/LT/Demo/Asm/AsmAndC.CPZ and ::/LT/Demo/Asm/AsmAndC2.CPZ.