1
      MASM.DOC                       Release 1                      1/31/86
 
          The purpose of this document is to try to accumulate comments 
      pertaining to the Microsoft Macro Assembler version 4.0 documentation 
      that appear to be confusing, misleading, or difficult to reconcile 
      with experience with the assembler.  
 
          If you are a user of the product and can add to this compilation, 
      please leave messages.  Hopefully Microsoft will comment on our 
      findings and perhaps use them to update the manual for future 
      releases.
 
                                                     Eric Cohane 75206,1117
 
      =====================================================================
 
      USER'S GUIDE
      ------------
 
      Chapter 2 -- MASM: A Macro Assembler
 
      Page 21 Note at top of page -- "C" is a valid option.
 
 
      Chapter 3 -- LINK: A Linker
 
      Page 48 -- Next to last paragraph, line 6 -- "If you type the comma 
      after . . . "  Should "comma" be "semicolon"?
 
      Page 49 -- Paragraph describing example 1 -- ". . . LINK searches the 
      the library "file.lib" . . ." should refer to library "routine.lib".
 
      Page 54 -- Listing at top of page -- In addresses of Publics by 
      Value, should not "FAC" have address 0173:0035 rather than 0000:0035?
 
 
      REFERENCE MANUAL
      ----------------
 
      General -- The term "keyword" is not defined.  On page 19 a reference 
      is made to the "COMMENT keyword" implying that "COMMENT" is a 
      RESERVED word (which it is, in Table 2.2).  On page 39, however, 
      reference is made to the "keyword NOTHING", yet "NOTHING" does not
      appear in the reserved word list (Table 2.2).  The boldfacing further
      implies reserved word status.
 
 
      Chapter 2 -- Elements of the Assembler
 
      Page 18 -- At top of page, third dot -- If the last statement in the
      file is the END statement, it must be followed by a carriage return
      or the assembler does not recognize its presence.
 
 
      Chapter 3 -- Program Structure
 
      Page 33 -- EXAMPLE -- This example uses the NAMEs module_1 and
      module_2; however, the NAME directive is unique only to 6 characters.
      Thus it would appear that the modules will be non-unique to the
      linker since the "_1" and "_2" that distinguish them are beyond the
      sixth character position.
 
      Page 35 -- END directive.  "The optional expression defines . . ."
      The word "optional" here is quite misleading as 'expression' must be
      used in single-module programs as well as in the main module of
      multi-module programs.  (The NOTE on following page affirms.)
 
 
      Chapter 5 -- Operands and Expressions
 
      Page 73 -- last paragraph -- "BD register" should read "BP register".
 
      Page 80 -- EXAMPLES -- First example comment contains 17 bits.
 
      Page 81 -- Table 5.4 -- In each case (0FFFh) is given.  Suggest
      (0FFFFh) as correct value.
 1:1