Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2008, 15:26   #11
Demonid7
 
Регистрация: 18.07.2008
Сообщений: 8
По умолчанию

Кстати, насчет либрар, вот несколько ссылочек, особенно меня добила последняя, когда человек так и не смог понять, для чего нужны 'все эти *.lib', в то же время требовал себе раздельную компиляцию модулей :D
1. http://forum.sources.ru/index.php?sh...4&view=showall
2. http://forum.sources.ru/index.php?sh...6&view=showall

Не хотелось бы таких "преемников" иметь А ведь фасм к этому косвенно и приучает.
Demonid7 вне форума Ответить с цитированием
Старый 18.07.2008, 15:45   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А мне МАСМ нравится, а кому-то NASM, какя разница, был бы моск в наличии )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.07.2008, 16:37   #13
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

FASM - open source, он обречён на популярность.
Я лично юзаю его из-за чистоты синтаксиса и гибкости. Моск имееццо
пыщь
JTG вне форума Ответить с цитированием
Старый 21.07.2008, 08:44   #14
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Я лично юзаю его из-за чистоты синтаксиса и гибкости.
у меня аналогично.
rpy3uH вне форума Ответить с цитированием
Старый 21.07.2008, 14:13   #15
Demonid7
 
Регистрация: 18.07.2008
Сообщений: 8
По умолчанию

Собственно и хотелось бы уточнить, что Вы понимаете под чистотой синтаксиса? А то понятие больно уж растяжимое И в чем проявляется гибкость? Что на нем можно сделать такого, чего нельзя в других?
Stilet, полностью согласен, тем более с опытом уже без разницы на чем писать, что есть под рукой, на том и пишешь. Но ведь все равно есть какие то предпочтения, вот и хотелось бы выяснить, что народу нравится в том, или ином ассемблере, а что не нравится и почему.
Demonid7 вне форума Ответить с цитированием
Старый 21.07.2008, 14:16   #16
Demonid7
 
Регистрация: 18.07.2008
Сообщений: 8
По умолчанию

Ах да, призывы типа "XXX assembler - ацтой!" за аргументы не считаются и не приветствуются. Я вообще не считаю корректным сравнивать различные компиляторы. Другое дело узнать их особенности, достоинства и недостатки.
Demonid7 вне форума Ответить с цитированием
Старый 21.07.2008, 15:11   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
есть какие то предпочтения
У меня лично предпочтений особых нет. Я пишу на МАСМ пока меня он устраивает.
Если изучу FASM и на нем будет удобнее решать задачи пересяду на него.
Макродвижок и готовые библы с описанием структур и фунок винды (линуха) - вот самое главное для меня.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.07.2008, 16:55   #18
Demonid7
 
Регистрация: 18.07.2008
Сообщений: 8
По умолчанию

Ну не знаю. Хотя и бывает, что пишу на масме, но предпочтение отдаю Lazy Assembler и tasm, поскольку у них есть несколько удобных, для меня, вещей.
Во первых, синтаксис IDEAL, основной принцип которого - безопасный и предсказуемый код. В этом режиме даже заблокированы высокоуровневые .IF, .WHILE и прочие, именно по соображениям безопасности.
Во вторых, удобное оформление подпрограмм, без использования всяких макросов. Причем синтаксис настолько универсален, что позволяет без переделок перекомпилировать сорсы под практически любую модель памяти и соглашения о вызовах.
В третьих, поля структур имеют не глобальный, а локальный характер, что позволяет в разных структурах использовать поля с одинаковыми именами. Наследование структур, например:
Код:
struc Point2D
  x dd ?
  y dd ?
ends

struc Point3D
  Point2D {}
  z dd ?
ends
Т.е. избавляет от лишней писанины (у других компиляторов не проверял).
В четвертых, "умный" вызов подпрограмм. Т.е. тасм сам определяет, какой код генерировать, в зависимости от модели памяти и соглашении о передачи параметров, но можно и переопределить. Очень удобно.
В пятых. Оптимизация кода. Т.е. он сам заметит, какие инструкции лучше заменить на аналогичные, но более экономные. В частности, для наглядности, я никогда не пишу "mov reg, offset Var", а "lea reg, [var]", прекрасно зная, что получу опкод мува. Оптимизация касается и условных переходов.
В шестых. Удобные средства ООП. В частности расширенная инструкция JMP...METHOD, для "обрезания концов" функций, которая сама очистит стэк и прыгнет в заданную функцию.
Ну и так, по мелочам. Но есть и недостатки, например есть глюк, связанный с неправильной генерацией кода, когда сегмент данных определишь, а данных в нем не будет Или отсутствие возможности использовать макрос как функцию, что в общем не так уж и нужно.
Что касается инклюдов, то с этим тоже проблем нет, использую масмовские, но переделанные на поддержку юникода (пока еще не полностью).
Колитесь ребята, кому что нравится, может разработчики увидят и учтут :D
Demonid7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TASM дело тонкое!:) (Где в TASM IDE?) 3.14oner Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 15.11.2011 16:20
Обьясните различия между - FASM, WASM, VASM, MASM, TASM Amancha Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.01.2009 15:38
А где взять MASM RomanIgorevi4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 06.07.2008 13:04
struct vs MASM format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.05.2008 17:54
где есть masm 64бит ? rpy3uH Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 11.01.2007 14:19