- Focusing on which of these syntaxes is the best idea?
Depends on your projects. Not every compiler allows both kinds of syntax. If you want the code to be built on other platforms, Intel is probably better, even after several years of experience with both individuals and Intel, but this is not a big difference, and it doesnβt really matter to me.
- What are the advantages and disadvantages of this syntax?
There is slightly more % AT & T syntax, even if you need to use macros. OTOH I prefer the source, the order of destination, but itβs personal taste, others may prefer it the other way around, because it resembles the order in which the assignment operator is written, for example, in C (and much more).
I INTEL syntax is obscene, such as DWORD PTR , where AT & T has a small attached l . The exact spelling of the mnemonics is different in many cases, I believe that AT & T is more logical, although, of course, the Intels path is the standard. Intel's addressing modes are somewhat readable.
- Which one is more widely used and understood?
I believe AT&T is more used due to the ubiquity of Linux on embedded platforms, where assembler is much more commonly used in other software projects. There are more assemblers that understand the Intels syntax, that's true, but I believe that gcc / gas is used more in a field where the assembler is / useful.
source share