Как скомпилировать .com файл?

Discussion in 'WASM.BEGINNERS' started by ASTAPP, Apr 25, 2009.

  1. ASTAPP

    ASTAPP New Member

    Blog Posts:
    0
    Joined:
    Apr 18, 2009
    Messages:
    2
    Как в WinAsm скомпилировать .com файл?
    Компилятор: MASM
     
  2. SII

    SII Воин против дзена

    Blog Posts:
    0
    Joined:
    Oct 31, 2007
    Messages:
    1,483
    Location:
    Подмосковье
    Трансляция файла выполняется как обычно, но вот компоновщик (линкер на жаргоне) во всех более-менее новых версиях МАСМа делать COM-файлы уже не умеет. Поэтому надо либо искать старую версию, либо пользоваться каким-нибудь другим компоновщиком.
     
  3. _basmp_

    _basmp_ New Member

    Blog Posts:
    0
    Joined:
    Jul 10, 2005
    Messages:
    2,939
    org 100

    link --> dos.exe
    exe2bin

    mv *.bin *.com
     
  4. S_Alex

    S_Alex Alex

    Blog Posts:
    0
    Joined:
    Aug 27, 2004
    Messages:
    561
    Location:
    Ukraine
    В masm10 есть ликер link16 вот им можно собрать. Ключик /TINY.

    Code (Text):
    1. .model TINY
    2. .code
    3. org 100h
    4. Start:
    5. nop
    6. int 20h
    7. end Start
    А это лог командной строки:

    C:\masm32\bin>ml /c com.asm
    Microsoft (R) Macro Assembler Version 6.14.8444
    Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

    Assembling: com.asm

    C:\masm32\bin>link16 /tiny com

    Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
    Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

    Run File [com.com]:
    List File [nul.map]:
    Libraries [.lib]:
    Definitions File [nul.def]:
    LINK : warning L4045: name of output file is 'com.com'

    C:\masm32\bin>
     
  5. shoo

    shoo New Member

    Blog Posts:
    0
    Joined:
    Jul 17, 2003
    Messages:
    1,537
    Location:
    Ukraine
    отвечаю на вопрос:
    - нужно создать проект из шаблона DOS\DosCom
    - в папке masm32\bin должен находиться link16.exe (переименованный 16-битный link.exe)

    ключи компиляции: /c
    ключи линковки: /tiny