Monitor codice macchina - Machine code monitor
Un monitor del codice macchina ( noto anche come monitor del linguaggio macchina ) è un software che consente a un utente di immettere comandi per visualizzare e modificare le posizioni di memoria su un computer , con opzioni per caricare e salvare i contenuti della memoria da/a una memoria secondaria . Alcuni monitor di codice macchina completi forniscono un controllo dettagliato ("single-step") dell'esecuzione di programmi in linguaggio macchina (molto simile a un debugger ) e includono capacità di assemblaggio e disassemblaggio del codice con indirizzo assoluto .
I monitor a codice macchina divennero popolari durante l' era degli home computer degli anni '70 e '80 e talvolta erano disponibili come firmware residente in alcuni computer (ad esempio, i monitor integrati nei laptop Commodore 128 , Heathkit H89 e Zenith). Spesso, i produttori di computer si affidano ai loro monitor residenti nella ROM per consentire agli utenti di riconfigurare i propri computer dopo l'installazione di hardware di aggiornamento, come memoria principale espansa, unità disco aggiuntive o display video diversi.
Non era insolito eseguire tutta la programmazione su un monitor al posto di un assemblatore simbolico a tutti gli effetti. Anche dopo che gli assemblatori completi sono diventati prontamente disponibili, un monitor del codice macchina era indispensabile per il debug dei programmi. La tecnica usuale consisteva nell'impostare punti di interruzione nel codice in fase di test (ad esempio, con un'istruzione BRK in linguaggio assembly 6502 ) e avviare il programma. Quando il microprocessore incontra un punto di interruzione, il programma di test viene interrotto e il controllo viene trasferito al monitor del codice macchina. In genere, questo attiverebbe un dump del registro e quindi il monitor attenderà l'input del programmatore. Le attività a questo punto potrebbero includere l'esame del contenuto della memoria, l'applicazione di patch al codice e/o l'alterazione dei registri del processore prima di riavviare il programma di test.
Il declino generale del software in linguaggio assembly scritto da zero ha reso l'uso di un monitor del codice macchina un po' un'arte perduta. Nella maggior parte dei sistemi in cui vengono impiegati linguaggi di livello superiore, i debugger vengono utilizzati per presentare una visione più astratta e amichevole di ciò che sta accadendo all'interno di un programma. Tuttavia, l'uso di monitor a codice macchina persiste, specialmente nell'area dei computer costruiti per hobby .
Riferimenti
- ^ RJ Tocci e LP Laskowski (1979). Microprocessori e Microcomputer: Hardware e Software . Prentice-Hall. pag. 379 . ISBN 9780135813225.
- ^ LA Leventhal (1986). 6502 Programmazione in linguaggio assembly . Osborne/McGraw Hill. ISBN 9780078812163.
- ^ AF Kuckes e BG Thompson (1987). Apple II in laboratorio . Archivio UP. pag. 93. ISBN 9780521321983.