INF1018 - Software Básico

Instruções de Ponto Flutuante (extra)

Reescreva as funções f e foo em assembler. Elabore uma função main e teste seus resultados.

double f(double x) {
  return x * 2.0;
}

double foo (int a[], double b[], int n) {
  int *pint;
  double *pdouble;

  double sum = 0.0;

  for (pint = a, pdouble = b; n-- ; pint++, pdouble++) {
    *pdouble = f((double)*pint);
    sum += *pdouble;
  }

  return sum;
}