GNU MIX Development Kit (mdk): gmixvm
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7. gmixvm
, виртуальная машина на основе GTK
Эта глава описывает графический эмулятор виртуальной машины MIX,
включённый в MDK. Кроме того, что он имеет все
командно-ориентированные возможности других виртуальных машин
(mixvm
и mixguile
), gmixvm
предлагает графический
интерфейс, показывающий состояние виртуальной машины, исходный код
загруженных програм и содержимое устройств MIX.
7.1 Вызов gmixvm
Вызов интерфейса GTK+. 7.2 Консоль MIXVM Выполнение команд mixvm
.7.3 Виртуальная машина MIX 7.4 Окно исходного текста на MIXAL 7.5 Окно устройств MIX Вывод на устройства. 7.6 Меню и строка статуса
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.1 Вызов gmixvm
Если вы собрали MDK с поддержкой GTK+ (see section 1. Установка MDK), в вашей системе будет доступен графический интерфейс виртуальной машины MIX. Вы можете вызвать его вводом:
gmixvm [-vhuq] [--version] [--help] [--usage] [--noinit] |
- User Option: -v
- User Option: --version
- Вывести версию и информацию об авторских левах и завершить работу.
- User Option: -h
- User Option: --help
- User Option: -u
- User Option: --usage
- Вывести краткий перечень доступных параметров и завершить работу.
- User Option: -q
- User Option: --noinit
- Не загружать при запуске файл инициализации Guile
~/.mdk/mixguile.scm
. Этот файл содержит весь локальный код Scheme, выполняемый встроенным интерпретатором Guile при запуске (see section 3.5 Использование Scheme вmixvm
иgmixvm
).
При вводе в командной строке gmixvm
или gmixvm -q
появится главное окно, предоставляющее графический интерфейс для
запуска и отладки программ MIX.
Мы выделяем две части главного окна (не считая меню и строки статуса).
В верхней половине главного окна gmixvm
находится "блокнот"
с тремя страницами, а именно:
- окно виртуальной машины MIX, содержащее регистры, флаги, содержимое памяти и статистику времени виртуальной машины,
- окно исходного кода на MIXAL, содержащее файл на MIXAL и позволяющее устанавливать точки останова,
- окно устройств, показывающее вывод на символьные блочные устройства MIX.
Приложение может работать в двух режимах: без разделения (вышеописанные
окна находятся в блокноте в главном окне) или с разделением (окна
находятся вне главного и могут быть показаны или скрыты индивидуально).
Режим просмотра может быть выбран соответствующей командой меню
View
.
Приведём слепок экрана, показывающий, как выглядит gmixvm
при
запуске в режиме с разделением:
В то же время нижняя половина главного окна содержит командное
приглашение mixvm
и область ведения лога, где находятся
результаты выполнения команд (в режиме с разделением они
занимают всё пространство главного окна между меню и строкой статуса).
Они реализуют консоль mixvm
, предоставляющую почти те же
возможности, что и соответствующая консоль CLI.
При запуске gmixvm
она создаёт каталог `.mdk' в домашнем
каталоге (если он ещё не существует). Каталог `.mdk' содержит
настройки программы, файлы устройств, используемые программами MIX
(see section 6.3 Блочные устройства MIX) и файл истории команд.
Следующие разделы описывают вышеупомянутые компоненты gmixvm
.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.2 Консоль MIXVM
В нижней половине главного окна gmixvm
находится командное
приглашение, а над ним область вывода. Они предоставляют те же
возможности, что и соответствующий интерфейс CLI -- mixvm
(see section 6. mixvm
, эмулятор компьютера MIX). В командном приглашении gmixvm
для управления
виртуальной машиной MIX вы можете использовать почти все команды
mixvm
. См. в 6. mixvm
, эмулятор компьютера MIX описание этих команд, и в 3. Начало работы учебник по использованию виртуальной машины MIX. Командное
приглашение поддерживает также дополнение командной строки клавишей
TAB -- при вводе:
lo TAB |
load
. Если возможно
несколько вариантов дополнения, они будут показаны в области вывода.
Так, при вводе:
p TAB |
Completions: pc psym preg pflags pall pmem |
p
. Кроме того,
командное приглашение хранит историю введённых команд, к которой можно
возвращаться с помощью клавиш "вверх" и "вниз". Как сказано выше,
файл, содержащий команды предыдущих сеансов, сохраняется в каталоге
конфигурации `~/.mdk', и загружается при каждом запуске
gmixvm
.
Вы можете изменить шрифт, используемый для команд и сообщений в области
вывода командами меню Settings->Change font->Command prompt и
Settings->Change font->Command log.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.3 Виртуальная машина MIX
Первая страница блокнота показывает текущее состояние виртуальной машины. Там вы обнаружите содержимое регистров, значение флагов сравнения и переполнения, указатель положения, список всех ячеек памяти MIX и их содержимое, а также статистику времени выполнения (включая общее время работы, время, прошедшее после последней команды запуска, и общее время выполнения загруженной программы MIX).
При щелчке по любому регистру будет выдано приглашение ввести новое значение регистра.
Следующий рисунок показывает диалог ввода слова.
Аналогично, щелчок по любому адресу в списке ячеек памяти приведёт к выдаче приглашения ввести новое содержимое этой ячейки. При щелчке по заголовку колонки адресов появится диалог ввода адреса памяти, если вы введёте при этом верный адрес, после нажатия кнопки OK отображаться в списке будут ячейки, начиная с этого адреса.
Следующий рисунок показывает диалог ввода адреса.
Содержимое регистров показывается как список байтов MIX со знаком. При наведении на любой из этих элементов указателя мыши показывается десятичное значение слова MIX.
Вы можете изменить шрифт, используемый для вывода содержимого виртуальной машины MIX командой меню Settings->Change font->MIX.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.4 Окно исходного текста на MIXAL
Вторая страница блокнота, называющаяся MIXAL, содержит исходный код на MIXAL загруженного в данный момент файла MIX.
Информация представлена в двух колонках. Первая показывает адреса и содержимое памяти, в которой находятся скомпилированные инструкции MIX, а вторая показывает соответствующе представление на MIXAL, включая номер строки исходного файла. Текущее положение счётчика программы подкрашено серым, а все точки останова -- красным. Вы можете устанавливать и снимать точки останова, щёлкая в этой окне по строке с соответствующим адресом.
Используемые для отметки счётчика положения и точек останова цвета настраиваются командой меню Settings->Colors... При щелчке по этому пункту меню появится диалог, показывающий установленные в данный момент цвета строк. Следующий рисунок показывает диалог изменения цветов.
Щелчок по любому цвету выдаст диалог выбора цвета для данного элемента. Таким образом вы можете изменить цвета фона и тона, используемые для прорисовки текущей строки, строк точек останова и остальных строк кода на MIXAL.
Вы можете изменить шрифт, используемый для исходного кода на MIXAL, командой меню Settings->Change font->MIXAL.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.5 Окно устройств MIX
Последняя страница блокнота, называемая Devices, показывает ввод/вывод с/на блочные устройства MIX (консоль, строчный принтер, перфолента, диски, перфокарты и ленты see section 6.3 Блочные устройства MIX), выполняемый работающей программой.
Содержимое устройств ввода читается из файлов, расположенных в каталоге `~/.gmixvm', вывод записывается в расположенные там же файлы. Имейте в виду, что вкладки устройств появляются, если они используются запущенной программой MIX, а загрузка новой программы закроет все ранее открытые устройства.
Ввод и вывод двоичных блочных устройств (ленты и диски) должен быть
списком слов MIX, которые могут выводиться либо в десятичном формате,
либо в формате слова (- 67 или - 00 00 00 01 03). Используемый
gmixvm
формат может быть настроен командой меню
Settings->Device output для каждого двоичного устройства отдельно.
Вы можете изменить шрифт, используемый для содержимого устройств, командой меню Settings->Change font->Devices.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.6 Меню и строка статуса
Меню даёт доступ к следующим командам:
- File: Load...
- Открывает диалог, позволяющий указать двоичный файл MIX, загружаемый в
память виртуальной машины. Эквивалентно команде
mixvm
load
(see section 6.2.1 Файловые команды).
- File: Edit...
- Открывает диалог, позволяющий указать исходный файл на MIXAL для
редактирования. Эквивалентно команде
mixvm
edit
(see section 6.2.1 Файловые команды). Используемая для редактирования команда может быть задана в пункте менюSettings->External programs
или командойmixvm
sedit
.
- File: Compile...
- Открывает диалог, позволяющать указать исходный файл на MIXAL для
компиляции. Эквивалентно команде
mixvm
compile
(see section 6.2.1 Файловые команды). Используемая для компиляции команда может быть задана в пункте менюSettings->External programs
или командойmixvm
sasm
.
- File: Exit
- Завершает работу.
- View: Toolbar(s)
- Включает/выключает показ панели(ей) инструментов в окне(ах)
gmixvm
(в режиме с разделением будет несколько окон и, соответственно, несколько панелей).
- View: MIX
- View: MIXAL
- View: Devices
Эти переключатели доступны при работе
gmixvm
в режиме с разделением и позволяют включать и выключать показ соответствующих оконgmixvm
.
- Debug: Run
- Выполняет загруженную в данный момент программу MIX до следующей точки
останова. Эквивалентно команде
mixvm
run
(see section 6.2.2 Команды отладки).
- Debug: Next
- Выполняет следующую инструкцию MIX. Эквивалентно команде
mixvm
next
(see section 6.2.2 Команды отладки).
- Debug: Clear breakpoints
- Снимает все установленные в данный момент точки останова. Эквивалентно
команде
mixvm
cabp
.
- Debug: Symbols...
- Открывает диалог со списком определённых в загруженной программе MIX
символов.
- Settings: Colors...
- Позволяет изменить цвета, отмечающие текущую строку кода и строки точек останова на вкладке MIXAL, равно как и цвет остальных строк исходного кода.
- Settings: Change font
- Позволяет изменить шрифты, используемые в различных виджетах (командной приглашение, лог команд, MIX, MIXAL и устройства).
- Settings: Device output...
- Открывает диалог, позволяющий задать формат, используемый для вывода
содержимого двоичных блоковых устройств MIX.
Возможные форматы: десятичный (-1234) и слово MIX (- 00 00 00 19 18).
- Settings: Devices dir...
- Открывает диалог, позволяющий выбрать расположение файлов устройств MIX
(по умолчанию `~/.mdk').
Вы можете также задать каталог устройств командой
mixvm
sddir
(see section 6.2.4 Команды конфигурирования).
- Settings: External programs...
- Эта команда меню открывает диалог, позволяющий задать команды, используемые
для редактирования и компиляции исходных файлов на MIXAL.
Команды задаются в виде строк-шаблонов, где вместо управляющей подстроки
%s
будет подставлено реальное имя файла. Так, если вы хотите редактировать программы редакторомvi
, запущенным вxterm
, вы должны ввести в соответствующем поле диалога шаблон командыxterm -e vi %s
. Эти настройки могут также быть изменены командамиmixvm
sedit
иsasm
(see section 6.2.4 Команды конфигурирования).
- Settings: Save
- Сохраняет текущие настройки.
- Settings: Save on exit
- Отметьте этот переключатель, если вы хотите, чтобы
gmixvm
сохраняла свои настройки при каждом завершении работы.
- Help: About...
- Выводит информацию о версии и авторских правах
gmixvm
.
В то же время, строка статуса показывает имя последнего загруженного файла MIX. Кроме того, если указатель мыши находится над строкой исходного файла на MIXAL, содержащей символы, в строке статуса появляется список этих символов и их значений.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June, 9 2003 using texi2html