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

SPIS TREŚCI

Opis instrukcji mikroprocesora Z80 – 4

Grupa instrukcji arytmetyki 8 bitowej

ADD A,r

      

ADD = Dodaj

Operacja:   A ← A + r
Mnemonik:   ADD
Argumenty:   A,r
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:   A ← A + n
Mnemonik:   ADD
Argumenty:   A,n
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:   A ← A + (HL)
Mnemonik:   ADD
Argumenty:   A,(HL)
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:   A ← A + (IX+d)
Mnemonik:   ADD
Argumenty:   A,(IX+d)
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:   A ← A + (IY+d)
Mnemonik:   ADD
Argumenty:   A,(IY+d)
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:   A ← A + r + znacznik C
Mnemonik:   ADC
Argumenty:   A,r
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:   A ← A + n + znacznik C
Mnemonik:   ADC
Argumenty:   A,n
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:   A ← A + (HL) + znacznik C
Mnemonik:   ADC
Argumenty:   A,(HL)
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:   A ← A + (IX+d) + znacznik C
Mnemonik:   ADC
Argumenty:   A,(IX+d)
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:   A ← A + (IY+d) + znacznik C
Mnemonik:   ADC
Argumenty:   A,(IY+d)
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:   A ← A - r
Mnemonik:   SUB
Argumenty:   r
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:   A ← A - n
Mnemonik:   SUB
Argumenty:   n
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:   A ← A - (HL)
Mnemonik:   SUB
Argumenty:   (HL)
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:   A ← A - (IX+d)
Mnemonik:   SUB
Argumenty:   (IX+d)
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:   A ← A - (IY+d)
Mnemonik:   SUB
Argumenty:   (IY+d)
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
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:   A ← A - n - przeniesienie C
Mnemonik:   SBC
Argumenty:   A,n
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:   A ← A - (HL) - przeniesienie C
Mnemonik:   SBC
Argumenty:   A,(HL)
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:   A ← A - (IX+d) - przeniesienie C
Mnemonik:   SBC
Argumenty:   A,(IX+d)
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:   A ← A - (IY+d) - przeniesienie C
Mnemonik:   SBC
Argumenty:   A,(IY+d)
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.

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.