Programování v asembleru
Z ωικι.matfyz.cz
Programování v asembleru | ||||
|
Přednáška
Cvičení
- násobení/dělení (32/64it)
- převod čísla na řetězec (hexa, dec)
- C funkce: memset, memcpy, memcmp, memmove, strlen, bsearch
- FPU:
- průměrná hodnota z pole floatů
- vybrat nejdelší úsečku ze zadaného pole
- obsah n-úhelníku (vstup: pole bodů)
- násobení matic
- SSE:
- násobení matic
- výběr největšího trojúhelníku z pole
Zkouška
Na zkoušku nejsou potřeba žádné teoretické znalosti. Dostanete problém (typicky nějaký výpočetní - např. obsah mnohoúhelníka, násobení matic) a máte za úkol ho naprogramovat jako proceduru v assembleru. Algoritmus není potřeba vymýšlet, Yaghob vám ho popíše. S sebou můžete mít jakékoli pomůcky (zápisky, manuály Intelu...), dokonce i notebook a odladit řešení na něm. Doporučuji s sebou mít nějaký tahák, ve kterém se hledá rychleji, než v manuálech (viz odkazy).
Odkazy
- Dokumentace k NASM (NASM je free assembler pro x86, v jeho dokumentaci jsou důkladně popsány snad všechny jejich instrukce)
- tutorial na FPU
- FPU instrukce
- Tahák z assembleru (FPU, MMX, SSE, SSE2, SSE3)
Starší materiály
- starší slidy
- Poznámky z přednášky
- Poznámky z cvičení (příklady)