Diferenças básicas entre as duas sintaxes em assembly:
Intel não usa sufixos, nem prefixos e a instrução executa os argumentos da direita para esquerda, no exemplo, colocar o valor 1 no registrador eax:
mov eax,1
AT&T usa sufixos na instrução (l para long, w para word e b para byte) e prefixos ($ para valores imediatos e % para registradores) e executa os argumentos da esquerda para direita:
movl $1, %eax
Intel ainda pode usar byte ptr, word ptr, dword ptr
para substituir os sufixos da AT&T quando o tamanho dos registradores usados não assumam o tipo de dados:
mov eax, dword ptr [ebx]
Intel usa hexadecimais com a letra H ao final do número:
0ffh
AT&T usa o formato 0x:
0x0ff
Operações com registradores na sintaxe intel:
[ebx + 3]
na sintaxe AT&T:
3(%ebx)
Enjoy!