README.TXT File
Release Notes for the Microsoft(R) MASM
Professional Development System, Version 6.11
(C) Copyright 1993, Microsoft Corporation. All rights reserved.
This document contains release notes for the Microsoft MASM
Professional Development System, version 6.11. The information in
this document and in the Microsoft Advisor (online help) is more
up-to-date than that in the manuals.
The printed documentation for MASM 6.11 has not changed from MASM 6.1.
The MASM 6.11 installation disks provide several important files that
include new or updated information for this release. They are:
README.TXT =====> Contains documentation errata, system requirements,
information and tips on using MASM 6.11, and known
assembler bugs.
PENTIUM.TXT ====> Contains .586 and .586P directives information,
descriptions of the new Intel(R) Pentium(TM)
instructions, and a table of Pentium timings for all
instructions.
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.
======================< README.TXT Table of Contents >=====================
Part 1: Documentation Errata
----------------------------
Part 2: System Requirements
---------------------------
Part 3: 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
- .FPO Directive
- INVOKE Command
- LINK and System Resources
- MOUSE.COM
- MS-DOS and Windows NT File Compatibility
- Multi-File Assembly with MASM.EXE
- NMAKE and NMAKER
- Response Files
- SAMPLES.TXT and NTSAMPLE.TXT
- Using Control-C to Halt Operation of MASM
- 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
Part 4: Known Assembler Bugs
----------------------------
- Exiting from MS-DOS Critical Errors
- Expression Order in High-Level Conditionals
- Hexadecimal Constants
- Initializing Nested Structures
- Intersegment Near Jumps in Flat Model
- Span-Dependent Expressions used in Macros
- Span-Dependent Equates in Macros and EXTERNDEF ABS
- Span-Dependent Text Equates
- STRUCT and RECORD Initialization
- Using The /link /nologo Command Line Options
====================< Part 1: 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.1 Reference. Instead, /Cx should be indicated as the
default.
Reference, Page 98: LEA is no longer optimized
----------------------------------------------
The MASM 6.1 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
ELSE
LEA Dest, Symbol
ENDIF
ENDM
Programmer's Guide, Page 156: Using an Emulator Library
-------------------------------------------------------
The sample code demonstrating floating-point instructions served
by an emulator contains the directive .STARTUP. This directive
should be removed.
Programmer's Guide, Page 202: User-Defined Epilogues & Prologues
----------------------------------------------------------------
The documentation for user-defined epilogue and prologue code reads
"Your macro function must return the parmbytes parameter." It
should read "...the localbytes parameter."
Programmer's Guide, Page 323: The C++/MASM Interface
----------------------------------------------------
The second sentence in the third paragraph reads: "The linkage
specification applies only to called routines, not to external
variables." It should read "The linkage specification applies to
called routines and external variables." The last sentence in the
same paragraph should be removed.
Help for Runtime Error R6921
----------------------------
The online help for runtime error R6921 reads "...Possibly the
CONFIG.SYS file contained a line such as DEVICE=C:\OS\MM386.EXE..."
The file name should read "C:\DOS\EMM386.EXE".
=================< Part 2: MASM 6.11 System Requirements >=================
The following are system requirements for Microsoft MASM 6.11:
- Personal computer using a 386 or higher processor running MS-DOS
version 3.3 or later, Windows version 3.1 or later, or Windows NT
version 3.1 or later.
- 4 MB of available memory.
- Hard disk with 10 MB available space.
- One 3.5" high-density (1.44 MB) disk drive (3.5" low-density (720K)
or 5.25" high-density (1.2 MB) disks available separately with
coupon enclosed).
To target Windows 3.1, you need one of the following:
- Microsoft Windows Software Development Kit (SDK) 3.1.
- Microsoft Visual C++ Development System, Standard or Professional
Edition.
To target Windows NT, you need one