ESERCIZIO OPZIONALE
-
Modificare l'implementazione di IALOAD e IASTORE in modo tale da intrappolare
gli errori dovuti a indici che indirizzano locazioni di memoria al di fuori
di quelle che contengono gli elementi dell'array. In caso di errore del
tipo "index out of range", l'esecuzione del programma che ha effettuato
la IALOAD o la IASTORE con l'indice errato deve essere arrestata e l'errore
deve essere segnalato specificando anche a quale array si riferisce, la
sua lunghezza, e il valore dell'indice errato. A seconda del modo in cui
viene implementata, la modifica richiesta sopra puo` comportare una variazione
del microinterprete e/o dei macroprogrammi che fanno uso di IALOAD e IASTORE
e/o del modo in cui gli array vengono rappresentati in memoria.
-
Modificare l'implementazione di IDIV e IREM in modo tale da intrappolare
gli errori dovuti a divisioni per zero. In caso di errore del tipo "division
by zero" l'esecuzione del programma che ha effettuato la IDIV o IREM deve
essere arrestata e l'errore deve essere segnalato specificando anche a
quali valori l'errore si riferisce.
COMPITI D'ESAME:
Per questo esercizio dovete consegnare una relazione che contenga:
il codice commentato
descrizione delle scelte progettuali e delle ipotesi di realizzazione
descrizione sintetica delle prove effettuate per testare il programma.