Detail předmětu

Pokročilé asemblery

IPA Ak. rok 2011/2012 zimní semestr 5 kreditů

Aktuální akademický rok

Chráněný režim procesorů Pentium: princip ochrany, registry, správa paměti, soubor instrukcí. Technika programování v chráněném režimu, správa úloh, virtuální režim. Využití nízkoúrovňového Win32 API v aplikacích pro Windows - konzolové aplikace, "okénkové" aplikace, OpenGL. Technologie programování s využitím multimediálních SIMD instrukcí současných procesorů Intel (MMX a SSE). Seznámení s 64bitovými procesory.

Garant předmětu

Jazyk výuky

česky, anglicky

Zakončení

zkouška

Rozsah

  • 26 hod. přednášky
  • 14 hod. pc laboratoře
  • 12 hod. projekty

Zajišťuje ústav

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

Principy chráněného režimu architektury IA-32. Tvorba programů používajících instrukce MMX a SSE. Tvorba programů a knihoven pracujících v chráněném režimu používajících Win32 API na nejnižší úrovni.

Cíle předmětu

Seznámit studenty s programováním náročnějších aplikací na nejnižší úrovni. Naučit používat instrukce multimediálního rozšíření procesorů Intel. Seznámit s principy chráněného režimu archiotektury IA-32, naučit programovat v chráněném režimu a používat rozhraní Win32 API v nízkoúrovňových aplikacích. Seznámit s 64-bitovými procesory.

Požadované prerekvizitní znalosti a dovednosti

Nezbytná je základní znalost asembleru procesorů x86 (pro studenty FIT je to předmět IAS), znalost programování v NASM a jazyka C.

Literatura studijní

  • Orság, F.: Studijní opora k předmětu IPA
  • Zbořil, F.: Strojově orientované jazyky, skripta, VUT v Brně, 1991, ISBN 80-214-0349-7
  • Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
  • Kusswurm, D.: Modern X86 assembly language programming: 32-bit, 64-bit, SSE, and AVX. Apress, 2014. ISBN: 9781484200650.
  • Irvine, K.R.: Assembly Language for Intel-Based Computers, Prentice Hall, 2002, ISBN 0130910139
  • Bistry, D.: The Complete Guide to MMX Technology, McGraw-Hill/TAB Electronics, 1997, ISBN 0070061920
  • Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
  • Intel 64 and IA-32 Architectures Software Developer's Manuals [online]. K dispozici na <www.intel.com>.

Literatura referenční

  • Hyde, R.: The Art of Assembly Language, No Strach, 2003, ISBN 1886411972
  • Irvine, K.R.: Assembly Language for Intel-Based Computers, Prentice Hall, 2002, ISBN 0130910139
  • Bistry, D.: The Complete Guide to MMX Technology, McGraw-Hill/TAB Electronics, 1997, ISBN 0070061920
  • Abel, P.: IBM PC Assembly Language and Programming, Prentice-Hall, Inc., 1995, ISBN 0-13-317729-7
  • Intel 64 and IA-32 Architectures Software Developer's Manuals [online]. K dispozici na <www.intel.com>.

Osnova přednášek

  1. OS Windows a asembler - obecné seznámení.
  2. Programování aplikací v asembleru pro OS Windows - konzolové aplikace a DLL knihovny.
  3. Programování aplikací v asembleru pro OS Windows - okénkové aplikace a OpenGL.
  4. Seznámení s instrukcemi rozšíření MMX.
  5. Aplikace využívající rozšíření MMX.
  6. Seznámení s instrukcemi technologie SSE.
  7. Aplikace využívající technologii SSE.
  8. Optimalizace kódu v asembleru.
  9. Chráněný režim procesorů IA-32 - soubor registrů a instrukcí, paměťové modely.
  10. Chráněný režim procesorů IA-32 - základní datové struktury, správa paměti.
  11. Chráněný režim procesoru IA-32 - způsoby ochrany dat a kódu.
  12. Chráněný režim procesoru IA-32 - správa úloh.
  13. 64bitové procesory.

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

  1. Tvorba a použití knihoven DLL.
  2. Win32 API - konzolová aplikace.
  3. Win32 API - klasická aplikace s okny.
  4. Win32 API - aplikace využívající OpenGL.
  5. Aplikace instrukcí rozšíření MMX.
  6. Aplikace instrukcí technologie SSE.
  7. Optimalizace kódu.

Průběžná kontrola studia

Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.

Kontrolovaná výuka

Kontrolovanou výukou je práce na cvičeních a hodnocený projekt.

Nahoru