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

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 4

Grupa instrukcji arytmetyki 8 bitowej

ADD A,r

ADD = Dodaj

Operacja: AA + r
Mnemonik: ADD
Argumenty: A,r
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 0 ← r →  
Opis: Zawartość rejestru r  jest dodawana
do zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze. Symbol r  odnosi
się do rejestrów A, B, C, D, E, H i L,
które w kodzie operacyjnym instrukcji
są przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiło
przeniesienie z bitu 3; inaczej
zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku
przeniesienia z bitu 7; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość
44H
, a rejestr C 11H, to po wykonaniu
ADD A,C
w Akumulatorze znajdzie
się wynik 55H.

ADD A,n

ADD = Dodaj

Operacja: AA + n
Mnemonik: ADD
Argumenty: A,n
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 0 1 1 0 C6
← n →  
Opis: Liczba całkowita n  jest dodawana
do zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiło
przeniesienie z bitu 3; inaczej
zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku
przeniesienia z bitu 7; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość
23H
, to po wykonaniu ADD A,33H
w Akumulatorze znajdzie się
wynik 56H.

ADD A,(HL)

ADD = Dodaj

Operacja: AA + (HL)
Mnemonik: ADD
Argumenty: A,(HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 0 1 1 0 86
Opis: Bajt umieszczony w komórce
pamięci, której adres przechowuje
para rejestrów HL jest dodawany
do zawartości Akumulatora,
a wynik zostaje umieszczony
również w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiło
przeniesienie z bitu 3; inaczej
zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku
przeniesienia z bitu 7; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość
0A0H
, a zawartość pary rejestrów HL
wynosi 2323H i w komórce pamięci
o adresie 2323H jest bajt o wartości
08H
, to po wykonaniu ADD A,(HL)
w Akumulatorze znajdzie się wynik
0A8H
.

ADD A,(IX+d)

ADD = Dodaj

Operacja: AA + (IX+d)
Mnemonik: ADD
Argumenty: A,(IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 0 0 0 0 1 1 0 86
← d →  
Opis: Zawartość rejestru indeksowego
IX
jest dodawana do przesunięcia
d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość
tego adresu jest następnie
dodawana do zawartości
Akumulatora, a wynik zostaje
umieszczony również
w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiło
przeniesienie z bitu 3; inaczej
zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku
przeniesienia z bitu 7; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość
11H
, rejestr indeksowy IX zawiera
1000H
, a komórka pamięci o adresie
1005H
zawiera 22H, to po wykonaniu
ADD A,(IX+5H)
w Akumulatorze
znajdzie się wynik 33H.

ADD A,(IY+d)

ADD = Dodaj

Operacja: AA + (IY+d)
Mnemonik: ADD
Argumenty: A,(IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 0 0 0 0 1 1 0 86
← d →  
Opis: Zawartość rejestru indeksowego
IY
jest dodawana do przesunięcia
d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość
tego adresu jest następnie
dodawana do zawartości
Akumulatora, a wynik zostaje
umieszczony również
w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiło
przeniesienie z bitu 3; inaczej
zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku
przeniesienia z bitu 7; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość
11H
, rejestr indeksowy IY zawiera
1000H
, a komórka pamięci o adresie
1005H
zawiera 22H, to po wykonaniu
ADD A,(IY+5H)
w Akumulatorze
znajdzie się wynik 33H.

ADC A,r

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja: AA + r + znacznik C
Mnemonik: ADC
Argumenty: A,r
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 ← r →  
Opis: Zawartość rejestru r  wraz ze znacznikiem
przeniesienia C w rejestrze F jest dodawana do
zawartości Akumulatora, a wynik zostaje
umieszczony również w Akumulatorze.
Symbol r  odnosi się do rejestrów
A
, B, C, D, E, H i L, które w kodzie operacyjnym
instrukcji są przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej
zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie
z bitu 3; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia
z bitu 7; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 16H,
znacznik przeniesienia C jest ustawiony na 1,
a rejestr H zawiera 10H, to po wykonaniu
ADC A,H
w Akumulatorze znajdzie się
wynik 27H.

ADC A,n

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja: AA + n + znacznik C
Mnemonik: ADC
Argumenty: A,n
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 0 1 1 1 0 CE
← n →  
Opis: Liczba całkowita n  wraz ze znacznikiem
przeniesienia C w rejestrze F jest dodawana do
zawartości Akumulatora, a wynik zostaje
umieszczony również w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej
zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie
z bitu 3; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia
z bitu 7; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 23H,
znacznik przeniesienia C jest ustawiony, to po
wykonaniu ADC A,33H w Akumulatorze
znajdzie się wynik 57H.

ADC A,(HL)

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja: AA + (HL) + znacznik C
Mnemonik: ADC
Argumenty: A,(HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 0 1 1 1 0 8E
Opis: Bajt umieszczony w komórce pamięci, której adres
przechowuje para rejestrów HL wraz ze znacznikiem
przeniesienia C w rejestrze F jest dodawany do
zawartości Akumulatora, a wynik zostaje
umieszczony również w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie
z bitu 3; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia
z bitu 7; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 0A0H, znacznik
przeniesienia C jest ustawiony na 1, zawartość pary
rejestrów HL wynosi 2323H i w komórce pamięci
o adresie 2323H jest bajt o wartości 08H, to po
wykonaniu ADD A,(HL) w Akumulatorze znajdzie
się wynik 0A9H.

ADC A,(IX+d)

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja: AA + (IX+d) + znacznik C
Mnemonik: ADC
Argumenty: A,(IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 0 0 0 1 1 1 0 8E
← d →  
Opis: Zawartość rejestru indeksowego IX jest dodawana
do przesunięcia d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość tego adresu
wraz ze znacznikiem przeniesienia C w rejestrze F
jest następnie dodawana do zawartości
Akumulatora, a wynik zostaje umieszczony
również w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny;
inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej
zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie
z bitu 3; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia
z bitu 7; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 11H,
znacznik przeniesienia C jest ustawiony na 1,
rejestr indeksowy IX zawiera 1000H, a komórka
pamięci o adresie 1005H zawiera 22H, to po
wykonaniu ADD A,(IX+5H) w Akumulatorze
znajdzie się wynik 34H.

ADC A,(IY+d)

ADD WITH CARRY = Dodaj z przeniesieniem

Operacja: AA + (IY+d) + znacznik C
Mnemonik: ADC
Argumenty: A,(IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 0 0 0 1 1 1 0 8E
← d →  
Opis: Zawartość rejestru indeksowego IY jest dodawana
do przesunięcia d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość tego adresu
wraz ze znacznikiem przeniesienia C w rejestrze F
jest następnie dodawana do zawartości
Akumulatora, a wynik zostaje umieszczony
również w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej
zerowany
H ustawiany na 1, jeśli wystąpiło przeniesienie
z bitu 3; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest zerowany
C ustawiany na 1 w przypadku przeniesienia
z bitu 7; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 11H,
znacznik przeniesienia C jest ustawiony na 1,
rejestr indeksowy IY zawiera 1000H, a komórka
pamięci o adresie 1005H zawiera 22H, to po
wykonaniu ADD A,(IY+5H) w Akumulatorze
znajdzie się wynik 34H.

SUB r

SUBTRACT = Odejmij

Operacja: AA - r
Mnemonik: SUB
Argumenty: r
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 0 ← r →  
Opis: Zawartość rejestru r  jest odejmowana
od zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze. Symbol r  odnosi się
do rejestrów A, B, C, D, E, H i L, które
w kodzie operacyjnym instrukcji są
przedstawione następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny;
inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka
z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki;
inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H,
a rejestr D zawiera 11H, to po wykonaniu
SUB D
w Akumulatorze znajdzie się wynik 18H.

SUB n

SUBTRACT = Odejmij

Operacja: AA - n
Mnemonik: SUB
Argumenty: n
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 0 1 1 0 D6
← n →  
Opis: Liczba całkowita n jest odejmowana
od zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiła
pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki;
inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H,
to po wykonaniu SUB 11H w Akumulatorze
znajdzie się wynik 18H.

SUB (HL)

SUBTRACT = Odejmij

Operacja: AA - (HL)
Mnemonik: SUB
Argumenty: (HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 0 1 1 0 96
Opis: Bajt umieszczony w komórce
pamięci, której adres przechowuje
para rejestrów HL jest odejmowany
od zawartości Akumulatora,
a wynik zostaje umieszczony
również w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiła
pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku
pożyczki; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość
29H
, para rejestrów HL zawiera
1000H
, a komórka pamięci pod
adresem 1000H zawiera 11H, to po
wykonaniu SUB (HL) w Akumulatorze
znajdzie się wynik 18H.

SUB (IX+d)

SUBTRACT = Odejmij

Operacja: AA - (IX+d)
Mnemonik: SUB
Argumenty: (IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 0 0 1 0 1 1 0 96
← d →  
Opis: Zawartość rejestru indeksowego
IX
jest dodawana do przesunięcia
d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość
tego adresu jest odejmowana od
zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiła
pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku
pożyczki; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość
29H
, rejestr indeksowy IX zawiera
1000H
, a komórka pamięci pod
adresem 1005H zawiera 11H, to po
wykonaniu SUB (IX+05H
 w Akumulatorze znajdzie się wynik
18H.

SUB (IY+d)

SUBTRACT = Odejmij

Operacja: AA - (IY+d)
Mnemonik: SUB
Argumenty: (IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 0 0 1 0 1 1 0 96
← d →  
Opis: Zawartość rejestru indeksowego
IY
jest dodawana do przesunięcia
d w kodzie U2 w celu uzyskania
adresu komórki pamięci. Zawartość
tego adresu jest odejmowana od
zawartości Akumulatora, a wynik
zostaje umieszczony również
w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest
ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero;
inaczej zerowany
H ustawiany na 1, jeśli wystąpiła
pożyczka z bitu 4; inaczej zerowany
P/V ustawiany na 1 w przypadku
przepełnienia; inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku
pożyczki; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość
29H
, rejestr indeksowy IY zawiera
1000H
, a komórka pamięci pod
adresem 1005H zawiera 11H, to po
wykonaniu SUB (IY+05H)
w Akumulatorze znajdzie się wynik
18H.

SBC A,r

SUBTRACT WITH CARRY = Odejmij z przeniesieniem

Operacja: A ← A - r - przeniesienie C
Mnemonik: SBC
Argumenty: A,r
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 1 ← r →  
Opis: Zawartość rejestru r  wraz ze znacznikiem przeniesienia C
w rejestrze F jest odejmowana od zawartości Akumulatora,
a wynik zostaje umieszczony również w Akumulatorze.
Symbol r  odnosi się do rejestrów A, B, C, D, E, H i L, które
w kodzie operacyjnym instrukcji są przedstawione
następująco:
Rejestr   r
A
B
C
D
E
H
L
  111
000
001
010
011
100
101
Cykle Takty Czas
1 4 1,00μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej
zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej
zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H, znacznik
przeniesienia C jest ustawiony na 1, a rejestr D zawiera 11H,
to po wykonaniu SBC A,D w Akumulatorze znajdzie się
wynik 17H.

SBC A,n

SUBTRACT WITH CARRY = Odejmij z przeniesieniem

Operacja: AA - n - przeniesienie C
Mnemonik: SBC
Argumenty: A,n
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 1 0 DE
← n →  
Opis: Liczba całkowita n  wraz ze znacznikiem przeniesienia C
w rejestrze F jest odejmowana od zawartości Akumulatora,
a wynik zostaje umieszczony również w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 4;
inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej
zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H, znacznik
przeniesienia C jest ustawiony na 1, to po wykonaniu
SBC 11H
w Akumulatorze znajdzie się wynik 17H.

SBC A,(HL)

SUBTRACT WITH CARRY = Odejmij z przeniesieniem

Operacja: AA - (HL) - przeniesienie C
Mnemonik: SBC
Argumenty: A,(HL)
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 1 1 1 0 9E
Opis: Bajt umieszczony w komórce pamięci wraz ze znacznikiem
przeniesienia C w rejestrze F o adresie przechowywanym
przez parę rejestrów HL jest odejmowany od zawartości
Akumulatora, a wynik zostaje umieszczony również
w Akumulatorze.
Cykle Takty Czas
2 7 (4,3) 1,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej
zerowany
P/V ustawiany na 1 w przypadku przepełnienia; inaczej
zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H, znacznik
przeniesienia C jest ustawiony na 1, para rejestrów HL
zawiera 1000H, a komórka pamięci pod adresem 1000H
zawiera 11H, to po wykonaniu SBC A,(HL) w Akumulatorze
znajdzie się wynik 17H.

SBC A,(IX+d)

SUBTRACT WITH CARRY = Odejmij z przeniesieniem

Operacja: AA - (IX+d) - przeniesienie C
Mnemonik: SBC
Argumenty: A,(IX+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 0 1 1 1 0 1 DD
1 0 0 1 1 1 1 0 9E
← d →  
Opis: Zawartość rejestru indeksowego IX jest dodawana do
przesunięcia d w kodzie U2 w celu uzyskania adresu
komórki pamięci. Zawartość tego adresu wraz ze
znacznikiem przeniesienia C w rejestrze F jest
odejmowana od zawartości Akumulatora, a wynik
zostaje umieszczony również w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 4;
inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H, znacznik
przeniesienia C jest ustawiony na 1, rejestr
indeksowy IX zawiera 1000H, a komórka pamięci
pod adresem 1005H zawiera 11H, to po wykonaniu
SBC A,(IX+05H)
w Akumulatorze znajdzie się
wynik 17H.

SBC A,(IY+d)

SUBTRACT WITH CARRY = Odejmij z przeniesieniem

Operacja: AA - (IY+d) - przeniesienie C
Mnemonik: SBC
Argumenty: A,(IY+d)
b7 b6 b5 b4 b3 b2 b1 b0
1 1 1 1 1 1 0 1 FD
1 0 0 1 1 1 1 0 9E
← d →  
Opis: Zawartość rejestru indeksowego IY jest dodawana do
przesunięcia d w kodzie U2 w celu uzyskania adresu
komórki pamięci. Zawartość tego adresu wraz ze
znacznikiem przeniesienia C w rejestrze F jest
odejmowana od zawartości Akumulatora, a wynik
zostaje umieszczony również w Akumulatorze.
Cykle Takty Czas
5 19 (4,4,3,5,3) 4,75μs
Zmieniane znaczniki: S ustawiany na 1, jeśli wynik jest ujemny; inaczej
zerowany
Z ustawiany na 1, jeśli wynik zero; inaczej zerowany
H ustawiany na 1, jeśli wystąpiła pożyczka z bitu 4;
inaczej zerowany
P/V ustawiany na 1 w przypadku przepełnienia;
inaczej zerowany
N jest ustawiany na 1
C ustawiany na 1 w przypadku pożyczki; inaczej
zerowany
Przykład: Jeśli Akumulator posiada zawartość 29H, znacznik
przeniesienia C jest ustawiony na 1, rejestr indeksowy
IY
zawiera 1000H, a komórka pamięci pod adresem
1005H
zawiera 11H, to po wykonaniu SBC A,(IY+05H)
w Akumulatorze znajdzie się wynik 17H.

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.