Estoy intentando sumergirme en la programación de ensamblaje x86 en mi Mac, pero tengo problemas para producir un ejecutable. El problema parece estar en la etapa de vinculación.Hello World utilizando el ensamblador x86 en 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
ensamblar el programa:
as -o helloWorld.o helloWorld.s
Enlace el archivo de objeto:
ld -o helloWorld helloWorld.o
El error que consigo en este punto es:
ld: could not find entry point "start" (perhaps missing crt1.o) for inferred architecture x86_64
Cualquier consejo sobre lo que estoy haciendo mal/faltando sería muy útil. gracias
Yo sé que soy un poco tarde, pero hay que cambiar '' _start' a start'. – sidyll