MASM 6.0 Programmer's Guide Errors & Omissions: Chapters 11-20

ID Number: Q73400

6.00 | 6.00

MS-DOS | OS/2

docerr

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

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