Монитор машинного кода ( он же монитор машинного языка ) — это программное обеспечение , которое позволяет пользователю вводить команды для просмотра и изменения ячеек памяти на компьютере , с возможностью загрузки и сохранения содержимого памяти из/во вторичное хранилище . Некоторые полнофункциональные мониторы машинного кода обеспечивают подробный контроль («пошаговый») выполнения программ на машинном языке (во многом подобно отладчику ) и включают возможности сборки и разборки кода с абсолютным адресом .
В 1973 году Motorola выпустила монитор ПЗУ MIKBUG для 6800 и монитор ПЗУ BUFFALO для 68HC11 .
Мониторы машинного кода стали популярными в эпоху домашних компьютеров 1970-х и 1980-х годов и иногда были доступны в качестве резидентной прошивки в некоторых компьютерах (например, встроенные мониторы в ноутбуках Commodore 128 , Heathkit H89 и Zenith). Часто производители компьютеров полагаются на свои резидентные мониторы ROM, чтобы позволить пользователям перенастраивать свои компьютеры после установки обновленного оборудования, такого как расширенная основная память, дополнительные дисководы или другие видеодисплеи.
Не было неслыханным выполнять все программирование на мониторе вместо полноценного символического ассемблера. Даже после того, как полнофункциональные ассемблеры стали легкодоступными, монитор машинного кода был незаменим для отладки программ. Обычным методом было установить точки останова в тестируемом коде (например, с помощью инструкции BRK на языке ассемблера 6502 [1] [2] [3] ) и запустить программу. Когда микропроцессор сталкивался с точкой останова, тестовая программа прерывалась , и управление передавалось монитору машинного кода. Обычно это вызывало сброс регистра , а затем монитор ждал ввода программиста. Действия на этом этапе могли включать проверку содержимого памяти, исправление кода и/или, возможно, изменение регистров процессора перед перезапуском тестовой программы.
В большинстве систем, где используются языки более высокого уровня, отладчики используются для представления более абстрактного и дружественного представления того, что происходит в программе. Однако использование мониторов машинного кода сохраняется, особенно в области любительских компьютеров . [ необходима цитата ]