| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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] | [ ? ] |
gmixvm Если вы собрали MDK с поддержкой GTK+ (see section 1. Установка MDK), в вашей системе будет доступен графический интерфейс виртуальной машины MIX. Вы можете вызвать его вводом:
gmixvm [-vhuq] [--version] [--help] [--usage] [--noinit] |
~/.mdk/mixguile.scm.
Этот файл содержит весь локальный код Scheme, выполняемый встроенным
интерпретатором Guile при запуске (see section 3.5 Использование Scheme в mixvm и gmixvm).
При вводе в командной строке gmixvm или gmixvm -q
появится главное окно, предоставляющее графический интерфейс для
запуска и отладки программ MIX.
Мы выделяем две части главного окна (не считая меню и строки статуса).
В верхней половине главного окна gmixvm находится "блокнот"
с тремя страницами, а именно:
Приложение может работать в двух режимах: без разделения (вышеописанные
окна находятся в блокноте в главном окне) или с разделением (окна
находятся вне главного и могут быть показаны или скрыты индивидуально).
Режим просмотра может быть выбран соответствующей командой меню
View.
Приведём слепок экрана, показывающий, как выглядит gmixvm при
запуске в режиме с разделением:
В то же время нижняя половина главного окна содержит командное
приглашение mixvm и область ведения лога, где находятся
результаты выполнения команд (в режиме с разделением они
занимают всё пространство главного окна между меню и строкой статуса).
Они реализуют консоль mixvm, предоставляющую почти те же
возможности, что и соответствующая консоль CLI.
При запуске gmixvm она создаёт каталог `.mdk' в домашнем
каталоге (если он ещё не существует). Каталог `.mdk' содержит
настройки программы, файлы устройств, используемые программами MIX
(see section 6.3 Блочные устройства MIX) и файл истории команд.
Следующие разделы описывают вышеупомянутые компоненты gmixvm.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
В нижней половине главного окна 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] | [ ? ] |
Первая страница блокнота показывает текущее состояние виртуальной машины. Там вы обнаружите содержимое регистров, значение флагов сравнения и переполнения, указатель положения, список всех ячеек памяти MIX и их содержимое, а также статистику времени выполнения (включая общее время работы, время, прошедшее после последней команды запуска, и общее время выполнения загруженной программы MIX).
При щелчке по любому регистру будет выдано приглашение ввести новое значение регистра.
Следующий рисунок показывает диалог ввода слова.
Аналогично, щелчок по любому адресу в списке ячеек памяти приведёт к выдаче приглашения ввести новое содержимое этой ячейки. При щелчке по заголовку колонки адресов появится диалог ввода адреса памяти, если вы введёте при этом верный адрес, после нажатия кнопки OK отображаться в списке будут ячейки, начиная с этого адреса.
Следующий рисунок показывает диалог ввода адреса.
Содержимое регистров показывается как список байтов MIX со знаком. При наведении на любой из этих элементов указателя мыши показывается десятичное значение слова MIX.
Вы можете изменить шрифт, используемый для вывода содержимого виртуальной машины MIX командой меню Settings->Change font->MIX.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Вторая страница блокнота, называющаяся MIXAL, содержит исходный код на MIXAL загруженного в данный момент файла MIX.
Информация представлена в двух колонках. Первая показывает адреса и содержимое памяти, в которой находятся скомпилированные инструкции MIX, а вторая показывает соответствующе представление на MIXAL, включая номер строки исходного файла. Текущее положение счётчика программы подкрашено серым, а все точки останова -- красным. Вы можете устанавливать и снимать точки останова, щёлкая в этой окне по строке с соответствующим адресом.
Используемые для отметки счётчика положения и точек останова цвета настраиваются командой меню Settings->Colors... При щелчке по этому пункту меню появится диалог, показывающий установленные в данный момент цвета строк. Следующий рисунок показывает диалог изменения цветов.
Щелчок по любому цвету выдаст диалог выбора цвета для данного элемента. Таким образом вы можете изменить цвета фона и тона, используемые для прорисовки текущей строки, строк точек останова и остальных строк кода на MIXAL.
Вы можете изменить шрифт, используемый для исходного кода на MIXAL, командой меню Settings->Change font->MIXAL.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Последняя страница блокнота, называемая 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] | [ ? ] |
Меню даёт доступ к следующим командам:
mixvm load
(see section 6.2.1 Файловые команды).
mixvm edit
(see section 6.2.1 Файловые команды). Используемая для редактирования команда
может быть задана в пункте меню Settings->External programs
или командой mixvm sedit.
mixvm compile
(see section 6.2.1 Файловые команды). Используемая для компиляции команда
может быть задана в пункте меню Settings->External programs
или командой mixvm sasm.
gmixvm
(в режиме с разделением будет несколько окон и, соответственно, несколько
панелей).
Эти переключатели доступны при работе gmixvm в режиме с
разделением и позволяют включать и выключать показ соответствующих окон
gmixvm.
Изменяет режим: одно окно либо раздельные окна.
mixvm run (see section 6.2.2 Команды отладки).
mixvm
next (see section 6.2.2 Команды отладки).
mixvm cabp.
Возможные форматы: десятичный (-1234) и слово MIX (- 00 00 00 19 18).
Вы можете также задать каталог устройств командой mixvm
sddir (see section 6.2.4 Команды конфигурирования).
Команды задаются в виде строк-шаблонов, где вместо управляющей подстроки
%s будет подставлено реальное имя файла. Так, если вы хотите
редактировать программы редактором vi, запущенным в xterm,
вы должны ввести в соответствующем поле диалога шаблон команды
xterm -e vi %s. Эти настройки могут также быть изменены
командами mixvm sedit и sasm (see section 6.2.4 Команды конфигурирования).
gmixvm
сохраняла свои настройки при каждом завершении работы.
gmixvm.
В то же время, строка статуса показывает имя последнего загруженного файла MIX. Кроме того, если указатель мыши находится над строкой исходного файла на MIXAL, содержащей символы, в строке статуса появляется список этих символов и их значений.
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |