- Сосредоточьтесь на том, какой из этих синтаксисов является лучшей идеей?
Зависит от ваших проектов.Не каждый компилятор допускает оба вида синтаксиса.Если вам нужен код, собранный на других платформах, Intel, вероятно, лучше, даже после нескольких лет опыта работы с обоими, мне лично больше нравится Intel, но это небольшая разница, и для меня это не имеет значения.
- Каковы преимущества и недостатки этого синтаксиса?
В синтаксисе AT & T их немного больше %
, даже больше, если вам нужно использовать макросы.OTOH Я предпочитаю упорядочение source, destination , но это личный вкус, другие могут предпочесть его наоборот, потому что он напоминает порядок записи оператора присваивания, скажем, C (и многие другие).
Синтаксис INTEL I - непристойные выражения, подобные DWORD PTR
, где в AT & T достаточно небольшого добавления l
.Точное написание мнемоники отличается во многих случаях, я считаю AT & T более логичным, в то время как, конечно, Intel является стандартом.Режимы адресации в Intel несколько более читабельны.
- Какой из них более широко используется и понят?
Я считаю, что AT & T более широко используется из-за повсеместного распространения linuxна встроенных платформах, где ассемблер гораздо чаще используется, чем в других программных проектах.Есть больше ассемблеров, которые понимают синтаксис Intel, это правда, но я считаю, что gcc / gas больше используется в области, где ассемблер имеет значение / полезен.