Skip to content

Una piccola applicazione scritta in ARM Assembly per gestire l'inventario di un Negozio di Elettronica

License

Notifications You must be signed in to change notification settings

CDCBC/bit-a-bit-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bit-a-Bit Store

Progetto sviluppato dal Gruppo 14 per il corso di Architettura degli elaboratori, che si tiene durante il secondo semestre del primo anno del CdS in Informatica presso l'Unical (A.A. 2022/23).

Il progetto è scritto in ARM Assembly, ma fa uso di alcune funzioni della Libreria Standard di C.

Compilare ed eseguire l'applicazione

Su GNU/Linux x86_64 è necessario avere aarch64-linux-gnu-gcc (sia per Arch che per Debian) e qemu-user-binfmt (per Debian) o qemu-user (per Arch), e quindi eseguire:

aarch64-linux-gnu-gcc -static bit-a-bit_store.s -o bit-a-bit_store
qemu-aarch64 bit-a-bit_store

L'applicazione

All'avvio si ha una tabella e la possibilità di eseguire un'azione. Le righe della tabella costituiscono i prodotti del negozio di elettronica, ciascuno descritto da diversi campi.

I dati sono salvati e letti da un file entries.dat. Le azioni che è possibile eseguire sui dati sono:

  • aggiungere un nuovo prodotto, inserendo ciascun campo da terminale
  • rimuovere un prodotto dopo averne specificato la posizione
  • filtrare i prodotti
    • per prezzo (fino ad un certo prezzo o a partire da un certo prezzo)
    • per tipo
  • scambiare due prodotti dopo avere specificato le loro posizioni
  • rimuovere il primo prodotto con il prezzo uguale a quello immediatamente seguente
  • scambiare i primi due prodotti non ordinati in modo crescente per il campo scorte
  • ordinare tutta la tabella per scorte in modo crescente
  • calcolare la media decimale dei prezzi dei prodotti

About

Una piccola applicazione scritta in ARM Assembly per gestire l'inventario di un Negozio di Elettronica

Topics

Resources

License

Stars

Watchers

Forks