Yasm
22 Квітня, 2018
Yasm – свободный ассемблер, являющийся попыткой полностью переписать ассемблер NASM. Лицензируется под лицензией BSD и в настоящее время развивается Питером Джонсоном и Майклом Ерманом.
Yasm может использоваться попеременно с NASM с последовательными результатами для многих намерений и целей.
Поддерживаемые архитектуры Yasm
Формат выходных файлов Yasm
Yasm поддерживает следующие форматы выходных файлов:
- Binary – бинарные файлы с любой нужной вам структурой;
- COFF – объектные файлы для использования с DJGPP, MS COFF для Win32, MS64 COFF для Win64 (с поддержкой SEH);
- RDOFF2;
- ELF32 и ELF64 – объектные файлы UNIX;
- Mach-O – 32- и 64-битные объектные файлы Mac OS X.
Формат отладочной информации Yasm
Расшифровка Yasm
Название Yasm, особенно в форме акронима, имеет несколько возможных значений, главным образом шуточных:
- Yes, it’s an ASseMbler – Да, это – АССЕМБЛЕР;
- Your fAvorite aSseMbler – Ваш любимый ассемблер;
- Yet Another aSseMbler – Ещё один ассемблер;
- whY An aSseMbler – почему ассемблер?
Преимущества Yasm относительно NASM
- Yasm предлагает поддержку x86-64, которую NASM, возможно, не поддерживает должным образом или не поддерживает полностью. Например, проект Xvid может создать оптимизированный машинный код для x86-64 архитектуры, используя Yasm, но не может сделать так при использовании NASM;
- Будучи более динамичным проектом, Yasm предлагает более прямую поддержку пользователям, которые ищут новые особенности;
- Кроме Intel-синтаксиса, применяемого в NASM, Yasm также поддерживает AT&T-синтаксис, распространённый в UNIX. Yasm построен «модульно», что позволяет легко добавлять новые формы синтаксиса, препроцессоры и т. п..
Неудобства Yasm относительно NASM
- NASM часто использовался и долго избавлялся от ошибок, от версии к версии, в то время как Yasm – активно развивающийся проект и не был отлажен так же, как NASM;
- Из-за быстрого развития, связанного с NASM, ожидаемая документация будет более полной.
Ссылки
Сайт Yasm
Скачать Yasm 32-bit
Скачать Yasm 64-bit