Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Nasm or Fasm

2.3K
19 января 2003 года
YuZeR
6 / / 03.01.2003
Какой из этих ассемблеров выбрать? Какие есть средства разработки под них? Подкинте, если можно, ссылки на материалы по данной теме.
1.8K
19 января 2003 года
Exfector
74 / / 12.10.2002
Цитата:
Originally posted by YuZeR
Какой из этих ассемблеров выбрать? Какие есть средства разработки под них? Подкинте, если можно, ссылки на материалы по данной теме.



Цитата:
Originally posted by YuZeR
Какой из этих ассемблеров выбрать? Какие есть средства разработки под них? Подкинте, если можно, ссылки на материалы по данной теме.



О FASM_e судить не могу, так как мало с ним имел дело. Могу расказать о достойнствах/недостатках NASM_a. Недостатков мало и они не значительны, поетому начну с достойнств. Синтакс NASM_a очень прост/элементарен и в отличие от таких ходовых ассемблеров как TASM/MASM не содержит бюрократических элементов. Именно поетому можно очень быстро аддаптироваться к нему. Несмотря на ето NASM имеет очень мощный со-проц., которий предоставляет ряд инструментов для изящной и оптимальной реализации любых макросов.
NASM поддерживает практически все ходовые форматы выходных файлов.
NASM opensource, что даёт возможность добавить свой формат. Стоит упамянуть мощную поддержку со стороны разработчиков. По сегоднешний день все мои вопросы оставленные в форуме были удв. ответчены в течение 24h.
О недостатках. Хмм .. даже не знаю :) NASM 2x-проходной, но етих проходов обычно предостаточьно. NASM не поддерживает привычьных средств реализации структур, но их можно написать самому, под себя.

У меня есть руссифецированний мануал по NASM_у.
Если кого заинтерессовало - могу выслать, пишите.

Вот главный ресурс по NASMу - http://nasm.sourceforge.net/

Успехов!

395
19 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Exfector
О FASM_e судить не могу, так как мало с ним имел дело. Могу расказать о достойнствах/недостатках NASM_a. Недостатков мало и они не значительны, поетому начну с достойнств. Синтакс NASM_a очень прост/элементарен и в отличие от таких ходовых ассемблеров как TASM/MASM не содержит бюрократических элементов. Именно поетому можно очень быстро аддаптироваться к нему. Несмотря на ето NASM имеет очень мощный со-проц., которий предоставляет ряд инструментов для изящной и оптимальной реализации любых макросов.
NASM поддерживает практически все ходовые форматы выходных файлов.
NASM opensource, что даёт возможность добавить свой формат. Стоит упамянуть мощную поддержку со стороны разработчиков. По сегоднешний день все мои вопросы оставленные в форуме были удв. ответчены в течение 24h.
О недостатках. Хмм .. даже не знаю :) NASM 2x-проходной, но етих проходов обычно предостаточьно. NASM не поддерживает привычьных средств реализации структур, но их можно написать самому, под себя.

У меня есть руссифецированний мануал по NASM_у.
Если кого заинтерессовало - могу выслать, пишите.

Вот главный ресурс по NASMу - http://nasm.sourceforge.net/

Успехов!


Да. Было бы круто если бы nasm поддерживал режим Ideal. Хотелось бы еще добавить несколько недостатков: не помнит типы переменных (а это очень важно, потому что иногда ошибку будет найти ну просто невозможно); лично для меня отсутствие нормальной поддержки структур очень большой минус, часто бывает что без них не удобно работать (скажем с дескрипторами файлов), а с помощью макросов настроить нормально не получиться (мне кажется), но это только мое сугубо личное мнение; необходимо явно указывать ближние и дальние переходы (также помойму насчет ближних коротких и длинных переходов (надеюсь вы поняли что я имел ввиду (т.е. короткий ближний - +-128 байт, длинный ближний +-4 гб))); не генерирует автоматически короткую инструкцию push imm8 ну и другие недочеты по поводу генерации машинного кода.

А так nasm - очень хороший ассемблер, тем более бесплатный и opensource

Fasm. Хм... Ну что могу сказать, мне особо не понравился, нет ничего особенного, хотя с ним дело я особо не имел. Не понравилось как генерирует выходной код - поболее чем у других ассемблеров (я не имею ввиду, то что он NOP-ов ставит кучу для выравнивания в 32 байта). Для меня лично существует два хороших ассемблера nasm и tasm, все.

P.S. Если уж я тут нес бред, не сердчайте сильно :)

1.8K
19 января 2003 года
Exfector
74 / / 12.10.2002
Цитата:
Originally posted by RelB

Да. Было бы круто если бы nasm поддерживал режим Ideal. Хотелось бы еще добавить несколько недостатков: не помнит типы переменных (а это очень важно, потому что иногда ошибку будет найти ну просто невозможно); лично для меня отсутствие нормальной поддержки структур очень большой минус, часто бывает что без них не удобно работать (скажем с дескрипторами файлов), а с помощью макросов настроить нормально не получиться (мне кажется), но это только мое сугубо личное мнение; необходимо явно указывать ближние и дальние переходы (также помойму насчет ближних коротких и длинных переходов (надеюсь вы поняли что я имел ввиду (т.е. короткий ближний - +-128 байт, длинный ближний +-4 гб))); не генерирует автоматически короткую инструкцию push imm8 ну и другие недочеты по поводу генерации машинного кода.

А так nasm - очень хороший ассемблер, тем более бесплатный и opensource

Fasm. Хм... Ну что могу сказать, мне особо не понравился, нет ничего особенного, хотя с ним дело я особо не имел. Не понравилось как генерирует выходной код - поболее чем у других ассемблеров (я не имею ввиду, то что он NOP-ов ставит кучу для выравнивания в 32 байта). Для меня лично существует два хороших ассемблера nasm и tasm, все.

P.S. Если уж я тут нес бред, не сердчайте сильно :)



Большенство того, что ты описал выше релативно и зависит от вкуса кодера, поетому нельзя сказать что это недостатки. E.g. мене нравиться полностью, пологаясь на себя контроллировать результат моих идей. В принцепе именно поэтому я люблю ассемблер :) . Абсолютний контроль также подразумевает ответственность за интерпретирование данных, за растояние переходов etc. Но это моя точка зрения. Надеюсь не толко я её разделяю ? :) (:

1.9K
20 января 2003 года
SkLite
38 / / 02.12.2002
Hi
Когда я пробовал Nasm он не поддерживал 6 байтные переменные (это когда 2 байта сегмент и 4 - смещение). И сэмулировать их у меня неполучилось.

P.S. Может уже добавили.
2.3K
21 января 2003 года
YuZeR
6 / / 03.01.2003
А как FASM по быстродействию по сравнению с NASM'ом или с тем же TASM'ом? Кстати, какой дизассемблер\дебагер\IDE порекомендуете?
1.8K
21 января 2003 года
Exfector
74 / / 12.10.2002
Цитата:
Originally posted by YuZeR
А как FASM по быстродействию по сравнению с NASM'ом или с тем же TASM'ом? Кстати, какой дизассемблер\дебагер\IDE порекомендуете?



Для каких целей ?
И что ты подразумеваешь под быстродействием ?
Процедуру перевода/генерирования opcodes ?

2.3K
23 января 2003 года
YuZeR
6 / / 03.01.2003
>Для каких целей ?
Ну...для разработки программ на ассемблере под Win32 и Linux.
>И что ты подразумеваешь под быстродействием ?
Исполнение сгенерированного машинного кода.
395
23 января 2003 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by YuZeR
>Исполнение сгенерированного машинного кода.



:D :D
Ты что думаешь, что выходные машинные коды у разных ассемблеров разные? Ну есть конечно очень маленькие отличия. Но эти отличия касаются только совсем маленького различия размеров выходного кода, но никак не быстродействия его исполнения!!!
По большому счету выходные машинные коды идентичны.

30K
25 октября 2007 года
alcher
15 / / 25.10.2007
Цитата: YuZeR
>Для каких целей ?
Ну...для разработки программ на ассемблере под Win32 и Linux.
>И что ты подразумеваешь под быстродействием ?
Исполнение сгенерированного машинного кода.



Если хочешь разрабатывать под линукс и винду, то используй насм. Он поддерживает много выходных форматов, так что удобно совмещать с языками высокого уровня.
Flat(плоский)asm больше подходит для создания операционных систем и драйверов.

На скорость исполнения машинного кода не влияет компилятор, с помощью которого он получен. Тут важнее твое умение оптимизировать код.

349
26 октября 2007 года
Phantom-84
656 / / 27.10.2005
Цитата:
Ты что думаешь, что выходные машинные коды у разных ассемблеров разные?

Как не странно, бывает и такое. Попробуй к примеру инструкцию xor eax, eax скомпилировать fasm'ом и masm'ом и ты это увидешь сам.

P.S. Я за fasm, но nasm наверное тоже не плох. Хотя, насколько я знаю, он сейчас почти не развивается.

261
27 октября 2007 года
ahilles
1.5K / / 03.11.2005
FASM замечателен тем что он даёт полный контроль над размещением данных файле, плюс суперский макросный двиг!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог