Progetto realizzato come parte del corso di Architettura degli Elaboratori - Laboratorio presso l'Università degli Studi di Verona (Anno Accademico 2022/2023).
Questo progetto consiste nello sviluppo di un programma in Assembly che simula il menù di controllo di un cruscotto auto, con due modalità principali:
- Utente (User): Accesso limitato alle funzionalità di base.
- Supervisore (Supervisor): Accesso a funzionalità aggiuntive tramite l'inserimento del codice
2244.
Il menù è navigabile tramite le frecce direzionali (su/giù/destra) e il tasto invio.
- Setting automobile
- Data e ora
- Blocco automatico porte (ON/OFF)
- Back-home (ON/OFF)
- Check olio
- Frecce direzionali (solo Supervisore):
- Numero di lampeggi modalità autostrada (2-5)
- Reset pressione gomme (solo Supervisore)
La modalità supervisore aggiunge opzioni avanzate come il controllo dei lampeggi e il reset della pressione gomme.
- Ambiente di sviluppo con supporto per linguaggio Assembly.
- Utilizzo dello stack per il passaggio di parametri tra funzioni.
- Terminale per l'inserimento dei comandi.
Il progetto è organizzato nei seguenti file Assembly:
menu.s: Funzione principale che gestisce il menù.menuList.s: Visualizzazione delle opzioni del menù.isSupervisor.s: Controllo accesso modalità supervisore.getArrow.s: Gestione dell'input da tastiera.blinksManager.s: Configurazione dei lampeggi.- Vari file di utility per la gestione delle stringhe e della stampa.
Il programma segue una logica iterativa basata su cicli while e utilizza uno schema di controllo con strutture switch per navigare tra le opzioni del menù.
- Compilare i file Assembly utilizzando un assembler compatibile.
- Eseguire il programma passando eventuali parametri (es. codice supervisore).
- Utilizzare il terminale per navigare e modificare le opzioni del menù.
- Mezzacasa Cristian (VR489474)
- Zeni Davide (VR486320)
Progetto sviluppato per scopi accademici. Non destinato all'uso commerciale.