No one should use the AT&T syntax (2021)
outerproduct.net
No one should use the AT&T syntax (2021)
1–10 of 112 posts
Re: No one should use the AT&T syntax (2021)
#2Re: No one should use the AT&T syntax (2021)
#3No, DWORD DWORD DWORD is obnoxious.
Re: No one should use the AT&T syntax (2021)
#4Nice little animation.
Re: No one should use the AT&T syntax (2021)
#5Re: No one should use the AT&T syntax (2021)
#6I've had models assume different operand order in two different places in the same file.
x86 assembler really is the gift that keeps on giving. Sadly it doesn't given you anything nice.
Re: No one should use the AT&T syntax (2021)
#7I didn't really read the article, because/but I spent a minute or two playing with the cat. Nice little animation.
Re: No one should use the AT&T syntax (2021)
#8Might suggest to change the title to specify this is about the Assembly language.
Re: No one should use the AT&T syntax (2021)
#9I didn't really read the article, because/but I spent a minute or two playing with the cat. Nice little animation.
To me, as a non-WEB developer, I think that would be hard to do on a WEB Page.
As for AT&T vs x86 assembly, it is a flame war I have not heard from in decades and a couple of arguments were hit upon in the article were part of that war. Nice hearing about an old classic war :)
I have not even looked at assembly in many decades, and back then I did the bare minimum with help from someone, so most of the article was over my head.
Re: No one should use the AT&T syntax (2021)
#10* The suffixes give you a lot of easy specificity about what the operands are, while they are unnecessary if you already know what the operands are.
* DWORD PTR [x + A + B * C] is wordy, but at least the math is clear, and you can write the arithmetic in any order you want (as well as using 3, 5, and 9 as multipliers). X(A, B, C) is more concise and has no operand order to think about, and not terribly hard to read once you learn.
* AT&T syntax from a compiler always uses the easy cases and never makes mistakes about placement of the "glyphs" ($, %, etc.). There is none of the example's "movq ($28), %rax" because having a symbol called "$28" is fundamentally dumb.
* Operand order in AT&T is really dumb, especially for 3-operand instructions, but if you're just reading, you really don't need to know operand order to understand what's going on.
For these reasons, I assume the OP was written by someone who I assume writes a lot of assembly by comparison.