Skip to content

Exercises solutions for basic software programming problems, made in assembly language, completed by students as part of their course assessment.

License

Notifications You must be signed in to change notification settings

FernandoSchett/MATA49_T1_2023.1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Esse template de READ.md foi escrito com base nesse repositório.

🤖 Assembly para Leigos 🤖

Sobre 🤔:

Este repositório dedicado a armazenar e compartilhar uma coleção de códigos em assembly desenvolvidos por alunos da disciplina MATA49 na UFBA. Essa disciplina, lecionada no primeiro semestre de 2023, tem como foco a resolução de problemas simples utilizando a linguagem assembly.

Aqui, os alunos têm a oportunidade de contribuir com seus códigos, que são utilizados como parte da avaliação da disciplina de programação de software básico. Os códigos desenvolvidos pelos alunos podem envolver desde conceitos iniciais até desafios mais avançados de programação em assembly. Essa iniciativa promove o aprendizado conjunto e o desenvolvimento de habilidades em programação de baixo nível.

Este projeto tem como objetivo criar um ambiente colaborativo onde os alunos podem compartilhar suas soluções, aprender uns com os outros e obter feedback dos professores e demais colaboradores do repositório. Além disso, o repositório serve como um acervo de referência para futuras turmas, permitindo que os alunos possam consultar e estudar códigos já desenvolvidos.

Os códigos presentes neste repositório abordam uma variedade de problemas básicos, incluindo manipulação de dados, operações aritméticas, controle de fluxo, interação com a memória e entrada/saída. Além disso, os alunos apresentam suas soluções em equipes de acordo com esse cronograma.

Não se esqueça de checar os perfis dos alunos que fizeram esse projeto!!!

Como contribuir 🫂:

Os arquivos devem ser nomeados como:

questaox.asm

x - número da questões Na parte superior deve conter o nome dos membros em forma de comentários. Adicionem seus códigos na pasta src.

Sinta-se à vontade para criar uma nova branch, fazer um fork do projeto, criar uma nova issue ou fazer uma solicitação de pull request.

Recursos 🧑‍🔬:

Cada código desenvolvido tem um objetivo especifico, descrito no arquivo disponibilizado em sala de aula, desde a cálculo de médias até inverter os valores de um vetor.

Dependencias 🚚:

O projeto não tem nenhuma dependencia prévia, caso já tenhas as ferramentas para executar os códigos.

Como executar um código 🏃:

Primeiro, clone este repositório. Em seguida, execute o arquivo codigo.asm com o seguinte comando:

nasm codigo.asm -f elf64

Para codigos que usam funções em C, use os seguintes comandos:

gcc -o cod codigo.o codigo.o -no-pie
./cod

Processo de Desenvolvimento ⚙️:

O desenvolvimento ocorre em equipes, seguindo um cronograma determinado em sala de aula. Os códigos são postados no repositório do GitHub, seguindo um padrão de nome. A estrutura do repositório organiza os códigos por problemas específicos. Os alunos realizam commits regulares e enviam pull requests quando finalizam seus trabalhos.

Ferramentas Utilizadas 🛠️:

Um obrigado especial para 🥰:

Desenvolvido por:

Licensa 📜:

Apache V2

Refêrencias 📙:

[1] Intel Corporation. (2023). Intel 64 and IA-32 Architectures Software Developer's Manual. Volume 1: Basic Architecture. Santa Clara, CA: Intel Corporation. Disponível em: https://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-manual-325462.html. Acesso em: 5 de junho de 2023.

[2] NASM. The Netwide Assembler (NASM) Documentation. Version 2.16.01. Available at: https://www.nasm.us/xdoc/2.16.01/nasmdoc.pdf. Accessed on June 16, 2023.

About

Exercises solutions for basic software programming problems, made in assembly language, completed by students as part of their course assessment.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Assembly 94.3%
  • C 5.7%