Detail předmětu

Programování na strojové úrovni

ISU Ak. rok 2015/2016 letní semestr 6 kreditů

Aktuální akademický rok

Číselné soustavy: zobrazování celých čísel bez a se znaménkem, aritmetika ve dvojkové soustavě, reálná čísla ve formátu IEEE-754. Strojový jazyk: jazyk symbolických instrukcí, základní funkce počítače. Konkrétní architektura procesoru: registry, základy organizace paměti, adresování, systém přerušení, práce s koprocesory, soubor instrukcí a jejich formát. Programování na úrovni strojového jazyka: základní programátorské konstrukce, překlad a linkování kódu. Návaznost na vyšší programovací jazyky: standardní předávání řízení a parametrů při volání funkcí, služby operačního systému. Koprocesor: formát čísel, instrukční sada, programování koprocesoru FPU.

Garant předmětu

Jazyk výuky

česky, anglicky

Zakončení

zápočet+zkouška

Rozsah

  • 39 hod. přednášky
  • 26 hod. pc laboratoře

Zajišťuje ústav

Získané dovednosti, znalosti a kompetence z předmětu

Studenti se seznámí s jednou konkrétní architekturou procesoru. Naučí se používat nejdůležitější instrukce daného procesoru a koprocesoru FPU, jazyk symbolických instrukcí a budou schopni vytvářet jednoduché programy, překládat je a spojovat do spustitelných programů. Získají základní vědomosti o předávání řízení, předávání parametrů, přehled o službách operačního systému a jejich volání a budou schopni tyto získané vědomosti prakticky používat.

Studenti získají základní vědomosti o architektuře a činnosti procesoru, které patří k základním znalostem všech odborníků oboru IT. Naučí se řešit jednoduché problémy v jazyku symbolických instrukcí a návaznost na vyšší programovací jazyky.

Cíle předmětu

Seznámit s programováním počítačů na nejnižší úrovni se zaměřením na vybranou architekturu. Seznámit a naučit aktivně pracovat s číselnými soustavami, zobrazováním čísel bez a se znaménkem, aritmetikou v dvojkové soustavě a se zobrazováním reálných čísel. Seznámit s vybranou konkrétní architekturou procesorů, formátem instrukcí a adresovacími režimy. Naučit aktivně programovat běžné řídící konstrukce v asembleru s daným souborem instrukcí. Propojit programování v asembleru na nízké úrovni s programovacími jazyky vyšší úrovně knihovnami a službami operačního systému. Naučit používat koprocesor pro práci s reálnými čísly (FPU).

Požadované prerekvizitní znalosti a dovednosti

Základní znalost programování v jazyce C.

Literatura studijní

Literatura referenční

Osnova přednášek

  1. Úvod, číselné soustavy, reprezentace čísel, binární aritmetika.
  2. Základní funkce procesoru, strojový jazyk, jazyk symbolických instrukcí, asembler.
  3. Architektura procesoru - registry, typy operandů, formát instrukcí, adresování paměti, přerušení.
  4. Architektura procesoru - přenosy, aritmetické a logické instrukce.
  5. Architektura procesoru - posuny a rotace, předávání řízení.
  6. Architektura procesoru - další instrukce.
  7. Půlsemestrální test.
  8. Zásady programování ve strojovém jazyku, základní řídící konstrukce.
  9. Funkce, standardní předávání řízení a parametrů.
  10. Programové moduly, knihovny, služby operačního systému.
  11. Koprocesor FPU - architektura, reprezentace reálných čísel, instrukční sada.
  12. Koprocesor FPU - instrukční sada, programování a ukázky použití.
  13. Překladač jazyka symbolických instrukcí - pseudoinstrukce, direktivy, výrazy, operátory, operandy a makra.

Osnova počítačových cvičení

  1. Vývojové prostředí pro asemblery, překlad, sestavení a spuštění programu v příkazové řádce.
  2. Číselné soustavy (převody mezi soustavami), číselné kódy (reprezentace záporných čísel, reálná čísla).
  3. Hypotetický počítač (programování a ladění kódu ve vývojovém prostředí).
  4. Aritmetické a logické instrukce, instrukce posunů a rotací.
  5. Test - řešení jednoduchého matematického problému v asembleru.
  6. Skokové instrukce a základní řídicí konstrukce (if-then-else, while, do-while, for, switch-case).
  7. Práce s pamětí (proměnné, pole).
  8. Test - programování základních řídících konstrukcí.
  9. Volání funkcí a předávání parametrů funkcím.
  10. Volání služeb a funkcí operačního systému a volání funkcí z knihoven vyšších programovacích jazyků.
  11. Test - jednoduchý program s uživatelským vstupem a výstupem z příkazové řádky.
  12. Práce s koprocesorem FPU.
  13. Test - programování koprocesoru.

Průběžná kontrola studia

Nejméně 20 bodů získaných v průběhu semestru.

Minimální počet bodů nutný pro úspěšné absolvování semestrální zkoušky je 25.

Kontrolovaná výuka

  • půlsemestrální písemný test
  • testy v počítačových cvičeních

Zařazení předmětu ve studijních plánech

  • Program IT-BC-3, obor BIT, 1. ročník, povinný
Nahoru