- Nazwa przedmiotu:
- Programowanie w językach zorientowanych maszynowo
- Koordynator przedmiotu:
- dr Jan Bródka
- Status przedmiotu:
- Fakultatywny ograniczonego wyboru
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 6 / rok ak. 2011/2012
- Liczba punktów ECTS:
- 4
- 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:
- Umiejętność programowania w językach wysokiego poziomu (najlepiej C/C++), podstawowa wiedza na temat architektury komputerów
Przedmioty poprzedzające: Programowanie (C/C++, sem. 2), Programowanie Obiektowe (C#, sem. 3)
- Limit liczby studentów:
- Cel przedmiotu:
- Praktyczna umiejętność programowania w języku asemblera procesorów rodziny Intel 80x86, głównie pod kątem programowania hybrydowego, w połączeniu z językami wysokiego poziomu (C, C++, C#). Ogólna znajomość architektury procesorów i specyfiki języków asemblerowych.
- Treści kształcenia:
- Program wykładu
• Architektura procesorów z rodziny Intel 80x86: rejestry uniwersalne, znaczniki, tryby adresowania, kodowanie rozkazów
• Podstawowe dyrektywy asemblera i łączenie asemblera z językiem C/C++
• Rozkazy całkowitoliczbowe i sterujące: przesyłanie danych, arytmetyka całkowitoliczbowa, operacje bitowe, skoki, pętle, procedury, niektóre inne rozkazy
• Architektura jednostki zmiennopozycyjnej procesorów 80x86 i rozkazy zmiennopozycyjne
• Tworzenie bibliotek dll i łączenie asemblera z językiem C#
• Makrojęzyk asemblera
• Rozkazy MMX i SSE
• Tryb 64-bitowy: rozszerzenia architektury i rozkazów
Program laboratorium
Na każdych (dwugodzinnych) zajęciach odrębne zadanie mające na celu ćwiczenie praktycznych umiejętności programowania w języku asemblera procesorów rodziny Intel 80x86 w połączeniu z językiem C/C++/C#.
Laboratorium odbywa się w drugiej połowie semestru
- Metody oceny:
- 50% - laboratorium (suma punktów za poszczególne zadania, obecność obowiązkowa, nie ma możliwości poprawiania zadań)
50% - pisemne zaliczenie końcowe
Z dodatkowym warunkiem, że dla uzyskania oceny pozytywnej zarówno laboratorium jak i kolokwium końcowe traktowane oddzielnie również muszą być zaliczone.
- Egzamin:
- Literatura:
- • E. Wróbel – Asembler, Helion, 2004
• A. Błaszczyk – Asembler w Windows, Helion, 2004
• dokumentacja dostępna w internecie na stronach firmy Intel
• materiały z wykładów na stronie internetowej www.mini.pw.edu.pl/~brodka
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się