Assembler (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. 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

Externí odkazy

Kategorie:Assemblery