Gaweł. Architektura mikroprocesorów Z80 zagadnienia oprogramowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Gaweł. Architektura mikroprocesorów Z80 zagadnienia oprogramowania"

Transkrypt

1 Gaweł Architektura mikroprocesorów Z80 zagadnienia oprogramowania Białystok, luty 2006

2 Wręcz kultowy mikroprocesor Z80 jest mikroprocesorem 8-bitowym zbudowanym w oparciu o architekturę Von Neumanna. Główną cechą charakterystyczną procesorów w architekturze Von Neumanna jest wspólna pamięć danych i kodu programu. Łatwo z tego wysnuć wniosek, że wczytanie kodu programu z dowolnego źródła, umieszczenie go w pamięci (oczywiście jedynie w przypadku, gdy technicznie możliwy jest zapis do pamięci) i uruchomienie jest czynnością jak najbardziej naturalną. Do innych procesorów o tym samym typie architektury można zaliczyć procesory MC6800 (firmy Motorola), I8080 z późniejszą mutacją w postaci procesora I8085 (firmy Intel) i obecnie najbardziej rozpowszechniony I8086 wraz z wszystkimi mutacjami aż do Pentium włącznie. Fot. 1: Mikroprocesory Z80 różnych producentów Mikroprocesor Z80 jest mocno ulepszoną wersją procesora I8080 (kompatybilność z procesorem Intela na poziomie kodów instrukcji). Patrząc na historię rozwoju niektórych mikroprocesorów, nie da się ukryć, że współczesne komputery zbudowane w oparciu o procesory pentium zawierają w sobie pewne cechy odziedziczone po procesorze I8080. Niejako metodą indukcji można wnioskować, że w żyłach procesorów pentium (a może należałoby powiedzieć w szynach systemowych) znajdziemy geny zawarte w Z80. Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-2/27-

3 Program binarny stworzony dla procesora I8080 miał być bez problemów akceptowalny przez procesor Z80. Jednak wybrane instrukcje arytmetyczne dawały inny rezultat w rejestrze wskaźników, toteż istnieje metoda programowego wykrycia, czy program jest uruchomiony w systemie zbudowanym w oparciu o mikroprocesor Zilog'a czy Inte'a. Oprócz wprowadzenia wielu użytecznych instrukcji, procesor Z80 odróżniał się od procesora Intel'a wprowadzeniem rejestrów indeksowych pozwalających na rozbudowane sposoby adresowania. Nie bez znaczenia pozostaje fakt, że Z80 jako pierwszy procesor miał zrealizowane sprzętowe odświeżanie pamięci dynamicznych. Po wykonaniu każdej instrukcji następowała realizacja sprzętowego cyklu odświeżenia kolejnego wiersza w pamięciach dynamicznych (numery odświeżanych wierszy są zliczane w specjalnym rejestrze R). Rozwiązywało to wiele problemów konstrukcyjnych w przypadku stosowania pamięci dynamicznych. Obecnie to z pewnością traci na znaczeniu, ponieważ pojemności pamięci statycznych są znacznie większe niż przed wielu laty. W czasach, gdy ten procesor zdobywał rynek dostępne były pamięci statyczne o pojemności do kilku kilobitów (przykładowo rozpowszechnioną pamięcią była 2114, pamięć statyczna 1 kilo x 4 bity), natomiast pamięci dynamiczne 16 kilo x 1 bit nie były niczym niezwykłym. Zasoby mikroprocesora Z80 (czyli, co ten procek miał do dyspozycji) są następujące: akumulator do 8-bitowych operacji arytmetycznych i logicznych [A], rejestr wskaźników [F], 8-bitowy rejestr B ogólnego przeznaczenia, 8-bitowy rejestr C ogólnego przeznaczenia, 8-bitowy rejestr D ogólnego przeznaczenia, 8-bitowy rejestr E ogólnego przeznaczenia, 8-bitowy rejestr H ogólnego przeznaczenia, 8-bitowy rejestr L ogólnego przeznaczenia, 8-bitowy rejestr I związany z obsługą przerwań maskowalnych, 8-bitowy rejestr R związany z odświeżaniem pamięci dynamicznych, 16-bitowy rejestr indeksowy IX, 16-bitowy rejestr indeksowy IY, 16-bitowy rejestr wskaźnika stosu SP, 16-bitowy rejestr licznika rozkazów PC (ten rejestr jest rejestrem ukrytym i niedostępnym do używania w programie). Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-3/27-

4 Pewną innowacją, która pojawiła się w procesorze Z80 jest zdublowany zespół podstawowych rejestrów (to jest rejestrów A, F, B, C, D, E, H oraz L), mający duże znaczenie w obsłudze przerwań. Procesor posiadał dwa zestawy tych rejestrów, z czego tylko jeden z nich był aktywny. Obsługa przerwania (szczególnie w przypadku gdy nie jest możliwa obsługa przerwań w przerwaniach) używając dwóch instrukcji (EX AF,AF' oraz EXX) mogła przełączyć się na alternatywny zespół rejestrów, dowolnie je używać i przed zakończeniem obsługi przerwania powrócić do poprzedniego, nienaruszonego zestawu rejestrów (bez odkładania rejestrów na stosie). Wybrane rejestry 8-bitowe mogą być łączone w pary tworząc rejestry 16- bitowe. Możliwe do uzyskania pary rejestrów są następujące: rejestr BC jako połączenie rejestru B i C, rejestr DE jako połączenie rejestru D i E, rejestr HL jako połączenie rejestru H i L. Tak utworzone pary rejestrów generalnie służą do adresowania pamięci, a w szczególności rejestr HL. Warto tu zauważyć, że mikroprocesor Z80 posiadał instrukcje 16-bitowego dodawania, co jest bardzo pomocne przy obliczaniu adresów w pamięci. Rolę 16-bitowego akumulatora spełniał rejestr HL. Inną ciekawą cechą procesora Z80 są instrukcje blokowe. Wpisując do odpowiednich rejestrów wymagane dane, można było operować na całym bloku. Jako przykład niech posłuży instrukcja LDIR służąca do przepisania bloku danych z jednego miejsca w drugie. Wymagała ona wpisania do rejestru HL adresu miejsca źródłowego, do rejestru DE adresu miejsca docelowego, do rejestru BC wielkości bloku. LD HL,<adres z> LD DE,<adres do> LD BC,1000 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-4/27-

5 LDIR 4 instrukcje zilogowe i mamy przepisane 1000 bajtów z jednego miejsca do drugiego. Na bazie tej instrukcji możne było uzyskać inne wartościowe cechy. Przykładowo poniższy ciąg instrukcji LD HL,<adres> LD DE,<adres>+1 LD BC,1000 LDIR powodował replikację zawartości bajtu pamięci o adresie określonym w rejestrze HL w całym obszarze. Taki chwyt powszechnie był używany do zerowania obszarów w pamięci RAM. Ciekawą cechą mikroprocesora Z80 jest sposób rozwiązania obsługi przerwań. Za pomocą instrukcji IM można było wybrać programowo jeden z trzech możliwych trybów obsługi przerwań. Są to: tryb 0 (po wykonaniu instrukcji IM 0), tryb 1 (po wykonaniu instrukcji IM 1), tryb 2 (po wykonaniu instrukcji IM 2). Tryb 0 W tym trybie sposób obsługi jest zgodny ze sposobem oferowanym przez procesory I8080. Urządzenie przerywające umieszcza na magistrali danych rozkaz RST <numer>. Przy realizacji tej instrukcji na stosie jest zachowany aktualny stan rejestru licznika instrukcji i następuje skok do odpowiedniego stałego miejsca w pamięci. Tryb 1 Podobnie jak w dla przerwań niemaskowalnych, procesor odkłada na stosie zawartość licznika rozkazów i realizuje skok do komórki o adresie 38 hex. Tryb 2 Jest to wektoryzowany i najbardziej efektywny sposób obsługi przerwań. W tym trybie adres procedury obsługi przerwania (jako 16-bitowy adres w pamięci) składa się w części starszej z zawartości rejestru I (związanego z przerwaniami i wcześniej odpowiednio zainicjowanego) oraz w części młodszej z danych dostarczonych poprzez magistralę danych z urządzenia przerywającego (również odpowiednio wcześniej zainicjowanego). Tak ustalony adres jest wskazaniem w pamięci na procedurę obsługi przerwania. Należy tu jednocześnie zauważyć, że w tym trybie obsługi przerwań mikroprocesor mógł współpracować jedynie ze swoimi układami (zaprojektowanymi dla Z80). W pewnym sensie obsługa przerwań w tym trybie jest sprzętowo rozproszona i sam mikroprocesor musiał umieć dogadać się z urządzeniami generującymi przerwanie. Po sygnale zerowania, mikroprocesor z zablokowanymi przerwaniami maskowalnymi (w trybie IM 0) rozpoczyna pracę od wykonania instrukcji spod Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-5/27-

6 adresu 0 w pamięci (co nie jest regułą, bo przykładowo 8086 rusza praktycznie od końca pamięci /dokładniej 16 bajtów przed fizycznym końcem przestrzeni adresowej/). W pierwszej kolejności należy zadbać o właściwie ustawienie wskaźnika stosu SP. Stos ma typową organizację, to znaczy rośnie w dół. Każde odłożenie na stos zawartości rejestrów zmniejsza zawartość rejestru SP o 2 (każda instrukcja push i pop dotyczy pary rejestrów [BC, DE, HL, AF jako złożenie do 16- bitowego rejestru akumulatora A i rejestru wskaźników F]). Język assemblera Z80 nie odbiega od jakiegokolwiek assemblera innych procesorów. Tak jak wszędzie występują typowe dyrektywy tego języka, jak przykładowo: ORG EQU DEFS DEFB DEFW Postać wiesza programu źródłowego również ma identyczną postać. Każdy wiersza zawiera zapis instrukcji języka, która może być poprzedzona etykietą, identycznie znak średnika jest używany jako początek komentarza w programie. Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-6/27-

7 Postać instrukcji I. grupa rozkazów przesłań informacji 8-bitowych Zapis instrukcji LD reg1,reg2 LD reg,data8 LD reg,(hl) LD reg,(ix+disp) LD reg,(ix-disp) LD reg,(iy+disp) LD reg,(iy-disp) LD (HL),reg LD (IX+disp),reg LD (IX-disp),reg LD (IY+disp),reg LD (IY-disp),reg LD (HL),data8 LD (IX+disp),data8 LD (IX-disp),data8 LD (IY+disp),data8 LD (IY-disp),data8 prześlij zawartość rejestru reg2 do reg1 [reg1] <--- [reg2] wpisz do rejestru reg wartość data8 [reg] <--- data8 prześlij zawartość bajtu adresowanego przez zawartość pary rejestrów HL do rejestru reg [reg] <--- [[HL]] prześlij zawartość bajtu adresowanego przez wartość wyrażenia IX+disp lub IX-disp do rejestru reg [reg] <--- [[IX]+disp] lub [reg] <--- [[IX]-disp] prześlij zawartość bajtu adresowanego przez wartość wyrażenia IY+disp lub IY-disp do rejestru reg [reg] <--- [[IY]+disp] lub [reg] <--- [[IY]-disp] prześlij zawartość rejestru reg do pamięci pod adres określony zawartością pary rejestrów HL [[HL]] <--- [reg] prześlij zawartość rejestru reg do pamięci pod adres określony przez wartość wyrażenia IX+disp lub IX-disp [[IX]+disp] <--- [reg] lub [[IX]-disp] <--- [reg] prześlij zawartość rejestru reg do pamięci pod adres określony przez wartość wyrażenia IY+disp lub IY-disp [[IY]+disp] <--- [reg] lub [[IY]-disp] <--- [reg] wpisz wartość data8 do pamięci operacyjnej pod adres określony przez zawartość pary rejestrów HL [[HL]] <--- data8 wpisz wartość data8 do pamięci operacyjnej pod adres określony wartością wyrażenia IX+disp lub IX-disp [[IX]+disp] <--- data8 lub [[IX]-disp] <--- data8 wpisz wartość data8 do pamięci operacyjnej pod adres określony wartością wyrażenia IY+disp lub IY-disp [[IY]+disp] <-- data8 lub [[IY]-disp] <-- data8 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-7/27-

8 LD A,(BC) LD A,(DE) LD A,(adr16) LD (BC),A LD (DE),A LD (adr16),a LD A,I LD A,R LD I,A LD R,A prześlij zawartość bajtu z pamięci operacyjnej adresowanej zawartością pary rejestrów BC do akumulatora A [A] <--- [BC] prześlij zawartość bajtu z pamięci operacyjnej adresowanej zawartością pary rejestrów DE do akumulatora A [A] <--- [DE] prześlij zawartość bajtu z pamięci operacyjnej o adresie adr16 do akumulatora A [A] <--- [adr16] prześlij zawartość akumulatora A do pamięci operacyjnej pod adres określony przez zawartość pary rejestrów BC [BC] <--- [A] prześlij zawartość akumulatora A do pamięci operacyjnej pod adres określony przez zawartość pary rejestrów DE [DE] <-- [A] prześlij zawartość akumulatora A do pamięci operacyjnej o adresie adr16 [adr16] <-- [A] prześlij zawartość rejestru I do akumulatora A [A] <--- [I] prześlij zawartość rejestru R do akumulatora A [A] <--- [R] prześlij zawartość akumulatora A do rejestru I [I] <--- [A] prześlij zawartość akumulatora A do rejestru R [R] <--- [A] II. grupa rozkazów przesłań informacji 16-bitowych Zapis instrukcji LD BC,data16 LD DE,data16 LD HL,data16 LD SP,data16 wpisz do pary rejestrów BC wartość data16 [BC] <--- data16 wpisz do pary rejestrów DE wartość data16 [DE] <--- data16 wpisz do pary rejestrów HL wartość data16 [HL] <--- data16 wpisz do rejestru SP wartość data16 [SP] <--- data16 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-8/27-

9 LD IX,data16 LD IY,data16 LD HL,(adr16) LD BC,(adr16) LD DE,(adr16) LD SP,(adr16) LD IX,(adr16) LD IY,(adr16) LD (adr16),hl LD (adr16),bc LD (adr16),de LD (adr16),sp LD (adr16),ix LD (adr16),iy LD SP,HL LD SP,IX wpisz do rejestru IX wartość data16 [IX] <--- data16 wpisz do rejestru IY wartość data16 [IY] <--- data16 wpisz do pary rejestrów HL zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [HL] <--- [adr16] wpisz do pary rejestrów BC zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [BC] <--- [adr16] wpisz do pary rejestrów DE zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [DE] <--- [adr16] wpisz do rejestru SP zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [SP] <--- [adr16] wpisz do rejestru IX zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [IX] <--- [adr16] wpisz do rejestru IY zawartość dwóch bajtów pamięci operacyjnej o adresie adr16 [IY] <--- [adr16] składuj zawartość pary rejestrów HL w pamięci operacyjnej o adresie adr16 [adr16] <--- [HL] składuj zawartość pary rejestrów BC w pamięci operacyjnej o adresie adr16 [adr16] <--- [BC] składuj zawartość pary rejestrów DE w pamięci operacyjnej o adresie adr16 [adr16] <--- [DE] składuj zawartość rejestru SP w pamięci operacyjnej o adresie adr16 [adr16] <--- [SP] składuj zawartość rejestru IX w pamięci operacyjnej o adresie adr16 [adr16] <--- [IX] składuj zawartość rejestru IY w pamięci operacyjnej o adresie adr16 [adr16] <--- [IY] prześlij zawartość pary rejestrów HL do rejestru SP [SP] <--- [HL] prześlij zawartość rejestru IX do rejestru SP [SP] <--- [IX] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-9/27-

10 LD SP,IY PUSH BC PUSH DE PUSH HL PUSH AF PUSH IX PUSH IY POP BC POP DE POP HL POP AF prześlij zawartość rejestru IY do rejestru SP [SP] <--- [IY] składuj zawartość pary rejestrów BC na szczycie stosu [[SP]-1] <--- [B] [[SP]-2] <--- [C] [SP] <--- [SP]-2 składuj zawartość pary rejestrów DE na szczycie stosu [[SP]-1] <--- [D] [[SP]-2] <--- [E] [SP] <--- [SP]-2 składuj zawartość pary rejestrów HL na szczycie stosu [[SP]-1] <--- [H] [[SP]-2] <--- [L] [SP] <--- [SP]-2 składuj zawartość akumulatora A i wskaźników F na szczycie stosu [[SP]-1] <--- [A] [[SP]-2] <--- [F] [SP] <--- [SP]-2 składuj zawartość rejestru IX na szczycie stosu [[SP]-1] <--- [hi(ix)] [[SP]-2] <--- [lo(ix)] [SP] <--- [SP]-2 składuj zawartość rejestru IY na szczycie stosu [[SP]-1] <--- [hi(iy)] [[SP]-2] <--- [lo(iy)] [SP] <--- [SP]-2 odtwórz ze szczytu stosu zawartość pary rejestrów BC [C] <--- [[SP]] [B] <--- [[SP]+1] [SP] <--- [SP]+2 odtwórz ze szczytu stosu zawartość pary rejestrów DE [E] <--- [[SP]] [D] <--- [[SP]+1] [SP] <--- [SP]+2 odtwórz ze szczytu stosu zawartość pary rejestrów HL [L] <--- [[SP]] [H] <--- [[SP]+1] [SP] <--- [SP]+2 odtwórz ze szczytu stosu zawartość rejestru A i wskaźników F [F] <--- [[SP]] [A] <--- [[SP]+1] [SP] <--- [SP]+2 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-10/27-

11 POP IX POP IY odtwórz ze szczytu stosu zawartość rejestru IX [lo(ix)] <--- [[SP]] [hi(ix)] <--- [[SP]+1] [SP] <--- [SP]+2 odtwórz ze szczytu stosu zawartość rejestru IY [lo(iy)] <--- [[SP]] [hi(iy)] <--- [[SP]+1] [SP] <--- [SP]+2 III. grupa rozkazów wymiany danych, transmisji grupowych oraz wyszukiwania Zapis instrukcji EX DE,HL EX AF,AF' EX (SP),HL EX (SP),IX EX (SP),IY EXX LDI wymień zawartości par rejestrów DE i HL miedzy sobą [DE] <----> [HL] wymień zawartość akumulatora A i wskaźników F z alternatywnym akumulatorem A' i wskaźnikami F' [AF] <---> [AF'] wymień zawartość szczytu stosu z para rejestrów HL [H] <---> [[SP]+1] [L] <---> [[SP]] wymień zawartość szczytu stosu z rejestrem IX [hi(ix)] <---> [[SP]+1] [lo(ix)] <---> [[SP]] wymień zawartość szczytu stosu z rejestrem IY [hi(iy)] <---> [[SP]+1] [lo(iy)] <---> [[SP]] wymień zawartości rejestrów B,C,D,E,H,L z zestawem alternatywnym [BC] <---> [BC'] [DE] <---> [DE'] [HL] <---> [HL'] przepisz jeden bajt z pamięci o adresie zawartym w parze rejestrów HL do pamięci o adresie zawartym w parze rejestrów DE, zwiększ zawartości rejestrów HL i DE oraz zmniejsz zawartość rejestru BC o jeden [[DE]] <--- [[HL]] [DE] <--- [DE]+1 [HL] <--- [HL]+1 [BE] <--- [BC]-1 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-11/27-

12 LDIR LDD LDDR CPI CPIR CPD przepisz blok pamięci o wielkości określonej zawartością pary rejestrów BC spod adresu określonego zawartością pary rejestrów HL do pamięci określonej zawartością pary rejestrów DE, powtarzaj aż do [BC]=0 [[DE]] <--- [[HL]] [DE] <--- [DE]+1 [HL] <--- [HL]+1 [BC] <--- [BC]-1 przepisz jeden bajt z pamięci o adresie zawartym w parze rejestrów HL do pamięci o adresie zawartym w parze rejestrów DE, zmniejsz zawartości rejestrów HL i DE oraz zmniejsz zawartość rejestru BC o jeden [[DE]] <--- [[HL]] [DE] <--- [DE]-1 [HL] <--- [HL]-1 [BE] <--- [BC]-1 przepisz blok pamięci o wielkości określonej zawartością pary rejestrów BC spod adresu określonego zawartością pary rejestrów HL do pamięci określonej zawartością pary rejestrów DE, powtarzaj aż do [BC]=0 [[DE]] <--- [[HL]] [DE] <--- [DE]-1 [HL] <--- [HL]-1 [BC] <--- [BC]-1 porównaj (ustawiając tylko wskaźniki) zawartość akumulatora A z zawartością pamięci o adresie określonym zawartością pary rejestrów HL, zwiększ zawartość pary rejestrów HL i zmniejsz zawartość pary rejestrów BC o jeden [A] - [[HL]] [HL] <--- [HL]+1 [BC] <--- [BC]-1 poszukaj w bloku pamięci o adresie określonym zawartością pary rejestrów HL i wielkości określonej zawartością pary rejestrów BC bajtu o wartości określonej zawartością akumulatora A powtarzaj aż do [A] = [[HL]] lub [BC]=0 [A] - [[HL]] [HL] <--- [HL]+1 [BC] <--- [BC]-1 porównaj (ustawiając tylko wskaźniki) zawartość akumulatora A z zawartością pamięci o adresie określonym zawartością pary rejestrów HL, zmniejsz zawartość pary rejestrów HL i BC o jeden [A] - [[HL]] [HL] <--- [HL]-1 [BC] <--- [BC]-1 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-12/27-

13 CPDR Zapis instrukcji poszukaj w bloku pamięci o adresie określonym zawartością pary rejestrów HL i wielkości określonej zawartością pary rejestrów BC bajtu o wartości określonej zawartością akumulatora A powtarzaj aż do [A] = [[HL]] lub [BC]=0 [A] - [[HL]] [HL] <--- [HL]-1 [BC] <--- [BC]-1 IV. grupa rozkazów arytmetycznych i logicznych na danych 8-bitowych Zapis instrukcji ADD reg ADD data8 ADD (HL) ADD (IX+disp) ADD (IX-disp) ADD (IY+disp) ADD (IY-disp) ADC reg ADC data8 ADC (HL) ADC (IX+disp) ADC (IX-disp) dodaj do zawartości akumulatora A zawartość rejestru reg [A] <--- [A]+[reg] dodaj do zawartości akumulatora A wartość data8 [A] <--- [A]+data8 dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej zawartością pary rejestrów HL [A] <--- [A]+[[HL]] dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp [A] <--- [A]+[[IX]+disp] LUB [A] <--- [A]+[[IX]-disp] dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp [A] <--- [A]+[[IY]+disp] LUB [A] <--- [A]+[[IY]-disp] dodaj do zawartości akumulatora A zawartość rejestru reg z uwzględnieniem zawartości wskaźnika C [A] <--- [A]+[reg]+C dodaj do zawartości akumulatora A wartość data8 z uwzględnieniem zawartości wskaźnika C [A] <--- [A]+data8+C dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej przez zawartość pary rejestrów HL z uwzględnieniem zawartości wskaźnika C [A] <--- [A]+[[HL]]+C dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażeniem IX+disp lub IX-disp z uwzględnieniem zawartości wskaźnika C [A] <--- [A]+[[IX]+disp] lub [A] <--- [A]+[[IX]-disp] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-13/27-

14 ADC (IY+disp) ADC (IY-disp) SUB reg SUB data8 SUB (HL) SUB (IX+disp) SUB (IX-disp) SUB (IY+disp) SUB (IY-disp) SBC reg SBC data8 SBC (HL) SBC (IX+disp) SBC (IX-disp) SBC (IY+disp) SBC (IY-disp) AND reg dodaj do zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp z uwzględnieniem zawartości wskaźnika C [A] <--- [A]+[[IY]+disp] lub [A] <--- [A]+[[IY]-disp] odejmij od zawartości akumulatora A zawartość rejestru reg [A] <--- [A]-[reg] odejmij od zawartości akumulatora A wartość data8 [A] <--- [A]-data8 odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej zawartością pary rejestrów HL [A] <--- [A]-[[HL]] odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp [A] <--- [A]-[[IX]+disp] lub [A] <--- [A]-[[IX]-disp] odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp [A] <--- [A]-[[IY]+disp] lub [A] <--- [A]-[[IY]-disp] odejmij od zawartości akumulatora A zawartość rejestru reg z uwzględnieniem zawartości wskaźnika C [A] <--- [A]-[reg]-C odejmij od zawartości akumulatora A wartość data8 z uwzględnieniem zawartości wskaźnika C [A] <--- [A]-data8-C odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej przez zawartość pary rejestrów HL z uwzględnieniem zawartości wskaźnika C [A] <--- [A]-[[HL]]-C odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp z uwzględnieniem zawartości wskaźnika C [A] <--- [A]-[[IX]+disp]-C lub [A] <--- [A]-[[IX]-disp]-C odejmij od zawartości akumulatora A zawartość pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp z uwzględnieniem zawartości wskaźnika C [A] <--- [A]-[[IY]+disp]-C lub [A] <--- [A]-[[IY]-disp]-C wykonaj iloczyn logiczny zawartości akumulatora A z zawartością rejestru reg [A] <--- [A] AND [reg] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-14/27-

15 AND data8 AND (HL) AND (IX+disp) AND (IX-disp) AND (IY+disp) AND (IY-disp) OR reg OR data8 OR (HL) OR (IX+disp) OR (IX-disp) OR (IY+disp) OR (IY-disp) XOR reg XOR data8 wykonaj iloczyn logiczny zawartości akumulatora A z wartością data8 [A] <--- [A] AND data8 wykonaj iloczyn logiczny zawartości akumulatora A z zawartością pamięci operacyjnej adresowanej zawartością pary rejestrów HL [A] <--- [A] AND [[HL]] wykonaj iloczyn logiczny zawartości akumulatora A z zawartością pamięci operacyjnej adresowanej wartością wyrażeniem IX+disp lub IX-disp [A] <--- [A] AND [[IX]+disp] lub [A] <--- [A] AND [[IX]-disp] wykonaj iloczyn logiczny zawartości akumulatora A z zawartością pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp [A] <--- [A] AND [[IY]+disp] lub [A] <--- [A] AND [[IY]-disp] wykonaj sumę logiczna zawartości akumulatora z zawartością rejestru reg [A] <--- [A] OR [reg] wykonaj sumę logiczna zawartości akumulatora z wartością data8 [A] <--- [A] OR data8 wykonaj sumę logiczna zawartości akumulatora z zawartością pamięci operacyjnej adresowanej zawartością pary rejestrów HL [A] <--- [A] OR [[HL]] wykonaj sumę logiczna zawartości akumulatora z zawartością pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp [A] <--- [A] OR [[IX]+disp] lub [A] <--- [A] OR [[IX]+disp] wykonaj sumę logiczna zawartości akumulatora z zawartością pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp [A] <--- [A] OR [[IX]+disp] lub [A] <--- [A] OR [[IX]+disp] wykonaj operacje EX-OR na zawartości akumulatora A i rejestru reg [A] <--- [A] XOR [reg] wykonaj operacje EX-OR na zawartości akumulatora A i wartości data8 [A] <--- [A] XOR data8 XOR (HL) wykonaj operacje EX-OR na zawartości akumulatora A i bajtu pamięci operacyjnej o adresie zawartym w HL [A] <--- [A] XOR [[HL]] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-15/27-

16 XOR (IX+disp) XOR (IX-disp) XOR (IY+disp) XOR (IY-disp) CP reg CP data8 CP (HL) CP (IX+disp) CP (IX-disp) CP (IY+disp) CP (IY-disp) INC reg INC (HL) INC (IX+disp) INC (IX-disp) INC (IY+disp) INC (IY-disp) wykonaj operacje EX-OR na zawartości akumulatora A i bajtu pamięci operacyjnej o adresie określonym wartością wyrażenia IX+disp lub IX-disp [A] <--- [A] XOR [[IX]+disp] lub [A] <--- [A] XOR [[IX]+disp] wykonaj operacje EX-OR na zawartości akumulatora A i bajtu pamięci operacyjnej o adresie określonym wartością wyrażenia IY+disp lub IY-disp [A] <--- [A] XOR [[IY]+disp] lub [A] <--- [A] XOR [[IY]+disp] wykonaj porównanie (tylko ustawienie wskaźników) zawartości akumulatora A i rejestru reg [A] - [reg] wykonaj porównanie (tylko ustawienie wskaźników) zawartości akumulatora A i wartości data8 [A] - data8 wykonaj porównanie (tylko ustawienie wskaźników) zawartości akumulatora A i bajtu pamięci o adresie zawartym w rejestrze HL [A] - [[HL]] wykonaj porównanie (tylko ustawienie wskaźników) zawartości akumulatora A i bajtu pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp [A] - [[IX]+disp] lub [A] - [[IX]-disp] wykonaj porównanie (tylko ustawienie wskaźników) zawartości akumulatora A i bajtu pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp [A] - [[IY]+disp] lub [A] - [[IY]-disp] zwiększ zawartość rejestru reg o jeden [reg] <--- [reg]+1 zwiększ zawartość bajtu pamięci operacyjnej adresowanej zawartością pary rejestrów HL o jeden [[HL]] <--- [[HL]]+1 zwiększ zawartość bajtu pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp o jeden [[IX]+disp] <--- [[IX]+disp]+1 lub [[IX]-disp] <--- [[IX]-disp]+1 zwiększ zawartość bajtu pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp o jeden [[IX]+disp] <--- [[IX]+disp]+1 lub [[IX]-disp] <--- [[IX]-disp]+1 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-16/27-

17 DEC reg DEC (HL) DEC (IX+disp) DEC (IX-disp) DEC (IY+disp) DEC (IY-disp) zmniejsz zawartość rejestru reg o jeden [reg] <--- [reg]-1 zmniejsz zawartość bajtu pamięci operacyjnej adresowanej zawartością pary rejestrów HL o jeden [[HL]] <--- [[HL]]-1 zmniejsz zawartość bajtu pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp o jeden [[IX]+disp] <--- [[IX]+disp]-1 lub [[IX]-disp] <--- [[IX]-disp]-1 zmniejsz zawartość bajtu pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp o jeden [[IX]+disp] <--- [[IX]+disp]-1 lub [[IX]-disp] <--- [[IX]-disp]-1 V. grupa rozkazów kontrolnych jednostki arytmetyczno-logicznej oraz arytmetycznych ogólnego stosowania DAA CPL NEG CCF SCF NOP HALT DI EI Zapis instrukcji wykonaj korekcje dziesiętna zawartości akumulatora A zaneguj (logicznie odwróć bity) zawartość akumulatora A zaneguj (arytmetycznie) zawartość akumulatora A zaneguj zawartość wskaźnika C ustaw wskaźnik C instrukcja pusta zatrzymaj wykonywanie programu zabroń przyjmowanie niemaskowalnych przerwań zewnętrznych zezwol na przyjmowanie niemaskowalnych przerwań zewnętrznych IM 0 ustaw tryb przerwań zewnętrznych na 0 IM 1 ustaw tryb przerwań zewnętrznych na 1 IM 2 ustaw tryb przerwań zewnętrznych na 2 VI. grupa rozkazów arytmetycznych 16-bitowych Zapis instrukcji ADD HL,BC ADD HL,DE dodaj do zawartości pary rejestrów HL zawartość pary rejestrów BC [HL] <--- [HL]+[BC] dodaj do zawartości pary rejestrów HL zawartość pary rejestrów DE [HL] <--- [HL]+[DE] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-17/27-

18 ADD HL,HL ADD HL,SP ADC HL,BC ADC HL,DE ADC HL,HL ADC HL,SP SBC HL,BC SBC HL,DE SBC HL,HL SBC HL,SP ADD IX,BC ADD IX,DE ADD IX,IX ADD IX,SP ADD IY,BC ADD IY,DE dodaj do zawartości pary rejestrów HL zawartość pary rejestrów HL [HL] <--- [HL]+[HL] dodaj do zawartości pary rejestrów HL zawartość wskaźnika stosu SP [HL] <--- [HL]+[SP] dodaj do zawartości pary rejestrów HL zawartość pary rejestrów BC z uwzględnieniem przeniesienia C [HL] <--- [HL]+[BC]+C dodaj do zawartości pary rejestrów HL zawartość pary rejestrów DE z uwzględnieniem przeniesienia C [HL] <--- [HL]+[DE]+C dodaj do zawartości pary rejestrów HL zawartość pary rejestrów HL z uwzględnieniem przeniesienia C [HL] <--- [HL]+[HL]+C dodaj do zawartości pary rejestrów HL zawartość wskaźnika stosu SP z uwzględnieniem przeniesienia C [HL] <--- [HL]+[SP]+C odejmij od zawartości pary rejestrów HL zawartość pary rejestrów BC z uwzględnieniem zawartości wskaźnika C [HL] <--- [HL]-[BC]-C odejmij od zawartości pary rejestrów HL zawartość pary rejestrów DE z uwzględnieniem zawartości wskaźnika C [HL] <--- [HL]-[DE]-C odejmij od zawartości pary rejestrów HL zawartość pary rejestrów HL z uwzględnieniem zawartości wskaźnika C [HL] <--- [HL]-[HL]-C odejmij od zawartości pary rejestrów HL zawartość wskaźnika stosu SP z uwzględnieniem zawartości wskaźnika C [HL] <--- [HL]-[SP]-C dodaj do zawartości rejestru IX zawartość pary rejestrów BC [IX] <--- [IX]-[BC] dodaj do zawartości rejestru IX zawartość pary rejestrów DE [IX] <--- [IX]-[DE] dodaj do zawartości rejestru IX zawartość rejestru IX [IX] <--- [IX]-[IX] dodaj do zawartości rejestru IX zawartość wskaźnika stosu SP [IX] <--- [IX]-[SP] dodaj do zawartości rejestru IY zawartość pary rejestrów BC [IY] <--- [IY]-[BC] dodaj do zawartości rejestru IY zawartość pary rejestrów DE [IY] <--- [IY]-[DE] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-18/27-

19 ADD IY,IY ADD IY,SP INC BC INC DE INC HL INC SP INC IX INC IY DEC BC DEC DE DEC HL DEC SP DEC IX DEC IY dodaj do zawartości rejestru IY zawartość rejestru IY [IY] <--- [IY]-[IY] dodaj do zawartości rejestru IY zawartość wskaźnika stosu SP [IY] <--- [IY]-[SP] zwiększ zawartość pary rejestrów BC o jeden [BC] <--- [BC]+1 zwiększ zawartość pary rejestrów DE o jeden [DE] <--- [DE]+1 zwiększ zawartość pary rejestrów HL o jeden [HL] <--- [HL]+1 zwiększ zawartość wskaźnika stosu SP o jeden [SP] <--- [SP]+1 zwiększ zawartość rejestru IX o jeden [IX] <--- [IX]+1 zwiększ zawartość rejestru IY o jeden [IY] <--- [IY]+1 zmniejsz zawartość pary rejestrów BC o jeden [BC] <--- [BC]-1 zmniejsz zawartość pary rejestrów DE o jeden [DE] <--- [DE]-1 zmniejsz zawartość pary rejestrów HL o jeden [HL] <--- [HL]-1 zmniejsz zawartość wskaźnika stosu SP o jeden [SP] <--- [SP]-1 zmniejsz zawartość rejestru IX o jeden [IX] <--- [IX]-1 zmniejsz zawartość rejestru IY o jeden [IY] <--- [IY]-1 VII. grupa rozkazów przesunięć RLCA Zapis instrukcji przesuń zawartość akumulatora A w lewo C < < [A] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-19/27-

20 RLA Zapis instrukcji przesuń zawartość akumulatora A w lewo C < < [A] RRCA przesuń zawartość akumulatora A w prawo > > C [A] RRA RLC reg RLC (HL) RLC (IX+disp) RLC (IX-disp) RLC (IY+disp) RLC (IY-disp) przesuń zawartość akumulatora A w prawo > > C [A] przesuń zawartość rejestru reg w lewo C < < [reg] przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w lewo C < [[HL]] < przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w lewo C < < [[IX]+disp] lub [[IX]-disp] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w lewo C < < [[IY]+disp] lub [[IY]-disp] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-20/27-

21 RL reg RL (HL) RL (IX+disp) RL (IX-disp) RL (IY+disp) RL (IY-disp) RRC reg przesuń zawartość rejestru reg w lewo C < < [reg] przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w lewo C < [[HL]] < przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w lewo C < < [[IX]+disp] lub [[IX]-disp] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w lewo C < < [[IY]+disp] lub [[IY]-disp] przesuń zawartość rejestru reg w prawo > > C [reg] RRC (HL) przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w prawo > > C [[HL]] RRC (IX+disp) RRC (IX-disp) przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp ub IX-disp w prawo > > C [[IX]+disp] lub [[IX]-disp] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-21/27-

22 RRC (IY+disp) RRC (IY-disp) RR reg RR (HL) RR (IX+disp) RR (IX-disp) RR (IY+disp) RR (IY-disp) SLA reg SLA (HL) przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w prawo > > C [[IY]+disp] lub [[IY]-disp] przesuń zawartość rejestru reg w prawo > > C [reg] przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w prawo > > C [[HL]] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w prawo > > C [[IX]+disp] lub [[IX]-disp] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w prawo > > C [[IY]+disp] lub [[IY]-disp] przesuń zawartość rejestru reg w lewo C < < 0 [reg] przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w lewo C < < 0 [[HL]] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-22/27-

23 SLA (IX+disp) SLA (IX-disp) SLA (IY+disp) SLA (IY-disp) SRA reg SRA (HL) SRA (IX+disp) SRA (IX-disp) SRA (IY+disp) SRA (IY-disp) SRL reg SRL (HL) przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w lewo C < < 0 [[IX]+disp] lub [[IX]-disp] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w lewo C < < 0 [[IY]+disp] lub [[IY]-disp] przesuń arytmetycznie zawartość rejestru reg w prawo > C [reg] przesuń arytmetycznie zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w prawo > C [[HL]] przesuń arytmetycznie zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w prawo > C [[IX]+disp] lub [[IX]-disp] przesuń arytmetycznie zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w prawo > C [[IY]+disp] lub [[IY]-disp] przesuń zawartość rejestru reg w prawo 0 > > C [reg] przesuń zawartość komórki pamięci o adresie określonym zawartością pary rejestrów HL w prawo 0 > > C [[HL]] Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-23/27-

24 SRL (IX+disp) SRL (IX-disp) SRL (IY+disp) SRL (IY-disp) RLD RRD przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IX+disp lub IX-disp w prawo 0 > > C [[IX]+disp] lub [[IX]-disp] przesuń zawartość komórki pamięci o adresie określonym wartością wyrażenia IY+disp lub IY-disp w prawo 0 > > C [[IY]+disp] [[IY]-disp] przesuń cyfrę BCD w lewo przesuń cyfrę BCD w prawo VIII. grupa rozkazów ustawiających, zerujących i testujących bity Zapis instrukcji BIT b,reg BIT b,(hl) BIT b,(ix+disp) BIT b,(ix-disp) BIT b,(iy+disp) BIT b,(iy-disp) SET b,reg SET b,(hl) SET b,(ix+disp) SET b,(ix-disp) SET b,(iy+disp) SET b,(iy-disp) RES b,reg RES b,(hl) RES b,(ix+disp) RES b,(ix-disp) RES b,(iy+disp) RES b,(iy-disp) testuj stan bitu b w rejestrze reg testuj stan bitu b bajtu w pamięci operacyjnej adresowanej zawartością pary rejestrów HL testuj stan bitu b bajtu w pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp testuj stan bitu b bajtu w pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp ustaw bit b w rejestrze reg ustaw bit b w bajcie pamięci operacyjnej adresowanej zawartością pary rejestrów HL ustaw bit b w bajcie pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp ustaw bit b w bajcie pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp zeruj bit b w rejestrze reg zeruj bit b w bajcie pamięci operacyjnej adresowanej zawartością pary rejestrów HL zeruj bit b w bajcie pamięci operacyjnej adresowanej wartością wyrażenia IX+disp lub IX-disp zeruj bit b w bajcie pamięci operacyjnej adresowanej wartością wyrażenia IY+disp lub IY-disp IX. grupa rozkazów skoków Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-24/27-

25 JP adr16 JP NZ,adr16 JP Z,adr16 JP NC,adr16 JP C,adr16 JP PO,adr16 JP PE,adr16 JP P,adr16 JP M,adr16 JR ee JR C,ee JR NC,ee JR Z,ee JR NZ,ee DJNZ ee JP (HL) JP (IX) JP (IY) wykonaj bezwarunkowy skok bezwzględny do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 wykonaj warunkowy skok do adresu adr16 Wykonaj warunkowy skok do adresu adr16 wykonaj bezwarunkowy skok względny o ee wykonaj warunkowy skok względny o ee wykonaj warunkowy skok względny o ee wykonaj warunkowy skok względny o ee wykonaj warunkowy skok względny o ee zmniejsz zawartość rejestru B o jeden i wykonaj warunkowy skok względny o ee wykonaj skok bezwarunkowy do adresu określonego zawartością pary rejestrów HL wykonaj skok bezwarunkowy do adresu określonego zawartością rejestru IX wykonaj skok bezwarunkowy do adresu określonego zawartością rejestru IY X. grupa rozkazów wywołania i powrotu z podprogramu Zapis instrukcji CALL adr16 CALL NZ,adr16 CALL Z,adr16 CALL NC,adr16 CALL C,adr16 CALL PO,adr16 CALL PE,adr16 CALL P,adr16 wywołaj bezwarunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 wywołaj warunkowo podprogram o adresie adr16 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-25/27-

26 CALL M,adr16 RET RET NZ RET Z RET NC RET C RET PO RET PE RET P RET M RETI RETN RST Q wywołaj warunkowo podprogram o adresie adr16 wróć bezwarunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć warunkowo z podprogramu wróć z procedury obsługi przerwania maskowalnego wróć z procedury obsługi przerwania niemaskowalnego wykonaj restart z punktem wejścia Q XI. grupa rozkazów wejścia-wyjścia Zapis instrukcji IN A,(port) IN reg,(c) INI INIR IND wczytaj bajt z portu o adresie port do akumulatora [A] <--- [port] wczytaj bajt z portu o adresie zawartym w rejestrze C do rejestru reg [reg] <--- [[C]] wczytaj bajt z portu o adresie zawartym w rejestrze C do bufora określonego zawartością pary rejestrów HL [[HL]] <--- [[C]] [B] <--- [B]-1 [HL] <--- [HL]+1 wczytaj blok danych z portu o adresie zawartym w rejestrze C do bufora określonego zawartością pary rejestrów HL powtarzaj aż do [B] = 0 [[HL]] <--- [[C]] [B] <--- [B]-1 [HL] <--- [HL]+1 wczytaj bajt z portu o adresie zawartym w rejestrze C do bufora określonego zawartością pary rejestrów HL [[HL]] <--- [[C]] [B] <--- [B]-1 [HL] <--- [HL]-1 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-26/27-

27 INDR OUT (port),a OUT (C),reg OUTI OTIR OUTD OTDR wczytaj blok danych z portu o adresie zawartym w rejestrze C do bufora określonego zawartością pary rejestrów HL powtarzaj aż do [B] = 0 [[HL]] <--- [[C]] [B] <--- [B]-1 [HL] <--- [HL]-1 wyślij zawartość akumulatora A do portu o adresie port [port] <--- [A] wyślij zawartość rejestru reg do portu o adresie zawartym w rejestrze C wyślij bajt z pamięci o adresie zawartym parze rejestrów HL do portu o adresie zawartym w rejestrze C [[C]] <--- [[HL]] [B] <--- [B]-1 [HL] <--- [HL]+1 wyślij blok z pamięci o adresie zawartym parze rejestrów HL do portu o adresie zawartym w rejestrze C powtarzaj aż do [B] = 0 [[C]] <--- [[HL]] [B] <--- [B]-1 [HL] <--- [HL]+1 wyślij bajt z pamięci o adresie zawartym parze rejestrów HL do portu o adresie zawartym w rejestrze C [[C]] <--- [[HL]] [B] <--- [B]-1 [HL] <--- [HL]-1 wyślij blok z pamięci o adresie zawartym parze rejestrów HL do portu o adresie zawartym w rejestrze C powtarzaj aż do [B] = 0 [[C]] <--- [[HL]] [B] <--- [B]-1 [HL] <--- [HL]-1 Po bliższe i bardziej szczegółowe informacje dotyczące listy instrukcji należy sięgnąć do Z80 Family: CPU User Manual. Znana mi literatura w języku polskim dotycząca procesora to: 1. Praca zbiorowa, Modułowe systemy mikroprocesorowe, Wydawnictwa Naukowo-Techniczne, Warszawa Jerzy Karczmarczuk, Mikroprocesor Z80, Wydawnictwa Naukowo- Techniczne, Warszawa 1987 Elportal Elektroniki dla wszystkich - Gaweł: Architektura mikroprocesorów Z80-27/27-

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura komputerów. Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Programowanie mikrokontrolerów (CISC)

Programowanie mikrokontrolerów (CISC) Repertuar instrukcji Operacje arytmetyczne Operacje logiczne Operacje logiczne na bitach Przesyłanie danych Operacje sterujące (skoki) NOTACJA: Rr rejestry R0... R7 direct - wewnętrzny RAM oraz SFR @Ri

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051

Lista rozkazów mikrokontrolera 8051 Lista rozkazów mikrokontrolera 8051 Spis treści: Architektura mikrokontrolera Rozkazy Architektura mikrokontrolera Mikrokontroler 8051 posiada trzy typy pamięci: układ zawiera pamięć wewnętrzną (On-Chip

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat

Bardziej szczegółowo

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz] Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 1

Technika mikroprocesorowa I Wykład 1 Technika mikroprocesorowa I Wykład 1 Układy mikroprocesorowe. Przykłady rozwiązań Autor: Bartłomiej Zieliński Układy mikroprocesorowe Ryszard Krzyżanowski Mikroprocesor Z80 Jerzy Karczmarczuk "Układy mikroprocesorowe

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel Podstawy techniki mikroprocesorowej Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel. 071 3203746 grzegorz.kosobudzki@pwr.wroc.pl 2 Terminy zajęć Wykłady: niedziela 7.30 12.00 s.312 Kolokwium przedostatnie

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor. Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Programowanie mikrokontrolera 8051

Programowanie mikrokontrolera 8051 Programowanie mikrokontrolera 8051 Podane poniżej informacje mogą pomóc w nauce programowania mikrokontrolerów z rodziny 8051. Opisane są tu pewne specyficzne cechy tych procesorów a także podane przykłady

Bardziej szczegółowo

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe Ryszard J. Barczyński, 2009 2013 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu

Bardziej szczegółowo

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze

Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 1

Technika mikroprocesorowa I Wykład 1 Technika mikroprocesorowa I Wykład 1 Układy mikroprocesorowe. Przykłady rozwiązań Autor: Bartłomiej Zieliński Układy mikroprocesorowe Ryszard Krzyżanowski Mikroprocesor Z80 Jerzy Karczmarczuk "Układy mikroprocesorowe

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

dr inż. Rafał Klaus Zajęcia finansowane z projektu Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle POKL Architektura komputerów wprowadzenie materiał do wykładu 3/3 dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Asembler - język maszynowy procesora

Asembler - język maszynowy procesora UWAGA! Treść niniejszego dokumentu powstała na podstawie cyklu artykułów pt. Mikrokontrolery? To takie proste zamieszczonych w czasopiśmie Elektronika dla Wszystkich. Asembler - język maszynowy procesora

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzęt i architektura komputerów Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I

Bardziej szczegółowo

Techniki mikroprocesorowe i systemy wbudowane

Techniki mikroprocesorowe i systemy wbudowane Techniki mikroprocesorowe i systemy wbudowane Wykład 1 Procesory rodziny AVR ATmega. Wstęp Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy Wydział

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Architektura systemów komputerowych

Architektura systemów komputerowych Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych Architektura systemów komputerowych dr Artur Bartoszewski Procesor część I 1. ALU 2. Cykl rozkazowy 3. Schemat

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936) Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?

Bardziej szczegółowo

Mikrokontrolery czyli o czym to będzie...

Mikrokontrolery czyli o czym to będzie... Mikrokontrolery czyli o czym to będzie... Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego PNPiM Poznamy: Cechy

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej - Laboratorium Ćwiczenie A

Podstawy Techniki Mikroprocesorowej - Laboratorium Ćwiczenie A Podstawy Techniki Mikroprocesorowej - Laboratorium Ćwiczenie A Temat: Mikroprocesor Z80 Cel i przebieg ćwiczenia: Ćwiczenie wprowadzające do cyklu zajęć z Dydaktycznym Systemem Mikroprocesorowym (DSM).

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

Podstawy Techniki Mikroprocesorowej Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja

Bardziej szczegółowo

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

Programowanie w językach asemblera i C

Programowanie w językach asemblera i C Programowanie w językach asemblera i C Mariusz NOWAK Programowanie w językach asemblera i C (1) 1 Dodawanie dwóch liczb - program Napisać program, który zsumuje dwie liczby. Wynik dodawania należy wysłać

Bardziej szczegółowo

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla Asembler A51 1. Symbole Nazwy symboliczne Symbol jest nazwą, która może być użyta do reprezentowania wartości stałej numerycznej, wyrażenia, ciągu znaków (tekstu), adresu lub nazwy rejestru. Nazwy symboliczne

Bardziej szczegółowo

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak TMiK Podstawy Techniki Mikroprocesorowej Materiały pomocnicze do wykładu Lidia Łukasiak 1 Treść przedmiotu Wprowadzenie System mikroprocesorowy Mikroprocesor - jednostka centralna Rodzaje pamięci Mikrokontrolery

Bardziej szczegółowo

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Jednostka centralna procesor (CPU, rdzeń) Schemat blokowy procesora rdzeniowego ATmega16 Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu. Zadania JC: dostęp do pamięci,

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ Jednostka centralna dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Architektura i organizacja komputerów Architektura

Bardziej szczegółowo

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia Podstawy techniki cyfrowej i mikroprocesorowej II Urządzenia wejścia-wyjścia Tomasz Piasecki magistrala procesor pamięć wejście wyjście W systemie mikroprocesorowym CPU może współpracować za pośrednictwem

Bardziej szczegółowo

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86 Wprowadzenie do Architektury komputerów Asembler procesorów rodziny x86 Budowa procesora rodziny x86 Rejestry procesora 8086 ogólnego przeznaczenia Dla procesorów 32-bitowych: EAX, EBX, ECX, EDX Dla procesorów

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 8 Jan Kazimirski 1 Assembler x86 2 Podstawowe instrukcje x86 Instrukcje transferu danych Arytmetyka binarna i dziesiętna Instrukcje logiczne Instrukcje sterujące wykonaniem

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Mikroprocesory rodziny INTEL 80x86

Mikroprocesory rodziny INTEL 80x86 Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Technika mikroprocesorowa Instrukcja 3 Stos i podprogramy Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm ver.

Bardziej szczegółowo

Architektura komputerów wer. 7

Architektura komputerów wer. 7 Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik

Bardziej szczegółowo

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach mikrokontrolery mikroprocesory Technika mikroprocesorowa Linia rozwojowa procesorów firmy Intel w latach 1970-2000 W krótkim pionierskim okresie firma Intel produkowała tylko mikroprocesory. W okresie

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 2 Cel ćwiczenia: zapoznanie się z nowymi metodami adresowania portów, urządzeń do nich podpiętych (adresowanie pośrednie, bezpośrednie, rejestrowe) oraz poznanie struktury wewnętrznej pamięci

Bardziej szczegółowo

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Technika Mikroprocesorowa II Wykład 1

Technika Mikroprocesorowa II Wykład 1 Technika Mikroprocesorowa II Wykład Literatura: Mikroprocesor Motorola (Freescale) M68008 Mikroprocesor 68008 jest 8-mio bitowym (zewnętrzna magistrala danych) przedstawicielem mikroprocesorów o architekturze

Bardziej szczegółowo

Mikrokontrolery AVR ATmega

Mikrokontrolery AVR ATmega Mikrokontrolery AVR ATmega Literatura: 8-bit Microcontroller AVR with 32KBytes In-System Programmable Flash ATmega32 [www.atmel.com] 8-bit AVR Instruction Set [www.atmel.com] Baranowski Rafał, Mikrokontrolery

Bardziej szczegółowo

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo