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.

Last update on 13. 9. 2017 15:47
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz