Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
OLDSTRUCTS│NOOLDSTRUCTS Option
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
  Syntax:   OPTION OLDSTRUCTS
 
            OPTION NOOLDSTRUCTS
 
  See also: STRUCT, UNION, Dot Operator (.), MASM 5.1 Compatibility
 
  Description:
 
     The OLDSTRUCTS option enables MASM 5.1-compatible scoping of
     structure members. This option causes all structure members to
     have the same scope as the structure name and prevents a label and
     a member name from having the same name. This option also causes
     the dot operator to act exactly like a plus.
 
     NOOLDSTRUCTS is the default. The OLDSTRUCTS option is enabled with
     the M510 option.With the default, OPTION NOOLDSTRUCTS, label and struc-
     ture field names may have the same name. With OPTION OLDSTRUCTS (the
     MASM 5.1 default), labels and structure fields cannot have the same name.
 
     With OPTION OLDSTRUCTS or OPTION M510 you can use plus operator (+) in
     structure field references. Labels and structure field names cannot have1
     the same name with OPTION OLDSTRUCTS.
 
     By default, each reference to structure member names must use the dot
     operator (.) to separate the structure variable name from the field name.
     You cannot use the dot operator as the plus operator (+) or vice versa.
     To convert your code so that it does not need OPTION OLDSTRUCTS, qualify
     all structure field references. and change all uses of the dot operator
     occurring outside of structure references to use the plus operator.
 
     If you remove OPTION OLDSTRUCTS from your code, the assembler generates
     errors for all lines requiring change. Using the dot operator in any
     context other than for a structure field results in error A2166. Unqual-
     ified structure references result in error A2006.
                                    -♦-