IceStudent а я думал, ещё что-то добавили.(надо же как-то фасму противостоять) вообщем ясно, фасм продолжает рулить...
Да, фасм рулит! Я раньше масмом пользовался, но меня от него прям тошнит, недавно на фасм перешел и аж писать стало приятно
Рулит. В канаву. Один товарищ сказал, что фасм превратил ассемблер в говно. Практически визуал бейсик. Полностью с ним согласен.
cresta что бы тут не флеймить, лучше переместимся в http://wasm.ru/forum/index.php?action=vthread&forum=10&topic=12706 , я посмотрю сколько у тебя аргументов, по поводу "отстойности" фасма.
IceStudent Не ты ли его начинаешь? ) Тема касается изменений в пакете масма, а не того, начинает, продолжает или заканчивает рулить фасм и кого от чего тошнит и т.п.
Ms Rem <font color="red]<></font><!--color--> это ли не наследство VB и Delphi из-за этого мало использую фасм, раздражает
Не хочешь, не пользуйся. Фасм тем хорош, что он черезвычайно гибок. На нем можно писать исполнимые файлы абсолютно любого формата (чего не скажешь о масме). Я в фасме ценю прежде всего низкоуровневые возможности, такие как компиляция в бинарный файл, ручное описание импорта, отсутствие линкования (что дает полный контроль над результатом). А высокоуровневые макросы я не уважаю, имхо они что в масме что в фасме превращают ассемблер в подобие VB. Если не наравятся какие-либо макросы, то всегда можно написать свои. В масме мне не нравиться прежде всего необходимость линковки и некоторая нелогичность синтаксиса. Фасм же не ограничивает возможности программиста, что хочу - то и пишу без всяких ограничений.
<> с этим поделать ничего нельзя, потому что по задумке автора "!" не является специальным символом, например с "!" могут начинаться метки что вобщем-то сделано совершенно напрасно что до не логичного синтаксиса то некоторым наоборот синтаксис фасма кажется не логичным
Фасм -- это возрастное (детское) заболевание, такое как, например, подростковые прыщи. Увлечение фасмом можно рассматривать как определенные симптомы... своего рода признак, характеризующий возраст и опыт в ассемблере (с определенной долей вероятности) заболевшего. Фасм пригоден только для "несерьёзных" задач, таких как демки или вирусы, и для всяческих небольших программок. Ни для каких серьёзных целей фасм не пригоден, и отсутствие линковки тут играет немалую роль. Чтобы понять, как отсутствие линковки превращает фасм в детскую игрушку, неплохо вспомнить, зачем линковка была собственно придумана: 1. Использование библиотек и чужого кода вне зависимости от языка, на котором они написаны. Рано или поздно понадобится линковать ассемблерные программы с либами на, допустим, Си. ZLib, RSARef/RSAEuro, мат. либы вроде Miracl'а и тд и тп -- всё это может понадобиться и всё это написано не на ассемблере. Или обратная задача -- хлл программа, использующая ассемблерные модули. Тоже болт. 2. Разделение кода на отдельные модули, которые компилируются отдельно и линкуются. Допустим, у нас имеется Большой код, который навороченным билд-сервером компилируется не меньше 20 минут (предположим, цельная ОС или прошивка/BIOS). Не имея возможности разбить код на модули, при внесении изменений/добавлении нового кода придется вместо компиляции отдельных модулей выполнять весь процесс заново. Благодаря тому, что фасм -- это всё таки ассемблер, а не компилятор .net, скорость значительно быстрее... но всё же... лишняя работа, даже быстро сделанная, остается лишней. Кстати, по поводу столь обожающих фасм "писателей осей". Не знаю, соответствует ли это действительности, но мне кажется, что мысль сделать "свою ось" появляется у человека, который только-только освоил протмоду и делает первые шаги в ассемблере. Это моё личное убеждение, подкрепленное своей аналогичной мыслью, появившейся в ~14 лет после прочтения книги "Защищенный режим процессоров 80286/80386/80486" Фроловых. Насчет супер-пригодности фасма для написаниия осей из-за независимости от форматов замечу, что операционные системы (настоящие, а не уродливые самоделки) для х86 пишут уже ~20 лет и ещё никто не жаловался. А в качестве примера можно привести сорцы Award BIOS 6.0, которые написаны на масме. И наконец, отладка. Большие программы на ассемблере требуют отладки, а фасм, насколько мне известно, никакой символьной информации для отладки не производит. Ну а про синтаксис/макросы я промолчу, т.к. уникальные авторские за.бы от создателей фасма -- это "тема для отдельного большого разговора". Хау.
Нет, всё же не удержались. ОК. 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.. Глупости. Из-за консерваторов-любителей масма и большого объёма масмовского кода происходят такие переборы. С другой стороны, это всего лишь библиотека макросов, не нравится — не используй, отказаться от неё очень легко, не то, что от захардкоденных "фич" масма. В принципе, и некоторые встраиваемые фичи фасма не нравятся лично мне, но это их одна-две.
Я с этим несогласен. Фасм имеет возможность компиляции в MS COFF формат, поэтому можно легко использовать линковку если она вдруг понадобиться. Нифига, я с успехом использую модули написаные на фасме и в VC++ и в Delphi Немалованым фактом является открытость исходников фасма. Я уже неоднократно переделывал его движок под свои цели. Я думаю что врядли не имея исходников можно внести какие-либо серьезные изменения хотя-бы в тот же масм. Как и сказал BC, фасм хорошо подходит для низкоуровневых выкрутас, тапи вирусов. Собственно для этой цели мне и нужен ассемблер, так как большие проекты писать на ассемблере совсем нецелесообразно.
_BC_ В точку, как говорится, лучше и не скажешь! Для сорцов на сотню-другую строк чем угодно можно пользовататься, для чего-то большего фасм абсолютно не пригоден