Un monitor de código de máquina ( también conocido como monitor de lenguaje de máquina ) es un software que permite al usuario ingresar comandos para ver y cambiar las ubicaciones de la memoria en una computadora , con opciones para cargar y guardar el contenido de la memoria desde / hacia el almacenamiento secundario . Algunos monitores de código de máquina con todas las funciones proporcionan un control detallado ("paso único") de la ejecución de programas en lenguaje de máquina (muy parecido a un depurador ) e incluyen capacidades de ensamblaje y desensamblaje de código de dirección absoluta .
Los monitores de código de máquina se hicieron populares durante la era de las computadoras domésticas de las décadas de 1970 y 1980 y, a veces, estaban disponibles como firmware residente en algunas computadoras (por ejemplo, los monitores incorporados en las computadoras portátiles Commodore 128 , Heathkit H89 y Zenith). A menudo, los fabricantes de computadoras confían en sus monitores residentes en ROM para permitir a los usuarios reconfigurar sus computadoras luego de la instalación del hardware de actualización, como memoria principal expandida, unidades de disco adicionales o diferentes pantallas de video.
No era extraño realizar toda la programación de uno en un monitor en lugar de un ensamblador simbólico de pleno derecho. Incluso después de que los ensambladores con todas las funciones estuvieran disponibles, un monitor de código de máquina era indispensable para depurar programas. La técnica habitual era establecer puntos de interrupción en el código sometido a prueba (por ejemplo, con una instrucción BRK en lenguaje ensamblador 6502 [1] [2] [3] ) e iniciar el programa. Cuando el microprocesador encuentra un punto de interrupción, el programa de prueba se interrumpe y el control se transfiere al monitor del código de la máquina. Normalmente, esto desencadenaría un volcado de registro y luego el monitor esperaría la entrada del programador. Las actividades en este punto pueden incluir examinar el contenido de la memoria, parchear el código y / o quizás alterar los registros del procesador antes de reiniciar el programa de prueba.
El declive general del software en lenguaje ensamblador escrito desde cero ha hecho que el uso de un monitor de código de máquina sea un arte perdido. En la mayoría de los sistemas donde se emplean lenguajes de alto nivel, los depuradores se utilizan para presentar una visión más abstracta y amigable de lo que está sucediendo dentro de un programa. Sin embargo, persiste el uso de monitores de código de máquina, especialmente en el área de las computadoras construidas por pasatiempos . [ cita requerida ]
Referencias
- ^ RJ Tocci y LP Laskowski (1979). Microprocesadores y microcomputadoras: hardware y software . Prentice Hall. pag. 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 . ARRIBA Archivo. pag. 93. ISBN 9780521321983.