LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

я не читала весь тред, но выбор GAS удивляет. у него крайне неприятный синтаксис, он облеплен процентами чуть более, чем полностью.

ну так тот самый .intel_syntax noprefix решает эту проблему. А вообще, приятный/неприятный это вкусовщина. Я например не испытываю проблем с чтением at&t синтаксиса, не считая разве что случаев всяких lea и косвенной адресации (которая в intel синтаксисе записывается через [])

Выбор в пользу gas сделан был во-первых по причине того, что те компиляторы, с которыми придется иметь дело(clang, gcc) выдают код под gas, во-вторых сам по себе gas поддерживает множество архитектур, не только x86 и производные, и например gas для ARM поддерживает многие директивы, которые он поддерживает и для x86 (там конечно есть некие специфичные для конкретных архитектур директивы https://sourceware.org/binutils/docs/as/ARM-Directives.html, но их не так много) - таким образом, если человек захочет писать под ARM на ассемблере, ему не придется с нуля выучивать какой-то другой ассемблер(например ассемблер из Keil http://www.keil.com/support/man/docs/armasm/, специфичные для него директивы)

Исходная версия SZT, :

я не читала весь тред, но выбор GAS удивляет. у него крайне неприятный синтаксис, он облеплен процентами чуть более, чем полностью.

ну так тот самый .intel_syntax noprefix решает эту проблему. А вообще, приятный/неприятный это вкусовщина. Я например не испытываю проблем с чтением at&t синтаксиса, не считая разве что случаев всяких lea и косвенной адресации (которая в intel синтаксисе записывается через [])

Выбор в пользу gas сделан был во-первых по причине того, что те компиляторы, с которыми придется иметь дело(clang, gcc) выдают код под gas, во-вторых сам по себе gas поддерживает множество архитектур, не только x86 и производные, и например gas для ARM поддерживает многие директивы, которые он поддерживает и для x86 (там конечно есть некие специфичные для конкретных архитектур директивы https://sourceware.org/binutils/docs/as/ARM-Directives.html, но их не так много) - таким образом, если человек захочет писать под ARM на ассемблере, ему не придется с нуля выучивать какой-то другой ассемблер(например ассемблер из Keil, специфичные для него директивы)