Dear Macro Assembler Customer,

This incremental update provides fixes for the problems
described below. In general, the problems
fixed are the ones most frequently reported to us.  The next
full update of Macro Assembler will address other problems.

If you find any other problems with the Macro Assembler,
please contact us at (206) 454-2030.  We are very interested
in tracking all problems found with MASM to ensure that they
are fixed in future releases.  Your feedback is invaluable!


System Languages Group
Microsoft Product Support Services

                Problems Fixed in MASM 5.10a

     o    Modified alignment constraints for variables
          allocated with the LOCAL directive.
          Padding bytes are used to enforce the following
          Type Specifier                Align Type
               BYTE                        BYTE
               WORD                        WORD
               DWORD                       DWORD
               FWORD                       WORD
               QWORD                       DWORD
               TBYTE                       WORD
          Offset for local variables whose size is greater
          than WORD is now correctly calculated.
     o    With /Zi, Codeview information is now generated
          for all symbols defined with the LOCAL directive.
     o    The text macros for parameters and locals with the
          PROC directive are generated with surrounding
          parentheses.  This aids in their correct
          evaluation in expressions.
     o    USES clauses in PROC directives no longer
          generates internal assembler errors.
     o    Open procedures no longer cause listing file
     o    SUBSTR can now be used with the same label as both
          source and destination.
     o    EXTRN ABS when C language is specified prepends
          name with an underscore.
     o    Parameter alignment in 32 bit mode has been
          adjusted.  6 bytes were previously allocated for
          the return address, but 8 bytes are pushed by the
          calling program.
     o    32 bit fixup records are now being output in 16
          bit code segments.
     o    Unintentionally redefining a code label in a PROC
          no longer causes the assembler to hang.
     o    MASM will now run in a VIO window under
          Presentation Manager.
               Problems Fixed in MASM 5.10a, Cont.
     o    .CONST now generates a 'CONST' class segment as
          documented.  Previously, it was generating class
     o    /Z switch is no longer ignored after an include
          file is processed.
     o    Can now mix / and \ in the command line source
          file path specification, i.e.:
          masm -t \masm/src/file.asm;
     o    Fixed GP fault on command line longer than 127
     o    Fixed bug which caused errors to be reported with
          the wrong line numbers.
     o    Fixed a phase-error problem with:
           MOV BX, forward-reference expression
     o    Fixed improper behavior when type missing on LABEL
     o    Real number initialization now works when .RADIX
          16.  Previously, a false "non-digit in number"
          error was generated.
     o    Can now initialize a structure field to a segment
          address.  Previously, initializing a DD to a
          segmentName generated an invalid object file.
     o    % operator no longer inconsistently causes "symbol
          not defined" errors when used with text equates.
     o    Text macro expansions no longer cause GP faults.