J'essaie de plonger dans une programmation d'assemblage x86 sur mon Mac, mais j'ai du mal à produire un exécutable. Le problème semble être au stade de la liaison.Hello World utilisant l'assembleur x86 sur Mac 0SX
helloWorld.s:
.data
HelloWorldString:
.ascii "Hello World\n"
.text
.globl _start
_start:
# load all the arguments for write()
movl $4, %eax
movl $1, %ebx
movl $HelloWorldString, %ecx
movl $12, %edx
# raises software interrupt to call write()
int $0x80
# call exit()
movl $1, %eax
movl $0, %ebx
int $0x80
Assemblez le programme:
as -o helloWorld.o helloWorld.s
Lien le fichier objet:
ld -o helloWorld helloWorld.o
L'erreur que je reçois à ce moment est:
ld: could not find entry point "start" (perhaps missing crt1.o) for inferred architecture x86_64
Tout conseil sur ce que je fais mal/manquant serait très utile. merci
Je sais que je suis un peu en retard, mais vous devez changer '' _start' à start'. – sidyll