Монітор (інтерактивна програма)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Інтерактивний монітор, запущений на одноплатному комп'ютері W65C816S. Програма показує результат роботи дизасемблера, а також регістри процесора і дамп пам'яті
Монітор машинних кодів комп'ютера Apple II (процесор 6502)

Монітор, також монітор машинних кодів — комп'ютерна програма, що дозволяє користувачеві вводити команди, які показують або модифікують значення комірок пам'яті, а також інші команди, пов'язані з низькорівневим вводом-виводом або налагоджуванням. Деякі монітори дозволяють покрокове трасування бінарної програми, мають вбудований дизасемблер, а деякі навіть примітивний текстовий редактор і/або асемблер.

Програми-монітори були популярними у еру домашніх комп'ютерів 1970-1980-х років. Як правило, вони записувалися у постійний запам'ятовувач, тобто були завжди «резидентними» (доступними у адресному просторі мікропроцесора) — звідси ще одна назва «резидентний монітор».

Налагоджування і зневадження програм, як правило, здійснювалося встановленням точок зупину (якщо процесор дозволяв таку інструкцію) і запуском програми. При досягненні точки зупинки відбувався перехід до інтерактивного монітора, який дозволяв побачити стан програми, регістрів, стеку, ділянок пам'яті.

З розвитком дискових операційних систем[en], розповсюдженням дискет і все ширшим використанням мов програмування високого рівня (і, як наслідок, зменшенням частки програм, що розроблялися повністю на мові асемблера) програми-монітори поступово почали поступатися іншим інструментальним засобам.

Приклад

[ред. | ред. код]
Робота з програмою-монітором на комп'ютері Радіо 86РК

Резидентний монітор любительського комп'ютера Радіо 86РК мав розмір близько 2 кілобайт і записувався у мікросхему постійного запам'ятовувача. Адреси мікросхеми у адресному просторі процесора КР580ВМ80 були F000h — FFFFh. Монітор імплементував наступні команди для інтерактивної роботи:[1]

  • D (dump): дамп ділянки пам'яті (шістнадцяткові коди)
  • L (list): показ вмісту пам'яті у алфавітно-цифровому вигляді (КОИ-7[ru])
  • M (modify): ручний ввід даних (шістнадцяткових кодів) у пам'ять
  • F (fill): заповнення пам'яті константою
  • T: копіювання ділянки пам'яті за іншою адресою
  • C (compare): порівняння ділянок пам'яті
  • S (search): пошук коду у пам'яті
  • G (go): запуск програми
  • X: перегляд і/або зміна значень регістрів процесора
  • O (output): виведення блоку даних на магнітофон
  • I (input): введення блоку даних з магнітофона
  • R (read): читання даних з зовнішньої мікросхеми постійної пам'яті
  • U: команда виклику майбутніх «розширень» монітора

Джерела

[ред. | ред. код]
  1. «Радио» (журнал) (8): 25. 1986. {{cite journal}}: Пропущений або порожній |title= (довідка)