MOV is probably the first instruction everyone learns while learning ASM.
Just now I encountered a book Assembly Language Programming in GNU/Linux for IA32 Architectures By Rajat Moona which says: (broken link removed)
But I learnt that it is MOV dest, src
. Its like "Load dest
with src
". Even Wiki says the same.
I'm not saying that the author is wrong. I know that he is right. But what am I missing here?
btw.. he is using GCC's as
to assemble these instructions. But that shouldn't change the instruction syntax right?
mov dest, src
is called Intel syntax. (e.g. mov eax, 123
)
mov src, dest
is called AT&T syntax. (e.g. mov $123, %eax
)
UNIX assemblers including the GNU assembler uses AT&T syntax, all other x86 assemblers I know of uses Intel syntax. You can read up on the differences on wikipedia.