Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Tłumaczenie: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
Tablica 10 wymienia wszystkie 8-bitowe operacje arytmetyczne, które mogą być
wykonywane za pomocą akumulatora. Również zawarto tam instrukcje zwiększania
(INC
) i zmniejszania
(DEC
). We wszystkich tych instrukcjach, z
wyjątkiem INC
i DEC
, określona operacja 8-bitowa jest
wykonywana pomiędzy danymi w akumulatorze a danymi źródłowymi. Wynik operacji
trafia do akumulatora, z wyjątkiem porównań (CP
),
które nie zmieniają jego zawartości. Wszystkie te operacje zmieniają stan
znaczników zgodnie ze swoim wynikiem. Instrukcje INC
oraz DEC
określają rejestr lub komórkę pamięci zarówno jako źródło jak i miejsce docelowe
wyniku. Gdy argument źródłowy jest adresowany przy użyciu rejestrów indeksowych,
przesunięcie musi być umieszczone za kodem operacji. Przy adresowaniu
natychmiastowym argument występuje bezpośrednio za instrukcją. Na przykład
instrukcja
ma postać:
Adres A | E6 | }- kod operacyjny |
A + 1 | 07 | }- argument |
Założywszy, iż akumulator zawierał wcześniej wartość F3H
, wynik
03H
trafia do akumulatora:
Akumulator przed operacją: | 11110011 = F3H |
Argument: | 00000111 = 07H |
Wynik do akumulatora: | 00000011 = 03H |
Instrukcja ADD
wykonuje dwójkowe dodawanie pomiędzy danymi
źródłowymi a danymi w akumulatorze. Instrukcja SUB
wykonuje
dwójkowe odejmowanie. Jeśli zostanie użyte dodawanie z przeniesieniem ADC
lub odejmowanie z przeniesieniem SBC
, to również zostanie
odpowiednio dodany lub odjęty znacznik przeniesienia. Znaczniki oraz instrukcja
korekty dziesiętnej DAA
w Z80 pozwalają wykonywać operacje
arytmetyczne dla:
Pozostałymi instrukcjami w tej grupie są logiczne AND
(koniunkcja), OR
(alternatywa), XOR
(różnica symetryczna)
oraz porównania CP
.
Tablica 10. Grupa 8-bitowych operacji arytmetycznych i logicznych
Źródło | |||||||||||
Adresowanie rejestrowe |
Rejestrowe pośrednie |
Indeksowane | Natychm. | ||||||||
A | B | C | D | E | H | L | (HL) | (IX+d) | (IY+d) | n | |
Dodawanie ADD |
87 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
DD 86 d |
FD 86 d |
C6 n |
Dodawanie z przeniesieniem ADC |
8F | 88 | 89 | 8A | 8B | 8C | 8D | 8E |
DD 8E d |
FD 8E d |
CE n |
Odejmowanie SUB |
97 | 90 | 91 | 92 | 93 | 94 | 95 | 96 |
DD 96 d |
FD 96 d |
D6 n |
Odejmowanie z przeniesieniem SBC |
9F | 98 | 99 | 9A | 9B | 9C | 9D | 9E |
DD 9E d |
FD 9E d |
DE n |
Koniunkcja AND |
A7 | A0 | A1 | A2 | A3 | A4 | A5 | A6 |
DD A6 d |
FD A6 d |
E6 n |
Suma symetryczna XOR |
AF | A8 | A9 | AA | AB | AC | AD | AE |
DD AE d |
FD AE d |
EE n |
Alternatywa OR |
B7 | B0 | B1 | B2 | B3 | B4 | B5 | B6 |
DD B6 d |
FD B6 d |
F6 n |
Porównanie CP |
BF | B8 | B9 | BA | BB | BC | BD | BE |
DD BE d |
FD BE d |
FE n |
Zwiększanie o 1 INC |
3C | 04 | 0C | 14 | 1C | 24 | 2C | 34 |
DD 34 d |
FD 34 d |
|
Zmniejszanie o 1 DEC |
3D | 05 | 0D | 15 | 1D | 25 | 2D | 35 |
DD 35 d |
FD 35 d |
Pięć arytmetycznych instrukcji ogólnego przeznaczenia operuje na akumulatorze
lub znaczniku przeniesienia. Zostały one wymienione w tablicy 11. Instrukcja
korekty dziesiętnej umożliwia poprawianie wyniku dodawania lub odejmowania dla
liczb BCD, dzięki czemu ich arytmetyka jest bardzo prosta. Dla tych operacji
wykorzystywany jest znacznik N. Znacznik ten zostaje ustawiony, jeśli ostatnią
operacją arytmetyczną było odejmowanie. Instrukcja zmiany znaku
NEG
tworzy liczbę przeciwną w kodzie U2 do zawartości akumulatora.
Na koniec zwróć uwagę, iż w zbiorze instrukcji mikroprocesora Z80 brak
instrukcji zerowania przeniesienia. Operację tą można z łatwością uzyskać za
pomocą innych instrukcji, takich jak AND
akumulatora z samym sobą.
Poprawka dziesiętna akumulatora DAA |
27 |
Negacja akumulatora CPL |
2F |
Zmiana znaku akumulatora NEG |
ED 44 |
Negacja znacznika przeniesienia CCF |
3F |
Ustawienie znacznika przeniesienia SCF |
37 |
Tablica 12 wymienia wszystkie 16-bitowe operacje arytmetyczne pomiędzy
rejestrami 16-bitowymi. Jest pięć grup instrukcji, łącznie z dodawaniem i
odejmowaniem z przeniesieniem. ADC
i SBC
zmieniają
wszystkie znaczniki. Te dwie grupy ułatwiają obliczanie na adresach oraz inne
16-bitowe operacje arytmetyczne.
Tablica 12. Grupa arytmetyki 16-bitowej
Źródło | |||||||
Przeznaczenie | BC | DE | HL | SP | IX | IY | |
Dodawanie ADD |
HL | 09 | 19 | 29 | 39 | ||
IX |
DD 09 |
DD 19 |
DD 39 |
DD 29 |
|||
IY |
FD 09 |
FD 19 |
FD 39 |
FD 29 |
|||
Dodawanie z przeniesieniem i ustawianiem znaczników ADC |
HL |
ED 4A |
ED 5A |
ED 6A |
ED 7A |
||
Odejmowanie z przeniesieniem i ustawianiem znaczników SBC |
HL |
ED 42 |
ED 52 |
ED 62 |
ED 72 |
||
Zwiększanie o 1 INC |
03 | 13 | 23 | 33 |
DD 23 |
FD 23 |
|
Zmniejszenie DEC |
DB | 1B | 2B | 3B |
DD 2B |
FD 2B |
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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.