Zestaw instrukcji mikroprocesora Z80


Grupa instrukcji porównań 8 bitowych

 

CP r

      

COMPARE = Porównaj

Operacja:   A - r
Mnemonik:   CP
Argumenty:   r
 
1 0 1 1 1 r  
Opis:  

Zawartość rejestru r jest porównywana z zawartością akumulatora. Jeśli zachodzi równość, zostaje ustawiony na jeden znacznik zera Z, Wykonanie tej instrukcji nie zmienia zawartości Akumulatora. 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, jeśli występuje pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej zerowany
N jest ustawiany na 1
C jest ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli rejestr B zawiera 60H, a Akumulator zawiera 63H, to po wykonaniu instrukcji CP B zostają ustawione znaczniki: S=0, Z=0, H=0, P/V=0, N=1, C=0.

 


 

CP n

      

COMPARE = Porównaj

Operacja:   A - n
Mnemonik:   CP
Argumenty:   n
 
1 1 1 1 1 1 1 0 FE
← n →  
Opis:   Liczba całkowita n jest porównywana z zawartością akumulatora. Jeśli zachodzi równość, zostaje ustawiony na jeden znacznik zera Z, Wykonanie tej instrukcji nie zmienia zawartości Akumulatora. 
   
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, jeśli występuje pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej zerowany
N jest ustawiany na 1
C jest ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli Akumulator zawiera 63H, to po wykonaniu instrukcji CP 60H zostają ustawione znaczniki: S=0, Z=0, H=0, P/V=0, N=1, C=0.

 


 

CP (HL)

      

COMPARE = Porównaj

Operacja:   A - (HL)
Mnemonik:   CP
Argumenty:   (HL)
 
1 0 1 1 1 1 1 0 BE
Opis:   Zawartość komórki pamięci o adresie w parze rejestrów HL jest porównywana z zawartością akumulatora. Jeśli zachodzi równość, zostaje ustawiony na jeden znacznik zera Z, Wykonanie tej instrukcji nie zmienia zawartości Akumulatora.
   
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, jeśli występuje pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej zerowany
N jest ustawiany na 1
C jest ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli para rejestrów HL zawiera 3000H, komórka o adresie 3000H zawiera 60H, a Akumulator zawiera 63H, to po wykonaniu instrukcji CP (HL) zostają ustawione znaczniki: S=0, Z=0, H=0, P/V=0, N=1, C=0.

 


 

CP (IX+d)

      

COMPARE = Porównaj

Operacja:   A - (IX+d)
Mnemonik:   CP
Argumenty:   (IX+d)
 
1 1 0 1 1 1 0 1 DD
1 0 1 1 1 1 1 0 BE
← d →  
Opis:   Zawartość rejestru indeksowego IX jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Zawartość tej komórki pamięci jest porównywana z zawartością akumulatora. Jeśli zachodzi równość, zostaje ustawiony na jeden znacznik zera Z, Wykonanie tej instrukcji nie zmienia zawartości Akumulatora.
   
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, jeśli występuje pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej zerowany
N jest ustawiany na 1
C jest ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli rejestr indeksowy IX zawiera 3000H, komórka o adresie 3005H zawiera 60H, a Akumulator zawiera 63H, to po wykonaniu instrukcji CP (IX+05H) zostają ustawione znaczniki: S=0, Z=0, H=0, P/V=0, N=1, C=0.

 


 

CP (IY+d)

      

COMPARE = Porównaj

Operacja:   A - (IY+d)
Mnemonik:   CP
Argumenty:   (IY+d)
 
1 1 1 1 1 1 0 1 FD
1 0 1 1 1 1 1 0 BE
← d →  
Opis:   Zawartość rejestru indeksowego IY jest dodawana do przesunięcia d w kodzie U2 w celu uzyskania adresu komórki pamięci. Zawartość tej komórki pamięci jest porównywana z zawartością akumulatora. Jeśli zachodzi równość, zostaje ustawiony na jeden znacznik zera Z, Wykonanie tej instrukcji nie zmienia zawartości Akumulatora.
   
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, jeśli występuje pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej zerowany
N jest ustawiany na 1
C jest ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli rejestr indeksowy IY zawiera 3000H, komórka o adresie 3005H zawiera 60H, a Akumulator zawiera 63H, to po wykonaniu instrukcji CP (IY+05H) zostają ustawione znaczniki: S=0, Z=0, H=0, P/V=0, N=1, C=0.

 



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.