Mikrokontrolery? To takie proste... Część 7 Asembler język maszynowy procesora ELEKTRONIKA DLA WSZYSTKICH 11/97



Podobne dokumenty
STYLE. TWORZENIE SPISÓW TREŚCI

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

Asembler - język maszynowy procesora

Programowanie mikrokontrolerów (CISC)

1. Warunki. 2. Zakładanie konta. 3. Logowanie. 4. Korzystanie z portalu klienta 5. Subkonta 5.1Zakładanie subkonta. 5.

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

Kodowanie liczb. Kodowanie stałopozycyjne liczb całkowitych. Niech liczba całkowita a ma w systemie dwójkowym postać: Kod prosty

Lista rozkazów mikrokontrolera 8051

Wymagania edukacyjne matematyka klasa 2 zakres podstawowy 1. SUMY ALGEBRAICZNE

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości.

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

INSTRUKCJA. - Jak rozwiązywać zadania wysoko punktowane?

2. FUNKCJE WYMIERNE Poziom (K) lub (P)

Jest błędem odwołanie się do zmiennej, której nie przypisano wcześniej żadnej wartości.

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

PRZEDMIOTOWY SYSTEM OCENIANIA Z JĘZYKÓW OBCYCH w Gimnazjum nr 2 im. ks. Stanisława Konarskiego nr 2 w Łukowie

MATeMAtyka 3 inf. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony. Dorota Ponczek, Karolina Wej

usuwa niewymierność z mianownika wyrażenia typu

Programowanie mikrokontrolera 8051

Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych (zakres podstawowy)

WYMAGANIA EDUKACYJNE Z MATEMATYKI W KLASIE IIc ZAKRES PODSTAWOWY I ROZSZERZONY

Oznaczenia: K wymagania konieczne; P wymagania podstawowe; R wymagania rozszerzające; D wymagania dopełniające; W wymagania wykraczające

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

DZIAŁ 2. Figury geometryczne

architektura komputerów w 1 1

1. Operacje logiczne A B A OR B

Wymagania kl. 2. Uczeń:

Wymagania edukacyjne matematyka klasa 2b, 2c, 2e zakres podstawowy rok szkolny 2015/ Sumy algebraiczne

Wymagania na ocenę dopuszczającą z matematyki klasa II Matematyka - Babiański, Chańko-Nowa Era nr prog. DKOS /02

Szczegółowe wymagania edukacyjne z matematyki, klasa 2C, poziom podstawowy

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

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY VIII w roku szkolnym 2015/2016

Zastosowanie multimetrów cyfrowych do pomiaru podstawowych wielkości elektrycznych

KONKURS MATEMATYCZNY dla uczniów gimnazjów w roku szkolnym 2012/13. Propozycja punktowania rozwiązań zadań

Kombinowanie o nieskończoności. 4. Jak zmierzyć?

Zadania. I. Podzielność liczb całkowitych

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

Temat lekcji Zakres treści Osiągnięcia ucznia

Nauki ścisłe priorytetem społeczeństwa opartego na wiedzy Zbiór scenariuszy Mój przedmiot matematyka

Pracownia elektryczno-elektroniczna klasa IV

Droga Pani/Drogi Panie! Wakacje minęły szybko i znowu możemy się spotkać. oraz za zabawami z koleżankami i kolegami.

Grażyna Nowicka, Waldemar Nowicki BADANIE RÓWNOWAG KWASOWO-ZASADOWYCH W ROZTWORACH ELEKTROLITÓW AMFOTERYCZNYCH

WYZNACZANIE OGNISKOWEJ SOCZEWEK CIENKICH ZA POMOCĄ ŁAWY OPTYCZNEJ

1 Ułamki zwykłe i dziesiętne

Równania i nierówności kwadratowe z jedną niewiadomą

Wyrównanie sieci niwelacyjnej

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

WYMAGANIA I KRYTERIA OCENIANIA Z MATEMATYKI W 3 LETNIM LICEUM OGÓLNOKSZTAŁCĄCYM

Dorota Ponczek, Karolina Wej. MATeMAtyka 2. Plan wynikowy. Zakres podstawowy

PRÓBNA MATURA Z MATEMATYKI Z OPERONEM LISTOPAD ,0. 3x 6 6 3x 6 6,

Instrukcja obsługi oprogramowania EasyMP Network Projection

Przedmiotowy system oceniania z matematyki wraz z określeniem wymagań edukacyjnych (zakres podstawowy) Klasa II TAK

Wymagania edukacyjne z matematyki

Pakiet aplikacyjny. Niniejszy pakiet zawiera informacje, które musisz posiadać zgłaszając swoją kandydaturę. Zawiera on:

Podstawy programowania obiektowego

Zestaw 11- Działania na wektorach i macierzach, wyznacznik i rząd macierzy

Wyk lad 1 Podstawowe wiadomości o macierzach

WYZNACZNIKI. . Gdybyśmy rozważali układ dwóch równań liniowych, powiedzmy: Takie układy w matematyce nazywa się macierzami. Przyjmijmy definicję:

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051

Pakiet aplikacyjny. Specjalista ds. rozliczeń i administracji [Pomorze] ADM/2011/01

Opakowania na materiały niebezpieczne

Rozwiązania maj 2017r. Zadania zamknięte

O pewnych zgadnieniach optymalizacyjnych O pewnych zgadnieniach optymalizacyjnych

ELEKTRONIKA CYFROWA. Materiały y pomocnicze do wykład sem.. 1

symbol dodatkowy element graficzny kolorystyka typografia

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

Zaokrąglanie i zapisywanie wyników obliczeń przybliżonych

Wymagania edukacyjne z matematyki Klasa IIB. Rok szkolny 2013/2014 Poziom podstawowy

Podstawy układów logicznych

Macierz. Wyznacznik macierzy. Układ równań liniowych

Instrukcja obsługi oprogramowania EasyMP Multi PC Projection

wersja podstawowa (gradient)

f(x)dx (1.7) b f(x)dx = F (x) = F (b) F (a) (1.2)

Przedmiotowy system oceniania z matematyki wraz z określeniem wymagań edukacyjnych (zakres podstawowy) Klasa II LO

Scenariusz lekcji matematyki w kl. VI.

Metoda sił jest sposobem rozwiązywania układów statycznie niewyznaczalnych, czyli układów o nadliczbowych więzach (zewnętrznych i wewnętrznych).

WNIOSEK o przyznanie pomocy na zalesianie

Scenariusz lekcji matematyki w klasie II LO

Instrukcja montażu i obsługi

Rozwiązywanie umów o pracę

Technikum Nr 2 im. gen. Mieczysława Smorawińskiego w Zespole Szkół Ekonomicznych w Kaliszu

Architektura komputerów. Asembler procesorów rodziny x86

Wprowadzenie: Do czego służą wektory?

Lista 4 Deterministyczne i niedeterministyczne automaty

Bardzo krótki wstęp do elektroniki cyfrowej

4. Składkę ubezpieczeniową zaokrągla się do pełnych złotych.

Realizacje zmiennych są niezależne, co sprawia, że ciąg jest ciągiem niezależnych zmiennych losowych,

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna

Modelowanie zagadnień technicznych SKRYPT. Siergiej Fialko

zestaw DO ĆWICZEŃ z matematyki

SZTUCZNA INTELIGENCJA

Karta oceny merytorycznej wniosku o dofinansowanie projektu innowacyjnego testującego składanego w trybie konkursowym w ramach PO KL

Semantyka i Weryfikacja Programów - Laboratorium 2 Działania na ułamkach, krotki i rekordy

Zbiory wyznaczone przez funkcje zdaniowe

KONSPEKT ZAJĘĆ WYRÓWNAWCZYCH Z MATEMATYKI. Temat: Do czego służą wyrażenia algebraiczne?

Wymagania edukacyjne z matematyki FUNKCJE dopuszczającą dostateczną dobrą bardzo dobrą

Rekuperator to urządzenie

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Pasek narzędziowy Symbolic [View Toolbars Math Symbolic] Pasek narzędziowy Modifier [Symbolic Modifiers]

Transkrypt:

Też to potrfisz Mikrokontrolery? W kolejnym odcinku poświęconym nszym wspólnym strniom mją cym n celu ujrzmienie mikrokont roler 8051 postrm się zpoznć Ws drodzy Czytelnicy w przystęp ny sposób z listą instrukcji tego pro cesor. N końcu tego odcink cze k n Ws drug już lekcj czyli kolejny prktyczny krok w nuce z wykorzystniem nszego kompu terk edukcyjnego z 8051. Dziś wspólnie npiszemy i przenli zujemy krótki le już prwdziwie semblerowy progrm To tkie proste... Część 7 Asembler język mszynowy procesor W poprzednim odcinku poznłeś już ideę tworzeni progrmów n mikrokont rolery 8051. Wiesz że do tego celu nie zbędny jest zestw instrukcji dnego pro cesor (u ns jest to rodzin MCS 51, któ r m wspólny język progrmowni) orz znjomość kodów numerycznych po szczególnych instrukcji w przypdku kiedy nie msz dostępu do komputer i wszyst kie czynności musisz wykonć ręcznie. W przypdku kiedy do dyspozycji progr misty jest komputer, procedurę tłumcze ni instrukcji zpisnych jwnie w języku sembler utomtycznie wykonuje komputer korzystjący z progrmu zwne go kompiltorem. Autor cyklu zdbł, by kżdy z Ws drodzy Czytelnicy, niskim kosztem mógł stć się posidczem tkie go kompiltor. Jest on dostępny n dys kietkch 3,5 w ofercie hndlowej AVT pod nzwą AVT 2250/D. Wżną informcją jest to że zmieszczono tm dwie wersje kompiltor: wersję ngielską orz pols ką!. Jest to chyb pierwszy progrm tego typu komunikujący się w nszym ojczys tym języku z progrmistą. Dzięki temu osoby nie znjące ngielskiego będą mog ły bez problemów korzystć z tkiej wers ji kompiltor. Funkcjonlnie obie wersje są tkie sme, to znczy że wykonują wszystkie czynności identycznie, jedynie komunikty zgłszne przez progrm wy stępują w dwóch rożnych językch, jk wspomniłem wcześniej. N dyskietce znjduje się plik tekstowy z rozszerzeniem.doc, w którym zwrte są informcje o kompiltorze i jego możliwościch nie zbędne do prwidłowego posługiwni się nim. Dltego nie zbędę opisywł szczegółowo tych sprw, poniewż wśród nszych czytelników są osoby nie mjące komputer PC poz tym kżdy zintere sowny PC towiec będzie mił sm okz ję n zpoznnie się z instrukcją użytkow ni progrmu. Ze względu n mocno ogrniczone możliwości ręcznej kompilcji tworzo nych przez Ciebie progrmów do postci mszynowej, powinieneś już terz zst nowić się nd możliwością nbyci lub przynjmniej korzystni z komputer PC, nwet poczciwej AT czy XT. Efektywne, pozbwione niepotrzebnych pomyłek, tworzenie nwet mło skomplikownych progrmów jest możliwe tylko przy wyko rzystniu komputer orz kompiltor, który jest dostępny dl wszystkich zinte resownych po przystępnej cenie. W tym miejscy chcę uspokoić wszyst kich ntykomputerowców. Wszystkie przedstwine w cyklu przykłdowe pro grmy będą drukowne w postci czytel nej i jsnej tkże dl tego gron czytelni ków. Ułtwi to nlizę i pokże jk w prktyce tłumczy się komendy sem bler n język mszynowy. W tym odcinku szkoły mikroprocesoro wej zpoznmy się z listą instrukcji proce sor, orz dodtkowo zbierzemy w c łość widomości dotyczące wszystkich rejestrów specjlnych SFR tkże tych nie omwinych (n rzie). Wszystko to jest umieszczone dodtkowo we wkłdce wewnątrz numeru w postci krtki A4 z ndrukownymi dwustronnie skrótowo wszysktimi informcjmi niezbędnymi do rozpoczęcie pisni włsnych progrmów orz ich tłumczeni (semblcji) w przy pdku osób które musz to zrobić ręcznie. Tk ściąg powinn być przez Ciebie drogi Czytelniku wycięt nstępnie zfo liown, by mogł ci służyć przez cły czs zbwy z procesorem 8051. Zwie szenie jej n ścinie nd twoim biurkiem z pewnością ułtwi Ci poznnie i zpmię tnie wszystkich instrukcji procesor, tk byś w przyszłości mógł włdć semble rem tk j włsnym ojczystym językiem gwrntuję Ci jest to możliwe! Przejdźmy ztem do zpoznni się i wyjśnieni dziłni wszystkich pole ceń kontrolerów 8051. List instrukcji Informcje zwrte w tej części rtyku łu są rozszerzeniem listy przedstwionej we wkłdce wewnątrz numeru. Dltego nlizują opisy poszczególnych instrukcji powinieneś mieć tkże przed oczym wspomniną ściągę. Kiedy w przy szłości nbierzesz nieco wprwy w posłu giwniu się polecenimi sembler, po trzebn będzie Ci tylko stron z wkłdki, 36

do niniejszego opisu będzie mógł z wsze wrócić w przypdku niejsności, szczególnie wtedy jeżeli będziesz chcił tworzyć progrmy nie mjąc dostępu do komputer PC. Tk więc zczynmy. Opis kżdej instrukcji skłd się zsd niczo z nstępujących elementów: nzwy ngielskiej i polskiej instrukcji: pkt. ) krótkiego opisu dziłni instrukcji: pkt.b) wyszczególnieni znczników n które dził instrukcj: pkt. c) opisu szczegółowego instrukcji lub jej rodzjów: pkt. d), wrz z podniem for mtu i kodów mszynowych instrukcji, w zpisnych binrnie i heksdecyml nie, z podniem ilości cykli i bjtów ko du orz ewentulnie poprte przykł dem lub uwgmi dotyczącymi efek tów użyci dnej instrukcji. Większość z tych informcji znjduje się tkże w tbeli zestwieniowej instruk cji we wkłdce wewnątrz numeru. Opercje rytmetyczne ADD ) ng. dd to cummultor dodj do ku multor b) Do wrtości przechowywnej w kumulto rze dodwny jest wskzny rgument, wynik zostje wpisny do kumultor. c) znczniki: C, AC i OV ADD A, Rn rejestru Rn A < A + Rn gdzie Rn = R0...R7 (jeden kod: 0 0 1 0 1 n2 n1 n0, gdzie n2...n0 wskzują n R0...7 stąd: 28h 2Fh przykłd: ADD A, R2 ADD A, dres o dresie dres A < A + (dres) kod: 0 0 1 0 0 1 0 1 25h bjty: 2 (kod instrukcji 25h + dres) przykłd: ADD A, 2Fh (dodnie do A zwrtości komórki o dresie 2Fh) ADD A, @Ri o dresie wskzywnym przez rejestr Ri (R0 lub R1) A < A + (Ri). kod: 0 0 1 0 0 1 1 i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 26h, 27h przykłd: ADD A, @R0 (dodnie do A zwrtości komórki o dresie w R0) ADD A, #dn do kumultor dodwny jest rgument stły (8 bitow liczb) A < A + dn kod: 0 0 1 0 0 1 0 0 bjty: 2 (kod instrukcji + dn) przykłd: ADD A, #120 (dodnie do A licz by 120) ADDC ) ng. dd to cummultor with crry do dj do kumultor z przeniesieniem b) Do wrtości przechowywnej w kumulto rze dodwny jest wskzny rgument orz zwrtość zncznik przeniesieni C, wy nik zostje wpisny do kumultor. c) znczniki: C, AC i OV ADDC A, Rn rejestru Rn orz C A < A + Rn + C gdzie Rn = R0...R7 (jeden kod: 00111n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 38h 3Fh przykłd: ADDC A, R4 ADDC A, dres o dresie dres orz zncznik C A < A + (dres) + C kod: 00110101 35h bjty: 2 (kod instrukcji 35h + dres) przykłd: ADDC A, 7Eh (dodnie do A z wrtości komórki o dresie 7Eh) ADDC A, @Ri o dresie wskzywnym przez rejestr Ri. (R0 lub R1) orz C A < A + (Ri) + C kod: 0011011i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 36h, 37h przykłd: ADDC A, @R1 (dodnie do A z wrtości komórki o dresie w R1) ADDC A, #dn do kumultor dodwny jest rgument stły (8 bitow liczb) i C A < A + dn + C kod: 00110100 bjty: 2 (kod instrukcji + dn) przykłd: ADDC A, #120 (dodnie do A liczby 120) SUBB ) ng. substrct from cummultor with bor row odejmij od kumultor z pożyczką b) Od wrtości przechowywnej w kumulto rze odejmowny jest wskzny rgument orz zwrtość zncznik przeniesieni C, wynik zostje wpisny do kumultor. c) znczniki: C, AC i OV SUBB A, Rn od kumultor odejmown jest zwr tość rejestru Rn orz C A < A Rn C gdzie Rn = R0...R7 (jeden kod: 10011n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 98h 9Fh przykłd: SUBB A, R6 SUBB A, dres od kumultor odejmown jest zwr tość o dresie dres orz zncznik C A < A (dres) C kod: 10010101 95h bjty: 2 (kod instrukcji 95h + dres) przykłd: SUBB A, 45h (odjęcie od A zwrtości komórki o dresie 45h i zncznik C) SUBB A, @Ri od kumultor odejmown jest zwr tość o dresie wskzywnym przez rejestr Ri. (R0 lub R1) orz C Też to potrfisz A < A (Ri) C kod: 1 0 0 1 011i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 96h, 97h przykłd: SUBB A, @R1 (odjęcie od A z wrtości komórki o dresie w R1orz C) SUBB A, #dn od kumultor odejmowny jest rgu ment stły (8 bitow liczb) orz C A < A dn C kod: 1 0010100 94h bjty: 2 (kod instrukcji + dn) przykłd: ADDC A, #86h (odjęcie od A licz by 86h i zncznik C) INC ) ng. increment zwiększenie o 1 b) do wskznego rgumentu jest dodwn jedynk INC A do kumultor dodwn jest jedynk A < A + 1 kod: 0 0000100 04h INC Rn do zwrtości rejestru Rn dodwn jest jedynk Rn < Rn + 1 gdzie Rn = R0...R7 (jeden kod: 0 0 0 0 1 n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 08h 0Fh przykłd: INC R3 INC dres do zwrtości komórki o dresie dres dodwn jest jedynk (dres) < (dres) + 1 kod: 0 0000101 05h bjty: 2 (kod instrukcji 05h + dres) przykłd: INC 12h (inkrementcj zwrtoś ci komórki o dresie 12h) INC @Ri do zwrtości komórki o dresie wskzy wnym przez Ri dodwn jest jedynk (Ri) < (Ri) + 1 kod: 0 000011i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 06h, 07h przykłd: INC @R1 INC DPTR do 16 bitowego wskźnik dnych DPTR złożonego z rejestrów SFR: DPH (brdziej znczący bjt) i DPL (mniej znczący bjt) dodwn jest jedynk. Znczniki nie ulegją zminie. DPTR < DPTR + 1 kod: 1 0100011 A3h cykle: 2 bjty: 1 DEC ) ng. decrement zmniejszenie o 1 b) od wskznego rgumentu odejmown jest jedynk DEC A od kumultor odejmown jest jedynk A < A 1 kod: 0 0010100 14h DEC Rn od zwrtości rejestru Rn odejmown jest jedynk Rn < Rn 1 gdzie Rn = R0...R7 (jeden 37

Też to potrfisz kod: 00011n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 18h 1Fh przykłd: DEC R5 DEC dres od zwrtości komórki o dresie dres odejmown jest jedynk (dres) < (dres) 1 kod: 00010101 15h bjty: 2 (kod instrukcji 15h + dres) przykłd: DEC 3Fh (inkrementcj zwr tości komórki o dresie 3Fh) DEC @Ri od zwrtości komórki o dresie wskzy wnym przez Ri odejmown jest jedynk (Ri) < (Ri) 1 kod: 0001011i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 16h, 17h przykłd: DEC @R0 MUL AB ) ng. multiply pomnóż b) 8 bitow liczb bez znku znjdując się w ku multorze jest mnożon przez 8 bitową liczbę bez znku z rejestru B. 16 bitowy wynik wpisy wny jest do rejestrów B i A (brdziej znczący bjt do B, mniej znczący bjt do A) c) znczniki: jeśli wynik mnożeni jest > 255 to ustwiny jest zncznik OV, w przeciwnym rzie OV jest zerowny. zncznik C jest zerowny. d) B.A < A x B kod: 10100100 A4h cykle: 4 bjty: 1 DIV AB ) ng. divide podziel b) 8 bitow liczb bez znku, znjdując się w kumultorze jest dzielon przez 8 bito wą liczbę z rejestru B. Cześć cłkowit ilor zu wpisywn jest do kumultor, reszt z dzieleni do rejestru B. W przypdku gdy dzielnik jest równy 0 (B=0) to po wykonniu opercji zwrtość kumultorze i rejestru B jest nieokreślon orz dodtkowo ust wiony zostje zncznik OV. c) znczniki: C = 0, OV =0 (zerowne) d) A < A : B B < reszt (A : B) kod: 10000100 84h cykle: 4 bjty: 1 DA A ) ng. deciml djust korekcj dziesiętn b) wykonywn jest korekcj dziesiętn wyni ku dodwni. Opercj t sprowdz wynik do postci dwóch cyfr dziesiętnych w kodzie BCD, jeżeli rgumenty były w kodzie BCD. Rozkz ten powinien być używny jedynie w połączeniu z rozkzem dodwni (ADD, ADDC). Tkże inkrementcj powinn odby wć się poprzez instrukcję ADD A, #1, nie INC A, bowiem w tym drugim przypdku nie są ustwinie znczniki C i AC, tk więc nie może być wykonn korekcj dziesiętn. Korekcj poleg n tym że w przypdku kiedy po wykonnej n kumultorze opercji dod wni (ADD, ADDC) zwrtość jego bitów 3...0 jest większ od 9 lub jest ustwiony zncznik AC, to do wrtości kumultor dod wn jest liczb 6. Po tym jeżeli okże się że zwrtość bitów 7...4 jest większ od 9 lub jest ustwiony zncznik C to do tych bitów dod wn jest tkże liczb 6. Jeżeli podczs tej osttniej opercji wystąpiło przeniesienie to do zncznik wpisywn jest 1, w przeciwnym wypdku stn zncznik C nie zmieni się. c) znczniki: C, OV (ptrz pkt.) d) A < korekcj dziesiętn (A) kod: 11010100 D4h Przykłd: jeżeli w wyniku dodwni w kumultorze jest liczb 6Ah, to po ko rekcji dziesiętnej kumultor będzie zwie rł liczbę 70h, ptrz listing: MOV A,#69h ;wpisnie liczby 69h do kumultor (1) ADD A,#1 ;inkrementcj kumultor poprzez dodwnie (2) ;w wyniku tego w A będzie liczb 6Ah d A ;korekcj dziesiętn A, w A będzie po tym 70h (3). Uwg: jeżeli w przykłdzie w linii (2) użyje my instrukcji INC A zmist dodni jedyni, to korekcj dziesiętn będzie nieprwidłow. Opercje logiczne ANL ) ng. logicl AND pomnóż logicznie b) wykonywny jest iloczyn logiczny AND (mnożenie bitów bit po bicie ) wskz nych w instrukcji dwóch rgumentów. Wy nik opercji jest wpisywny do rgumentu pierwszego instrukcji c) znczniki: nie zmieniją się ANL A, Rn kumultor i rejestru Rn, wynik w A A < A Rn gdzie Rn = R0...R7 (jeden kod: 0 1 0 1 1 n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 58h 5Fh przykłd: ANL A, R3 ANL A, dres kumultor i komórki o podnym dresie dres, wynik zostje umieszczony w A A < A (dres) kod: 0 1 0 1 0 1 0 1 55h bjty: 2 (kod instrukcji 55h + dres) przykłd: ANL A, 45h (mnożenie logicznie A i zwrtości komórki pod dresem 45h) ANL A, @Ri ku multor o dresie wskzywnym przez rejestr Ri. (R0 lub R1) A < A (Ri) kod: 0 1 0 1 0 1 1 i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 56h, 57h przykłd: ANL A, @R1 (wymnożenie. logicz ne A i zwrtości komórki o dresie w R1) ANL A, #dn ku multor przez rgument stły (8 bitow liczb) A < A dn kod: 0 1 0 1 0 1 0 0 54h bjty: 2 (kod instrukcji 54h + dn) przykłd: ANL A, #23 (mnożenie logiczne A i liczby 23) ANL dres, A kumultor i komórki o podnym sie dres, wynik zostje umieszczony w komórce pmięci o dresie dres (dres) < (dres) A kod: 0 1 0 1 0 0 1 1 52h dre bjty: 2 (kod instrukcji 55h + dres) przykłd: ANL A, 45h (mnożenie logicznie A i zwrtości komórki pod dresem 45h) ANL dres, #dn komórki o dresie dres przez rgument stły (8 bitow liczb) (dres) < (dres) dn kod: 0 1 0 1 0 0 1 1 53h cykle: 2 bjty: 3 (kod instrukcji 54h + dres + dn) przykłd: ANL 45h, #23 (mnożenie logicz ne zwrtości komórki 45h i liczby 23) ORL ) ng. logicl OR zsumuj logicznie b) wykonywn jest sum logiczn OR (dod wnie bitów bit po bicie ) wskznych w instrukcji dwóch rgumentów. Wynik opercji jest wpisywny do rgumentu pier wszego instrukcji c) znczniki: nie zmieniją się ORL A, Rn ltor i rejestru Rn, wynik w A A < A Rn gdzie Rn = R0...R7 (jeden kod: 0 1 0 0 1 n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 48h 4Fh przykłd: ORL A, R7 ORL A, dres ltor i komórki o podnym dresie dres, wynik zostje umieszczony w A A < A (dres) kod: 0 1 0 0 0 1 0 1 45h bjty: 2 (kod instrukcji 45h + dres) przykłd: ORL A, 19h (dodnie logiczne A i zwrtości komórki pod dresem 19h) ORL A, @Ri ltor o dresie wskzywnym przez rejestr Ri. (R0 lub R1) A < A (Ri) kod: 0 1 0 0 0 1 1 i gdzie i wskzu je n R0 (i=0) lub R1 (i=1) stąd: 46h, 47h przykłd: ORL A, @R0 (dodnie logiczne A i zwrtości komórki o dresie w R0) ORL A, #dn ltor przez rgument stły (8 bitow liczb) A < A dn kod: 0 1 0 0 0 1 0 0 44h bjty: 2 (kod instrukcji 44h + dn) przykłd: ORL A, #23 (dodnie logiczne A i liczby 23) ORL dres, A ltor i komórki o podnym dresie dres, wynik zostje umieszczony w ko mórce pmięci o dresie dres (dres) < (dres) A kod: 0 1 0 0 0 0 1 1 42h bjty: 2 (kod instrukcji 42h + dres) przykłd: ORL A, 20h (dodnie logicznie A i zwrtości komórki pod dresem 20h) ORL dres, #dn dodn logicznie zostje zwrtość komór ki o dresie dres orz rgument stły (8 bitow liczb) (dres) < (dres) dn kod: 0 1 0 0 0 0 1 1 43h cykle: 2 bjty: 3 (kod instrukcji 43h + dres + dn) przykłd: ORL 12h, #99 (dodnie logiczne zwrtości komórki 12h i liczby 99) 38

XRL ) ng. logicl XOR zsumuj mod 2 (różnic symetryczn) b) wykonywn jest sum mod 2 XOR wsk znych w instrukcji dwóch rgumentów. Wynik opercji jest wpisywny do rgu mentu pierwszego instrukcji c) znczniki: nie zmieniją się XRL A, Rn zsumown (mod 2) zostje zwrtość kumultor i rejestru Rn, wynik w A A < A Rn gdzie Rn = R0...R7 (jeden kod: 0 1 1 0 1 n2 n1 n0 gdzie n2...n0 wskzują n R0...7 stąd: 68h 6Fh przykłd: XRL A, R7 XRL A, dres wrtość kumultor i komórki o podnym dresie dres, wynik zostje umieszczo ny w A A < A (dres) kod: 0 1 1 0 0 1 0 1 65h bjty: 2 (kod instrukcji 65h + dres) przykłd: XRL A, 19h (dodnie logiczne A i zwrtości komórki pod dresem 19h) XRL A, @Ri wrtość kumultor komórki w wewn. RAM o dresie wskzywnym przez rejestr Ri. (R0 lub R1) A < A (Ri) kod: 0 1 1 0 0 1 1 i gdzie i wskzuje n R0 (i=0) lub R1 (i=1) stąd: 66h, 67h przykłd: XRL A, @R0 (zsumownie (mod 2) logiczne A i zwrtości komórki o dresie w R0) XRL A, #dn wrtość kumultor przez rgument stły (8 bitow liczb) A < A dn kod: 0 1 1 0 0 1 0 0 64h bjty: 2 (kod instrukcji 64h + dn) przykłd: XRL A, #23 (zsumownie (mod 2) logiczne A i liczby 23) XRL dres, A wrtość kumultor i komórki o pod nym dresie dres, wynik zostje umieszczony w komórce pmięci o dresie dres (dres) < (dres) A kod: 0 1 1 0 0 0 1 1 62h bjty: 2 (kod instrukcji 62h + dres) przykłd: XRL A, 20h (zsumownie (mod 2) logicznie A i zwrtości komórki pod d resem 20h) XRL dres, #dn wrtość komórki o dresie dres orz r gument stły (8 bitow liczb) (dres) < (dres) dn kod: 0 1 1 0 0 0 1 1 63h cykle: 2 bjty: 3 (kod instrukcji 63h + dres + dn) przykłd: XRL 12h, #99 (dodnie logiczne zwrtości komórki 12h i liczby 99) CLR A ) ng. cler ccumultor zeruj kumultor b) do kumultor zostje wpisn wrtość 0. d) A < 0 kod: 11100100 E4h Przykłd: efekt wyzerowni kumultor możn uzyskć stosując instrukcję: MOV A, #0 lecz w tym przypdku instrukcj m dłu gość 2 bjtów ( CLR A tylko 1), co w efekcie skrc długość kodu progrmu i oszczędz pmięć. CPL A ) ng. complement ccumultor zneguj kumultor b) wrtość kumultor zostje znegow n, wynik wpisny zostje do kumultor d) A < / A kod: 11110100 F4h Przykłd: by np. zmienić znk liczby zpi snej w kumultorze w kodzie U2 nleży wykonć sekwencję instrukcji: CPL A ;negcj kumultor INC A ;inkrementcj kumultor... RL A ) ng. rotte left przesuń w lewo w lewo o 1 pozycję (o 1 bit), to znczy że: bit 1 przyjmuje wrtość bitu 0 bit 2 przyjmuje wrtość bitu 1 bit 7 przyjmuje wrtość bitu 6 bit 0 przyjmuje wrtość bitu 7 d) A < rotcj w lewo (A) kod: 00100011 23h Przykłd: jeżeli w A jest liczb 43h (01000011 binrnie) to po wykonniu instrukcji: RL A kumultor będzie zwierł liczbę: 86h (10000110 binrnie). RLC A ) ng. rotte left through crry przesuń cyklicznie w lewo ze zncznikiem C w lewo o 1 pozycję (o 1 bit) z uwzględnie niem zncznik C, to znczy że: zncznik C przyjmuje wrtość bitu 7 (kumultor oczywiście) bit 1 przyjmuje wrtość bitu 0 bit 2 przyjmuje wrtość bitu 1 bit 7 przyjmuje wrtość bitu 6 bit 0 przyjmuje wrtość zncznik C c) znczniki: C jest ustwiny zgodnie z wyni kiem opercji d) A < rotcj w lewo (A) z C kod: 00110011 33h Przykłd: jeżeli w A jest liczb 54h (01010100 binrnie) to wykonnie instrukcji: CLR C ;wyzeruje zncznik C RLC A ;przesuń w lewo z C ;kumultor... spowoduje wymnożenie przez 2 liczby z pisnej w nturlnym kodzie binrnym w kumultorze. RR A ) ng. rotte right przesuń w prwo w prwo o 1 pozycję (o 1 bit), to znczy że: bit 0 przyjmuje wrtość bitu 1 bit 1 przyjmuje wrtość bitu 2 bit 6 przyjmuje wrtość bitu 7 bit 7 przyjmuje wrtość bitu 0 d) A < rotcj w prwo (A) kod: 0 0000011 03h Przykłd: jeżeli w A jest liczb 43h (01000011 binrnie) to po wykonniu instrukcji RR A kumultor będzie zwierł liczbę: A1h (10100001 binrnie). RRC A ) ng. rotte right through crry przesuń cyklicznie w prwo ze zncznikiem C w prwo o 1 pozycję (o 1 bit) z uwzględnie niem zncznik C, to znczy że: zncznik C przyjmuje wrtość bitu 0 (kumultor oczywiście) bit 0 przyjmuje wrtość bitu 1 bit 1 przyjmuje wrtość bitu 2 bit 6 przyjmuje wrtość bitu 7 bit 7 przyjmuje wrtość zncznik C c) znczniki: C jest ustwiny zgodnie z wyni kiem opercji d) A < rotcj w prwo (A) z C kod: 0 0010011 13h Przykłd: jeżeli w A jest liczb 54h (01010100 binrnie) to wykonnie instruk cji: CLR C ;wyzeruje zncznik C RLC A ;przesuń w lewo z C kumultor... spowoduje podzielenie przez 2 liczby zpi snej w nturlnym kodzie binrnym w kumultorze. SWAP A ) ng. swp nibbles within ccumultor wymień półbjty w kumultorze b) w wyniku tej instrukcji wymienion zostje zwrtość bitów 3...0 (mniej znczący pół bjt) i bitów 7...4 (brdziej znczący półbjt) kumultor. Opercj t jest równowżn 4 krotnemu przesunięciu zwrtości ku multor. d) A 3 0 < > A 7 4 kod: 1 1000100 C4h Przykłd: sekwencj podn poniżej powo duje zminę półbjtów kumultor MOV liczby 52h SWAP A Też to potrfisz A, #52h ;wpisnie do kumultor ;wykonnie poleceni zminy... ;w kumultorze znjduje się terz liczb 25h Uff! N rzie to tyle w nstępnym od cinku dokończenie listy instrukcji, więc pozostłe komendy dotyczące: opercji przemieszczni dnych opercji n bitch (zncznikch) skoki i pozostłe orz krótki opis sembler ASM51 przezn czony szczególnie dl komputerowców. Słwomir Surowiński 39

Też to potrfisz Lekcj 2 W dzisiejszej lekcji sprwdzimy dził nie niektórych spośród omówionych wcześniej instrukcji rytmetycznych i lo gicznych procesor n podstwie przykł dowego progrmu. Dziłnie progrmu jest brdzo proste, otóż: ) njpierw progrm prosi o wprowdze nie dwóch liczb 8 bitowych w postci heksdecymlnej, czyli z zkresu 0...FFh (0...255 dziesięt nie). Pierwsz liczb wyświetln jest n wyświetlczch DL1 i DL2, drug n DL4 i DL5 b) nstępnie wykonywn jest wybrn przez Ciebie opercj rytmetyczn lub logiczn (o tym jk ją wybrć z chwilę c) w efekcie n wyświetlczch DL7 i DL8 wypisywny jest wynik opercji, który mo żesz sprwdzić ręcznie (n ppierze) lub korzystjąc z klkultor wyposżonego w konwerter liczb zpisnych dziesiętnie i szesnstkowo (np. tki z MS Windows). Progrm w postci listingu czyli w zpisie źródłowym z dodtkowymi in formcjmi istotnymi szczególnie dl tych którzy nie mją komputer jest n stępujący: ;Progrm do lekcji nr 2 ;testownie komend: ADD, SUBB, ANL, ORL, XRL, SWAP ;z wykorzystniem instrukcji BIOS 8000 org 8000h ;pocztek zewn. pmieci progrmu 8000 120274 znowu: lcll CLS ;wyczyszczenie wyswietlcz 8003 75F001 mov B,#1 ;pozycj 1 n displeju 8006 757840 mov DL1,#_minus ;znk n pozycji wprowdzeni 8009 757940 mov DL2,#_minus ;pierwszego skldnik 800C 1203A7 lcll GETACC ;pobrnie skldnik 1 dodwni 800F 128036 lcll wit1 ;odczekj sekunde 8012 C0E0 push Acc ;i przechownie go n stosie 8014 75F004 mov B,#4 ;pozycj 4 n displeju 8017 757B40 mov DL4,#_minus ;znk n pozycji wprowdzeni 801A 757C40 mov DL5,#_minus ;drugiego skldnik 801D 1203A7 lcll GETACC ;pobrnie skldnik 2 dodwni 8020 128036 lcll wit1 ;odczekj sekunde 8023 D0F0 pop B ;scigniecie skldnik 1 ze stosu do rej.b 8025 C3 clr C ;potrzebne do testowni instrukcji SUBB 8026 25F0 dd A,B ;komend dodni skldnikow - tu wstw inne komendy 8028 75F007 mov B,#7 ;pozycj 7 n displeju 802B 12024E lcll A2HEX ;wypisnie wyniku dodwni 802E 128036 lcll wit1 ;odczekj sekunde 8031 128036 lcll wit1 ;odczekj sekunde 8034 80CA sjmp znowu ;i nstepne skldniki 8036 C0E0 wit1: push Acc ;przechownie A n stosie 8038 74FF mov A,#255 803A 120295 lcll DELAY ;odczeknie 0,5 sek 803D 74FF mov A,#255 803F 120295 lcll DELAY ;odczeknie 0,5 sek (w sumie 1 sek.) 8042 D0E0 pop Acc ;odtworzenie A (ze stosu) 8044 22 ret ;powrot do progrmu glownego 8045 END Szczegółowy opis listingu nie jest te mtem niniejszej lekcji ( przyszłego odcink szkoły mikroprocesorowej), to też przedstwię tylko istotne inform cje potrzebne do wykonni zdni z nszej dzisiejszej lekcji. Informcje podzielę n te istotne dl komputerow ców orz dl ręczników (o ile mogę posłużyć się tkim skrótem), tk więc, ptrzymy n listing powyżej i wyjśni my sobie: ) w pierwszej kolumnie podny jest d res początkowy dnej linii progrmu z zwrtą w niej instrukcją. U ns dres początkowy to 8000h początek p mięci SRAM w komputerku. Zuwż my że cły progrm zjmuje 45 bjtów, bo osttnim dresem jest 8045h osttni lini listingu. b) w kżdej zwierjącej instrukcję lini i tuż z dresem znjduje się ciąg bj tów będący odpowiednikiem mszyno wym instrukcji zpisnej w dlszej części linii w sposób jwny. Dzięki te mu niekomputerowcy będą mogli po prostu wklepć te dne ciurkiem od dresu 8000h bez mozolnego tłu mczeni z postci źródłowej znjdują cej się w trzeciej kolumnie listingu). Wrto jednk przy tym chociż chwilę zstnowić się i przetłumczyć już te rz (korzystjąc z tbeli we wkłdce) znne i nieznne instrukcje w kolej 40

nych linich nstępnie porównć je z dnymi z kolumny drugiej. c) w listingu występują odwołni do pro cedur umieszczonych w progrmie monitor są to: GETACC, A2HEX i DELAY. Nie wdjąc się w szczegóły (n rzie) wyjśnim że nzwom tym przypisne są dresy w przestrzeni progrmu monitor (EP ROM) od których zczynją się kody tych procedur. Ich dziłnie jest nstępujące: GETACC : procedur pobrni, z kl witury, 8 bitowej liczby zpisnej w postci szesnstkowej i umieszcze nie jej w kumultorze z jednoczesnym wyświetleniem wpisywnej przez użytkownik wrtości n wyświetl czu. Pozycj n której wypisywn jest wrtość n displeju powinn być określon przed jej wywołniem w re jestrze B. W nszym przykłdzie dzięki tej procedurze możesz wprowdzić skłdniki testownego dziłni. A2HEX : procedur wyświetleni n displeju w postci szesnstkowej (n 2 wyświetlczch) ktulnej zwrtoś ci kumultor. Podobnie jk poprzed nio pozycj od której m być wypisn liczb musi być określon w rejestrze B. W nszym przykłdzie dzięki tej pro cedurze wyświetlny jest wynik oper cji n wyświetlczch DL7 i DL8. DELAY : procedur opóźnieni, czs opóźnieni jest podwny w kumulto rze przed wywołniem procedury mnożnik wynosi około 1,95 ms. Jeżeli ztem wpiszemy do kumultor wr tość 255 to po wywołnie procedury DELAY będzie trwło ok. 255 x 1,95 ms = 497 ms czyli około 0,5 sekundy. Zsto sownie tej procedury w nszym przy kłdzie m umożliwić Ci obserwcję wy konywni progrmu krok po kroku. d) dowolny tekst znjdujący się z zn kiem średnik ; jest trktowny jko komentrz i nie jest brny pod uwgę podczs kompilcji progrmu w przy pdku korzystni z kompiltor n komputer PC. Uwgi zwrte w ko mentrzu są brdzo przydtne podczs nlizy progrmu. e) w przykłdowym listingu większość in strukcji jest Ci jeszcze nie znn, są one jednk niezbędne do wykonni tej lekcji, toteż proszę trktuj je jko do myślne, więcej informcji n ich temt w kolejnym numerze EdW. Dl niekomputerowców : Korzystjąc z funkcji monitor Edit nleży wklepć kod progrmu, korzyst jąc z listingu powyżej, od dresu 8000h. Dl ułtwieni podję że pierwsze bjty kodu to: 12, 02, 74, 75, F0, 01, 75, 78, 40, 75, 79, 40, 12, 03, A7, 12, 80, 36, C0, E0 itd.... Wytrwłym proponuję nlizę i prze tłumczenie (tbel instrukcji we wkłd ce) kilku pierwszych lub cłego listingu progrmu nstępnie porównnie efek tów swojej prcy z kodmi podnymi w nszym przykłdzie. f) `w nszym listingu w linii o dresie 8026h znjduje się włściw instrukcj testując dziłnie dnej funkcji ryt metyczno logicznej (zciemnion lini). W przykłdzie nszym znjduje się in strukcj ADD dodwni. W przypdku chęci zstosownie in nej funkcji nleży w miejsce kodu 25 F0 (pod dresem 801A) wpisć odpo wiednie dl poszczególnych instrukcji, ciągi bjtów: dl SUBB wpisć: 95 F0 dl ANL wpisć: 55 F0 dl ORL wpisć: 45 F0 dl XRL wpisć: 65 F0 korzystjąc z funkcji Edit monitor. Uwg, w przypdku testowni instruk cji SWAP A nleży wpisć liczby: C4 00. Zuwżmy wszkże że poprzednie in strukcje były dwubjtowe, t osttni zś jest 1 bjtow. dltego n pozycji drugiego bjtu wpisłem 00 co jest kodem mszy nowym instrukcji NOP nie rób nic. Instrukcję NOP poznsz dokłdnie w kolej nym numerze EdW. N rzie powiem Ci tylko że podczs wykonywni instrukcji NOP procesor nie robi nic czyli de fcto leniuchuje przez jeden cykl mszynowy (12 cykli zegr). Zstosownie tej instruk cji przy modyfikcji kodu z poziomu moni tor (funkcj Edit) jest uzsdnione, bo wiem jest on niejko wypełniczem brkującego bjtu kodu o dresie: 8027h. Przy wprowdzniu dnych podczs testu instrukcji SWAP pierwszy skłdnik nie jest brny pod uwgę (bo instrukcj SWAP jest 1 rgumentow), toteż możn wpisć do wolną wrtość njlepiej 00. Po modyfikcjch nleży opuścić funk cję Edit i uruchomić ponownie pro grm komend monitor Jump, n stępnie sprwdzić dziłnie nowo wpro wdzonej instrukcji. Dl komputerowców: Uwg: przy przeglądniu i modyfikcjch nszego przykłdu korzystj z DOSowego Norton Commnder! Znim zczniesz zbwę przeczytj uwżnie plik inform cyjny ASM51.DOC. N dyskietce z kompiltorem ASM51 znjduje się zbiór źródłowy z nszym przy kłdem pod nzwą LEKCJA2.S03. Po winieneś wykonć nstępujące czynności: skompilowć przykłd do postci m szynowej, skorzystj z progrmu ws dowego DO.BAT, wydj komendę: > DO LEKCJA2 {Enter} złduj progrm do komputerk (ko mend Lod monitor) Też to potrfisz uruchom progrm (komend Jump ) njpierw z instrukcją rytmetyczną ADD (domyślnie znjduje się w pliku LEKCJA2.S03) wykonj kilk dziłń n przykłdowych liczbch zmodyfikuj plik źródłowy (klwisz F4 w Nortonie) czyli linię z instrukcją ADD zmień n inne instrukcje pod ne wcześniej w ćwiczeniu: SUBB, ANL, ORL, XRL, wpisując je w miejs ce ADD (uwg: wielkość liter nie m znczeni) skompiluj ponownie progrm i złduj do komputerk uruchom ponownie progrm i wykonj kilk dziłń sprwdzjąc n krtce p pieru lub klkultorze poprwność dzi łni poszczególnych instrukcji. Przy okzji zjrzyj do powstłych w wyniku kompilcji zbiorów: listingu : LEKCJA2.LST zbioru : LEKCJA2.HEX zpisnego w formcie Intel HEX. Więcej n temt tego formtu dnych możesz dowie dzieć się z rtykułu w nszym brtnim piśmie Elektronik Prktyczn nr 10/97 n stronie 75. N łmch nsze go kursu wrócimy przy innej okzji do tego temtu. Postrj się zpoznć ze zbiorem typu listing. Przeksztłć ręcznie dowolne li nie progrmu (korzystjąc z tbeli we wkłdce w tym numerze EdW) i porów nj otrzymne kody poszczególnych lini i z tymi w zbiorze LEKCJA2.LST. Jko przykłdy proponuję wykonć n stępujące opercje: ) test funkcji ADD: rgumenty: 12h, 67h wynik: 79h rgumenty: FEh, 02h wynik: 00h b) test funkcji SUBB: (uwg: tu 1 szy r gument jest odejmowny od 2 go!) rgumenty: 12h, 67h wynik: 55h rgumenty: F0h, 05h wynik: 15h c) test funkcji ANL: rgumenty: 1Fh, EEh wynik: 0Eh rgumenty: F0h, 0Fh wynik: 00h d) test funkcji ORL: rgumenty: 7Eh, 80h wynik: FEh rgumenty: 70h, 09h wynik: 79h e) test funkcji XRL: rgumenty: 25h, 6Bh wynik: 4Eh rgumenty: 55h, AAh wynik: FFh f) test funkcji SWAP: rgumenty: pierwszy nie istotny, 78h wynik: 87h rgumenty: pierwszy nie istotny, 39h wynik: 93h Zuwż że wszystkie instrukcje dziłją n liczbch 8 bitowych, toteż w przypd ku przekroczeni zkresu tych liczb infor mcj o wyniku jest częściowo trcon. Życzę wesołej zbwy i dużo wytrw łości! Słwomir Surowiński 41