Hi!
I hope I'm right here. I've the following assembler code:

SECTION .DATA
       hello:     db 'Hello world!',10
       helloLen:  equ $-hello

SECTION .TEXT
       GLOBAL main

main:



       ; Write 'Hello world!' to the screen
       mov eax,4            ; 'write' system call
       mov ebx,1            ; file descriptor 1 = screen
       mov ecx,hello        ; string to write
       mov edx,helloLen     ; length of string to write
       int 80h              ; call the kernel

       ; Terminate program
       mov eax,1            ; 'exit' system call
       mov ebx,0            ; exit with error code 0
       int 80h              ; call the kernel


Then I run:

nasm -f elf hello.asm


I link it with ld and run it:

ld -s -o hello hello.o
./hello
segmentation fault


I link it with the gcc and run it:

gcc hello.o -o hello
./hello
Hello world!


What's wrong with the ld?

Matthias-Christian Ott
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to