SóProvas


ID
2245717
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Considere as afirmativas:

I. cria o código objeto traduzindo as instruções da linguagem de montagem (assembly) para código de máquina;

II. recebe como entrada um conjunto de arquivos objetos e bibliotecas, e produz como resultado um arquivo objeto de saída;

III. traduz um programa descrito em uma linguagem de alto nível para um programa em linguagem simbólica ou linguagem de máquina;

IV. recebe uma instrução do programa fonte, converte-a em linguagem de máquina e ordena ao computador que execute esta instrução.

Nessa ordem, os itens de I a IV referem-se a

Alternativas
Comentários
  • Montador: cria o código objeto traduzindo as instruções da linguagem de montagem (assembly) para código de máquina;

    Ligador: recebe como entrada um conjunto de arquivos objetos e bibliotecas, e produz como resultado um arquivo objeto de saída;

    Compilador. traduz um programa descrito em uma linguagem de alto nível para um programa em linguagem simbólica ou linguagem de máquina;

    Interpretador: recebe uma instrução do programa fonte, converte-a em linguagem de máquina e ordena ao computador que execute esta instrução.

  • Gabarito D

    Montador:

    Os montadores, ou “assemblers”, montam um programa em linguagem de máquina a partir de sua versão em linguagem de montagem, ou linguagem “assembly”. Eles:

    1.     Acham um endereço inicial para o programa

    2.     Convertem pseudo-instruções para o conjunto de instruções equivalente

    3.     Convertem macros no conjunto de instruções e dados equivalentes

    4.     Transformam cada parte dos comandos em linguagem assembly em opcode, número de registrador, constante, etc.

    5.     Escrevem o programa em linguagem de máquina em um arquivo com as instruções ordenadas e com os endereços indicados por elas, especificados como labels, já convertidos para números quando possível

     

    Ligador:

    Ligadores, ou “linkers”, são programas especiais que recebem como entrada os arquivos objeto correspondentes a estes arquivos e geram como saída o programa final em linguagem de máquina.

    Um linker realiza, então, quatro tarefas básicas:

    1.     Determina as posições de memória para os trechos de código de cada módulo que compõe o programa sendo “linkado”

    2.     Resolve as referências entre os arquivos

    3.     Procura nas bibliotecas (libraries), indicadas pelo programador, as rotinas usadas nos fontes de cada módulo

    4.     Indica ao programador quais são os labels que não foram resolvidos (não tenham correspondente em nenhum módulo ou library indicados)

     

    Compilador:

    Compiladores são programas que recebem como entrada arquivos texto contendo módulos escritos em linguagem de alto nível e geram como saída arquivos objeto correspondentes a cada módulo, ou, se todas as bibliotecas e módulos são apresentados como entrada, geram um programa executável diretamente.

     

    Interpretador:

    Programas interpretadores recebem como entrada arquivos texto contendo programas em linguagem assembly ou linguagem de alto nível, ou arquivos binários com instruções de máquina, e os executam diretamente.

     

    Interpretadores percorrem os programas, a partir de seu ponto de entrada, executando cada comando.

    Algumas vezes, antes de poderem ser interpretados, os programas têm que ser pré-processados. No caso de Java, por exemplo, o programa fonte é transformado em byte-code, em um processo equivalente ao processo de compilação, e posteriormente pode ser interpretado (executado) por uma máquina virtual Java.

    Na verdade, os processadores são interpretadores implementados em hardware!

     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !