456-0328/01 – Strojově orientované jazyky (SOJ)
Garantující katedra | Katedra informatiky | Kredity | 6 |
Garant předmětu | Ing. Petr Olivka, Ph.D. | Garant verze předmětu | Ing. Petr Olivka, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinně volitelný |
Ročník | 2 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2003/2004 | Rok zrušení | 2009/2010 |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Cílem je seznámení se s možnostmi využití technických prostředků počítače PC v jazyce symbolických instrukcí. Programování v OS Linux.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Projekt
Anotace
Předmět má seznámit studenty s programováním v assembleru na počítačích IBM PC pod OS a MS-DOS a Linux. Zároveň s tím, ukázat technické možnosti procesoru - základní celočíselná jednotka, FPU, MMX - a technické prostředky PC.
Povinná literatura:
Brandejs,M.: mikroprocesory INTEL 8086-80486, GRADA a.s., 1991.
Elektronické manuály a příklady.
Dokumentace NASM.
www.intel.com, www.amd.com - technická a programátorská specifikace.
Doporučená literatura:
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
E-learning
Další požadavky na studenta
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
Procesory Intel 8086, velikosti operandů, registry, adresace - bázové a indexové registry, výpočet fyzické adresy.
Instrukce přesunové, použití adresace přímé a nepřímé.
Instrukce aritmetické a logické.
Instrukce skokové, řetězcové a řídící.
Rozšíření instrukčního souboru procesoru Intel 80186, 80286, rozšíření 32-bitového procesoru 386 a 486, Pentium, Pentium Pro, ...
Direktivy a operátory překladače JSI.
Segmentace, paměťové modely, pravidla pro spojování segmenů.
Spojování programů v JSI s vyššími programovacími jazyky, použití JSI ve zdrojových textech vyšších programovacích jazyků.
Statické a dynamické linkování, implementace překryvných modulů, implemenatce OOP a přetížených identifikátorů.
Přerušení programové a systémové, obsluha, přesměrování obsluhy přerušení, spolupráce s řadičem přerušení. Rezidentní programy.
Aritmetické operace s velkými celými čísly.
Koprocesor, MMX.
Princim činnosti procesoru Intel a kopm. v chráněném módu.
Formát pevných disků, souborový systém, zavádění OS.
Projekty:
V rámci samostatné přípravy si každý student vybere libovolný hotový program napsaný v jazyce C/C++ a přepíše některé funkce tohoto programu do JSI. Tím si ověří svou schopnost správně využívat adresovací režimy, předávání argumentů funkcí přes zásobník, používání lokálních proměnných a podmíněné skoky.
Počítačové laboratoře:
Registry, základní adresovací režimy, nedokonalosti překladačů vyšších jazyků.
Překlad a linkování programu. Symboly veřejné a lokální. Spojování programů jazyka C a ASM.
Istrukce přesunové a skokové.
Intrukce logické a aritmetické.
Instrukce řetězcové.
Předávání parametrů přes zásobník, návratové hodnoty funkcí.
Manipulace se základními datovými typy v podprogramech.
Aritmetika s čísly ve dvou registrech.
Sčítání, odčítání, botové posuny N-bitových čísel.
Násobení a dělení N-bitových čísel.
Podmínky absolvování předmětu
Podmínky absolvování jsou definovány pouze pro konkrétní verzi předmětu a formu studia
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky