Strojový jazyk
Obsah boxu
Strojový jazyk je nejzákladnější forma programovacího jazyka, kterou procesor přímo rozumí a vykonává. Jedná se o sadu instrukcí vyjádřených v binárním kódu (tedy ve formě nul a jedniček), která odpovídá konkrétní architektuře daného výpočetního čipu. Každý mikroprocesor má svůj specifický strojový jazyk, což znamená, že programy napsané v jednom strojovém jazyce nejsou obvykle kompatibilní s jiným typem procesoru.
Vlastnosti strojového jazyka
Strojový jazyk je vysoce specifický a neobsahuje žádnou abstrahovanou syntaxi jako vyšší programovací jazyky, například Python nebo C++. Programátor zapisuje příkazy přímo ve formě binárních (či hexadecimálních) čísel, které procesor chápe jako instrukce pro vykonání konkrétních operací, jako je například přesun dat, aritmetické výpočty nebo práce s pamětí.
Pro člověka je psaní ve strojovém jazyce velmi obtížné a náchylné k chybám, proto se běžně používá assembler jako mezikrok, který překládá srozumitelnější symbolický jazyk do strojového kódu.
Příklady instrukcí
Instrukce ve strojovém jazyce se liší podle architektury. Například u architektury x86 může existovat instrukce pro sečtení dvou čísel nebo přesun dat z jedné části RAM do registru. V RISC architekturách, jako je ARM, jsou instrukce obvykle jednodušší, ale vyžadují více kroků pro komplexní operace.
Použití
Strojový jazyk se v současnosti používá zejména v oblastech, kde je klíčová rychlost, efektivita a minimální režie – například v vestavěných systémech, firmware, řadičích a mikrokontrolérech. Dále je důležitý při vývoji operačních systémů a bootloaderů, kde je nutné přímé ovládání hardware.
Vývoj
V dřívějších dekádách programátoři skutečně psali přímo ve strojovém kódu, často na děrných páskách nebo pomocí přepínačů na panelu počítače. Postupem času byly vyvinuty vyšší úrovně programovacích jazyků, které usnadnily práci vývojářům, a dnes se strojový jazyk používá především jako výstup z kompilátorů nebo asemblerů.
Související pojmy
- Asemblér
- Binární kód
- Hexadecimální soustava
- Instrukční sada
- Firmware
- Nízkourovňový programovací jazyk
- Dekódování instrukcí
- Procesorová architektura
- Mikrořadič
Kategorie
- Programovací jazyky
- Strojový kód
- Výpočetní technika
- Nízkourovňové programování
- Počítačové instrukční sady
- Základy informatiky
- Počítačová architektura
- Software
- Historie výpočetní techniky
- Počítačové inženýrství
- Počítačové programování
- Digitální elektronika
- Vestavěné systémy
- Mikroprocesory
- Operační systémy
- Technologie 20. století