Zestaw instrukcji mikroprocesora Z80


Grupa instrukcji ustawiania, zerowania i testowania bitów

 

BIT b,r

      

TEST BIT = Testuj bit

Operacja:   Z ← rb
Mnemonik:   BIT
Argumenty   b,r

 

1 1 0 0 1 0 1 1 CB
0 1 b r  
Opis:   Instrukcja testuje bit b w rejestrze r, ustawiając odpowiednio znacznik Z. W kodzie operacyjnym instrukcji argumenty b i r są przedstawione następująco:
Testowany bit b   Rejestr r
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
  B
C
D
E
H
L
A
000
001
010
011
100
101
111
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   S nieokreślony stan
Z jest ustawiany na 1, jeśli bit b jest równy 0, inaczej zerowany
H jest ustawiany na 1
P/V nieokreślony stan
N jest zerowany
C nie jest zmieniany
Przykład:   Jeśli bit 2 w rejestrze B zawiera 0, to po wykonaniu BIT 2,B znacznik Z w rejestrze F przyjmie stan 1, a bit 2 w rejestrze B pozostanie w stanie 0. Bit 0 w rejestrze B jest najmniej znaczącym bitem.

 


 

BIT b,(HL)

      

TEST BIT = Testuj bit

Operacja:   Z ← (HL)b
Mnemonik:   BIT
Argumenty   b,(HL)

 

1 1 0 0 1 0 1 1 CB
0 1 b 1 1 0  
Opis:   Instrukcja testuje bit b w komórce pamięci wskazywanej przez zawartość pary rejestrów HL, ustawiając odpowiednio znacznik Z. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
3 12 (4,4,4) 3,00μs
Zmieniane znaczniki:   S nieokreślony stan
Z jest ustawiany na 1, jeśli bit b jest równy 0, inaczej zerowany
H jest ustawiany na 1
P/V nieokreślony stan
N jest zerowany
C nie jest zmieniany
Przykład:   Jeśli para rejestrów HL zawiera 4444H, a bit 4 w komórce pamięci pod adresem 4444H ma wartość 1, to po wykonaniu instrukcji BIT 4,(HL) znacznik Z w rejestrze znaczników F przyjmie stan 0, a bit 4 w komórce pamięci pod adresem 4444H wciąż będzie miał wartość 1. Bit 0 w tej komórce jest najmniej znaczącym bitem.

 


 

BIT b,(IX+d)

      

TEST BIT = Testuj bit

Operacja:   Z ← (IX+d)b
Mnemonik:   BIT
Argumenty   b,(IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
d  
0 1 b 1 1 0  
Opis:   Instrukcja testuje bit b w komórce pamięci wskazywanej przez sumę zawartości rejestru indeksowego IX oraz przesunięcia d, ustawiając odpowiednio znacznik Z. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
5 20 (4,4,3,5,4) 5,00μs
Zmieniane znaczniki:   S nieokreślony stan
Z jest ustawiany na 1, jeśli bit b jest równy 0, inaczej zerowany
H jest ustawiany na 1
P/V nieokreślony stan
N jest zerowany
C nie jest zmieniany
Przykład:   Jeśli rejestr indeksowy IX zawiera 2000H, a bit 6 w komórce pamięci pod adresem 2004H ma wartość 1, to po wykonaniu instrukcji BIT 6,(IX+4H) znacznik Z w rejestrze znaczników F przyjmie stan 0, a bit 6 w komórce pamięci pod adresem 2004H wciąż będzie miał wartość 1. Bit 0 w tej komórce jest najmniej znaczącym bitem.

 


 

BIT b,(IY+d)

      

TEST BIT = Testuj bit

Operacja:   Z ← (IY+d)b
Mnemonik:   BIT
Argumenty   b,(IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
d  
0 1 b 1 1 0  
Opis:   Instrukcja testuje bit b w komórce pamięci wskazywanej przez sumę zawartości rejestru indeksowego IY oraz przesunięcia d, ustawiając odpowiednio znacznik Z. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
5 20 (4,4,3,5,4) 5,00μs
Zmieniane znaczniki:   S nieokreślony stan
Z jest ustawiany na 1, jeśli bit b jest równy 0, inaczej zerowany
H jest ustawiany na 1
P/V nieokreślony stan
N jest zerowany
C nie jest zmieniany
Przykład:   Jeśli rejestr indeksowy IY zawiera 2000H, a bit 6 w komórce pamięci pod adresem 2004H ma wartość 1, to po wykonaniu instrukcji BIT 6,(IY+4H) znacznik Z w rejestrze znaczników F przyjmie stan 0, a bit 6 w komórce pamięci pod adresem 2004H wciąż będzie miał wartość 1. Bit 0 w tej komórce jest najmniej znaczącym bitem.

 


 

SET b,r

      

SET BIT = Ustaw bit na 1

Operacja:   rb ← 1
Mnemonik:   BIT
Argumenty   b,r

 

1 1 0 0 1 0 1 1 CB
1 1 b r  
Opis:   Bit b rejestru r zostaje ustawiony na 1. W kodzie operacyjnym instrukcji argumenty b i r są przedstawione następująco:
Testowany bit b   Rejestr r
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
  B
C
D
E
H
L
A
000
001
010
011
100
101
111
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   Żaden
Przykład:   Po wykonaniu instrukcji SET 4,A bit nr 4 w rejestrze A zostaje ustawiony na 1. Bit 0 jest najmniej znaczącym bitem.

 


 

SET b,(HL)

      

SET BIT = Ustaw bit na 1

Operacja:   (HL)b ← 1
Mnemonik:   BIT
Argumenty   b,(HL)

 

1 1 0 0 1 0 1 1 CB
1 1 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie przechowywanym przez parę rejestrów HL zostaje ustawiony na 1. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
3 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli para rejestrów HL zawiera 3000H, to po wykonaniu instrukcji SET 4,(HL) bit nr 4 w komórce pamięci o adresie 3000H zostaje ustawiony na 1. Bit 0 jest najmniej znaczącym bitem.

 


 

SET b,(IX+d)

      

SET BIT = Ustaw bit na 1

Operacja:   (IX+d)b ← 1
Mnemonik:   BIT
Argumenty   b,(IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
1 1 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IX oraz przesunięcia d zostaje ustawiony na 1. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IX zawiera 2000H, to po wykonaniu instrukcji SET 0,(IX+3H) bit nr 0 w komórce pamięci o adresie 2003H zostaje ustawiony na 1. Bit 0 jest najmniej znaczącym bitem.

 


 

SET b,(IY+d)

      

SET BIT = Ustaw bit na 1

Operacja:   (IY+d)b ← 1
Mnemonik:   BIT
Argumenty   b,(IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
1 1 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IY oraz przesunięcia d zostaje ustawiony na 1. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IY zawiera 2000H, to po wykonaniu instrukcji SET 0,(IY+3H) bit nr 0 w komórce pamięci o adresie 2003H zostaje ustawiony na 1. Bit 0 jest najmniej znaczącym bitem.

 


 

RES b,r

      

RESET BIT = Zeruj bit

Operacja:   rb ← 0
Mnemonik:   BIT
Argumenty   b,r

 

1 1 0 0 1 0 1 1 CB
1 0 b r  
Opis:   Bit b rejestru r zostaje wyzerowany. W kodzie operacyjnym instrukcji argumenty b i r są przedstawione następująco:
Testowany bit b   Rejestr r
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
  B
C
D
E
H
L
A
000
001
010
011
100
101
111
   
Cykle Takty Czas
2 8 (4,4) 2,00μs
Zmieniane znaczniki:   Żaden
Przykład:   Po wykonaniu instrukcji RES 6,D bit nr 6 w rejestrze DA zostaje wyzerowany. Bit 0 jest najmniej znaczącym bitem.

 


 

RES b,(HL)

      

RESET BIT = Zeruj bit

Operacja:   (HL)b ← 0
Mnemonik:   BIT
Argumenty   b,(HL)

 

1 1 0 0 1 0 1 1 CB
1 0 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie przechowywanym przez parę rejestrów HL zostaje wyzerowany. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
3 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli para rejestrów HL zawiera 3000H, to po wykonaniu instrukcji RES 4,(HL) bit nr 4 w komórce pamięci o adresie 3000H zostaje wyzerowany. Bit 0 jest najmniej znaczącym bitem.

 


 

RES b,(IX+d)

      

RESET BIT = Zeruj bit

Operacja:   (IX+d)b ← 0
Mnemonik:   BIT
Argumenty   b,(IX+d)

 

1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
← d →  
1 0 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IX oraz przesunięcia d zostaje wyzerowany. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IX zawiera 2000H, to po wykonaniu instrukcji RES 0,(IX+3H) bit nr 0 w komórce pamięci o adresie 2003H zostaje wyzerowany. Bit 0 jest najmniej znaczącym bitem.

 


 

RES b,(IY+d)

      

RESET BIT = Zeruj bit

Operacja:   (IY+d)b ← 0
Mnemonik:   BIT
Argumenty   b,(IY+d)

 

1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
← d →  
1 0 b 1 1 0  
Opis:   Bit b komórki pamięci o adresie będącym sumą zawartości rejestru indeksowego IY oraz przesunięcia d zostaje wyzerowany. W kodzie operacyjnym instrukcji argument b jest przedstawiony następująco:
Testowany bit b
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
   
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IY zawiera 2000H, to po wykonaniu instrukcji RES 0,(IY+3H) bit nr 0 w komórce pamięci o adresie 2003H zostaje wyzerowany. Bit 0 jest najmniej znaczącym bitem.

 

 


   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