README.TXT File
Release Notes for the Microsoft(R) MASM
Professional Development System, Version 6.14
(C) Copyright 1997, Microsoft Corporation. All rights reserved.
This document contains release notes for the Microsoft MASM
Professional Development System, version 6.14. The information in
this document and in the Microsoft Advisor (on-line help) is more
up-to-date than that in the manuals.
The printed documentation for MASM 6.11 has not changed from MASM
6.10. MASM 6.14 is being released as a patch for users of MASM 6.11.
The MASM 6.11 installation disks provide several important files that
include new or updated information for this release. They are:
README.TXT =====> Contains patch installation instructions,
documentation errata, system requirements, information
and tips on using MASM 6.1x, and known assembler bugs.
CV.TXT =========> Contains release notes for Microsoft CodeView(TM).
ERRMSG.TXT =====> Contains updated information on 32-bit Linker errors,
ML error messages, and Microsoft DOSXNT MS-DOS
Extender error messages.
SAMPLES.TXT ====> Contains information about MASM samples for MS-DOS
and Microsoft Windows 3.1.
NTSAMPLE.TXT ===> Contains information about MASM samples for
Microsoft Windows NT.
SUPPORT.TXT ====> Contains updated Microsoft Product Support policies.
Information on new processor instructions can be found in the
following locations:
Intel(R) Pentium(R)
====> In PENTIUM.TXT installed with MASM 6.11
Intel(R) MMX(TM)
====> On the World Wide Web at
http://www.intel.com/drg/mmx/manuals/prm/prm.htm
AMD(R) 3D Technology
====> On the World Wide Web at
http://www.amd.com/swdev/swdev.html
Intel(R) Internet Streaming SIMD Extensions
====> On the World Wide Web at
http://developer.intel.com/design/PentiumIII/manuals/
======================< README.TXT Table of Contents >=====================
Part 1: Patch Installation
--------------------------
Part 2: Documentation Errata
----------------------------
Part 3: System Requirements
---------------------------
Part 4: Tips for Using MASM 6.1x
--------------------------------
- ALIAS directive
- Assembling Files Generated by Compiler
- Building 32-Bit Applications
- 32-Bit Linking
- GROUP Directive and Flat-Model Programming
- Structure Packing Issues for Mixed Language Programming
- /WIN32 Switch for H2INC
- CD-ROM Not a Valid Target
- CMP Instruction Encoding
- Debugging MASM Applications under Visual C++, 32-Bit
Edition, or Fortran PowerStation, 32-Bit Edition
- INVOKE Command
- Multi-File Assembly with MASM.EXE
- NMAKE and NMAKER
- Response Files
- SAMPLES.TXT and NTSAMPLE.TXT
- Using MASM 6.x Structures
- Visual C++ 1.0/Fortran PowerStation 1.0 Compatibility
- Working with MASM 5.1 Code
- Working With Microsoft BASIC Far Strings
- .FPO directive new to MASM 6.11a
Part 5: Known Assembler Bugs
----------------------------
- Expression Order in High-Level Conditionals
- Hexadecimal Constants
- Initializing Nested Structures
- Span-Dependent Expressions used in Macros
- Span-Dependent Equates in Macros and EXTERNDEF ABS
- Span-Dependent Text Equates
- STRUCT and RECORD Initialization
Part 6: What Has Been Fixed in 6.11d?
-------------------------------------
Part 7: What Has Been Fixed in 6.12?
-------------------------------------
Part 8: What Has Been Fixed in 6.14?
---------------------------------------
Part 9: What Has Been Added up to 6.14?
---------------------------------------
====================< Part 1: Patch Installation >=========================
1. Make backup copies of the files affected by the patch. These
files are all in the MASM bin directory (for example,
C:\MASM611\BIN). The following files will be affected:
ML.EXE
ML.ERR
H2INC.EXE
H2INC.ERR
WIN.INC
2. Change to your MASM 6.11 root directory. For example:
C:
CD \MASM611
3. Copy the patch files to your MASM 6.11 root directory.
The patch files are:
PATCH.EXE
PATCH.RTD
PATCH.RTP
4. Run the patch program by typing:
PATCH
The patch program indicates its actions as it runs. When the
patch has been successfully completed, you can delete the patch
files.
5. Copy H2INC.EXE and H2INC.ERR from the patch diskette to your
\masm611\bin directory.
6. Copy WIN.INC from the patch diskette to your \masm611\include
directory.
If you have trouble:
-----------------------
If you have problems installing this patch:
- Check to be sure that you have all three patch files:
PATCH.EXE, PATCH.RTP, and PATCH.RTD.
- Make sure you have the correct version of the files to be updated.
This patch will only patch files from MASM 6.11, 6.11a, or 6.11d.
If, after checking these possibilities, you still have problems,
please contact Microsoft Product Support.
====================< Part 2: Documentation Errata >=======================
Environment and Tools, Page xxiii: Microsoft Support Services
-------------------------------------------------------------
Microsoft Support Services information has been updated. See
SUPPORT.TXT, in the directory in which you installed MASM, for
the most current Microsoft support information and policies.
Environment and Tools, Page 582: LIB Command Line Sample
--------------------------------------------------------
The following example, as it appears on page 582, is incorrect:
LIB FIRST +SECOND, , THIRD
It should instead read:
LIB THIRD +FIRST +SECOND
Environment and Tools, Page 649, 651: _syscall and __syscall
------------------------------------------------------------
The H2INC documentation on pages 649 and 651 lists _syscall and
__syscall as C keywords recognized by H2INC. These are not recognized,
and should be removed.
Environment and Tools, Page 819: Error Message A2156
----------------------------------------------------
The value range given for the first parameter of the PAGE directive
is incorrect; "...either 0 or a value in the range of 10-255" should
read "...either 0 or a value in the range of 14-255."
Reference, Page 12: ML Command-line Options /Cu and /Cx
-------------------------------------------------------
/Cu is not the default command-line option, but is indicated as such
in the MASM 6.10 Reference. Instead, /Cx should be indicated as the
default.
Reference, Page 98: LEA is no longer optimized
----------------------------------------------
The MASM 6.10 Reference indicates that the LEA instruction is
encoded as a MOV when the source operand is a direct memory address.
In response to programmer requests, MASM 6.1x no longer performs this
optimization automatically. The optimization can be performed by
using the OPATTR operator, as shown in the following macro:
MOVLEA MACRO Dest, Symbol
IF (OPATTR(Symbol)) AND 08h
MOV Dest, OFFSET Symbol
EL