.data #declaration du segment des variables statiques initialisées bonjour: .string "Hello, World !\n" non_affiche: .string "Ce message ne peut pas être affiché\n" .text #declaration du segment code .global _start _start: xorl %eax,%eax #Affichage de Hello, World ! movb $4, %al xorl %ebx,%ebx inc %ebx movl $bonjour,%ecx xorl %edx,%edx mov $15,%edx int $0x80 xorl %eax,%eax #On mets eax à 0, puis on compare 1 et al, ce qui est donc toujours faux cmp $1,%al jne exit #Ce Jump if Not Equal sera donc en théorie toujours réalisé naffiche: #Affiche Ce message ne peut pas être affiché xorl %eax,%eax movb $4, %al xorl %ebx,%ebx inc %ebx movl $non_affiche,%ecx xorl %edx,%edx mov $36,%edx int $0x80 exit: #sortie xorl %eax,%eax xorl %ebx,%ebx inc %eax int $0x80