Instruction non valide suffixe pour pousser lors de l'assemblage avec le gaz

Lors de l'assemblage d'un fichier avec l'assembleur GNU j'obtiens l'erreur suivante:

bonjour.s:6: Erreur: invalid instruction suffixe "push"

Voici le fichier que je suis en train d'assembler:

        .text
LC0:
        .ascii "Hello, world!
        .text
LC0:
.ascii "Hello, world!\12\0"
.globl _main
_main:
pushl   %ebp
movl    %esp, %ebp
subl    $8, %esp
andl    $-16, %esp
movl    $0, %eax
movl    %eax, -4(%ebp)
movl    -4(%ebp), %eax
call    __alloca
call    ___main
movl    $LC0, (%esp)
call    _printf
movl    $0, %eax
leave
ret
" .globl _main _main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax call __alloca call ___main movl $LC0, (%esp) call _printf movl $0, %eax leave ret

Quel est le problème et comment puis-je résoudre ce problème?

Le problème est lié à cette question bien que les erreurs et les instructions en question sont différentes.

InformationsquelleAutor vitaut | 2011-06-07