Добавил:
Negorov1337@gmail.com inst:vech.no_17 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

kniga_mikroprotsessory

.pdf
Скачиваний:
21
Добавлен:
02.10.2020
Размер:
1.06 Mб
Скачать

Рисунок 23

P0 - РЗ - порты индицируется как значение выходного регистра

(двоичный код серого цвета), так и состояние на внешних шинах (в

шестнадцатеричном, символьном и двоичном виде).

Области данных (Data Space) (рис. 24).

Рисунок 24

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

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

2. Меню программы.

На нижней строке экрана расположено меню симулятора. Перемещение по меню производится с помощью клавиш перемещения влево и вправо. Ввод команд меню, осуществляется клавишей «Ввод». Альтернативный вариант ввода команд меню - буквой, являющейся прописной в названии соответствующей команды (как правило, это первая буква команды).

42

Меню является многоуровневым. Переход на более низкий уровень осуществляется клавишей «Ввод». Возврат в основное меню (высший уровень)

и прекращение ввода команд производится клавишами «Ctrl+C».

Меню состоит из двух частей, поочередно выводимых на экран.

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

Признаком этого является надпись «—space—», появляющаяся на той же строке справа от меню.

Меню симулятора имеет следующие пункты. 1. Dump: Настройка окон фрагментов памяти.

После выбора команды необходимо выбрать номер окна - Select dump area (1 или 2). Далее указывается отображаемый в окне фрагмент участка памяти (Absolute), начиная с адреса, введенного по команде Start address. Или косвенное отображение (Indirect), т.е. отражение участка, где находится ячейка

сопределенным адресом, значение которого считывается либо из памяти, либо

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

нию Indirect address or register. Затем необходимо ввести и смещение (index offset), которое будет прибавлено к значению, взятому из указанной ячейки.

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

2. Expression: По этой команде введенное значение (число) будет выведено в ячейку, на которую указывает курсор в режиме экрана. Т.е. при переключении клавишей [Esc] режимов экрана и меню запоминается последнее местонахождение курсора при выходе из режима экрана. Название ячейки или регистра (регистровой пары) будет отражено в приглашении на ввод значения:

Expression will be stored at XXXX. Где ХХХХ означает название ячейки.

43

3. CommandFile: Создание макрокоманды. Макрокоманда содержит в себе последовательность кодов клавиш, которые будут нажаты (были нажаты)

при работе симулятора и содержит подменю:

Load. Загружает и выполняет макрокоманду. На приглашение необходимо указать имя файла содержащего макрокоманду.

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

или будет произведен выход из программы.

Close. Закрывает файл макрокоманды. Прекращается фиксация в файле вводимых команд.

Restart. Начинает заново процесс фиксирования команд. Все предыдущие стираются. ВНИМАНИЕ! Файл должен быть открыт. С закрытым файлом данная команда не производит изменений.

4. Help: Вывод различной помощи, справки и информации. Подменю:

Avocet. Загрузка файлов макроассемблера Avocet. Необходимо как минимум два файла: .PRN и .HEX (формируются с помощью программ

x8051.exe и link.exe). При наличии файла .SYM происходит загрузка и таблицы

символов.

Data. Загрузка файла с расширением .HEX в память, объявленную

как ОЗУ.

Program. Загрузка программы из файла .HEX в память,

объявленную как ПЗУ.

Symbol-table. Загрузка таблицы символов из файла с расширением

.SYM .

7. Memory: Работа с памятью. Включает подменю:

Clear. Очистка памяти. Заполнение нулями памяти с начального адреса (lower address) по конечное значение (upper address). Работает только с

доступной памятью.

44

Fill. Заполнение памяти с адреса lower address по адрес upper address значением fill value. Работает только с доступной памятью.

Move. Перемещение области памяти с адреса lower address по адрес upper address, начиная с адреса destination address. Также работает только с доступной памятью.

Search. Поиск в памяти с адреса lower address по адрес upper address значения search data. В случае успеха курсор в области операций устанавливается на ячейку с первым значением. Это значение заносится и в регистр счетчика команд PC.

SearchNext. Поиск следующего значения с параметрами из предыдущего пункта меню.

8. Patch: Ввод команд ассемблера. Включает подменю:

Patch code. Ввод команд. Команды ассемблера вводятся последовательно в ячейку памяти, на которую указывает курсор в области операций (или счетчик команд). После ввода курсор перемещается на ячейку,

следующую за введенной командой. Команда вводится в формате:

[метка:] операция [;комментарий].

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

Open output file. Открывает на запись файл, в который будут заноситься все введенные команды. Если файл существовал, он перезаписывается. После открытия файла автоматически вызывается предыдущий пункт меню для ввода директив ассемблера.

ВНИМАНИЕ! Уже введенные до открытия файла в память команды в файл не записываются.

Close file. Закрывает открытый для записи команд файл.

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

заново не будет открыт файл (его содержимое будет уничтожено).

45

9. Quit: Выход из программы. Содержит лишь один пункт: Exit.

Подтверждение выхода из программы.

10. Reset: Сброс параметров эмулятора. Содержит подменю:

Cpu. Сброс процессора. Означает переход к нулевому адресу в памяти (в счетчик команд заносится 0).

Disptrace. Сброс режима трассировки окна для всех окон трассировки. Это означает, что для всех окон трассировки устанавливается режим trace off, т.е. обновление их не происходит при выключенном режиме обновления экрана в процессе прогона программы.

cYcles. Установка счетчика тактов МП в выключенное состояние.

Счет тактов не будет производиться до тех пор, пока счетчик не будет включен командой меню Set.

11. Set: Установка точек останова, памяти и др. параметров симулятора.

Memory-map. Настройка карты памяти. Объявление памяти как доступной. Можно объявить память как ПАМЯТЬ ДАННЫХ (random-Access)

или как ПАМЯТЬ ПРОГРАММ (readonly). Объявление памяти осуществляется по областям с адреса upper address до адреса lower address.

Passpoint. Установка точек слежения. При обращении по указанному адресу (или адресам) или к заданному регистру в счетчике фиксируется количество обращений к данному адресу. Общее число обращений ко всем точкам можно увидеть с помощью меню View. Для каждой ячейки памяти или регистра (регистровой пары) можно установить фиксирование чте-

ния/записи (A-R/W point) или только записи (C-Write point). Значение адреса

(можно указать метку) или название регистра (например, аккумулятор АСС или регистровая пара HL) указывается вводом R/W PASS ADDRESS OR REGISTER. Также можно установить слежение за областью памяти. Установка также может быть произведена на чтение/запись (B-R/W range) или только на запись (D-Write range). Область памяти задается от lower address до upper address.

46

Примечание 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

Соседние файлы в предмете Информатика