2GL (Second-Generation Programming Languages) představuje evoluční krok od čistě binárního kódování k symbolickému zápisu. Hlavním představitelem této generace je Assembler (jazyk symbolických adres).
Zatímco první generace (1GL) vyžadovala psaní instrukcí přímo v binární soustavě (nuly a jedničky), 2GL zavedla tzv. mnemotechnické pomůcky (mnemonics). Jsou to krátká klíčová slova, která zastupují konkrétní instrukce procesoru.
—
Typický příkaz v 2GL se skládá z operace a operandů.
| Mnemonika | Význam | Příklad |
|---|---|---|
| MOV | Move (přesun dat) | MOV AL, 61h (ulož hodnotu 97 do registru AL) |
| ADD | Add (sčítání) | ADD EAX, EBX (sečti hodnoty ve dvou registrech) |
| PUSH / POP | Práce se zásobníkem | PUSH EAX (vlož hodnotu na zásobník) |
| JMP | Jump (skok) | JMP label (přejdi na jinou část kódu) |
—
| Výhody | Nevýhody |
|---|---|
| Extrémní rychlost: Kód je stejně rychlý jako strojový kód. | Nízká čitelnost: Kód je pro člověka velmi nepřehledný. |
| Minimální nároky: Programy zabírají velmi málo místa v paměti. | Složitý vývoj: I jednoduché operace vyžadují desítky řádků kódu. |
| Přímý přístup k HW: Ideální pro ovladače a vestavěné systémy. | Nepřenositelnost: Kód je vázán na konkrétní čip. |
—
I když byla 2GL v běžném vývoji nahrazena jazyky vyšších úrovní (jako C, C++ nebo Python), stále má své nezastupitelné místo:
—
10110000 01100001 (naprosto nečitelné)MOV AL, 61h (symbolické vyjádření téhož)x = 97; (vysoká abstrakce, lidská logika)Související články:
Tagy: dev programming assembler low-level 2gl history hardware