Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2022/2023

Strojově orientované jazyky

Typ studia magisterskénavazující magisterské
Jazyk výuky angličtina
Kód 460-4083/04
Zkratka SOJ
Název předmětu česky Strojově orientované jazyky
Název předmětu anglicky Assembly Languages
Kreditů 6
Garantující katedra Katedra informatiky
Garant předmětu Ing. Petr Olivka, Ph.D.

Osnova předmětu

Přednášky:
1. Procesory Intel 8086, velikosti operandů, registry, adresace - bázové a indexové registry, výpočet fyzické adresy.
2. Instrukce přesunové, použití adresace přímé a nepřímé.
3. Instrukce aritmetické a logické.
4. Instrukce skokové, řetězcové a řídící.
5. Rozšiřování instrukčního souboru během vývoje procesorů Intel.
6. Spojování programů v JSI s vyššími programovacími jazyky, použití JSI ve zdrojových textech vyšších programovacích jazyků.
7. Předávání parametrů a návratových hodnot do funkcí.
8. Rozšíření procesorů na 64 bitový režim, spojování s vyššími programovacími jazyky
9. Statické a dynamické linkování, implementace OOP a přetížených identifikátorů.
10. Výpočty s velkými čísly, základní principy.
11. Výpočty s velkými čísly bez omezení velikosti.
12. Formáty desetinných čísel, provádění výpočtů s desetinnými čísly.
13. Matematický koprocesor, FPU a SSE.

Cvičení (probíhají v počítačové učebně):
1. Registry, základní adresovací režimy, nedokonalosti překladačů vyšších jazyků.
2. Překlad a linkování programu. Symboly veřejné a lokální. Spojování programů jazyka C a ASM.
3. Instrukce přesunové a skokové.
4. Instrukce logické a aritmetické.
5. Instrukce řetězcové.
6. Předávání parametrů přes zásobník, návratové hodnoty funkcí.
7. Manipulace se základními datovými typy v podprogramech.
8. Aritmetika s čísly ve více registrech.
9. Sčítání, odčítání a bitové posuny N-bitových čísel.
10. Násobení a dělení N-bitových čísel.
11. Programování v 64 bitovém režimu.
12. Formáty a výpočty s desetinnými čísly.
13. Matematický koprocesor FPU a jednotka SSE

Povinná literatura

[1] Barry B. Brey, The Intel Microprocessors, Prentice Hall; 8 edition (June 28, 2008), ISBN: 0135026458 
[2] Benjamin Ray Seyfarth, Introduction to 64 Bit Intel Assembly Language Programming for Linux, CreateSpace Independent Publishing Platform; 2 edition (June 23, 2012), ISBN: 1478119209 
[3] http://www.intel.com, http://www.amd.com - technická a programátorská specifikace procesorů.

Doporučená literatura

[1] Brandejs,M.: Mikroprocesory INTEL 8086-80486, GRADA a.s., 1991.
[2] Dokumentace překladače NASM, http://www.nasm.us