## ALP Programming Guide and Reference

[prev][next][parent][TOC]

### OPTION (Modify Default Behaviors)

The OPTION directive allows the user to alter certain default behaviors of the assembler, normally to provide backward compatibility with older assemblers. The OPTION directive is not available when assembling in M510 mode.

Syntax

    OPTION   Option - Item   [ ,   [ LineBreak ]   Option - Item   . . . ]

Remarks

The Option-Item arguments are defined as follows (the underlined keywords denote the default values):

DOTNAME | NODOTNAME Allows user identifiers to begin with an introductory dot (.) character.

EXPR16 | EXPR32 Specifies whether expressions are evaluated using 16-bit or 32-bit arithmetic. Some programs may require reverting back to EXPR16 in order to assemble without problems. Once this value has been set it cannot be changed. The use of a processor selection directive to select a 32-bit processor is equivalent to selecting OPTION EXPR32, which prevents any further attempt to select OPTION EXPR16.

LANGUAGE:Language-Name Specifies the default language type for identifiers with PUBLIC or EXPORT visibility. This option overrides any setting given in the .MODEL directive.

OFFSET:Offset-Type Determines how relocatable offset values are written to the object file output, encoded in the form of a linker "fixup" record. The possible values for Offset-Type are SEGMENT, GROUP, and FLAT.

OLDSTRUCTS | NOOLDSTRUCTS The OLDSTRUCTS keyword causes structure field names to become global identifiers rather than local names private to the structure type. It also prevents the Structure/Union Field Selection (. Operator) from performing strict checking on its operands, requiring its left operand to have a structure type and its right operand to be the name of a field contained therein.

PROC:Visibility Specifies the default visibility for procedure names. This can be one of PRIVATE, PUBLIC, or EXPORT.

SCOPED | NOSCOPED The NOSCOPED keyword forces all code label names defined within procedures to be visible to the entire module and not just from within the defining procedure.

SEGMENT:Address-Size Explicitly sets the default address size value. This is used to control the address size of segments that are opened without explict USE16 or USE32 keywords, and of global identifiers that are declared outside of segment boundaries. The possible values for Address- Size are USE16, USE32, and FLAT.