36SOJ Strojově orientované jazyky - Cimbál

Přidat komentář k učiteli

2004/05 ZS cvika/přednášky: Ten clovek tomu proste rozumi. Skoda ze se jen neumi o sve vedomosti podelit s temi, kteri o asembleru vi jen to, ze je to nejaky hrozny programovaci jazyk. Pro ty, co uz zaklady asembleru znaji vrele doporucuju, pro zacatecniky doporucuju simecka.
14.01.2005

2003/04 ZS cvika: Az tohohle cloveka uvidite kontrolovat nejakou ulohu, ktera nahlasi chybu typu "0x36BD12ED12blabla" a on z toho pochopi i jakou barvu ma podlozka pod vasi mysi, bude vam jasny, ze tenhle clovek tomu MAXIMALNE ROZUMI. Ted jde jenom o to, abyste tomu rozumenli i vy. Pokud budete v ASM zacatecnici jako ja, budete mit mozna obcas problem vsechno to pochopit a udelat ty jeho ulohy, ale jak rikam: je vybornej, rozumi tomu a nauci to, se semestralkou nedela vetsi problemy.
05.05.2004

2003/04 ZS cvika: Musím souhlasit s tím co je napsáno výše. Mr. Cimbál je opravdu
suprovej cvičící a musím ho jen a jen doporučit.
18.01.2004

2003/04 ZS cvika: Tenhle člověk assembleru skutečně do hloubky rozumí. Na první pohled a poslech z něj čiší ty roky strávené na demoscéně (pro ty co nevedí co to je, tak to jsou lidi, kteří vyrabí různé prográmky na efekt a hlavně na velikost výsledné binárky - no a jak jinak udělat nejkratší binárku než v assembleru). Tak předně nejen, že píše úsporně programy, alo on tak i mluví a píše na tabuli. Z prvního cvika jsem mu rozuměl zhruba asi tak polovinu toho co říkal. Prostě absolutní optimalizace ;) Ale za chvilku si na to zvyknete a ke konci už vám to ani nepřijde. Důležitější věc je, že se ho opravdu vyplatí poslouchat a psát si co nejlepší poznámky, protože ani trošku neopakuje přednášku. Cvičení jsou rozdělené na teoretická a praktická a jejich přibližný program má na svojí sqele udelané stránce, na kterou odkazují i ostatní cvičící. Na teoretických cvičeních vykláda buď o různých vychytávkách v assembleru (ohledne aritmetiky, syntaxe kterou assembler v podstate nema - dozvíte se proc nepoužívat makra) a nebo do hloubky vysvětluje různé HW záležitosti PC, které můžete potřebovat při low level programováni (reálný čas na PC, disky a jejich různé velikostní limity, grafické karty...). Při tom nenásilně probere látku která je pak potřeba pro nějakou následující úlohu a nebo se jen tak mimochodem zmíní o něčem co pak je v následujícím testu jako jedna otázka. Testů se píše 5 a obsahují vždy 5 otázek s a,b,c,d možnostmi a je možné použít jakoukoli literatůru. Ta totiž stejně nikomu nepomůže, protože ty otázky jsou vážně kruté. Dokonce ani když si ten pár řádkový programek v poslední úloze nabušíte do počítače a při písemce přeložíte stejně je to chyták a řešení je něco jiného. Jediný způsob jak se dostat ke správnému výsledku je vylučovací metodou, ale to zas musíte být v assembleru a obecně ve znalostech vnitřností PC hodně dobří. Úloh je 5 a je na ne vždy 2 týdny, přičemž jsou čím dál těžší (začínali jsme vyhledáním nejmenšího a nejvetšího čísla v poli hexa čísel včetně jeho vypsání a končili sw lupou nad obrázkem zobrazeném v grafickém režimu za využití stínové video ram). Musím uznat že ty úlohy vás skutečně naučí co byste mohli potřebovat o psaní programů v assembleru. Vždy po datumu odevzání Cimbál vezme nejkratší studentské řešení, ještě ho skrátí a pak vystaví na web. Komu se i tohle drasticky zredukované řešení podaří ještě něčím skrátit (myšleno na délku výsledné binárky) dostává automaticky o stupeň lepší známku než mu vychází po písemkách a semestrálce atd. Dokonce ani nemusíte udělat žádnou úlohu, pokud se vám podaří najít alespoň jeden jediný byte skrácení. Z toho vyplývá že to není nic jednoduchého. Navíc to řešení musí být použitelné i na 8086 (doporučuju pro kontrolu zda vámi zamýšlená instrukce je v 8086 instr. setu tuhle stránku: http://www.linuxmedialabs.com/nasm/html/nasmdoci.html). Nejlépe se nad oprimalizacemi přemýšlí pokud rovnou vydíte která instrukce kolik zabírá a kolik by zabrala ekvivaletní náhrada vašimi instrukcemi. Pro prvnotní orientaci: http://www.penguin.cz/~literakl/intel/intel.html Jinak nejaky obecný návod jak na optimalizace až na pár vyjímek jako jmp short a xor ax,ax neexistuje a tyhle profláklé tam zase opravdu málo kdy najdete (i když stane se ;). Co se semestrálky týče tak jí hodnotí dosti benevolentně, opravdu záleží spíš na tom jak tomu zdrojáku rozumíte vy, než na tom jetli se to za úplně všech okolností chová úplně korektně. Na druhou stranu za nic body nečekejte. Na závěr: pokud to chcete proflákat a nějakém tom osobním rozvoji vám nezáleží tak si zapište radši někoho jiného. Pokud se chcete ale v tomhle předmětu něco dozvědět, vřele doporučuju právě tuhle volbu.
10.01.2004