Je suis sur Debian 9. Ce sont les erreurs:nasm "erreur: virgule, deux-points, décorateur ou fin de ligne prévu après opérande"
[email protected]:~/Assembly/sandbox$ nasm -f elf -g -F stabs sandbox.asm
sandbox.asm:8: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:9: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:11: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:12: error: comma, colon, decorator or end of line expected after operand
Voici le code:
section .data
section .text
global _start
_start:
nop
mov eax 10
mov ebx 12
mov eax 1
mov ebx 0
int 80H
nop
section .bss
Quel est le problème à l'origine de ces erreurs et comment puis-je le réparer?
Si j'utilise le code suivant où je fixe les virgules entre opérandes je reçois une autre erreur:
section .data
section .text
global_start
_start:
nop
mov eax,10
mov ebx,12
mov eax,1
mov ebx,0
int 80H
nop
section .bss
L'erreur que je reçois est:
sandbox.asm:4: warning: label alone on a line without a colon might be in error
Pourquoi ai-je cette erreur et comment puis-je le réparer?
Dans le code que vous avez décrit comme "correct", il y a 'global_start', qui semble incorrect. Comme je l'ai écrit dans ma réponse, il devrait plutôt être «global _start». Après cette correction, obtenez-vous le même ensemble d'erreurs en essayant de compiler le code? –