Esse template de READ.md foi escrito com base nesse repositório.
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!!!
Os arquivos devem ser nomeados como:
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.
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.
O projeto não tem nenhuma dependencia prévia, caso já tenhas as ferramentas para executar os códigos.
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
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.
- "mirmir" - Mirlei Moura, nossa professora, que nos ajudou, orientou e avaliou a construção desse projeto.
[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.