Zestaw instrukcji mikroprocesora Z80


Grupa instrukcji logiki 8 bitowej

 

AND r

      

LOGICAL AND = Logiczne i

Operacja:   A ← A r
Mnemonik:   AND
Argumenty:   r
 
1 0 1 0 0 r  
Opis:  

Operacja logiczna koniunkcji jest wykonywana pomiędzy bajtem określonym przez rejestr r a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze. Symbol r odnosi się do rejestrów A, B, C, D, E, H i L, które w kodzie operacyjnym instrukcji są przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101

   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli rejestr B zawiera 7BH (0111 1011), a Akumulator zawiera 0C3H (1100 0011), to po wykonaniu instrukcji AND B Akumulator będzie zawierał 43H (0100 0011).

 


 

AND n

      

LOGICAL AND = Logiczne i

Operacja:   A ← A n
Mnemonik:   AND
Argumenty:   n
 
1 1 1 0 0 1 1 0 E6
← n →  
Opis:   Operacja logiczna koniunkcji jest wykonywana pomiędzy liczbą n a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 0C3H (1100 0011), to po wykonaniu instrukcji AND 7BH (0111 1011) Akumulator będzie zawierał 43H (0100 0011).

 


 

AND (HL)

      

LOGICAL AND = Logiczne i

Operacja:   A ← A (HL)
Mnemonik:   AND
Argumenty:   (HL)
 
1 0 1 0 0 1 1 0 A6
Opis:   Operacja logiczna koniunkcji jest wykonywana pomiędzy bajtem pamięci wskazywanym zawartością pary rejestrów HL a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 0C3H (1100 0011), para rejestrów HL zawiera 1000H, a komórka pamięci o adresie 1000H zawiera 7BH (0111 1011), to po wykonaniu instrukcji AND (HL) Akumulator będzie zawierał 43H (0100 0011).

 


 

AND (IX+d)

      

LOGICAL AND = Logiczne i

Operacja:   A ← A (IX+d)
Mnemonik:   AND
Argumenty:   (IX+d)
 
1 1 0 1 1 1 0 1 DD
1 0 1 0 0 1 1 0 A6
← d →  
Opis:   Zawartość rejestru indeksowego IX jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna koniunkcji jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 0C3H (1100 0011), Rejestr indeksowy IX zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 7BH (0111 1011), to po wykonaniu instrukcji AND (IX+05H) Akumulator będzie zawierał 43H (0100 0011).

 


 

AND (IY+d)

      

LOGICAL AND = Logiczne i

Operacja:   A ← A (IY+d)
Mnemonik:   AND
Argumenty:   (IY+d)
 
1 1 1 1 1 1 0 1 FD
1 0 1 0 0 1 1 0 A6
← d →  
Opis:   Zawartość rejestru indeksowego IY jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna koniunkcji jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 0C3H (1100 0011), Rejestr indeksowy IY zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 7BH (0111 1011), to po wykonaniu instrukcji AND (IY+05H) Akumulator będzie zawierał 43H (0100 0011).

 


 

OR r

      

LOGICAL OR = Logiczne lub

Operacja:   A ← A r
Mnemonik:   OR
Argumenty:   r
 
1 0 1 1 0 r  
Opis:   Operacja logiczna alternatywy jest wykonywana pomiędzy bajtem określonym przez rejestr r a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze. Symbol r odnosi się do rejestrów A, B, C, D, E, H i L, które w kodzie operacyjnym instrukcji są przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli rejestr H zawiera 48H (0100 1000), a Akumulator zawiera 12H (0001 0010), to po wykonaniu instrukcji OR H Akumulator będzie zawierał 5AH (0101 1010).

 


 

OR n

      

LOGICAL OR = Logiczne lub

Operacja:   A ← A n
Mnemonik:   OR
Argumenty:   n
 
1 1 1 1 0 1 1 0 F6
← n →  
Opis:   Operacja logiczna alternatywy jest wykonywana pomiędzy liczbą n a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 12H (0001 0010), to po wykonaniu instrukcji OR 48H (0100 1000) Akumulator będzie zawierał 5AH (0101 1010).

 


 

OR (HL)

      

LOGICAL OR = Logiczne lub

Operacja:   A ← A (HL)
Mnemonik:   OR
Argumenty:   (HL)
 
1 0 1 1 0 1 1 0 B6
Opis:   Operacja logiczna alternatywy jest wykonywana pomiędzy bajtem pamięci wskazywanym zawartością pary rejestrów HL a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 12H (0001 0010), para rejestrów HL zawiera 1000H, a komórka pamięci o adresie 1000H zawiera 48H (0100 1000), to po wykonaniu instrukcji OR (HL) Akumulator będzie zawierał 5AH (0101 1010).

 


 

OR (IX+d)

      

LOGICAL OR = Logiczne lub

Operacja:   A ← A (IX+d)
Mnemonik:   OR
Argumenty:   (IX+d)
 
1 1 0 1 1 1 0 1 DD
1 0 1 1 0 1 1 0 B6
← d →  
Opis:   Zawartość rejestru indeksowego IX jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna alternatywy jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 12H (0001 0010), Rejestr indeksowy IX zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 48H (0100 1000), to po wykonaniu instrukcji OR (IX+05H) Akumulator będzie zawierał 5AH (0101 1010).

 


 

OR (IY+d)

      

LOGICAL OR = Logiczne lub

Operacja:   A ← A (IY+d)
Mnemonik:   OR
Argumenty:   (IY+d)
 
1 1 1 1 1 1 0 1 FD
1 0 1 1 0 1 1 0 D6
← d →  
Opis:   Zawartość rejestru indeksowego IY jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna alternatywy jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 12H (0001 0010), Rejestr indeksowy IY zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 48H (0100 1000), to po wykonaniu instrukcji OR (IY+05H) Akumulator będzie zawierał 5AH (0101 1010).

 


 

XOR r

      

EXCLUSIVE OR = Suma modulo 2

Operacja:   A ← A r
Mnemonik:   XOR
Argumenty:   r
 
1 0 1 0 1 r  
Opis:   Operacja logiczna różnicy symetrycznej jest wykonywana pomiędzy bajtem określonym przez rejestr r a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze. Symbol r odnosi się do rejestrów A, B, C, D, E, H i L, które w kodzie operacyjnym instrukcji są przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
   
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli rejestr D zawiera 5DH (0101 1101), a Akumulator zawiera 96H (1001 0110), to po wykonaniu instrukcji XOR H Akumulator będzie zawierał 0CBH (1100 1011).

 


 

XOR n

      

EXCLUSIVE OR = Suma modulo 2

Operacja:   A ← A n
Mnemonik:   XOR
Argumenty:   n
 
1 1 1 0 1 1 1 0 EE
← n →  
Opis:   Operacja logiczna różnicy symetrycznej jest wykonywana pomiędzy liczbą n a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 96H (1001 0110)), to po wykonaniu instrukcji XOR 5DH (0101 1101) Akumulator będzie zawierał 0CBH (1100 1011).

 


 

XOR (HL)

      

EXCLUSIVE OR = Suma modulo 2

Operacja:   A ← A (HL)
Mnemonik:   XOR
Argumenty:   (HL)
 
1 0 1 0 1 1 1 0 AE
Opis:   Operacja logiczna różnicy symetrycznej jest wykonywana pomiędzy bajtem pamięci wskazywanym zawartością pary rejestrów HL a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 96H (1001 0110), para rejestrów HL zawiera 1000H, a komórka pamięci o adresie 1000H zawiera 5DH (0101 1101), to po wykonaniu instrukcji XOR (HL) Akumulator będzie zawierał 0CBH (1100 1011).

 


 

XOR (IX+d)

      

EXCLUSIVE OR = Suma modulo 2

Operacja:   A ← A (IX+d)
Mnemonik:   XOR
Argumenty:   (IX+d)
 
1 1 0 1 1 1 0 1 DD
1 0 1 0 1 1 1 0 AE
← d →  
Opis:   Zawartość rejestru indeksowego IX jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna różnicy symetrycznej jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 96H (1001 0110), Rejestr indeksowy IX zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 5DH (0101 1101), to po wykonaniu instrukcji XOR (IX+05H) Akumulator będzie zawierał 0CBH (1100 1011).

 


 

XOR (IY+d)

      

EXCLUSIVE OR = Suma modulo 2

Operacja:   A ← A (IY+d)
Mnemonik:   XOR
Argumenty:   (IY+d)
 
1 1 1 1 1 1 0 1 FD
1 0 1 0 1 1 1 0 AE
← d →  
Opis:   Zawartość rejestru indeksowego IY jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Operacja logiczna różnicy symetrycznej jest wykonywana pomiędzy bajtem pamięci wskazywanym przez obliczony adres a bajtem zawartym w Akumulatorze; wynik jest umieszczany w Akumulatorze.
   
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki:   S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H jest zerowany
P/V ustawiany na 1 w przypadku parzystej liczby bitów 1 w wyniku, inaczej zerowany
N jest zerowany
C jest zerowany
Przykład:   Jeśli Akumulator zawiera 96H (1001 0110), Rejestr indeksowy IY zawiera 1000H, a komórka pamięci o adresie 1005H zawiera 5DH (0101 1101), to po wykonaniu instrukcji XOR (IY+05H) Akumulator będzie zawierał 0CBH (1100 1011).

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   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.