Assembler
Author
Albert FloresAssembler (anglicky „sestavovatel“) je počítačový program, který slouží k překladu programu napsaného v jazyce symbolických adres (JSA) do strojového kódu, tedy posloupnosti strojových instrukcí vykonávaných procesorem počítače. Jako „assembler“ se přeneseně označuje i samotný jazyk symbolických adres (anglicky assembly language).
JSA je typ nízkoúrovňových programovacích jazyků, které vychází přímo z instrukcí daného procesoru. Assembler provádí především převod instrukcí na jejich číselný kód a výpočet konkrétních paměťových adres podle umístění programu v paměti, tzv. +more relokování. U modernějších systémů se většinou vytvářejí cílové moduly, které obsahují metadata vč. relokačních tabulek. Vytvořené cílové moduly lze spojovacím programem relokovat a sloučit do spustitelného programu, obvykle je lze spojovat i s cílovými moduly vytvářenými vyššími programovacími jazyky.
Assemblery dle platformy
Existuje velké množství překladačů JSA, pro x86 například:
* Flat Assembler (FASM) - open source assembler pro procesory x86, sebekompilující * Netwide Assembler (NASM) - open source assembler pro procesory x86, sám napsaný v jazyku C * GNU Assembler (gas) - součást projektu GNU; je multiplatformní, používá se především pro kód vložený v programech v jazyce C * Microsoft Macro Assembler (MASM) - překladač od firmy Microsoft * Turbo Assembler (TASM) - překladač firmy Borland
pro jiné architektury:
* AX166 - překladač firmy Amit pro procesory vycházející z 80C166