Per scopi didattici, intendo iniziare a costruire un emulatore di microcontroller 8051. Sono a mio agio nella programmazione in C/C++/C#. Questo non è un progetto di classe ecc. Ma un'iniziativa di apprendimento dalla mia parte.Come rendere l'emulatore 8051
Ho trovato un sacco di domande su questo argomento. Tuttavia, ho voluto rompere un po 'più a livello granulare in modo da poter sapere quali aree ho bisogno di mettere a fuoco prima di iniziare effettivamente a scrivere il codice.
miei requisiti iniziali sono:
editor di testo (è possibile utilizzare il controllo EditBox), dove l'utente può scrivere codice assembly
confermare se la sintassi è corretta
Avere piccola finestra che mostra i valori del registro in fase di esecuzione.
quando l'utente avvia il programma, le istruzioni dovrebbero essere passo passo aggiornando le finestre di registro.
Più dell'elemento GUI sono più interessato a sapere come emulare il microcontrollore.
Il modo in cui ho capito che posso rompere ulteriormente verso il basso:
ho bisogno di avere una tabella di ricerca per le istruzioni o qualche altro modo per memorizzare le istruzioni disponibili e convalidare la sintassi. Qualsiasi suggerimento su come implementarlo, per favore fatemelo sapere.
Come si emula ciascuna istruzione per 8051?
Per i registri, posso avere l'uso di interi un/signed in base al tipo e aggiornare la tabella.
Poiché il microcontrollore ha una memoria RAM limitata, come posso mantenere un controllo della lunghezza del codice o piuttosto del codice che si sta eseguendo nella memoria per evitare e bufferare l'overflow o altri problemi.
Se ci sono alcuni progetti opensource che descrivono dettagliatamente come viene costruito un emulatore, apprezzeremmo.
@Kavitech Singh. Com'è il tuo progetto adesso? –