x86 Assembly Language FAQ - Microsoft MASM 
Author Message
 x86 Assembly Language FAQ - Microsoft MASM

Archive-Name: assembly-language/x86/microsoft
Posting-Frequency: monthly (21st of every month)
Last-modified: 1996/01/06


Subject: 1. Introduction and Intent

This is the x86 Assembly Language FAQ for the comp.lang.asm.x86 and
alt.lang.asm newsgroups.  This FAQ is posted monthly on or about the 21st
of the month on both newsgroups and news.answers, alt.answers and
comp.answers.  It also is archived at the normal FAQ archival sites and the
SimTel mirror sites in the msdos/info directory.  Lastly, the current
version is available from my web page as:
    As text files:
        http://www.*-*-*.com/ ~raymoon/faq/asmfaq.zip
    As html documents:
        http://www.*-*-*.com/ ~raymoon/faq/asmfaqh.zip
Currently, this FAQ is broken into six sections.  The following are the
section filenames and the scope of each section of the FAQ.

assembly-language/x86/general/part1 - This is the basic portion of the FAQ
    that contains information of interest to all assembly language
    programmers.  In general, the information contained in this portion of
    the FAQ is not specific to any particular assembler.

assembly-language/x86/general/part2 - This is a continuation of the above

assembly-language/x86/general/part3 - This is a continuation of the above

assembly-language/x86/microsoft - This portion of the FAQ contains
    information specific for the Microsoft MASM.

assembly-language/x86/borland - This portion of the FAQ contains
    information specific for the Borland TASM.

assembly-language/x86/a86 - This portion of the FAQ contains information
    specific for the Shareware A86 Assembler and D86 De{*filter*}.

The scope and content of this FAQ is to go beyond just answering the
frequently asked questions.  I am including pointers to assembly language
treasure troves that are hidden out on the internet.  I believe that this
will enhance the FAQ's value not only to the novices but also to the old

For the ease of determining what has changed since the last FAQ, the Table
of Contents will have "REVISED" at the end of the subject line for all
revised subjects.  If more than one FAQ revision has been missed, the "Last
Changed:" entry at the end of each subject can be used to determine which
subjects have been revised during the intervening time frame.

The information in this FAQ is free for all to use as long as you
acknowledge the source.  This FAQ can be reproduced in part or in its
entirety as long as the copyright is included.  This FAQ can be made
available on public servers, like ftp, gopher or WWW servers.  Please do
not modify the file, such as converting it into some other format, without
prior permission of the author.

All references to files and locations are in Uniform Resource Locators
(URLs) format.  Some web browser will be able to use these URLs directly as
hot links.  If the format is not clear to you, get RFC 1738.  It is
available from:   ftp://ds.internic.net/rfc/rfc1738.txt

Suggestions for changes and comments are always welcome.  They can be
posted to either newsgroup or e-mailed directly to the me.

Copyright 1997 - Raymond Moon
Last Changed: 6 Jan 97


Subject: 2. Table Of Contents

1.  Introduction And Intent
2.  Table Of Contents
3.  How To Get The Patch For MASM 6.11
4.  What Is And How To Access The Microsoft Knowledge Base
5.  Pentium Instruction Macros
6.  Acknowledgments


Subject: 3. How To Get The Patch For MASM 6.11

There is a patch available from Microsoft for MASM 6.11.  This patch
converts MASM 6.11 or 6.11a into the latest version MASM 6.11d.

To obtain this patch:


ML611D.EXE is a self-extracting file which when executed will create the
following files:


All the instructions for installing the patch are contained in ML611D.TXT.

Last Changed: 2 Dec 95


Subject: 4. What Is and How to Access the Microsoft Knowledge Base


The Microsoft Knowledge Base (KB) is a collection of articles that is
maintained and used by the Microsoft Support personnel to answer customer
questions.  Included in the Knowledge Base are detailed how-to articles,
answers to technical support questions, bug lists, fix lists, and
documentation errors.  This Knowledge Base is available to all on
Microsoft's Internet Node.  An index of all the articles is available in a
file, index.txt.



This index still is available with the last entry dated Aug 96.


The format of this file consists of three columns.

    Column One is the file type with the following meanings:
        FIX         - Bug Fix
        DOCERR      - Documentation Error
        INF         - Information
        PRB         - Problem
        BUG         - Bug
    Column Two is the path and file name in the following format: Qxxxyzz
        where   the part,  Qxxx', is Q followed by two or three numbers and
                    represents the first subdirectory under the kb
                the part,  y', is the next subdirectory under Qxxx, and
                The part,  zz', when combined with  .txt' is the filename.

                ****WARNING**** Some of the Qs are uppercase and some are
                lower case.  Unlike DOS, the filenames and directory names
                are case sensitive.

    Column Three is a short description of the file.


You can get all the files from the /developr/masm/kb directory without
transversing this very strange directory structure by using the path in the
get command.  As an example, let's say you want Q106399, a very useful file
if you use Visual C++ (see below).  Using the parsing rules above, you can
use the following get command:

    get q106/3/99.txt


    There no longer is gopher access to microsoft.com


Microsoft has removed the MASM option from the their www KB search.

Another www site for this knowledge base also is available.  It is:
To use this site, you must know the Q number.


Q86815      Mixed C and MASM with MASM Main Language, No C Run-Time
Q86816      Mixed C and MASM with MASM Main Language, C Run-Time
Q101264     Assembling Code Developed for MASM 5.x with MASM 6.x
Q106399     Using the Visual Workbench with MASM
Q110598     Spontaneous Assembly and MASM 6.11 Errors
Q123729     Accessing Command Line Arguments

    I have found Q106399 particularly helpful since I am really upset that
    Microsoft did not include direct support of MASM from within the Visual

Last Changed: 9 Nov 96


Subject 5. Pentium Instruction Macros

Macros that implement the new instructions available with the Pentium
processor is available from Intel.


The new macros are:
    CMPXCHG8B   - Compare and exchange eight bytes
    CPUID       - CPU Identification
    RDTSC       - Read Time Stamp Counter
    MOVTOCR4    - Move reg to CR4
    MOVFROMCR4  - Move CR4 to reg
    RDMSR       - Read Model Specific Register
    WRMSR       - Write Model Specific Register
    RSM         - Resume from SMM

Last Changed: 8 Jan 95


Subject: 6. Acknowledgments

I would like to acknowledge all the people who have assisted me or any of
the contributors.  For their time and effort, this FAQ is a better product.

Barry Brey, Daniel Cardenas and Kevin Weinrich

Wed, 11 Aug 1999 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. x86 Assembly Language FAQ - Microsoft MASM

2. x86 Assembly Language FAQ - Microsoft MASM

3. x86 Assembly Language FAQ - Microsoft MASM

4. x86 Assembly Language FAQ - Microsoft MASM

5. x86 Assembly Language FAQ - Microsoft MASM

6. x86 Assembly Language FAQ - Microsoft MASM

7. x86 Assembly Language FAQ - Microsoft MASM

8. x86 Assembly Language FAQ - Microsoft MASM

9. x86 Assembly Language FAQ - Microsoft MASM

10. x86 Assembly Language FAQ - Microsoft MASM

11. x86 Assembly Language FAQ - Microsoft MASM

12. x86 Assembly Language FAQ - Microsoft MASM


Powered by phpBB® Forum Software