ELEMANIA
Z80 - IDE: DEEDS
Ambiente integrato di sviluppo (IDE)

Un ambiente integrato di sviluppo (Integrated Development Enviroment, IDE) è un programma che racchiude al proprio interno tutti gli strumenti software necessari per editare e assemblare un programma assembly e per simularne l'esecuzione su un microcalcolatore.

DEEDS: introduzione

DEEDS (Digital Electronics Education and Design Suite) è una suite di strumenti didattici per l'apprendimento dell'elettronica digitale e dei microprocessori. Sviluppato dall'Università di Genova può essere scaricato gratuitamente in versione per Windows.

Il programma contiene un simulatore di circuiti digitali (d-DcS), un simulatore di macchine a stati finiti (d-FsM) e un emulatore di microcomputer (d-McE). Quest'ultimo è il componente che più interessa a noi e può essere avviato cliccando direttamente sull'icona oppure avviando il browser principale di Deeds e da qui avviando d-McE (Micro Computer Board Emulator) dal menu in figura:

Il µP simulato da Deeds non è lo Z80, ma un µP di nome DMC8 creato a scopi didattici e basato sullo Z80. In pratica il set di istruzioni di DMC8 è quasi identico a quello dello Z80 e così pure la struttura interna, fatte salve alcune piccole eccezioni. Per ogni dettaglio conviene fare riferimento alle dispense in italiano, che oltre a spiegare il funzionamento di DMC8 costituiscono un'ottima introduzione generale ai microprocessori.

Dopo aver avviato il simulatore d-McE ci si trova davanti a tre schede: Board, Editor e Debugger. Parleremo più diffusamente delle ultime due nel seguito. La scheda Board fornisce una mappa visuale della struttura del microcalcolatore:

Si notino i DIP switch sulla destra (I/O SUBSYSTEM) settando i quali è possibile assegnare gli indirizzi alle quattro porte di input (IA, IB, IC e ID) e alle quattro porte di output (OA, OB, OC e OD) del microcalcolatore.

DEEDS: scrittura e traduzione del programma (Editor)

La scrittura del programma avviene nella finestra Editor di d-McE. La direttiva per specificare l'indirizzo di origine è ORG. Si osservi il seguente esempio:

Se l'indirizzo iniziale è 0000h la direttiva ORG può essere omessa. Se, come spesso accade, si desidera lasciare libere le prime locazioni della memoria (per la gestione degli interrupt) e caricare il programma a partire, ad esempio, dall'indirizzo 0100h, bisognerà scrivere:

            ORG 0000h
            JP inizio         ; salta fino all'etichetta inizio

            ORG 0100h
inizio:                       ; inizio del programma

Occorre notare che la mappa di memoria del microcalcolatore DMC8 simulato è la seguente (e non può essere modificata):

Pertanto eventuali dati (valori modificabili) o lo stack dovranno essere memorizzati a partire dall'indirizzo 8000h.

Una volta scritto il programma nella finestra di Editor, è possibile assemblarlo scegliendo Project-Assemble (o Ctrl+F9). Salvando il programma (File-Save) viene creato un file di testo con estensione .mc8 contenente il codice sorgente assembly e il settaggio delle porte di I/O del microcalcolatore.

DEEDS: simulazione di un programma (Debugger)

Dopo aver assemblato il programma, per simularlo ci si deve spostare nella finestra Debugger:

Il pulsante Step permette di eseguire un'istruzione alla volta; con Animate il programma viene eseguito lentamente mostrando ogni istruzione, mentre Run lo esegue a piena velocità.

Sulla sinistra della finestra del programma si trova un elenco dei registri e delle porte di I/O, mentre la parte destra è dedicata a una mappa della memoria (ROM e RAM) del microcalcolatore.

DEEDS: simulazione di un circuito complesso a microprocessore

Finora abbiamo visto la simulazione del solo microcalcolatore (microprocessore e memorie), ma DEEDS consente di simulare anche circuiti logici complessi, comprendenti oltre al microcalcolatore altri dispositivi (registri, display, contatori eccetera).

A tale scopo dobbiamo avviare Digital Circuit Simulator (d-DcS) dal menu principale. Sull'area centrale quadrettata è possibile costruire il circuito digitale che si vuole simulare. Per esempio la figura seguente mostra un circuito comprendente il microcalcolatore, due gruppi di 8 switch (collegati con le porte di ingresso IA e IB) e due display a 7 segmenti (collegati con le porte di uscita OA e OB):

Per caricare un programma (detto firmware, precedentemente scritto, assemblato e salvato con d-McE) sulla memoria ROM del mircroprocessore occorre cliccare col tasto destro del mouse e scegliere Load DMC8 flash ROM, andando quindi a scegliere un file con estensione .mc8 precedentemente salvato e contenente il programma da caricare.

A questo punto è possibile avviare la simulazione del circuito con Simulation, Start Animation.

 

Video corso di base sull'uso di Deeds:
- Lezione 1: il primo programma in assembly (moltiplicazione fra due numeri interi)
- Lezione 2: esecuzione e debugging del primo programma
- Lezione 3: istruzioni di input e output
- Lezione 4: simulatore circuitale (Digital Circuit Simulator)
- Lezione 5: linguaggio assembly e istruzioni in linguaggio macchina
- Lezione 6: interrupt e routine di servizio degli interrupt
- Lezione 7 : lo stack e le istruzioni push e pop
- Lezione 8 : lo stack e le subroutine

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it