KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q73400: DOCERR: MASM 6.0 Programmer’s Guide Errors: Chapters 11-20

Article: Q73400
Product(s): Microsoft Macro Assembler
Version(s): MS-DOS:6.0,6.0a,6.0b
Operating System(s): 
Keyword(s): 
Last Modified: 06-MAY-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Macro Assembler (MASM), versions 6.0, 6.0a, 6.0b 
-------------------------------------------------------------------------------

SUMMARY
=======

The following is a list of documentation additions and corrections for Chapters
11 through 20 of the "Microsoft Macro Assembler Programmer's Guide" for version
6.0. The section and page numbers are listed first, followed by a description of
the addition or correction.

Section 11.6.2, Pages 328-329
-----------------------------

Anchor blocks are not supported in RTF format, so there is no documented method
for creating hyperlinks that have more than one word in RTF format. By default,
any text between an RTF code and hidden text on a single line becomes a
hyperlink. For more information, query on the following words:

  " HELPMAKE and RTF and anchor " (without the quotation marks)

Section 16.3.5, Page 444
------------------------

The following information comes from the README.DOC file included in the MASM 6.0
package:

  Add these paragraphs to Section 16.3.5, "Bit Fields."

  H2INC translates anonymous bitfields by padding with a tag corresponding to
  the bit position.

  For example,

        struct s
        {
           int :8;
           int j:8;
        }

  becomes:

     s      RECORD  j@s:8,
                    @8@s:8

Section 17.5, Page 460
----------------------

The second-to-last paragraph gives instructions for binding under PWB. Where it
says "Select Bound Application from the LINK Options command in the Options
menu," it should say "Select Bind Executable File from the LINK Options command
in the Options menu."

Section 18.3.2, Page 470
------------------------

The function prototypes for GetGCount and GetPCount are missing the FAR keyword.
The corrected prototypes should read as follows:

     GetGCount PROTO FAR PASCAL
     GetPCount PROTO FAR PASCAL

Section 18.3.2, Page 471
------------------------

The call to the function VioWrtTTY should read:

     INVOKE  VioWrtTTY,     instead of    INVOKE VioWrtTTy,
             es::di,                             es:di,
             si,                                 si,
             hv                                  hv

Section 20.3, Page 521
----------------------

In the first paragraph, the "EXTERN A__ACRTUSED" reference should be a changed to
"EXTERN __ACRTUSED".

Section 20.3.1, Page 526
------------------------

The first line of code generated by H2INC should read:

     @proto_0 TYPEDEF  PROTO C :PTR SBYTE, :BYTE

instead of

     TYPEDEF  PROTO C :PTR SBYTE, :BYTE

Section 20.3.2, Page 529
------------------------

In the chart of equivalent data types, the last entry should read:

  FORTRAN Type                    Equivalent MASM Type
  ------------                    --------------------
  REAL*8, DOUBLE PRECISION        REAL8

instead of

  REAL*8, DOUBLE PRECISION        REAL4

Section 20.3.3, Page 533
------------------------

The following information comes from the README.DOC file included in the MASM 6.0
package:

  Add these paragraphs to Section 20.3.3, "The Basic/MASM Interface."

  When interfacing with Basic, all EXTERNs that are far must be declared outside
  of a code or data segment.

  This is incorrect:

  .MODEL medium .CODE EXTERN StringAddress:FAR

  This is correct:

  .MODEL medium EXTERN StringAddress:FAR .CODE

Additional query words: 6.00 6.00a 6.00b

======================================================================
Keywords          :  
Technology        : kbMASMsearch kbAudDeveloper kbMASM600 kbMASM600a kbMASM600b
Version           : MS-DOS:6.0,6.0a,6.0b

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.