ASEMBLER MCS-51 Podstawowe informacje

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

Download "ASEMBLER MCS-51 Podstawowe informacje"

Transkrypt

1 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Zakład Cybernetyki i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA ASEMBLER MCS-51 Podstawowe informacje Opracował: mgr inŝ. Andrzej Biedka

2 W technice cyfrowej stosowana jest logika dwuwartościowa system binarny. Oznacza to występowanie dwóch stanów logicznych 0 i 1, czasem definiowanych jako LOW i HIGH. Takie stany logiczne mogą być reprezentowane przykładowo przez napięcie elektryczne. rodzina układów cyfrowych TTL w wersji standardowej (zasilanej napięciem +5V) definiuje następujące poziomy logiczne: - LOW napięcie w zakresie 0 0,8V - HIGH napięcie w zakresie 2,4V 5,0V (ściślej 2,4V Vcc, napięcia zasilania) Pojedynczemu sygnałowi elektrycznemu moŝemy przypisać dwa stany logiczne: PRAWDA i FAŁSZ, przy czym sprawą umowną jest określenie czy PRAWDA ma być reprezentowana przez LOW czy przez HIGH. Jest to jednocześnie najmniejsza jednostka informacji nazwana bitem. Dla przedstawienia informacji bardziej złoŝonej (przykładowo cyfry systemu dziesiętnego, litery alfabetu) uŝywa się zespołów, grup bitów. Najpowszechniej jednostką przyjętą jest bajt będący grupą ośmiu bitów. Bajt moŝe przyjąć 2 8 = 256 stanów, w zakresie od 0 do 255. Mikroprocesory cyfrowymi, scalonymi układami programowalnymi. W toku pracy wykonują kolejne rozkazy programu umieszczone w pamięci programu. Rozkazy zapisywane w postaci słów o ilości bitów zaleŝnej od konkretnego typu mikroprocesora czy mikrokontrolera. Wśród mikrokontrolerów najliczniejszą grupę stanowią mikrokontrolery 8-bitowe. Rozkazy mikrokontrolera mogą być zawarte w jednym lub w kilku bajtach. ZaleŜne jest to od rodzaju rozkazu oraz ewentualnej obecności argumentów w danym rozkazie, np. stałej, adresu. Operacja: A := Rn, prześlij do akumulatora zawartość rejestru Rn, gdzie n oznacza numer rejestru w zakresie 0 7. Liczba bajtów: 1 D7 D0 Kod rozkazu n n n Przykład wykonania rozkazu: przed: A = xx Rn = 55h po: A = 55h Rn = 55h W rozkazie 5 starszych bitów określa czynność (przesłanie zawartości rejestru Rn do akumulatora) natomiast 3 młodsze bity określają numer rejestru. 2

3 Operacja: A := data, załaduj do akumulator stałą data Liczba bajtów: 2 D7 D0 Kod rozkazu bajt 1 data bajt 2 Jak wspomniano wyŝej program pracy mikroprocesora składa się z ciągu rozkazów, czasem o długościach bardzo duŝych. Pisanie programu w kodzie binarnym (maszynowym) jest czynnością bardzo uciąŝliwą, czasochłonną i podatną na błędy. W celu uproszczenia procesu tworzenia oprogramowania Są opracowano języki opisu rozkazów mikroprocesora dość bardziej przyjazne człowiekowi, łatwiejsze w zrozumieniu. Pierwszym takim językiem był asembler. ASEMBLER określa dwa pojęcia: 1. język zapisu rozkazów danego mikroprocesora lub mikrokontrolera (kaŝdy mikroprocesor ma swój własny asembler) 2. program komputerowy słuŝący do tłumaczenia tekstu programu napisanego w języku asemblera na kod maszynowy (zrozumiały dla mikroprocesora) Asembler jako język. Lista rozkazów kaŝdego mikroprocesora przedstawiona jest w postaci tzw. kodów mnemonicznych rozkazów. to najczęściej kilkuliterowe symbole rozkazów, w oczywisty sposób przedstawiające działanie poszczególnych rozkazów symbole pochodzą z języka angielskiego. Rozkazy z listy mikrokontrolera rodziny MCS 51 Mnemonik Rozwinięcie Czynność MOV move prześlij JMP jump skocz INC increment zwiększ o 1 DEC decrement zmniejsz o 1 RL rotate left obróć o jeden bit w lewo DJNZ decrement register and jump if not zero zmniejsz zawartość rejestru i skocz jeśli jest róŝny od zera Przykład wykonania rozkazu: przed: A = xx po: A = data Pierwszy bajt rozkazu określa czynność (przesłanie następnego bajtu zapisanego w pamięci programu do rejestru akumulatora), drugi bajt zawiera Ŝądana stałą. 3

4 PoniewaŜ rozkazy dotyczą konkretnych obiektów (rejestry, komórki pamięci, adresy) to informacje o tych obiektach, nazywane operandami lub argumentami, muszą być umieszczone w rozkazie. Zatem kaŝdy rozkaz będzie zbudowany według następującej zasady: Pole rozkazu separator Pole operandu(ów) Mnemonik rozkazu tabulator lub Operand (operandy) spacja MOV A, R2 lub mov a, r2 Rozkazy oraz operandy mogą być pisane małymi lub duŝymi literami. Jako separatora lepiej jest stosować znak tabulacji, ze względu na lepszą czytelność tekstu programu. Operandy jeśli jest ich więcej niŝ jeden naleŝy oddzielać znakiem przecinka. Istnieją rozkazy, które nie wymagają operandu, np.: NOP (ang. no operation nic nie rób) W asemblerach procesorów firmy Intel dla rozkazów przesłań przyjęto odwrotną kolejność operandów. Pierwszy operand wskazuje na obiekt docelowy (ang. destination) natomiast drugi operand wskazuje obiekt źródłowy (ang. source). W podanym wyŝej przykładzie rozkaz brzmi: przenieś (ściślej: kopiuj) zawartość rejestru R2 do rejestru akumulatora. Podane zasady niezbędne dla przygotowania tekstu źródłowego (w pliku tekstowym!) danego programu do automatycznego tłumaczenia na kod maszynowy, przy pomocy komputerowych programów tłumaczących czyli asemblerów. Asembler jako program tłumaczący. Do przetłumaczenia kodu źródłowego napisanego przez programistę na kod maszynowy, wykonywany przez mikroprocesor słuŝą programy nazwane asemblerami. Ze względu na unikalność listy rozkazów kaŝdego typu procesora (choć występują róŝne typy mikroprocesorów mające identyczną listę będącą rozkazów lub podzbiorem listy rozkazów innego typu) naleŝy zawsze stosować właściwy asembler. Niektóre asemblery mogą obsługiwać wiele typów mikroprocesorów, a wyboru typu dokonuje się bądź w opcjach programu określa się go w tekście pliku źródłowego. Naturalnie tekst źródłowy programu musi być tworzony według pewnych zasad, tak by program asemblera mógł go prawidłowo interpretować. Ogólna zasada pracy programu asemblera: Asembler analizuje tekst źródłowy linia po linii. Linia tekstu zakończona jest znakami CR (ang. carriage return powrót karetki) i LF (ang. line feed wysuw linii, nowa linia). Znaki te wpisywane do tekstu po naciśnięciu klawisza ENTER. Program dopuszcza linie puste, czyli posiadające tylko znaki CR,LF. Jedna pełna linia wprowadzana jest do bufora pamięci programu asemblera. Następnie program zaczyna analizę ciągów znaków zaczynając od pierwszego znaku róŝnego od spacji lub tabulacji. 4

5 Linia tekstu programu źródłowego: MOV A, R2 - tekst widoczny MOV A, R2 - znaki w linii znak tekst znak tekst znak znak tabulacji MOV tabulacji A, R2 CR LF - znaki w linii W podanym przykładzie pierwszym ciągiem znaków jest ciąg MOV. Asembler porównuje ten ciąg z własną rozkazów danego mikroprocesora. PoniewaŜ ciąg MOV występuje na liście i oznacza instrukcję wymagającą dwóch operandów program analizuje dalszą część linii szukając ciągu znaków określających operandy. Następny ciąg znaków A, R2 zostaje równieŝ porównany z wewnętrzną listą moŝliwych operandów. PoniewaŜ operandy prawidłowe i następnymi w tej linii znaki końca linii, asembler moŝe przyporządkować będą danej linii kod maszynowy zidentyfikowanego rozkazu korzystając ze swojej tablicy kodów. Program pobiera zawartość następnej linii powtarzając powyŝsze czynności. Jeśli w danej linii zostaje wykryty błąd (np.: literowy zamiast MOV będzie MOW, lub błędne operandy) asembler zasygnalizuje ten fakt w raporcie końcowym i oczywiście nie wygeneruje kodu wynikowego danego programu. Jeśli tekst źródłowy programu jest poprawny pod względem formalnym asembler wygeneruje kod wynikowy (maszynowy) i umieści go w pliku o rozszerzeniu *.hex. Plik ten jest plikiem ładowanym do programu zajmującego się zaprogramowaniem pamięci mikrokontrolera. W laboratorium uŝywany jest w tym celu program ISP PROG. Przedstawiony sposób pracy jest uproszczony, choć oddający zasadę pracy. Asembler w odróŝnieniu od kompilatora słuŝącego do programowania w językach wysokiego poziomu dokonuje tylko bezpośredniego tłumaczenia tekstu programu napisanego w języku asemblera na kod maszynowy mikroprocesora. KaŜdej instrukcji tekstu źródłowego odpowiada jeden rozkaz w kodzie maszynowym, przy czym moŝe to być jeden, dwa lub trzy bajty. Informacje zamieszczone poniŝej odnoszą się zasadniczo do asemblera będącego częścią środowiska IDE (ang. Integrated Devlelopment Enviroment zintegrowane środowisko programistyczne) stosowanego w laboratorium Techniki Mikroprocesorowej czyli M-IDE Studio for MCS-51. NaleŜy zaznaczyć, Ŝe obsługa tego asemblera jest zbliŝona do obsługi wielu innych asemblerów. Szczegółowa dokumentacja asemblera dostępna jest w menu Help Asem-51 Manual środowiska M-IDE Studio. 5

6 Elementy linii tekstu źródłowego: Linia tekstu źródłowego moŝe zawierać maksimum 255 znaków w następujących elementach (polach): [etykieta:] [rozkaz [operandy] ] [;komentarz] KaŜdy z elementów jest opcjonalny, czyli nie zawsze występuje. Elementy mogą być pisane małymi lub duŝymi literami zapis jest równowaŝny. - etykieta ciąg znaków pozwalający na określenie połoŝenia w kodzie źródłowym, czyli inaczej mówiąc określa jej bieŝący adres. Etykieta musi zaczynać się od początku linii, musi zakończona znakiem dwukropka bezpośrednio po ostatnim jej znaku. Etykieta musi zaczynać się literą, moŝe dowolną kombinację zawierać liter, cyfr, znaku? i znaku podkreślenia _. Długość etykiety moŝe być dowolna (ograniczona długością będą linii) ale tylko pierwsze 31 znaków jest waŝne. Pozostałe znaki ignorowane, mogą być choć pomocne dla czytelności tekstu programu. W praktyce stosuje się nazwy etykiet znacznie krótsze niŝ 31 znaków. Dla dobrej czytelności linia programu z etykietą nie powinna zawierać innych elementów. - rozkaz mnemonik rozkazu. Powinien być poprzedzony znakiem tabulacji czyni to program bardziej czytelnym. - operand informacja o obiektach, których dotyczy rozkaz. Jeśli rozkaz wymaga więcej niŝ jednego operandu naleŝy je oddzielać przecinkiem i ewentualnie spacją. Podobnie jak rozkaz powinien być poprzedzony znakiem tabulacji czyni to program bardziej czytelnym. - komentarz musi zaczynać się od znaku średnika. Stosowany jest do opisu działania poszczególnych rozkazów, grup rozkazów, fragmentów programu. MoŜe być umieszczony w dowolnym miejscu linii, równieŝ od początku linii. Obowiązuje do końca linii, tzn. jeśli w programie konieczny jest dłuŝszy komentarz kaŝda linia musi zaczynać się od znaku średnika. Przykłady tekstów programu: Zapis nieprawidłowy: MOV R1,#100 ; załaduj liczbę 100 do R1 PETLA: DEC R1 ; zmniejsz R1 MOV A,R1 ; prześlij zawartość R1 do akumulatora JNZ PETLA ; skocz jeśli R1 jest > 0 Wskutek nieprzestrzegania reguł budowy linii programu tekst jest trudno czytelny, chociaŝ program asemblera przetłumaczy go prawidłowo. 6

7 Zapis prawidłowy: MOV R1,#100 ; załaduj liczbę 100 do R1 PETLA: DEC R1 ; zmniejsz R1 MOV A,R1 ; prześlij zawartość R1 do akumulatora JNZ PETLA ; skocz jeśli R1 jest > 0 Stosowanie znaków tabulacji jako separatorów pól znacznie poprawiło czytelność tekstu programu. Wyraźnie widoczne kolumny etykiet, rozkazów, operandów i komentarzy. Polecenia dla asemblera dyrektywy asemblera: Oprócz właściwego tekstu programu, który ma być przetłumaczony na kod maszynowy w kodzie źródłowym muszą znaleźć się dodatkowe informacje umoŝliwiające asemblerowi proces tłumaczenia. Informacje te umieszczane w tzw. dyrektywach. Dyrektywy umieszczane w osobnych liniach, od początku linii lub lepiej po znaku tabulacji. Oczywiście moŝna w takiej linii zawrzeć komentarz, choć nie jest to stosowane ze względu na zdefiniowaną funkcję kaŝdej dyrektywy. Stałe sposoby zapisu: Asembler akceptuje stałe numeryczne zapisywane w róŝnych systemach liczbowych. Sposoby zapisu przedstawia poniŝsza tabela: ją Typ stałej Cyfry Przyrostek Przykład binarna 0,1 B B 110B dziesiętna 0 9 D lub brak 29D 255 szesnastkowa 4CH 0 - F H (heksadecymalna) 0E7H znakowa znaki pisarskie - A UWAGA!!! W zapisie heksadecymalnym jeśli najstarsza cyfra znacząca liczby jest większa od 9 to naleŝy poprzedzić zerem. 7

8 Podstawowe dyrektywy: - END dyrektywa oznaczająca koniec tekstu do tłumaczenia. Konieczność jej stosowania wynika z zasady pracy asemblera cykliczne pobieranie nowych linii do analizy. NaleŜy zwracać uwagę by ciąg znaków END nie występował w tekście programu, bo zostanie on potraktowany jako dyrektywa końca tekstu. - ORG dyrektywa definiująca zawartość licznika rozkazów w danym miejscu kodu maszynowego. Na początku programu zawsze musi być umieszczona ta dyrektywa z przypisanym adresem 0, bo taka jest zawartość licznika rozkazów przy starcie mikroprocesora po sygnale RESET. Składnia dyrektywy: ORG adres ORG 0 - EQU dyrektywa definiująca symbol dla stałej lub nazwę dla rejestru. Wskazane jest uŝywanie w operandach symbolicznych nazw stałych zamiast ich bezpośrednich wartości, zarówno ze względu na czytelność programu jak i łatwość dokonywania ewentualnych poprawek. W nazwach symbolicznych nie moŝna uŝywać polskich znaków diakrytycznych. Raz nadana nazwa symboliczna nie moŝe być przedefiniowana. Składnia dyrektywy: NazwaSymboliczna EQU Stała MNOZNIK EQU 200 ; przyjmij dla stałej 200 nazwę MNOZNIK LICZNIK EQU R7 ; nazwij rejestr R7 - SET dyrektywa działająca podobnie jak EQU, ale nazwa nadana dyrektywą SET jest moŝliwa do przedefiniowania w tekście programu. Nazwy nadane dyrektywami EQU i SET nie mogą być wzajemnie przedefiniowane. Składnia dyrektywy: NazwaSymboliczna SET Stała CZAS SET 200 ; przyjmij dla stałej 200 nazwę CZAS 8

9 - LOW operator wydzielania młodszego bajtu z liczby 16-bitowej. MOV TL0,#LOW 0C412H ; wpisz do rejestru TL0 bajt ; o wartości 12H - HIGH operator wydzielania starszego bajtu z liczby 16-bitowej. - DB dyrektywa rezerwująca i nadająca wartość bajtom w pamięci programu ROM. W linii moŝe być zdefiniowany jeden lub wiele bajtów (ograniczeniem jest maksymalna długość linii tekstu równa 255 znaków). Jeśli występuje wiele argumentów naleŝy je oddzielać przecinkiem. Znaki nawiasów [] wskazują tylko opcjonalność argumentów! Nie wpisuje się ich w tej dyrektywie. Składnia dyrektywy: MOV TH0,#HIGH 0C412H ; wpisz do rejestru TH0 bajt ; o wartości 0C4H DB arg1 [, arg2 [, arg3...]] DB 12 ; wpisz do pamięci programu bajt o wartości 12 DB B ; wpisz do pamięci programu bajt zdefiniowany ;binarnie DB 12, 13, 14, 15 ; wpisz do pamięci programu 4 kolejne bajty DB A ; wpisz do pamięci programu kod ASCII litery A DB DB A, B, C ; wpisz do pamięci programu 4 kolejne kody liter Automatyka ; wpisz do pamięci programu kody ASCII liter słowa ; Automatyka 9

10 - DW arg1 [, arg2 [, arg3...]] dyrektywa rezerwująca i nadająca wartość dwubajtowym słowom w pamięci programu ROM. W linii moŝe być zdefiniowane jedno lub wiele słów (ograniczeniem jest maksymalna długość linii tekstu równa 255 znaków). Jeśli występuje wiele argumentów naleŝy je oddzielać przecinkiem. Znaki nawiasów [] wskazują tylko opcjonalność argumentów! Nie wpisuje się ich w tej dyrektywie. Składnia dyrektywy: DW arg1 [, arg2 [, arg3...]] DW 2008 ; wpisz do pamięci programu słowo o wartości 2008 DW 1200, 0FF00H, 1314, 0 ; wpisz do pamięci programu 8 bajtów ;podanych jako słowa - BIT definiuj bit, nadaj bitowi nazwę symboliczną. Składania dyrektywy: NazwaSymboliczna BIT NazwaBitu - LED BIT P2.0 ; nadaj bitowi 0 portu P2 nazwę LED TXD BIT P3.0 ; nadaj bitowi 1 portu P3 nazwę TXD 10

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

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

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

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika: PRZYPOMNIJ SOBIE! Matematyka: Dodawanie i odejmowanie "pod kreską". Elektronika: Sygnały cyfrowe. Zasadę pracy tranzystorów bipolarnych i unipolarnych. 12. Wprowadzenie 12.1. Sygnały techniki cyfrowej

Bardziej szczegółowo

Systemy liczenia. 333= 3*100+3*10+3*1

Systemy liczenia. 333= 3*100+3*10+3*1 Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=

Bardziej szczegółowo

Wykład 4. Środowisko programistyczne

Wykład 4. Środowisko programistyczne Wykład 4 Dostępne kompilatory KEIL komercyjny GNU licencja GPL ARM komercyjny IAR komercyjny 2 Porównanie kompilatorów 3 Porównanie kompilatorów 4 Keil uvision Graficzny edytor Kompilator i linker Symulator

Bardziej szczegółowo

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Asembler ASMX51 INSTRUKCJA OBSŁUGI

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Asembler ASMX51 INSTRUKCJA OBSŁUGI Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51 Asembler ASMX51 INSTRUKCJA OBSŁUGI 2012 DK Wszystkie prawa zastrzeżone Kopiowanie, powielanie i rozpowszechnianie w jakiejkolwiek

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

Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego.

Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego. 1 Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego. Strukturę systemu mikroprocesorowego Z80 współpracującego z interfejsem monitora graficznego zbudowanego w oparciu o układ

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

SYSTEM PRZERWA Ń MCS 51

SYSTEM PRZERWA Ń MCS 51 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Zakład Cybernetyki i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA SYSTEM PRZERWA Ń MCS 51 Opracował: mgr inŝ. Andrzej Biedka Uwolnienie

Bardziej szczegółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

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

Kodowanie informacji. Przygotował: Ryszard Kijanka

Kodowanie informacji. Przygotował: Ryszard Kijanka Kodowanie informacji Przygotował: Ryszard Kijanka Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, ale także inne obiekty, takie jak litery, wartości logiczne, obrazy

Bardziej szczegółowo

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego

Programowanie w C++ 1 Opis procesora Sextium II. Opis procesora Sextium. materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego Programowanie w C++ Opis procesora Sextium materiały dydaktyczne udostępnione przez Tomasza Wierzbickiego 1 Opis procesora Sextium II Budowa procesora Sextium II 1 o architekturze typu RISC 2 jest przedstawiona

Bardziej szczegółowo

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych Politechnika Białostocka Wydział Mechaniczny Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Arytmetyka układów cyfrowych część 1 dodawanie i odejmowanie liczb binarnych Numer ćwiczenia: 1 Laboratorium

Bardziej szczegółowo

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED Ćwiczenie 2 Siedmiosegmentowy wyświetlacz LED 2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się studentów ze sposobem obsługi wielopozycyjnego 7-segmentowego wyświetlacza LED multipleksowanego programowo

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

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

Techniki multimedialne

Techniki multimedialne Techniki multimedialne Digitalizacja podstawą rozwoju systemów multimedialnych. Digitalizacja czyli obróbka cyfrowa oznacza przetwarzanie wszystkich typów informacji - słów, dźwięków, ilustracji, wideo

Bardziej szczegółowo

Podstawy Informatyki Języki programowania

Podstawy Informatyki Języki programowania Podstawy Informatyki Języki programowania alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Wprowadzenie Języki programowania 2 Przykład Wczytywanie programu do pamięci Podsumowanie 3 Przykład

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

Ćwiczenie 8 Kolory i znaki specjalne

Ćwiczenie 8 Kolory i znaki specjalne Ćwiczenie 8 Kolory i znaki specjalne W ćwiczeniu 8 zajmować się będziemy kolorami i znakami specjalnymi. Barwę moŝna utworzyć mieszając w odpowiednich proporcjach trzy kolory podstawowe: czerwony, zielony

Bardziej szczegółowo

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Stan wysoki (H) i stan niski (L)

Stan wysoki (H) i stan niski (L) PODSTAWY Przez układy cyfrowe rozumiemy układy, w których w każdej chwili występują tylko dwa (zwykle) możliwe stany, np. tranzystor, jako element układu cyfrowego, może być albo w stanie nasycenia, albo

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Pracownia Komputerowa wyk ad VII

Pracownia Komputerowa wyk ad VII Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy

Bardziej szczegółowo

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

Bardziej szczegółowo

Struktura programu w asemblerze mikrokontrolera 8051

Struktura programu w asemblerze mikrokontrolera 8051 Struktura programu w asemblerze mikrokontrolera 8051 Program w asemblerze, dający ten sam kod wynikowy, może być napisany na wiele sposobów. Źle napisany program po pewnym czasie (a być może już w czasie

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Język programowania: Lista instrukcji (IL Instruction List) Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy

Bardziej szczegółowo

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych Reprezentacja danych w systemach komputerowych Kod (łac. codex - spis), ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli) oraz reguła ich przyporządkowania

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Mikrokontrolery w mechatronice. Wstępne uwagi

Mikrokontrolery w mechatronice. Wstępne uwagi Mikrokontrolery w mechatronice Wstępne uwagi Wstępny program wykładu: Układy sterowania;układy programowalne. System binarny i heksadecymalny. Mikroprocesor i mikrokontroler - podobieństwa i różnice. Charakterystyka

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Pojęcie liczebności Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

Elementy składoweµc - przypomnienie

Elementy składoweµc - przypomnienie SWB - Programowanie mikrokontrolerów - wykład 8 asz 1 Elementy składoweµc - przypomnienie Elementy składoweµc: procesor z ALU pamięć komputera (zawierająca dane i program) urządzenia wejścia/wyjścia SWB

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny

Bardziej szczegółowo

Struktura pliku wejściowego ipko biznes przelewy zagraniczne (MT103 / CSV)

Struktura pliku wejściowego ipko biznes przelewy zagraniczne (MT103 / CSV) Struktura pliku wejściowego ipko biznes przelewy zagraniczne (T103 / CSV) 1 Spis treści 1. Informacje ogólne... 3 2. Struktura pliku PLA/T103... 3 2.1. Opis formatu pliku... 3 2.2. Struktura pliku... 4

Bardziej szczegółowo

Spis treści OPIS PLIKU W FORMACIE CSV Z DANYMI PPE LUB EP 1

Spis treści OPIS PLIKU W FORMACIE CSV Z DANYMI PPE LUB EP 1 O PIS PLIKU W F O R M A C I E CSV Z D A N Y M I PRZEKAZÓW PIENIĘŻNYCH L U B E K S PRESÓW PIENIĘŻNYCH D O K U M E N T A C J A T E C H N I C Z N A W E R S J A 4.0 L I P I E C 2 0 1 4 Spis treści 1. Struktura

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Pojęcie liczebności Naturalna zdolność człowieka do postrzegania

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie. TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej

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

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne

Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne Architektury Komputerów - Laboratorium Informatyka III rok studia dzienne Ćwiczenie nr 3: Komunikacja szeregowa w systemach mikroprocesorowych Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z systemami

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

Komunikacja człowiek-komputer

Komunikacja człowiek-komputer Komunikacja człowiek-komputer Wykład 3 Dr inż. Michał Kruk Komunikacja człowiek - komputer dr inż. Michał Kruk Reprezentacja znaków Aby zakodować tekst, trzeba każdej możliwej kombinacji bitów przyporządkować

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda

Bardziej szczegółowo

Technika mikroprocesorowa. Języki programowania mikrokontrolerów

Technika mikroprocesorowa. Języki programowania mikrokontrolerów Języki programowania mikrokontrolerów Przed rozpoczęciem pisania kodu źródłowego programu należy zdecydować się na wybór określonego języka programowania. Stosuje się dwa rodzaje języków programowania

Bardziej szczegółowo

Podstawy Informatyki Języki programowania c.d.

Podstawy Informatyki Języki programowania c.d. Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład

Bardziej szczegółowo

Kodowanie informacji. Kody liczbowe

Kodowanie informacji. Kody liczbowe Wykład 2 2-1 Kodowanie informacji PoniewaŜ komputer jest urządzeniem zbudowanym z układów cyfrowych, informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego,

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

imei Instytut Metrologii, Elektroniki i Informatyki

imei Instytut Metrologii, Elektroniki i Informatyki PODSTAWY TECHNIKI MIKROPROCESOROWEJ Laboratorium Elektrotechnika, studia stacjonarne pierwszego stopnia Temat: Wprowadzenie do programowania mikrokontrolerów rodziny MCS-51 imei Instytut Metrologii, Elektroniki

Bardziej szczegółowo

1. Dyrektywy asemblerowe

1. Dyrektywy asemblerowe 1. Dyrektywy asemblerowe Asembler A51 ma kilka dyrektyw, które pozwalają na definiowanie symboli, wartości, rezerwację i inicjalizację pamięci oraz sterowanie umiejscowieniem kodu programu. Dyrektywy nie

Bardziej szczegółowo

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2 - 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler

Programowanie hybrydowe C (C++) - assembler. MS Visual Studio Inline Assembler Programowanie hybrydowe C (C++) - assembler MS Visual Studio Inline Assembler Wprowadzenie Możliwość wprowadzania kodu asemblerowego bezpośrednio w kodzie źródłowym w języku C lub C++ Nie wymagany MASM

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe

Bardziej szczegółowo

Laboratorium 10: Maszyna stanów

Laboratorium 10: Maszyna stanów Wojciech Myszka Laboratorium 10: Maszyna stanów 2016-05-07 09:05:39 +0200 1. Wprowadzenie Laboratorium poświęcone jest operacjom na napisach (ciągach znaków). Przypominam, że: a to stała typu char o wartości

Bardziej szczegółowo

Podstawy programowania w BASCOM BASIC AVR

Podstawy programowania w BASCOM BASIC AVR Podstawy programowania w BASCOM BASIC AVR Tworzenie programu 1. Uruchamiamy aplikację BASCOM AVR. 2. Tworzymy plik programu lub otwieramy i ewentualnie edytujemy istniejący. 3. Sprawdzamy, czy ustawienia

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

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

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Instrukcja warunkowa i złoŝona.

Instrukcja warunkowa i złoŝona. Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację

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

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

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Formaty obrazów rastrowych biblioteki PBM

Formaty obrazów rastrowych biblioteki PBM Formaty obrazów rastrowych biblioteki PBM Reprezentacja obrazu Obrazy pobierane z kamery, bądź dowolnego innego źródła, mogą być składowane na pliku dyskowym w jednym z wielu istniejących formatów zapisu

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

Arytmetyka komputera

Arytmetyka komputera Arytmetyka komputera Systemy zapisu liczb System dziesiętny Podstawą układu dziesiętnego jest liczba 10, a wszystkie liczby można zapisywać dziesięcioma cyframi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jednostka

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

DSM-51 v2 Dydaktyczny System Mikroprocesorowy. DSM51ASS (Asembler 8051) wersja 1.01

DSM-51 v2 Dydaktyczny System Mikroprocesorowy. DSM51ASS (Asembler 8051) wersja 1.01 DSM-51 v2 Dydaktyczny System Mikroprocesorowy DSM51ASS (Asembler 8051) wersja 1.01 Producent: ------------------------------------------------------------ MicroMade Systemy Mikroprocesorowe Siedziba Firmy:

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci Laboratorium 1: Wprowadzenie do środowiska programowego oraz podstawowe operacje na rejestrach i komórkach pamięci Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji

Bardziej szczegółowo

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie: Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)

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

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

A Machine Architecture that is Really Intuitive and Easy.  Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym MARIE A Machine Architecture that is Really Intuitive and Easy http://computerscience.jbpub.com/ecoa Słowo 16b Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym od 8000h (- 32,768 = -2^15) do 7FFFh

Bardziej szczegółowo