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

Тема в разделе "WASM.BEGINNERS", создана пользователем ASTAPP, 25 апр 2009.

  1. ASTAPP

    ASTAPP New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2009
    Сообщения:
    2
    Как в WinAsm скомпилировать .com файл?
    Компилятор: MASM
     
  2. SII

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

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

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    org 100

    link --> dos.exe
    exe2bin

    mv *.bin *.com
     
  4. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    В masm10 есть ликер link16 вот им можно собрать. Ключик /TINY.

    Код (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

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    отвечаю на вопрос:
    - нужно создать проект из шаблона DOS\DosCom
    - в папке masm32\bin должен находиться link16.exe (переименованный 16-битный link.exe)

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