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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transkrypt

1 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/ Wymagania proceduralnych języków wysokiego poziomu 2 Pamięć i procesor 3 I II podzbiór x86 4 Literatura c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 Wymagania proceduralnych języków wysokiego poziomu Wymagania proceduralnych języków wysokiego poziomu lata 60. XX w.: Algol Fortran lata 80. XX w.: rozwój języków proceduralnych: Pascal, C obecnie: języki obiektowe: C++, C#, Java, Eiffel,... struktura komputera zaprojektowana, by łatwo i wydajnie wykonywać programy tłumaczone z języka wysokiego pozimu na język natywny procesora int x, y; // zmienne globalne char * p; int myadd(int a, int b){ int r; // zmienna lokalna r = a + b; return r;} void cleanup(void){ free(p);} // dealokacja zmiennej dynamicznej int main (void){ p = malloc(1000); x = myadd(20,3); cleanup();} // alokacja // dealokacja c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

2 Pamięć i procesor Pamięć i procesor 1 Wymagania proceduralnych języków wysokiego poziomu 2 Pamięć i procesor 3 I II podzbiór x86 4 Literatura - sekcje Kod programu (TEXT) Dane statyczne stałe zmienne zainicjalizowane zmienne niezainicjalizowane (BSS) Dane dynamiczne automatyczne argumenty wywołania procedur zmienne lokalne procedur umieszczane na stosie Dane dynamiczne kontrolowane jawnie tworzone i usuwane umieszczane na stercie Kod współdzielony Dane współdzielone c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 PC Pamięć i procesor 1 Wymagania proceduralnych języków wysokiego poziomu rejestr przechowujący adres instrukcji, która ma być (jako następna) pobrana z pamięci celem wykonania nextpc adres w obrębie sekcji kodu programu inkrementowany po pobraniu i zdekodowaniu instrukcji w ramach wykonywania instrukcji skoku ładowany nową wartością adresu docelowego skoku niezbędny w maszynie von Neumanna 2 Pamięć i procesor 3 I II podzbiór x86 4 Literatura c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

3 wywołanie procedury za pomocą instrukcji skoku ze śladem zapamiętuje wartość nextpc (na stosie) do PC wpisuje adres procedury powrót z procedury za pomocą instrukcji return zdejmuje ze stosu adres powrotny do PC wpisuje adres powrotny stos przechowuje argumenty wywołań adres powrotny zmienne lokalne inne informacje przechowywane w trakcie wykonywania procedury rejestry PC licznik rozkazów A akumulator stos (abstrakcyjny) dostęp do danych za pośrednictwem nazw lub wartości model wysoce nierealistyczny! c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 Lista instrukcji procesora I Kompilacja dla procesora I load data A = data store data data = A do pamięci add data A += data push data data na stos pop data zdjęcie ze stosu call addr push PC, PC = addr skok ze śladem return pop PC powrót po śladzie create data alokacja miejsca na stosie destroy data usuwanie ze stosu konwencja języka C argumenty funkcji w kolejności odwrotnej argument na stos za pomocą instrukcji PUSH po zapamiętaniu argumentów funkcji na stosie wywołanie funkcji za pomocą CALL adres powrotny na stosie (adres instrukcji występującej jako następna za CALL) ostatnią instrukcją funkcji musi być RETURN c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

4 Rezultat kompilacji wywołania funkcji Kompilacja funkcji ; x = myadd(20,3); push 3 push 20 call myadd destroy destroy store x alokacja zmiennych lokalnych dostęp do danych przez nazwy (taki model!) wartość funkcji zwracana przez rejestr A przed zakończeniem podprogramu deallokacja zmiennych lokalnych powrót za pomocą RETURN c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 I Rezultat kompilacji funkcji I ; prolog ; int r; create r ; ciało ; r = a + b; load a add b store r ; return r; load r ; epilog destroy r return c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 model procesora I wzbogacony o implementację stosu w pamięci dodatkowy rejestr wskaźnika stosu: SP (ang. stack pointer) SP zawiera adres danej ostatnio umieszczonej w pamięci stos pełny schodzący (ang. full descending) rośnie w kierunku malejących adresów operacje na stosie jawnie zdefiniowane w postaci odrębnych instrukcji interpretowanych przez procesor PUSH umieszcza dane na stosie wstępnie dekrementując SP POP zdejmuje dane ze stosu a następnie inkrementuje SP dostęp do parametrów i zmiennych poprzez nazwy koncepcja trudna do implementacji! c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

5 I Lista instrukcji procesora II procedury load data A = data store data data = A do pamięci add data A += data push data *--SP = data data na stos pop data data = *SP++ zdjęcie ze stosu call addr *--SP = PC, PC = addr skok ze śladem return PC = *SP++ powrót po śladzie create data SP -= sizeof(data) alokacja miejsca na stosie destroy data SP += sizeof(data) usuwanie ze stosu Translacja przykładowego programu identyczna jak w modelu I rozwiązanie problemu dostępu do zmiennych na stosie procedura posługuje się niewielkim fragmentem stosu po przekazaniu sterowania do procedury na stosie znajduje się rekord aktywacji procedury: parametry wywołania ślad powrotu procedura może tworzyć swoje zmienne lokalne umieszczając je na stosie ramka stosu (ang. stack frame) rekord aktywacji procedury zmienne lokalne inne wartości odkładane na stosie w trakcie realizacji procedury c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 Wskaźnik ramki stosu II podzbiór x86 II podzbiór x86 dodatkowy rejestr procesora FP (ang. frame pointer) wskazuje ramkę bieżącej procedury zawartość FP stała w trakcie wykonywania procedury wywołana procedura musi ustalić zawartość FP zachować poprzednią zawartość FP na stosie wpisać do FP adres aktualnej ramki stosu FP = SP przed instrukcją RETURN procedura odtwarza uprzednią wartość FP w trakcie wykonywania procedury dane umieszczone w ramce stosu są adresowane względem FP akumulator / rejestr wartości: EAX rejestr wskaźnika stosu: ESP wskaźnik ramki: EBP licznik instrukcji: EIP instrukcje (w większości) dwuargumentowe pierwszy argument: docelowy następne: źródłowe dostępne adresowanie rejestrowe pośrednie z przemieszczeniem adres danej jest sumą zawartości rejestru i stałej ze znakiem np. [EBP+4] zawartość komórki pamięci c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

6 Lista instrukcji procesora III II podzbiór x86 Rezultat kompilacji wywołania funkcji II podzbiór x86 mov d,s d = s przesłanie danych mov EAX,d EAX = d mov d,eax d = EAX add EAX,d EAX += d push d *--ESP = d d na stos pop d d = *ESP++ zdjęcie ze stosu call addr *--ESP = EIP, EIP = addr skok ze śladem ret EIP = *ESP++ powrót po śladzie sub ESP,size ESP -= size alokacja miejsca na stosie add ESP,size ESP += size usuwanie ze stosu ; x = myadd(20,3); push 3 push 20 call myadd add esp, 8 mov [x], eax c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 Rezultat kompilacji funkcji II podzbiór x86 Literatura Literatura ; prolog push ebp mov ebp, esp ; int r; sub esp,4 ; ciało ; r = a + b; mov eax, [ebp+8]; add eax, [ebp+12]; mov [ebp-4], eax; ; return r; mov eax, [ebp-4] ; epilog mov esp, ebp pop ebp ret EAX = a EAX += b r = EAX A. S. Tanenbaum, Strukturalna organizacja systemów komputerowych, Helion, J. Biernat, Architektura komputerów, OWPW, R. Hyde, Profesjonalne programowanie, Helion, R. Hyde, Asembler. Sztuka programowania, Helion, G. Mazur, Programowanie niskopoziomowe, P.A. Carter, PC Assembly Language, D.W. Lewis, Między asemblerem a językiem C. Podstawy oprogramowania wbudowanego, RM, c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

PROGRAMOWANIE NISKOPOZIOMOWE. Adresowanie pośrednie rejestrowe. Stos PN.04. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

PROGRAMOWANIE NISKOPOZIOMOWE. Adresowanie pośrednie rejestrowe. Stos PN.04. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012 PROGRAMOWANIE NISKOPOZIOMOWE PN.04 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 3 Ćwiczenia laboratoryjne c Dr inż. Ignacy Pardyka (Inf.UJK) PN.04 Rok akad.

Bardziej szczegółowo

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

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe komputerów ASK MP.02 c Dr inż. Ignacy Pardyka 1 UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach 2 Literatura Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

Bardziej szczegółowo

Programowanie Niskopoziomowe

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

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE. Struktury w C. Przykład struktury PN.06. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

PROGRAMOWANIE NISKOPOZIOMOWE. Struktury w C. Przykład struktury PN.06. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012 PROGRAMOWANIE NISKOPOZIOMOWE PN.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Ćwiczenia laboratoryjne c Dr inż. Ignacy Pardyka (Inf.UJK) PN.06 Rok akad.

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

PROGRAMOWANIE 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ółowo

Ćwiczenie nr 6. Programowanie mieszane

Ć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ółowo

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy

Bardziej szczegółowo

2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch

2.1. W architekturze MIPS, na liście instrukcji widzimy dwie instrukcje dotyczące funkcji: .text main: la $a0, string1 # drukuj pierwszy łańcuch ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH: Instrukcja do laboratorium 4, (2x2h) Opracowanie i prowadzenie: dr inż. Ignacy Pardyka, Uniwersytet Jana Kochanowskiego w Kielcach Temat: Architektura MIPS: wywołanie

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE

PROGRAMOWANIE NISKOPOZIOMOWE PROGRAMOWANIE NISKOPOZIOMOWE PN.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.06 Rok akad. 2011/2012 1 / 22 1 Asembler

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE

PROGRAMOWANIE 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ółowo

Architektura komputerów

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

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo

JAK DZIAŁAJĄ FUNKCJE PODZIAŁ PAMIĘCI

JAK DZIAŁAJĄ FUNKCJE PODZIAŁ PAMIĘCI JAK DZIAŁAJĄ FUNKCJE PODZIAŁ PAMIĘCI Gdy wywołujesz daną funkcję, program przechodzi do tej funkcji, przekazywane są parametry i następuje wykonanie ciała funkcji. Gdy funkcja zakończy działanie, zwracana

Bardziej szczegółowo

Metody Realizacji Języków Programowania

Metody Realizacji Języków Programowania Metody Realizacji Języków Programowania Realizacja funkcji, procedur i metod Marcin Benke MIM UW 6 grudnia 2010 Marcin Benke (MIM UW) Metody Realizacji Języków Programowania 6 grudnia 2010 1 / 1 Realizacja

Bardziej szczegółowo

Assembler w C++ Syntaksa AT&T oraz Intela

Assembler w C++ Syntaksa AT&T oraz Intela Ponownie dodaję artykuł zahaczający o temat assemblera. Na własnej skórze doświadczyłem dzisiaj problemów ze wstawką assemblerową w kodzie C++, dlatego postanowiłem stworzyć artykuł, w którym zbiorę w

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 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

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu.

Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu. Krótki artykuł opisujący trzy podstawowe konwencje wywoływania funkcji C++ (a jest ich więcej). Konwencje wywoływania funkcji nie są tematem, na który można się szeroko rozpisać, jednak należy znać i odróżniać

Bardziej szczegółowo

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

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

Bardziej szczegółowo

zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np.

zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np. ZMIENNE 39 zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np. przydział pamięci). 40 Nazewnictwo zmiennych Dozwolone

Bardziej szczegółowo

Metody Realizacji Języków Programowania

Metody 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ół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

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

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

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

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/2012 2 / 27 ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP. c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Założenia konstrkcyjne Układ pobierania instrkcji Układ przygotowania

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

Architektura komputerów

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

Bardziej szczegółowo

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 2 Podstawy programowania 2 Temat: Zmienne dynamiczne tablica wskaźników i stos dynamiczny Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Tablice wskaźników Tablice

Bardziej szczegółowo

Architektura komputerów. Asembler procesorów rodziny x86

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie niskopoziomowe

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

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

14. Elementy systemu wykonawczego

14. Elementy systemu wykonawczego 14. Elementy systemu wykonawczego 14.1 Wprowadzenie system wykonawczy (ang. run-time system) stanowi zestaw danych i operacji realizujących tzw. maszynę wirtualną języka programowania (na maszynie tej

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki i metodyka programowania

Języki i metodyka programowania Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura

Bardziej szczegółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Parę słów o przepełnieniu bufora.

Parę słów o przepełnieniu bufora. Parę słów o przepełnieniu bufora. Łukasz Pejas Styczeń 2006 1 Bufor na stosie. Stos służy między innymi do przekazywania parametrów do funkcji i do tworzenia zmiennych lokalnych funkcji. Jest czymś w rodzaju

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

Języki i paradygmaty programowania. I. Wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:

Bardziej szczegółowo

Rozszerzalne kody operacji (przykład)

Rozszerzalne kody operacji (przykład) Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

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

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem. Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna

Bardziej szczegółowo

Ćwiczenie 3. Konwersja liczb binarnych

Ć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ółowo

Przepełnienie bufora i łańcuchy formatujace

Przepełnienie bufora i łańcuchy formatujace Metody włamań do systemów komputerowych Przepełnienie bufora i łańcuchy formatujace Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Wykład 14. Środowisko przetwarzania

Wykład 14. Środowisko przetwarzania Wykład 14 Środowisko przetwarzania Środowisko przetwarzania Przed generacją kodu, musimy umieć powiązać statyczny kod źródłowy programu z akcjami, wykonywanymi w trakcie działania i implementującymi program;

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

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

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ć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ółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Funkcje w języku C Zasięg zmiennych Przekazywanie

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

Bardziej szczegółowo

Ćwiczenie nr 4. Zasady kodowania podprogramów

Ćwiczenie nr 4. Zasady kodowania podprogramów Ćwiczenie nr 4 Zasady kodowania podprogramów 4.1 Wstęp W praktyce programowania spotykamy się często z sytuacjami, gdy identyczne czynności wykonywane są w wielu miejscach programu. W takich przypadkach

Bardziej szczegółowo

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC Wprowadzenie do architektury komputerów Model programowy procesora i jego struktura Procesory CISC i RISC Użytkowy model programowy Użytkowym modelem programowym nazywamy zestaw zasobów logicznych komputera

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2) Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych

Bardziej szczegółowo

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Standardy reprezentacji wartości całkowitoliczbowych

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

Architektura systemów komputerowych

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

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski

Bardziej szczegółowo

Adam Kotynia, Łukasz Kowalczyk

Adam Kotynia, Łukasz Kowalczyk Adam Kotynia, Łukasz Kowalczyk Dynamiczna alokacja pamięci Alokacja pamięci oraz dezalokacja pamięci jest to odpowiednio przydział i zwolnienie ciągłego obszaru pamięci. Po uruchomieniu, proces (program)

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.02 Rok akad. 2011/ / 35 ARCHITEKTURA SYSTEÓW KOPUTEROWYCH strktry procesorów ASK SP.2 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2/22 Procesor IPS R3 Potokowe wykonywanie instrkcji Konflikty

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

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

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Podstawy programowania.

Podstawy programowania. Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami: Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie

Bardziej szczegółowo

Procedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; }

Procedury. int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; } return product; } main() { int i,j,k,m;... i = mult(j,k);... m = mult(i,i);... Procedury int mult (int mcand, int mlier){ int product = 0; while (mlier > 0) { product = product + mcand; mlier = mlier -1; return product;

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

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

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 4: Struktura użytkowego modelu programowego komputera Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcie użytkowego

Bardziej szczegółowo

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

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

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

architektura komputerów w 1 1

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka. Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.

Bardziej szczegółowo