Producing .com Files With MASM

Last reviewed: January 23, 1995
Article ID: Q24954
The information in this article applies to:
  • Microsoft Macro Assembler for MS-DOS, versions 1.25, 1.27, 3.0x, 4.0, 5.0, and 5.1

SUMMARY

The Microsoft Macro Assembler packages prior to version 6.0 cannot produce .com files without an additional utility. One such utility is EXE2BIN, which is included with MS-DOS. It can convert .EXE files which have only one segment and an origin of 100h to .COM files. For more information on this utility, refer to your DOS manuals or contact the company which supplied your version of MS-DOS.

MORE INFORMATION

MASM version 6.0 is the first version of the assembler to support the tiny model. Use the following steps the produce a .com file in MASM 6.0.

1) Use .model tiny. Declare logical segments using the simplified

   segment directives or full segment declarations.

   -or-

   Do not use the .model directive and assemble with /AT. Use full
   segment declarations.

2) Make sure that the first statement in the the code segment is
   ORG 100h.

3) Build the .com file.

   Compiling and linking in one step:
      If .model tiny was used, no options are needed. The linker
      will automatically receive the /TINY switch, the file
      extension on the file produced will be .com, and the
      executable is indeed a .com file.

   -or-

   Performing a separate link:
      Specify the /TINY option on the link command line. The linker
      will issue the following harmless warning

         L4045: name of output file is 'filename'

      where 'filename' will have a .com extension.


Additional reference words: kbinf 1.25 1.27 3.0x 4.00 5.00 5.10
KBCategory: kbtool
KBSubCategory: MLIss


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: January 23, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.