Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Tłumaczenie: mgr Jerzy Wałaszek

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

Opis instrukcji mikroprocesora Z80 – 5

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 5

Grupa instrukcji logiki 8 bitowej

AND r

      

LOGICAL AND = Logiczne i

Operacja:   A ← A obrazek 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 obrazek 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 obrazek (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 obrazek (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 obrazek (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 obrazek 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 obrazek 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 obrazek (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 obrazek (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 obrazek (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 obrazek 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 obrazek 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 obrazek (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 obrazek (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 obrazek (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).
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

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

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.