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

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

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
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)
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)
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)
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
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)
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)
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)
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
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)
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)
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)
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

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
©2024 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.