GithubHelp home page GithubHelp logo

oacprojetofinal's Introduction

OACProjetoFinal

Integrantes do projeto:

Código em Assembly comentado.

Código em linguagem de máquina:

Screenshot das “tirinhas” iniciais Screenshot das “tirinhas" finais

Screenshot ilustrando as operações de teste realizadas:

Para desenvolver o projeto, foram necessários alguns conhecimentos de Assembly, saber a diferença entre a arquitetura RISCV e a arquitetura Intel para gerar o código de máquina correto. Foi necessário também um certo entendimento da linguagem de máquina. Conhecimentos adquiridos, relacionados ao simulador SPIKE.

  1. Assembly: Para desenvolvermos o projeto utilizamos uma ferramenta de conversão de código C para Assembly do RISCV. Houveram alguns problemas na utilização de entradas no começo, mas que posteriormente foram resolvidos com o uso de modularização no código C e na determinação de fim de linha para o uso de prints. Ou seja, quando usamos um printf em C para imprimir na tela em uma ordem específica, não sabíamos que seria necessário determinar o fim da linha no final da frase que iria ser impressa (uso de \n).

    a. Descrição do problema de entrada: Quando colocamos um printf sem o “\n” no código em C no fim da frase que iria ser impressa, o código em Assembly pedia primeiro as entradas ao usuário em vez de disponibilizar uma pergunta ao usuário, com a expectativa de receber valores condizentes com o propósito do programa.

  2. Diferença entre a arquitetura Intel e a RISCV: Nosso grupo comparou o Assembly da Intel e do RISCV, verificando diferenças tanto sintáticas como semânticas do código transformado de C.

  3. Entendimento da linguagem de máquina: Para acompanharmos as instruções geradas pelo código em Assembly do RISCV, foi necessário o conhecimento adquirido com as aulas de OAC/LOAC sobre “tirinhas”.

  4. Conhecimento sobre o simulador SPIKE: O conhecimento sobre o uso do simulador SPIKE, que foi adquirido nas aulas de LOAC, foi crucial para o desenvolvimento do projeto, dado que os testes e visualização dos resultados foram executados no SPIKE.

oacprojetofinal's People

Contributors

pabllorsl avatar

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.