Zestaw instrukcji mikroprocesora Z80


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.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   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.