- Name of course:
- Programowanie niskopoziomowe 1
- Coordinator of course:
- dr inż. Andrzej Kalicki, anka@iem.pw.edu.pl, tel. +48222347427
- Type of course:
- Compulsory
- Level of education:
- First cycle studies
- Programme:
- Informatyka
- Group of courses:
- Wspólne
- Code of course:
- Nominal semester:
- 6 / AY 2009/2010
- Number of ECTS credits:
- 3
- Number of hours of student’s work to achieve learning outcomes:
- Number of ECTS credits on the course with direct participation of academic teacher:
- Language of course:
- polish
- Number of ECTS credits on practical activities on the course:
- Form of didactic studies and number of hours per semester:
-
- Lecture30h
- Exercise type of course0h
- Laboratory0h
- Project type of course0h
- Computer lessons0h
- Preliminary requirements:
- Programowanie w języku C, Architektura komputerów
- Limit of students:
- Purpose of course:
- Własności wybranych procesorów z punktu widzenia programisty. Programowania asemblerowe. Środowisko pracy programu w systemie operacyjnym i bez niego. Przekazywanie parametrów do podprogramów. Arytmetyka zmiennoprzecinkowych. Formaty Low Endian i High Endian przedstawiania. Realizacja funkcji rekurencyjnych i funkcji obsługujących przerwania. Proces tworzenia programu – kompilacja i łączenie. Oprogramowanie narzędziowe. Biblioteki. Tworzenie programu wielomodułowego. Wywoływanie procedur. Programowanie hybrydowe. Ładowanie i start programuStruktura programu. Techniki programowania w asemblerze. Metody optymalizacji programu. Prawidłowy styl programowania asemblerowego.
- Contents of education:
- Własności wybranych procesorów 8, 16 i 32-bitowych z punktu widzenia programisty - CISC (8051, x86) i RISC (ARM). Zastosowanie programowania asemblerowego i hybrydowego, środowisko pracy programu w systemie operacyjnym i bez niego. Programowanie asemblerowe w środowisku systemu operacyjnego - sekcje, deklaracje danych, ładowanie i start programu, korzystanie z funkcji systemowych. Przekazywanie parametrów do podprogramów. Arytmetyka liczb całkowitych i zmiennoprzecinkowych. Formaty Low Endian i High Endian dla przedstawiania danych w procesorze. Realizacja funkcji rekurencyjnych i funkcji obsługujących przerwania. Proces tworzenia programu – kompilacja i łączenie. Oprogramowanie narzędziowe - kompilator, asembler, konsolidator i bibliotekarz. Biblioteki. Tworzenie programu wielomodułowego. Wywoływanie procedur. Konwencje wołania. Programowanie hybrydowe. Ładowanie i start programu, korzystanie z funkcji systemowych. Struktura programu. Techniki programowania w asemblerze. Metody optymalizacji programu. Prawidłowy styl programowania asemblerowego.
- Methods of evaluation:
- brak
- Exam:
- Literature:
- Jan Bielecki "Turbo Asembler i Turbo Debugger", Wydawnictwo WNT, Warszawa 1990. Gary Syck "Turbo Asembler® Biblia użytkownika", Wydawnictwo LT&P, Warszawa 1994. Janusz Biernat "Arytmetyka komputerów", PWN, 1996. Artur Kowalczyk "Assembler", Wydawnictwo Croma, Wrocław 1999. Stanisław Kruk "Asembler. Kurs programowania dla średnio zaawansowanych", Wydawnictwo MIKOM, Warszawa 2001. Stanisław Kruk "Procesor Pentium", Wydawnictwo PLJ, Warszawa 1998. Kip R. Irvine "Asembler dla procesorów Intel. Vademecum profesjonalisty", Wydawnictwo Helion, Zabrze 2003. Materiały firmowe - dostępne w sieci www - ARM, Intel, Philips.
- Website of the course:
- Notes:
Effects of education