257 lines
9.4 KiB
Plaintext
257 lines
9.4 KiB
Plaintext
From: raymoon@dgsys.com (Raymond Moon)
|
|
Newsgroups: alt.lang.asm,comp.lang.asm.x86,news.answers,alt.answers,comp.answers
|
|
Subject: x86 Assembly Language FAQ - Microsoft MASM
|
|
Supersedes: <5h6e2s$b4q@reader1.news.act.net>
|
|
Followup-To: alt.lang.asm,comp.lang.asm.x86
|
|
Date: 21 Apr 1997 21:24:51 GMT
|
|
Organization: MoonWare
|
|
Lines: 236
|
|
Approved: news-answers-request@MIT.EDU
|
|
Distribution: world
|
|
Expires: Tue, 20 May 1997 23:59:59 GMT
|
|
Message-ID: <5jglv3$ijs@news.dgsys.com>
|
|
Reply-To: raymoon@moonware.dgsys.com
|
|
Summary: This is the FAQ for the x86 Assembly Language programmers for the
|
|
alt.lang.asm and comp.lang.asm.x86 newsgroups. This particular section of
|
|
the FAQ contains x86 assembly information specific to the Microsoft MASM
|
|
assembler.
|
|
Keywords: x86 Assemby Language ASM FAQ Microsoft MASM
|
|
|
|
|
|
Archive-Name: assembly-language/x86/microsoft
|
|
Posting-Frequency: monthly (21st of every month)
|
|
Last-modified: 1996/04/20
|
|
|
|
------------------------------
|
|
|
|
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://www2.dgsys.com/~raymoon/faq/asmfaq.zip
|
|
As html documents:
|
|
http://www2.dgsys.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
|
|
FAQ.
|
|
|
|
assembly-language/x86/general/part3 - This is a continuation of the above
|
|
FAQ.
|
|
|
|
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 Debugger.
|
|
|
|
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
|
|
hands.
|
|
|
|
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.
|
|
|
|
Author: Raymond Moon, raymoon@moonware.dgsys.com
|
|
Copyright 1997 - Raymond Moon
|
|
ALL RIGHTS RESERVED
|
|
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. Microsoft's MASM Newsgroup NEW
|
|
7. 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:
|
|
|
|
ftp://ftp.microsoft.com/softlib/mslfiles/ML611D.EXE
|
|
|
|
ML611D.EXE is a self-extracting file which when executed will create the
|
|
following files:
|
|
|
|
ERRMSG.TXT PATCH.RTP
|
|
H2INC.EXE PATCH.RTD
|
|
H2INC.ERR README.TXT
|
|
ML611D.TXT SUPPORT.TXT
|
|
PATCH.EXE
|
|
|
|
All the instructions for installing the patch are contained in ML611D.TXT.
|
|
|
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
|
Last Changed: 2 Dec 95
|
|
|
|
------------------------------
|
|
|
|
Subject: 4. What Is and How to Access the Microsoft Knowledge Base
|
|
|
|
|
|
4.1 WHAT IS 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.
|
|
|
|
4.2 HOW TO OBTAIN INDEX.TXT
|
|
|
|
ftp://ftp.microsoft.com/developr/masm/kb/index.txt
|
|
|
|
This index still is available with the last entry dated Aug 96.
|
|
|
|
4.3 FILE FORMAT OF INDEX.TXT
|
|
|
|
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
|
|
subdirectory,
|
|
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.
|
|
|
|
4.4 GETTING FILES
|
|
|
|
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
|
|
|
|
4.5 HOW TO ACCESS THE KNOWLEDGE BASE USING GOPHER
|
|
|
|
There no longer is gopher access to microsoft.com
|
|
|
|
4.6 HOW TO ACCESS USING WWW
|
|
|
|
Microsoft has removed the MASM option from the their www KB search.
|
|
|
|
Another www site for this knowledge base also is available. It is:
|
|
http://emwac.ed.ac.uk/html/kb/masm.html
|
|
To use this site, you must know the Q number.
|
|
|
|
4.7 SOME EXAMPLE FILES FROM THE MICROSOFT KNOWLEDGE BASE
|
|
|
|
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
|
|
Workbench.
|
|
|
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
|
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.
|
|
|
|
ftp://ftp.intel.com/pub/IAL/pentium/p5masm.mac
|
|
|
|
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
|
|
|
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
|
Last Changed: 8 Jan 95
|
|
|
|
------------------------------
|
|
|
|
Subject 6. Microsoft's MASM Newsgroup NEW
|
|
|
|
Microsoft has create a whole family of newsgroups devoted to their
|
|
products. One of these new newsgroups is devoted to MASM. Its URL is
|
|
|
|
news:msnews.microsoft.com/microsoft.public.masm
|
|
|
|
Contributor: Raymond Moon, raymoon@moonware.dgsys.com
|
|
Last Changed: 20 Apr 97
|
|
|
|
------------------------------
|
|
|
|
Subject: 7. 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
|
|
|