-
Evaluates conditional-assembly directives, assembling if the conditions are true.
-
Expands macros and macro functions.
-
Evaluates constant expressions such as MYFLAG AND 80H, substituting the calculated value for the expression.
-
Encodes instructions and nonaddress operands. For example, mov cx, 13; can be encoded at assembly time because the instruction does not access memory.
-
Saves memory offsets as offsets from their segments.
-
Places segments and segment attributes in the object file.
-
Saves placeholders for offsets and segments (relocatable addresses).
-
Outputs a listing if requested.
-
Passes messages (such as INCLUDELIB) directly to the linker.