Программная модель 32-разрядного микропроцессора фирмы Motorola


Команды 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 – Общая структура программы.




Начало  Назад  Вперед