Машинный код монитора ( ака машинного языка монитора) это программное обеспечение, которое позволяет пользователю вводить команды для просмотра и изменения памяти места на компьютере, с возможностью загрузки и сохранения содержимого памяти от / до вторичного хранения. Некоторые полнофункциональные мониторы машинного кода обеспечивают подробный контроль («пошаговое выполнение») выполнения программ на машинном языке (подобно отладчику ) и включают возможности сборки и разборки кода с абсолютным адресом.
Мониторы машинного кода стали популярными в эпоху домашних компьютеров 1970-х и 1980-х годов и иногда были доступны как резидентная прошивка на некоторых компьютерах (например, встроенные мониторы в ноутбуках Commodore 128, Heathkit H89 и Zenith). Часто производители компьютеров полагаются на свои мониторы, находящиеся в ПЗУ, чтобы пользователи могли перенастроить свои компьютеры после установки обновленного оборудования, такого как расширенная основная память, дополнительные дисковые накопители или различные видеодисплеи.
Не было ничего удивительного в том, что все программирование выполнялось на мониторе вместо полноценного символического ассемблера. Даже после того, как полнофункциональные ассемблеры стали легкодоступными, монитор машинного кода был незаменим для отладки программ. Обычная техника заключалась в установке точек останова в тестируемом коде (например, с помощью инструкции BRK на языке ассемблера 6502 ) и запуске программы. Когда микропроцессор обнаруживает точку останова, программа тестирования будет прервана, и управление будет передано монитору машинного кода. Обычно это вызывает дамп регистра, а затем монитор ожидает ввода программиста. Действия на этом этапе могут включать в себя проверку содержимого памяти, исправление кода и / или, возможно, изменение регистров процессора перед перезапуском тестовой программы.
Общий упадок программного обеспечения на ассемблере, написанного с нуля, сделало использование монитора машинного кода несколько утерянным искусством. В большинстве систем, где используются языки более высокого уровня, отладчики используются для представления более абстрактного и понятного представления о том, что происходит в программе. Тем не менее, использование мониторов машинного кода сохраняется, особенно в области компьютеров, созданных для хобби.