Architektura Systemów Komputerowych
|
|
- Grażyna Czajka
- 8 lat temu
- Przeglądów:
Transkrypt
1 Jarosław Kuchta Architektura Systemów Komputerowych ćwiczenie 3 Arytmetyka całkowita instrukcja laboratoryjna Wprowadzenie Celem ćwiczenia jest zapoznanie się z budową i sposobem działania jednostki arytmetyczno-logicznej (ALU) w architekturze IA32. Jednostka arytmetyczno-logiczna Podstawowym elementem budowy kaŝdego procesora jest jednostka arytmetycznologiczna (ALU Arithmetical and Logical Unit). Jednostka ta wykonuje rozkazy arytmetyczne, rozkazy logiczne, rozkazy porównań na liczbach całkowitych. Schemat pracy ALU ilustruje następujący rysunek: DST SRC FLAGS TMP Jednostka arytmetyczno-logiczna ma dwa wejścia wielobitowe (w architekturze IA32 32-bitowe). Na wejścia te są podawane wartości dwóch operandów rozkazu. Pierwszym z tych operandów (DST) jest zawsze rejestr ogólnego przeznaczenia, rejestr indeksowy lub rejestr wskaźnikowy. Drugim z operandów (SRC) jest rejestr ogólnego przeznaczenia, rejestr indeksowy, rejestr wskaźnikowy, komórka pamięci (podwójne słowo). MoŜe być on teŝ ustawiany na wartość stałą zapisaną w rozkazie. Wynik operacji arytmetycznej lub logicznej jest zapisywany w rejestrze tymczasowym (TMP) o tej samej długości, co operandy wejściowe. Po ustaleniu wyniku operacji jest on przepisywany z rejestru tymczasowego (TMP) do rejestru określonego jako pierwszy operand (DST) 1. W czasie wykonania rozkazu jednostka arytmetycznologiczna ustawia dodatkowo rejestr flag zgodnie z wartością wyniku i warunkami występującymi w czasie wykonania rozkazu. Rozkazy sterujące procesora mogą 1 W pierwszych procesorach Intela operandem DST mógł być tylko wybrany rejestr procesora, tzw. akumulator. Nazwa ta jest w architekturze IA32 przypisywana zgodnie z tradycją rejestrowi EAX (AX, AL), chociaŝ rejestr ten utracił juŝ swoją tradycyjną, wyróŝnioną rolę. 1
2 wykorzystywać znaczniki zapisane w rejestrze flag do sterowania dalszym wykonaniem programu. Rozkazy arytmetyczne operacje dodawania i odejmowania Procesor architektury IA32 realizuje cztery podstawowe operacje arytmetyczne: dodawania (rozkazy ADD, ADC), odejmowania (rozkazy SUB, SBB) mnoŝenia (rozkazy MUL, IMUL) dzielenia (rozkazy DIV, IDIV) Rozkazy dodawania i odejmowania operują na całkowitych liczbach 32-bitowych. Liczby te mogą być traktowane jako liczby bez znaku lub liczby ze znakiem (w kodowaniu U2). Sposób wykonywania operacji w obu przypadkach jest taki sam. Schemat wykonania operacji dodawania bazuje na sekwencji operacji dodawania dwóch bitów z ewentualnym dodaniem przeniesienia z poprzedniej pozycji i ewentualnym wygenerowaniem przeniesienia na następną pozycję: DST[i] SRC[i] C i+1 + C i TMP[i] Stany wejść i wyjść podstawowej komórki dodającej mogą być następujące: C i+1 TMP[i] DST[i] SRC[i] C i Dwa rozkazy dodawania ADD i ADC róŝnią się tym, Ŝe w rozkazie ADD przeniesienie początkowe (C 0 ) jest ustawiane na 0, a w ADC przeniesienie początkowe jest ustawiane na wartość znacznika CF z rejestru flag. Przeniesienia z pozycji ostatniej (C 32 ) oraz przedostatniej (C 31 ) są wpisywane odpowiednio do znaczników CF (Carry Flag) i OF (Overflow Flag). Znacznik CF moŝe być wykorzystany dla dodawania liczb większych niŝ 32-bitowe w kilku krokach. Wówczas pierwszy rozkaz dodawania powinien być ADD, a drugi (i ew. kolejne ADC. Przykład: 2
3 Qword1 DQ? Qword2 DQ? MOV EAX, DWORD PTR Qword1 MOV EBX, DWORD PTR Qword2 ADD EAX, EBX MOV DWORD PTR Qword1, EAX MOV EAX, DWORD PTR Qword1+4 MOV EBX, DWORD PTR Qword2+4 ADC EAX, EBX MOV DWORD PTR Qword1+4, EAX Znacznik OF moŝe być wykorzystany do sprawdzenia, czy w czasie operacji na liczbach całkowitych ze znakiem (!) nie wystąpił nadmiar. Operacja odejmowania jest wykonywana analogicznie do operacji dodawania, z tą róŝnicą, Ŝe bit przeniesienia z pojedynczej komórki odejmującej jest traktowany jako poŝyczka z następnej pozycji. Stany komórki odejmującej mogą być następujące: C i+1 TMP[i] DST[i] SRC[i] C i Rozkazy odejmowania SUB i SBB róŝnią się tym, Ŝe w rozkazie SUB poŝyczka początkowa (C 0 ) jest ustawiana na 0, a w SBB poŝyczka początkowa jest ustawiana na wartość znacznika CF z rejestru flag, co umoŝliwia kaskadowe odejmowanie liczb większych niŝ 32-bitowe. W rozkazach dodawania i odejmowania oprócz flag CF i OF ustawiane są teŝ pozostałe flagi rejestru FLAGS w sposób następujący: PF (Parity Flag) ustawiana na 1 jeśli 8 najmłodszych bitów wyniku ma parzystą liczbę jedynek, w przeciwnym wypadku ustawiana na 0. AF (Auxiliary carry Flag) ustawiana na przeniesienie z pozycji trzeciej (C 4 ) wykorzystywana przy rozkazach arytmetyki BCD. ZF (Zero Flag) ustawiana na 1 jeśli wynik jest równy 0, w przeciwnym wypadku ustawiana na 0. SF (Sign Flag) ustawiana na 1 jeśli bit znaku wyniku jest równy 1, w przeciwnym wypadku ustawiana na 0. Operacje mno enia W operacji mnoŝenia liczb całkowitych wynik mnoŝenia jest dwa razy dłuŝszy niŝ długość operandów. W architekturze IA32 istnieją trzy wersje rozkazu mnoŝenia MUL: mnoŝenie AL przez drugi operand (rejestr 8-bitowy lub bajt pamięci), wynik w AX (AH część starsza, AL część młodsza wyniku) 3
4 mnoŝenie AX przez drugi operand (rejestr 16-bitowy lub słowo pamięci), wynik w DX:AX (DX część starsza, AX część młodsza wyniku) mnoŝenie EAX przez drugi operand (rejestr 32-bitowy lub podwójne słowo pamięci), wynik w EDX:EAX (EDX część starsza, EAX część młodsza wyniku) Jeśli starsza część wyniku jest róŝna od zera, to do znaczników OF i CF wpisywane są jedynki, jeśli jest równy zero, to wpisywane są zera. Stan pozostałych znaczników jest nieokreślony. Istnieje rozkaz MUL dla mnoŝenia bez znaku oraz IMUL dla mnoŝenia ze znakiem. Rozkaz IMUL potrafi wymnoŝyć dowolny rejestr 8-, 16- lub 32-bitowy przez inny rejestr tej samej długości, tej samej długości komórkę pamięci lub wartość stałą. Wynik jest tej samej długości, co pierwszy operand. Rozkazy dzielenia Dzielenie jest operacją odwrotną do mnoŝenia. Operand pierwszy (dzielna) jest podwójnej długości. Oprócz wyniku dzielenia (który jest całkowity), podawana jest teŝ reszta z dzielenia. W architekturze IA32 istnieją trzy wersje rozkazu dzielenia: dzielenie AX przez drugi operand (rejestr 8-bitowy lub bajt pamięci), wynik w AL, reszta z dzielenia w AH dzielenie DX:AX przez drugi operand (rejestr 16-bitowy lub słowo pamięci), wynik w AX, reszta z dzielenia w DX dzielenie EDX:EAX przez drugi operand (rejestr 32-bitowy lub podwójne słowo pamięci), wynik w EAX, reszta z dzielenia w EDX Po dzieleniu stan wszystkich ww. znaczników jest nieokreślony. Jeśli dzielnik jest równy zero lub wynik dzielenia nie mieści się w odpowiednim rejestrze (AL, AX albo EAX), to generowany jest wyjątek. Istnieje rozkaz DIV dla dzielenia bez znaku i IDIV dla dzielenia ze znakiem Operacje logiczne Jednostka arytmetyczno-logiczna wykonuje trzy operacje logiczne na bitach operandów (w IA32 operandów 32-bitowych): operację AND operację OR operację XOR Operacje te są wykonywane na wszystkich bitach jednocześnie przeniesienie nie występuje. Stany pojedynczej komórki mogą być następujące: TMP[i] TMP[i] TMP[i] DST[i] SRC[i] (XOR) (OR) (AND)
5 PoniewaŜ nie występuje przeniesienie, więc: znaczniki OF i CF są ustawiane na 0, stan znacznika AF jest nieokreślony. Pozostałe znaczniki są ustawiane tak, jak dla operacji dodawania i odejmowania. Operacje negacji logicznej i arytmetycznej Są to operacje działające tylko na jednym operandzie. Rozkaz negacji logicznej (NOT) zamienia wszystkie bity operandu DST na przeciwne. Rozkaz negacji arytmetycznej (NEG) wpisuje do operandu DST wartość przeciwną. Rozkaz NOT moŝe być zrealizowany przez ALU jak rozkaz XOR z drugim operandem (SRC) ustawionym wewnętrznie na same jedynki. Rozkaz NEG moŝe być zrealizowany jako odejmowanie operandu DST od zera, albo przez zanegowanie wszystkich bitów i dodanie jedynki z przeniesienia C 0. Operacje porówna W architekturze IA32 występują dwa rodzaje porównań: porównanie arytmetyczne (CMP) i porównanie logiczne (TEST). Porównanie arytmetyczne (CMP) jest wykonywane tak samo jak operacja odejmowania (SUB), z tym jednym wyjątkiem, Ŝe wynik z rejestru tymczasowego TMP nie jest przepisywany do rejestru DST. Porównywanie logiczne (TEST) jest wykonywane samo jak operacja AND, z tym samym wyjątkiem. Operacje przesuni Operacje przesunięcia w lewo przypisują do kaŝdego bitu i rejestru TMP bit i-1 rejestru DST, a następnie przepisują cały rejestr TMP do rejestru DST. Analogicznie operacje przesunięcia w prawo przypisują do kaŝdego bitu i rejestru TMP bit i+1 rejestru DST. WyróŜnia się cztery rodzaje rozkazów przesunięcia w lewo/ w prawo: przesunięcie zwykłe (rozkazy SHL i SHR) na pierwszą pozycję (dla rozkazu SHL najmłodszą, dla rozkazu SHR najstarszą) wprowadzane jest zero, wartość ostatniego bitu jest wpisywana do znacznika CF; rotację (rozkazy ROL i ROR) na pierwszą pozycję wprowadzana jest wartość ostatniego bitu, wartość ta teŝ jest wpisywana do znacznika CF. rotację przez przeniesienie (rozkazy RCL i RCR) na pierwszą pozycję wprowadzana jest wartość znacznika CF, wartość ostatniego bitu jest wpisywana do znacznika CF; przesunięcie arytmetyczne (rozkazy SAL i SAR) uwzględnia bit znaku; dla przesunięcia w lewo na pierwszą pozycję (do najmłodszego bitu) wprowadzane jest zero, wartość przedostatniego bitu jest wpisywana do znacznika CF, bit znaku pozostaje bez zmian; dla przesunięcia w prawo wartość bitu znaku jest wpisywana na przedostatnią pozycję, wartość najmłodszego bitu jest wpisywana do znacznika CF. Istnieją wersje przesunięcia o 1 i o większą liczbę pozycji (zapisaną w rejestrze CL, albo podaną jako stała). Przy przesunięciu o 1 znacznik OF określa, czy nastąpiła zmiana znaku. Pozostałe flagi: 5
6 dla rozkazów rotacji: SF, ZF, AF, PF są nie zmieniane dla rozkazów przesunięć: SF, ZF, PF są ustawiane tak, jak dla rozkazów dodawania i odejmowania, AF jest nie zmieniany. Inne operacje ustawiania i testowania bitów Lista rozkazów procesora IA32 zawiera rozkazy ustawiające znacznik CF na 0, na 1 albo na logiczną wartość przeciwną (odpowiednio CLC, STC i CMC). Zawiera równieŝ rozkazy ustawiające wybrany bit rejestru lub komórki pamięci na 0, na 1 albo na logiczną wartość przeciwną (odpowiednio BTR, BTS i BTC). Rozkaz testujący wybrany bit rejestru lub komórki pamięci (BT) wpisuje wartość tego bitu do znacznika CF. Zadania dla studentów Zad.1. Dodawanie i odejmowanie liczb 32-bitowych 1. Wprowadź poniŝszy program:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Dword1 DD 1 Dword2 DD 2 Result DD 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Dword1 MOV EBX, Dword2 ADD EAX, EBX MOV Result, EAX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj program krok po kroku. W oknie rejestrów obserwuj zmianę wartości rejestrów i znaczników. 3. Wykonaj to samo zadanie modyfikując deklarację zmiennej Dword1. UŜyj po kolei wartości: a. 1000, b , c , d , e , f , 6
7 g Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. 4. Zmień deklarację zmiennej Dword2 na 2. Wykonaj działania dla zmiennej Dword1 po kolei równej: a. 3, b. 2, c. 1, Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. 5. Zmień deklarację zmiennej Dword2 na 2 i rozkaz ADD na SUB. Wykonaj działania dla zmiennej Dword1 po kolei równej: a. 3, b. 2, c. 1, Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. Zaznacz róŝnice względem zadania z p.4. Zad.2. Dodawanie i odejmowanie liczb 64-bitowych 1. Wprowadź poniŝszy program:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Qword1 DQ 1 Qword2 DQ 2 Result DQ 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, DWORD PTR Qword1 MOV EBX, DWORD PTR Qword2 ADD EAX, EBX MOV DWORD PTR Qword1, EAX MOV EAX, DWORD PTR Result+4 MOV EBX, DWORD PTR Qword2+4 ADC EAX, EBX MOV DWORD PTR Result+4, EAX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj program krok po kroku. W oknie rejestrów obserwuj zmianę wartości rejestrów i znaczników. Obserwuj zmianę zawartości pamięci. 7
8 3. Wykonaj to samo zadanie modyfikując deklarację zmiennej Qword1. UŜyj po kolei wartości: a , b , c , d , e Podaj wartości dziesiętne i szesnastkowe wyniku z okna pamięci. 4. Zmień teraz rozkaz ADC na ADD. Wykonaj zadanie dla takich samych danych jak w poprzednim punkcie. Porównaj wyniki z uzyskanymi w poprzednim punkcie: a , b , c , d , e W powyŝszym programie zmień rozkaz ADD na SUB i ADC na SBB. Wartości Qword1 i Qword2 ustaw tak, jak w programie z p.1. Podaj wynik z pamięci w postaci dziesiętnej i szesnastkowej. 6. Zmień teraz rozkaz SBB na SUB. Wykonaj zadanie dla takich samych danych jak w poprzednim punkcie. Porównaj wynik z uzyskanym w poprzednim punkcie. Zad. 3. Mno enie liczb 1. Wprowadź program mnoŝący dwie umieszczone w pamięci liczby 32-bitowe i umieszczający wynik 64-bitowy w pamięci:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Factor1 DD 2 Factor2 DD 20 Result DQ 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Factor1 MOV EBX, Factor2 MUL EBX MOV DWORD PTR Result, EAX MOV DWORD PTR Result+4, EDX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 8
9 _TEXT END ENDS 2. Wykonaj ten sam program dla liczb 2000 i Podaj dziesiętną i szesnastkową wartość wyniku oraz wartości wskaźników CF i OF. Czy wynik mieści się na 32-bitach? 3. Wykonaj ten sam program dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku oraz wartości wskaźników CF i OF. Czy wynik mieści się na 32-bitach? 4. Wykonaj ten sam program dla liczb 2000 i , 2000 i oraz 2000 i UŜyj mnoŝenia bez znaku (MUL) i ze znakiem (IMUL). Podaj dziesiętną i szesnastkową wartość wyniku oraz zawartość znaczników CF i OF. 5. Wykonaj ten sam program dla liczb i , i oraz i UŜyj mnoŝenia bez znaku (MUL) i ze znakiem (IMUL). Za kaŝdym razem podaj dziesiętną i szesnastkową wartość wyniku oraz zawartość znaczników CF i OF. Zad.4. Dzielenie liczb 1. Wprowadź program dzielący dwie umieszczone w pamięci liczby 32-bitowe i umieszczający wynik (32-bitowy) oraz resztę z dzielenia w pamięci:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Divisor1 DD 21 Divisor2 DD 2 Result DD 0 Remainder DD 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Divisor1 MOV EDX, 0 MOV EBX, Divisor2 DIV EBX MOV Result, EAX MOV Remainder, EDX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj ten sam program dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia. Wyjaśnij, do czego konieczny jest rozkaz MOV EDX, 0 w powyŝszym programie. 9
10 3. Zmodyfikuj podany program tak, aby moŝliwe było wykonanie dzielenia dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia. 4. Wykonaj ten program dla liczb i 20. Jakie wyniki otrzymujesz? 5. Wykonaj ten sam program dla liczb i 2000, i 2000 oraz i UŜyj dzielenia bez znaku (DIV) i ze znakiem (IDIV). Za kaŝdym razem podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia Zad. 5. Operacje logiczne i porównania 1. Napisz samodzielnie program zerujący rejestr EAX bez wykorzystywania rozkazu MOV. Wskazówka: uŝyj rozkazu XOR. Podaj główny rozkaz tego programu. 2. Napisz samodzielnie program porównujący, czy liczba 32-bitowa w rejestrze EAX ma wartość zero. UŜyj rozkazu: a. OR b. CMP c. TEST. Podaj operandy tych rozkazów 3. Napisz samodzielnie program wpisujący do rejestru EBX wartość przeciwną do EAX bez uŝycia rozkazów NEG i SUB. Zad. 6. Operacje przesuni 1. Napisz samodzielnie program przesuwający o 5 pozycji w prawo, a następnie o 5 pozycji w lewo liczbę 48 umieszczoną w rejestrze EAX. Czy otrzymałeś na koniec programu liczbę 48? 2. Zmodyfikuj program tak, aby uzyskać na koniec wyjściową liczbę 32-bitową niezaleŝnie od jej wartości. Wskazówka uŝyj dodatkowego rejestru i rozkazu rotacji. 3. Uprość program z poprzedniego punktu wykorzystując rozkaz SHLD i SHRD. 4. Porównaj działanie rozkazów SHL i SAL oraz SHR i SAR na liczbach 1 i 2 przy przesunięciu o 1 pozycję. Podaj wyniki w postaci szesnastkowej i dziesiętnej. Zad. 7. Operacje na bitach (dodatkowe) 1. Jakie trzy rozkazy moŝna alternatywnie wykorzystać do sprawdzenia, czy wartość 32 bitowa w rejestrze EAX jest ujemna (ma bit znaku równy 1)? Jakie są róŝnice między wykonaniem tych rozkazów w zakresie znaczników. 10
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 10: Arytmetyka całkowitoliczbowa Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wprowadzenie Instrukcje przesunięcia bitowego
Bardziej szczegółowoArchitektura komputerów. Asembler procesorów rodziny x86
Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych
Bardziej szczegółowoINSTRUKCJE Instrukcje przeniesienia: Instrukcje konwersji: Arytmetyczne instrukcje:
INSTRUKCJE Instrukcje przeniesienia: mov, lea, les, push, pop, pushf, popf Instrukcje konwersji: cbw, cwd, xlat Arytmetyczne instrukcje: add, inc sub, dec, cmp, neg, mul, imul, div, idiv Logiczne instrukcje:
Bardziej szczegółowoArchitektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące
Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka
Bardziej szczegółowoCPU 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Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych
Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie
Bardziej szczegółowoKod 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ółowoPlan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.
Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna
Bardziej szczegółowoMetody Realizacji Języków Programowania
Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 10 stycznia 2011 Marcin Benke (MIM UW) Metody Realizacji Języków Programowania 10 stycznia 2011 1 / 22 Uwagi
Bardziej szczegółowoProgramowanie niskopoziomowe
Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 8 Jan Kazimirski 1 Assembler x86 2 Podstawowe instrukcje x86 Instrukcje transferu danych Arytmetyka binarna i dziesiętna Instrukcje logiczne Instrukcje sterujące wykonaniem
Bardziej szczegółowo1. 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ółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoorganizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
Bardziej szczegółowoArchitektura Systemów Komputerowych, Wydział Informatyki, ZUT
Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne
Bardziej szczegółowoUTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.
Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz
Bardziej szczegółowoĆwiczenie 3. Konwersja liczb binarnych
1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Bardziej szczegółowoSprzęt i architektura komputerów
Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I
Bardziej szczegółowoProgramowanie komputera
Programowanie komputera Program jest algorytmem przetwarzania danych zapisanym w sposób zrozumiały dla komputera. Procesor rozumie wyłącznie rozkazy zapisane w kodzie maszynowym (ciąg 0 i 1). Ponieważ
Bardziej szczegółowoStruktura 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ółowoArchitektura 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ółowoWprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86
Wprowadzenie do Architektury komputerów Asembler procesorów rodziny x86 Budowa procesora rodziny x86 Rejestry procesora 8086 ogólnego przeznaczenia Dla procesorów 32-bitowych: EAX, EBX, ECX, EDX Dla procesorów
Bardziej szczegółowo1. Pobrać plik masm.zip (Macro Assembler 6.15 & Segmented Executable Linker 5.60) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/masm.zip).
J.Nawrocki, M. Antczak, G. Palik, A. Widelska Plik źródłowy: 07cw4-asm.doc; Data: 2007-09-26 6:00 Ćwiczenie nr 4 Język asemblera Środowisko uruchomieniowe 1. Pobrać plik masm.zip (Macro Assembler 6.15
Bardziej szczegółowoARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Bardziej szczegółowoWprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86
Wprowadzenie do Architektury komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych grup: 1. Rozkazy przesłania danych w
Bardziej szczegółowoWprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Bardziej szczegółowoArchitektura 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ółowoArchitektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoSprzęt i architektura komputerów
Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I
Bardziej szczegółowoPodstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Bardziej szczegółowoWstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoMagistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Bardziej szczegółowoPracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.
Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje
Bardziej szczegółowoLista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne
Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego
Bardziej szczegółowoArytmetyka stałopozycyjna
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3. Arytmetyka stałopozycyjna Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych.
Bardziej szczegółowoTechnika cyfrowa Układy arytmetyczne
Sławomir Kulesza Technika cyfrowa Układy arytmetyczne Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Układy arytmetyczne UKŁADY ARYTMETYCZNE UKŁADY SUMUJĄCE i ODEJMUJĄCE UKŁADY MNOŻĄCE
Bardziej szczegółowoZałącznik do ćwiczenia w środowisku MASM32 wersji 10 Sterowanie przebiegiem wykonania programu
Załącznik do ćwiczenia w środowisku MASM32 wersji 10 Sterowanie przebiegiem wykonania programu Rozkaz cmp jest opisany w grupie rozkazów arytmetycznych (załącznik do ćwiczenia 3). Rozpatrzmy rozkazy procesorów
Bardziej szczegółowoLista instrukcji mikroprocesora 8086. Programowanie w assemblerze
Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora
Bardziej szczegółowoSterowanie pracą programu
Sterowanie pracą programu Umożliwia podejmowanie decyzji w oparciu o określone warunki. Skoki bezwarunkowe Podstawową instrukcją umożliwiającą przeniesienie sterowania do innego punktu programu oznaczonego
Bardziej szczegółowoZadanie 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ółowoCPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.
Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH
Bardziej szczegółowoOperacje arytmetyczne
PODSTAWY TEORII UKŁADÓW CYFROWYCH Operacje arytmetyczne Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Dodawanie dwójkowe Opracował: Andrzej Nowak Ostatni wynik
Bardziej szczegółowoPAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci
PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje
Bardziej szczegółowoend start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.
Struktura programu typu program.com ; program według modelu tiny name "mycode" ; nazwa pliku wyjściowego (maksymalnie 8 znaków) org 100h ; początek programu od adresu IP = 100h ; kod programu ret ; koniec
Bardziej szczegółowoPODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA
PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA PODSTAWOWE ELEMENTY ASEMBLERA Składnia języka Postać wiersza programu Dyrektywy i pseudoinstrukcje Deklaracja zmiennych Zmienne łańcuchowe
Bardziej szczegółowoTechnika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Bardziej szczegółowoZestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
Bardziej szczegółowoMetody Realizacji Języków Programowania
1/25 Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 23 października 2013 /25 Uwagi wstępne Ten, z konieczności bardzo krótki kurs, nie jest w żadnym wypadku
Bardziej szczegółowoElementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów
Bardziej szczegółowoROZDZIAŁ DZIEWIĄTY: OPERACJE ARYTMETYCZNE I LOGICZNE
ROZDZIAŁ DZIEWIĄTY: OPERACJE ARYTMETYCZNE I LOGICZNE Dużo więcej jest potrzebne do posługiwania się asemblerem niż znajomość mnogich operacji. Musimy nauczyć się jak je stosować i co one robią, Wiele instrukcji
Bardziej szczegółowoUkłady arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011
Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy
Bardziej szczegółowoTechnika mikroprocesorowa I Wykład 2
Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,
Bardziej szczegółowoPrzedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków
Bardziej szczegółowoPodstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Bardziej szczegółowoKod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Jeśli bit znaku przyjmie wartość 0 to liczba jest dodatnia lub posiada wartość 0. Jeśli bit
Bardziej szczegółowoArytmetyka 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ółowoSYSTEMY 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ółowoProgramowanie w asemblerze Architektura procesora
Programowanie w asemblerze Architektura procesora 17 stycznia 2017 Zwana też ISA (Instruction Set Architecture). Klasyfikacja stos; akumulator; jeśli dodatkowe rejestry specjalizowane (np. adresowy), to
Bardziej szczegółowoSystemy zapisu liczb.
Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:
Bardziej szczegółowoSYSTEMY LICZBOWE 275,538 =
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ółowoKod hex Instrukcja Opis 37 AAA Koryguj AL po dodawaniu BCD
AAA ASCII adjust after addition 37 AAA Koryguj AL po dodawaniu BCD AAA powoduje korekcję znajdującego się w AL wyniku dodawania dwóch liczb, o ile dodawane są liczby BCD. Dopiero po korekcji wynik będzie
Bardziej szczegółowoArchitektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania
Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia
Bardziej szczegółowoArchitektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
Bardziej szczegółowoProcesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Bardziej szczegółowoInstrukcja 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ółowoUkłady kombinacyjne. cz.2
Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)
Bardziej szczegółowoKod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Bardziej szczegółowoMikrokontroler 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ółowoWprowadzenie do informatyki ćwiczenia
Podstawowe działania na liczbach binarnych dr inż. Izabela Szczęch WSNHiD 2010/2011 Ćwiczenia z wprowadzenia do informatyki Dodawanie Odejmowanie Mnoż enie Dzielenie Plan zajęć 2 Izabela Szczęch 1 Dodawanie
Bardziej szczegółowoArchitektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
Bardziej szczegółowoTeoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Bardziej szczegółowoArchitektura systemów komputerowych. Arytmetyka maszyn cyfrowych
Architektura systemów komputerowych Plan wykładu. Typy danych w komputerach. 2. Układ arytmetyczno-logiczny. 3. Instrukcje zależne od ALU. 4. Superskalarność. Cele Wiedza na temat arytmetyki maszyn cyfrowych.
Bardziej szczegółowoJ. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler
ASSEMBLER J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler Geneza (8086, 8088). Rejestry Adresowanie pamięci Stos Instrukcje Przerwania
Bardziej szczegółowoSamodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Bardziej szczegółowoLista 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ółowo1.1. Pozycyjne systemy liczbowe
1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego
Bardziej szczegółowoPROGRAMOWANIE NISKOPOZIOMOWE
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 Wprowadzenie
Bardziej szczegółowoWstę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ółowoLABORATORIUM 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ółowoJerzy Nawrocki, Wprowadzenie do informatyki
Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na
Bardziej szczegółowoĆwiczenie nr 6. Programowanie mieszane
Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu
Bardziej szczegółowoMikrokontroler 80C51
DSM-51 * STRONA 1 * Temat : Wiadomości podstawowe Układy cyfrowe to rodzaj układów elektronicznych, w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów, którym przypisywane są wartości
Bardziej szczegółowoArchitektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle
Marcin Stępniak Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle 1. Informacje 1.1. Instrukcje skoku Instrukcje skoku zmieniają wskaźnik instrukcji w rejestrze
Bardziej szczegółowoMikrooperacje. Mikrooperacje arytmetyczne
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej
Bardziej szczegółowoProgramowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
Bardziej szczegółowoUKŁADY MIKROPROCESOROWE
UKŁADY MIKROPROCESOROWE Kodowanie informacji i systemy liczbowe OPRACOWANIE KŁ MALBORK WPROWADZENIE 1. Pojęcia podstawowe: Czym zajmuje się elektronika? Informacja Sygnał Uproszczona klasyfikacja układów
Bardziej szczegółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 4: Architektura i zarządzanie pamięcią IA-32 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Tryby pracy Rejestry
Bardziej szczegółowoBudowa wnętrza procesora x86
Budowa wnętrza procesora x86 Marika Kuczyńska, Joanna Tokarz Akademia Górnicz- Hutnicza im. Stanisława Staszica w Krakowie Wydział Fizyki i Informatyki Stosowanej Fizyka Techniczna Kraków, 20.03.2013 Plan
Bardziej szczegółowoPROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 4 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 c Dr
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42 Reprezentacja liczb całkowitych
Bardziej szczegółowoARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.
ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb
Bardziej szczegółowoPodstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
Bardziej szczegółowoProcesor Intel 8086 model programisty. Arkadiusz Chrobot
Procesor Intel 8086 model programisty Arkadiusz Chrobot 5 października 2008 Spis treści 1 Wstęp 2 2 Rejestry procesora 8086 2 3 Adresowanie pamięci 4 4 Ważne elementy języka Pascal 6 1 1 Wstęp Głównym
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie
Bardziej szczegółowoTechnologie Informacyjne Wykład 3
Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny
Bardziej szczegółowoARYTMETYKA KOMPUTERA
006 URZĄDZENIA TECHNIKI KOMPUTEROWEJ ARYTMETYKA KOMPUTERA Systemy liczbowe o róŝnych podstawach 1 UTK System dziesiętny Cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Liczba 764.5 oznacza 7 * 10 2 + 6 * 10 1 + 4
Bardziej szczegółowoĆwiczenie 01 - Strona nr 1 ĆWICZENIE 01
ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu
Bardziej szczegółowoMOŻ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