Cvičení I
Úkoly mají za cíl procvičit programovaní v assembleru s využitím inline assembleru ve Visual Studiu (Visual C). Cílem všech úkolů je implementovat jednoduché matematické funkce. Jazyk C využijte k vytvoření hlavičky funkce, případně lokálních proměnných a otestování její funkcionality. V assembleru pak implementujte zbytek funkce.
Příklad:int inc(int foo) { int result; _asm { mov eax, foo add eax, 2 mov result, eax } return result; }
Úkol 1
- Napište v assembleru funkci
int obvod_obdelnika(int a, int b),
která spočítá obvod obdélníka. - Napište v assembleru funkci
int obsah_obdelnika(int a, int b),
která spočítá obsah obdélníka. - Napište v assembleru funkci
int obvod_ctverce(int a),
která spočítá obvod čtverce. - Napište v assembleru funkci
int obsah_ctverce(int a),
která spočítá obsah čtverce.
Úkol 2
- Napište v assembleru funkci
int fact_iter(int n)
, která iterativní způsobem (s použitím cyklu) vypočítá faktoriál čísla n.
Úkol 3
- Napište v assembleru funkci
int fact_rec(int n)
, která rekurzivním způsobem vypočítá faktoriál čísla n.
Úkol 4
- Napište v assembleru funkci
int fib(int n)
, která rekurzivním způsobem vypočítá fibonacciho číslo n.