home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / assembly-language / x86 / microsoft < prev   
Encoding:
Text File  |  2000-03-22  |  12.4 KB  |  331 lines

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!newsfeed.mathworks.com!portc01.blue.aol.com!portc.blue.aol.com!feed.newsreader.com!news!not-for-mail
  2. From: raymoon@ms1.dgsys.com (Raymond Moon)
  3. Newsgroups: alt.lang.asm,comp.lang.asm.x86,news.answers,alt.answers,comp.answers
  4. Subject: x86 Assembly Language FAQ - Microsoft MASM
  5. Supersedes: <89sf2l$stn$4@news.dgsys.com>
  6. Followup-To: alt.lang.asm,comp.lang.asm.x86
  7. Date: 21 Mar 2000 23:03:51 GMT
  8. Organization: MoonWare
  9. Lines: 305
  10. Approved: news-answers-request@MIT.EDU
  11. Distribution: world
  12. Expires: Thu, 20 Apr 2000 23:59:59 GMT
  13. Message-ID: <8b8v4n$n7i$4@news.dgsys.com>
  14. Reply-To: raymoon@moonware.dgsys.com
  15. NNTP-Posting-Host: dgs.dgsys.com
  16. X-Trace: news.dgsys.com 953679831 23794 207.154.12.1 (21 Mar 2000 23:03:51 GMT)
  17. X-Complaints-To: usenet@news.dgsys.com
  18. NNTP-Posting-Date: 21 Mar 2000 23:03:51 GMT
  19. Summary: This is the FAQ for the x86 Assembly Language programmers for
  20.  the alt.lang.asm and comp.lang.asm.x86 newsgroups.  This particular
  21.  section of the FAQ contains x86 assembly information specific to the
  22.  Microsoft MASM assembler.
  23. Keywords: x86 Assembly Language ASM FAQ Microsoft MASM
  24. X-Newsreader: TIN [UNIX 1.3 950824BETA PL0]
  25. Xref: senator-bedfellow.mit.edu alt.lang.asm:25273 comp.lang.asm.x86:83706 news.answers:179902 alt.answers:47943 comp.answers:40155
  26.  
  27. Archive-Name: assembly-language/x86/microsoft
  28. Posting-Frequency: monthly (21st of every month)
  29. Last-modified: 2000/03/18
  30.  
  31. ------------------------------
  32.  
  33. Subject: 1.  Introduction and Intent
  34.  
  35. This is the x86 Assembly Language FAQ for the comp.lang.asm.x86 and
  36. alt.lang.asm newsgroups.  This FAQ is posted monthly on or about the
  37. 21st of the month to both newsgroups and news.answers, alt.answers and
  38. comp.answers.  It also is archived at the normal FAQ archival site,
  39. ftp://rtfm.mit.edu and to SimTel and its mirror sites in the msdos/info
  40. directory and Garbo and its mirrors in the pc/doc-net directory.  When
  41. uploaded to SimTel or Garbo, the filenames are asmxxyyz.zip, where xx is
  42. the two digit year, yy is the number of the month and z is t for text or
  43. h for HTML format.  Lastly, the current version is available from my web
  44. page as:
  45.     As text files:
  46.         http://www2.dgsys.com/~raymoon/faq/asmfaq.zip
  47.     As HTML documents:
  48.         http://www2.dgsys.com/~raymoon/faq/asmfaqh.zip
  49. Currently, this FAQ is broken into six sections.  The following are the
  50. section filenames and the scope of each section of the FAQ.
  51.  
  52. assembly-language/x86/general/part1 - This is the basic portion of the
  53.     FAQ that contains information of interest to all assembly language
  54.     programmers.  In general, the information contained in this portion
  55.     of the FAQ is not specific to any particular assembler.
  56. assembly-language/x86/general/part2 - This is a continuation of the
  57.     above FAQ.
  58. assembly-language/x86/general/part3 - This is a continuation of the
  59.     above FAQ.
  60. assembly-language/x86/microsoft - This portion of the FAQ contains
  61.     information specific for the Microsoft MASM.
  62. assembly-language/x86/borland - This portion of the FAQ contains
  63.     information specific for the Borland TASM.
  64. assembly-language/x86/a86 - This portion of the FAQ contains information
  65.     specific for the Shareware A86 Assembler and D86 Debugger.
  66.  
  67. The scope and content of this FAQ is to go beyond just answering the
  68. frequently asked questions.  I am including pointers to assembly
  69. language treasure troves that are hidden on the Internet.  I believe
  70. that this will enhance the FAQÆs value not only to the novices but also
  71. to the old hands.
  72.  
  73. For the ease of determining what has changed since the last FAQ, the
  74. Table of Contents will have "REVISED" at the end of the subject line for
  75. all revised subjects.  If more than one FAQ revision has been missed,
  76. the "Last Changed:" entry at the end of each subject can be used to
  77. determine which subjects have been revised during the intervening
  78. period.
  79.  
  80. The information in this FAQ is free for all to use as long as you
  81. acknowledge the source.  This FAQ can be reproduced in part or in its
  82. entirety as long as the copyright is included.  This FAQ can be made
  83. available on public servers, like ftp, gopher or WWW servers.  Please do
  84. not modify the file, such as converting it into some other format,
  85. without prior permission of the author.
  86.  
  87. All references to files and locations are in Uniform Resource Locators
  88. (URLs) format.  Some web browser will be able to use these URLs directly
  89. as hot links.  If the format is not clear to you, get RFC 1738.  It is
  90. available from:
  91.     http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1738.txt
  92.  
  93. Suggestions for changes and comments are always welcome.  They can be
  94. posted to either newsgroup or e-mailed directly to me.
  95.  
  96. Author: Raymond Moon, raymoon@moonware.dgsys.com
  97. Copyright 2000 - Raymond Moon
  98. ALL RIGHTS RESERVED
  99. Last Changed: 5 Feb 2000
  100.  
  101. ------------------------------
  102.  
  103. Subject: 2.  Table Of Contents
  104.  
  105. 1.  Introduction and Intent
  106. 2.  Table Of Contents                                       REVISED
  107. 3.  How to Get the Patch for MASM 6.11
  108. 4.  What is and How to Access the Microsoft Knowledge Base
  109. 5.  Pentium Instruction Macros
  110. 6.  MicrosoftÆs MASM Newsgroup
  111. 7.  MASM Information Available At www.microsoft.com         REVISED
  112. 8.  How to Get the Patch for MASM 6.12, 6.13 and 6.14
  113. 9.  MASM Free From Microsoft
  114. 10. Acknowledgments
  115.  
  116. ------------------------------
  117.  
  118. Subject: 3.  How to Get the Patch for MASM 6.11
  119.  
  120. There is a patch available from Microsoft for MASM 6.11.  This patch
  121. converts MASM 6.11 or 6.11a into the latest version MASM 6.11d.  This
  122. patch will not work on MASM 6.11c.
  123.  
  124. To obtain this patch:
  125.  
  126.     ftp://ftp.microsoft.com/softlib/mslfiles/ML611D.EXE
  127.  
  128. ML611D.EXE is a self-extracting file which when executed will create the
  129. following files:
  130.  
  131.     ERRMSG.TXT      PATCH.RTP
  132.     H2INC.EXE       PATCH.RTD
  133.     H2INC.ERR       README.TXT
  134.     ML611D.TXT      SUPPORT.TXT
  135.     PATCH.EXE
  136.  
  137. All the instructions for installing the patch are contained in
  138. ML611D.TXT.
  139.  
  140. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  141. Last Changed: 20 Mar 98
  142.  
  143. ------------------------------
  144.  
  145. Subject: 4.  What is and How to Access the Microsoft Knowledge Base
  146.  
  147. 4.1  WHAT IS THE MICROSOFT KNOWLEDGE BASE
  148.  
  149. The Microsoft Knowledge Base (KB) is a collection of articles that is
  150. maintained and used by the Microsoft Support personnel to answer
  151. customer questions.  Included in the Knowledge Base are detailed how-to
  152. articles, answers to technical support questions, bug lists, fix lists,
  153. and documentation errors.  This Knowledge Base is available to all on
  154. Microsoft's Internet Node.  An index of all the articles is available in
  155. a file, index.txt.
  156.  
  157. 4.2  HOW TO OBTAIN INDEX.TXT
  158.  
  159.     ftp://ftp.microsoft.com/developr/masm/kb/index.txt
  160.  
  161. This index still is available with the last entry dated Aug 96.
  162.  
  163. 4.3  FILE FORMAT OF INDEX.TXT
  164.  
  165. The format of this file consists of three columns.
  166.  
  167.     Column One is the file type with the following meanings:
  168.         FIX     - Bug Fix
  169.         DOCERR  - Documentation Error
  170.         INF     - Information
  171.         PRB     - Problem
  172.         BUG     - Bug
  173.  
  174.     Column Two is the path and file name in the following format:
  175.         Qxxxyzz
  176.     where:      The part, 'Qxxx', is Q followed by two or three numbers
  177.                 and represents the first subdirectory under the
  178.                 subdirectory,
  179.             The part, 'y', is the next subdirectory under Qxxx, and
  180.             The part, 'zz', when combined with .txt' is the filename.
  181.  
  182.     ****WARNING**** Some of the Qs are uppercase and some are lower
  183.         case.  Unlike DOS, the filenames and directory names are case
  184.         sensitive.
  185.  
  186.     Column Three is a short description of the file.
  187.  
  188. 4.4  GETTING FILES
  189.  
  190. You can get all the files from the /developr/masm/kb directory without
  191. navigating this very strange directory structure by using the path in
  192. the get command.  As an example, let's say you want Q106399, a very
  193. useful file if you use Visual C++ (see below).  Using the parsing rules
  194. above, you can use the following get command:
  195.  
  196.     get q106/3/99.txt
  197.  
  198. 4.5  HOW TO ACCESS USING WWW
  199.  
  200. Microsoft has removed the MASM option from the their www KB search.
  201.  
  202. 4.6  SOME EXAMPLE FILES FROM THE MICROSOFT KNOWLEDGE BASE
  203.  
  204. Q86815  Mixed C and MASM with MASM Main Language, No C Run-Time
  205. Q86816  Mixed C and MASM with MASM Main Language, C Run-Time
  206. Q101264 Assembling Code Developed for MASM 5.x with MASM 6.x
  207. Q106399 Using the Visual Workbench with MASM
  208. Q110598 Spontaneous Assembly and MASM 6.11 Errors
  209. Q123729 Accessing Command Line Arguments
  210.  
  211. I have found Q106399 particularly helpful since I am really upset that
  212. Microsoft did not include direct support of MASM from within the Visual
  213. Workbench.
  214.  
  215. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  216. Last Changed: 9 Nov 96
  217. ------------------------------
  218.  
  219. Subject 5.  Pentium Instruction Macros
  220.  
  221. Macros that implement the new instructions available with the Pentium
  222. processor are available from Intel.
  223.  
  224.     ftp://ftp.intel.com/pub/IAL/pentium/p5masm.mac
  225.  
  226. The new macros are:
  227.     CMPXCHG8B   - Compare and exchange eight bytes
  228.     CPUID       - CPU Identification
  229.     RDTSC       - Read Time Stamp Counter
  230.     MOVTOCR4    - Move reg to CR4
  231.     MOVFROMCR4  - Move CR4 to reg
  232.     RDMSR       - Read Model Specific Register
  233.     WRMSR       - Write Model Specific Register
  234.     RSM         - Resume from SMM
  235.  
  236. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  237. Last Changed: 8 Jan 95
  238.  
  239. ------------------------------
  240.  
  241. Subject 6.  MicrosoftÆs MASM Newsgroup
  242.  
  243. Microsoft has create a whole family of newsgroups devoted to their
  244. products.  One of these new newsgroups is devoted to MASM.  Its URL is
  245.  
  246. news:msnews.microsoft.com/microsoft.public.masm
  247.  
  248. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  249. Last Changed: 20 Apr 97
  250.  
  251. ------------------------------
  252.  
  253. Subject 7.  MASM Information Available At www.microsoft.com     REVISED
  254.  
  255. MicrosoftÆs web site finally has a few pages to MASM.  This overview
  256. page has links to the following areas: features, system requirements,
  257. evaluation tools, standard, academic and volume pricing, FAQ, and
  258. support policies.  The basic URL is:
  259.  
  260.     http://www.microsoft.com/catalog/display.asp?subid=22&site=239&pg=1
  261.  
  262. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  263. Last Changed: 18 Mar 2000
  264.  
  265. ------------------------------
  266.  
  267. Subject 8. How to Get the Patches for MASM 6.12, 6.13 and 6.14
  268.  
  269. There are patches available to patch MASM 6.11 to update for support
  270. Pentium Pro and MMX instructions (Version 6.12) and AMD 3D instructions
  271. (Version 6.13).  Numerous bug fixes have been added.  You do not need to
  272. download each, ml613.exe contains everything to upgrade your 6.11, 6.11a
  273. or 6.11d.  Again, these patches will not upgrade MASM 6.11c
  274.  
  275.     ftp://ftp.microsoft.com/softlib/mslfiles/ML612.EXE
  276.     ftp://ftp.microsoft.com/softlib/mslfiles/ML613.EXE
  277.     ftp://ftp.microsoft.com/softlib/mslfiles/ML614.EXE
  278.  
  279. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  280. Last Changed: 18 Mar 2000
  281.  
  282. ------------------------------
  283.  
  284. Subject 9. MASM Free From Microsoft
  285.  
  286. 9.1  WHERE TO GET MASM
  287.  
  288. MASM Version 6.11d is available on the Windows 98 Driver Developer Kit.
  289. While the whole file is 18+ Meg file.  It can be downloaded in parts.
  290. You will need two files.  The URLs are:
  291.  
  292.     http://www.microsoft.com/ddk/download/98/BINS_DDK.EXE (2.9 MBytes)
  293.     http://www.microsoft.com/ddk/download/98/98SETUP.EXE  (1.9 MBytes)
  294.  
  295. After downloading each file, execute them to extract the files.  Then
  296. run the setup program.  MASM is the ml.exe file in the 98ddk/bin/win98
  297. directory.  It is version 6.11d that can be patched to 6.14.
  298.  
  299. 9.2  WHAT THIS MASM IS NOT
  300.  
  301. This is not the same as purchasing MASM product.  The linker is 32 bit
  302. and will not create 16-bit DOS programs.  Also, the ProgrammerÆs Work
  303. Bench nor CodeView for debugging are included in the full DDK.
  304.  
  305. NOTE: The linker that comes with the DDK will not produce 16-bit
  306. applications for DOS.  To do this, you must have MicrosoftÆs Linker
  307. version 5.63 that is available from MicrosoftÆs FTP site:
  308.  
  309.     ftp://ftp.microsoft.com/softlib/mslfiles/lnk563.exe
  310.  
  311. 9.3  JON KIRWAN MASM DOWNLOAD SITE
  312.  
  313. Jon Kirwan has a site that will walk you thorough downloading MASM and
  314. other Microsoft tools that came with the commercial package (but not
  315. all, as Microsoft has not released all of them). The URL to his site is:
  316.  
  317.     http://www.easystreet.com/~jkirwan/pctools.html
  318.  
  319. Contributor: Raymond Moon, raymoon@moonware.dgsys.com
  320. Last Changed: 20 Feb 2000
  321.  
  322. ------------------------------
  323.  
  324. Subject: 10.  Acknowledgments
  325.  
  326. I would like to acknowledge all the people who have assisted me or any
  327. of the contributors.  For their time and effort, this FAQ is a better
  328. product.
  329.  
  330. Barry Brey, Daniel Cardenas, Ville Muikkula and Kevin Weinrich.
  331.