Rlc
instrukce procesorů Intel 8080 a Z80 From Wikipedia, the free encyclopedia
Remove ads
rlc nebo RLC je instrukce procesorů Intel 8080 a Z80.
Instrukce procesoru Intel 8080
Instrukce RLC je odpovídající instrukci rlca, resp. instrukci rlc a procesoru Z80.[1]
Instrukce procesoru Z80
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
C | ← | ← | ← | ← | ← | ← | ← |
Název instrukce je tvořen prvními písmeny významu instrukce Rotate Left Circular.[2] Instrukce provádí přesun (rotaci) bitů ve směru z méně významné pozice na více významnou pozici.[2][3] Bit z nejvíce významné pozice (7) je přesunut na nejméně významnou pozici (0). Kromě toho je hodnota bitu z nejvíce významné pozice zkopírována i do příznaku přenosu.[2][3] Instrukce může pracovat jak s registrem, tak s místem v paměti. V instrukční sadě procesoru Intel 8080 existuje stejnojmenná instrukce RLC ale ta je pouze omezenou varianou instrukce rlc procesoru Z80, protože pracuje pouze s akumulátorem. Odpovídá tak instrukci rlc a a svým instrukčním kódem odpovídá instrukci rlca procesoru Z80.[1]
Rotace hodnoty v registru
Instrukce slouží k rotaci hodnoty registru. Délka instrukce je dva byty, první byte je prefix CB.
Obecně je možné tuto instrukci zapsat jako rlc r
, kde r je zástupný symbol pro některý z registrů procesoru A, B, C, D, E, H a L. Instrukce ke svému vykonání potřebuje 2 M-cykly a doba jejího vykonání trvá 8 T-cyklů.[4] Registr, se kterým instrukce pracuje, zakódován v nultém až druhém bitu druhého bajtu operačního kódu instrukce. Tato trojice bitů je jednotlivým registrům přiřazena jako:
111 - registr A , 000 - registr B, 001 - registr C, 010 - registr D, 011 - registr E, 100 - registr H, 101 - registr L.[5]
Kombinace bitů označujících registr může nabývat i hodnoty 110, v tomto případě se jedná o instrukci rlc, která ale místo s registrem pracuje s paměťovým místem na adrese HL (viz níže). V instrukční sadě procesoru se nachází instrukce rlca, která provádí stejnou akci jako instrukce rlc a, ale je vykonána rychleji.[2]
Rotace hodnoty v paměti
Instrukce slouží k rotaci hodnoty v paměťovém místě. Adresa v paměti, jejíž obsah je rotován, může být určena buď hodnotou registru HL nebo hodnotou indexového registru IX nebo registru IY a offsetem.
V případě, kdy je k adresaci použit registr HL, je délka instrukce dva byty, první byte je prefix CB. Instrukce ke svému vykonání potřebuje 4 M-cykly a doba jejího vykonání trvá 15 T-cyklů.[4]
Pokud je k adresaci použit indexový registr, je délka instrukce čtyři byty, první byte je prefix IX (X = 0) nebo prefix IY (X = 1) následovaný prefixem CB a offsetem. Posledním bytem je vlastní instrukce. Instrukce ke svému vykonání potřebuje 6 M-cyklů a doba jejího vykonání trvá 23 T-cyklů.[4]
Umístění instrukcí rlc v souboru instrukcí
Remove ads
Reference
Související články
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads