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