Программная модель 32-разядной МЭВМ фирмы Motorola
Рефераты >> Программирование и компьютеры >> Программная модель 32-разядной МЭВМ фирмы Motorola

Команды EXG и SWAP

Команда EXG (exchange) осуществляет обмен содержимого двух регистров, в то время как команда SWAP обменивает младшее слово в регистре данных со старшим словом. Подразумевается, что размерность операнда для EXG - длинное слово, для SWAP - слово.

Команды LEA и PEA

Команда LEA (load effective address) перемещает адрес операнда-источника (а не его содержимое) в адресный регистр - приёмник. Следовательно, команда

MOVEA.L #OPER,A1

эквивалентна команде

LEA OPER,A1

Команда PEA (push effective address) записывает адрес операнда-источника в стек системы. Эта команда обычно используется для передачи адресов параметра в подпрограмму через стек. Операндами-источниками для обеих команд LEA и PEA должны быть операнды памяти.

В качестве некоторой иллюстрации к описанным командам, предположим, что мы хотим записать несложную последовательность команд, которая будет перемещать 4 длинных слова из массива ABC в начало массива XYZ. Простая последовательность, выполняющая это, следующая:

MOVE.L ABC,XYZ

MOVE.L ABC+4,XYZ+4

MOVE.L ABC+8,XYZ+8

MOVE.L ABC+12,XYZ+12

Те же действия могут быть выполнены двумя командами:

MOVEM ABC,D0-D3

MOVEM D0-D3,XYZ

Ещё один способ иллюстрируется следующей последовательностью команд:

MOVEA.L #ABC,A1

MOVEA.L #XYZ,A2

MOVE.L (A1)+,(A2)+

MOVE.L (A1)+,(A2)+

MOVE.L (A1)+,(A2)+

MOVE.L (A1)+,(A2)+

В этом способе, использующем постинкрементный способ адресации, одна и та же команда MOVE.L повторяется для перемещения последующих элементов. Следовательно, эта последовательность команд может быть легче преобразована в итерационный цикл для перемещения большого числа элементов между двумя массивами.

Результатом проектирования является программная модель, наиболее точно реализующая все вышеперечисленные особенности микропроцессора MC 68300. Особое внимание уделено способам адресации, в частности программная модель реализует 14 способов адресации предусмотренных в микропроцессоре, возможности ввода данных в различных системах счисления, в частности в системах по основанию 2, 10, 16. Общую структуру программы для наглядности можно представить на рисунке 2:

Ввод

данных

Рисунок 2 – Общая структура программы.

Модуль интерпретатора реализует следующие функции:

- проверку на наличие ошибок в синтаксисе команд, введённых пользователем,

- приведение всех операндов к системе счисления с основанием 16,

- возможность просмотра эффективного адреса операндов (ЕА);

- приведение всех команд к форме, понятной обработчику.

Модуль обработки команд, по желанию пользователя может осуществлять как выполнение всей программы, так и её пошаговую трассировку и осуществляет выполнение команд в соответствии с их мнемокодом.

После обработки команд, у пользователя есть возможность просмотра результата их выполнения, т.е. активным становится модуль интерфейса.

5. Интерфейс, органы управления

После запуска программы пользователь получает доступ к графическому интерфейсу, позволяющему осуществлять ввод, корректировку и вывод данных в диалоговом режиме (рис.1).

Программная модель поддерживает два режима работы: супервизора и пользователя, каждый из которых характеризуется своим множеством операций. После запуска программы появляется окно, позволяющее пользователю выбрать режим работы. В пользовательском режиме процессор работает с определёнными ограничениями. Хотя большинство команд микропроцессора выполняется одинаково в обоих режимах, некоторые команды, вызывающие особые действия в системе, в пользовательском режиме запрещены.

Рис. 3

Основной экран программы состоит из двух окон: окно для ввода текста программы (диалоговое окно) и окно отладчика, в котором отражается адрес команды в памяти, положение указателя стека, мнемоника команды и её машинный код. Программная модель обладает возможностью просмотра и корректировки промежуточных результатов выполнения микропроцессорных программ. Для этой цели в неё включены возможности просмотра содержимого регистров микропроцессора. Осуществляется это путём выбора соответствующего подменю в выпадающем меню PopUp (Просмотр/Регистры). Микропроцессор имеет 17 32-разрядных регистров (восемь регистров данных, семь адресных регистров и два указателя стека). Кроме того, в нём есть 32-разрядный счётик команд, в котором используются только младшие 24 разряда. Регистр состояния микропроцессора имеет 16 разрядов. Все эти регистры отображены в соответствующем окне (рис. 2). Закрыть окна просмотра регистров можно щёлкнув на системную иконку закрытия окна или же выбрав в меню пункт “Окно”, ”Закрыть все”

Переключение между режимами осуществляется путём выбора соответствующего режима в меню “Режим”. При переключении между режимами все данные, введённые пользователем должны быть сохранены, о чём появится соответствующая подсказка.

Рис. 4

Программная модель предоставляет пользователю возможность работы с файлами. Для этой цели в меню “Файл” необходимо выбрать нужное действие (Создание нового программного листа, открытие уже существующего, сохранение редактируемого, его закрытие). Здесь также существует возможность выхода из программы, все в дальнейшем необходимые данные должны быть предварительно сохранены.

В меню “Пуск” отражены команды, управляющие выполнением и отладкой микропроцессорных программ. Команда “Выполнить” выполняет программу из диалогового окна. Команда “Останов” прерывает выполнение программы. Команда “Ассемблирование” переводит мнемонику команд в ассемблерный код, который также отображается в соответствующем окне. Команда “Дизассемблирование” наоборот переводит машинный код в мнемонику, понятную пользователю. Команда “Трассировка” позволяет выполнять программу в пошаговом режиме, что может быть полезно для уяснения тонкостей алгоритма выполнения программы, а также может использоваться для устранения ошибок в программном коде.

В меню также существует пункт “Помощь”, где пользователь сможет найти всю интересующую его информацию по работе программной модели, устройству микропроцессора и его системе команд.

Для облегчения работы, наиболее часто выполняемые операции вынесены на панель инструментов.

6. Применение программной модели.

Программная модель дает широкие и удобные возможности для набора и отладки учебных программ (к примеру, может быть возможен одновременный просмотр всех регистров, памяти, ввод команд в мнемонических обозначениях, ассемблирование команд и т. д.).

Применение программной модели дает значительную экономию времени и сил, за счет более удобной отладки и набора программы. Посредством разработанной программы студентам предоставляется возможность изучить различные способы адресации, систему команд и устройство MC 68300.


Страница: