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.