Urządzenia zewnętrzne

Podobne dokumenty
Dekodery 1/15. Konstrukcje dekoderów Wykorzystanie dekoderów

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Technika mikroprocesorowa I Wykład 3

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

WPROWADZENIE Mikrosterownik mikrokontrolery

Architektura komputerów. Układy wejścia-wyjścia komputera

Urządzenia wejścia-wyjścia

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

Mikroprocesor Operacje wejścia / wyjścia

Układy wejścia/wyjścia

Urządzenia zewnętrzne

Przykładowe pytania DSP 1

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

Architektura komputera

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

System mikroprocesorowy i peryferia. Dariusz Chaberski

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 3

Mikrokontroler 80C51

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]

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

ARCHITEKTURA PROCESORA,

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Technika Mikroprocesorowa

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

Architektura komputerów

Język FBD w systemie Concept

Działanie systemu operacyjnego

Stronicowanie w systemie pamięci wirtualnej

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

Działanie systemu operacyjnego

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

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

Opracował: Jan Front

Budowa systemów komputerowych

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

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

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Organizacja typowego mikroprocesora

Systemy mikroprocesorowe. Literatura podręcznikowa. Przedmioty związane. Przykłady systemów wbudowanych. Pojęcie systemu wbudowanego embedded system

PROCESORY SYGNAŁOWE - LABORATORIUM. Ćwiczenie nr 03

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

dr inż. Jarosław Forenc

MIKROKONTROLERY I MIKROPROCESORY

Architektura komputerów Wykład 2

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Systemy wbudowane. Paweł Pełczyński

URZĄDZENIA WEJŚCIA-WYJŚCIA

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

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

Dodatek D. Układ współpracy z klawiaturą i wyświetlaczem 8279

Technologie informacyjne (2) Zdzisław Szyjewski

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Działanie systemu operacyjnego

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Architektura mikroprocesorów TEO 2009/2010

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Ćwiczenie 7 Matryca RGB

Wykład Mikroprocesory i kontrolery

PL B1. Akademia Górniczo-Hutnicza im. St. Staszica,Kraków,PL BUP 24/01. Wiesław Wajs,Kraków,PL

Temat: Pamięci. Programowalne struktury logiczne.

Kurs Podstawowy S7. Spis treści. Dzień 1

Zasady wykonywania programu drabinkowego w sterowniku

Architektura komputerów

Architektura komputerów. Asembler procesorów rodziny x86

Lista instrukcji mikroprocesora Programowanie w assemblerze

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Podstawy Techniki Mikroprocesorowej - Laboratorium Ćwiczenie A

KOMPUTEROWE SYSTEMY POMIAROWE

2. Architektura mikrokontrolerów PIC16F8x... 13

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Działanie systemu operacyjnego

Magistrala systemowa (System Bus)

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

Wyjście do drukarki Centronix

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Kurs Zaawansowany S7. Spis treści. Dzień 1

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

MIKROPROCESORY architektura i programowanie

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Struktura i działanie jednostki centralnej

Struktura systemu mikroprocesorowego

Projektowanie. Projektowanie mikroprocesorów

Architektura potokowa RISC

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Pamięci półprzewodnikowe

Transkrypt:

Urządzenia zewnętrzne

Urządzenia zewnętrzne 1/31 Adresowanie Metody obsługi Buforowanie informacji

Urządzenia zewnętrzne - adresowanie 2/31 Sposoby adresowania urządzeń we/wy Adresowanie jednolite z pamięcią (ang. memory-mapped): stosowane w małych systemach lub tam gdzie przestrzeń adresowa pamięci nie jest w pełni wykorzystana, a więc: - brak moŝliwości późniejszej rozbudowy PAO; umoŝliwia dostęp do urz. we/wy tymi samymi rozkazami co do zwykłych komórek pamięci, a więc: - większa gama rozkazów; - rozkazy mogą być wykonywane szybciej (procesory uniwersalne); jako sygnały strobów stosuje się linie: /MREQ, /RD albo /WR (/MEMR albo /MEMW).

Urządzenia zewnętrzne - adresowanie 3/31 Przykład realizacji adresowania jednolitego: A[0..15] A12 A13 A14 A15 /MREQ VCC 1 2 3 4 5 6 A B C 74LS138 E1 E2 E3 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 9 7 /CSROM /CSRAM /CSIO3 /CSIO2 /CSIO1 0000h 1000h 2000h 4FFFh 5xxxh 6xxxh 7xxxh 8000h EPROM RAM I/O3 I/O2 I/O1 FFFFh

Urządzenia zewnętrzne - adresowanie 4/31 Adresowanie rozdzielone z pamięcią (ang. isolated i/o): stosowane w duŝych systemach, systemach modułowych lub tam gdzie przestrzeń adresowa pamięci jest w pełni wykorzystana, a więc: - moŝliwość późniejszej rozbudowy PAO; dostęp do urz. we/wy wymaga uŝycia odrębnych rozkazów z grupy we-wy, a więc zwykle: - mała gama rozkazów do transmisji; - rozkazy są wykonywane wolniej (dodatkowe takty zegara w cyklach maszynowych procesory uniwersalne); jako sygnały strobów stosuje się linie: /IORQ, /RD albo /WR (/IOR albo /IOW).

Urządzenia zewnętrzne - adresowanie 5/31 Przykład realizacji adresowania rozdzielonego: VCC A15 A14 A13 A12 A[0..15] /MREQ /CSROM /CSRAM /IORQ /CSIO0 /CSIO1 /CSIO7 /CSIO6 /CSIO2 A7 A6 A5 A4 RAM EPROM 0000h 8000h FFFFh 7000h 1000h A3 00h 80h FFh 40h 48h 50h 58h 60h 68h 70h 78h 3Fh IO0 IO1 IO2 IO6 IO7 01000xxxB 01001xxxB 01010xxxB 01110xxxB 01111xxxB A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74LS138 A 1 B 2 C 3 E1 4 E2 5 E3 6 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74LS138

Urządzenia zewnętrzne - metody obsługi 6/31 1. Obsługa programowa na bieŝąco wprowadzanie informacji wyprowadzanie informacji badanie stanu urządzenia badanie stanu urządzenia N czy jest dana? N czy gotowe? odczyt danej zapis danej

Urządzenia zewnętrzne - metody obsługi 7/31 Cechy metody: prosta w oprogramowaniu, ale: metoda dopuszczalna gdy: - urządzenie jest szybkie; - mikroprocesor nie ma nic innego do roboty; Uwaga: niebezpieczeństwo zapętlenia się programu przy trwale niedziałającym urządzeniu zewnętrznym

Urządzenia zewnętrzne - metody obsługi 8/31 2. Obsługa programowa w przerwaniach zegarowych wprowadzanie informacji wyprowadzanie informacji PROGRAM ŁA: flagawe:=0 PROGRAM ŁA: zapis do bufora; flagawy:=1 PROCEDURA OBSŁUGI PRZERW. ZEGAROWEGO: N flagawe=0? N czy jest dana? odczyt danej flagawe:=1 badanie stanu urządzenia czy jest dana? N PROCEDURA OBSŁUGI PRZERW. ZEGAROWEGO: N flagawy=1? urz. gotowe? zapis danej flagawy:=0 N PROGRAM ŁA: odczyt z bufora; flagawe:=0 (opcjonalnie) PROGRAM ŁA (opcjonalnie): zapis do bufora; flagawy:=1

Urządzenia zewnętrzne - metody obsługi 9/31 Cechy metody: urządzenie jest obsługiwane w dyskretnych chwilach czasu; stała częstotliwość obsługi urządzenia; pomiędzy przerwaniami moŝliwe jest wykonywanie innych zadań; metoda dopuszczalna, gdy urządzenie nie dostarcza / nie wymaga bloków informacji

Urządzenia zewnętrzne - metody obsługi 10/31 PROGRAM ŁA: flagawek:=0; błądwek:=0; licznikk:=maksilośćprób; PROCEDURA OBSŁUGI PRZERW. ZEGAROWEGO: flagawek=0? czy jest dana? odczyt danej flagawek:=1 N N dec(licznikk) licznikk=0? N błądwek:=1 PROGRAM ŁA: odczyt z bufora; flagawek:=0 (opcjonalnie) PROGRAM ŁA: zapis do bufora; flagawyl:=1; błądwyl:=0; licznikl:=maksilośćprób; PROCEDURA OBSŁUGI PRZERW. ZEGAROWEGO: flagawyl=1? urz. gotowe? zapis danej flagawyl:=0 N N dec(licznikl) licznikl=0? N błądwyl:=1 PROGRAM ŁA (opcjonalnie): zapis do bufora; flagawyl:=1

Urządzenia zewnętrzne - metody obsługi 11/31 3. Obsługa przy uŝyciu DMA programowanie układu DMA program główny transmisja DMA przerwanie akceptacja końca transmisji w proc. obsł. przerwania c.d. programu głównego

Urządzenia zewnętrzne - metody obsługi 12/31 4. Obsługa z wykorzystaniem przerwań od urządzeń wprowadzanie informacji PROGRAM ŁA: flagawe:=0 PROCEDURA OBSŁUGI URZ. ZEWNĘRZNEGO: N flagawe=0? N czy jest dana? odczyt danej flagawe:=1 wyprowadzanie informacji PROGRAM ŁA: zapis do bufora; flagawy:=1 PROCEDURA OBSŁUGI URZ. ZEWNĘRZNEGO: N flagawy=1? N urz. gotowe? zapis danej flagawy:=0 PROGRAM ŁA: odczyt z bufora; flagawe:=0 (opcjonalnie) PROGRAM ŁA (opcjonalnie): zapis do bufora; flagawy:=1

Urządzenia zewnętrzne - metody obsługi 13/31 Cechy metody: bardzo efektywna technika obsługi; największe korzyści występują przy przerwaniach wektorowych; obsługa jest realizowana tylko wtedy, gdy urządzenie sygnalizuje przerwaniem gotowość do transmisji.

Urządzenia zewnętrzne - metody obsługi 14/31 5. Obsługa bez sprawdzania stanu urządzenia niektóre urządzenia nie wymagają bądź teŝ nie umoŝliwiają kontroli swego stanu przed transmisją, pozwalając na bezpośredni odczyt lub zapis (np. we/wy binarne, wyświetlacze, przetworniki C/A).

Urządzenia zewnętrzne - buforowanie informacji 15/31 Zalecane zasady obsługi urządzeń zewnętrznych: unikanie rozproszenia operacji we/wy po całym programie; korzystanie z procedur we/wy, modułów (bibliotek) obsługi urz. zewnętrznych; stosowanie zmiennych buforujących odczytana informację lub informację przygotowywaną do wysłania;

Urządzenia zewnętrzne - buforowanie informacji 16/31 Przykład braku buforowania informacji wejściowej: port we X odczyt 01110101b t 1 C I Ą port we X odczyt 01110101b t 2 G R O NIE, poniewaŝ moŝe prowadzić do: błędnych obliczeń; błędnego procesu decyzyjnego; port we X odczyt 11110101b Z K A Z Ó W

Urządzenia zewnętrzne - buforowanie informacji 17/31 Rozwiązanie poprawne: port we X bufor X odczyt 01110101b kopia do bufora odczyt 01110101b odczyt 01110101b odczyt 01110101b t 1 t 2 C I Ą G R O Z K A Z Ó W AK, poniewaŝ: logicznie poprawniej; szybciej.

Urządzenia zewnętrzne - buforowanie informacji 18/31 Wariant z wieloma portami wejściowymi: port we X1... port we Xk bufor we X1... bufor we Xk odczyt kompletu danych i kopia do buforów odczyty w celu przetworzenia C I Ą G R O Z K A Z Ó W rozwiązanie stosowane np. w układach sterowników.

Urządzenia zewnętrzne - buforowanie informacji 19/31 Wariant z wieloma portami wyjściowymi, rozwiązanie niewłaściwe: port wy Y1 port wy Y2 port wy Y3 zapis zapis zapis t 1 t 2 C I Ą G R O Z K A Z Ó W Wady: rozproszenie operacji wyjściowych w kodzie programu; róŝnice czasowe t 1, t 2 w wysterowaniu kolejnych portów mogą negatywnie wpływać na sterowany obiekt

Urządzenia zewnętrzne - buforowanie informacji 20/31 Wariant z wieloma portami wyjściowymi, rozwiązanie zalecane: bufor wy Y1 bufor wy Y2 zapis zapis t 1 C I Ą G Zalety: zgrupowanie operacji wyjściowych bufor wy Y3 port wy Y1 port wy Y2 port wy Y3 zapis zapis do portów t 2 R O Z K A Z Ó W w kodzie programu; róŝnice czasowe t 1, t 2 w wysterowaniu kolejnych portów wy. są sprowadzone do minimum

Urządzenia zewnętrzne - buforowanie informacji 21/31 Wariant ze słowem wyjściowym aktualizowanym fragmentarycznie, rozwiązanie błędne: port wy Y zapis bitów 3..0 C I Ą G Wada: błędy wyjść binarnych t 1 port wy Y zapis bitów 7..4 R O Z K A Z Ó W

Urządzenia zewnętrzne - buforowanie informacji 22/31 Wariant ze słowem wyjściowym aktualizowanym fragmentarycznie, rozwiązanie poprawne: bufor wy Y zmiana bitów 3..0 zmiana bitów 7..4 t 1 C I Ą G Zaleta: logicznie poprawne port wy Y1 odczyt bufora zapis do portu R O Z K A Z Ó W

Urządzenia zewnętrzne - buforowanie informacji 23/31 Proste (jw.) mechanizmy buforowania stosuje się gdy odczyt i zapis odbywają się regularnie, np. w przerwaniach zegarowych lub w pętli programu głównego. Proste bufory są obrazem w RAM odpowiadających im portów. Dotyczy to praktycznie wszystkich rodzajów urządzeń łączących system mikroprocesorowy z obiektem sterowanym. Urządzenia dostarczające lub odbierające informację nieregularnie, w przypadkowych chwilach czasu lub ze zmienną częstotliwością wymagają złoŝonych struktur buforujących. Stosuje się tzw. bufor cyrkulacyjny. Urządzenia tego wymagające to np. porty szeregowe, klawiatury autonomiczne, drukarki.

Urządzenia zewnętrzne - buforowanie informacji 24/31 Przykłady konstrukcji bufora cyrkulacyjnego 1. PW PZ waŝne dane tablica bajtów o zalecanym rozmiarze B=2 k PZ - indeks (zmienna) pierwszego zajętego przez jeszcze waŝną informację bajtu w buforze, PZ=0..B-1; PW - indeks (zmienna) pierwszego wolnego bajtu w buforze, do którego moŝe być wpisana najnowsza informacja, PW=0..B-1.

Urządzenia zewnętrzne - buforowanie informacji 25/31 Zasady obsługi takiego bufora Bufor z dwoma indeksami PZ i PW o długości B uwaŝa się: - za pusty jeŝeli PZ = PW; - za zapełniony (zawiera wtedy B-1 bajtów) jeŝeli (PZ+B-1) mod B = PW. informacja wejściowa informacja wyjściowa zapis do bufora przez proc. obsł. przerwania: jeŝeli (PZ+B-1) mod B PW to: A:=IN[port we] M[BUF+PW]:=A PW:=(PW+1) mod B np. przez program główny: jeŝeli (PZ+B-1) mod B PW to: M[BUF+PW]:=A PW:=(PW+1) mod B gdzie BUF oznacza adres początkowy bufora cyrkulacyjnego odczyt z bufora np. przez program główny: jeŝeli PZ PW to: A:=M[BUF+PZ] PZ:=(PZ+1) mod B przez proc. obsł. przerwania: jeŝeli PZ PW to: A:= M[BUF+PZ] OU[port wy]:=a PZ:=(PZ+1) mod B

Urządzenia zewnętrzne - buforowanie informacji 26/31 2. PZ waŝne dane ILE tablica bajtów o zalecanym rozmiarze B=2 k PZ - indeks (zmienna) pierwszego zajętego przez jeszcze waŝną informację bajtu w buforze, PZ=0..B-1; ILE - zmienna określająca ilość (liczoną w bajtach) waŝnych danych w buforze, ILE=0..B.

Urządzenia zewnętrzne - buforowanie informacji 27/31 Zasady obsługi takiego bufora Bufor z indeksem PZ i zmienną ILE, o długości B uwaŝa się: - za pusty jeŝeli ILE = 0; - za zapełniony (zawiera wtedy B bajtów) jeŝeli ILE = B. informacja wejściowa informacja wyjściowa zapis do bufora przez proc. obsł. przerwania: jeŝeli ILE < B to: A:=IN[port we] M[BUF+(PZ+ILE) mod B]:=A ILE:=ILE+1 np. przez program główny: jeŝeli ILE < B to: M[BUF+(PZ+ILE) mod B]:=A ILE:=ILE+1 gdzie BUF oznacza adres początkowy bufora cyrkulacyjnego odczyt z bufora np. przez program główny: jeŝeli ILE > 0 to: A:=M[BUF+PZ] PZ:=(PZ+1) mod B ILE:=ILE-1 przez proc. obsł. przerwania: jeŝeli ILE > 0 to: A:= M[BUF+PZ] OU[port wy]:=a PZ:=(PZ+1) mod B ILE:=ILE-1

Urządzenia zewnętrzne - buforowanie informacji 28/31 Przykłady oprogramowania buforów cyrkulacyjnych Ad. 1. bufor: EQU 8000h pz: EQU 8100h pw: EQU 8101h ; zapis do bufora z portwe w przerwaniu LD HL,(pz) ; L:=pz, H:=pw LD A,L ; A:=pz DEC A ; A:=(A+255)mod256 XOR H ; Z=1 gdy bufor pelny JR Z,bufpelny IN A,(portwe) ; odczyt portu LD E,H LD D,0 ; DE=pw LD HL,bufor ADD HL,DE ; HL->M(pw) LD (HL),A ; M(pw):=A INC E ; pw:=(pw+1)mod 256 LD A,E LD (pw),a bufpelny:

Urządzenia zewnętrzne - buforowanie informacji 29/31 ; przepisanie z bufora do portwy w przerwaniu LD HL,(pz) ; L:=pz, H:=pw LD A,L ; A:=pz XOR H ; Z=1 gdy bufor pusty JR Z,bufpusty LD E,L LD D,0 ; DE=pz LD HL,bufor ADD HL,DE ; HL->M(pz) LD A,(HL) ; A:=M(pz) OU (portwy),a ; zapis portu INC E ; pz:=(pz+1)mod 256 LD A,E LD (pz),a bufpusty:

Urządzenia zewnętrzne - buforowanie informacji 30/31 Ad.2. dlgbuf: equ 20 bufor: equ 100h pz: equ bufor+dlgbuf ile: equ pz+1 ;zapis do bufora z portwe w przerwaniu: wpisz: ld hl,(pz) ;L:=pz, H:=ile ld a,h ;A=ile cp dlgbuf ;czy ile=dlgbuf? jr z,bufpelny ;slkok jesli tak add a,l ;A:=ile+pz cp dlgbuf ;czy ponad dlgbuf-1? jr c,ltdlg ;skok jesli nie sub dlgbuf ;modulo dlgbuf ltdlg: ld hl,bufor ld e,a ld d,0 add hl,de ;HL->wolna komorka in a,(portwe) ;odczyt danej z portu ld (hl),a ;zapis danej dop bufora ld hl,ile inc (hl) ;ile:=ile+1 bufpelny:

Urządzenia zewnętrzne - buforowanie informacji 31/31 ;przepisanie z bufora do portwy w przerwaniu: ld hl,(pz) ;L:=pz, H:=ile ld a,h ;A=ile and a ;czy ile=0? jr z,bufpusty ;skok jesli tak ld e,l ;E=pz ld d,0 ld hl,bufor add hl,de ;HL->najstarsza dana ld a,(hl) ;odczyt danej z bufora out (portwy),a ;zapis do portu ld hl,ile dec (hl) dec hl ld a,(hl) ;modyfikacja pz inc a ld (hl),a xor dlgbuf ;czy pz=dlgbuf jr nz,bufpusty ;skok jesli nie ld (hl),a ;pz mod dlgbuf=0 bufpusty: