masm vs fasm

Тема в разделе "WASM.HEAP", создана пользователем dead_body, 10 дек 2005.

  1. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Нда. Что нового — тут же написано.
     
  3. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    IceStudent

    а я думал, ещё что-то добавили.(надо же как-то фасму противостоять) вообщем ясно, фасм продолжает рулить...
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Да, фасм рулит!

    Я раньше масмом пользовался, но меня от него прям тошнит, недавно на фасм перешел и аж писать стало приятно :)
     
  5. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257




    Рулит. В канаву.



    Один товарищ сказал, что фасм превратил ассемблер в говно. Практически визуал бейсик.

    Полностью с ним согласен.
     
  6. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    cresta



    Давайте без очередного холивара. Каждому своё.
     
  8. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Где визуал бейсик? Тыкни пальцем пожалуйста.
     
  9. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    IceStudent





    Не ты ли его начинаешь? :)) Тема касается изменений в пакете масма, а не того, начинает, продолжает или заканчивает рулить фасм и кого от чего тошнит и т.п.
     
  10. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Ну вот, приехали. Я пытаюсь остановить его, а не защищать масм/фасм.
     
  11. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Ms Rem



    <font color="red]<></font><!--color--> это ли не наследство VB и Delphi



    из-за этого мало использую фасм, раздражает
     
  12. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Не хочешь, не пользуйся. Фасм тем хорош, что он черезвычайно гибок. На нем можно писать исполнимые файлы абсолютно любого формата (чего не скажешь о масме).

    Я в фасме ценю прежде всего низкоуровневые возможности, такие как компиляция в бинарный файл, ручное описание импорта, отсутствие линкования (что дает полный контроль над результатом).

    А высокоуровневые макросы я не уважаю, имхо они что в масме что в фасме превращают ассемблер в подобие VB.

    Если не наравятся какие-либо макросы, то всегда можно написать свои.

    В масме мне не нравиться прежде всего необходимость линковки и некоторая нелогичность синтаксиса.

    Фасм же не ограничивает возможности программиста, что хочу - то и пишу без всяких ограничений.
     
  13. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    <> с этим поделать ничего нельзя, потому что

    по задумке автора "!" не является специальным

    символом, например с "!" могут начинаться метки

    что вобщем-то сделано совершенно напрасно



    что до не логичного синтаксиса то некоторым наоборот синтаксис

    фасма кажется не логичным :derisive:
     
  14. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Фасм -- это возрастное (детское) заболевание, такое как, например, подростковые прыщи. Увлечение фасмом можно рассматривать как определенные симптомы... своего рода признак, характеризующий возраст и опыт в ассемблере (с определенной долей вероятности) заболевшего. Фасм пригоден только для "несерьёзных" задач, таких как демки или вирусы, и для всяческих небольших программок. Ни для каких серьёзных целей фасм не пригоден, и отсутствие линковки тут играет немалую роль. Чтобы понять, как отсутствие линковки превращает фасм в детскую игрушку, неплохо вспомнить, зачем линковка была собственно придумана:

    1. Использование библиотек и чужого кода вне зависимости от языка, на котором они написаны. Рано или поздно понадобится линковать ассемблерные программы с либами на, допустим, Си. ZLib, RSARef/RSAEuro, мат. либы вроде Miracl'а и тд и тп -- всё это может понадобиться и всё это написано не на ассемблере. Или обратная задача -- хлл программа, использующая ассемблерные модули. Тоже болт. ;)

    2. Разделение кода на отдельные модули, которые компилируются отдельно и линкуются. Допустим, у нас имеется Большой код, который навороченным билд-сервером компилируется не меньше 20 минут (предположим, цельная ОС или прошивка/BIOS). Не имея возможности разбить код на модули, при внесении изменений/добавлении нового кода придется вместо компиляции отдельных модулей выполнять весь процесс заново. Благодаря тому, что фасм -- это всё таки ассемблер, а не компилятор .net, скорость значительно быстрее... но всё же... лишняя работа, даже быстро сделанная, остается лишней.

    Кстати, по поводу столь обожающих фасм "писателей осей". Не знаю, соответствует ли это действительности, но мне кажется, что мысль сделать "свою ось" появляется у человека, который только-только освоил протмоду и делает первые шаги в ассемблере. Это моё личное убеждение, подкрепленное своей аналогичной мыслью, появившейся в ~14 лет после прочтения книги "Защищенный режим процессоров 80286/80386/80486" Фроловых.

    Насчет супер-пригодности фасма для написаниия осей из-за независимости от форматов замечу, что операционные системы (настоящие, а не уродливые самоделки) для х86 пишут уже ~20 лет и ещё никто не жаловался. А в качестве примера можно привести сорцы Award BIOS 6.0, которые написаны на масме.

    И наконец, отладка. Большие программы на ассемблере требуют отладки, а фасм, насколько мне известно, никакой символьной информации для отладки не производит.

    Ну а про синтаксис/макросы я промолчу, т.к. уникальные авторские за.бы от создателей фасма -- это "тема для отдельного большого разговора".

    Хау.
     
  15. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Нет, всё же не удержались. ОК.



    Asterix



    Где-то был пост S_T_A_S_, в котором он неплохо аргументировал, что masm - деревянный и мёртвый. Советую прочитать его. По поводу твоего замечания скажу лишь то, что у масма намного больше вещей, "с которыми поделать ничего нельзя". Пусть <> будет минусом фасма, но у масма их больше.



    _BC_

    Не инструмент определяет задачу, а задача определяет инструмент. ТО, что фасм пригоден (и оч. удобен) для маленьких программ (демок,утилит,вирусов, прочее) вовсе не значит, что он этим ограничен.





    Что значит отсутствие? Всего лишь то, что в комплекте с ним не идёт линкер. Всё. Вы сравниваете пакеты (masm32 и fasm), но речь идёт о ассемблерах. И то, что fasm как ассемблер прекрасно справляется с генерацией любого формата данных (вы, надеюсь, помните код, генерящий bmp, png (если не спутал)? знаете ли о возможности проводить вычисления при реализации, например, криптоалгоритмов одними лишь макросредствами?) — это неоспоримое преимущество.





    Нет никакого болта. Берём линкер и вперёд.





    Фасм обработает его на порядок быстрее, это раз. В фасме никто не запрещает использовать модули, это два.





    Лирическое отступление :)





    Консерватизм и не более того. Когда писали BIOS, фасма и в помине не было. Естесственно, писать код на чём-то надо было. Правда, логичнее было бы выбрать tasm, как менее бажный и с более "чистым" синтаксисом, но.. влияние MS.





    Да, справедливое замечание. Символьной информации нет. Имхо, это потому, что во-первых, формат от MS (PDB) закрыт, во-вторых, кроссплатформенность. Генерировать свой? А кто его поддержит? Конечно, генерилось бы что-то наподобие MAP — уже легче. Или поддержка отладочной информации, которую использует GDB (но о последнем я ничего не знаю).

    Но в принципе возможность такую добавить не так уж и сложно. Между прочим, S_T_A_S_ экспериментировал в этой области и получалось генерировать pdb при помощи отдельного скрипта.

    Да, отладки нет, но это можно отнести к общим недостаткам open-source проектов.





    Синтаксис, между прочим, строился на ideal-режиме tasm'a и вполне логичен. То, что вы привыкли к масму — это не аргумент. С макросредствами fasm'a по моему мнению не так уж и плохо, но вот то, во что превращается макробиблиотека — эта жалкая эмуляция masm'a.. Глупости. Из-за консерваторов-любителей масма и большого объёма масмовского кода происходят такие переборы. С другой стороны, это всего лишь библиотека макросов, не нравится — не используй, отказаться от неё очень легко, не то, что от захардкоденных "фич" масма.

    В принципе, и некоторые встраиваемые фичи фасма не нравятся лично мне, но это их одна-две.
     
  16. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    Я с этим несогласен. Фасм имеет возможность компиляции в MS COFF формат, поэтому можно легко использовать линковку если она вдруг понадобиться.





    Нифига, я с успехом использую модули написаные на фасме и в VC++ и в Delphi



    Немалованым фактом является открытость исходников фасма. Я уже неоднократно переделывал его движок под свои цели. Я думаю что врядли не имея исходников можно внести какие-либо серьезные изменения хотя-бы в тот же масм.



    Как и сказал BC, фасм хорошо подходит для низкоуровневых выкрутас, тапи вирусов. Собственно для этой цели мне и нужен ассемблер, так как большие проекты писать на ассемблере совсем нецелесообразно.
     
  17. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    _BC_

    В точку, как говорится, лучше и не скажешь! Для сорцов на сотню-другую строк чем угодно можно пользовататься, для чего-то большего фасм абсолютно не пригоден
     
  18. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


    очень даже спорный вопрос :)
     
  19. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Так давай обсудим спорность этого вопроса.
     
  20. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    Ms Rem

    Ну, давай, почему тебе кажется что писать большие проекты на ассемблере нецелесообразно?