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 – 9

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 9

Grupa instrukcji arytmetyki 16 bitowej

ADD HL,ss

      

ADD = Dodaj

Operacja:   HL ← HL+ss
Mnemonik:   ADD
Argumenty:   HL,ss
0 0 s s 1 0 0 1  
Opis:   Zawartość pary rejestrów ss (dowolna z par BC, DE, HL lub SP) zostaje dodana do zawartości pary rejestrów HL, a wynik dodawania jest umieszczany z powrotem w HL. W kodzie binarnym instrukcji argument ss definiowany jest w sposób następujący:
Para
rejestrów
  ss
BC
DE
HL
SP
  00
01
10
11
Cykle Takty Czas
3 11 (4,4,3) 2,75μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H ustawiany na 1, jeśli wystąpiło przeniesienie z bitu 11; inaczej zerowany
P / V nie zmieniany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia z bitu 15; inaczej zerowany
Przykład:   Jeśli para rejestrów HL zawiera liczbę całkowitą 4242H, a para rejestrów DE zawiera 1111H, to po wykonaniu ADD HL,DE w HL znajdzie się wynik 5353H.

ADC HL,ss

      

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja:   HL ← HL+ss+przeniesienie CY
Mnemonik:   ADC
Argumenty:   HL,ss
1 1 1 0 1 1 0 1 ED
0 0 s s 1 0 0 1  
Opis:   Zawartość pary rejestrów ss (dowolna z par BC, DE, HL lub SP) zostaje dodana wraz ze znacznikiem przeniesienia C do zawartości pary rejestrów HL, a wynik dodawania jest umieszczany z powrotem w HL. W kodzie binarnym instrukcji argument ss definiowany jest w sposób następujący:
Para
rejestrów
  ss
BC
DE
HL
SP
  00
01
10
11
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany, jeśli wynikiem jest zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie z bitu 11; inaczej zerowany
P / V jest ustawiany w razie przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia z bitu 15; inaczej zerowany
Przykład:   Jeśli para rejestrów BC zawiera 2222H, para rejestrów HL zawiera 5437H, a znacznik przeniesienia C jest ustawiony na 1, to po wykonaniu ADC HL,BC w HL znajdzie się wynik 765AH.

ADD IX,pp

      

ADD = Dodaj

Operacja:   IX ← IX + pp
Mnemonik:   ADD
Argumenty:   IX,pp
1 1 0 1 1 1 0 1 DD
0 0 p p 1 0 0 1  
Opis:   Zawartość pary rejestrów pp (dowolna z par BC, DE, IX lub SP) zostaje dodana do zawartości rejestru indeksowego IX, a wynik odejmowania jest umieszczany z powrotem w IX. W kodzie binarnym instrukcji argument pp definiowany jest w sposób następujący:
Para
rejestrów
  pp
BC
DE
IX
SP
  00
01
10
11
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H ustawiany na 1, jeśli wystąpiło przeniesienie z bitu 11; inaczej zerowany
P / V nie zmieniany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia z bitu 15; inaczej zerowany
Przykład:   Jeśli rejestr indeksowy IX zawiera 3333H, a para rejestrów BC zawiera 5555H, to po wykonaniu ADD IX,BC w IX znajdzie się wynik 8888H.

ADD IY,rr

      

ADD = Dodaj

Operacja:   IY ← IY + rr
Mnemonik:   ADD
Argumenty:   IY,rr
1 1 1 1 1 1 0 1 FD
0 0 r r 1 0 0 1  
Opis:   Zawartość pary rejestrów rr (dowolna z par BC, DE, IY lub SP) zostaje dodana do zawartości rejestru indeksowego IY, a wynik odejmowania jest umieszczany z powrotem w IY. W kodzie binarnym instrukcji argument rr definiowany jest w sposób następujący:
Para
rejestrów
  rr
BC
DE
IY
SP
  00
01
10
11
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S nie zmieniany
Z nie zmieniany
H ustawiany na 1, jeśli wystąpiło przeniesienie z bitu 11; inaczej zerowany
P / V nie zmieniany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia z bitu 15; inaczej zerowany
Przykład:   Jeśli rejestr indeksowy IY zawiera 3333H, a para rejestrów BC zawiera 5555H, to po wykonaniu ADD IY,BC w IY znajdzie się wynik 8888H.

SBC HL,ss

      

SUBTRACT WITH CARRY = Odejmijj z przeniesieniem

Operacja:   HL ← HL - ss - przeniesienie CY
Mnemonik:   SBC
Argumenty:   HL,ss
1 1 1 0 1 1 0 1 ED
0 1 s s 0 0 1 0  
Opis:   Zawartość pary rejestrów ss (dowolna z par BC, DE, HL lub SP) zostaje odjęta wraz ze znacznikiem przeniesienia C od zawartości pary rejestrów HL, a wynik odejmowania jest umieszczany z powrotem w HL. W kodzie binarnym instrukcji argument ss definiowany jest w sposób następujący:
Para
rejestrów
  ss
BC
DE
HL
SP
  00
01
10
11
Cykle Takty Czas
4 15 (4,4,4,3) 3,75μs
Zmieniane znaczniki:   S jest ustawiany, jeśli wynik jest ujemny; inaczej zerowany
Z jest ustawiany, jeśli wynikiem jest zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 12; inaczej zerowany
P / V jest ustawiany w razie przepełnienia; inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład:   Jeśli para rejestrów HL zawiera 9999H, para rejestrów DE zawiera 1111H, a znacznik przeniesienia C jest ustawiony na 1, to po wykonaniu SBC HL,DE w HL znajdzie się wynik 8887H.

INC ss

      

INCREMENT = Zwiększ o 1

Operacja:   ss ← ss + 1
Mnemonik:   INC
Argumenty:   ss
0 0 s s 0 0 1 1  
Opis:   Zawartość pary rejestrów ss (dowolna z par BC, DE, HL lub SP) zostaje zwiększona o 1. W kodzie binarnym instrukcji argument ss definiowany jest w sposób następujący:
Para
rejestrów
  ss
BC
DE
HL
SP
  00
01
10
11
Cykle Takty Czas
1 6 1,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli para rejestrów HL zawiera 1000H, to po wykonaniu INC HL w HL znajdzie się wynik 1001H.

INC IX

      

INCREMENT = Zwiększ o 1

Operacja:   IX ← IX + 1
Mnemonik:   INC
Argumenty:   IX
1 1 0 1 1 1 0 1 DD
0 0 1 0 0 0 1 1 23
Opis:   Zawartość rejestru indeksowego IX zostaje zwiększona o 1.
Cykle Takty Czas
2 10 (4,6) 2,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IX zawiera 3300H, to po wykonaniu INC IX w IX znajdzie się wynik 3301H.

INC IY

      

INCREMENT = Zwiększ o 1

Operacja:   IY ← IY + 1
Mnemonik:   INC
Argumenty:   IY
1 1 1 1 1 1 0 1 FD
0 0 1 0 0 0 1 1 23
Opis:   Zawartość rejestru indeksowego IY zostaje zwiększona o 1.
Cykle Takty Czas
2 10 (4,6) 2,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IY zawiera 2977H, to po wykonaniu INC IY w IY znajdzie się wynik 2978H.

DEC ss

      

DECREMENT = Zmniejsz o 1

Operacja:   ss ← ss - 1
Mnemonik:   DEC
Argumenty:   ss
0 0 s s 1 0 1 1  
Opis:   Zawartość pary rejestrów ss (dowolna z par BC, DE, HL lub SP) zostaje zmniejszona o 1. W kodzie binarnym instrukcji argument ss definiowany jest w sposób następujący:
Para
rejestrów
  ss
BC
DE
HL
SP
  00
01
10
11
Cykle Takty Czas
1 6 1,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli para rejestrów HL zawiera 1001H, to po wykonaniu DEC HL w HL znajdzie się wynik 1000H.

DEC IX

      

DECREMENT = Zmniejsz o 1

Operacja:   IX ← IX - 1
Mnemonik:   DEC
Argumenty:   IX
1 1 0 1 1 1 0 1 DD
0 0 1 0 1 0 1 1 2B
Opis:   Zawartość rejestru indeksowego IX zostaje zmniejszona o 1.
Cykle Takty Czas
2 10 (4,6) 2,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IX zawiera 3301H, to po wykonaniu DEC IX w IX znajdzie się wynik 3300H.

DEC IY

      

DECREMENT = Zmniejsz o 1

Operacja:   IY ← IY - 1
Mnemonik:   DEC
Argumenty:   IY
1 1 1 1 1 1 0 1 FD
0 0 1 0 1 0 1 1 2B
Opis:   Zawartość rejestru indeksowego IY zostaje zmniejszona o 1.
Cykle Takty Czas
2 10 (4,6) 2,50μs
Zmieniane znaczniki:   Żaden
Przykład:   Jeśli rejestr indeksowy IY zawiera 2978H, to po wykonaniu DEC IY w IY znajdzie się wynik 2977H.
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.