Departamento de Informática e Estatística

Programas de Ensino
Visitante (Entrar)

Programa de Ensino 20082

Aprovado pelo Departamento em: 25-6-2008

  1. Identificação: Visualizar em PDF
    • Disciplina: INE5309 - Linguagem Assembly (b2)
    • Carga horária: 72 horas-aula      Teóricas: 36      Práticas: 36
    • Período: Início da oferta da disciplina até a presente data
  2. Curso(s):
    • Ciências da Computação (208)
  3. Requisito(s):
    • Ciências da Computação (208)
      • INE5368 - Análise Numérica I
  4. Ementa:
    • Características de Linguagem Assembly. Conjunto de instruções: elaboração e implementação de programas através da linguagem assembly de um processador.
  5. Objetivo(s):
    • Geral: Estabelecer a noção de modelo de programação (programmer’s view) de um sistema computacional e mostrar o papel da linguagem de montagem como formato intermediário para geração de código.
    • Específicos:
      1. Familiarizar-se com a cadeia de ferramentas de programação de sistemas (compilador, montador, ligador, carregador, simulador do conjunto de instruções e depurador).
      2. Codificar pequenos programas na linguagem de montagem de um processador escolhido e executá-los em um simulador de seu conjunto de instruções.
  6. Conteúdo Programático:
    • Introdução à programação de sistemas [10 horas-aula]
      • Representações de código: linguagem de alto nível, linguagem de máquina, arquivos-objeto e arquivos executáveis.
      • Cadeia de ferramentas: compilador, montador, ligador, carregador, simulador, depurador.
      • Aplicações e desvantagens de linguagens de montagem.
    • Modelo de programação do sistema (“programmer’s view”) [28 horas-aula]
      • Registradores, memória, conjunto de instruções e modos de endereçamento.
      • Uso de memória: segmento de dados, segmento de pilha e segmento de código.
    • Subprogramação [20 horas-aula]
      • Convenção de chamada de procedimentos: salvamento e recuperação de contexto, layout da pilha, chamadas recursivas.
    • Exceções e interrupções [14 horas-aula]
      • Registradores de controle.
      • Noções básicas sobre tratamento de exceções.
  7. Bibliografia Básica:
    • David A. Patterson and John L. Hennessy, “Computer Organization and Design: The Hardware/Software Interface”, 3rd edition, Morgan Kaufmann Publishers, San Francisco, California, USA, 2005. (ISBN 1-55860-604-1)
    • David A. Patterson and John L. Hennessy, “Computer Organization and Design: The Hardware/Software Interface”, 2nd edition, Morgan Kaufmann Publishers, San Francisco, California, USA, 1998. (ISBN 1-55860-428-6)
  8. Bibliografia Complementar:
    • Dominic Sweetman, “See MIPS Run”, Morgan Kaufmann Publishers, San Francisco, California, 1999. (ISBN 1-55860-410-3)