Jak nazywa się program, który tłumaczy kod zapisany w języku asemblera, czyli mnemonikach rozkazów procesora, na kod maszynowy?
Asembler to program tłumaczący kod napisany w języku asemblera na kod maszynowy procesora. Język asemblera zapisuje rozkazy procesora skrótami słownymi, tzw. mnemonikami, np. MOV AX, 5 albo ADD AX, BX. Każdy mnemonik odpowiada zwykle jednemu rozkazowi maszynowemu, więc tłumaczenie jest prawie jeden do jednego.
Ta sama nazwa oznacza zarówno program tłumaczący, jak i potocznie sam język. Asemblera używa się tam, gdzie liczy się pełna kontrola nad sprzętem: w sterownikach, systemach wbudowanych i fragmentach systemów operacyjnych. Kompilatory języków wysokiego poziomu, np. C, często tworzą najpierw kod asemblera, który asembler zamienia potem na kod maszynowy.
Wybór interpretera bierze się z tego, że on też uruchamia kod źródłowy. Interpreter wykonuje jednak instrukcje na bieżąco, bez tworzenia pliku z kodem maszynowym, i dotyczy języków wysokiego poziomu, takich jak PHP, Python czy JavaScript, a nie mnemoników procesora.
Debugger niczego nie tłumaczy. Pozwala uruchomić program krok po kroku, zatrzymać go w punkcie przerwania i podejrzeć wartości zmiennych oraz rejestrów, żeby znaleźć przyczynę błędu.
Edytor kodu, np. Visual Studio Code czy Notepad++, służy tylko do pisania i zapisywania tekstu programu. Może kolorować składnię, ale nie wytwarza kodu maszynowego. Tłumaczenie mnemoników na rozkazy procesora wykonuje wyłącznie asembler.
Każde z tych narzędzi ma inne zadanie, choć wszystkie są częścią pracy programisty.
Do pełnego obrazu brakuje jeszcze konsolidatora, czyli linkera, który łączy moduły po asemblacji w plik wykonywalny.