Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0_МПиИСТС_Все главы.doc
Скачиваний:
518
Добавлен:
27.03.2016
Размер:
10.5 Mб
Скачать

7.1.5 Формат команд

В микропроцессоре используются три типа команд: безадресные, одноадресные и двухадресные. В безадресных командах код команды содержит только код операции. В кодах одноадресных и двухадресных команд обычно содержится информация, которая определяет:

- выполняемую функцию (код операции);

- регистры общего назначения, используемые при выборке операндов;

- метод адресации (способ использования выбранного РОН).

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

Регистры общего назначения могут быть использованы:

- как накопители (обрабатываемые данные хранятся в регистрах);

- как указатели адреса (регистр общего назначения содержит адрес операнда, а не сам операнд);

- как указатели адреса, содержимое которых изменяется автоматически с заданным шагом, что позволяет обращаться к последовательно расположенным ячейкам памяти. Автоматическое увеличение содержимого указателя при обращении к последовательно расположенным ячейкам памяти носит название автоинкрементной адресации. Автоматическое уменьшение содержимого указателя при обращении к последовательно расположенным ячейкам памяти носит название автодекрементной адресации. Эти методы могут быть использованы при обработке табулированных данных;

- как индексные регистры, содержимое которых прибавляется к индексному слову для вычисления адреса операнда. Это позволяет легко обращаться к различным элементам списка.

Использование автоинкрементного и автодекрементного методов адресации дает возможность организации стековой памяти. В качестве указателя стека программно может быть выбран любой РОН, однако определенные команды (используемые при обслуживании прерываний, обращении и возврате из подпрограмм) автоматически используют РОН R6 как аппаратный указатель стека.

Формат одноадресных команд (таких как очистка, инкрементирование) имеет следующий вид:

КОП

Метод

РОН

15

6

5

3

2

0

Рис. 7.6 Формат одноадресных команд

Разряды 15÷06 содержат код операции, который определяет выполняемую команду. Разряды 05÷00 образуют шестиразрядное поле, именуемое полем адресации операнда приемника, которое в свою очередь состоит из двух подполей:

а) разряды 02÷00 определяют один из восьми РОН, который использует данная команда;

б) разряды 05÷03 определяют способ использования выбранного регистра (метод адресации). Причем разряд 03 определяет прямую или косвенную адресации.

Операции над двумя операндами (такие, как сложение, пересылка, сравнение) выполняются с помощью команд, в которых имеются два адреса. Задание разрядов в поле адресации первого и второго операндов определяет различные методы и различные регистры общего назначения. Формат двухадресной команды имеет следующий вид:

КОП

Метод

РОН

Метод

РОН

15

12

11

09

08

06

05

03

02

00

Поле адресации операнда источника

Поле адресации операнда приемника

Рис. 7.7 Формат двухадресной команды

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

Команда может занимать от одного до трех слов, причем первое слово команды, содержащее код операции, называется командным словом.