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.
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.
[Back: LABEL (Associate a Symbolic Name With Current Address)]
[Next: .RADIX (Set the Default Base for Numeric Literals)]