FASM
To świetny wybór!!!
Flat assembler to szybki assembler działający w różnych systemach operacyjnych, rozwijany od 1999 roku.
Został zaprojektowany głównie do montażu instrukcji x86 i obsługuje zestawy instrukcji x86 i x86-64 z rozszerzeniami takimi jak MMX, 3DNow!, SSE do SSE4, AVX, AVX2, XOP i AVX-512.
Może generować dane wyjściowe w formacie binarnym, MZ, PE, COFF lub ELF.
Zawiera potężny, ale prosty system makroinstrukcji i wykonuje wiele przebiegów w celu optymalizacji rozmiaru kodów instrukcji.
Flat assembler jest samohostujący, a kompletny kod źródłowy jest dołączony.
Jedyną różnicą między wersjami flat assemblera zawartymi w pakietach jest system operacyjny, na którym mogą być wykonywane.
Dla dowolnego tekstu źródłowego każda wersja wygeneruje dokładnie ten sam plik wyjściowy, więc każda z wersji może być używana do kompilowania programów dla dowolnego systemu operacyjnego.
Oto kroki, które pomogą Ci zaimplementować FASM:
Pobranie FASM:
- Przejdź na oficjalną stronę FASM i pobierz odpowiednią wersję dla Twojego systemu operacyjnego.
- Rozpakuj pobrany plik do wybranego katalogu. FASM nie wymaga instalacji w tradycyjnym sensie, wystarczy rozpakować pliki.
- Dodaj ścieżkę do katalogu FASM do zmiennej środowiskowej PATH, aby móc uruchamiać FASM z dowolnego miejsca w terminalu.
- Utwórz nowy plik tekstowy z rozszerzeniem
.asm
, np.hello.asm
.
- Wprowadź kod źródłowy. Oto przykład prostego programu “Hello, World!”:
format PE console
entry start
section '.data' data readable writeable
msg db 'Hello, World!', 0
section '.code' code readable executable
start:
mov edx, msg
call [printf]
call [exit]
section '.idata' import data readable writeable
dd 0, 0, 0, 0, 0
dd RVA kernel_name, 0, 0, 0, RVA kernel_table
dd 0, 0, 0, 0, 0
kernel_table:
exit dd RVA _exit
dd 0
kernel_name db 'KERNEL32.DLL', 0
dd 0, 0, 0, 0, 0
dd RVA msvcrt_name, 0, 0, 0, RVA msvcrt_table
dd 0, 0, 0, 0, 0
msvcrt_table:
printf dd RVA _printf
dd 0
msvcrt_name db 'MSVCRT.DLL', 0
dd 0, 0, 0, 0, 0
_exit db 'ExitProcess', 0
_printf db 'printf', 0
Kompilacja programu:- Otwórz terminal i przejdź do katalogu, w którym znajduje się plik
hello.asm
.
- Uruchom komendę:
fasm hello.asm
- Jeśli wszystko przebiegło pomyślnie, powinien zostać wygenerowany plik wykonywalny
hello.exe
.
- W terminalu wpisz:
./hello.exe
- Powinieneś zobaczyć komunikat “Hello, World!” na ekranie.
Komentarze
Prześlij komentarz