Název:

Asemblery

Zkratka:IAS
Ak.rok:2012/2013
Semestr:zimní
Studijní plán:
ProgramOborRočníkPovinnost
IT-BC-3BIT1.povinný
Vyučovací jazyk:čeština
Informace pro zapsané:http://www.fit.vutbr.cz/study/courses/IAS/private/
Kredity:6 kreditů
Ukončení:zápočet+zkouška (písemná)
Výuka:
hod./sempřednáškasem./cvičenílab. cvičenípoč. cvičeníjiná
Rozsah:3900130
 zkouškatestycvičenílaboratořeostatní
Body:60202000
Garant:Zbořil František V., doc. Ing., CSc., UITS
Přednášející:Drahanský Martin, doc. Ing., Dipl.-Ing., Ph.D., UITS
Hanáček Petr, doc. Dr. Ing., UITS
Orság Filip, Ing., Ph.D., UITS
Zbořil František V., doc. Ing., CSc., UITS
Cvičící:Doležel Michal, Ing., UITS
Charvát Lukáš, Ing., UITS
Luža Radim, Ing., UITS
Musil Martin, Ing., UPGM
Musil Petr, Ing., UPGM
Najman Pavel, Ing., UPGM
Novotný Tomáš, Ing., UITS
Samek Jan, Ing., Ph.D., UITS
Szöllös Alexandr, Ing., UITS
Žák Jakub, Ing., UITS
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav inteligentních systémů FIT VUT v Brně
Nahrazuje:
Strojově orientované jazyky (SOJ), FIT
 
Cíle předmětu:
Seznámit studenty s programováním počítačů na nejnižší úrovni se zaměřením na počítače PC s procesory Intel Pentium, a to především s číselnými soustavami, zobrazováním čísel bez a se znaménkem, s aritmetikou v dvojkové soustavě a se zobrazováním reálných čísel. Dále se základní architekturou procesorů Intel Pentium, s typy a adresováním operandů, se souborem celočíselných a FPU instrukcí, se základním jazykem a s typickými programovacími konstrukcemi.
Anotace:
Číselné soustavy. Zobrazování celých čísel bez a se znaménkem, aritmetika ve dvojkové soustavě. Strojový jazyk, jazyk symbolických instrukcí, asembler. Architektura procesorů Intel Pentium (registry, organizace hlavní paměti, přerušovací systém). Soubor celočíselných instrukcí. Programování na úrovni strojového jazyka. Jazyk symbolických instrukcí NASM, symbolické instrukce, direktivy, makroinstrukce. Překlad a sestavování. Standardní předávání řízení a parametrů při volání procedur a funkcí. Služby operačního systému. Programování periferií PC (videoRAM, myš, reproduktor). Zobrazování reálných čísel, standard IEEE. Architektura FPU a soubor instrukcí FPU. Programování FPU. Seznámení s FITkit.
Požadované prerekvizitní znalosti a dovednosti:
Žádné.
Získané dovednosti, znalosti a kompetence z předmětu:
Studenti se seznámí s architekturou procesorů Intel Pentium (základní režim) včetně jednotky FPU a naučí se používat nejdůležitější celočíselné a FPU instrukce. Dále se naučí jazyk symbolických instrukcí NASM a budou schopni vytvářet programy v tomto jazyku a překládat tyto programy do spustitelných programů. Získají i základní vědomosti o předávání řízení a parametrů a o službách operačního systému a budou schopni tyto získané vědomosti prakticky používat.
Dovednosti, znalosti a kompetence obecné:
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 vést řádnou dokumentaci elementárních počítačových programů.
Osnova přednášek:
  1. Úvod, číselné soustavy, aritmetika.
  2. Strojový jazyk, jazyk symbolických instrukcí, asembler.
  3. Základní režim procesorů Pentium: soubor registrů, typy operandů, formát instrukcí, adresování paměti, přerušení.
  4. Soubor instrukcí procesorů Pentium. Celočíselné instrukce.
  5. Celočíselné instrukce, pokračování.
  6. Celočíselné instrukce, pokračování.
  7. Zásady programování ve strojovém jazyku, typické řídící konstrukce.
  8. Jazyk symbolických instrukcí.
  9. Jazyk symbolických instrukcí, pokračování.
  10. Programové moduly, knihovny, služby operačního systému. Procedury a funkce, standardní předávání řízení a parametrů.
  11. FPU procesorů Pentium.
  12. Soubor instrukcí FPU.
  13. FITkit.
Osnova počítačových cvičení:
  1. Principy programování v symbolickém jazyku. Překlad, sestavení a spuštění programu.
  2. Jednoduché programy v symbolickém jazyku.
  3. Překladač NASM a sestavující program LINK.
  4. Služby operačního systému. Programování periférií PC.
  5. Standardní předávání řízení a parametrů procedur a funkcí.
  6. Individuální složitější programy.
  7. Programování FPU.
Literatura referenční:
  1. Intel Architecture Software Developer's Manual,Volume 2: Instruction Set Reference https://www.fit.vutbr.cz/study/courses/IAS/private/24319102
  2. The Netwide Assembler: NASM, Quick reference Guide, 2012, http://www.nasm.us/xdoc/2.10.05/nasmdoc.pdf
Literatura studijní:
  1. Marek, R.: Assembler pro PC - učíme se programovat v jazyce, Computer Press, 2003, ISBN 80-7226-843-0
  2. Carter, P.: Assembly language tutorial, http://www.drpaulcarter.com/pcasm/, 2002
Průběžná kontrola studia:
  • Půlsemestrální písemný test
  • Hodnocení aktivity v počítačových cvičeních
Podmínky zápočtu:
Nejméně 15 bodů získaných v průběhu semestru.

Upozornění: Počínaje akademickým rokem 2009/2010 se stanovuje minimální počet bodů (25), nutný pro úspěšné absolvování semestrální zkoušky - studenti, kteří tento počet bodů nezískají, budou mít semestrální zkoušku hodnocenou 0 body !!!