Что представляет собой программа монитор

MONITOR — это учебно-отладочная программа, позволяющая выполнять побайтную обработку файлов и памяти микропроцессорной системы, организованной на микропроцессоре i80x86, работающего в реальном режиме. MONITOR также обеспечивает возможность выполнения отлаживаемых программ в пошаговом и непрерывном режимах. При этом программа выполняется только под «наблюдением» монитора.

Для пользования инструкциями монитора необходимо иметь
представление об архитектуре микропроцессора и микропроцессорной
системы и особенностях составления программ на ассемблере i80x86.
Функции монитора позволяют:

— производить загрузку программ из файла в память и из памяти
в файл;

— выводить на экран содержимое участков памяти в шестнадцатеричном формате и в формате кода ASCII;

— изменять содержимое участка памяти;

— преобразовывать машинные коды, находящиеся в памяти машины, в
команды ассемблера и выводить их на экран.

— редактировать программы, находящиеся в памяти, на ассемблере;

10 минут и ты знаешь как устроены мониторы, чем они отличаются и какой выбрать

— отображать и изменять содержимое регистров микропроцессора;

— производить покомандное выполнение программы с выводом содержимого регистров на экран;

— выполнять программу в непрерывном режиме (прогон) до указанного места или в полном объеме.

Синтаксис команд монитора заключается в следующем. Все команды монитора начинаются с буквы — все равно, заглавной или
строчной. Большая часть команд требует введения дополнительных
параметров. Если два подряд расположенных параметра являются числами, то они разделяются пробелом или запятой. В противном случае
параметры можно не отделять один от другого. Все числа должны
вводиться в шестнадцатеричной форме.

Чтобы проиллюстрировать сказанное, рассмотрим две функционально эквивалентные команды (прочитать 48 ячеек памяти в текущем
сегменте, начиная с адреса 100H):

означает то же самое, что и

Примечание – Здесь и далее машинописным шрифтом: 0,1,2,А,а,D,d. — обозначается отображение на экране дисплея вводимая и выводимая информация при диалоге с монитором.

Необходимо помнить, что любая инструкция может вводиться
только по приглашению монитора, которым является изображение в
начале строки: «‑» (дефис). В таблице 1 приведены имена клавиш клавиатуры микропроцессорной системы (учебно-отладочного стенда) и соответствующие им действия монитора.

Таблица 1 – Инструкции монитора

вол │ │
─────┼─────────────────────────────────┼─────────────────────────
A * Перевод:ассемблер — машинный код│ A
с указанного адреса │ A(start)
D * Выводит на экран содержимое │ D
— участка памяти размером 128 байт│ D(start)
— с указанием начала и конца │ D(start) (end)
— с указанием начала и числа байт │ D(start)L(leng)
E * Вводит в ОЗУ с указанного адреса│ E(start) (list)
список чисел и символов. │
— выводит на экран байт памяти,ко-│ Е(start)
торый тут же можно исправить. │

Как проверить время отклика монитора?


(вызов следующего —пробел). │
G * Cтарт программы в режиме прогона│ G
— с заданного адреса │ G=(start)
— до заданного адреса │ G(breakpoint)
— с заданного до заданного │ G=(start) (breakpoint)
I * Вводит из заданного порта байт и│ I[port]
выводит его на экран. │
L * Производит загрузку файла в ОЗУ │ L
— начиная с указанного адреса │ L(start)
N * Идентифицирует файл (как в DOSe)│ N[filename]
O * Пересылает байт в указанный порт│ O[port] [byte]
P * Выполняет одну команду программы│ P
(INT n выполняется как команда) │
Q * Осуществляет выход из монитора. │ Q
R * Выводит на экран регистры. │ R
— выводит на экран содержимое од- │ R(register name)
ного регистра, которое тут же │
можно изменить. │
— выводит на экран содержимое │ RF
флагов, состояния которых тут │
же можно изменить (через «,»).│
T * Выполняет одну команду программы│ T
— указанное число команд │ T(number)
— указанное число с заданного адр.│ T=(start) (number)
U * Перевод: машинный код- ассемблер│ U
— перевод фрагмента: начало-конец │ U=(start) (end)
— то же: начало —число байт │ U(start)L(leng)
W * Запись дампа памяти в файл(диск)│ W
— то же, но с указанного адреса │ W(start)
(в обоих вариантах число байт │ W(drive)(sector)(number)
нужно указать в регистрах BX,CX │ W(start)(drv)(sec.)(num.)
───────────────────────────────────────┴──────────────────────────
ПРИМЕЧАНИЕ: Параметры в квадратных скобках являются обязательными.

Программа МОНИТОР ориентирована на работу с командным форма-
том файла (с расширением .COM), поэтому регистр-счетчик адреса IP
в момент запуска принимает значение 100h. Сегментные регистры устанавливает сам МОНИТОР, исходя из первой свободной зоны ОЗУ.
1.2 Запуск монитора

Чтобы стартовать монитор, необходимо запустить программу monitor.com.

Символом «‑» (дефис) монитор сообщает о своей готовности.

Читайте также:
Программа для того чтобы узнать сколько времени работает компьютер

Выход из монитора

Чтобы выйти из монитора и передать управление MS-DOS, на его
стандартный запрос «-» вводится команда q:

-q
1.4 Чтение содержимого участка памяти

Команда DUMP (d или D) служит для отображения на экране содержимого участка памяти. Полученный кусочек памяти — дамп, представляет собой последовательность значений байтов в шестнадцатеричном пpедставлении, а также в коде ASCII.

Введем «d» и рассмотрим результат инструкции чтения памяти:

-d
958:100 00 41 00 61 00 00 00 00— 00 00 00 00 00 00 00 00 .А.a.
958:110 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:120 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:130 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:140 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:150 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:160 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:170 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .

Примечание — Из-за того, что длинный адрес байта не помещается в строку,
в примерах он иногда будет изображаться без ведущих нулей. На самом деле под адрес сегмента и короткий адрес байта отводится по 4
позиции. Например, вместо 958:100 в действительности на экpан вы-
водится : 0958:0100.

Первое число в верхнем левом углу экрана (0958:0100) — это
начальный адрес дампа. Адрес читается следующим образом: «сегмент
номер 0958h, адрес байта внутри сегмента 0100h». При введении тех
же команд на вашей машине на экране может появиться другое значение сегмента.

Первые два нуля, следующие за адресом, означают, что значение байта с адресом 0958:0100 равно 00h. Следующee число «41» в той же строке означает, что значение байта с адресом, на единицу больше предыдущего (0958:0101), равно 41h. Из рисунка 1 видно, что общее число байтов в строке равно 16.

Последующие 7 строк (каждой строке предшествует адрес первого в строке байта) — это оставшаяся часть дампа. Можно подсчитать, что полученный дамп отображает содержимое 128 последовательно расположенных байтов. Начальный адрес дампа — 0958:0100, конечный — 0958:017F.

Разделители в середине строки — это ориентировочные точки (естественно, что их в памяти нет). Восемь байтов из 16-и находятся по одну сторону от разделителя, восемь — по другую.

В конце каждой строки находится по 16 знакомест. Это пространство, отведенное для представления данных в коде ASCII (приложение А).

Значения, не имеющие символьного пpедставления в коде ASCII, обозначаются десятичной точкой.

Введем команду DUMP еще раз:

-d
958:180 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:190 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1A0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1B0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1C0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1D0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1E0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:1F0 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .

Обратите внимание на адресную часть! Этот дамп начался с того места, где закончился предыдущий. Если и далее вводить команду «d», не указывая параметров, MONITOR будет последовательно выводить по 128 байтов памяти.

В командной стpоке можно указать начальный адрес дампа. Выведем, к примеру, 128 байтов памяти, начиная с адреса 0000h, находящегося в сегменте 0958h:

958:000 CD 20 00 20 00 9A EE FE— 1D F0 34 02 68 06 62 20 M . ..n .p4.h.b

958:010 68 06 E2 04 9C 05 9C 05— 01 01 00 02 FF FF FF FF h.b.

Читайте также:
Как скрыть программу из списка

958:020 FF FF FF FF FF FF FF FF— FF FF FF FF 65 06 BC 2A . e. 958:030 68 06 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 h.
958:040 00 00 00 00 00 00 00 00— 00 00 00 00 00 00 00 00 .
958:050 CD 21 CB 00 00 00 00 00— 00 00 00 00 20 20 20 00 M!K. .

958:060 20 20 20 20 20 20 20 20— 20 20 20 00 00 00 00 00 .

958:070 20 20 20 20 20 20 20 20— 00 00 00 00 00 00 00 00 .

Числа, имеющие символьное пpедставление в коде ASCII, расположены в интервале значений от 00h до 7Fh. MONITOR вычитает 80h из любого значения, превышающего 7Hh. Полученная разность выводится на экран в коде ASCII. CDh минус 80h равно 4Dh. В коде ASCII значение 4Dh соответствует букве «M».

Поэтому в правой части экрана первым символом является «M».

Нужный дамп (например, с 958:8 по 958:F) можно выбрать следующим образом, указав начало дампа и число L байт:

958:0000 1D F0 34 02 68 06 62 20 .p4.h.b.

То же самое, но немножко по-другому:

958:0000 1D F0 34 02 68 06 62 20 .p4.h.b.

Этот дамп начинается с адреса 0958:0008 и заканчивается aдресом 0958:000F. Начальный и конечный адреса вводятся в командной
стpоке DUMP. Отметим, что начальный адрес представлен длинным ад-
ресом байта (0958:0008), а конечный — коротким (000F).

Если адрес сегмента находится в одном из сегментных регистров, то вместо адреса в командной строке можно указать имя этого сегментного регистра. Пусть в регистре DS находится число 0958. Введем команду:

958:0000 1D F0 34 02 68 06 62 20 .p4.h.b.

Большая Энциклопедия Нефти и Газа

Программа-монитор осуществляет двустороннюю связь с расчетчиком. При этом в качестве основного устройства используется видеотерминал, а в качестве альтернативного — два устройства: ввода с перфокарт и вывода на печать. Выбор основного или альтернативного устройства задается непосредственно при вызове программы. Кроме выполнения функции связи с расчетчиком программа-монитор осуществляет контроль и анализ входных сообщений. В результате анализа информация входных сообщений адресуется либо блоку управления расчетами, либо блоку управления данными. Кроме того, на программу-монитор возложены функции ведения системного журнала, который при необходимости может быть выведен на печать. [1]

Программа-монитор — служебная резидентная программа, предназначенная для управления работой микро — ЭВМ в процессе трансляции, тестирования, корректировки и ввода прикладных программ пользователя. [2]

Программа-монитор занимает самый высокий уровень в иерархической структуре пакета. Монитор на основании управляющей информации пакета планирует функционирование подчиненных ему элементов и подключает их в работу. [3]

Программа-монитор — программа, предназначенная для слежения за ходом работы в системе автоматической обработки данных. [4]

Программа-монитор осуществляет связь оператора о системой. [5]

Программа-монитор или просто монитор представляет собой служебную программу, которая чаще всего размещается в ПЗУ, ППЗУ или в аналогичном запоминающем устройстве. Монитор состоит из основной программы и ряда подпрограмм.

Задача монитора состоит в том, чтобы управлять работой микро — ЭВМ в процессе трансляции, тестирования, корректировки и ввода прикладных программ пользователя. Структура монитора приведена на рис. 18.2. После того, как с помощью переключателя START включено питание, программа раскрутки инициализирует микро — ЭВМ.

Это означает, что в счетчик команд с помощью некоторой подготовительной команды засылается адрес первой команды монитора. Программа раскрутки может быть запущена только таким способом. Таким образом, это специфическая подпрограмма, которая вызывается в результате включения напряжения питания. [6]

Если программа-монитор не может найти процессор, в котором выполнялась бы рабочая программа более низкого уровня прерывания, чем та, которую требуется выполнить для обслуживания появившегося вызова, то такой вызов ставится на ожидание. [7]

Ядром управляющей системы РАФОС является программа-монитор , обеспечивающая выполнение следующих функций: работа с таймером, организация ввода-вывода, ведение наборов данных на внешних запоминающих устройствах, диалог с оператором, диагностика ошибок и пр. [8]

Минимальный вариант операционной системы — программа-монитор обычно предоставляет пользователю возможности программирования в машинных кодах. Используя эту программу, пользователь может проконтролировать и изменить содержимое ячеек ОЗУ или регистров процессора, загрузить программу в шестнадцатеричных ( или восьмеричных) кодах в оперативную память и выполнить программу или отдельные фрагменты ее. Для возможности выполнения этих функций в монитор включаются программы — драйверы пульта оператора, дисплея, устройств внешней памяти и других устройств ввода-вывода. [9]

Читайте также:
На какой программе стирать джинсы в машинке

Из перечисленных функций видно, что программа-монитор выполняет функции, близкие к функциям простейшей операционной системы. [10]

В программе, приведенной в предыдущем разделе, программа-монитор , на которую возложено исполнение функций ввода — вывода, также является стандартной подпрограммой. Вообще говоря, использование команды SVG позволяет обеспечить связь с подпрограммами супервизора и стандартными подпрограммами ввода — вывода, а команд BAL и BALR — связь с подпрограммами, употребляемыми в основной программе. [11]

Введение

Основой любой современной вычислительной системы (ВС) являются две составные части: аппаратура и программное обеспечение (Hardware, Software).

В свою очередь, основой программного обеспечения ВС является операционная система (ОС), представляющая собой совокупность специальных программ, предназначенных для управления всеми аппаратными и программными ресурсами ВС, облегчения процесса создания и отладки новых программ, автоматизации их прохождения через вычислительную машину, управления файлами, повышения пропускной способности ВС и производительности труда пользователей.

Операционная система является посредником между ЭВМ и ее пользователями, осуществляя анализ и интерпретацию запросов пользователей и обеспечивая выполнение этих запросов. Конкретная ОС может быть ориентирована на выполнение заданий пользователя в пакетном или диалоговом режиме, а также в режиме реального времени.

Операционная система изучаемой ЭВМ СМ-1800 относится к однопользовательским ОС, содержащим центральный элемент – Монитор и набор программ и данных. Основные характеристики Монитора – предмет рассмотрения в данной лабораторной работе.

Как и предыдущие работы настоящего цикла, данная работа ориентирована на использование эмулятора СМ-1800 – программы, моделирующей работу этой микроЭВМ на современном персональном компьютере.

1 Цель работы

Цель лабораторной работы состоит в изучении центрального элемента инструментальной операционной системы микроЭВМ СМ-1800, которым является программа Монитор.

Изучаются назначение, условия применения, размещение программы Монитор в памяти ЭВМ, а также команды и процедуры, предоставляемые пользователю для подготовки и отладки программ, записываемых в машинном коде.

2 Основные характеристики программы монитор

2.1 Назначение программы

Программа Монитор (MONID) представляет пользователю следующие возможности:

  1. Проверять и/или изменять содержимое оперативной памяти (ОП) или регистров общего назначения (РОН);
  2. Загружать программы или данные из внешнего запоминающего устройства (ВЗУ);
  3. Начинать выполнение программ, находящихся в ОЗУ с использованием или без использования точек прерывания;
  4. Распоряжаться набором процедур, позволяющих выполнить ряд стандартных действий при работе с периферийными устройствами.

2.2 Размещение в памяти

Программа Монитор состоит из двух сегментов: резидентного и динамически загружаемого. Носителем резидентного сегмента является ПЗУ, носителем динамически загружаемого – внешнее запоминающее устройство (ВЗУ), реализованного на гибких магнитных дисках (ГМД), с которого он загружается в ОЗУ. Диаграмма размещения программы Монитор в памяти приведена в Таблице 1. Таблица 1 — Размещение программы Монитор в памяти

Адреса Объем Назначение Объем Назначение
ПЗУ 000Н÷003FH 64б Система обработки прерываний Резидентный сегмент Монитора (собственно программа-Монитор)
0040H÷0099H 90б Таблица передач управления функциями Монитора
009AH÷07FFH 1894б Процедуры Монитора
ОЗУ 992б Область системного стека Область памяти Монитора, находящаяся в распо-ряжении пользователя
0BEH÷0BFFH 32б Область обработки аппаратных и программ-ных прерываний
0C00H÷0FFFH Область памяти, резервируемой для динамически загружаемого сегмента Монитора

Резидентные сегмент монитора занимает область памяти с адресами от 0000Н до 07FFH (2048 байта=2К), в которой: — ячейки памяти с адресами от 0000H до 003FH (64 байта) резервируются системой прерываний; — ячейки с адресами 0040Н÷0099Н (90 байт) содержат таблицу передач управления процедурам монитора (перечень процедур монитора приводится в Приложении 1); — ячейки памяти с адресами 009А÷07FFH (1894 байта) заняты программами монитора. Область памяти с адресами 0800Н÷0BFFH (1024 байта=1К) находятся в распоряжении программы пользователя во время ее работы: – ячейки памяти с адресами, меньшими адреса 0BE0H назначаются и используются в качестве системного стека (992 байта); – ячейки памяти с адресами 0BE0H÷0BFFH (32 байта) резервируются программой монитора для обработки аппаратных и программных прерываний.

Область памяти с адресами 0С00Н÷0FFFH (1К) резервируется для размещения второго, динамически загружаемого сегмента монитора. Загрузка этого сегмента выполняется автоматически при первом обращении к процедурам программы монитор. При последующих обращениях повторная загрузка не требуется. Эта область памяти может быть произвольно использована программой пользователя, если в процессе ее работы нет необходимости в обращении к программам монитора.

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru