osdev.labedz.org

Opis

Netwide Assembler (NASM) jest modułowym assemblerem dla rodziny procesorów 80x86 [NASM]. Umożliwia assemblacje kodu do szerokiej gamy plików obiektowych, włączając w to formaty obsługiwane przez systemy Linux i NetBSD/FreeBSD takie jak a.out, ELF, COFF, czy wywodzące się ze środowiska Windows 16-bitowe pliki OBJ i Win32. Istnieje również możliwość generowania zwykłych plików binarnych. Składnia języka assemblera NASM jest prosta i łatwa do zrozumienia - choć jest podobna do składni proponowanej przez firmę Intel, to jest ona znacznie mniej złożona. NASM obsługuje procesory rodziny Pentium, i zestawy dodatkowych instrukcji SIMD takie jak MMX, 3DNow!, SSE i SSE2. NASM posiada również możliwość interpretowania makr.

NASM powstał w wyniku pomysłu na grupie dyskusyjnej comp.lang.asm.x86, którego głównym założeniem było stworzenie dobrego, darmowego assemblera dla procesorów rodziny x86. Projekt ten powstał i jest nadal ciągle rozwijany zgodnie z licencją GNU.

Sposób użycia

Assembler NASM uruchamia się z poziomu linii poleceń, wywołując program nasm wraz z potrzebnymi parametrami.

$ nasm -f <format> <plik_wejściowy> [-o <plik_wyjściowy>]
-o plikZmienia domyślną nazwę pliku wynikowego.
-f formatOkreśla format pliku wyjściowego.
-I katalogDodaje katalog do listy katalogów z plikami wynikowymi.
Tabela: Typowe opcje assemblera NASM