Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
L’emulatore EMU8086 Guida semplificata all’uso
2
Installazione Emu8086 può essere scaricato, gratuitamente per 40 giorni, dal sito s’installa come un qualsiasi software. Dopo l’installazione compare sul desktop l’icona nella figura.
3
Introduzione Emu8086, è un emulatore del microprocessore 8086; è un programma con ambiente integrato, IDE - Integrated Development Environment, che mette a disposizione degli utenti: Un editor, molto simile a “Blocco Note”, tramite il quale si producono i file sorgenti, source code. Un assemblatore perfettamente compatibile con il Masm di Microsoft e il Tasm della Borland. Un potente e friendly-user Debugger che consente di provare il codice eseguibile prodotto nella fase di compilazione. Delle utility come il converitore numerico, in grado di tradurre un valore numerico nei sistemi di numerazioni utilizzabili, oltre ad una calcolatrice in grado valutare espressione con operandi rappresentabili nella varie basi. Un’interfaccia grafica, GUI (graphical User Interface).
4
Avviamo il software All’avvio comparirà la seguente schermata una finestra dove compaiono dei bottoni, con un click possiamo selezionare l’attività che vogliamo effettuare: new si utilizza quando si vuole scrivere un nuovo programma. Code examples quando si vogliono vedere dei programmi già scritti per avere dei modelli di riferimento e per cominciare a provare l’emulatore. Quick start tutor per consultare il manuale Recent files quando si vuole lavorare con un file memorizzato precedentemente.
5
Selezioniamo il modello di editor
Facendo click sul bottone new compare la seguente schermata, dove ci consente di selezionare di tipo di file che si desidera produrre. Selezionando COM compare nell’editor un modello, template, parzialmente redatto che completeremo e personalizzeremo con il codice che vogliamo eseguire. Selezionando EXE, sull’editor compare la struttura per un file exe. Selezionando BIN sull’editor comparirà la struttura di un file bin che consente all’utente di decidere anche i segmenti di memoria fisica dove dovranno essere caricati i segmenti logici definiti dall’utente. Selezionando BOOT si genererà un file che si va a installare nei primi 512 byte di un floppy in modo da rendere il floppy stesso auto avviante.
6
Selezioniamo il modello di editor
Selezionando empty workspace, caso che utilizzeremo per le nostre esercitazioni, si entra direttamente nella finestra di editor senza utilizzare alcun modello predefinito. Si sceglie use Flat Assembler /Intel syntax etc. se si vuole produrre un file che utilizza l’assembly language “flat assembler” cioè un assemblatore, con una sintassi semplificata, prodotto da Tomasz Grysztar che si può scaricare e utilizzare gratuitamente dal sito Selezionando the emulator si entra direttamente nell’ambiente di emulazione per testare ed eseguire file eseguibili memorizzati su disco. I file modello, template, che compaiono nella finestra di editor si trovano nella sottocartella inc della cartella d’installazione di emu8086. Questi file sono di tipo testo e quindi possono essere modificati per essere personalizzati.
7
empty workspace Dopo aver selezionato empty workspace, la finestra dell’editor apparirà come nella figura 1. Dopodiché si passa alla scrittura del nostro programma in assembly, figura 2. Figura 1 Figura 2
8
Compiliamo il nostro file
Terminata la scrittura del sorgente si passa alla fase di compilazione, facendo click sull’icona compile della barra degli strumenti. Compare la seguente finestra dove ci viene comunicato il risultato della fase di assemblaggio nella finestra assembler status. Se è presente qualche errore di sintassi, nella finestra di assembler status sono segnalati e viene anche visualizzato il tipo d’errore oltre al numero di riga dove si trova. Altrimenti se non ci sono errori di sintassi ci viene richiesto di indicare dove e con quale nome memorizzare il file.
9
Compiliamo il nostro file
Dopo il salvataggio nella finestra assembler status, si attivano tutti i bottoni delle modalità: Facendo click sul bottone view… o external… si aprono dei menù a tendina con delle opzioni, che permettono di vedere, gestire o interagire in modo differente. Se si fa click sul pulsante run si esegui il codice. Se tutto è va bene alla fine dell’esecuzione appare una finestra con il messaggio che il processo ha ritornato il controllo al Sistema Operativo. La scelta migliore, soprattutto quando il programma deve essere provato per la prima volta, è fare click sul bottone close in modo da tornare alla finestra principale.
10
Uso dell’Emulatore Per caricare il codice eseguibile all’interno dell’emulatore basta fare click sul pulsante emulate nella barra degli strumenti. Cliccando si aprono 2 finestre: Quella dell’emulatore, che è divisa in 3 parti da sinistra verso destra troviamo il contenuto dei registri, il codice eseguibile ed il codice disassemblato, cioè il codice sorgente con la sostituzione delle variabili con gli indirizzi di memoria e delle costanti espresse in esadecimale. Quella con il codice sorgente, che evidenzia la prossima istruzione che sarà eseguita, in modo che l’utente possa verificare se l’esecuzione delle istruzioni precedenti ha prodotto i risultati attesi. In questo modo è possibile individuare la sequenza di istruzione che non si comportano come avevamo previsto sulla carta.
11
La finestra dell’emulatore
Nella barra superiore abbiamo, da destra verso sinistra i seguenti pulsanti: Load si utilizza quando bisogna eseguire un file eseguibile già memorizzato. Reload serve a ricaricare il file appena eseguito per riprovarlo con nuovi dati. Step Back quando si vuole ritornare all’istruzione precedente. Single step per eseguire il programma per singole istruzione(passo-passo). Run per eseguire le istruzioni fino alla fine o un break point. Quando si fa click sul pulsante run questo assume la funzione di stop, in modo da bloccare, l’esecuzione in caso di loop, e se il programma prevede un input da tastiera al posto del pulsante run compare la scritta waiting for input in giallo. Step delay ms è la barra del tempo, cioè consente di selezionare l’intervallo di tempo che deve intercorrere nell’esecuzione del programma tra un’istruzione e quella successiva. Per default è impostato a 0 ms.
12
La finestra dell’emulatore
Nella barra inferiore abbiamo, da destra verso sinistra i seguenti pulsanti che aprono altre finestre: Screen visualizza il dialogo interattivo tra utente e sistema. Source contiene il file sorgente. Reset azzera e riporta l’emulazione del programma all’origine. Aux fornisce dei servizi che mostrano la symbol table, il listing file, la memoria, i registri dell’ALU e della FPU(unità di calcolo in virgola mobile), inoltre consente di impostare delle condizioni, sui registri, che fermano l’esecuzione; si ferma all’istruzione successiva, quando il registro raggiunge il valore scelto nella condizione. Vars visualizza e si possono impostare le variabili, in più formati e in più sistemi di numerazione. Debug consente di memorizzare in un file, file di log, i valori dei registri e la sequenza di istruzioni eseguiti durante l’emulazione. Questo si utilizza quando non riusciamo a vedere subito gli eventuali errori di semantica, e vogliamo cercarli con calma. Stack mostra lo stato dello stack. Flags visualizza lo stato e il cambiamento dei flag durante la fase esecutiva.
13
La finestra original source code
Nella finestra original source code si possono inserire dei break point, dal menu debug dell’emulatore selezionare la voce set break point. I break point sono degli indirizzi di memoria, contenenti istruzioni, che quando raggiunti bloccano l’attività di esecuzione in modo che l’utente possa verificare se l’esecuzione delle istruzioni precedenti ha prodotto i risultati attesi. In questo modo è possibile individuare la sequenza di istruzione che non si comportano come avevamo previsto sulla carta. Ovviamente si utilizzano i break point in fase d’implementazione degli algoritmi per gli eventuali errori . I break point così impostati sono permanenti cioè se ricarichiamo il programma con reload ritroviamo i precedenti break point impostati. Per eliminare i break point selezionare dal menu la voce clear break point, mentre show break point serve per vedere gli indirizzi impostati, e run until permette di impostare un break point temporaneo, valido solo per un’esecuzione.
14
Altre funzioni disponibili
Durante la scrittura di un programma Assembly, potrebbe servire convertire un numero in uno dei sistemi di numerazione, o conoscere il carattere ASCII associato ad un numero e viceversa. Per questo l’emulatore mette a disposizione: Un convertitore selezionando la voce base converter del menu math. Una calcolatrice selezionando dal menu math la voce multi base calculator. La tabella dei codici ASCII in decimale e/o esadecimale.
Presentazioni simili
© 2025 SlidePlayer.it Inc.
All rights reserved.