- Nazwa przedmiotu:
- Programowanie niskopoziomowe 1
- Koordynator przedmiotu:
- dr inż. Andrzej Kalicki, anka@iem.pw.edu.pl, tel. +48222347427
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 6 / rok ak. 2009/2010
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Programowanie w języku C, Architektura komputerów
- Limit liczby studentów:
- Cel przedmiotu:
- 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.
- Treści kształcenia:
- 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.
- Metody oceny:
- brak
- Egzamin:
- Literatura:
- 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.
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się