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.
MASM 5.1 Compatibility
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     You can separate macro arguments with white space or with commas.
     This is the same as using OPTION OLDMACROS.
 
     The assembler uses the following rules to handle ampersands:
 
       1. If a sequence of ampersands is found, the first ampersand is
          removed.
 
       2. If a macro parameter is found, it is replaced by the actual
          parameter string.
 
       3. Inside quoted strings and text literals, the string is
          scanned from left to right for ampersands. For each
          ampersand:
 
             ■ If the ampersand is preceded or followed by a parameter,
               the parameter is substituted and the ampersand removed.
 
             ■ If the ampersand is preceded by a previously substituted
               parameter, the ampersand is removed.
 
             ■ In all other cases, the ampersand is ignored.
 
     The assembler performs parameter substitution at each level of
     nesting. Therefore, you must add an extra ampersand before or
     after a macro parameter for each level of MACRO nesting or
     FOR/FORC/REPEAT/WHILE nesting.
                                    -♦-