Un simulatore è un programma che permette di caricare un programma in linguaggio macchina e di simularne l'esecuzione, consentendo anche di visualizzare e di modificare il contenuto dei registri interni dello Z80 e delle locazioni di memoria.
Come abbiamo già avuto modo di dire, il simulatore non si limita a simulare il solo microprocessore Z80, ma deve simulare un intero microcomputer comprensivo di memorie.
Purtroppo non ci sono molti simulatori gratuiti di buona qualità per lo Z80.
Si tratta di un simulatore molto semplice e da tempo non più aggiornato, tuttavia è ancora utilizzabile. Può essere scaricato direttamente dal sito sia in versione java (eseguibile su qualsiasi computer dove sia installato java) oppure come eseguibile per Linux.
L'interfaccia del programma è costituita da una serie piuttosto disordinata di finestre, come mostrato in figura:
Per avviare la simulazione di un programma (già assemblato in linguaggio macchina) occorre per prima cosa caricarlo. La procedura è leggermente complicata:
Il simulatore permette anche di modificare la mappa di memoria (cambiando le dimensioni e l'indirizzo di RAM e ROM), ma, apparentemente, non consente di modificare "a mano" il valore dei registri interni del µP.
Lo Z80Emu è un sistema di emulazione completo per lo Z80. Per usarlo come semplice simulatore occorre usare la scheda CPU, come mostrato in figura:
L'area di memoria RAM utilizzabile per caricare i propri programmi inizia dall'indirizzo 100h: pertanto il file binario dovrà essere assemblato con questo indirizzo iniziale. Supponiamo per esempio di usare The ORG ASM IDE per assemblare il programma e consideriamo il semplice programma già visto in precedenza:
.org | 100h | |
loop: | ||
INC A | ; incrementa A | |
JP loop | ; ciclo infinito |
Si noti l'indirizzo 100h specificato come indirizzo iniziale del programma. Dopo aver assemblato il programma e scaricato il file binario corrispondente, dobbiamo caricare questo file nel simulatore cliccando su CPU-Load-Load Binary File come mostrato in figura:
Osserviamo che il file binario è stato effettivamente caricato a partire dall'indirizzo 100h (la prima volta bisogna cliccare sulla locazione di memoria per visualizzarne il contenuto; altrimenti viene visualizzato sempre 00):
Per eseguire il programma a questo punto possiamo seguire due strade:
A questo punto per eseguire il programma passo-passo basta cliccare su , mentre per avviare l'esecuzione a piena velocità bisogna cliccare su .
Sito realizzato in base al
template offerto da
http://www.graphixmania.it