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 |
EX DE,HL |
EXCHANGE REGISTER PAIRS = Wymień ze sobą pary rejestrów |
||||||||||
Operacja: | DE ←→ HL | ||||||||||
Mnemonik: | EX | ||||||||||
Argumenty: | DE,HL
|
||||||||||
Opis: |
2 bajtowa zawartość pary rejestrów DE zostaje wymieniona z parę HL.
|
||||||||||
Zmieniane znaczniki: | Żaden. | ||||||||||
Przykład: | Jeśli zawartość pary rejestrów DE wynosi 2822H ,
a zawartość pary rejestrów HL wynosi 499AH , to po wykonaniu
instrukcji EX DE,HL w parze rejestrów DE znajdzie się
499AH , a w parze HL 2822H . |
EX AF,AF' |
EXCHANGE REGISTER PAIRS = Wymień ze sobą pary rejestrów |
||||||||||
Operacja: | AF ←→ A'F' | ||||||||||
Mnemonik: | EX | ||||||||||
Argumenty: | AF,AF'
|
||||||||||
Opis: |
2 bajtowa zawartość pary rejestrów AF zostaje wymieniona z zawartością
drugiej pary AF'. Para rejestrów AF' składa się z alternatywnych
rejestrów akumulatora A' oraz znaczników F'.
|
||||||||||
Zmieniane znaczniki: | Żaden. | ||||||||||
Przykład: | Jeśli para rejestrów AF zawiera liczbę 9900H ,
a para AF' zawiera liczbę 5944H , to instrukcja EX
AF,AF' powoduje, iż w AF znajdzie się liczba 5944H ,
a w AF' liczba 9900H . |
EXX |
EXCHANGE EXTRA REGISTERS = Wymień z rejestrami zapasowymi |
|||||||||||||||||||||||||||||||
Operacja: | BC ←→ BC', DE ←→ DE', HL ←→ HL' | |||||||||||||||||||||||||||||||
Mnemonik: | EXX | |||||||||||||||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||||||||||||||
Opis: |
Każda 2 bajtowa zawartość par rejestrów BC, DE i HL zostaje wymieniona z
2 bajtową zawartością odpowiednich rejestrów zapasowych BC', DE' i HL'.
|
|||||||||||||||||||||||||||||||
Zmieniane znaczniki: | Żaden. | |||||||||||||||||||||||||||||||
Przykład: | Jeśli pary rejestrów posiadały zawartość:
to po wykonaniu instrukcji
|
EX (SP),HL |
EXCHANGE HL WITH STACK TOP = Wymień HL ze szczytem stosu |
||||||||||
Operacja: | H ←→ (SP+1), L ←→ (SP) | ||||||||||
Mnemonik: | EX | ||||||||||
Argumenty: | (SP),HL
|
||||||||||
Opis: |
Młodszy bajt pary rejestrów HL jest wymieniany z zawartością komórki
pamięci o adresie określonym przez zawartość rejestru wskaźnika stosu
SP, a starszy bajt HL jest wymieniany z kolejną komórką pamięci o
adresie SP+1. Zawartość SP nie ulega zmianie.
|
||||||||||
Zmieniane znaczniki: | Żaden. | ||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 7012H ,
rejestr wskaźnika stosu zawiera 8856H , komórka pamięci pod
adresem 8856H zawiera bajt 11H , a następna
komórka pamięci o adresie 8857H zawiera bajt 22H ,
to instrukcja EX (SP),HL powoduje, iż para rejestrów HL
przyjmie zawartość 2211H , w komórce pamięci o adresie
8856H zostanie umieszczony bajt 12H , w następnej
komórce o adresie 8857H zostanie umieszczony bajt 70H ,
a rejestr wskaźnika stosu zatrzyma swą zawartość 8856H . |
EX (SP),IX |
EXCHANGE IX WITH STACK TOP = Wymień IX ze szczytem stosu |
|||||||||||||||||||
Operacja: | IXH ←→ (SP+1), IXL ←→ (SP) | |||||||||||||||||||
Mnemonik: | EX | |||||||||||||||||||
Argumenty: | (SP),IX
|
|||||||||||||||||||
Opis: |
Młodszy bajt rejestru indeksowego IX jest wymieniany z zawartością
komórki pamięci o adresie określonym przez zawartość rejestru wskaźnika
stosu SP, a starszy bajt IX jest wymieniany z kolejną komórką pamięci o
adresie SP+1. Zawartość SP nie ulega zmianie.
|
|||||||||||||||||||
Zmieniane znaczniki: | Żaden. | |||||||||||||||||||
Przykład: | Jeśli rejestr indeksowy IX zawiera 3988H ,
rejestr wskaźnika stosu zawiera 0100H , komórka pamięci pod
adresem 0100H zawiera bajt 90H , a następna
komórka pamięci o adresie 0101H zawiera bajt 48H ,
to instrukcja EX (SP),IX powoduje, iż rejestr indeksowy IX
przyjmie zawartość 4890H , w komórce pamięci o adresie
0100H zostanie umieszczony bajt 88H , w następnej
komórce o adresie 0101H zostanie umieszczony bajt 39H ,
a rejestr wskaźnika stosu zatrzyma swą zawartość 0100H . |
EX (SP),IY |
EXCHANGE IY WITH STACK TOP = Wymień IY ze szczytem stosu |
|||||||||||||||||||
Operacja: | IYH ←→ (SP+1), IYL ←→ (SP) | |||||||||||||||||||
Mnemonik: | EX | |||||||||||||||||||
Argumenty: | (SP),IX
|
|||||||||||||||||||
Opis: |
Młodszy bajt rejestru indeksowego IY jest wymieniany z zawartością
komórki pamięci o adresie określonym przez zawartość rejestru wskaźnika
stosu SP, a starszy bajt IY jest wymieniany z kolejną komórką pamięci o
adresie SP+1. Zawartość SP nie ulega zmianie.
|
|||||||||||||||||||
Zmieniane znaczniki: | Żaden. | |||||||||||||||||||
Przykład: | Jeśli rejestr indeksowy IY zawiera 3988H ,
rejestr wskaźnika stosu zawiera 0100H , komórka pamięci pod
adresem 0100H zawiera bajt 90H , a następna
komórka pamięci o adresie 0101H zawiera bajt 48H ,
to instrukcja EX (SP),IY powoduje, iż rejestr indeksowy IY
przyjmie zawartość 4890H , w komórce pamięci o adresie
0100H zostanie umieszczony bajt 88H , w następnej
komórce o adresie 0101H zostanie umieszczony bajt 39H ,
a rejestr wskaźnika stosu zatrzyma swą zawartość 0100H . |
LDI |
LOAD DATA AND INCREMENT = Ładuj dane i zwiększ |
|||||||||||||||||||
Operacja: | (DE) ← (HL), DE ← DE+1, HL ← HL+1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | LDI | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Bajt danych jest przepisywany z komórki pamięci adresowanej przez
zawartość pary rejestrów HL do komórki adresowanej parą rejestrów DE.
Następnie zawartości obu par rejestrów są zwiększane o 1, a para
rejestrów BC (ang. byte counter - licznik bajtów)
jest zmniejszana o 1.
|
|||||||||||||||||||
Zmieniane znaczniki: | S nie jest zmieniany Z nie jest zmieniany H jest zerowany P / V jest ustawiany na 1, jeśli BC-1 ≠ 0, inaczej zerowany N jest zerowany C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
komórka pamięci
1111H zawiera bajt 88H , para rejestrów DE
zawiera
2222H a para rejestrów BC zawiera 7H , to
instrukcja LDI daje w wyniku następujące zawartości
rejestrów i komórek pamięci:
|
LDIR |
LOAD DATA, INCREMENT AND REPEAT = Ładuj dane, zwiększ i powtarzaj |
||||||||||||||||||||||||||||||||||||||||||||||
Operacja: | (DE) ← (HL), DE ← DE+1, HL ← HL+1, BC ← BC-1 | ||||||||||||||||||||||||||||||||||||||||||||||
Mnemonik: | LDIR | ||||||||||||||||||||||||||||||||||||||||||||||
Argumenty: | Brak
|
||||||||||||||||||||||||||||||||||||||||||||||
Opis: |
Ta dwubajtowa instrukcja przesyła bajt danych z komórki pamięci
adresowanej przez zawartość pary rejestrów HL do komórki adresowanej
parą rejestrów DE. Obie te pary rejestrów są zwiększane o 1, a para
rejestrów BC (ang. byte counter - licznik bajtów)
jest zmniejszana o 1. Jeśli w wyniku zmniejszenia rejestr BC osiągnie
wartość 0, instrukcja zostaje zakończona. Jeśli BC jest różne od zera,
licznik rozkazów PC zostaje zmniejszony o 2 i wykonanie instrukcji
powtarza się. Rozpoznawane są przerwania oraz wykonane zostają dwa cykle
odświeżania po każdym przesyle danych. Jeśli przed wykonaniem instrukcji
para rejestrów BC zostanie ustawiona na zero, to pętla przejdzie przez
pełne 64KB pamięci. Dla BC ≠ 0:
|
||||||||||||||||||||||||||||||||||||||||||||||
Zmieniane znaczniki: | S nie jest zmieniany Z nie jest zmieniany H jest zerowany P / V jest zerowany N jest zerowany C nie jest zmieniany |
||||||||||||||||||||||||||||||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
para rejestrów DE zawiera
2222H , para rejestrów BC zawiera 0003H i
pamięć posiada następującą zawartość:
to wykonanie instrukcji
|
LDD |
LOAD DATA AND DECREMENT = Ładuj dane i zmniejsz |
|||||||||||||||||||
Operacja: | (DE) ← (HL), DE ← DE-1, HL ← HL-1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | LDD | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Bajt danych jest przepisywany z komórki pamięci adresowanej przez
zawartość pary rejestrów HL do komórki adresowanej parą rejestrów DE.
Następnie zawartości par rejestrów DE, HL oraz BC
(ang. byte counter - licznik bajtów)
są zmniejszane o 1.
|
|||||||||||||||||||
Zmieniane znaczniki: | S nie jest zmieniany Z nie jest zmieniany H jest zerowany P / V jest ustawiany na 1, jeśli BC-1 ≠ 0, inaczej zerowany N jest zerowany C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
komórka pamięci
1111H zawiera bajt 88H , para rejestrów DE
zawiera
2222H a para rejestrów BC zawiera 7H , to
instrukcja LDD daje w wyniku następujące zawartości
rejestrów i komórek pamięci:
|
LDDR |
LOAD DATA, DECREMENT AND REPEAT = Ładuj dane, zmniejsz i powtarzaj |
||||||||||||||||||||||||||||||||||||||||||||||
Operacja: | (DE) ← (HL), DE ← DE-1, HL ← HL-1, BC ← BC-1 | ||||||||||||||||||||||||||||||||||||||||||||||
Mnemonik: | LDDR | ||||||||||||||||||||||||||||||||||||||||||||||
Argumenty: | Brak
|
||||||||||||||||||||||||||||||||||||||||||||||
Opis: |
Ta dwubajtowa instrukcja przesyła bajt danych z komórki pamięci
adresowanej przez zawartość pary rejestrów HL do komórki adresowanej
parą rejestrów DE. Następnie pary rejestrów DE, HL i BC
(ang. byte counter - licznik bajtów)
są zmniejszane o 1. Jeśli w wyniku zmniejszenia rejestr BC osiągnie
wartość 0, instrukcja zostaje zakończona. Jeśli zawartość BC jest różna
od zera, licznik rozkazów PC zostaje zmniejszony o 2 i wykonanie
instrukcji powtarza się. Rozpoznawane są przerwania oraz wykonane
zostają dwa cykle odświeżania po każdym przesyle danych. Jeśli przed
wykonaniem instrukcji para rejestrów BC zostanie ustawiona na zero, to
pętla przejdzie przez pełne 64KB pamięci. Dla BC ≠ 0:
|
||||||||||||||||||||||||||||||||||||||||||||||
Zmieniane znaczniki: | S nie jest zmieniany Z nie jest zmieniany H jest zerowany P / V jest zerowany N jest zerowany C nie jest zmieniany |
||||||||||||||||||||||||||||||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1114H ,
para rejestrów DE zawiera
2225H , para rejestrów BC zawiera 0003H i
pamięć posiada następującą zawartość:
to wykonanie instrukcji
|
CPI |
COMPARE AND INCREMENT = Porównaj i zwiększ |
|||||||||||||||||||
Operacja: | A-(HL), HL ← HL+1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | CPI | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Zawartość komórki pamięci adresowanej przez parę rejestrów HL jest
porównywana z zawartością akumulatora. Powoduje to odpowiednie
ustawienie znaczników. Następnie para rejestrów HL jest zwiększana o 1,
a para BC (licznik bajtów) jest zmniejszana o
1.
|
|||||||||||||||||||
Zmieniane znaczniki: | S jest ustawiany na 1, gdy wynik ujemny. Inaczej jest
zerowany. Z jest ustawiany na 1, jeśli A = (HL); inaczej zerowany H zostaje ustawiony na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej jest zerowany P / V jest ustawiany na 1, jeśli BC-1 nie jest równe zero; inaczej zerowany N jest ustawiany na 1 C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
komórka pamięci 1111H zawiera 3BH , akumulator
zawiera 3BH , a BC (licznik bajtów)
zawiera 0001H , to wykonanie instrukcji CPI
spowoduje ustawienie BC na
0000H , pary rejestrów HL na 1112H , znacznika Z
w rejestrze F na 1, znacznika P / V w F na 0. Zawartość akumulatora ani
komórki pamięci 1111H nie ulega zmianie. |
CPIR |
COMPARE, INCREMENT AND REPEAT = Porównaj, zwiększ i powtarzaj |
|||||||||||||||||||
Operacja: | A-(HL), HL ← HL+1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | CPIR | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Zawartość komórki pamięci adresowanej przez parę rejestrów HL jest
porównywana z zawartością akumulatora. Powoduje to odpowiednie
ustawienie znaczników. Następnie para rejestrów HL jest zwiększana o 1,
a para BC (licznik bajtów) jest zmniejszana o
1. Jeśli po zmniejszeniu para BC przyjmuje wartość zero lub było Jeśli przed wykonaniem instrukcji para BC zawiera zero, to instrukcja przejdzie przez wszystkie komórki pamięci (64KB) o ile nie zostanie napotkana zgodność z akumulatorem. Dla BC ≠ 0 i A ≠ (HL):
|
|||||||||||||||||||
Zmieniane znaczniki: | S jest ustawiany na 1, gdy wynik ujemny. Inaczej jest
zerowany. Z jest ustawiany na 1, jeśli A = (HL); inaczej zerowany H zostaje ustawiony na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej jest zerowany P / V jest ustawiany na 1, jeśli BC-1 nie jest równe zero; inaczej zerowany N jest ustawiany na 1 C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
akumulator zawiera 0F3H , BC zawiera 0007H , a
komórki pamięci posiadają poniższą zawartość:
to po wykonaniu |
CPD |
COMPARE AND DECREMENT = Porównaj i zmniejsz |
|||||||||||||||||||
Operacja: | A-(HL), HL ← HL-1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | CPD | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Zawartość komórki pamięci adresowanej przez parę rejestrów HL jest
porównywana z zawartością akumulatora. Powoduje to odpowiednie
ustawienie znaczników. Następnie pary rejestrów HL i BC
(licznik bajtów)
są zmniejszane o 1.
|
|||||||||||||||||||
Zmieniane znaczniki: | S jest ustawiany na 1, gdy wynik ujemny. Inaczej jest
zerowany. Z jest ustawiany na 1, jeśli A = (HL); inaczej zerowany H zostaje ustawiony na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej jest zerowany P / V jest ustawiany na 1, jeśli BC-1 nie jest równe zero; inaczej zerowany N jest ustawiany na 1 C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1111H ,
komórka pamięci 1111H zawiera 3BH , akumulator
zawiera 3BH , a BC (licznik bajtów)
zawiera 0001H , to wykonanie instrukcji CPD
spowoduje ustawienie BC na
0000H , pary rejestrów HL na 1110H , znacznika Z
w rejestrze F na 1, znacznika P / V w F na 0. Zawartość akumulatora ani
komórki pamięci 1111H nie ulega zmianie. |
CPDR |
COMPARE, DECREMENT AND REPEAT = Porównaj, zmniejsz i powtarzaj |
|||||||||||||||||||
Operacja: | A-(HL), HL ← HL-1, BC ← BC-1 | |||||||||||||||||||
Mnemonik: | CPDR | |||||||||||||||||||
Argumenty: | Brak
|
|||||||||||||||||||
Opis: |
Zawartość komórki pamięci adresowanej przez parę rejestrów HL jest
porównywana z zawartością akumulatora. Powoduje to odpowiednie
ustawienie znaczników. Następnie pary rejestrów HL i BC
(licznik bajtów)
są zmniejszane o 1. Jeśli po zmniejszeniu para BC przyjmuje wartość zero
lub było Jeśli przed wykonaniem instrukcji para BC zawiera zero, to instrukcja przejdzie przez wszystkie komórki pamięci (64KB) o ile nie zostanie napotkana zgodność z akumulatorem. Dla BC ≠ 0:
|
|||||||||||||||||||
Zmieniane znaczniki: | S jest ustawiany na 1, gdy wynik ujemny. Inaczej jest
zerowany. Z jest ustawiany na 1, jeśli A = (HL); inaczej zerowany H zostaje ustawiony na 1, jeśli wystąpiła pożyczka z bitu 4; inaczej jest zerowany P / V jest ustawiany na 1, jeśli BC-1 nie jest równe zero; inaczej zerowany N jest ustawiany na 1 C nie jest zmieniany |
|||||||||||||||||||
Przykład: | Jeśli para rejestrów HL zawiera 1118H ,
akumulator zawiera 0F3H , BC zawiera 0007H , a
komórki pamięci posiadają poniższą zawartość:
to po wykonaniu |
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.