ELEMANIA
Z80 - Simulatori
Simulatori (simulator)

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.

ZIM - The Z80 Machine Simulator

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:

  1. per qualche misteriosa ragione, i primi 32 byte del programma caricato devono essere vuoti, ovvero il codice macchina deve iniziare in corrispondenza del 33esimo byte. Per ottenere questo risultato, basta aprire il file binario con un editor esadecimale e inserire 32 byte vuoti all'inizio. Per esempio con HxD bisogna posizionarsi all'inizio del file, scegliere Edit-Insert Bytes e quindi inserire i valori come in figura:


  2. a questo punto (dopo aver salvato il file con le modifiche precedenti) il programma può essere caricato nella ROM del nostro simulatore. Per fare questo bisogna scegliere File-Open-Program dal menu di ZIM e quindi (con Click to Choose) selezionare il file binario creato precedentemente e confermare la scelta cliccando su ADD:


  3. il modo migliore per eseguire la simulazione è usare il pulsante Step che consente di eseguire il programma passo-passo (cioè un'istruzione alla volta) osservando il cambiamento prodotto nella memoria e nei registri interni dello Z80.

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.

Z80Emu

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 .

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it