NASM jest darmowym kompilatorem asemblera z wbudowanym linkerem. Nie trzeba więc po kompilacji uruchamiać linkera. Składnia podobna do Intela, ale bardziej intuicyjna i mniej złożona. Początkujący koderzy na pewno będą z niego zadowoleni. NASM obsługuje wiele formatów plików .obj włączając Linux’a, NetBSD/FreeBSD a.out, ELF, COFF, Microsoft 16-bit .OBJ i Win32. Bez problemu działa na procesorach Intela i AMD wspiera rozszerzenia: MMX, 3DNow!, SSE oraz SSE2 bez dołączania dodatkowych bibliotek. Działa bardzo stabilnie w konsoli systemu Windows. Więcej informacji i pomoc techniczna na stronie.

Przykład pracy w NASM:

Po rozpakowaniu dodajemy katalog do zmiennych środowiska:

C:>path e:Documents and SettingsAdministratorDesktopkompilatoryNASM

w pliku tekstowym umieszczamy następujący kod. Program ma za zadanie wyświetlić w kodzie binarnym liczbę umieszczoną w rejestrze eax. Plikowi nadajemy rozszerzenie asm, s, lub a.

mov eax,        0xF0710001
disp_bin:
mov        esi,eax
mov        cx,32
L1:
xor        eax,eax
shl        esi,1
adc        al,’0′
mov        ah,0eh
int        10h
loop L1

mov        ah, 0
int        16h
mov        ax, 4C00h
int        21h

kompilujemy program podając jako pierwszy parametr nazwę pliku z kodem źródłowym a jako drugi nazwę pliku wynikowego:

C:>nasm disp_bin.asm -o bin.com

Uruchamiamy program:

C:>bin.com
11110000011100010000000000000001
C:>