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ę