Файл: Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.06.2024

Просмотров: 103

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Трехадресная команда содержит код операции и три адреса:

А1 — адрес первого числа; А2 — адрес второго числа;

A3 — адрес ячейки, в которую отсылается результат вы­ полнения операции и запоминается в одной из ячеек памяти.

45-разрядная сетка электронной вычислительной машины на рис. 4—1 содержит:

kS

kk

kl

кг

3SS7

и

 

гег5гк

• •

ъ г я г

- і 4

 

0

[

МОП

 

 

0

 

 

 

 

 

• • •

 

 

A{

 

AZ

 

A3

 

JTj

 

 

 

 

 

 

V""

 

 

 

 

 

Рис. 4—1.

Представление

команды

в трехадресной ЦВМ'

 

1)

6 разрядов для кода операции,

 

 

 

 

 

2 )

3 разряда для специальных признаков;

 

 

 

3) 3 адреса по 12 двоичных разрядов в каждом адресе.

Например, необходимо умножить

число,

находящееся

в

ячейке, номер

которой • 12378,

на

число

из

ячейки

123-18

и

результат умножения снова запомнить в ячейке 12378.

 

•Допустим, код операции умножения 058. Тогда эта коман­

да запишется так:

 

 

 

 

 

 

 

 

 

 

 

05

 

1237

 

 

1231

1237

 

 

При записи в ячейку 12378 нового кода старое содержи­ мое этой ячейки стирается.

В двоичной записи эта команда выглядит таю

000101

001010011111

001010011001

001010011111

§ 1—2. Системы команд ЦВМ

Под системой команд ЭВМ понимают общее число раз­ личных команд, которое может выполнять машина. Число команд ЦВМ определяется количеством разрядов кода опе­ раций. Если число разрядов КОП равно 6 (рис. 4—1), то система команд такой ЦВМ содержит 26 = 64 команды.

Рассмотрим наиболее употребительные команды системы команд условной 3-адресной мащины.

176


Все операции, которые выполняет цифровая вычислитель­ ная машина, можно разделить «а 4 группы:

1. Операции над числами.

2. Операции над кодами (числами и командами).

3.Операции управления.

4.Операции обмена информацией между оперативной (внутренней) и внешней памятью.

1.К операциям над числами (арифметическим операциям)

относятся сложение, вычитание, умножение, деление, извле­ чение квадратного корня и др. Они являются основными операциями для воякой электронной вычислительной машины.

Введем обозначения:

а— номер ячейки (адрес),

(а)— содержимое ячейки с номером а.

Сложение чисел

- + ®і “ 2 Р

(аі) + (а2) -> р, что означает: содержимое ячейки с номе­ ром си нужно сложить с содержимым ячейки с номером а-2 и результат (сумму) отослать в ячейку с номером р.

Пусть

(си) =35;

Ы= 3.

Тогда в результате выполнения этой команды (р) =38 .

 

 

Вычитание

чисел

 

 

 

а 2

Р

Пусть, например сц 100, а2 = 101, р =

105. a (а,) = 200,

(as)

=<100.

 

 

 

Тогда команда будет записана так:

 

 

100

101

105

В ячейку № 105 будет послано число 100:

 

 

 

200 100 =

100 =( р ) .

 

 

 

Умножение чисел

 

 

■X

*1

а 2

Р

(<ц)

X (а,) -ä- р

 

 

 

12-32

177


 

Деление

чисел

 

:

аі

02

Р

( а ,) : (0С2) — р

Извлечение квадратного корня

V

ч

р

K W — -р

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

Логические операции — это операции сравнения на равен­ ство, сравнения на .равенство с остановом, логического сложе­ ния и логического умножения. Все эти операции выполняются поразрядно над всеми разрядами.

Сравнение на равенство

Л _

d i

0 - 2

Р

1 с р

 

 

Если (аі) =1 (d2), то в машине вырабатывается управляю­ щий признак £0 = 1; если (аі) Ф (аг), то со = 0. Команда условного перехода (УП), которая следует за командой срав­ нения на равенство, в зависимости от того, равен ли со «1» или «0», разветвляет вычислительный процесс по одному из следующих направлений:

1) машина переходит к выполнению следующей по номе­ ру команды;

2) машина переходит к выполнению команды программы с номером, который задается в адресе втором А2 команды условного перехода.

Логическое умножение

ЛУ

аі

02

Р

ЫА (а2) — Р

Дозначает конъюнкцию по всем г-разрядам.

178

 

Логическое

сложение

 

лс

«1

<Х2

р

(си) V(a2) -> р

V — означает дизъюнкцию по всем /-разрядам.

Пример 1. Сравнить числа КШО и 11010 на равенство.

+ ср «1 я2 Р

 

 

(Яі) =10110

10110

 

 

 

 

(я2) =

11010

-U pllOlO

 

 

Коды не равны,

ш = 0,

 

01100

 

 

(р) = 01)100.

 

 

 

Пример' 2. Произвести логическое сложение кодов 10110 и МОЮ.

 

лЪ

 

«1

а2

р

 

 

 

К ) =

Щ ііі

 

101110

 

 

 

 

(я2) =

111010

 

V

 

 

 

 

 

:1!101і0 О) =

о

 

 

 

 

 

 

 

 

 

 

 

1(1(1 10 =

1ІІМО

 

 

 

 

 

 

(Р).

 

 

 

Пример 3.

Провести логическое

умножение кодов 10.Ы0

и

ПОЮ.

 

ЛУ

 

 

“г

Р

 

 

 

(«,) =

101(10

 

іо т о

(0=0

 

 

 

(я) =

т о ю

 

Л

 

 

 

 

ІіШІО

 

 

 

 

 

 

1001(0 =

1М 10

 

 

 

 

 

 

(Р).

 

 

 

 

 

Операции сдвига

 

 

 

 

 

 

УЧ

»

 

 

 

 

Сд

 

а

9

 

 

УЧ— условное число,

которое

определяет

количество

сдви­

гов и его направление (вправо или влево).

 

 

а —помер

ячейки, содержимое которой

сдвигается,

 

р — номер ячейки для отсылки результата.

і

 

12*

179



Если УЧ > 0100, то содержимое ячейки

а сдвигается вле­

во, если

УЧ < 0100—вправо, если УЧ = 0,

число не сдвига­

ется.

 

 

В электронных машинах предусмотрены различные моди­

фикации

команд сдвига (сдвиг всего кода

или его части,

сдвиг по адресу, сдвиг по порядку и т. д.).

Из специальных операций над кодами мы рассмотрим

операции «сложение

команд»

и «засылка

кодов».

 

 

Сложение команд

 

+ к

 

аі

«2

Р

 

 

(аі) +

К(а)г -* Р .

 

(аі) — команда,

над

которой .производится

действие.

(аг) —константа,

которую нужно прибавить к (аі) для фор­

мирования заданного кода,

 

р — ячейка, в которую отсылается результат.

Операция «сложение команд» применяется обычно при переадресации. Переадресация заключается в изменении кода команды путем прибавления к этому коду некоторого специ­ альным образом подобранного двоичного числа.

Пример 1. В данном коде (а,) = 116, 0165, 0003, 0377 первый адрес увеличить на одну единицу, второй адрес увеличить на две единицы, а третий адрес уменьшить на шесть единиц.

Для осуществления такой переадресации в машине выполняется команда

+ к

“і

ч

Р

 

(«!)= 115, 0166,

0003,, 0377.

 

 

(о„) = 000, 0001, 0002, 7772.

 

Действительно:

 

 

 

к о п

А,

а2

Аз

МБ

0166,

0003,

0377

000,

0001,

0002,

ГП2

Шб,

0156

0ДО5,

0371

Полученный код Шб, 0166, 0005, 0371 = (о) удовлетворяет поставлен­ ным условиям.

Засылка кодов

П

аі

Р

(*і)—■Р-

180