Отладчик Periscope

     Отладчик Periscopе является удобным средством отладки программно-

го кода.  Он полностью написан на языке  ассемблера  поэтому  обладает

большим быстродействием.

     В нем имеется возможность использования при отладке символических

имен  (имен из программы ) вместо адресов.  Для некоторых компиляторов

выводятся также номера строк исходного кода и сам исходный код.

     Для обеспечения  надежной  работы  при отладке программ Periscope

обладает средствами защиты от сбоев:

        - На входе сохраняются вектора BIOS, используемые Periscope. С

               целью обеспечить надежность  Periscope  затем  изменяет

               эти  прерывания,  устанавливая  значения,  записанные в

               ПЗУ. На выходе из Periscope программные вектора восста-

               навливаются.

        - Periscope использует прерывания BIOS для всех функций, кроме

               функций,  связанных с файлами, поэтому Periscope не мо-

               жет  вызвать DOS,  если DOS уже активна.  Использование

               BIOS позволяет вам трассировать DOS.

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

               прерывания заблокированы. Активные прерывания от тайме-

               ра и клавиатуры обнаруживаются и обрабатываются  Peris-

               cope. При необходимости клавиатура также сбрасывается.

        - Если это возможно,  Periscope восстанавливает состояние сис-

               темы так,  чтобы это не повлияло на прерванную програм-

               му.  Исходный буфер клавиатуры и управляющие буфера CRT

               сохраняются на входе в Periscope и восстанавливаются на

               выходе.

При работе с Periscope предоставляются следующие возможности:

        - Определять  окна для информации о Данных,  Регистрах,  Стеке

               и(или) результате Дисассемблирования. Вы в любой момент

               можете  выбрать  размер  окон и содержание отображаемой

               информации. Можно определить до 4 окон Данных!

        - Отобразить память в форматах ASCII, байта, целого, целого со

               знаком, слова, двойного слова, короткого вещественного,

               длинного вещественного и ASCIIZ.

        - Отобразить блок памяти по отдельным полям записи.  Например,

               можно отобразить Префикс Программного Сегмента так, что

               каждое поле будет помечено и будет расположено  на  от-

               дельной  строке.  Вы можете определить записи так,  как

               это Вам нужно.

        - Просмотреть текстовый файл из Periscope.

        - В интерактивном  режиме  добавлять  и  изменять определения

               имен.

В лабораторной работе были использованы следующие команды Periscope:

            \D

            Синтаксис:  D  [<диапазон>]

            Использование:  Отображает блок памяти в текущем формате

                            вывода.

            Пример:  'D 100'

                     отображает память, начиная со смещения 100H.

            \DA

            Синтаксис:  DA [<диапазон>]

            Использование:  Отображает блок памяти в ASCII.

            Пример: 'DA FILE' отображает имя FILE

                    в ASCII.

            \J

            Синтаксис:  J

            Использование: Выполняет до следующей команды на том же

                           уровне.

            Пример: 'J' выполняет текущую  команду и возвращает управление

                         следующей команде.

            \JN

            Синтаксис:  JN

            Использование: Переход к следующей команде без замены изобра-

                           жения на экране.

            Пример: 'JN' выполняет текущую команду без замены изображения

                         на экране.

            \T

            Синтаксис: T [<число>]

            Использование: Трассирует выполнение  текущей  программы по

                           одной команде.

            Пример: 'T 5' трассирует 5 команд.