Окна основных обозревателей системы
2.1.1Окно Процессор
Окно Процессор(рис. 4) обеспечивает доступ ко всем регистрам и флагам процессора.
Рис.4. Окно Процессор
· Программно-доступные регистры и флаги:
o Асс — аккумулятор АЛУ;
o PC — счетчик адреса команды, содержащий адрес текущей команды;
o SP — указатель стека, содержащий адрес верхушки стека;
o RB — регистр базового адреса, содержащий базовый адрес;
o RA — регистр адреса, содержащий исполнительный адрес при косвенной адресации;
o IR — входной регистр;
o OR — выходной регистр;
o I — флаг разрешения прерываний.
· Системные регистры и флаги:
o DR — регистр данных АЛУ, содержащий второй операнд;
o MDR — регистр данных ОЗУ;
o MAR — регистр адреса ОЗУ;
o RDR — регистр данных блока РОН;
o RAR — регистр адреса блока РОН;
o CR — регистр команд, содержащий поля: D COP — код операции;
o ТА — тип адресации;
o ADR — адрес или непосредственный операнд;
o Z — флаг нулевого значения Асе;
o S — флаг отрицательного значения Асс;
o OV — флаг переполнения.
Регистры Асс, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC, SP, RA и RB — 3 разряда. В окне Процессоротражаются текущие значения регистров и флагов, причем в состоянии Остановвсе регистры, включая регистры блока РОН, и флаги (кроме флага I) доступны для непосредственного редактирования.
Элементы управления окна Процессорвключают меню и кнопки, вызывающие команды:
· Сохранить;
· Загрузить;
· Reset;
· Reset R0-R9(только команда меню Работа).
Команды Сохранить, Загрузитьпозволяют сохранить текущее значение регистров и флагов процессора в файле и восстановить состояние процессора из файла. Команда Resetи кнопка R устанавливают все регистры (в т. ч. блок РОН) в начальное (нулевое) значение. Содержимое ячеек памяти при этом не меняется. Выполняемая лишь из меню Работакоманда Reset R0-R9очищает только регистры блока РОН.
2.1.2 Окно Память
Окно Память(рис. 5) отражает текущее состояние ячеек ОЗУ. В этом окне допускается редактирование содержимого ячеек, кроме того, предусмотрена возможность выполнения (через меню или с помощью кнопок панели инструментов) пяти команд:
- Сохранить,
- Загрузить,
- Перейти к,
- Вставить,
- Убрать.
Команды Сохранить, Загрузитьво всех окнах, где они предусмотрены, работают одинаково — сохраняют в файле текущее состояние объекта (в данном случае памяти) и восстанавливают это состояние из выбранного файла, причем файл в каждом окне записывается по умолчанию с характерным для этого окна расширением.
Команда Перейти коткрывает диалоговое окно, позволяющее перейти на заданную ячейку ОЗУ.
Команда Убратьоткрывает диалог, в котором указывается диапазон ячеек с m по n. Содержимое ячеек в этом диапазоне теряется, а содержимое ячеек [(n + 1) : 999] перемещается в соседние ячейки с меньшими адресами. Освободившиеся ячейки с адресами 999, 998, ... заполняются нулями.
Рис. 5. Окно Память
Команда Вставить,позволяющая задать номера ячеек, перемещает содержимое всех ячеек, начиная от m-йна n-m позиций в направлении больших адресов, ячейки заданного диапазона [ m : n ] заполняются нулями, а содержимое последних ячеек памяти теряется.
2.1.3 Окно Текст программы
Окно Текст программы(рис. 6) содержит стандартное поле текстового редактора, в котором можно редактировать тексты, загружать в него текстовые файлы и сохранять подготовленный текст в виде файла.
Команды меню Файл:
· Новая— открывает новый сеанс редактирования;
· Загрузить— открывает стандартный диалог загрузки файла в окно редактора;
· Сохранить— сохраняет файл под текущим именем;
· Сохранить как— открывает стандартный диалог сохранения файла;
· Вставить— позволяет вставить выбранный файл в позицию курсора.
Все перечисленные команды, кроме последней, дублированы кнопками на панели инструментов окна. На той же панели присутствует еще одна кнопка — Компилировать,которая запускает процедуру ассемблирования текста в поле редактора.
Ту же процедуру можно запустить из меню Работа.
Команда Адрес вставкипозволяет задать адрес ячейки ОЗУ, начиная с которой программа будет размещаться в памяти. По умолчанию этот адрес принят равным 0.
Ниже области редактирования в строку состояния выводится позиция текущей строки редактора — номер строки, в которой находится курсор.
Рис. 6. Окно Текст программы
В случае обнаружения синтаксических ошибок в тексте программы диагностические сообщения процесса компиляции выводятся в окно сообщений и запись в память кодов (даже безошибочного начального фрагмента программы) не производится.
После исправления ошибок и повторной компиляции выдается сообщение об отсутствии ошибок, о расположении и размере области памяти, занятой под ассемблированную программу.
Правила ввода текстов программ:
1.Набор текста программы производится по стандартным правилам языка ассемблера.
2.Мнемонический код операции отделяется от операндов пробелом.
3.Мнемокод должен быть записан только заглавными буквами.
4.В каждой строке может содержаться метка, одна команда и комментарий.
5.Метка отделяется от команды двоеточием, символы после знака "точка с запятой" до конца строки игнорируются компилятором и могут рассматриваться как комментарии.
6.Строка может начинаться с ; и, следовательно, содержать только комментарии.
2.1.4. Окно Программа
Окно Программа(рис. 7) отображает таблицу, имеющую 300 строк и 4 столбца. Каждая строка таблицы соответствует дизассемблированной ячейке ОЗУ. Второй столбец содержит адрес ячейки ОЗУ, третий — дизассембли-рованный мнемокод, четвертый — машинный код команды. В первом столбце может помещаться указатель --> на текущую команду (текущее значение PC) и точка останова — красная заливка ячейки.
Рис. 7. Окно Программа
Окно Программапозволяет наблюдать процесс прохождения программы. В этом окне ничего нельзя редактировать. Органы управления окна позволяют сохранить содержимое окна в виде текстового файла, выбрать начальный адрес области ОЗУ, которая будет дизассемблироваться (размер области постоянный — 300 ячеек), а также установить/снять точку останова. Последнее можно проделать тремя способами: командой Точка остановаиз меню Работа,кнопкой на панели инструментов или двойным щелчком мыши в первой ячейке соответствующей строки. Характерно, что прочитать в это окно ничего нельзя. Сохраненный текстовый asm-файл можно загрузить в окно Текст программы,ассемблировать его и тогда дизассемблированное значение заданной области памяти автоматически появится в окне Программа.Такую процедуру удобно использовать, если программа изначально пишется или редактируется непосредственно в памяти в машинных кодах.
Начальный адрес области дизассемблирования задается в диалоге командой Начальный адресменю Работа.
2.1.5 Окно Микрокомандный уровень
Окно Микрокомандный уровень(рис. 8) используется только в режиме микрокоманд, который устанавливается командой Режим микрокомандменю Работа. В это окно выводится мнемокод выполняемой команды, список микрокоманд, ее реализующих, и указатель на текущую выполняемую микрокоманду.
Шаговый режим выполнения программы или запуск программы в автоматическом режиме с задержкой командного цикла позволяет наблюдать процесс выполнения программы на уровне микрокоманд.
Если открыть окно Микрокомандный уровень,не установив режим микрокоманд в меню Работа, то после начала выполнения программы в режиме Шаг(или в автоматическом режиме) в строке сообщений окна будет выдано сообщение "Режим микрокоманд неактивен".
Рис. 8. Окно Микрокомандный уровень