Assembler je nejnižší úroveň programování, jakou může člověk provádět, aniž by musel psát přímo v nulách a jedničkách. Každá rodina procesorů (x86, ARM, RISC-V) má svůj vlastní specifický assembler.
Zatímco jazyky jako C++, Python nebo Java jsou „abstraktní“ (neřeší, jak přesně procesor pracuje), v assembleru programátor přímo ovládá:
Program napsaný v assembleru musí být zpracován programem nazývaným asemblér (překladač), který textové instrukce převede na binární strojový kód.
Tento jednoduchý kód sečte dvě čísla:
MOV EAX, 5 ; Vlož číslo 5 do registru EAX MOV EBX, 10 ; Vlož číslo 10 do registru EBX ADD EAX, EBX ; Sečti hodnoty v EAX a EBX, výsledek (15) ulož do EAX
| Vlastnost | Popis |
|---|---|
| Rychlost | Extrémní. Dobře napsaný kód v assembleru je nejrychlejší možný software. |
| Velikost | Minimální. Výsledné soubory jsou velmi malé. |
| Přenositelnost | Žádná. Kód pro Intel PC nebude fungovat na iPhonu (ARM). |
| Složitost | Velmi vysoká. Napsání složitého programu trvá mnohem déle než v C#. |
I když většina aplikací vzniká ve vyšších jazycích, assembler je nepostradatelný v těchto oblastech:
Zajímavost: První počítačové hry (např. RollerCoaster Tycoon z roku 1999) byly napsány téměř celé v assembleru, aby běžely plynule i na tehdejším slabém hardwaru. Dnes je to u takto velkých projektů téměř nemyslitelné.