INF1612 - Software Básico

Aulas de Laboratório

Aula 4 - Assembler

  1. Neste laboratório vamos começar a programar em assembler. O nosso primeiro programa está aqui. Salve-o em um arquivo prog1.s.

    obs: Trate o trecho de código rotulado com printnum como uma caixa preta que serve para imprimir um número armazenado em eax. Mais tarde no curso discutiremos o que ele contém.

    Para compilar esse programa, basta chamar o gcc:

    > gcc -o prog1 prog1.s
    
    (Pela terminação .s o gcc sabe que o programa está em assembler.)

    Para executá-lo, faça como sempre:

    > ./prog1
    
  2. Modifique o programa para imprimir somente a soma dos elementos do array.

  3. Modifique o programa para imprimir os quadrados dos números de 1 a 10. (Nesse caso o array não é usado para nada. Para multiplicar um número por si mesmo, use a instrução imull.)

  4. Voltando ao programa com um array declarado como global. Modifique o programa para, ao invés de imprimir um número fixo de elementos do array, imprimir elementos até o "final" do array (defina um elemento com valor 0 para marcar o final).

  5. Modifique o programa para imprimir apenas os elementos pares do array. (Use a instrução and para descobrir se o número é par.)

  6. Modifique o programa para imprimir os dez primeiros termos da série de Fibonacci: 1 1 2 3 5 8 ...