Rlc
Author
Albert Floresrlc 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.
Instrukce procesoru Z80
┌ | ─ | ─ | ─ | ─ | ─ | ─ | ─ | ─ | ┐ | |
---|---|---|---|---|---|---|---|---|---|---|
│ | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | │ | |
C | ← | ← | ← | ← | ← | ← | ← | ← | ↲ |
Rotace hodnoty v registru
Rotace hodnoty v registru | ||||||
---|---|---|---|---|---|---|
rlc a | rlc b | rlc c | rlc d | rlc e | rlc h | rlc l |
Instrukce slouží k rotaci hodnoty registru. Délka instrukce je dva byty, první byte je prefix CB. +more
. Kód instrukce 7 6 5 4 3 2 1 0 1. byte 1 1 0 0 1 0 1 1 2. byte 0 0 0 0 0 registr registr registr
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ů. +more 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. 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.
Rotace hodnoty v paměti
Rotace hodnoty v paměti | ||
---|---|---|
rlc (hl) | rlc (ix±N) | (iy±N) |
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. +more
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ů.
[wiki_table=41377310]
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ů. Kód instrukce při adresování registrem HL 7 6 5 4 3 2 1 0 1. byte 1 1 0 0 1 0 1 1 2. byte 0 0 0 0 0 1 1 0
Umístění instrukcí rlc v souboru instrukcí
Rozmístění instrukcí rlc v instrukčním souboru procesoru Z80 Instrukce na šedém podkladu jsou nedokumentované instrukce | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
## | . 0 | . +more1 | . 2 | . 3 | . 4 | . 5 | . 6 | . 7 | . 8 | . 9 | . A | . B | . C | . D | . E | . F |
0. | rlca | |||||||||||||||
Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB | Po prefixu CB |
0. | rlc b | rlc c | rlc d | rlc e | rlc h | rlc l | rlc (hl) | rlc a | ||||||||
Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB | Po prefixu IX a prefixu CB |
0. | rlc (ix±N),b | rlc (ix±N),c | rlc (ix±N),d | rlc (ix±N),e | rlc (ix±N),h | rlc (ix±N),l | rlc (ix±N) | rlc (ix±N),a |