Окна основных обозревателей системы
Окно Процессор(рис. 8.4) обеспечивает доступ ко всем регистрам и флагам процессора.
Рис. 1.2. Окно Процессор
□ Программно-доступные регистры и флаги:
• Асс – аккумулятор;
• PC – счетчик адреса команды, содержащий адрес текущей команды;
• SP – указатель стека, содержащий адрес верхушки стека;
• RB – регистр базового адреса, содержащий базовый адрес;
• RA– регистр адреса, содержащий исполнительный адрес при косвенной адресации;
• IR – входной регистр;
• OR – выходной регистр;
• I – флаг разрешения прерываний.
□ Системные регистры и флаги:
• DR — регистр данных АЛУ, содержащий второй операнд;
• MDR — регистр данных ОЗУ;
• MAR — регистр адреса ОЗУ;
• RDR — регистр данных блока РОН;
• RAR — регистр адреса блока РОН;
• CR — регистр команд, содержащий поля: СОР — код операции, ТА – тип адресации, ADR — адрес или непосредственный операнд;
• Z — флаг нулевого значения Асс;
• S — флаг отрицательного значения Асс;
• O – флаг переполнения.
Регистры Асс, DR, 1R, OR, CR и все ячейки ОЗУ и РОН имеют длину 6 десятичных разрядов, регистры PC, SP, RA и RB – 3 разряда.
В окне Процессоротражаются текущие значения регистров и флагов, причем в состоянии Останов все регистры, включая регистры блока РОН, и флаги (кроме флага I) доступны для непосредственного редактирования.
Элементы управления окна Процессор включают меню и кнопки, вызывающие команды:
-Сохранить;
- Загрузить;
- Reset;
- Reset R0-R9 (только команда меню Работа).
Команды Сохранить, Загрузить позволяют сохранить текущее значение регистров и флагов процессора в файле и восстановить состояние процессора из файла.
Команда Reset и кнопка R устанавливают все регистры (в т. ч. блок РОН) в начальное (нулевое) значение. Содержимое ячеек памяти при этом не меняется. Выполняемая лишь из меню Работа команда Reset R0-R9 очищает только регистры блока РОН.
Окно Память(рис. 1.3) отражает текущее состояние ячеек ОЗУ. В этом окне допускается редактирование содержимого ячеек, кроме того, предусмотрена возможность выполнения (через меню или с помощью кнопок панели инструментов) пяти команд: Сохранить, Загрузить, Перейти к, Вставить, Убрать.
Команды Сохранить, Загрузить во всех окнах, где они предусмотрены, работают одинаково – сохраняют в файле текущее состояние объекта (в данном случае памяти) и восстанавливают это состояние из выбранного файла, причем файл в каждом окне записывается по умолчанию с характерным для этого окна расширением.
Команда Перейти к открывает диалоговое окно, позволяющее перейти на заданную ячейку ОЗУ.
Команда Убрать открывает диалог, в котором указывается диапазон ячеек с m по n. Содержимое ячеек в этом диапазоне теряется, а содержимое ячеек [(n + 1): 999] перемещается в соседние ячейки с меньшими адресами. Освободившиеся ячейки с адресами 999, 998,... заполняются нулями.
Рис. 1.3. Окно Память
Команда Вставить,позволяющая задать номера ячеек, перемещает содержимое всех ячеек, начиная от m-й на п-т позиций в направлении больших адресов, ячейки заданного диапазона [m : n] заполняются нулями, а содержимое последних ячеек памяти теряется.
Окно Текст программы (рис.1.4) содержит стандартное поле текстового редактора, в котором можно редактировать тексты, загружать в него текстовые файлы и сохранять подготовленный текст в виде файла.
Команды меню Файл:
Новая — открывает новый сеанс редактирования;
Загрузить — открывает стандартный диалог загрузки файла в окно редактора;
Сохранить — сохраняет файл под текущим именем;
Сохранить как — открывает стандартный диалог сохранения файла;
Вставить — позволяет вставить выбранный файл в позицию курсора.
Все перечисленные команды, кроме последней, дублированы кнопками на панели инструментов окна. На той же панели присутствует еще одна кнопка – Компилировать, которая запускает процедуру ассемблирования текста в поле редактора.
Ту же процедуру можно запустить из меню Работа.
Команда Адрес вставкипозволяет задать адрес ячейки ОЗУ, начиная с которой программа будет размещаться в памяти. По умолчанию этот адрес принят равным 0. Ниже области редактирования в строку состояния выводится позиция текущей строки редактора – номер строки, в которой находится курсор.
Рис. 1.4. Окно Текст программы
В случае обнаружения синтаксических ошибок в тексте программы диагностические сообщения процесса компиляции выводятся в окно сообщений и запись в память кодов (даже безошибочного начального фрагмента программы) не производится.
После исправления ошибок и повторной компиляции выдается сообщение об отсутствии ошибок, о расположении и размере области памяти, занятой под ассемблированную программу.
Набор текста программы производится по стандартным правилам языка ассемблера. В каждой строке может содержаться метка, одна команда и комментарий. Метка отделяется от команды двоеточием, символы после знака "точка с запятой" до конца строки игнорируются компилятором и могут рассматриваться как комментарии. Строка может начинаться с ; и, следовательно, содержать только комментарии.
Окно Программа (рис.1.5) отображает таблицу, имеющую 300 строк и 4 столбца. Каждая строка таблицы соответствует дизассемблированной ячейке ОЗУ. Второй столбец содержит адрес ячейки ОЗУ, третий – дизассемблированный мнемокод,
четвертый – машинный код команды. В первом столбце может помещаться указатель -> на текущую команду (текущее значение PC) и точка останова – красная заливка ячейки-
Рис. 1.5. Окно Программа
Окно Программапозволяет наблюдать процесс прохождения программы. В этом окне ничего нельзя редактировать. Органы управления окна позволяют сохранить содержимое окна в виде текстового файла, выбрать начальный адрес области ОЗУ, которая будет дизассемблироваться (размер области постоянный — 300 ячеек), а также установить/снять точку останова. Последнее можно проделать тремя способами: командой Точкаостанова из меню Работа,кнопкой на панели инструментов или двойным щелчком мыши в первой ячейке соответствующей строки. Характерно, что прочитать в это окно ничего нельзя. Сохраненный текстовый asm-файл можно загрузить в окно Текст программы,ассемблировать его и тогда дизассемблированное значение заданной области памяти автоматически появится в окне Программа.Такую процедуру удобно использовать, если программа изначально пишется или редактируется непосредственно в памяти в машинных кодах. Начальный адрес области дизассемблирования задается в диалоге командой Начальный адрес меню Работа.
Дата добавления: 2015-04-07; просмотров: 795;