Serwis Edukacyjny
nauczycieli

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

©2026 mgr Jerzy Wałaszek

Opis instrukcji mikroprocesora Z80 – 11

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 11

Grupa instrukcji przesuwów

SLA r

SHIFT LEFT ARITHMETIC = Przesuń arytmetycznie w lewo

Operacja: obrazek
Mnemonik: SLA
Argumenty: r
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 0 0 ← r →  
Opis: Zawartość rejestru r jest przesuwana arytmetycznie w lewo
o jeden bit. Bit b7 trafia do znacznika przeniesienia C.
Na pozycję bitu b0 wpisywane jest 0. 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 jest
zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest
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 przed wykonaniem operacji.
Przykład: Jeśli rejestr L zawiera
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 0 0 0 1

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

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

SLA (HL)

SHIFT LEFT ARITHMETIC = Przesuń arytmetycznie w lewo

Operacja: obrazek
Mnemonik: SLA
Argumenty: (HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 0 0 1 1 0 26
Opis: Zawartość komórki pamięci o adresie w parze rejestrów HL jest
przesuwana arytmetycznie w lewo o jeden bit. Bit b7 trafia do
znacznika przeniesienia C. Na pozycję bitu b0 wpisywane jest 0.
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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 2000H, a komórka pamięci pod
adresem 2000H zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 0 0 0 1

to po wykonaniu instrukcji SLA (HL) zawartość komórki pamięci
o adresie 2000H oraz znacznika przeniesienia C jest następująca:

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

SLA (IX+d)

SHIFT LEFT ARITHMETIC = Przesuń arytmetycznie w lewo

Operacja: obrazek
Mnemonik: SLA
Argumenty: (IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 0 0 1 1 0 26
Opis: Zawartość komórki pamięci o adresie będącym sumą
zawartości rejestru indeksowego IX oraz przesunięcia d jest
przesuwana arytmetycznie w lewo o jeden bit. Bit b7 trafia do
znacznika przeniesienia C. Na pozycję bitu b0 wpisywane jest 0.
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 jest
zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest
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 2000H, a komórka pamięci
pod adresem 2007H zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 0 0 0 1

to po wykonaniu instrukcji SLA (IX+7H) zawartość komórki
pamięci o adresie 2007H oraz znacznika przeniesienia C jest
następująca:

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

SLA (IY+d)

SHIFT LEFT ARITHMETIC = Przesuń arytmetycznie w lewo

Operacja: obrazek
Mnemonik: SLA
Argumenty: (IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 0 0 1 1 0 26
Opis: Zawartość komórki pamięci o adresie będącym sumą zawartości
rejestru indeksowego IY oraz przesunięcia d jest przesuwana
arytmetycznie w lewo o jeden bit. Bit b7 trafia do znacznika
przeniesienia C. Na pozycję bitu b0 wpisywane jest 0.
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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 2000H, a komórka pamięci pod
adresem 2007H zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 0 0 0 1

to po wykonaniu instrukcji SLA (IX+7H) zawartość komórki pamięci
o adresie 2007H oraz znacznika przeniesienia C jest następująca:

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

SRA r

SHIFT RIGHT ARITHMETIC = Przesuń arytmetycznie w prawo

Operacja: obrazek
Mnemonik: SRA
Argumenty: r
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 0 1 ← r →  
Opis: Zawartość rejestru r jest przesuwana arytmetycznie w prawo
o jeden bit. Bit b0 trafia do znacznika przeniesienia C. Bit znaku
b7 jest powielany. 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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 przed wykonaniem operacji.
Przykład: Jeśli rejestr H zawiera
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 1 0 0 1

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

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

SRA (HL)

SHIFT RIGHT ARITHMETIC = Przesuń arytmetycznie w prawo

Operacja: obrazek
Mnemonik: SRA
Argumenty: (HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 0 1 1 1 0 2E
Opis: Zawartość komórki pamięci o adresie przechowywanym przez parę
rejestrów HL jest przesuwana arytmetycznie w prawo o jeden bit.
Bit b0 trafia do znacznika przeniesienia C. Bit znaku b7 jest powielany.
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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 7700H, a komórka pamięci o adresie
7700H
zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 1 0 0 1

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

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

SRA (IX+d)

SHIFT RIGHT ARITHMETIC = Przesuń arytmetycznie w prawo

Operacja: obrazek
Mnemonik: SRA
Argumenty: (IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 0 1 1 1 0 2E
Opis: Zawartość komórki pamięci o adresie będącym sumą zawartości
rejestru indeksowego IX oraz przesunięcia d jest przesuwana
arytmetycznie w prawo o jeden bit. Bit b0 trafia do znacznika
przeniesienia C. Bit znaku b7 jest powielany.
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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 7700H, a komórka pamięci
o adresie 7707H zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 1 0 0 1

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

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

SRA (IY+d)

SHIFT RIGHT ARITHMETIC = Przesuń arytmetycznie w prawo

Operacja: obrazek
Mnemonik: SRA
Argumenty: (IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 0 1 1 1 0 2E
Opis: Zawartość komórki pamięci o adresie będącym sumą zawartości
rejestru indeksowego IY oraz przesunięcia d jest przesuwana
arytmetycznie w prawo o jeden bit. Bit b0 trafia do znacznika
przeniesienia C. Bit znaku b7 jest powielany.
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 jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest 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 7700H, a komórka pamięci
o adresie 7707H zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 1 1 1 0 0 1

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

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

SRL r

SHIFT RIGHT LOGICAL = Przesuń logicznie w prawo

Operacja: obrazek
Mnemonik: SRL
Argumenty: r
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 1 1 ← r →  
Opis: Zawartość rejestru r jest przesuwana w prawo o jeden bit.
Bit b0 trafia do znacznika przeniesienia C. Bit b7 jest
zerowany. 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 zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest
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 przed wykonaniem
operacji.
Przykład: Jeśli rejestr B zawiera:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 1 1 1

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

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

SRL (HL)

SHIFT RIGHT LOGICAL = Przesuń logicznie w prawo

Operacja: obrazek
Mnemonik: SRL
Argumenty: (HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 0 1 1 CB
0 0 1 1 1 1 1 0 3E
Opis: Zawartość komórki pamięci o adresie przechowywanym
przez parę rejestrów HL jest przesuwana w prawo
o jeden bit. Bit b0 trafia do znacznika przeniesienia C.

Bit b7 jest zerowany.

Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki: S jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej
jest 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 przechowuje adres 6000H, a komórka
pamięci o adresie 6000H posiada zawartość
b7
b6
b5
b4
b3
b2
b1
b0
1 0 0 0 1 1 1 1

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

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

SRL (IX+d)

SHIFT RIGHT LOGICAL = Przesuń logicznie w prawo

Operacja: obrazek
Mnemonik: SRL
Argumenty: (IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 1 1 1 1 0 3E
Opis: Zawartość komórki pamięci o adresie będącym sumą
zawartości rejestru indeksowego IX oraz przesunięcia d
jest przesuwana w prawo o jeden bit. Bit b0 trafia do
znacznika przeniesienia C. Bit b7 jest zerowany.
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki: S jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest
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 przechowuje adres 6000H,
a komórka pamięci o adresie 6012H posiada zawartość:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 1 1 1

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

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

SRL (IY+d)

SHIFT RIGHT LOGICAL = Przesuń logicznie w prawo

Operacja: obrazek
Mnemonik: SRL
Argumenty: (IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 1 0 0 1 0 1 1 CB
d  
0 0 1 1 1 1 1 0 3E
Opis: Zawartość komórki pamięci o adresie będącym sumą
zawartości rejestru indeksowego IY oraz przesunięcia d
jest przesuwana w prawo o jeden bit. Bit b0 trafia do
znacznika przeniesienia C. Bit b7 jest zerowany.
Cykle Takty Czas
6 23 (4,4,3,5,4,3) 5,75μs
Zmieniane znaczniki: S jest zerowany
Z jest ustawiany na 1, jeśli wynik jest zerem; inaczej jest
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 przechowuje adres 6000H,
a komórka pamięci o adresie 6012H posiada zawartość:
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 1 1 1

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

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

do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2026 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.