Giter VIP home page Giter VIP logo

project-2-sb-2022.1's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.