Assembler
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
- Obrázky, zvuky či videa k tématu Assembler na Wikimedia Commons