O trabalho consiste em implementar em C um método de tradução de uma linguagem de montagem simples para uma representação de código objeto. O tradutor a ser implementado ser ́a um Macro-Assembler da linguagem hipotética vista em sala de aula.
- Davi Rabbouni - 15/0033010
- Versão do gcc: gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)
- Sistema Operacional: Ubuntu 16.10 (64-bit) "yakkety"
- Lucas Santos - 14/0151010
- Versão do gcc: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
- Sistema Operacional: elementary OS 0.4 Loki (64-bit) Built on "Ubuntu 16.04.2 LTS"
A compilação do projeto é feita por meio de um Makefile dentro da pasta src. A seguir seguem as opções disponíveis para o mesmo:
make
# Realiza a compilação do projeto
make clean
# Limpa os arquivos objeto
make preproc file_name=
# Realiza o pre-processamento de um arquivo .asm
# Possui o argumento:
# file_name, que deve ser o nome do arquivo .asm, sem extensão
make valpreproc file_name=
# Realiza o pre-processamento de um arquivo .asm, com análise de memory leak por meio do valgrind
make monta_asm file_name=
# Realiza a montagem de um arquivo .asm
# Possui o argumento:
# file_name, que deve ser o nome do arquivo .asm, sem extensão
make valmonta_asm file_name=
# Realiza a montagem de um arquivo .asm, com análise de memory leak por meio do valgrind
make monta_pre file_name=
# Realiza a montagem de um arquivo .pre
# Possui o argumento:
# file_name, que deve ser o nome do arquivo .pre, sem extensão
make valmonta_pre file_name=
# Realiza a montagem de um arquivo .pre, com análise de memory leak por meio do valgrind
make liga o1= o2= o3= e=
# Realiza a ligação de 2 ou 3 arquivos .o, gravando o resultado no arquivo .e
# Possui os argumentos:
# o1, primeiro objeto a ser ligado, com extensão
# o2, segundo objeto a ser ligado, com extensão
# o3, terceiro objeto a ser ligado, com extensão
# e, arquivo ligado de saída, com extensão
make valliga o1= o2= o3= e=
# Realiza a ligação de 2 ou 3 arquivos .o, gravando o resultado no arquivo .e, com análise de memory leak por meio do valgrind