Материал: kniga_mikroprotsessory

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Примечание 1. В счетчике учитывается и чтение очередной команды по заданному адресу, т.е. любая операция чтения, производимая МП,

будь то чтение следующей команды или загрузка значения в регистр.

Примечание 2. Счетчик не сбрасывается командами меню Reset.

opTions. Позволяет устанавливать соединение между портом Р2

микро-ЭВМ и внешнего таймера. Соединение будет установлено, если на приглашение CHANGE EXTERNAL DATA DRIVE WITH PORT2 выберите

YES или не установлено - NO. При этом в строке состояния будет указано,

подсоединен в настоящее время внешний таймер.

cYcles. Запуск счетчика тактов микро-ЭВМ. Счет будет вестись до тех пор, пока не будет останов командой меню Reset. Счетчик тактов отражает количество тактов микро-ЭВМ, прошедших с момента его установки до текущего момента. Увеличение его происходит после выполнения очередной команды.

V-drive. Задает диск, на котором будет отражена виртуальная память симулятора. После выбора меню выводится список доступных дисков

(включая НГМД).

Conditional. Задает условную точку останова (breakpoint).

Возможно четыре варианта. Косвенная (Indirect) означает прерывание, если с указанным значением (value of byte) совпадет значение байта по адресу точки прерывания + смещение (offset value). Далее предлагается выбор типа точки останова: точка слежения (Passpoint), что аналогично по типу точке слежения

Passpoint из предыдущего меню; динамическая (Dynamic), что означает ее сброс после выполнения останова (прерывание выполняется по адресу лишь однажды); постоянная (Sticky), которая очищается лишь командой из меню

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

аналогичное меню Passpoint предыдущего меню.

Поясним на примере работу этого типа точки останова. Пусть введено значение байта, равное 5, смещение 3, тип -динамический, тип обращения -

47

только на запись, адрес точки - 20h. Тогда останов процесса прогона осуществиться при записи в память по адресу 20h в случае, если по адресу

20h+3=23h находится значение, равное 5.

Следующим вариантом условной точки останова является совпадение значения по маске (Mask). После выбора команды появится приглашение для ввода маски. Маска представляет собой набор символов 1,0 и X, которые обозначают значение бита (X - произвольное число бит, имеющих любое значение). Маска является битовым представлением содержимого ячейки или регистра (регистровой пары) и состоит из 16 битов (для регистра или ячейки памяти первые 8 должны быть нулевыми или X, т.е. задаваться максимум 8-

мью символами). При вводе маски считается, что введена младшая часть слова,

дополняемая справа X. Останов происходит, когда при операции чтения или записи в ячейку (регистр или регистровую пару) ее значение подходит под введенную маску. После ввода маски появляется выбор типа точки останова,

аналогичный предыдущему пункту.

Третий тип условной точки - попадание значения в интервал (Range).

Останов происходит, если значение в ячейке (регистре) при чтении или записи попадает в границы указанного интервала. Границы интервала вводятся после выбора команды меню: нижняя граница (low limit value of byte), затем верхняя

(high limit value of byte). После ввода интервала появляется запрос на ввод типа точки и типа обращения к ячейке.

Последний тип условной точки - совпадение по значению (Value).

Останов происходит, когда значение в ячейке или регистре при записи или чтении совпадает с введенным. Ввод значения осуществляется после выбора команды меню (VALUE OF BYTE). Далее появляется запрос на ввод типа точки, а затем типа обращения (см. выше).

Dynamic. Ввод динамической точки останова. Это означает сброс этой точки останова после первого прерывания на ней. После выбора пункта меню появляется запрос на ввод типа обращения к ячейке или регистру

(регистровой паре). Запрос аналогичен запросу при выборе меню Passpoint.

48

Opcode. Означает прерывание при выполнении определенной инструкции ассемблера. После выбора меню появится запрос на ввод директивы ассемблера (ENTER MNEMONIC:). При каждом выполнении в программе введенной директивы будет происходить останов.

Sticky. Установка постоянной точки прерывания. При каждом обращении к указанной ячейке будет происходить останов. Ввод типа обращения к ячейке полностью аналогичен меню Passpoint или Dynamic.

12. SetUp: Предназначен для установки истории команд. Имеет один пункт:

Undo. Настройка числа команд (history holds xxx steps), которые будут сохранены в памяти для возврата по ним операцией Undo (клавиша [F9]).

Кратность установки - 20 команд.

13. View: Просмотр настроек, точек останова и т.д. Если список занимает несколько экранов, переход к следующему осуществляется по нажатию любой клавиши. Возврат в меню по комбинации [Ctrl-C]. Содержит подменю:

Bkpts. Просмотр всех точек останова.

IO-files. Просмотр параметров файлов ввода и вывода.

Memory-map. Просмотр карты памяти, т.е. всех доступных в данный момент ячеек памяти.

Opc-traps. Просмотр всех точек останова по команде (см. Set/ Opcode). Выводится окно со списком всех инструкций ассемблера, при выполнении которых произойдет останов прогона программы.

Passpts. Выводится список всех точек слежения (см. Set/ Passpoint).

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

Symbols. Просмотр таблицы символов, доступных в данный момент. Доступен вывод списка всех названий (меток), сопоставленных определенным ячейкам памяти и адресам ввода/вывода (меню Alphabetic);

вывод всех названий регистров (Registers); вывод всех названий констант,

объявленных через EQU (или подобные команды) (Numbers); вывод всех

49

названий меток адресов памяти (Memory); вывод всех названий адресов портов ввода/вывода (10).

14. eXecute: Команда выполняет директиву ассемблера, введенную с клавиатуры без заноса в память.

Ввод осуществляется сразу после выбора пункта меню (Execute Instruction).

3. Работа с симулятором.

Для некоторых программ при их выполнении с использованием программы симулятора требуются различные виды памяти. Для программы – симулятора определены следующие виды памяти:

Память внутренних данных (D);

Память внешних данных (X);

Память программы (С).

Симуляция видов памяти осуществляется с помощью подпункта меню memory–map, при вводе адресов памяти необходимо указывать принадлежность памяти (D,X,C). При вводе выражений, команды могут включать операции сложения, вычитания, скобки. Числа вводятся в двоичном

(101…10В), восьмеричном (307Q), десятичном (255H), шестнадцатеричном

(FFH), символьном («К») видах.

Для редактирования вводимых команд используются клавиши перемещения курсора, удаления символа («back space», «delete»), ввода пробела

(«insert»).

Ввод команды программы в поле команд программы симулятора осуществляется записью её в командной строке после ввода пунктов меню

Patch – Patch code.

Изменение в командах программы вносится в последовательности: в

режиме ЭКРАН курсор устанавливается на счетчике команд и в счетчик заносится адрес изменяемой команды:

50

В режиме МЕНЮ в командной строке набирается команда в новой редакции и с помощью клавиши Enter вводится в поле команд программы – симулятора.

При выполнении программы возникает необходимость создания области памяти с записью в них информации.

Для задания области данных в ОЗУ МП необходимо использовать пункт меню Dump.

Для заполнения области информацией необходимо использовать пункты меню необходимо указать начальный адрес области (D:___) затем конечный адрес (D:___) и информацию (константу). Указанная область будет заполнена.

Для задания области внешней памяти необходимо использовать пункты меню Set→ Memory - map→random – access (память данных), ввести начальный и конечный адреса (X:___) области или подпункты меню SetMemory - map→read only (память программ), ввести начальный и конечный адреса (C:___) области. Далее для записи в созданную область информации

(константы) пунктами меню Memory→Fill ввести начальный и конечный адреса области и ввести информацию.

Для просмотра в Data Space, занесенной в память информации необходимо:

-при выводе из ОЗУ МП использовать пункты меню Dump→1(2) →Absolut с указанием начального и конечного адресов (D:___);

-при выводе из области внешней памяти использовать пункты меню

Dump Select Dump →1(2) → Absolut с указанием начального и конечного адресов X:___(C:___).

При выполнении указанных операций в области Space будет отображено содержание указанных областей памяти

Выполнение программы возможно в пошаговом и автоматическом режиме. Пошаговое выполнение программы осуществляется клавишей F10,

автоматическое – F1. Прекратить автоматическое выполнение программы можно клавишами F1, F9 или F10. клавишей F9 можно вернуть выполнение

51

Источник: https://studfile.net/preview/15934500/