Uživatelské nástroje

Nástroje pro tento web


pitel:isz:asembler

Programování v jazyku symbolických instrukcí

Je to docela dobře vysvětleno v opoře.

Činnost počítače

Viz 7. otázka

Pro tuto otázku postačí: procesor podle pointeru na instrukci tuto instrukci načte. Zjistí o jakou jde. Zjistí, kde jsou operandy a pak provede instrukci. K dispozici má při vykonávání instrukcí systémové registry. Mezi důležité registry, které může procesor používat při výkonu instrukce, patří střadač (A) a čítač (C).

Registry bývají 32bitové (E, jako extended na začátku), jejich spodní polovina je pak bez onoho E na začátku. Tato 16bitová část se pak dále dělí po 8 bitech na H (horní) L (spodní) část. Dnes už můžeme narazit i na 64bitové registry, ty jsou pak označeny R na začátku.

RAX
EAX
AX
AH AL

Strojový jazyk

Instrukce ve strojovém jazyce je zapsána v binární podobě a může mít proměnlivou délku. První část určuje operační kód (identifikuje instrukci). Dále pak může následovat jeden nebo více operandů. Programu ve strojovém jazyce se někdy říká binární soubor a je počítačem přímo prováděn.

Symbolický jazyk

Protože je téměř nemožné efektivně ve strojovém jazyku psát programy, používáme pro přímé programování procesoru jazyk symbolických instrukcí. Každá jednotlivá instrukce má přidělené slovo či zkratku. Na každý řádek píšeme jednu instrukci spolu s jejími parametry. Lze použít také návěští pro označení úseku kódu, abychom při skocích v programu nemuseli psát ručně adresu cíle skoku.

Program napsaný v jazyku symbolických instrukcí se na strojový kód převádí překladačem (angl. assembler). V češtině je v tom trochu bordel a asembler se říká jak symbolickému jazyku, tak překladači.

Aby překladač byl překlad schopen provést, musí mu být poskytnuty některé dodatečné informace, které se označují jako direktivy (pokyny pro překladač). Mezi nejdůležitější patří direktiva na definici počáteční adresy programu a direktiva ukazující na startovní instrukci programu (první instrukce, která se má začít provádět). Dále pomocí direktiv můžeme rezervovat v paměti místo, které pomocí této direktivy pojmenujeme a používáme dále toto jméno místo toho, abychom pokaždé uváděli přesnou adresu - vznikají tím jakési „proměnné“ asembleru.

Adresování

FIXME - bud to prijde sem, nebo k 7.: „cinnost pocitace“

/var/www/wiki/data/pages/pitel/isz/asembler.txt · Poslední úprava: 30. 12. 2022, 13.43:01 autor: 127.0.0.1