Concevoir et mettre en œuvre une application en langage d'assemblage ARM qui effectue des opérations arithmétiques et des tâches de gestion de mémoire de base. Le projet vise à démontrer la compréhension de l'architecture ARM, des registres, de l'exécution des instructions, des branchements, des boucles, des opérations de pile et de l'adressage mémoire.
Objectifs :
- Développer un code ARM Assembly efficace.
- Pratiquer les concepts de programmation de bas niveau.
- Optimiser la vitesse d'exécution et l'utilisation de la mémoire.
- Mettre en place une documentation et des tests appropriés.
Fonctionnalités principales :
- Effectuer des additions, soustractions, multiplications et divisions.
- Stocker et récupérer des valeurs en mémoire.
- Utiliser des boucles pour des calculs répétitifs.
- Implémenter des branchements conditionnels pour la prise de décision.
- Démontrer les opérations push/pop sur la pile.
- Gérer l'entrée utilisateur et afficher les résultats (si le simulateur supporte l'I/O).
Exigences techniques :
- Langage d'assemblage ARM (ARMv7 ou ARMv8).
- Compatible avec des outils tels que ARM Keil, ARM DS-5 ou QEMU