Jaki kompilator assemblera wybrać??

Odpowiedz Nowy wątek
2005-08-31 17:58
0

Jeśli chodzi o assembler'a to jestem bardzo bardzo początkujący. Jeśli ktoś by mógł mi napisać jaki rodzaj kompilatora jest najpopularniejszy i ewentualnie podał linki do jakiś kursów pod niego, to byłbym bardzo wdzięczny


Pozostało 580 znaków

2005-08-31 18:13
0

masm32 pod windoze. http://www.masm32.com/


HAKGER - 50% Complete

Pozostało 580 znaków

2005-08-31 18:15
0

FASM pod dos, win, lin, bsd http://www.flatassembler.net/ (dobra, może nie najpopularniejszy, ale z przejrzystą składnią i dobrym zapleczem w postaci ludzi na forum).


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

2005-09-01 11:47
0

Ja pod DOSa używam tasm a pod Win masm :)
Fasma nie używałem, ale sporo dobrego o nim słyszałem.


Pozostało 580 znaków

2005-09-01 12:39
0

proponuję fasma - chyba jedyny asembler zdolny do budowy plików wykonywalnych bez linkera... z fasmem sytuacja jest następująca - spróbujesz i przesiądziesz się. Moim zdaniem nawet lepszy od nasma i chyba jedyny aktualnie rozwijany.

//dop. - pod fasmem możesz zrobić absolutnie wszytko...


I nie udawaj, że rozumiesz.

Pozostało 580 znaków

2005-09-02 19:35
0

wszystkim: dzięki.
Chyba sie zdecyduje na fasma, ale o masm'ie przynajmniej poczytam


Pozostało 580 znaków

2009-10-13 19:07
gronek22
0

Podepnę się...

Chciałem zapytać czy pisanie pod kontrolą systemu operacyjnego Windows, a Linux w języku Assembler czyni jakąś różnicę?

Jaki polecalibyście kompilator pod Linuxa jeśli zalecenia z uczelni to używanie MASM (niestety tylko pod Windows). Może NASM?

Pozostało 580 znaków

2009-10-13 19:56
0

Dosyć sporą, funkcje systemowe mocno się różnią... Oczywiście jeśli nie wywołujesz funkcji systemowych to kod będzie ten sam, jako że architektura jest ta sama.
Jaki asembler? Oczywiście, że FASM!

Pozostało 580 znaków

2009-10-14 12:09
gronel22
0

Okay, rozumiem, że FASM. Wcześniej jednak użyłem pewnego kodu i kompilowałem go NASM, oto kod:

        ;; kod źródłowy pierwszego programu asemblerowego
        ;; plik: pierwszy.asm
        ;; segment danych
        segment .data
        msg db "Pierwszy program w asemblerze : -)", 0xa ; napis do wyświetlenia
        ;; segment kodu
        segment .text
        global _start            ; zmienna musi być znana linkerowi
        ;; program rozpoczyna działanie od tej etykiety
_start:
        ;; wyświetlamy komunikat
        mov eax, 4               ; numer funkcji (sys_write)
        mov ebx, 1               ; uchwyt pliku (standardowe wyjście)
        mov ecx, msg             ; adres ciągu do wyświetlenia
        mov edx, 34              ; długość ciągu
        int 0x80                 ; wywołanie funkcji
        ;; wychodzimy z programu
        mov eax, 1               ; numer funkcji (sys_exit)
        mov ebx, 0               ; kod wyjścia
        int 0x80                 ; wywołanie funkcji

Kompilacja przebiegła bez problemu (utworzył plik z rozszerzeniem *.o):
nasm -f elf pierwszy.asm

Jednak linker:
ld -s -o pierwszy pierwszy.o

Zwrócił:
ld: i386 architecture of input file `pierwszy.o' is incompatible with i386:x86-64 output
Czyli rozumiem, że program był napisany (nie przeze mnie) pod architekturą i386, a że ja mam amd64 to mogę zapomnieć o jego uruchomieniu? I czy tak będzie z każdym programem? Windowsa mogę zainstalować, ale to nic nie da jeśli mam taki, a nie inny procesor?

Pozostało 580 znaków

2009-10-15 13:44
0

Zmień format wyjściowy w linkerze na 32 bitowy. Procesory są kompatybilne wstecz więc na pewno program pójdzie na twoim sprzęcie.

Generalnie najlepiej jakbyś przerzucił się na FASM'a. Zachowuje on zasadę SSSO (do pewnego stopnia chyba bo niedawno autor wprowadził jakieś opcje łamiące zasadę) - Same Source Same Output. Dzięki temu nie trzeba się martwić o parametry do linkera czy asemblera, wszystko jest w kodzie źródłowym.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2009-10-16 00:32
0

Ja zawsze używałem Tasm i Tlink. Uważam że Postać Linkera jest ważna przynajmniej dla poczatkujących - daje im to do myslenia ze Asembler to nie porgram budujacy aplikacje lecz tylko plik.obj - plik z kodem obiektowy a resztą zajmuje sie Linker :)

Nie uzywałem Fasm, ale duzo onim słyszałem napewno równiez warty uwagi:)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0