Скачиваний:
21
Добавлен:
11.05.2015
Размер:
1.07 Mб
Скачать

3.3. Группы операций в системе команд

Команда предписывает операцию и указывает операнды, участвующие в операции. Операция задается кодом.

Множество операций разделяется на следующие группы:

1) Основные;

2) Посылочные; KOP PZ A - формат команды

3) Управления.

Основные операции используются для преобразования информации, то есть выполнения арифметических действий, например, сложить, вычесть, и логических действий, например, И, ИЛИ, исключающее ИЛИ. Именно эта группа операций проверяет условия переходов, указанные в командах управления.

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

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

АО - арифметические операции, выполняют сложение, вычитание, умно­жение, деление содержимого итогового регистра АЛУ и R АЛУ. Если АО имеют признак PZ=1, то есть 01.1.А, 02.1.А, 03.1.А, 04.1.А, то происходит запись с итогового регистра АЛУ в память по адресу, указанному в поле адреса. Если же признак 0, то результат арифметической операции остается на итоговом регистре АЛУ (PZ=0).

ПО - посылочные операции (код 05.PZ.А). Выполняют обмен между памятью системы (RS) и АЛУ (RG). Направление обмена определено признаком засылки (PZ). Для PZ = 1 (код 05.1.А)  передача типа ОЗУ[A]:= RG, происходит запись содержимого регистра RG в ОЗУ по адресу А. При PZ=0 (код 05.0.А) - обмен RG:= ОЗУ[A].

БП - безусловный переход (код 06.PZ.А) выполняет переход к адресу ОЗУ, ука­занному непосредственно в команде, независимо от значения признака PZ (СТАК:=A ).

ЗН - переход по знаку результата (код 07.PZ.А). Выполняет условный переход к адресу программной памяти (СТАК:=А) по знаку результата в зависимости от кода PZ и значения признака ZNAK, формируемого при обращении к АЛУ. Если код PZ совпадает со значением признака ZNAK: 0 - для положительного, 1 - для отрицательного значения итогового регистра АЛУ, то выполняется переход к команде с адресом А. В противном случае сохраняется естественный порядок следования команд, то есть СТАК:=СТАК+1.

НУ - переход по нулевому признаку (код 08.PZ.А). Выполняет условный переход к адресу ОЗУ (СТАК:= А), если результат итогового регистра АЛУ совпадает со значением признака PZ : 0 - когда на итоговом регистре не нулевой результат, 1 - нулевой, то осуществляется переход к команде с адресом А (СТАК:= А), иначе  СТАК:=СТАК+1.

HALT - останов, код 10000 - конец программы.

Стоп - указание оператора машины.

Таблица 3.1

Группы операций

КОП

PZ

Действие

Арифметические

операции (АО)

KOP.PZ.A

+

+

01

01

0

1

RG:= RG + ОЗУ (A)

RG:= RG + ОЗУ (A), ОЗУ (A):= RG;

-

-

02

02

0

1

RG:= RG - ОЗУ (A)

RG:= RG - ОЗУ (A), ОЗУ (A):= RG;

*

*

03

03

0

1

RG:= RG * ОЗУ (A)

RG:= RG * ОЗУ (A), ОЗУ (A):= RG;

/

/

04

04

0

1

RG:= RG / ОЗУ (A)

RG:= RG / ОЗУ (A), ОЗУ (A):= RG;

Посылочные операции (ПО)

MOV

05

05

0

1

RG:= ОЗУ (A)

ОЗУ (A):= RG;

Таблица 3.2

Группы операций

КОП

PZ

Действие

Безусловный переход (БП)

BR

06

0

CTAK := A

Переход по

знаку

результата (ЗН)

BPL

BMI

07

07

0

1

СТАК := A, Если PZ = ЗНАК = 0

СТАК:= СТАК + 1, Если PZ <> ЗНАК; СТАК:= A , Если PZ = ЗНАК = 1

СТАК:= СТАК + 1, Если PZ <> ЗНАК;

Переход по нулевому

результату (НУ)

BNE

BEQ

08

08

0

1

СТАК:= A, Если PZ = НУЛЬ = 0

СТАК:= СТАК + 1, Если PZ <> НУЛЬ;

СТАК:= A, Если PZ = НУЛЬ = 1

СТАК:= СТАК + 1, Если PZ <> НУЛЬ;

Таблица 3.3

Группы операций

КОП

PZ

Адрес

Действие

Подпрограмма (ПП)

Обращение к ПП

Возврат из ПП

JSR

RTS

09

09

0

1

АА

00

ST1:= СТАК ,СТАК:= A;

СТАК:= ST1;

Останов

HALT

10

0

00

Прекращение работы;

Внешнее устройство (ВУ)

Ввод из ВУ

Вывод в ВУ

GVV

GVIV

11

11

0

1

АА

АА

RG:= ВУ (A);

ВУ (A):= RG;

В данной модели, в отличие от реального процессора, нет перехода по переполнению. Вследствие того, что модель является учебной, главной целью стоит обучение пользователя основам построения и принципам работы ЭВМ /14/.

В процессе работы модели происходит проверка на переполнение итого­вого регистра АЛУ. Если содержимое АКК превышает число 999 или меньше -999, то прерывания программы не происходит, как в реальном процессоре, а пользователь может продолжить обучение на модели, но уже с двумя нижними разрядами от значения, находившегося на итоговом регистре АЛУ или, если нужен точный результат, ввести программу заново. Поэтому для модели учебной ЭВМ нет необходимости в операции – "переход по переполнению".

Соседние файлы в папке AOS1_NEW
  • #
    11.05.20151.07 Mб21INFO.DOC
  • #
    11.05.20153.75 Кб17README.TXT
  • #
    11.05.2015584 б16sampe_prog.bsp
  • #
    11.05.2015198 б16sample_prog.bsd
  • #
    11.05.201537 б16sample_prog.bsdpd