Witam. Mam na kompie linuxa fedora 8 i próbuję cokolwiek skompilować w Assemblerze. Ściągnąłem sobie NASM i YASM, ale jak chcę otrzorzyć plik wyjściowy (w sensie wykonać) pokazuje mi "brak dostępu" co oznacza, że plik nie jest wykonywalny. Wie ktoś co można zrobić?
Ekhm... potraktować linkerem?
Teoretycznie NASM ma wbudowany linker (tak przynajmniej czytałem w kursie) ale jakibym miał to bym spróbował.
Znasz z nazwy jakiś popularny linker?
ld?
Chyba jestem na to za głupi...
Czy ktoś z was kompilował kiedyś assemblera pod linuksem? Jeśli tam, to jakich programówużywał?
albo inaczej. Mógłby ktoś podać jakiś bardzo prosty programik, działający pod as - ld (czyli gcc)?
chodzi mi o składnię - bo to co mam w kursie nie działa :(
Ludzie! Ratunku! ld mówi mi, że "file format not recognized", jak mu podaję plik wyściowy z NASM'a.
spróbuj fasma ;)
http://flatassembler.net/
nadal źle :(
fasm działa, wychodzi plik "hello.com", ale nie można go ani uruchomić (cannot execute binary file) ani potraktować linkerem (file format not recognized).
[glowa] [???]
Jeśli chodzi o plik *.com to jest to programik pod DOSa. Jesteś pewny, że masz dobry kod? Najlepiej go pokaż.
Boże, czlowieku, to jest kod pod DOSa, Ty to chcesz pod linuksem odpalać!?
Mógłbyś mi powiedzieć jak powinien wygląd kod na linuxa?
Bo nie mam pojęcia...
Jak wygląda? Tak: http://rudy.mif.pg.gda.pl/~bogdro/
// przed moim poprzednim postem był wcześnij post zawierający coś a'la DOSowe hello world...
nasm -f elf hello.asm
ld -s hello.o -o hello
I co to da dla kodu pod tryb rzeczywisty?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.