Je viens de commencer le codage en assemblage. J'ai téléchargé le code flat assembler et copié à partir d'Internet. Quand je cours ce code, cependant, il dit quelque chose comme:FASM me donne 'erreur: instruction illégale.' pendant l'assemblage
section .text error: illegal instruction.
Ma question est: quel est le problème avec ce code?
section .text
global_start ;must be declared for linker (ld)
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!', 0xa ;our dear string
len equ $ - msg ;length of our dear string
Quelqu'un peut-il comprendre ce qui ne va pas?
'global_start'? peut-être 'global _start', avec un espace, à la place? –