Makroasembler
Makroasembler jest to asembler posiadający obsługę makr w czasie prekompilacji. Oprócz wszystkich funkcjonalności właściwych asemblerowi, jako językowi niskiego poziomu, daje równocześnie możliwość stosowania makropoleceń − fragmentów programu będących identyfikowanymi poprzez etykiety, które można wstawiać w odpowiednie miejsca kodu źródłowego, a które podczas prekompilacji są zamieniane na odpowiadające im fragmenty kodu asemblera. Do zalet stosowania makr można zaliczyć:
- zwiększenie czytelności − złożone operacje mogą zostać zastąpione jedną prostą etykietą w kodzie programu,
- zmniejszenie rozmiaru pliku z tekstem programu − np. funkcje inline w kodzie maszynowym mogą być napisane tylko raz w pliku źródłowym, a właściwe etykiety wstawione w odpowiednich miejscach programu,
- wygoda programowania − modyfikacje kodu nie wymagają przerabiania wielu miejsc w tekście, ponieważ wystarczy, by dany kod występował tylko raz w pliku źródłowym,
- niewielka poprawa wydajności kodu − stosowanie funkcji nie wymaga wywoływania podprogramu, który w innym przypadku zastępowałby makropolecenie, ponieważ cały tekst makra jest wstawiany w miejscu jego wywołania.
Przykłady: