Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) ( 96 ) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124) (96)

addr; G - начать выполнение программы с адреса addr;

addr; Р - продолжить выполнение после останова по адресу addr контрольной точки.

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

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

Для отладки прикладных программ микро-ЭВМ в кросс-системах широко применяются моделирующие (имитирующие) программы, обычно рассчитанные на диалоговый режим и реже на пакетную обработку. Моделирующая программа отражает архитектуру моделируемой (целевой) микро-ЭВМ и алгоритмы выполнения всех ее команд. После загрузки в моделирующую ЭВМ объектной программы целевой микро-ЭВМ начинается выполнение программы так, как будто она действительно выполняется на целевой микро-ЭВМ. При этом у пользователя имеются возможности наблюдать содержимое регистров микро-ЭВМ, производить дампы памяти, прослеживать выполнение программы по командам. Кроме того, моделирующая программа накапливает и выводит такую информацию, как время выполнения программы (в тактах синхронизации), листинг выполненных команд с числом их выполнений и др.

Пользователь взаимодействует с моделирующей программой посредством содержательных приказов, вводимых с терминала. Ниже приведены некоторые из допустимых приказов:

START addr (начать) - загрузить в программный счетчик целевой микро-ЭВМ значение addr и начать выполнение программы;

STOP addr (остановить) - прекратить моделирование при достижении в программном счетчике целевой микро-ЭВМ значения addr и вывести состояние программы (число машинных циклов, последние команда и адрес данных, содержимое внутренних регистров микропроцессора);

DUMP addr 1, addr 2, addr 3 (дамп) - напечатать содержимое ячеек памяти от addr 2 до addr 3, когда выполняется команда по адресу addr 1;



PATCH addr, data (загрузить) - загрузить в ячейку памяти с адресом addr данные data;

SET ROM addr 1, addr 2 (определить ПЗУ) - область памяти от addr 1 до addr 2 считать ПЗУ и при попытке за-писи в нее выдать сообщение об ощибке.

7-4. МОНИТОР

Рассмотренные системные программы предназначены для эффективного использования ЭВМ, а прикладные программы выполняют преобразования данных для пользователя. В больщинстве мащин для управления самими системными программами имеется программа-монитор, являющаяся управляющим элементом операционной системы и распределяющая программные ресурсы. Монитор осуществляет интерфейс с пользователем в диалоговом режиме, воспринимая и выполняя приказы (команды) с системной консоли - пищущей мащинки или видеотерминала. В зависимости от конфигурации аппаратных средств функции монитора варьируются от интерпретации десятка простых приказов, вводимых с консоли, до управления в реальном времени разнообразными периферийными устройствами. В мультипрограммной ЭВМ монитор обслуживает нескольких пользователей и распределяет ресурсы между несколькими программами, которые одновременно находятся в основной памяти. Типичные функции монитора: сканирование клавиатуры консоли, идентификация приказов, назначение периферийных устройств (преобразование логических адресов в физические), управление другими системными программами, поддержание реального времени, управление передачами данных между основной и внешней памятью. Довольно трудно провести четкую границу между монитором и супервизором, но в целом основное назначение супервизора - обрабатывать внутренние (программные) и внешние прерывания.

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



выполняется до передачи управления другой программе - программе заднего плана (фоновой). Последняя выполняется до тех пор, пока не потребуется возобновить выполнение программы переднего плана. Ниже рассматривается простойтлонитор минн-ЭВМ, рассчитанный на управление одним заданием.

Пользователь вводит с консоли приказы двух типов. Каждый приказ заканчивается возвратом каретки. Приказы первого типа (их можно назвать клавишными приказа-Ми) предназначены для управления операционной системой. Они инициируются вводом коротких зарезервированных мнемоник, а также нажатием управляющих клавиш. Ниже даны примеры мнемонических клавишных приказов: ASS (assign) - ассоциирование логических имен с периферийными устройствами; SET - изменение параметров системы; В (base) - задание базового адреса; Е (examine) - индикация (вывод) содержимого ячейки памяти; D (deposite) - запоминание значения в ячейке памяти; GE (get) - загрузка в основную память загрузочного модуля; ST (start) - передача управления прикладной программе по заданному адресу; RUN эквивалентен действию приказов GE и ST; R (run) эквивалентен приказу RUN для системной программы; RE (reenter) - повторный запуск (рестарт) загруженной программы; DAT (date) - ввод указанной даты или вывод текущей даты; TIM (time) -ввод указанного времени или вывод текущего времени.

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

Приказы, вводимые с помощью управляющих клавиш, выполняют следующие функции: прерывание текущей программы и возврат управления монитору; запрещение вывода на консоль; возобновление вывода на консоль; приостановка вывода на консоль до задания следующего приказа; вывод следующей страницы; удаление текущей входной строки; аннулирование командной строки; конец файла.

Приказы второго типа, иногда называемые командными строками, представляют собой запросы к операционной системе на инициализацию входных и выходных файлов для •последующих операций считывания, записи или обеих операций. Эти запросы формируются в процессе выполнения программы оператором с консоли либо самой программой, находящейся в основной памяти. Запросы оператора относятся к классу передач файлов из одного места в другое и имеют следующий общий формат:



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) ( 96 ) (97) (98) (99) (100) (101) (102) (103) (104) (105) (106) (107) (108) (109) (110) (111) (112) (113) (114) (115) (116) (117) (118) (119) (120) (121) (122) (123) (124)