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:>