|
|
||||||||||
In questo progetto realizzeremo e verificheremo un programma in assembly DMC8, prendendo confidenza con i modi di indirizzamento della memoria. a) Primo passo Scrivere un programma che memorizzi dei dati in una tabella di 128 locazioni di memoria contigue, a partire dall'indirizzo 8000h (la prima locazione della RAM). I dati sono rappresentati da numeri interi positivi. La prima locazione della tabella (all'indirizzo 8000h) deve contenere il valore 0; il secondo il valore 1, e così via. La tabella termina con il numero 127 nella sua ultima locazione. Suggeriamo di utilizzare il modo di indirizzamento indiretto, usando il registro HL come puntatore alle locazioni della tabella.Il programma deve partire con il Reset hardware del processore, e fermarsi con l'istruzione HALT. Quando terminato, occorre salvare il programma e verificare il suo funzionamento nel debugger. b) Secondo passo Aggiungere al programma del codice per memorizzare altri dati in una seconda tabella di 128 locazioni contigue di memoria, iniziando dall'indirizzo 8080h. I dati, in questo caso, sono rappresentati da numeri interi negativi (codificati in complemento a due). La prima locazione (all'indirizzo 8080h) deve contenere il valore 0; la seconda il valore -1, e via di seguito. La tabella termina con il valore -127 nella sua ultima locazione. Verificare la nuova versione del programma nel debugger. c) Terzo passo Scrivere dell'altro codice, da aggiungere a quello già scritto, che generi una terza tabella di 128 locazioni contigue di memoria, a partire dall'indirizzo 8100h in avanti. Il microcomputer deve calcolare e memorizzare, nelle locazioni della nuova tabella, la somma delle corrispondenti locazioni delle due precedenti tabelle (per esempio, la locazione 8100h conterrà la somma delle due locazioni 8000h e 8080h). Verificate la versione finale del programma nel debugger. Due differenti tracce da completare sono disponibili qui: la prima versione richiede un impegno maggiore; la seconda contiene più suggerimenti. E' utile aggiungere commenti al codice, allo scopo di renderlo più leggibile e comprensibile. |