Да, у ассемблеров NASM и GAS есть существенные отличия. stackoverflow.com yandex.ru
Одно из основных различий — синтаксис. web.archive.org yandex.ru В GAS используется относительно старый синтаксис AT&T, а в NASM — синтаксис Intel. yandex.ru
Ещё несколько отличий:
- Поддержка 16-битного кода. stackoverflow.com GAS ограничен созданием простых односегментных 16-битных бинарных образов, в то время как NASM поддерживает сегменты и файлы в формате OMF, что позволяет создавать сегментированные 16-битные исполняемые файлы. stackoverflow.com
- Форматы файлов. stackoverflow.com NASM поддерживает больше форматов файлов, чем GAS: обычно GAS поддерживает нативный формат для машины, на которой он работает (ELF, PE-COFF или MACH-O), а для поддержки другого формата нужно создать версию GAS для этого формата. stackoverflow.com
- Поддержка создания DWARF и информации для 64-битной отладки Windows. stackoverflow.com GAS поддерживает это, в то время как в NASM нужно самостоятельно создавать разделы и заполнять данные. stackoverflow.com
Выбор между NASM и GAS зависит от конкретных задач и предпочтений разработчика.