Yasm
| Yasm | |
| Тип | |
|---|---|
| Разработчик |
Peter Johnson, Michael Urman и др. |
| Операционная система | |
| Последняя версия |
1.2.0 (31 октября 2011) |
| Лицензия | |
| Сайт | |
Yasm в ассемблер, являющийся попыткой полностью переписать ассемблер NASM. Лицензируется под лицензией BSD и в настоящее время развивается Питером Джонсоном и Майклом Ерманом.
Содержание |
[править] Поддерживаемые архитектуры
[править] Формат выходных файлов
Yasm поддерживает следующие форматы выходных файлов:
- Binary в бинарные файлы с любой нужной вам структурой.
- COFF в объектные файлы для использования с DJGPP, MS COFF для Win32, MS64 COFF для Win64 (с поддержкой SEH).
- RDOFF2
- ELF32 и ELF64 в объектные файлы UNIX.
- Mach-O в 32- и 64-битные объектные файлы Mac_OS_X.
[править] Формат отладочной информации
[править] Расшифровка
Название Yasm, особенно в форме акронима, имеет несколько возможных значений, главным образом шуточных:
- Yes, itв™s an ASseMbler в Да, это в АССЕМБЛЕР
- Your fAvorite aSseMbler в Ваш любимый ассемблер
- Yet Another aSseMbler в Еще один ассемблер
- whY An aSseMbler в почему ассемблер?
[править] Использование
Yasm может использоваться попеременно с NASM с последовательными результатами для многих намерений и целей.
[править] Преимущества 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, ожидаемая документация будет более полной.
[править] Ссылки
| Язык ассемблера | |
|---|---|
| IDE | |
| Трансляторы | |
| Форматы синтаксиса | |