Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labs_vsasoiu / Методичка по макету 1804 / АрхЭВМ_Лаб.Раб 2007_Часть1.doc
Скачиваний:
17
Добавлен:
10.02.2015
Размер:
1.43 Mб
Скачать

Система команд

Таблица 6

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

Мнемокод

КОП

Примечание

1

2

3

4

КОП --- S1 --- ---

УИ

0001

«Установка индекса»

ОП [S1]РИ

КОП R S1 --- ---

ПВ

0010

«Переход с возвратом»

(переход к подпрограмме)

РC  ОП[F.R]

ОП[S1]  PC

КОП --- S1 S2 S3

СЛ

0011

«Сложение с модификацией»

ОП[S1+i]+ОП[S2+i]  ОП[S3+i], i:=i-1

КОП --- S1 --- ---

ПУ

0100

«Переход условный по ненулевому индексу»

S1, если i0,

PC: =

PC+4, если i=0

КОП R --- --- ---

ПБК

0101

«Переход безусловный по косвенному индексу»

ОП[F.R]PC

КОП --- --- --- ---

Стоп

0110

«Останов»

«Стоп» Дисплей

КОП --- --- --- S3

Вв

0111

«Ввод байта»

Дисплей ОП[S3]

КОП --- S1 --- ---

Выв

0000

«Вывод байта»

ОП[S1]Дисплей

а в

«ВВОД»

УИ

ПВ

б

A:=S1

PA:=A

СТОП

A:=ОП[PA]

з

Дисплей:=A

стоп

ж

B:=РИ

«вывод»

B:=B

B:=F.R

1

PA:=B

A:=S1

0

A:=ОП[PA]

POH[1]:=A

POH[1]:=A

г д е

Сл ПУ ПБК

Рис. 5 Микропрограмма машинных операций

Эта микрооперация задает четыре старших двоичных разряда адреса шестнадцатеричной константой F(1111), а четыре младших разряда адреса берет из поля R команды ПВ. В нашем случае в поле R должен быть нуль, когда сформируется требуемый адрес;

в) «Установка индекса» (УИ) – используется при работе с массивами, а также при организации циклов. По этой команде значение индекса переписывается из ячейки памяти, адрес которой указан в поле S1, в индексный регистр (рис. 5в);

г) «Сложение с модификацией» (Сл) – команда выполняет операции Сi=Ai+Bi, причем операнды и результат хранятся в памяти. В полях S1, S2 и S3 команды Сл записаны начальные адреса соответствующих массивов А, В и С. Адреса элементов массивов определяются как сумма начального адреса массива и содержимого индексного регистра. При каждом выполнении команды содержимое индексного регистра уменьшается на единицу. В задаче и в машинной программе индексы массивов меняются от единицы до n, а в микропрограмме они должны меняться от нуля до (n-1), чтобы начальный адрес массива в теле команды соответствовал начальному элементу массива (рис. 5г). В микропрограмме используется микрооперация РОН[2]:=А. Она получается из микрооперации РОН [Т]:=РОН [Т]*А, где Т=2 (см. табл. 7) операции пересылки y – (см. табл. 1). Выбор Т=2 и операции пересылки А в РОН [2] выполняются с помощью управляющих сигналов y8, y11, y13,y15. Регистр РОН [2] используется для временного хранения первого операнда.

Примечание. В АЛУ выполняются микрооперации типа W:=X*Y, где X - первый операнд, Y - второй операнд, звездочка - арифметическая операция.

В нашем случае первым операндом будет РОН [Т], а вторым аккумулятор;

д) «Переход условный» (ПУ) – команда анализирует содержимое индексного регистра. Если оно равно нулю, то осуществляется переход к следующей команде, а если не равно, то выполняется переход к команде, адрес которой указан в поле S1 команды ПУ (рис. 5д). В микропрограмме необходимо проанализировать значение индекса на нуль, но признак нуля Z(как и все остальные признаки N, C, P) вырабатываются только в АЛУ, поэтому необходимо значение индекса пропустить через АЛУ. Для этого используется две микрооперации, В:=РИ и В:=В.