|
|
ADD = Dodaj
|
Operacja: |
|
HL ← HL+ss |
Mnemonik: |
|
ADD |
Argumenty: |
|
HL,ss
|
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 . |
|
|
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 = 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 = 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 . |
|
|
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 . |