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

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 9

Grupa instrukcji arytmetyki 16 bitowej

ADD HL,ss

ADD = Dodaj

Operacja: HLHL+ss
Mnemonik: ADD
Argumenty: HL,ss
b7 b6 b5 b4 b3 b2 b1 b0
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: HLHL+ss+przeniesienie CY
Mnemonik: ADC
Argumenty: HL,ss
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 0 1 1 0 1 ED
0 0 ss 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: IXIX + pp
Mnemonik: ADD
Argumenty: IX,pp
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
0 0 pp 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: IYIY + rr
Mnemonik: ADD
Argumenty: IY,rr
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
0 0 rr 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: HLHL - ss - przeniesienie C
Mnemonik: SBC
Argumenty: HL,ss
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 0 1 1 0 1 ED
0 1 ss 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: ssss + 1
Mnemonik: INC
Argumenty: ss
b7 b6 b5 b4 b3 b2 b1 b0
0 0 ss 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: IXIX + 1
Mnemonik: INC
Argumenty: IX
b7 b6 b5 b4 b3 b2 b1 b0
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: IYIY + 1
Mnemonik: INC
Argumenty: IY
b7 b6 b5 b4 b3 b2 b1 b0
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: ssss - 1
Mnemonik: DEC
Argumenty: ss
b7 b6 b5 b4 b3 b2 b1 b0
0 0 ss 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: IXIX - 1
Mnemonik: DEC
Argumenty: IX
b7 b6 b5 b4 b3 b2 b1 b0
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: IYIY - 1
Mnemonik: DEC
Argumenty: IY
b7 b6 b5 b4 b3 b2 b1 b0
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.

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.