Obsah

Export page to Open Document format

Programování v jazyku symbolických instrukcí

Základní části počítače:

K významným registrům CPU patří střádač (Accumulator, A), registr ukazatele instrukcí (Instruction pointer register, IP) a instrukční registr (Instruction register, IR).

Další registry procesorů pentium

Registr EFLAGS

Registr příznaků EFLAGS obsahuje příznaky stavové, řídící a systémové.

Registr EIP

Registr EIP obsahuje 32 bitový ukazatel následující instrukce, tj. instrukce, která se bude jako další v pořadí provádět. V 16ti bitovém režimu obsahuje registr IP 16 ti bitový ukazatel následující instrukce. Obsah registru EIP, resp. IP mohou měnit pouze skokové instrukce.

Nejmenší adresovatelnou jednotkou hlavni paměti je byte - slabika.

strojový kód/jazyk - úplný soubor všech instrukcí daného procesoru, pro různé počítače rozdílný, programovani ve strojovem kodu je prakticky nemozny

hlavní pamět - dva typy objektů – data a instrukce, procesor považuje za instrukci ten objekt, na který ukazuje registr ukazatele instrukcí (IPR)

Instrukce

Instrukce jsou příkazy pro procesor, které bezprostředně řídí jeho činnost. Každá instrukce obsahuje operační kód a může obsahovat i adresy operandů, nebo přímo operandy. Operační kód jednoznačně určuje operaci a jeho součástí mohou být i adresy registrů, se kterými instrukce pracuje. Přes rozdíly v instrukčních souborech různých procesorů lze vysledovat několik základních typů instrukcí:

link na slidy s instrukcemi

Činost počitače

1. Do instrukčního registru se uloží obsah paměťového místa, které je adresováno registrem ukazatele instrukcí.

2. Nastaví se nový obsah registru ukazatele instrukcí (ukazuje na následující instrukci).

3. Obsah instrukčního registru je dekódován, t.j. určí se požadovaná operace a adresy příslušných operandů.

4. Provede se určená operace (u instrukcí skokových se nastaví nový obsah registru ukazatele instrukcí).

5. Pokud nebyla provedená instrukce pokynem k zastavení procesoru, pokračuje se znovu od bodu 1.

Symbolický jazyk

nízkoúrovnový jazyk jazyk, implementace symbolických reprezentací číselných strojových kódů. Definovano vyrobcem HW, založené na zkratkach (direktivach) pro lepsi orientaci programátora. Preklad do strojového jazyka provádí překladač (Assembler). V češtině se oba předchozí pojmy často nerozlišují a označují se stejným slovem „asembler“. 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č).

Pruchod překladače zdrojovým kódem 2x:

FPU

Tyto typy instrukcí:

Link na slidy s instrukcemi

Přerušení

Procesory Pentium umožňují přerušit vykonávání programu v reakci na některou předem specifikovanou událost, vykonat tzv. obslužný program této události, a pak opět vrátit řízení přerušenému programu a pokračovat v jeho vykonávání. Události, které mohou přerušit vykonávání programu se dělí na

Průběh

Procesory Pentium rozeznávají čtyři druhy přerušení:

Výpočet fyzickej adresy