|
Serwis Edukacyjny nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Tłumaczenie: mgr Jerzy Wałaszek |
©2026 mgr Jerzy Wałaszek
|
IN A,(n) |
INPUT DATA = Wczytaj dane |
||||||||||||||||||||||||||
| Operacja: | A ← (n) | ||||||||||||||||||||||||||
| Mnemonik: | IN | ||||||||||||||||||||||||||
| Argumenty |
A,(n)
|
||||||||||||||||||||||||||
| Opis: |
Argument n jest umieszczany na dolnej połówce (od A0 do A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z dostępnych 256 portów. Zawartość Akumulatora również pojawia się w tym samym czasie na górnej połówce (A8 do A15) magistrali adresowej. Następnie jeden bajt z wybranego portu jest umieszczany przez adresowane urządzanie na magistrali danych, skąd mikroprocesor odczytuje go do rejestru A.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | Żaden | ||||||||||||||||||||||||||
| Przykład: | Jeśli Akumulator ma zawartość, a bajt
7BH jest dostępnyw urządzeniu zewnętrznym, które zostało skojarzone z portem we/wy 01H, to powykonaniu instrukcji IN A,(01H)do akumulatora trafi 7BH. |
||||||||||||||||||||||||||
IN r,(C) |
INPUT DATA = Wczytaj dane |
|||||||||||||||||||||||||||||||||
| Operacja: | r ← (C) | |||||||||||||||||||||||||||||||||
| Mnemonik: | IN | |||||||||||||||||||||||||||||||||
| Argumenty |
r,(C)
|
|||||||||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Zawartość rejestru B jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie jeden bajt z wybranego portu zostaje umieszczony na magistrali danych przez zaadresowane urządzenie we/wy, skąd mikroprocesor pobiera go do rejestru r, który może być dowolnym z dostępnych rejestrów 8-bitowych. Poniższa tabela przedstawia sposób kodowania tych rejestrów w kodzie operacyjnym instrukcji.
|
|||||||||||||||||||||||||||||||||
| Zmieniane znaczniki: | S jest ustawiany na jeden zgodnie z bitem nr 7 wczytanych danych Z jest ustawiany na 1, jeśli wczytany bajt ma wartość zero, inaczej jest zerowany H jest zerowany P/V jest ustawiany na 1, jeśli wczytany bajt posiada parzystą liczbę bitów o stanie 1, inaczej jest zerowany N jest zerowany C nie jest zmieniany |
|||||||||||||||||||||||||||||||||
| Przykład: | Jeśli zawartością rejestru C jest 07H,a w urządzeniu zewnętrznym skojarzonym z portem 07H znajduje
się gotowy doodczytu bajt 7BH, to po wykonaniuinstrukcji IN D,(C) w rejestrze D znajdziesię 7BH. |
|||||||||||||||||||||||||||||||||
OUT (n),A |
OUTPUT DATA = Wyślij dane |
||||||||||||||||||||||||||
| Operacja: | (n) ← A | ||||||||||||||||||||||||||
| Mnemonik: | OUT | ||||||||||||||||||||||||||
| Argumenty |
(n),A
|
||||||||||||||||||||||||||
| Opis: |
Argument n jest umieszczany na dolnej połówce (od A0 do A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z dostępnych 256 portów. Zawartość Akumulatora również pojawia się w tym samym czasie na górnej połówce (A8 do A15) magistrali adresowej. Następnie bajt z Akumulatora zostaje umieszczony na magistrali danych i zapisany w wybranym urządzeniu we/wy.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | Żaden | ||||||||||||||||||||||||||
| Przykład: | Jeśli Akumulator ma zawartość, to po
wykonaniu instrukcji bajt 23H
zostajezapisany w urządzeniu we/wy podłączonym do portu we/wy o adresie 01H. |
||||||||||||||||||||||||||
OUT (C),r |
OUTPUT DATA = Wyślij dane |
||||||||||||||||||||||||||||||
| Operacja: | (C) ← r | ||||||||||||||||||||||||||||||
| Mnemonik: | OUT | ||||||||||||||||||||||||||||||
| Argumenty |
(C),r
|
||||||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Zawartość rejestru B jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie bajt z rejestru r jest umieszczany na magistrali danych i zapisany do wybranego urządzenia zewnętrznego. Rejestr r może być dowolnym rejestrem 8 bitowym danych mikroprocesora. Poniższa tabela przedstawia sposób kodowania tych rejestrów w kodzie operacyjnym instrukcji.
|
||||||||||||||||||||||||||||||
| Zmieniane znaczniki: | Żaden | ||||||||||||||||||||||||||||||
| Przykład: | Jeśli zawartością rejestru C jest 01H, a w
rejestrze Dznajduje się 5AH, to przywykonaniu instrukcji bajt 5AH jestzapisywany do urządzenia peryferyjnego przydzielonego do portu we/wy o adresie
01H. |
||||||||||||||||||||||||||||||
INI |
INPUT DATA AND INCREMENT HL = Wczytaj dane i zwiększ HL |
||||||||||||||||||||||||||
| Operacja: | (HL) ← (C), B ← B-1, HL ← HL+1 | ||||||||||||||||||||||||||
| Mnemonik: | INI | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce
(A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Rejestr B może być używany jako licznik bajtów, a jego zawartość jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie bajt z zaadresowanego urządzenia we/wy jest umieszczany na magistrali danych, skąd pobiera go mikroprocesor. Pobrany bajt jest umieszczany w komórce pamięci wskazywanej przez zawartość pary rejestrów HL. Na koniec licznik w rejestrze B jest zmniejszany o 1, a zawartość pary rejestrów HL jest zwiększana o 1.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1, jeśli B-1 = 0, inaczej jest zerowany H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
10H, HL zawiera 1000H,a bajt 7BH
jest dostępny do odczytu w urządzeniu peryferyjnymwspółpracującym z portem o adresie 07H, to po wykonaniuinstrukcji INI
komórka pamięci o adresie 1000H będziezawierała 7BH,
para rejestrów HL przyjmie zawartość 1001H,a w rejestrze B znajdzie się 0FH. |
INIR |
INPUT DATA, INCREMENT HL AND REPEAT = Wczytaj dane, zwiększ HL i powtarzaj |
||||||||||||||||||||||||||
| Operacja: | (HL) ← (C), B ← B-1, HL ← HL+1 i powtarzaj dopóki B ≠ 0 | ||||||||||||||||||||||||||
| Mnemonik: | INIR | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce
(A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Rejestr B może być używany jako licznik bajtów, a jego zawartość jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie bajt z zaadresowanego urządzenia we/wy jest umieszczany na magistrali danych, skąd pobiera go mikroprocesor. Pobrany bajt jest umieszczany w komórce pamięci wskazywanej przez zawartość pary rejestrów HL. Licznik w rejestrze B jest zmniejszany o 1, a zawartość pary rejestrów HL jest zwiększana o 1. Jeśli po zmniejszeniu rejestr B osiągnie wartość 0, to instrukcja jest przerywana. Jeśli rejestr B nie zawiera zera, to licznik rozkazów PC (ang. Program Counter) zostaje zmniejszony o 2 i instrukcja jest powtarzana. Po każdym przesłaniu danych rozpoznawane są przerwania oraz wykonywane dwa cykle odświeżania. Uwaga: Jeśli B zostanie ustawiony na 0 przed wykonaniem instrukcji, to nastąpi
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1 H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
03H, HL zawiera 1000H, a w urządzeniuperyferyjnym współpracującym z portem we/wy o adresie 07H
są dostępne doodczytu następujące bajty: to po wykonaniu instrukcji 1000H zawiera 51H1001H zawiera 0A9H1002H zawiera 03H |
||||||||||||||||||||||||||
IND |
INPUT DATA AND DECREMENT HL = Wczytaj dane i zmniejsz HL |
||||||||||||||||||||||||||
| Operacja: | (HL) ← (C), B ← B-1, HL ← HL-1 | ||||||||||||||||||||||||||
| Mnemonik: | IND | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce
(A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Rejestr B może być używany jako licznik bajtów, a jego zawartość jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie bajt z zaadresowanego urządzenia we/wy jest umieszczany na magistrali danych, skąd pobiera go mikroprocesor. Pobrany bajt jest umieszczany w komórce pamięci wskazywanej przez zawartość pary rejestrów HL. Na koniec licznik w rejestrze B oraz para rejestrów HL są zmniejszane o 1.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1, jeśli B-1 = 0, inaczej jest zerowany H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
10H, HL zawiera 1000H, a bajt
jest dostępny do odczytu w urządzeniu peryferyjnymwspółpracującym z portem o adresie 07H, to po wykonaniu instrukcji
komórka pamięci o adresie 1000H będzie zawierała 7BH,
pararejestrów HL przyjmie zawartość 0FFFH, a w rejestrze
B
znajdzie się. |
INDR |
INPUT DATA, DECREMENT HL AND REPEAT = Wczytaj dane, zmniejsz HL i powtarzaj |
||||||||||||||||||||||||||
| Operacja: | (HL) ← (C), B ← B-1, HL ← HL-1 i powtarzaj dopóki B ≠ 0 | ||||||||||||||||||||||||||
| Mnemonik: | INDR | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość rejestru C jest umieszczana na dolnej połówce
(A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy na jednym z 256 możliwych portów. Rejestr B może być używany jako licznik bajtów, a jego zawartość jest również w tym samym czasie umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Następnie bajt z zaadresowanego urządzenia we/wy jest umieszczany na magistrali danych, skąd pobiera go mikroprocesor. Pobrany bajt jest umieszczany w komórce pamięci wskazywanej przez zawartość pary rejestrów HL. Licznik w rejestrze B i para rejestrów HL są zmniejszane o 1. Jeśli po zmniejszeniu rejestr B osiągnie wartość 0, to instrukcja jest przerywana. Jeśli rejestr B nie zawiera zera, to licznik rozkazów PC (ang. Program Counter) zostaje zmniejszony o 2 i instrukcja jest powtarzana. Po każdym przesłaniu danych rozpoznawane są przerwania oraz wykonywane dwa cykle odświeżania. Uwaga: Jeśli B zostanie ustawiony na 0 przed wykonaniem instrukcji, to nastąpi pobranie
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1 H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
03H, HL zawiera 1000H, a w urządzeniu
peryferyjnymwspółpracującym z portem we/wy o adresie 07H
są dostępne do odczytu następujące bajty:to po wykonaniu instrukcji 0FFEH zawiera 51H0FFFH zawiera 0A9H1000H zawiera 03H |
||||||||||||||||||||||||||
OUTI |
OUTPUT DATA AND INCREMENT HL = Wczytaj dane i zwiększ HL |
||||||||||||||||||||||||||
| Operacja: | (C) ← (HL), B ← B-1, HL ← HL+1 | ||||||||||||||||||||||||||
| Mnemonik: | OUTI | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość pary rejestrów HL jest umieszczana na magistrali adresowej, aby wybrać komórkę pamięci z danymi. Bajt zawarty w tej komórce zostaje pobrany i tymczasowo przechowany przez mikroprocesor. Następnie, po zmniejszeniu o 1 zawartości rejestru B, zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy współpracującego z jednym z 256 możliwych portów. Rejestr B może być wykorzystywany jako licznik bajtów, a jego zmniejszona o 1 zawartość jest umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Pobrany wcześniej bajt z pamięci jest teraz umieszczany na magistrali danych i zapisywany do wybranego urządzenia peryferyjnego. Na koniec para rejestrów HL jest zwiększana o 1.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1, jeśli B-1 = 0, inaczej jest zerowany H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
10H, HL zawiera 1000H, a komórkapamięci o adresie 1000H przechowuje bajt 59H, to po
wykonaniu instrukcji rejestr B będzie zawierał
0FH, para rejestrów HL przyjmie zawartość, a
bajt 59H zostanie zapisany do urządzenia peryferyjnego w
porciewe/wy o adresie 07H. |
OTIR |
OUTPUT DATA, INCREMENT HL AND REPEAT = Wczytaj dane, zwiększ HL i powtarzaj |
||||||||||||||||||||||||||
| Operacja: | (C) ← (HL), B ← B-1, HL ← HL+1 i powtarzaj dopóki B ≠ 0 | ||||||||||||||||||||||||||
| Mnemonik: | OTIR | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość pary rejestrów HL jest umieszczana na magistrali adresowej,
aby wybrać komórkę pamięci z danymi. Bajt zawarty w tej komórce zostaje pobrany i tymczasowo przechowany przez mikroprocesor. Następnie, po zmniejszeniu o 1 zawartości rejestru B, zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy współpracującego z jednym z 256 możliwych portów. Rejestr B może być wykorzystywany jako licznik bajtów, a jego zmniejszona o 1 zawartość jest umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Pobrany wcześniej bajt z pamięci jest teraz umieszczany na magistrali danych i zapisywany do wybranego urządzenia peryferyjnego. Na koniec para rejestrów HL jest zwiększana o 1. Jeśli zmniejszony o 1 rejestr B osiągnie wartość 0, to instrukcja jest przerywana. Jeśli rejestr B nie zawiera zera, to licznik rozkazów PC (ang. Program Counter) zostaje zmniejszony o 2 i instrukcja jest powtarzana. Po każdym przesłaniu danych rozpoznawane są przerwania oraz wykonywane dwa cykle odświeżania. Uwaga: Jeśli B zostanie ustawiony na 0 przed wykonaniem instrukcji, to nastąpi zapis
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1 H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H, rejestr
B
zawiera 03H, para rejestrów HL zawiera 1000H,a poniższe komórki pamięci posiadają następującą zawartość: zawiera 51H1001H zawiera 0A9H1002H zawiera 03Hto po wykonaniu instrukcji 51H |
||||||||||||||||||||||||||
OUTD |
OUTPUT DATA AND DECREMENT HL = Wczytaj dane i zmniejsz HL |
||||||||||||||||||||||||||
| Operacja: | (C) ← (HL), B ← B-1, HL ← HL-1 | ||||||||||||||||||||||||||
| Mnemonik: | IND | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość pary rejestrów HL jest umieszczana na magistrali adresowej, aby wybrać komórkę pamięci z danymi. Bajt zawarty w tej komórce zostaje pobrany i tymczasowo przechowany przez mikroprocesor. Następnie, po zmniejszeniu o 1 zawartości rejestru B, zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy współpracującego z jednym z 256 możliwych portów. Rejestr B może być wykorzystywany jako licznik bajtów, a jego zmniejszona o 1 zawartość jest umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Pobrany wcześniej bajt z pamięci jest teraz umieszczany na magistrali danych i zapisywany do wybranego urządzenia peryferyjnego. Na koniec para rejestrów HL jest zmniejszana o 1.
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1, jeśli B-1 = 0, inaczej jest zerowany H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H,
B zawiera
10H, HL zawiera 1000H, a komórkapamięci o adresie 1000H przechowuje bajt 59H, to po
wykonaniu instrukcji rejestr B będzie zawierał
0FH, para rejestrów HL przyjmie zawartość, a
bajt 59H zostanie zapisany do urządzenia peryferyjnego w
porciewe/wy o adresie 07H. |
OTDR |
OUTPUT DATA, DECREMENT HL AND REPEAT = Wczytaj dane, zmniejsz HL i powtarzaj |
||||||||||||||||||||||||||
| Operacja: | (C) ← (HL), B ← B-1, HL ← HL-1 i powtarzaj dopóki B ≠ 0 | ||||||||||||||||||||||||||
| Mnemonik: | OTDR | ||||||||||||||||||||||||||
| Kod operacyjny |
|
||||||||||||||||||||||||||
| Opis: |
Zawartość pary rejestrów HL jest umieszczana na magistrali adresowej,
aby wybrać komórkę pamięci z danymi. Bajt zawarty w tej komórce zostaje pobrany i tymczasowo przechowany przez mikroprocesor. Następnie, po zmniejszeniu o 1 zawartości rejestru B, zawartość rejestru C jest umieszczana na dolnej połówce (A0 - A7) magistrali adresowej w celu wybrania urządzenia we/wy współpracującego z jednym z 256 możliwych portów. Rejestr B może być wykorzystywany jako licznik bajtów, a jego zmniejszona o 1 zawartość jest umieszczana na górnej połówce (A8 - A15) magistrali adresowej. Pobrany wcześniej bajt z pamięci jest teraz umieszczany na magistrali danych i zapisywany do wybranego urządzenia peryferyjnego. Na koniec para rejestrów HL jest zmniejszana o 1. Jeśli zmniejszony o 1 rejestr B osiągnie wartość 0, to instrukcja jest przerywana. Jeśli rejestr B nie zawiera zera, to licznik rozkazów PC (ang. Program Counter) zostaje zmniejszony o 2 i instrukcja jest powtarzana. Po każdym przesłaniu danych rozpoznawane są przerwania oraz wykonywane dwa cykle odświeżania. Uwaga: Jeśli B zostanie ustawiony na 0 przed wykonaniem instrukcji, to nastąpi
|
||||||||||||||||||||||||||
| Zmieniane znaczniki: | S - stan nieokreślony Z - jest ustawiany na 1 H - stan nieokreślony P/V - stan nieokreślony N - jest ustawiany na 1 C - stan nieokreślony |
||||||||||||||||||||||||||
| Przykład: | Jeśli rejestr C zawiera 07H, rejestr
B
zawiera 03H, para rejestrów HL zawiera 1000H,a poniższe komórki pamięci posiadają następującą zawartość: zawiera 51H0FFFH zawiera 0A9H1000H zawiera 03Hto po wykonaniu instrukcji 51H |
||||||||||||||||||||||||||
Znacznik N jest kopią bitu nr 7 ostatniej danej zapisanej lub odczytanej z portu we/wy. Może zatem przyjmować wartości 0 lub 1.
Znaczniki C i H są ustawiane następująco:
Weź rejestr C, dodaj do niego 1 (rachunki prowadzimy osobno, dane w rejestrach nie są zmieniane), jeśli instrukcja zwiększa HL, inaczej odejmij od rejestru C 1. Teraz dodaj do rejestru C daną odczytaną lub zapisaną do portu we/wy i przeniesienie z tego dodawania wstaw do znaczników C i H (zatem znaczniki C i H posiadają taką samą wartość). Jest to bardzo dziwne, ale wszelkie testy potwierdzają tę regułę!!!Pedro Gimeno (pgimeno@geocities.com) rozpracował znacznik P/V. Wynik zależy od rejestru B, 3 młodszych bitów rejestru C oraz 3 młodszych bitów danej odczytanej lub zapisanej do portu we/wy. Wszystko, co jest prawdziwe dla INI/INIR i IND/INDR, prawdziwe również jest dla OUTI/OTIR oraz OUTD/OTDR. W opisie stosowana jest notacja C.2 do oznaczania bitu nr 2 rejestru C. "inp" to odczytany (lub wysłany) bajt.
Najpierw spójrz na bity 1 i 0 zarówno rejestru C jak i wczytanego bajtu i wg nich w poniższej tabeli wybierz tymczasowy wynik temp1
| C.1 | C.0 | inp.1 | inp.0 | Temp1 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 |
Potrzebny ci również będzie dodatkowy wynik tymczasowy, który zależy od rejestru B (od wszystkich jego bitów), zgodnie z poniższym pseudokodem:
Jeśli B.3 = B.2 = B.1 = B.0 = 0, to niech Temp2 = Parity(B) xor (B.4 or (B.6 and not B.5))Postać funkcji (B.0 or (B.2 and not B.1)) otrzymano z tablic Karnaugha:
| B.2 B.1 B.0 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
| Wartość | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
Dla zamknięcia tematu poniżej jest pełna tablica wartości Temp2 zgodnie z B:
0123456789ABCDEF |
← (młodsze 4 bity) | |
00 |
0011010011001011 |
|
10 |
0100101100110100 |
|
20 |
1100101100110100 |
|
30 |
1011010011001011 |
|
40 |
0100101100110100 |
|
50 |
1011010011001011 |
|
60 |
0011010011001011 |
|
70 |
0100101100110100 |
|
80 |
1100101100110100 |
|
90 |
1011010011001011 |
|
A0 |
0011010011001011 |
|
B0 |
0100101100110100 |
|
C0 |
1011010011001011 |
|
D0 |
0100101100110100 |
|
E0 |
1100101100110100 |
|
F0 |
1011010011001011 |
|
| ↑ (starsze 4 bity) | ||
Na koniec znacznik P/V otrzymuje wartość:
P/V = Temp1 xor Temp2 xor C.2 xor inp.2Operacje mające na celu otrzymanie wartości znacznika P/V są takie same jak dla INI/INIR, lecz tablica dla Temp1 jest inna:
| C.1 | C.0 | inp.1 | inp.0 | Temp1 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 |
![]() |
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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.