TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Software Básico

Por:   •  28/5/2018  •  Pesquisas Acadêmicas  •  318 Palavras (2 Páginas)  •  195 Visualizações

Página 1 de 2

Trabalho Prático I – Montador

Software Básico

Ana Luisa Rodrigues

Carlos Alberto de Carvalho Antônio

Luiz Otávio Teixeira Caldonazo

  1. Introdução

Um montador é um programa que cria um código objeto traduzindo instruções da linguagem de máquina(assembly) para o código de máquina. O montador substitui instruções, variáveis pelos códigos binários ou hexadecimais e endereços de memória correspondentes. Os montadores mais usados em compiladores de linguagens de alto nível executam a tradução em duas leituras do código fonte. A primeira consiste na definição de uma tabela de endereçamento(tabela de símbolos) para rótulos, e a segunda na tradução efetiva de cada instrução.

O objetivo deste trabalho é desenvolver em linguagem C++ o funcionamento prático de um montador e testar os resultados no CPUSim.

O desenvolvimento da implementação teve como parâmetro as descrições contidas no livro Organização Estruturada de Computadores do Tanenbaun e Austin.

  1. Implementação

Inicialmente, são definidas as constantes que representam o código das operações juntamente com a definição dos registradores.

São declaradas, também, a tabela de símbolos que tem como finalidade armazenar rótulos e endereços, um vetor auxiliar para manusear a função .data, um vetor que possuirá todas as instruções hexadecimais e outro vetor para manipulação de instruções.

Além disso, outra variáveis como contador do programa, quantidade de elementos, endereço, e tamanho de memória são declaradas.

  1. Funções Auxiliares

Como complemento para as duas passadas, são necessárias algumas funções facilitadoras, são elas:

  • hexToDecimal

Recebe uma string em hexadecimal e converte para inteiro decimal.

  • decimalToHex

Recebe um inteiro em decimal e converte para string hexadecimal.

  • checkSum

Gera byte de validação para código hexadecimal.

  • GetHexFromBin

Recebe uma string binária e converte para string hexadecimal.

  • DecToBin

Recebe um inteiro decimal e converte para string binário.

  • criaHex

Gera código em hexadecimal usando como parâmetros o endereço de instrução em hexadecimal e dado binário.

  • formataAddress

  1. Primeira passada

Conforme mencionado na introdução,  a primeira passada consiste

  1. Segunda passada

  1. Testes

 

  1. Conclusão

Referências Bibliográficas

Tanenbaun, Austin, Organização estrutura de computadores, 6ª edição, Pearson, 2013. 

...

Baixar como (para membros premium)  txt (2.5 Kb)   pdf (143.9 Kb)   docx (1 Mb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com