Uživatelské nástroje

Nástroje pro tento web


2gl

2GL: Druhá generace programovacích jazyků

2GL (Second-Generation Language) označuje jazyky symbolických instrukcí, známé především pod souhrnným názvem Asembler (Assembly Language). Tato generace představuje první krok od čistě binárního kódu k textovému zápisu, který je srozumitelný pro člověka.

Stále se jedná o nízkoúrovňový jazyk (low-level language), což znamená, že je úzce spjat s architekturou konkrétního procesoru.

1. Charakteristika 2GL

Na rozdíl od první generace (1GL), kde se používaly nuly a jedničky, zavádí 2GL tzv. mnemotechnické pomůcky (zkratky).

  • Mnemotechnické kódy: Místo binárního kódu „01101101“ píše programátor zkratku jako ADD, MOV, SUB nebo JMP.
  • Symbolické adresy: Programátor nemusí znát přesnou číselnou adresu v paměti, ale může používat názvy (např. proměnné).
  • Asembler (Překladač): Program napsaný v 2GL musí být převeden do 1GL pomocí speciálního programu zvaného asembler.
  • Závislost na hardwaru: Kód je stále psán pro konkrétní instrukční sadu (např. x86, ARM). Kód pro jeden procesor nebude fungovat na jiném.

2. Ukázka kódu (x86 Assembly)

Typický program v asembleru vypadá jako posloupnost instrukcí pro manipulaci s registry procesoru:

MOV AL, 61h    ; Načti hexadecimální hodnotu 61 do registru AL
ADD AL, 1      ; Přičti 1 k hodnotě v registru AL
RET            ; Návrat z funkce

3. Výhody a nevýhody

Výhody Nevýhody
Vysoký výkon: Kód je téměř stejně rychlý jako strojový kód. Nízká čitelnost: I jednoduché operace vyžadují mnoho řádků kódu.
Přímý přístup k HW: Ideální pro ovladače a nízkoúrovňové systémy. Žádná přenositelnost: Program je vázán na konkrétní hardware.
Malá velikost: Výsledný program zabírá minimum paměti. Složitý vývoj: Programátor musí detailně znát architekturu CPU.

4. Současné využití

I když byla 2GL nahrazena vyššími jazyky (3GL), dodnes se používá v těchto oblastech:

  • Embedded systémy: Programování mikrokontrolérů (pračky, automobily).
  • Ovladače hardwaru: Tam, kde je vyžadována maximální rychlost a kontrola.
  • Jádra operačních systémů: Kritické části systému, které komunikují s CPU.
  • Reverzní inženýrství: Analýza malwaru nebo uzavřeného softwaru.

Související články:

Tagy: historie programming_languages 2GL assembly low-level

2gl.txt · Poslední úprava: autor: admin