Strona 1 z 1

Ld nierozpoznany format pliku

: 26 sierpnia 2007, 20:37
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

: 26 sierpnia 2007, 21:17
autor: ponton
Wpis

Kod: Zaznacz cały

ls -l
i

Kod: Zaznacz cały

file hello

: 26 sierpnia 2007, 21:19
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