Progetta e implementa un'applicazione in linguaggio Assembly ARM che esegua operazioni aritmetiche e compiti di gestione della memoria di base. L'obiettivo del progetto è dimostrare la comprensione dell'architettura ARM, dei registri, dell'esecuzione delle istruzioni, dei branch, dei loop, delle operazioni sulla stack e degli indirizzi di memoria.
Obiettivi:
- Sviluppare codice Assembly ARM efficiente.
- Praticare concetti di programmazione a basso livello.
- Ottimizzare la velocità di esecuzione e l'uso della memoria.
- Implementare documentazione e test adeguati.
Caratteristiche principali:
- Eseguire addizione, sottrazione, moltiplicazione e divisione.
- Memorizzare e recuperare valori dalla memoria.
- Usare loop per calcoli ripetitivi.
- Implementare branch condizionali per il processo decisionale.
- Dimostrare operazioni di push/pop sulla stack.
- Gestire input dell'utente e visualizzare i risultati (se il simulatore supporta I/O).
Requisiti tecnici:
- Lingua Assembly ARM (ARMv7 o ARMv8).
- Compatibile con strumenti come ARM Keil, ARM DS-5 o QEMU