Otevřít hlavní menu

Změny

Přidáno 800 bajtů ,  před 3 lety
Skoky a instrukce RST.
== Strojové instrukce ==
 
Slovo mikroprocesoru Intel 8080 má 8 [[bit]]ů. MikroprocesorOproti mikroprocesoru [[Intel 8008]] však instrukční sada 8080 obsahuje i instrukce pro práci se 16bitovými daty, které pracujípoužívají s dvojicemidvojice registrů B+C, D+E, H+L, SP, případně A+příznaky a výrazně zjednodušují především práci s adresami. Instrukční sada se vyznačuje velmi nízkou [[Ortogonální instrukční sada|ortogonalitou]]:
 
* Většinu unárních operací lze provádět pouze s akumulátorem (registr A); u binárních operací je jeden z operandů vždy v registru A a výsledek se ukládá také do registru A.
* Obsah registru A lze načíst (kromě adresy uložené v HL) z adresy zadané přímou adresou nebo z adresy uložené ve dvojici registrů BC nebo DE; stejné možnosti jsou i pro zapsání obsahu registru A do paměti.
* Intel 8080 má instrukce pro přehození obsahu 16bitových registrů DE a HL, pro přehození 16-bitového slova na vrcholu zásobníku s HL a instrukce pro naplnění registrů SP nebo PC z HL (naplnění PC z HL odpovídá skoku na adresu uvedenou v HL).
* Cíle skoků a volání procedur jsou zadávány jako absolutní 16bitové adresy, což vyžaduje [[Relokace|relokaci]] programu (změnu adresních konstant) při jeho zavedení na jinou adresu. Všechny instrukce skoků, volání procedur a návratů z procedury mají podmíněné verze, u kterých se skok provede pokud je nebo není nastaven jeden vybraný ze 4 aritmetických příznaků.
* Pro vytvoření víceúrovňového systému přerušení je k dispozici 8 jednobytových instrukcí RST pro vyvolání podprogramu z jedné z 8 pevných adres.
 
Délka instrukcí závisí na přítomnosti konstant v instrukci. Instrukce neobsahující konstantu jsou jednobytové, instrukce obsahující osmibitovou konstantu (osmibitovou přímou hodnotu nebo číslo [[Vstup/výstup|V/V portu]]) jsou dvoubytové, instrukce obsahující 16bitovou konstantu (adresu, případně konstantu pro načtení do dvojice registrů) jsou tříbytové.
 
12 operačních kódů je nevyužitých. Tyto kódy využívají procesory [[Intel 8085]] a [[Z80]] pro rozšíření instrukční sady.
 
{| {{chset-tableformat}}