Где можно скачать TASM?

Тема в разделе "WASM.BEGINNERS", создана пользователем Den_Zurin, 5 окт 2010.

  1. Den_Zurin

    Den_Zurin New Member

    Публикаций:
    0
    Регистрация:
    29 фев 2008
    Сообщения:
    4
    Подскажите, где можно найти TASM 5.0 для DOS?
    Чтобы можно было создавать 16-разрядные COM-приложения.
    Версия, выложенная здесь в разделе инструментов (http://wasm.ru/toollist.php?list=7), урезанная, в ней только 32-разрядный ассемблер.
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
  3. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    это не мешает создавать проги под dos.
     
  4. KIV

    KIV Member

    Публикаций:
    0
    Регистрация:
    16 июл 2009
    Сообщения:
    231
    Добавлю, что существует в версиях и под DOS и под Linux и под Windows, написан сам на себе. За основу синтаксиса был взят MASM, но были убраны некоторые нелогичности и добавлен очень мощный макроязык.
     
  5. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    За основу был взят TASM
     
  6. Tronix

    Tronix Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    122
    мешает создовать COM файлы. tlink32 не может.
     
  7. Den_Zurin

    Den_Zurin New Member

    Публикаций:
    0
    Регистрация:
    29 фев 2008
    Сообщения:
    4
    AsmGuru62, спасибо за ссылку, но я уже нашел.
    Вот: http://asmlib.narod.ru/files/tasm16.rar
    В архиве есть файлы TASM.EXE, TLINK.EXE и TD.EXE, которых не хватает в выложенной здесь версии.
    Насчет FASM - как я понял, у него свой синтаксис, отличный от MASM/TASM. Или его можно перевести в режим совместимости?
     
  8. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    моя порция советов из серии - "не берите то, берите это"

    http://ftp.heanet.ie/pub/openwatcom/
    возьмите пакет под дос. там и С, и С++, и линкер, и асм с масмоподобным синтаксисом. зовется wasm.
    (впрочем, досовый пакет я никогда не использовал. выне-линевый вполне могут делать проги для доса)
     
  9. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Den_Zurin
    Насколько я понимаю, основное отличие - это выражения адреса.
    Если нужен адрес, то выражение без квадратных скобок [].
    Если нужно содержимое адреса, то выражение взято в квадратные скобки.
    Например:
    Код (Text):
    1. Array DB 'Hello',0
    2.  
    3. ...
    4.  
    5. MOV DX, Array      ; Load address of Array into DX
    6. MOV AL, [Array+1]   ; Load character 'e' into AL
     
  10. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    Тут загвоздка вот в чём: для регистров их имя означает значение, а вот символические имена — как бог на душу положит. MASM иногда берёт адрес, иногда содержимое по адресу. TASM.IDEAL/FASM более консистентны: символическое имя — всегда адрес, не содержимое. Ну и интерпретация квадратных скобок в MASM хоть и прямолинейна, но заковыриста.
     
  11. KIV

    KIV Member

    Публикаций:
    0
    Регистрация:
    16 июл 2009
    Сообщения:
    231
    Отличия FASM и TASM:
    вся информация необходимая для компиляции файла хранится в самом исходнике. В начале идёт директива format, с помощью которой указывается выходной формат - ELF, ELF64, PE, PE64, COFF, MS COFF или Binary (по умолчанию, если директива не указана). Соответсвенно линкер нужен только если в ассемблерном исходнике не весь код и его надо слинковать с другими модулями. Для этого служит выходной формат COFF или ELF. Последний может быть сразу исполняемым (если написать format ELF executable).
    mov ax, abc всегда помещает в ax адрес abc, а mov ax, [abc] всегда помещает туда значение. Таким образом устраняется неоднозначность. И наконец имя сегментного регистра всегда внутри скобок. То есть mov ax, [es:si], а не mov ax, es:[si]. Остальные отличия связаны только с макроязыком. Никаких режимов совсестимости у FASM нет.