- Может ли кто-нибудь объяснить мне, почему каждая константа в синтаксисе AT & T имеет перед ним "$"?
- Почему у всех регистров есть "%"?
- Является ли это еще одной попыткой заставить меня сделать много хромого ввода?
- Кроме того, я единственный, кто находит:
16(%esp)
действительно противоречивый по сравнению с[esp+16]
? - Я знаю, что он компилируется в одно и то же, но почему кто-то хочет набирать много "$" и "% без необходимости? - Почему GNU выбрал этот синтаксис по умолчанию?
- Другое дело, почему каждая инструкция в синтаксисе & t предшествует: l? - Я знаю его для размеров операндов, однако почему бы просто не позволить ассемблеру понять это? (хотел ли я когда-нибудь сделать movl на операндах, которые не являются такими размерами?)
- Последнее: почему аргументы mov инвертированы?
Не логичнее ли:
eax = 5
mov eax, 5
где как при & t:
mov 5, eax
5 = a (? wait what ?)
Примечание: Я не пытаюсь троллировать. Я просто не понимаю, какие дизайнерские решения они сделали, и я пытаюсь понять, почему они сделали то, что они сделали.