Ld nierozpoznany format pliku

Potrzebujesz pomocy z C, C++, perl, python, itp.
Demerzel
Beginner
Posty: 187
Rejestracja: 06 czerwca 2007, 14:44

Ld nierozpoznany format pliku

Post autor: Demerzel »

Kod: Zaznacz cały

ja@Fortress:~/asembler$ ls
hello.asm
a@Fortress:~/asembler$ nasm hello.asm
a@Fortress:~/asembler$ ls
hello  hello.asm
a@Fortress:~/asembler$ ld hello
hello: file not recognized: File format not recognized
a@Fortress:~/asembler$ chmod u+rwx hello
a@Fortress:~/asembler$ ls
hello  hello.asm
a@Fortress:~/asembler$ ld hello
hello: file not recognized: File format not recognized
a@Fortress:~/asembler$
próbuję ruszyć na Linux-ie asemblera. Co robię źle?
Plik wzięty z kursu:

Kod: Zaznacz cały

section .text
        global _start

_start:

        mov edx,len
        mov ecx,msg
        mov ebx,1
        mov eax,4
        int 0x80

        mov eax,1
        int 0x80

section .data

msg     db      'Hello, world!',0xa
len     equ     $ - msg
ponton
Beginner
Posty: 406
Rejestracja: 24 stycznia 2007, 01:40
Lokalizacja: Kalisz/Wroc³aw

Post autor: ponton »

Wpis

Kod: Zaznacz cały

ls -l
i

Kod: Zaznacz cały

file hello
Demerzel
Beginner
Posty: 187
Rejestracja: 06 czerwca 2007, 14:44

Post autor: Demerzel »

Prubowałem z innym kursem. Zobaczyłem coś takiego

Kod: Zaznacz cały

ja@Fortress:~/asembler$ vim hello.asm
ja@Fortress:~/asembler$ nasm -f elf hello.asm
ja@Fortress:~/asembler$ ld -s -o hello hello.o
ld: warning: cannot find entry symbol _start; not setting start address
sylwester@Fortress:~/asembler$

Kod: Zaznacz cały

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

SECTION .TEXT
        GLOBAL _START

_START:

        mov eax,4
        mov ebx,1
        mov ecx,hello
        mov edx,helloLen
        int 80h
        mov eax,1
        mov ebx,0
        int 80h
ODPOWIEDZ