

Un monitor de código máquina ( también conocido como monitor de lenguaje máquina ) es un software que permite al usuario introducir comandos para visualizar y modificar ubicaciones de memoria en un ordenador , con opciones para cargar y guardar el contenido de la memoria desde/hacia el almacenamiento secundario . Algunos monitores de código máquina completos ofrecen un control detallado ("ejecución paso a paso") de la ejecución de programas en lenguaje máquina (de forma similar a un depurador ) e incluyen capacidades de ensamblaje y desensamblaje de código con direcciones absolutas.
Motorola publicó el monitor ROM MIKBUG para el 6800 en 1973 y el monitor ROM BUFFALO para el 68HC11 .
Los monitores de código máquina se popularizaron durante la era de las computadoras domésticas de los años 70 y 80, y en ocasiones estaban disponibles como firmware residente en algunas computadoras (por ejemplo, los monitores integrados en las laptops Commodore 128 , Heathkit H89 y Zenith). A menudo, los fabricantes de computadoras recurren a sus monitores residentes en la ROM para permitir a los usuarios reconfigurar sus equipos tras la instalación de hardware de actualización, como memoria principal ampliada, unidades de disco adicionales o diferentes pantallas de video.
No era raro programar todo en un monitor en lugar de usar un ensamblador simbólico completo. Incluso después de que los ensambladores completos estuvieran fácilmente disponibles, un monitor de código máquina era indispensable para depurar programas. La técnica habitual consistía en establecer puntos de interrupción en el código que se estaba probando (por ejemplo, con una instrucción BRK en lenguaje ensamblador 6502 [ 1 ] [ 2 ] [ 3 ] ) e iniciar el programa. Cuando el microprocesador encontraba un punto de interrupción, el programa de prueba se interrumpía y el control se transfería al monitor de código máquina. Normalmente, esto activaba un volcado de registros y, a continuación, el monitor esperaba la entrada del programador. Las actividades en este punto podían incluir examinar el contenido de la memoria, parchear el código o, quizás, modificar los registros del procesador antes de reiniciar el programa de prueba.
En la mayoría de los sistemas donde se emplean lenguajes de alto nivel, los depuradores se utilizan para ofrecer una visión más abstracta y comprensible de lo que sucede dentro de un programa. Sin embargo, el uso de monitores de código máquina persiste, especialmente en el ámbito de las computadoras construidas por aficionados .
Referencias
- ↑ RJ Tocci y LP Laskowski (1979). Microprocesadores y microcomputadoras: hardware y software . Prentice-Hall. pág. 379. ISBN 9780135813225.
- ↑ LA Leventhal (1986). 6502 Programación en lenguaje ensamblador . Osborne/McGraw-Hill. ISBN 9780078812163.
- ^ AF Kuckes y BG Thompson (1987). Apple II en el Laboratorio . Archivo ARRIBA. pag. 93.ISBN 9780521321983.
- Software de gestión de memoria
- Software para microcomputadoras