Search code examples
assemblyx86nasmmasmgnu-assembler

MOV src, dest (or) MOV dest, src?


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?


Solution

  • 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.