Рисунок 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