Skip to content

Projeto 2 da disciplina de Software Básico da UnB em 2022.1

Notifications You must be signed in to change notification settings

gss214/Project-2-SB-2022.1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto 2 de Software Básico 2022.1

Projeto 2 da disciplina de Software Básico da UnB em 2022.1.
Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação.
Desenvolvido por: Guilherme Silva Souza e Maria Eduarda Machado de Holanda.
Linguagem utilizada: C++ e Assembly IA32 (x86-32).

Descrição

O trabalho consiste em implementar em C/C++, com auxílio de funções em IA-32, um método de tradução de um código objeto em linguagem hipotética vista em aula para linguagem IA-32. Para mais detalhes, leia a Especificação.

Especificação de compilação

Utilizamos Linux como Sistema Operacional. Para compilar o projeto, siga os seguintes passos:

Compilar o tradutor
  • Para isso, utilizamos a versão 17 do C++.
  • g++ -std=c++17 -Wall -o tradutor tradutor.cpp
  • Certifique-se de estar na pasta do Tradutor.
Traduzir o código objeto
  • Alguns arquivos objetos se encontram na pasta Arquivos de Testes.
  • Certifique-se de estar na mesma pasta do Tradutor.
  • ./tradutor ../../Arquivos\ de\ Testes/bin.o.
Compilar o código traduzido em IA-32
  • A saída gerada se encontra no arquivo output.asm.
  • Utilizamos no projeto o compilador nasm.
  • nasm -f elf -o output.o output.asm.
Ligar o código Assembly
  • ld -m elf_i386 -o output output.o
Executar o código Assembly
  • ./output

Existe também a possibilidade de rodar o script para compilar e executar o projeto.
Basta estar utilizando o subsistema Linux e executar na pasta Tradutor o comando:

sh run.sh arquivo.o

Uma observação é que o arquivo de teste arquivo.o deve estar na pasta Arquivos de Testes.

About

Projeto 2 da disciplina de Software Básico da UnB em 2022.1

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published