Podstawy Informatyki Języki programowania c.d.
|
|
- Sabina Janicka
- 6 lat temu
- Przeglądów:
Transkrypt
1 Podstawy Informatyki
2 Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie 3 Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja 4
3 Założenia Plan wykładu Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Składnia instrukcji programu: [< etykieta >:] < kod > [< argument >] Opcjonalna etykieta to nazwa zakończona dwukropkiem Kod jest wymagany, może to być kod rozkazu: DOD, ODE, POB, ŁAD, SOB, SOM, STP lub dyrektywa (pseudorozkaz): KON koniec generacji kodu, RPA - rezerwacja pamięci, RST - rezerwacja pamięci dla stałej Opcjonalnym argumentem może być etykieta lub liczba dziesiętna
4 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu ET: SOM KONIEC POB ET DOD ST1 ŁAD ET SOB ET KONIEC: STP ST1: RST 1 A: RST 5 RST 67 RST -1 KON
5 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu 0 ET: 1 SOM KONIEC 2 POB ET 3 DOD ST1 4 ŁAD ET 5 SOB ET 6 KONIEC: STP 7 ST1: RST 1 8 A: RST 5 9 RST RST -1 KON Tablica T1 Rozkaz Kod DOD 001 ODE 010 ŁAD 011 POB 100 SOB 101 SOM 110 STP 111
6 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu 0 ET: 1 SOM KONIEC 2 POB ET 3 DOD ST1 4 ŁAD ET 5 SOB ET 6 KONIEC: STP 7 ST1: RST 1 8 A: RST 5 9 RST RST -1 KON Tablica T1 Rozkaz Kod DOD 001 ODE 010 ŁAD 011 POB 100 SOB 101 SOM 110 STP 111 Tablica T2 Etykieta Adres ET KONIEC ST A 01000
7 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu 0 ET: 1 SOM KONIEC 2 POB ET 3 DOD ST1 4 ŁAD ET 5 SOB ET 6 KONIEC: STP 7 ST1: RST 1 8 A: RST 5 9 RST RST -1 KON Kod maszynowy Tablica T1 Rozkaz Kod DOD 001 ODE 010 ŁAD 011 POB 100 SOB 101 SOM 110 STP 111 Tablica T2 Etykieta Adres ET KONIEC ST A 01000
8 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu 0 ET: 1 SOM KONIEC 2 POB ET 3 DOD ST1 4 ŁAD ET 5 SOB ET 6 KONIEC: STP 7 ST1: RST 1 8 A: RST 5 9 RST RST -1 KON Kod maszynowy Tablica T1 Rozkaz Kod DOD 001 ODE 010 ŁAD 011 POB 100 SOB 101 SOM 110 STP 111 Tablica T2 Etykieta Adres ET KONIEC ST A 01000
9 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład programu samomodyfikującego się Tekst źródłowy programu 0 ET: 1 SOM KONIEC 2 POB ET 3 DOD ST1 4 ŁAD ET 5 SOB ET 6 KONIEC: STP 7 ST1: RST 1 8 A: RST 5 9 RST RST -1 KON Kod maszynowy Tablica T1 Rozkaz Kod DOD 001 ODE 010 ŁAD 011 POB 100 SOB 101 SOM 110 STP 111 Tablica T2 Etykieta Adres ET KONIEC ST A 01000
10 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy PETLA: ET: KONIEC: POB N ODE ST1 SOM KONIEC ŁAD L POB TAB DOD S ŁAD S POB ET DOD ST1 ŁAD ET POB L SOB PETLA STP ST1: RST 1 S: RST 0 N: RST 5 TAB: RST 7 RST 13 RST 21 RST 19 RST 3 L: RPA KON
11 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 16 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 0 L =?
12 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 17 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 7 L = 4
13 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 18 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 20 L = 3
14 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 19 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 41 L = 2
15 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 20 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 60 L = 1
16 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy Przykład - sumowanie elementów tablicy 0 POB N 1 PETLA: ODE ST1 2 SOM KONIEC 3 ŁAD L 4 ET: POB 21 5 DOD S 6 ŁAD S 7 POB ET 8 DOD ST1 9 ŁAD ET 10 POB L 11 SOB PETLA 12 KONIEC: STP 13 ST1: RST 1 14 S: RST 0 15 N: RST 5 16 TAB: RST 7 17 RST RST RST RST 3 21 L: RPA KON Podgląd zmiennych: S = 63 L = 0
17 Makroasembler - założenia Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Makroasembler umożliwia tworzenie własnych instrukcji przez programistę Makroinstrukcje zastępując powtarzające się fragmenty kodu jedną nazwą zwiększają czytelność programu Składnia makroinstrukcji: MAKRO <nazwa> <lista parametrów fromalnych> [ NAZWA LOKALNA <lista nazw lokalnych> ] <rozkazy tworzące makroinstrukcję> KONM
18 Przykład zastosowania makroinstrukcji Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie MAKRO INC P POB P... DOD ST1... ŁAD P... KONM DOD ST1 INC A ŁAD A POB B DOD ST1 INC B ŁAD B
19 Przykład programu z makroinstrukcją Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Zadanie: Policzyć sumę wartości bezwzględnych dwóch komórek pamięci X i Y, a wynik zapisać w komórce pamięci Z. Makroinstrukcja MAKRO ABS Liczba NAZWA LOKALNA Ujemna, Koniec POB Liczba SOM Ujemna SOB Koniec Ujemna: Koniec: KONM ODE Liczba ODE Liczba
20 Przykład programu z makroinstrukcją Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Zadanie: Policzyć sumę wartości bezwzględnych dwóch komórek pamięci X i Y, a wynik zapisać w komórce pamięci Z. Makroinstrukcja MAKRO ABS Liczba NAZWA LOKALNA Ujemna, Koniec POB Liczba SOM Ujemna SOB Koniec Ujemna: Koniec: KONM ODE Liczba ODE Liczba
21 Realizacja programu z makroinstrukcją Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Program ABS X ŁAD Z ABS Y DOD Z ŁAD Z STP X: RST -2 Y: RST 3 Z: RPA KON Rozwinięcie programu w PaO POB X SOM Ujemna1 SOB Koniec1 Ujemna1: ODE X ODE X Koniec1: ŁAD Z POB Y SOM Ujemna2 SOB Koniec2 Ujemna2: ODE Y ODE Y Koniec2: DOD Z ŁAD Z STP
22 Realizacja programu z makroinstrukcją Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Program ABS X ŁAD Z ABS Y DOD Z ŁAD Z STP X: RST -2 Y: RST 3 Z: RPA KON Rozwinięcie programu w PaO POB X SOM Ujemna1 SOB Koniec1 Ujemna1: ODE X ODE X Koniec1: ŁAD Z POB Y SOM Ujemna2 SOB Koniec2 Ujemna2: ODE Y ODE Y Koniec2: DOD Z ŁAD Z STP
23 Realizacja programu z makroinstrukcją Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Program ABS X ŁAD Z ABS Y DOD Z ŁAD Z STP X: RST -2 Y: RST 3 Z: RPA KON Rozwinięcie programu w PaO POB X SOM Ujemna1 SOB Koniec1 Ujemna1: ODE X ODE X Koniec1: ŁAD Z POB Y SOM Ujemna2 SOB Koniec2 Ujemna2: ODE Y ODE Y Koniec2: DOD Z ŁAD Z STP
24 Podprogram - założenia Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Podprogramy pozwalają na modularne pisanie programów wymagają specjalnych rozkazów Przekazywanie parametrów między programem a podprogramem dokonuje się poprzez: rejestry procesora wskazany obszar pamięci (zawartość rejestru) stos
25 Dodatkowe rozkazy Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Skok do podprogramu SDP Ad (WS) 1 WS, (L) (WS), (Ad) L, A Powrót z podprogramu PWR ((WS)) L, A, (WS) + 1 WS Zapis zawartości akumulatora na stos DNS (WS) 1 WS, (Ak) (WS) Odczyt zawartości ze stosu do akumulatora PZS ((WS)) Ak, (WS) + 1 WS
26 Przykład użycia podprogramu Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Zadanie: Policzyć sumę wartości bezwzględnych dwóch komórek pamięci X i Y, a wynik zapisać w komórce pamięci Z. Rozwiązanie1 - przekazywanie parametrów przez Akumulator: POB X SDP Abs ŁAD Z POB Y SDP Abs DOD Z ŁAD Z STP X: RST -2 Y: RST 3 Z: RPA Abs: Ujemna: TMP: SOM Ujemna PWR ŁAD TMP ODE TMP ODE TMP PWR RPA KON
27 Przykład użycia podprogramu Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Rozwiązanie2 - przekazywanie parametru do podprogramu przez stos: POB X DNS SDP Abs ŁAD Z POB Y Abs: PZS ŁAD ADRES PZS ŁAD TMP SOM Ujemna DNS SDP Abs DOD Z ŁAD Z Powrot: DRES DNS POB TMP PWR STP Ujemna: ODE TMP X: RST -2 ODE TMP Y: RST 3 ŁAD TMP Z: RPA SOB Powrot TMP: RPA ADRES: RPA KON
28 Makroasembler - założenia Przykład programu z makroinstrukcją Podprogramy - założenia Przykład użycia podprogramu Makrodefinicje i podprogramy - podsumowanie Makrodefinicje i podprogramy - podsumowanie Użycie makrodefinicji lub podprogramów: zwiększa czytelność programu, usprawnia proces programowania, ułatwia pielęgnację kodu, pozwala na modularne pisanie programów, umożliwia wykorzystanie tego samego kodu w wielu programach. Użycie makroinstrukcji każdorazowo wstawia zdefiniowaną zawartość, symbole lokalne są dostępne tylko wewnątrz makrodefinicji, w programie końcowym tworzone są dla nich unikalne nazwy. Użycie podprogramów zwykle skraca kod ale wydłuża czas jego realizacji.
29 - założenia Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Podział programu na oddzielne moduły (segmenty) o określonych zadaniach funkcjonalnych tak, aby umożliwić pracę grupową. Każdy moduł jest tworzony i tłumaczony (kompilowany) oddzielnie. Definiuje się więc: punkty wejścia - etykiety, do których będą odwołania z innych segmentów, nazwy zewnętrzne - adresy symboliczne, których etykiety (deklaracje) występują w innym segmencie. Do utworzenia kodu końcowego konieczny jest program łączący (linker).
30 Przykład zastosowania segmentacji Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Segment 1 WNZ: ET... SOB ET... Segment 2 WPW: WNZ: ET: ET P... DOD P ŁAD TMP... Segment 3 WPW: P... P: RST 2... WPW - wykaz punktów wejścia WNZ - wykaz nazw zewnętrznych
31 Program wielosegmentowy Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Sumę wartości bezwzględnych X i Y zapisać w komórce Z. Główny.asm WNZ Abs POB X SDP Abs ŁAD Z POB Y SDP Abs DOD Z ŁAD Z STP X: RST -2 Y: RST 3 Z: RPA Funkcje.asm WPW Abs Abs: SOM Ujemna PWR Ujemna: ŁAD TMP ODE TMP ODE TMP PWR TMP: RPA
32 Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Program wielosegmentowy - asemblacja Główny.asm Główny.obj Nazwy zewnętrzne są wypełniane zerami, ale jest dołączona informacja, gdzie wstawić brakujące adresy. Funkcje.asm Funkcje.obj Dołączona jest informacja o punktach wejścia i ich adresach względnych.
33 Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Program wielosegmentowy - asemblacja Główny.obj WNZ: Abs 1 4 0: POB 8 1: SDP 0 2: ŁAD 10 3: POB 9 4: SDP 0 5: DOD 10 6: ŁAD 10 7: STP 8: RST -2 9: RST 3 10: RPA Funkcje.obj WPW: Abs 0 0: SOM 2 1: PWR 2: ŁAD 6 3: ODE 6 4: ODE 6 5: PWR 6: RPA
34 Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Program wielosegmentowy - konsolidacja Główny.obj, Funkcje.obj Główny.exe Uzupełnia się brakujące adresy, moduły są relokowane w pamięci
35 Program wielosegmentowy - przykład Program wielosegmentowy - asemblacja Program wielosegmentowy - konsolidacja Program wielosegmentowy - konsolidacja Główny.obj WNZ: Abs 1 4 0: POB 8 1: SDP 0 2: ŁAD 10 3: POB 9 4: SDP 0 5: DOD 10 6: ŁAD 10 7: STP 8: RST -2 9: RST 3 10: RPA Funkcje.obj WPW: Abs 0 0: SOM 2 1: PWR 2: ŁAD 6 3: ODE 6 4: ODE 6 5: PWR 6: RPA Program zostaje dołączony od komórki 11, więc wszystkie adresy są przesunięte o 11. Główny.exe 0: POB 8 1: SDP 11 2: ŁAD 10 3: POB 9 4: SDP 11 5: DOD 10 6: ŁAD 10 7: STP 8: RST -2 9: RST 3 10: RPA 11: SOM 13 12: PWR 13: ŁAD 17 14: ODE 17 15: ODE 17 16: PWR 17: RPA
36 Translacja to tłumaczenie z jednego języka na inny. Translator - program tłumaczący kod programu na kod asemblera lub kod maszynowy. Typy translatorów: interpreter - translator programu powodujący natychmiastowe wykonanie każdej przetłumaczonej sekwencji rozkazów, kompilator - translator przeznaczony do przekształcania programów źródłowych w program wynikowy, zakłada się tu istnienie dwóch procesów: kompilacji i wykonania.
37 Interpreter vs Kompilator Zalety: łatwo się uruchamia wygodny do usuwania błędów Wady: dłuższy czas wykonywania (wiele instrukcji tłumaczonych jest powtórnie) raz przetłumaczony program może być wielokrotnie wykonywany (na różnych danych, czasami różnych platformach) trudniejszy do wykrywania błędów danych (podczas tłumaczenia wykrywa się tylko błędy składniowe) czasami trudniej się uruchamia
38 Etapy kompilacji Plan wykładu 1 Analiza programu źródłowego: leksykalna (sprawdzanie symboli), syntaktyczna (sprawdzanie konstrukcji). 2 Synteza kodu wynikowego: generacja kodu, optymalizacja kodu, gospodarka pamięcią.
39 - założenia Instrukcja podstawienia jest poprawna Wyrażenie arytmetyczne zapisane jest w notacji nawiasowej Znana jest Tablica priorytetów: operator priorytet nazwa symboliczna ˆ 1 POT, / 2 MNO, DZI +, 3 DOD, ODE Wykorzystywany jest stos i zmienne pomocnicze: i wskaźnik szczytu stosu S i zawartość i-tej komórki stosu j numer zmiennej pomocniczej T j adres symboliczny zmiennej pomocniczej
40
41 Przykład Plan wykładu X=(A B+C) (A B) i = 1 j = 1
42 Przykład Plan wykładu X=(A B+C) (A B) X i = 0 j = 1
43 Przykład Plan wykładu X=(A B+C) (A B) = 0 X i = 1 j = 1
44 Przykład Plan wykładu X=(A B+C) (A B) ( 1 = 0 X i = 2 j = 1
45 Przykład Plan wykładu X=(A B+C) (A B) A 2 ( 1 = 0 X i = 3 j = 1
46 Przykład Plan wykładu X=(A B+C) (A B) A 2 ( 1 = 0 X i = 4 j = 1
47 Przykład Plan wykładu X=(A B+C) (A B) A 2 ( 1 = 0 X i = 5 j = 1
48 Przykład Plan wykładu X=(A B+C) (A B) B 4 3 A 2 ( 1 = 0 X i = 5 j = 1 ŁAD T 1
49 Przykład Plan wykładu X=(A B+C) (A B) T 1 2 ( 1 = 0 X i = 3 j = 2 ŁAD T 1
50 Przykład Plan wykładu X=(A B+C) (A B) T 1 2 ( 1 = 0 X i = 4 j = 2 ŁAD T 1
51 Przykład Plan wykładu X=(A B+C) (A B) C T 1 2 ( 1 = 0 X i = 5 j = 2 ŁAD T 1
52 Przykład Plan wykładu X=(A B+C) (A B) C T 1 2 ( 1 = 0 X i = 5 j = 2 ŁAD T 1 POB T 1 DOD C ŁAD T 2
53 Przykład Plan wykładu X=(A B+C) (A B) T 2 2 ( 1 = 0 X i = 3 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
54 Przykład Plan wykładu X=(A B+C) (A B) T 2 1 = 0 X i = 2 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
55 Przykład Plan wykładu X=(A B+C) (A B) T 2 1 = 0 X i = 3 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
56 Przykład Plan wykładu X=(A B+C) (A B) ( 3 2 T 2 1 = 0 X i = 4 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
57 Przykład Plan wykładu X=(A B+C) (A B) A 4 ( 3 2 T 2 1 = 0 X i = 5 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
58 Przykład Plan wykładu X=(A B+C) (A B) A 4 ( 3 2 T 2 1 = 0 X i = 6 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
59 Przykład Plan wykładu X=(A B+C) (A B) 7 B 6 5 A 4 ( 3 2 T 2 1 = 0 X i = 7 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2
60 Przykład Plan wykładu X=(A B+C) (A B) 7 B 6 5 A 4 ( 3 2 T 2 1 = 0 X i = 7 j = 3 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3
61 Przykład Plan wykładu X=(A B+C) (A B) T 3 4 ( 3 2 T 2 1 = 0 X i = 5 j = 4 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3
62 Przykład Plan wykładu X=(A B+C) (A B) T T 2 1 = 0 X i = 4 j = 4 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3
63 Przykład Plan wykładu X=(A B+C) (A B) T T 2 1 = 0 X i = 4 j = 4 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4
64 Przykład Plan wykładu X=(A B+C) (A B) T 4 1 = 0 X i = 2 j = 5 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4
65 Przykład Plan wykładu X=(A B+C) (A B) T 4 1 = 0 X i = 2 j = 5 ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X
66 przebiega w 3 etapach: 1 Eliminacja sekwencji ŁAD T j POB T j 2 Wykorzystanie przemienności operacji, czyli ŁAD T j zamiana POB X na <op.przem.> X <op.przem.> T j 3 Wykorzystanie wspólnych podwyrażeń - wynik zapisany w zmiennej pomocniczej używany jest w dalszej części kodu
67 Przykład optymalizacji kodu X = ( A - B + C ) * ( A - B ) ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X
68 Przykład optymalizacji kodu X = ( A - B + C ) * ( A - B ) ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X 1. etap DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD X
69 Przykład optymalizacji kodu X = ( A - B + C ) * ( A - B ) ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X 1. etap DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD X 2. etap DOD C ŁAD T 2 MNO T 2 ŁAD X
70 Przykład optymalizacji kodu X = ( A - B + C ) * ( A - B ) ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X 1. etap DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD X 2. etap DOD C ŁAD T 2 MNO T 2 ŁAD X 3. etap ŁAD T 1 DOD C ŁAD T 2 POB T 1 MNO T 2 ŁAD X
71 Przykład optymalizacji kodu X = ( A - B + C ) * ( A - B ) ŁAD T 1 POB T 1 DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD T 4 POB T 4 ŁAD X 1. etap DOD C ŁAD T 2 ŁAD T 3 POB T 2 MNO T 3 ŁAD X 2. etap DOD C ŁAD T 2 MNO T 2 ŁAD X 3. etap ŁAD T 1 DOD C ŁAD T 2 POB T 1 MNO T 2 ŁAD X ŁAD T 1 DOD C MNO T 1 ŁAD X
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ółowoPodstawy 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ółowoPodstawy Informatyki Układ przerwań
maszyny W Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu maszyny W 1 Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy
Bardziej szczegółowoMetody Kompilacji Wykład 1 Wstęp
Metody Kompilacji Wykład 1 Wstęp Literatura: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman: Compilers: Princiles, Techniques, and Tools. Addison-Wesley 1986, ISBN 0-201-10088-6 Literatura: Alfred V. Aho,
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie 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ółowoInstrukcja 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ółowoTranslacja wprowadzenie
Translacja wprowadzenie Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Literatura 1) Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison- Wesley, 1986
Bardziej szczegółowoAnaliza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Bardziej szczegółowoSprzę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ółowoPodstawy Informatyki Układ sterujący
- wersja szyta - wersja mikroprogramowana Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi - wersja szyta - wersja mikroprogramowana Plan wykładu 1 Maszyna W Lista rozkazów maszyny
Bardziej szczegółowoPodstawy 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ółowoProgramowanie 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ółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoSpis 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ółowoWstępdo assemblera MA51
no MACRO yes Wstępdo assemblera MA51 c.d. makrodefinicje Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Assembler
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ółowoZarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Bardziej szczegółowoProgramowanie 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ółowoJava 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ółowoZadanie analizy leksykalnej
Analiza leksykalna 1 Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Przykład: We: COST := ( PRICE + TAX ) * 0.98 Wy: id 1 := ( id 2 + id 3 ) * num 4 Tablica symboli:
Bardziej szczegółowoPRZYDZIAŁ PAMIĘCI OPERACYJNEJ
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowopetla:... ; 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ółowoJę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ółowoProgramowanie 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ółowoJę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ółowoPrzedmiot : 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ółowoAnaliza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych
Bardziej szczegółowoKONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Bardziej szczegółowoPodstawy programowania - 1
Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl
Bardziej szczegółowoINFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Bardziej szczegółowoProgramowanie 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ółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoPodstawy 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ółowoTRANSLACJA I TRANSLATORY
TRANSLACJA I TRANSLATORY Języki programowania niskiego czy też wysokiego poziomu mają na zadanie przetworzyć ogół algorytmów w nich zapisanych na taką postać aby maszyna cyfrowa była w stanie je wykonać
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoJeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.
Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji
Bardziej szczegółowoWstę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ółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ 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 zasad
Bardziej szczegółowoKARTA KURSU. Wstęp do programowania
KARTA KURSU Nazwa Nazwa w j. ang. Wstęp do programowania Introduction to Programming Kod Punktacja ECTS* 6 Koordynator dr inż. Magdalena Andrzejewska Zespół dydaktyczny: dr inż. Magdalena Andrzejewska
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie 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ółowoelektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie w asemblerze 1 Nazwa modułu w języku angielskim Assembly programming
Bardziej szczegółowoJę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ółowoKARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka
KARTA PRZEDMIOTU. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Bardziej szczegółowoGramatyki atrybutywne
Gramatyki atrybutywne, część 1 (gramatyki S-atrybutywne Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki atrybutywne Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji
Bardziej szczegółowoMETODY 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ół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ółowoKARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowoRyszard Myhan. Wykład 1: Języki programowania
Ryszard Myhan Wykład 1: Języki programowania Programowanie Programowanie to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych.
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoPLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy
PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy DZIEŃ 1 Idea sterowania procesu lub maszyny: Sterowanie za pomocą przekaźników Sterowanie dedykowane Sterowanie za
Bardziej szczegółowoRok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne
Nazwa modułu: Programowanie proceduralne Rok akademicki: 2013/2014 Kod: JFT-1-201-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: Poziom studiów: Studia
Bardziej szczegółowoNazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania
Bardziej szczegółowoAlgorytmy od problemu do wyniku
Algorytmy Etapy tworzenia programu: 1) Sformułowanie zadania analiza problemu. 2) Opracowanie algorytmu sposób rozwiązania. 3) Zapisanie algorytmu w języku programowania kodowanie programu. 4) Kompilowanie
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoPlan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk
Plan wykładu (1) Paweł J. Matuszyk AGH Kraków 1 2 tor leksykalny tor syntaktyczny Generator pośredniego Generator wynikowego Hopcroft J. E., Ullman J. D., Wprowadzenie do teorii automatów, języków i obliczeń,
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoPodstawy programowania (1)
Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie
Bardziej szczegółowoPRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S
PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Dziekan Wydziału Nauk Społecznych i Technik Komputerowych S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Bardziej szczegółowoPROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoJęzyk programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści
Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia
Bardziej szczegółowoProgramowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
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ółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoTechniki 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ółowoAlgorytmika i pseudoprogramowanie
Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Programowanie Strukturalne i Obiektowe Klasa: druga Dział Dopuszczający Dostateczny Dobry
Bardziej szczegółowoMakropolecenia w Excelu
Makropolecenia w Excelu Trochę teorii Makropolecenie w skrócie nazywane makro ma za zadanie automatyczne wykonanie powtarzających się po sobie określonych czynności. Na przykładzie arkusza kalkulacyjnego
Bardziej szczegółowoZarządzanie pamięcią operacyjną zagadnienia podstawowe
Zarządzanie pamięcią operacyjną zagadnienia podstawowe Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych. Z punktu widzenia systemu pamięć jest zasobem o strukturze
Bardziej szczegółowoTEST 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ółowoKARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*
WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI Zał. nr 4 do ZW 33/01 KARTA PRZEDMIOTU Nazwa w języku polskim: Programowanie w języku C Nazwa w języku angielskim C language programming Kierunek studiów (jeśli
Bardziej szczegółowoZarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
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ół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ółowoimei 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ółowoProgramowanie 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ółowoGrzegorz 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ółowoPodstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24
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.
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ółowoZarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoKomputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Bardziej szczegółowoOd programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoAnaliza semantyczna. Gramatyka atrybutywna
Analiza semantyczna Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji na temat składni języka podlegającego tłumaczeniu, translator musi posiadać możliwość korzystania z wielu innych informacji
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoDelphi Laboratorium 3
Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,
Bardziej szczegółowoI. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA
I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów
Bardziej szczegółowoWstę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ółowoPodstawy 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ółowoPMiK Programowanie Mikrokontrolera 8051
PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0
Bardziej szczegółowoA 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ółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoWYKŁAD 1 - KONSPEKT. Program wykładu:
mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu
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ółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowo