Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы с ответами ЯП.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
231.17 Кб
Скачать

9) Система команд процессора (на примере е97).

Команды процессора E97 можно разделить на :

  1. безадресные (без операндов). Безадресная команда имеет формат

Третий полубайт (отсчет ведется справа налево), как и в других командах, занимает код операции (КОП) — то действие, которое необходимо выполнить. Другие полубайты могут содержать все, что угодно, так как они не задействованы; по традиции туда записывают нули.

К безадресным относятся команды нет операции (0) и стоп (F). Согласно принятым соглашениям в полной форме эти команды запишутся так:

  • 0000 (нет операции);

  • 0F00 (стоп).

Всякую программу обязательно должна завершать команда СТОП.

  1. двухадресные (с двумя операндами). Двухадресная команда имеет формат

На приведенной схеме модификатор (МОД) — некоторый вспомогательный код; ОП1 и ОП2 — операнды в команде.

Вот список таких команд

Команда

Код

Команда

Код

Переписать

1

Логическое И (AND)

7

Сложить

2

Логическое ИЛИ (OR)

8

Вычесть

3

ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)

9

Сравнить

4

Ввести в порт

A

Умножить

5

Вывести из порта

B

Разделить

6

 

Действия выполняются по схеме ОП2 операция ОП1 ==> ОП2. Как видно из схемы, конечный результат операции всегда помещается во второй операнд.

Особое место занимает операция сравнения: при ее выполнении содержимое операндов не изменяется, а действие ОП2 - ОП1 выполняется лишь для установления значений управляющих битов Z и N регистра состояния PS.

В каждой из указанных здесь команд значение МОД (модификатора) равно нулю. Модификатор может быть отличен от нуля, об этом — позднее.

Приведем примеры использования команд.

1) 0123 — переслать содержимое регистра R2 в регистр R3, содержимое R2 сохраняется;

2) 0534 — умножить содержимое регистра R3 на содержимое ячейки памяти, адрес которой указан в регистре R0, результат поместить в эту ячейку памяти.

  1. одноадресные (с одним операндом).

КОП ОП1 комментарии

E1 NOT оп1

E2 оп1 ==> стек

E3 стек ==> оп1

E4 SP + оп1 ==> SP

E5 SP - оп1 ==> SP

E6 оп1 ==> SP

E7 SP ==> оп1

E8 0 PS ==> стек

E9 0 стек ==> PS

EA сдвиг влево оп1

EB сдвиг вправо op1

EC арифметический сдвиг вправо оп1

10) Основной алгоритм работы процессора. Способы адресации данных (на примере е97).

основной алгоритм работы процессора:

  1. считывается команда из оперативной памяти по адресу, указанному в счетчике команд, и записывается в регистр команд;

  2. счетчик команд автоматически увеличивается так, чтобы он содержал адрес следующей команды (в E97 автоматически увеличивается на 2);

  3. содержимое регистра команд дешифруется, из памяти выбираются необходимые данные, и выполняется указанное действие. В случае необходимости результат записывается в ОЗУ;

  4. осуществляется переход к п. 1.

Согласно этому алгоритму процессор исполняет программу до тех пор, пока не встретится команда СТОП.

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

 

Код операнда

Регистр

Регистровая адресация

Косвенная адресация

R0

0

4

R1

1

5

R2

2

6

R3

3

7

Условным обозначением косвенной адресации, в отличие от регистровой, служит название регистра, заключенное в круглые скобки. Например (R2).

Кроме рассмотренных способов адресации имеется еще адресация по командному счетчику PC. Если в качестве операнда указано значение D, то соответствующий операнд входит непосредственно в команду и расположен в ОЗУ по следующему за командой адресу; если — E, то по следующему за командой адресу указан адрес, где хранится величина. Более подробно об этих способах адресации — в примерах.