Obsah

Druhá generace jazyků (Assembler)

Druhá generace programovacích jazyků (2GL) představuje první úroveň abstrakce nad strojovým kódem (1GL). Jejím hlavním a v podstatě jediným zástupcem je Assembler (jazyk symbolických adres).

1. Charakteristika 2GL

Zatímco první generace vyžadovala zadávání instrukcí v binární nebo hexadecimální podobě, 2GL zavedla mnemotechnické pomůcky (mnemonics). Jsou to zkratky, které zastupují konkrétní instrukce procesoru.

2. Klíčové koncepty a registry

V Assembleru nepracujeme s proměnnými v běžném slova smyslu, ale přímo s registry procesoru a adresami v paměti RAM.

Základní instrukce:

Příklad kódu (x86):

MOV EAX, 10    ; Ulož hodnotu 10 do registru EAX
ADD EAX, 5     ; Přičti 5 k hodnotě v EAX (výsledek je 15)
CMP EAX, 15    ; Porovnej EAX s 15
JE  label_ok   ; Pokud se rovnají, skoč na 'label_ok'

3. Výhody a nevýhody 2GL

Výhody Nevýhody
Maximální výkon: Kód je optimalizován přímo pro daný procesor. Extrémní složitost: I jednoduchý úkol vyžaduje mnoho řádků kódu.
Plná kontrola: Přímý přístup k registru, přerušením a hardwaru. Chybovost: Snadno dojde k chybám v paměti (Memory leaks, Buffer overflow).
Minimální velikost: Výsledný binární soubor je velmi malý. Nepřenositelnost: Nutnost přepisovat kód pro jiný hardware.

4. Využití Assembleru v současnosti

I přes nástup moderních jazyků jako Python nebo Java zůstává Assembler nezastupitelný v určitých oblastech:

5. Vztah k dalším generacím


Související články:

Tagy: dev programming assembler low-level hardware cpu 2gl