Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Tříadresové instrukce jsou nejpřirozenější, obsahují dvě adresy operandů a adresu
výsledku. Např. činnost instrukce, jež odečte dva operandy, první operand je uložen na adrese
1
a
, druhý na adrese
2
a a výsledek uloží na adresu
3
a , lze symbolicky vyjádřit jako:
3
2
1
a
a
a
.
Tříadresové instrukce mají tu nevýhodu, že jsou stále příliš dlouhé. Pro 32 bitové adresy
bude adresové pole instrukce zabírat 3*32=96 bitů.
2 adresová instrukce.
OZ a1 a2
Délku instrukcí lze dále zkrátit, vynecháme-li adresu pro uložení výsledku. Výsledek se
pak bude ukládat na adresu jednoho z operandů. To je obvyklé. Avšak pro případy, kdy
potřebujeme výsledek uložit na jinou adresu, musíme zavést další neproduktivní operaci -
operaci přesunu. Stále budeme mít dva typy instrukcí:
Instrukce pracující s aritmeticko-logickou jednotkou (operace ALU) a instrukce
pro přesun paměť/paměť.
Operační znak Cíl/ Operand 1 Operand 2
Kód
Adresa
Adresa
Na adresu cíl se ukládá buď výsledek ALU operace nebo přesouvaná hodnota.
Instrukce pro řízení chodu programu nazývané také instrukce větvení.
Mikroprocesory
13
Operační znak Podmínka Adresa následující instrukce
při splnění podmínky
Kód
Kód
Adresa
MOV
[0],[1]
SUB
[0],[2]
JNZ
4
Instrukce MOV přesune obsah paměťové buňky s adresou
1 do paměťové buňky s adresou
0 . Instrukce SUB odečte obsah paměťové buňky
2 od obsahu paměťové buňky 0 a výsledek
uloží do paměťové buňky 0 . Nebyl-li výsledek odečítání záporné číslo, provede se skok na
instrukci ležící v paměťové buňce 4 .