Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей

.pdf
Скачиваний:
16
Добавлен:
23.10.2023
Размер:
8.7 Mб
Скачать

Если УЧ > 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

Содержание ячейки с номером <ц отсылается в ячейку с номером р. Пусть (<ц) = А. После выполнения этой команды

(Р)= А.

3.К операциям управления относятся операции изменения

порядка выбора кодов из оперативной памяти. Эти команды могут быть безусловным« и условными.

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

БП

а

При выполнении этой команды происходит переход не к следующей по номеру команде, а к команде с номером а.

Условный переход

Условный переход по управляющему признаку со реали­ зуется любой из Двух команд.

УПШ,

а

При выполнении этой команды происходит переход к сле­ дующей по номеру команде, если со = 0, и к команде с номедом а, если со =і 1.

уп Шо а

При выполнении этой команды происходит переход к сле­ дующей по номеру команде, если со = 1, и к команде с номе­ ром а, если со = 0.

Признак со (0 или 1) вырабатывается командой, предше­

ствующей команде

условного перехода. Условия выработки

признака со приведены в табл. 19.

 

Т а б л и ц а 19

 

 

 

 

 

 

Операция

 

Ш= 1

 

ш = 0

 

1. Сложение

1

если результат

отрица-

0

2. Вычитание

J

тельный, т. е. <

0

если результат >

3. Умножение

 

 

 

 

4. Деление

>

если результат по моду-

 

5. Извлечение корня

)

1

ЛЮ > 1

 

если результат <

бу Логические

1

 

 

 

 

7. Сдвиг

1

если результат

равен

0 если результат Ф 0

181

К командам управления относятся также команды печати результатов и останова машины.

Печать результатов

п ч

ССі

■ а2

Выдать на печать информацию с ячейки аі по а2.

I

Останов машины

ОСТ

При выполнении этой команды происходит останов ма­ шины.

4. Операции обмена кодами между оперативной (внут­ ренней) и внешней памятью служат для передачи кодов из одного запоминающего устройства в другое.

I

5. Специальные команды

Команда ввода

Вв

 

а

 

ввода вводит программу в МОЗУ, начиная с

мером а

 

 

 

СП,

“і

ап

 

Команда обращения

к стандартной программе СП]

это команда

или группа команд обращения

к стандартной программе

перевода чисел

из двоично-десятичной системы счисления в двоичную. Адреса переводи­

мых чисел

задаются в

А|

(адрес первого переводимого числа в

данном

случае а,)

и А3 (адрес

последнего переводимого числа здесь а„).

 

 

 

сп2

 

“і

 

ат

 

сел

СП2— это команда

обращения к стандартной программе перевода чи­

из двоичной системы

счисления в двоично-десятичную с ячейки

по

ат.

 

 

 

 

 

 

 

Команды Be и СПі должны быть всегда первыми в программе,

команда СП2— предшествовать

команде печати

П4.

кнопка

 

Учитывая, что при

вводе

программы может

использоваться

ввода, действие которой соответствует команде Вв с а = 0001,

а также

182

что присутствие команд СПі и СП2является необходимым во всех про­

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

§1—3. Особенности представления двухадресных команд

вЦВМ и пример их использования

Длина, формата команд может быть равна

одному, двум

и трем полусловам, т. е. 16, 32 и 48 разрядам

соответственно

(табл. 20). Формат команды определяется значением первых двух разрядов «ода операции.

 

 

 

Т а б л и ц а 20

Номера

разряда

Длина команды

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

0

0

одно полуслово

RR

0

1

два, полуслова

R X

1

0

два полуслова

RS или ST

1

1

три полуслова

SS

П р и м е ч а л и е.

RR— означает

операцию типа регистр — регистр;

результат

запомина-

ется в первом регистре.

 

 

 

R X — операция

типа регистр — память, при этом

адрес памяти нндек-

сируется; результат запоминается в первом регистре.

 

RS— операция типа регистр — память

(без индексации).

 

S T — операция,

когда один операнд

находится в

памяти, а

другой — в

самой команде.

S S — операция типа память — память.

Пример 1.

Сложить содержимое общего регистра с номером 9 с содержимым общего регистра с номером 7.

Для этого выполняется команда

AR

7

9

где AR означает сложение кодов из регистров.

При выполнении команды результат помещается в общий регистр с номером 7.

§ 1—4. Особенности представления команд в мини-ЭВМ

В мини-машинах для инженерных расчетов используется 3 типа одноадресных ко-манд: команды обращения к памяти; команды обращения к регистрам; команды ввода— 'вывода.

Код операции записывается в виде условных мнемокодов.

183

Пример 1. Переслать содержимое

сумматора

1234 в ячейку

памяти

225 и очистить сумматор.

 

 

 

 

Выполняется команда

 

 

 

 

ДСА 225*

 

 

 

 

Сумматор

Дополнитель­

Номер ячейки =

225

ный разряд

 

 

 

до выполнения

 

Был произвольный код

команды

1(234

г

4

 

7654

 

после выполнения

 

 

— стало

команды

0

1

ІІ234

 

- ГЛАВА II

ЭЛЕМЕНТАРНОЕ ПРОГРАММИРОВАНИЕ

§2—1. Основные этапы подготовки задачи

крешению на машине

Выбор численного метода. Для решения конкретной зада­ чи (например для решения интегральных, дифференциальных, тригонометрических и других уравнений, для решения задач векторной алгебры и т. д.) подбирается приближенный чис­ ленный метод, позволяющий сложную задачу свести к выпол­ нению простых арифметических операций.

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

Программирование. В понятие программирования входят: выбор алгоритмического языка; составление блок-схемы про­ граммы и алгоритма ее решения; распределение исходных данных и программы в запоминающем устройстве при реше­ нии задач в машинных кодах.

2 этап — занесение программы и данных на носитель.

После этого -этапа

происходит отладка задачи и ее

решение.

,*)

*) DCA — Deposit and Clear the Accumulator (запомнить в памяти и очистить сумматор).

184

П р и м е ч а н и е .

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

Л' + 1, N +

2 , . . .

— номера

ячеек, в которых хранятся команды про­

 

 

граммы, в восьмеричной системе счисления.

1.

а2‘ • . — номера

ячеек программы, в которых хранятся исход-

Ръ

ßs- •

ные числовые данные.

Ті.

72..

 

 

Pi.

Р2*• . — номера

рабочих ячеек для хранения промежуточных

 

 

результатов.

Si.

Во. . . — номера

ячеек программы для хранения двоичных

 

 

констант переадресации.

§ 2—2. Программирование по формулам в машинных командах

Пример 1. Вычислить дробно-линейную функцию

у = -?.*.+ fr. .

сх + d

1. Составляем алгоритм, т. е. последовательность операций решения:

1)

АI =

сх; 2)

А =

Ai +'d\ 3)

Bi = ах;

4)

В =

Bi + ’е;

5)

У

/\ .

 

В

общем случае при

решении

ах -f- Ь

уравнений вида У = ------------ -—

 

 

 

 

 

 

сх + а

необходимо проверить, не равен ли знаменатель нулю. Если равен, то

вычисления прекратить. Для трехад'ресной ЦВМ эту

проверку

можно

выполнить, например, с помощью команды

 

 

 

 

 

+ Ср

Р

 

 

 

 

 

Если

содержимое

ячейки р,

равное с х + ' d

отлично от нуля,

то

<*>= 0, в

противном случае при

выполнении этой

команды

ш

= 1

Команда

УПші определит направление перехода,

как

показано

на

при­

мере структурной блок-схемы программы:

)

185

Ввод программы п чисел

__________ [_________

Перевод чисел из двоичнодес. в двоичную сист. счисл.

I

Определение сх +'d

I

Нахождение у

__________{■_________

Перевод у из дв. в двоичнодес. систему

I

Печать у и останов

2. Размещаем исходный числовой материал в ЗУ

21

 

Т а б л и ц а

№ ячеек для хранения

„ Исходный числовой материал

 

исходных данных

(содержимое ячеек)

 

“і

а

 

“а

ь

 

“3

С

 

« 4

d

 

Ч

X

 

3J Составляем рабочую программу

для 3-адресной ЦВМ. ■

 

 

Т а б л и ц а

22

Ns-

КОП

А,

ячеек

 

 

N + 1

X

<*3

N + 2

+

Рі

ІѴ+3

H~cp

Ра

N + 4

УПШ

 

ЛГ+5

X

 

N + 6

+

Ра

AM -7

 

Pa

N +

10

пч

‘ Pi

N + 11

о с т

 

N +

12

00

0000

AM13

о о *

0000

N +

14

пч

 

N +

15

о с т

 

Аг

Аз

. “ Б

Рі

“4

рі

N +

14

“ Б

Pa

“а

Pa

Рі

Pi

 

0000 0000

0000 0000

Примечание

t H II

-Cl

A — Л, +

d -> p,

ш = 0, если

(Pi) Ф o

 

<i) = 1, если

(Pi) = o

 

Переход к 7У+14 при ш=1

при<*> = 0

к N 4- 5

B1 — ajc-± рз

 

В = Ві +

Ь -*■

рз

, г

 

ах +

Ь

Рі

У —

сх

,

,

 

 

-+

а

 

У на

печать

 

 

 

р, I Рабочие р2J ячейки

Напечатать «0», если сх +'d = 0

Замечание. Данная программа написана в условных адре­ сах и командах. Если требуется написать программу в дей­ ствительных адресах, то вместо условных обозначений «ь

187

иг • • •, pi, Р2, N пишут действительные адреса в восьмеричной системе счисления (т. е. вместо схь например, 0012, вместо иг — 0013 и т. д., вместо Л/. — 0100).

Пример 2. Написать ту же программу в действительных адресах

Содержимое ячеек

а

0

С

d

X

(исходные числовые данные).

 

 

 

 

 

Номера ячеек для хранения исход­

0012

0013

0014

0015

0016

ных данных (в восьмеричной си­

 

 

 

 

 

стеме счисления)

 

 

 

 

 

Примем следующие условные значения для кодов операций (в вось­ меричной системе очисления):

05 —■умножение

01— сложение

15 — сравнение на равенство

76—: условный переход при

ш = 1

 

04 — деление

 

 

 

50 —'печать

 

 

 

17 — останов

 

 

 

№ ^

к о п

А -

Аг

A3

ячеек

 

 

 

 

0101

05

0014

0016

0112

0102

01

0112

0015

0112

0103

15

0112

0014

 

0104

76

0112

0113

0105

05

0016

0106

01

0113

0013

0113

0107

04

0113

0112

0112

ОНО

50

0112

 

 

0111

17

0000

0000

0000

0112

00

0113

00

0000

0000

0000

0114

50

 

 

 

0115

17

 

 

 

,

Т а б л и ц а 23

Примечание

А1~ с • X ->■ Рі

А = А\ +'rf -*■ р!

В1 — ах р<2 В ~ B i -f Ь -> Ра

У - Р і

Уна печать

Рі

печать «0» Рз

Пример 3. Вычислить значение многочлена одного переменного / (х) = 5х4+'4х3+ Зх2 + 2х + 1.

1. Для вычисления такого многочлена составляется схема счета Гор­ нера, представляющая/(х) в виде:

f(x ) = { [(5.x + 4) х -f- 3] .х + 2} х -)- 1.

Алгоритм вычисления такого многочлена сводится к выполнению последовательности операций:

1)

А, = 5х;

2)

Л2 = А, + 4;

3)

A3— A2*x;

4)| Ац = Аз + 3;

5)

As — A4 х;

6)

Аб = As + 2.

7)

Ai = As ‘Xi

8)

As = Aj + 1.

 

 

188

2. Отведем ячейки памяти для числового материала.

 

Т а б л и ц а 24

№ ячеек

Исходный числовой

для числовых данных

материал

 

 

 

“0

 

 

 

 

'

 

5

 

 

 

 

 

-

«J

 

 

 

 

 

 

4

 

 

 

 

 

“а

 

 

 

 

 

 

3

 

 

 

 

 

 

“3

 

 

 

 

 

 

2

 

 

 

 

 

 

«.1

 

 

 

 

 

 

1

 

 

 

 

 

“5

 

 

 

 

 

 

.V

 

 

 

3. Составляем рабочую

программу

для 3-адресной

ЭВМ.

 

 

'

'

 

 

 

 

 

 

 

Т а б л и ц а 25

' Ns

 

к о п

А,

 

 

 

 

 

 

 

 

 

ячеек .

 

Аг

 

A3

 

Примечание

в 8-й СС

 

 

 

 

 

 

 

 

 

 

 

 

N + 1

“о

 

“ 5

 

Pi

A I = 5 x->- p,

 

N + 2

Рі

 

al

 

Pi

A 2 = A { + 4->- p,

УѴ+

3

Рі

 

“ 5

 

Pi

As — A2 • X

 

Pj

N 4 4-

+'

Pi

 

<z2

 

Pi

A4 = A3 +

3 -*■ Pi

N + 5

X

Pi

 

“6

 

Pi

<4s.= A4 • X - *

p

/Ѵ + 6

+!

Pi

 

“ 3

 

Pi

/І6 =

As +

2

Pi

N +

7

X

Pi

 

“6

 

Pi

^7 = Аб •X-*- Pi

/ / + 1 0

+

Pi

 

“ 4

 

Pi

<4e =

A7 +

1 -i- Pi

/ / + 1 1

п ч

Pi

 

 

 

 

(p,)

на

печать

/ / + 1 2

ост.

 

 

 

 

 

 

 

 

 

 

 

N +

13

00

0000

 

0000

0000

p1 N

+ '

13 раб. ячейка

■Пример 4. Найти- у

=

шах (а,

в, с,

d).

 

 

 

 

 

Используем следующий алгоритм поиска:

 

 

 

 

 

если

а — в > 0,

тоя-*-рі,

иначе

в

 

 

 

 

 

 

если

с — d > О,

то е

р

2,

иначе

d -* рг.

 

 

 

 

 

Затем найдем разность

 

 

 

 

 

 

 

 

 

 

(Рі) -

(Ра)

и

 

 

 

 

 

 

 

 

 

 

 

если

 

 

 

 

 

 

 

 

 

 

 

 

 

(Рі) — (рг) > 0 , то

печать

(рх),

иначе (pj).

 

 

 

 

 

 

Распределим числа а, в - с, d в ячейках памяти

 

 

 

 

189'

Соседние файлы в папке книги из ГПНТБ