Jr

instrukce procesoru Z80 From Wikipedia, the free encyclopedia

Remove ads

JR nebo jr je instrukce procesorů Z80. Instrukce provádí relativní skok (relative jump) na adresu v rozsahu -126 až +129 bytů od umístění instrukce.[1] Cíl skoku se obvykle uvádí formou návěstí. Instrukce existuje i ve variantách provádějící skok při splnění podmínky na základě stavu registru příznaků. Instrukce je základním prostředkem pro vytváření cyklů (smyček).

Reálně instrukce zadané číslo se znaménkovým bitem přičítá k registru PC, tedy čítači instrukcí. Čítač ukazuje na instrukci následující po dvoubajtové instrukci jr, proto je číselný rozsah -128 až +127 o dva bajty posunutý.

Remove ads

Nepodmíněný skok

Další informace Nepodmíněný skok ...
Další informace Kód instrukce ...

Obecně lze instrukci zapsat jako jr N. Délka instrukce je dva byty, druhý byte obsahuje hodnotu konstanty. Hodnota prvního bytu je 24 desítkově a 18 šestnáctkově. Vykonání instrukce vyžaduje tři M-cykly a trvá dvanáct T-cyklů.[2][3]

Odpovídající instrukce v instrukční sadě procesoru Intel 8080 není.[4]

Remove ads

Podmíněný skok

Další informace Podmíněný skok ...

Instrukce provádí skok pouze v případě splnění podmínky. Obecně lze instrukci zapsat jako jr p, N, kde p je zástupný symbol pro testovaný příznak. Na rozdíl od instrukcí jp, kde jako podmínku lze použít všechny čtyři příznaky, u instrukcí jr lze testovat pouze příznaky příznak přenosu C a příznak nuly Z.[1]

Další informace Kód instrukce ...

Délka instrukce je dva byty. V prvním bytu je zakódována podmínka, při jejíž splnění se skok provede, druhý byte obsahuje hodnotu konstanty. Vykonání instrukce vyžaduje tři M-cykly a trvá dvanáct T-cyklů v případě splnění podmínky a provedení skoku a dva M-cykly a trvá sedm T-cyklů v případě nesplnění podmínky a neprovedení skoku.[2][3]

Příznak, který je před případným provedením skoku testován, je zakódován ve třetím a čtvrtém bitu operačního kódu instrukce. Tato dvojice je jednotlivým podmínkám přiřazena jako 00 - NZ, 01 - Z, 10 - NC, 11 - C.[2]

Odpovídající instrukce v instrukční sadě procesoru Intel 8080 není.[4]

Remove ads

Umístění instrukcí jr v souboru instrukcí

Další informace Rozmístění instrukcí v instrukčním souboru procesoru Z80, ## ...

djnz

Instrukce djnz N (decrement jump non zero, „sniž, skok pokud není nula“) provádí stejnou činnost jako posloupnost instrukcí dec b a jr nz, N, tedy sníží o jednu hodnotu registru b a opakuje skok, dokud není b rovno nule. Používá se pro smyčky s počtem opakování určeným registrem b (max. 256), jeho výhodou je, že je kratší a rychlejší (úspora 1 byte a 3 T-cykly).

Reference

Literatura

Související články

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads