Zestaw instrukcji mikroprocesora Z80


Grupa instrukcji obrotów

 

RLCA

      

ROTATE LEFT CIRCULAR ACCUMULATOR = Obracaj akumulator w lewo

Operacja:  
Mnemonik:   RLCA
   
0 0 0 0 0 1 1 1 07
Opis:   Zawartość Akumulatora jest obracana w lewo o 1 bit. Bit znaku (b7) jest kopiowany do znacznika przeniesienia C i po wykonaniu obrotu trafia na pozycję bitu b0.
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H jest zerowany
P/V nie zmieniany
N jest zerowany
C zawiera stan bitu b7 Akumulatora przed wykonaniem operacji.
Przykład:   Jeśli Akumulator zawiera
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 0 0 0

to po wykonaniu instrukcji RLCA zawartość Akumulatora oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 0 0 0 1

 


 

RLA

      

ROTATE LEFT ACCUMULATOR = Obracaj akumulator w lewo z przeniesieniem

Operacja:  
Mnemonik:   RLA
   
0 0 0 1 0 1 1 1 17
Opis:   Zawartość Akumulatora jest obracana poprzez bit przeniesienia C w lewo o 1 bit. Poprzednia zawartość bitu przeniesienia C trafia do bitu b0. Bit b7 jest umieszczany w znaczniku C.
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H jest zerowany
P/V nie zmieniany
N jest zerowany
C zawiera stan bitu b7 Akumulatora przed wykonaniem operacji.
Przykład:   Jeśli Akumulator i znacznik C zawierają
C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 1 1 1 0 1 1 0

to po wykonaniu instrukcji RLA zawartość Akumulatora oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
0   1 1 1 0 1 1 0 1

 


 

RRCA

      

ROTATE RIGHT CIRCULAR ACCUMULATOR = Obracaj akumulator w prawo

Operacja:  
Mnemonik:   RRCA
   
0 0 0 0 1 1 1 1 0F
Opis:   Zawartość Akumulatora jest obracana w prawo o 1 bit. Bit b0 jest kopiowany do znacznika przeniesienia C i po wykonaniu obrotu trafia na pozycję bitu b7.
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H jest zerowany
P/V nie zmieniany
N jest zerowany
C zawiera stan bitu b0 Akumulatora przed wykonaniem operacji.
Przykład:   Jeśli Akumulator zawiera
b7 b6 b5 b4 b3 b2 b1 b0
0 0 0 1 0 0 0 1

to po wykonaniu instrukcji RRCA zawartość Akumulatora oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
1 0 0 0 1 0 0 0   1

 


 

RRA

      

ROTATE RIGHT ACCUMULATOR = Obracaj akumulator w prawo z przeniesieniem

Operacja:  
Mnemonik:   RRA
   
0 0 0 1 1 1 1 1 1F
Opis:   Zawartość Akumulatora jest obracana poprzez bit przeniesienia C w prawo o 1 bit. Poprzednia zawartość bitu przeniesienia C trafia do bitu b7. Bit b0 jest umieszczany w znaczniku C.
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H jest zerowany
P/V nie zmieniany
N jest zerowany
C zawiera stan bitu b0 Akumulatora przed wykonaniem operacji.
Przykład:   Jeśli Akumulator i znacznik C zawierają
b7 b6 b5 b4 b3 b2 b1 b0   C
1 1 1 0 0 0 0 1   0

to po wykonaniu instrukcji RRA zawartość Akumulatora oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
0 1 1 1 0 0 0 0   1

 


 

RLC r

      

ROTATE LEFT CIRCULAR = Obracaj w lewo

Operacja:  
Mnemonik:   RLC
Argumenty:   r

 

1 1 0 0 1 0 1 1 CB
0 0 0 0 0 r  
Opis:   Zawartość rejestru r jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b0. W kodzie operacyjnym instrukcji argument r jest przedstawiony następująco:
Rejestr r
A
B
C
D
E
H
L
111
000
001
010
011
100
101
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 rejestru źródłowego przed wykonaniem operacji.
Przykład:   Jeśli rejestr C zawiera
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 0 0 0

to po wykonaniu instrukcji RLC C zawartość rejestru C oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 0 0 0 1

 


 

RLC (HL)

      

ROTATE LEFT CIRCULAR = Obracaj w lewo

Operacja:  
Mnemonik:   RLC
Argumenty:   (HL)

 

1 1 0 0 1 0 1 1 CB
0 0 0 0 0 1 1 0 06
Opis:   Zawartość komórki pamięci o adresie przechowywanym w parze rejestrów HL jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b0.
   
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli para rejestrów HL zawiera 2828H, a komórka pamięci o adresie 2828H przechowuje
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 0 0 0

to po wykonaniu instrukcji RLC (HL) zawartość komórki pamięci pod adresem 2828H oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 0 0 0 1

 


 

RLC (IX+d)

      

ROTATE LEFT CIRCULAR = Obracaj w lewo

Operacja:  
Mnemonik:   RLC
Argumenty:   (IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 0 0 1 1 0 06
Opis:   Zawartość komórki pamięci o adresie równym sumie zawartości rejestru indeksowego IX oraz przesunięcia d jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b0.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli zawartością rejestru indeksowego IX jest 1000H, a komórka pamięci pod adresem 1002H przechowuje
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 0 0 0

to po wykonaniu instrukcji RLC (IX+2H) zawartość komórki pamięci pod adresem 1002H oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 0 0 0 1

 


 

RLC (IY+d)

      

ROTATE LEFT CIRCULAR = Obracaj w lewo

Operacja:  
Mnemonik:   RLC
Argumenty:   (IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 0 0 1 1 0 06
Opis:   Zawartość komórki pamięci o adresie równym sumie zawartości rejestru indeksowego IY oraz przesunięcia d jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b0.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli zawartością rejestru indeksowego IY jest 1000H, a komórka pamięci pod adresem 1002H przechowuje
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 0 0 0

to po wykonaniu instrukcji RLC (IY+2H) zawartość komórki pamięci pod adresem 1002H oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 0 0 0 1

 


 

RRC r

      

ROTATE RIGHT CIRCULAR = Obracaj w prawo

Operacja:  
Mnemonik:   RRC
Argumenty:   r

 

1 1 0 0 1 0 1 1 CB
0 0 0 0 1 r  
Opis:   Zawartość rejestru r jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b7. W kodzie operacyjnym instrukcji argument r jest przedstawiony następująco:
Rejestr r
A
B
C
D
E
H
L
111
000
001
010
011
100
101
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 rejestru źródłowego przed wykonaniem operacji.
Przykład:   Jeśli rejestr A zawiera
b7 b6 b5 b4 b3 b2 b1 b0
0 0 1 1 0 0 0 1

to po wykonaniu instrukcji RRC A zawartość rejestru A oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
1 0 0 1 1 0 0 0   1

 


 

RRC (HL)

      

ROTATE RIGHT CIRCULAR = Obracaj w prawo

Operacja:  
Mnemonik:   RRC
Argumenty:   (HL)

 

1 1 0 0 1 0 1 1 CB
0 0 0 0 1 1 1 0 0E
Opis:   Zawartość komórki pamięci o adresie przechowywanym w parze rejestrów HL jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b7.
   
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli para rejestrów HL zawiera 2000H, a komórka pod adresem 2000H ma zawartość
b7 b6 b5 b4 b3 b2 b1 b0
0 0 1 1 0 0 0 1

to po wykonaniu instrukcji RRC (HL) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
1 0 0 1 1 0 0 0   1

 


 

RRC (IX+d)

      

ROTATE RIGHT CIRCULAR = Obracaj w prawo

Operacja:  
Mnemonik:   RRC
Argumenty:   (IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 0 1 1 1 0 0E
Opis:   Zawartość komórki pamięci o adresie równym sumie zawartości rejestru indeksowego IX oraz przesunięcia d jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b7.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IX zawiera 2000H, a komórka pod adresem 2022H ma zawartość
b7 b6 b5 b4 b3 b2 b1 b0
0 0 1 1 0 0 0 1

to po wykonaniu instrukcji RRC (IX+22H) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
1 0 0 1 1 0 0 0   1

 


 

RRC (IY+d)

      

ROTATE RIGHT CIRCULAR = Obracaj w prawo

Operacja:  
Mnemonik:   RRC
Argumenty:   (IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 0 1 1 1 0 0E
Opis:   Zawartość komórki pamięci o adresie równym sumie zawartości rejestru indeksowego IY oraz przesunięcia d jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia oraz po wykonaniu obrotu do bitu b7.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IY zawiera 2000H, a komórka pod adresem 2022H ma zawartość
b7 b6 b5 b4 b3 b2 b1 b0
0 0 1 1 0 0 0 1

to po wykonaniu instrukcji RRC (IX+22H) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
1 0 0 1 1 0 0 0   1

 


 

RL r

      

ROTATE LEFT = Obracaj w lewo z przeniesieniem

Operacja:  
Mnemonik:   RL
Argumenty:   r

 

1 1 0 0 1 0 1 1 CB
0 0 0 1 0 r  
Opis:   Zawartość rejestru r jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b0. W kodzie operacyjnym instrukcji argument r jest przedstawiony następująco:
Rejestr r
A
B
C
D
E
H
L
111
000
001
010
011
100
101
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 rejestru źródłowego przed wykonaniem operacji.
Przykład:   Jeśli rejestr D i znacznik C zawierają
C   b7 b6 b5 b4 b3 b2 b1 b0
0   1 0 0 0 1 1 1 1

to po wykonaniu instrukcji RL D zawartość rejestru D oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 1 1 1 0

 


 

RL (HL)

      

ROTATE LEFT = Obracaj w lewo z przeniesieniem

Operacja:  
Mnemonik:   RL
Argumenty:   (HL)

 

1 1 0 0 1 0 1 1 CB
0 0 0 1 0 1 1 0 16
Opis:   Zawartość komórki pamięci o adresie przechowywanym przez parę rejestrów HL jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b0.
   
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli para rejestrów HL zawiera adres 2000H, a komórka pod tym adresem i znacznik C zawierają
C   b7 b6 b5 b4 b3 b2 b1 b0
0   1 0 0 0 1 1 1 1

to po wykonaniu instrukcji RL (HL) zawartość komórki oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 1 1 1 0

 


 

RL (IX+d)

      

ROTATE LEFT = Obracaj w lewo z przeniesieniem

Operacja:  
Mnemonik:   RL
Argumenty:   (IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 1 0 1 1 0 16
Opis:   Zawartość komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IX oraz przesunięcia d jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b0.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IX zawiera 4000H, a komórka pod adresem 4016H i znacznik C zawierają
C   b7 b6 b5 b4 b3 b2 b1 b0
0   1 0 0 0 1 1 1 1

to po wykonaniu instrukcji RL (IX+16H) zawartość komórki oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 1 1 1 0

 


 

RL (IY+d)

      

ROTATE LEFT = Obracaj w lewo z przeniesieniem

Operacja:  
Mnemonik:   RL
Argumenty:   (IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 1 0 1 1 0 16
Opis:   Zawartość komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IY oraz przesunięcia d jest obracana w lewo o 1 bit. Poprzednia zawartość bitu b7 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b0.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b7 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IY zawiera 4000H, a komórka pod adresem 4016H i znacznik C zawierają
C   b7 b6 b5 b4 b3 b2 b1 b0
0   1 0 0 0 1 1 1 1

to po wykonaniu instrukcji RL (IY+16H) zawartość komórki oraz znacznika przeniesienia C jest następująca:

C   b7 b6 b5 b4 b3 b2 b1 b0
1   0 0 0 1 1 1 1 0

 


 

RR r

      

ROTATE RIGHT = Obracaj w prawo z przeniesieniem

Operacja:  
Mnemonik:   RR
Argumenty:   r

 

1 1 0 0 1 0 1 1 CB
0 0 0 1 1 r  
Opis:   Zawartość rejestru r jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b7. W kodzie operacyjnym instrukcji argument r jest przedstawiony następująco:
Rejestr r
A
B
C
D
E
H
L
111
000
001
010
011
100
101
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 rejestru źródłowego przed wykonaniem operacji.
Przykład:   Jeśli rejestr E i znacznik C zawierają
b7 b6 b5 b4 b3 b2 b1 b0   C
1 1 0 1 1 1 0 1   0

to po wykonaniu instrukcji RR E zawartość rejestru E oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
0 1 1 0 1 1 1 0   1

 


 

RR (HL)

      

ROTATE RIGHT = Obracaj w prawo z przeniesieniem

Operacja:  
Mnemonik:   RR
Argumenty:   (HL)

 

1 1 0 0 1 0 1 1 CB
0 0 0 1 1 1 1 0 1E
Opis:   Zawartość komórki pamięci o adresie przechowywanym przez parę rejestrów HL jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b7.
   
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli para rejestrów HL zawiera adres 4343H, a komórka pamięci pod adresem 4343H i znacznik C zawierają
b7 b6 b5 b4 b3 b2 b1 b0   C
1 1 0 1 1 1 0 1   0

to po wykonaniu instrukcji RR (HL) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
0 1 1 0 1 1 1 0   1

 


 

RR (IX+d)

      

ROTATE RIGHT = Obracaj w prawo z przeniesieniem

Operacja:  
Mnemonik:   RR
Argumenty:   (IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 1 1 1 1 0 1E
Opis:   Zawartość komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IX oraz przesunięcia d jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b7.
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IX zawiera adres 6000H, a komórka pamięci pod adresem 6008H i znacznik C zawierają
b7 b6 b5 b4 b3 b2 b1 b0   C
1 1 0 1 1 1 0 1   0

to po wykonaniu instrukcji RR (IX+8H) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
0 1 1 0 1 1 1 0   1

 


 

RR (IY+d)

      

ROTATE RIGHT = Obracaj w prawo z przeniesieniem

Operacja:  
Mnemonik:   RR
Argumenty:   (IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
0 0 0 1 1 1 1 0 1E
Opis:   Zawartość komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IY oraz przesunięcia d jest obracana w prawo o 1 bit. Poprzednia zawartość bitu b0 trafia do znacznika przeniesienia C. Pierwotna zawartość znacznika przeniesienia C jest kopiowana do bitu b7
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   S jest ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V jest ustawiany na 1, jeśli wynik zawiera parzystą liczbę bitów o stanie 1; inaczej zerowany
N jest zerowany
C zawiera stan bitu b0 komórki pamięci przed wykonaniem operacji.
Przykład:   Jeśli rejestr indeksowy IX zawiera adres 6000H, a komórka pamięci pod adresem 6008H i znacznik C zawierają
b7 b6 b5 b4 b3 b2 b1 b0   C
1 1 0 1 1 1 0 1   0

to po wykonaniu instrukcji RR (IY+8H) zawartość tej komórki oraz znacznika przeniesienia C jest następująca:

b7 b6 b5 b4 b3 b2 b1 b0   C
0 1 1 0 1 1 1 0   1

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe