создание бинарных файлов в TASM

Тема в разделе "WASM.BEGINNERS", создана пользователем tender_swallow, 16 май 2007.

  1. tender_swallow

    tender_swallow New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    45
    Подскажите кто знает, как в TASMе делать не obj файл, а bin файл?
     
  2. Stub

    Stub New Member

    Публикаций:
    0
    Регистрация:
    11 май 2004
    Сообщения:
    311
    Адрес:
    Siberia
    Смотри про компиляцию файлов в TASM: http://www.wasm.ru/forum/viewtopic.php?id=10993
     
  3. tender_swallow

    tender_swallow New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    45
    Прочитал, но не нашел как же делать выходной формат .bin, а по умолчанию у меня .obj.

    Может TASM не поддерживает другие выходные форматы?
     
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    tender_swallow
    tasm /x /t 1.asm
     
  5. tender_swallow

    tender_swallow New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    45
    Единственное, что удалось сделать похожее на .bin так это .com.
    Вот, например, в NASM задаешь в командной строке ключ -fbin и пожалуйста получите бинарный файл. Я думал, что и в TASM есть что-то похожее, да как видно нет.
     
  6. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Может имелся ввиду не TASM, а TLINK ? Тогда надо просто задать принудительно расширение выходного файла.
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    У COM файлов чистый бинарный формат. Так что это не похожее, а тоже самое
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    проще всего это сделать в fasm'е
     
  9. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Great Может речь об org'ах не 100h ?
    tender_swallow Какая конкретно задача?
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну это кому как больше нравится )
    COM можно собрать с любой базой, правда при загрузке по смещению 0х100 будут проблемы)
    Ведь никто не мешает написать org 200h и собрать com. правда выполнять его нельзя будет)
    я имел в виду просто то, что формат у кома чистый бинарный.
     
  11. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Great
    AFAIK в TASM'е com собрать с базой отличающейся от 100h нельзя, т.к. линкер выдает "Invalid initial entry point address". Хотя, как обычно, могу ошибаться. Поэтому поправьте пожалуйста, если ошибаюсь.
     
  12. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    http://www.wasm.ru/forum/viewtopic.php?pid=143098#p143098
     
  13. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Tasm это ассемблер - он создаёт объектные модули.
    Хочеш бинарник - используй линкер.

    Код (Text):
    1. tasm /m prog.asm
    2. tlink /t prog.obj, prog.bin
    Нужно линкеру ОБЯЗАТЕЛЬНО указывать формат выходного файла.
    Потому что по дефолту это .com, и начальный адрес должен быть 100h.
    При явном указании выходного файла с расширением отличным от .com линкер создаст этот файл с любым стартовым адресом.
     
  14. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    tlink не создаёт .com файлы с стартовым дресом отличным от 100h - он ошибку выкинет.
     
  15. tender_swallow

    tender_swallow New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    45
    Я это знаю, и, когда начинал тему, имел в виду не транслятор tasm.exe, а весь пакет TASM. А за подсказку на явное указание выходного файла компоновщику спасибо:). Все действительно работает как надо.
     
  16. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    его можно пропатчить на предмет raw-формата, а именно отрубить ряд проверок при создании .com-файла в tasm.exe и tlink.exe. Они не имеют каких-либо принципиальных ограничений для создания raw, исключительно проверки.
     
  17. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    имхо проще дописать 4 символа в командной строке. :derisive:
     
  18. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    патчить все равно придется, т.к. не пройдет проверка на org>64K или размере>64K ==> Location counter overflow (как error, так и warning).