INF1018 - Software Básico

Variáveis Locais

  1. Codifique a função novonum abaixo em assembly.
    int novonum(void) {
      int minhalocal;
      printf("numero: ");
      scanf("%d",&minhalocal);
      return minhalocal;
    }
    
    Teste sua função com a main mostrada abaixo:
    #include <stdio.h>
    
    int main (void) {
      printf ("%d\n", novonum());
      return 0;
    }
    
  2. Codifique a função bemboba, com a definição abaixo, em assembly. Teste-a com as funções main e addl dadas, escritas em C.
    #include <stdio.h>
    int addl (int a[], int n) {
      int i;
      int s = 0;
      for (i=0; i<n; i++)
        s += a[i];
      return s;
    }
    
    int bemboba (int num) {
      int local[3];
      int *a;
      int i;
    
      for (i=0,a=local;i<3;i++) {
        *a = num;
        a++;
      }
      return addl (local, 3);
    }
    
    int main (void) {
      printf ("%d\n", bemboba (5));
      return 0;
    }