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

книги из ГПНТБ / Караваев, Н. И. Электронные цифровые вычислительные машины и программирование учеб. пособие

.pdf
Скачиваний:
5
Добавлен:
20.10.2023
Размер:
8.52 Mб
Скачать

- 190 -

су

А.

 

 

 

 

 

 

Команда машины CSI^BM-l занимает 22 разряда ячейки памя­

ти,

из

них:

 

 

 

 

 

1

разряд -

знак

/команда имеет

всегда знак +/',

 

 

5

разрядов

- код

операции;

 

 

 

2

разряда

- признак модификации /номер регистра моди­

фикации, содержимое которого используется для изменения

ад­

ресной

части/;

 

 

 

 

 

14 разрядов - адресная часть.

 

 

 

Распределение разрядов команды в ячейках памяти следующее:

36 35 34 33

 

23 22 21

Л Н 10 9 8 7 б 5 k

3 2 i

к о н т р о л ь н ы й р а з р 9 д

ЯЭрес

КоЭ операции.

 

 

 

 

а к.» к

В соответствии с

этим

команда вида 12 2 15063

запишется

в ячейку ЗУ следующим образом:

 

 

 

 

 

36 35 м

еЗ 22 21 20 <9 <В \1 lb 18 Н Ч <8 н 10 О 9

7 6

5 / 3 2 1

 

 

 

 

 

 

 

 

d

а

d

 

 

 

 

 

о.

 

 

?

е-

4

*

контрольный

в-

8-

 

рсхзраЭ

;*

 

3

 

 

 

 

-«4

СМ

дасо

 

 

 

 

 

 

 

ЙЭрес

 

При

операции

 

 

 

 

 

 

В контрольный

разряд машиной автоматически

записывает­

ся единица, если

количество двоичных единиц в информации,

заносимой в ячейку памяти, четно, в противном

случае

в

- 191 -

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

ОЭЦВМ-1 - машина с фиксированной запятой и оперирует с чис­ лами меньшими единицы. Числа в ЗУ хранятся в прямом коде* Число двоичных разрядов ячеек ЗУ равно 36» из них.рдин - для знака числа, 33 разряда отведено для размещения ^|й$ис-

сы числа, один разряд контрольный

и один резервный. :

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

разом:

м лаЭш-ие

старите

разрзЭы.

po-3p99bv

36 35 ъи зз

4 3 2 I

ман-тисса число.

контрольный,

 

 

р а з рд в

 

 

 

 

резервный

 

 

 

Контрольный разряд используется для проверки правиль­

ности

хранения информации

в ЗУ и в операциях над числами

не участвует, а резервный

разряд во

всех ячейках остаётся

свободным.

 

 

 

Ячейки ОЗУ имеют адреса 20000 *

21777.

 

В регистре сумма тора (РгСм), имеющем 35 двоичных разрядов

числа хранятся в дополнительном модифицированном коде.

 

Разряды числа в регистре сумматора распределяются сле­

дующим образом:

 

 

 

 

старшие

 

младшие

 

 

разрзЭы.

 

35

34

33 32

 

разряды

 

И г )

 

 

 

 

знак

 

 

числа

мантисса,

чх^сла

 

- 192 -

Таким образом, так как для хранения мантиссы числа в ячейке памяти и в регистре сумматора отведено по 33 разря­ да, то СЭЦВМ-1 оперирует как с положительными, так и с от­ рицательными числами из диапазоне

 

2 - 3 3

<

| Х | < 1 - 2 - 3 3 ,

 

причём числа

представляются с точностью 2- 3 3 Числа

из интер­

вала ( - 2 - 3 3 ;

2

) не

отличаются в машине от числа

нуль,

поэтому любое число из такого интервала называется машинным нулём.

$ 7.3. СИСТЕМА ОПЕРАЦИЙ СЭЦВМ-1

Программа решения задачи на ЭЦВМ составляется с учётом системы операций, заложенной в логике машины. Под системой операций ЭЦВМ принято понимать совокупность всех операций, которые может выполнять данная машина.

Современные универсальные ЭцЗМ имеют очень развитые сис­ темы операций, позволяющие выполнять все необходимые ариф­ метические и логические действия над числами, а также обес­ печить автоматизецию вычислительного процесса.

Систему оперений СЭЦВМ-1 в зевисимости от характере вы­ полняемых опереций и их содержения можно разделить на сле­ дующие группы:

-арифметические операции,

-логические операции,

-посылочные операции,

-операции управления,

-операции ввода-вывода,

-специальные операции.

- 193 -

Арифметические операции

Команда, в составе которой имеется код арифметической операции, выполняется с двумя исходными числами, одно из которых находится в РгСм, а другое - в ячейке памяти ЗУ. Результат операции фиксируется в РгСм, а при выполнении некоторых операций записывается в ячейку памяти ЗУ.

При выполнении арифметических операций C3i_BM-l выраба­

тывает сигнал

ч

таким

образом,

что

в ячейку "

^ "

за­

писывается единица

при отрицательном

результате

операции

и сохраняется

содержимое

ячейки "

Ч'

" равным нулю при

по­

ложительном результате операции. При переполнении разряд­ ной сетки в ходе выполнения арифметической операции выра­ батывается сигнал 0J , машина останавливается и на пуль­ те управления высвечивается надпись "АУ",

3 машине предусмотрено выполнение восьми арифметических операций.

01 та. А - сложение. По этой команде происходит сложение числа, находящегося в РгСм, с числом, выбираемым из ячей­ ки по адресу А + ь / i- ~ содержимое гп - ного РгМд/.

Результат посылается в РгСм, а знак суммы - в ячейку " Ч" .

Число в ячейке по адресу А + ь

сохраняется.

15TTVA - сложение с записью.

Выполнение этой команды от

рассмотренной выше отличается тем, что результат сложения посылается и в РгСм и в ячейку по адресу А + Ь , при этом число, находившееся в ячейке по адресу А + i - и участвовав­ шее в арифметической операции, стирается. Знак суммы посы­ лается в ячейку " Ч1 ".

07m А - сложение с блокировкой переполнения. Зта коман­ да выполняется так же, как и команда 01т?гА , но при воз­

никновении переполнения разрядной сетки машина не

останав­

ливается .

 

 

 

02 m A -

вычитание. По этой команде из

числа, находящего­

ся в РгСм,

вычитается число, выбираемое

из ячейки

по адресу

 

 

 

 

 

-

194

-

 

 

 

 

А + I

. Разность посылается в

РгСм, а знак разности -

в

ячейку " t-f

". Число

в ячейке

по адресу А + ^

 

сохраняет­

ся .

 

 

 

 

 

 

 

 

 

 

 

16 тп

А -

вычитание с записью. Команда выполняется

так

же, как и команда 02

ТПА,

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

вычитания

разность посылается в РгСм и в ячейку

по адресу

А + Ь

,

причём число, хранившееся в этой ячейке и участвовавшее в

операции стирается. Знак разности посылается в ячейку

"Ц* "

04 та А - умножение с округлением. По этой команде чис­

ло, находящееся в РгСм умножается на число, выбираемое

из

ячейки по адресу А +

и

. Округленные

3 3 старших

разрядов

произведения

посылаются

в

РгСм,

а знак

произведения -

в

ячейку

"

Ц>

".

 

 

 

 

 

 

 

 

13 тп. А -

умножение без

округления. Выполнение

этой

ко­

манды отличается от

выполнения

команды

04 тп. А только

тем,

что 33 старших разрядов произведения не округляются.

 

14 га

А -

специальное умножение. По этой команде число,

находящееся

в РгСм, умножается

на число, выбираемое из

ячей­

ки по адресу А + i- . Содержимое 33 младших разрядов произ­ ведения посылается в РгСм. Знак произведения посылается в ячейку " <-? "•

Логические операции

СЭь,ВМ-1 может выполнять две логические операции.

03 тп А - логическое умножение. При выполнении этой команды производится поразрядное логическое умножение /включая и знаковые разряды/ содержимого РгСм на число, вы­

бираемое из ячейки по адресу А +

i

. Результат

логического

умножения посылается в РгСм. Логический признак

^

= 0 вы­

рабатывается в том случае, если

результат операции

равен

+ 0, в

противном случае Ц' = 1.

 

 

 

 

30

т а А - сравнение /сложение

по модулю 2/. По

этой

команде

производится поразрядное

сравнение числа,

находяще-

-)Я5 -

гося р РгСм, с числом, выбираемым из ячейки по адресу А+Ь , по правилам логической операции отрицание равнозначности. Результат операции посылается в РгСм. Логический признак

if = 1 вырабатывается при несовпадении хотя бы в одном раз­ ряде, включая и знаковые.

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

Для обеспечения возможности обмена информацией между от­ дельными устройствами в СЭЦВМ-1 предусмотрены посылочные операции.

05 пг А - посылка в РгМд. По этой команде содержимое ячейки по адресу А со второго по пятнадцатый разряды вклю­

чительно посылается в

m- -

ый РгМд. Содержимое

ячеек

А,

"Ц>" , а также РгСм сохраняется.

 

 

 

 

 

06 rrt А -

посылка

из

РгМд. Эта операция по своему со­

держанию обратна

предыдущей. Содержимое

пг - ного

РгМд по­

сылается во 2-15

разряды ячейки по адресу А. Содержимое

т - -

ного

РгМд,

ячейки

" ^

и РгСм

сохраняется.

 

 

12 пг

А -

посылка

в РгСм. Число

из ячейки

по

адресу

А + I

посылается

в РгСм. Знак числа посылается

в ячейку

" L f " .

Число по

адресу А + I

сохраняется.

 

 

 

 

24 m- А - посылка из РгСм. При выполнении этой коман­

ды число, находящееся в РгСм, посылается в ячейку

МОЗУ по

адресу

А +

I

. Содержимое

РгСм и ячейки 11Ч"" сохраняется.

35 та

А -

посылка

в HP. Содержимое четырех

старших

разрядов / 3 4 - 3 1 /

ячейки по

адресу А + ^

посылается

в

младшие разряды

накопительного регистра /НР/. Ранее нахо­

дившийся в HP код

сдвигается в сторону старших разрядов на

4 разряда.

 

 

 

 

 

 

 

 

 

 

Операции передачи управления

Машина СЭЦВМ-1, как и подавляющее большинство современ­ ных ЭЦВМ, является машиной с естественным порядком выполне­ ния команд. Под естественным порядком выполнения команд под-

- 196 -

разумевается последовательное их исполнение в том порядке', в котором команды размещены в памяти машины: за исполнением команды, расположенной в ячейке с номером К, следует испол­ нение команды, расположенной в ячейке с номером К + 1 и т.д. Для этого в ходе выполнения очередной команды к содержимому счётчика номеров команд /СНК/ добавляется единица и машина тем самым подготавливается к выполнению следующей команды. Однако с помощью операций передачи управления, которые на­ рушают последовательное выполнение команд программы, можно предусмотреть выполнение команд программы в любом необходи­ мом порядке.

Существует два типа операций передачи управления: услов­ ная передача управления и безусловная передача управления. Операция условной передачи управления состоит в том, что по­ рядок исполнения команд программы изменяется, то-есть управ­ ление передаётся, в зависимости от содержимого ячейки " Ч" , которое сформировано перед исполнением этой операции. Опера­ ция же безусловной передачи управления передаёт управление

независимо от

значения содержимого ячейки" 7 "•

 

В СЭЦВМ-1 имеются как операции безусловной передачи

уп­

равления, так и операции условной передачи управления.

 

10 та

А - безусловный переход 1 / с запоминанием

точ­

ки ухода/. Управление передаётся команде по адресу А. Содер­ жимое СНК, увеличенное на единицу, посылается для запомина­

ния точки ухода

в W - ый РгМд.

 

 

20

i u

А -

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

/без

запоминания точ­

ки ухода/. Управление передаётся команде по

адресу А + Ь .

И

W,

А -

условный переход I / с

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

ухода/. Управление передаётся команде по адресу А, если ло­ гический признак If * I , а содержимое СНК, увеличенное на единицу, посылается для запоминания точки ухода в тгь - ный РгМд. При Lf " 0 сохраняется естественный порядок выпол­ нения команд.

22 TTV А - условный переход 2 /бее запоминания точки ухода/. Управление передаётся по адресу А + I •, если логи-

 

-

197

-

ческий признак Ц> = 0.

При

Lf » 1 сохраняется естествен­

ный порядок выполнения

команд.

Операции

ввода-вывода

Операции ввода-вывода обеспечивают обмен информацией между вычислительной машиной и внешними устройствами вводавывода. В СЭЦВМ-1 предусмотрена возможность ввода информа­ ции с телеграфного аппарата СТА-2М, фотосчитывающего устрой­ ства СП-2, клавиатуры ручного ввода пульта управления, а так­ же вывода информации на СТА-2 М и печатающий аппарат МП-16. Кроме того возможен обмен информацией между машиной и преоб­ разующими устройствами, которые сопряжены с машиной.

В системе операций СЭЦВМ-1 предусмотрены следующие опе­

рации

ввода-вывода.

 

 

 

 

23

TTVN

- ввод

с преобразующего устройства. По этой ко­

манде код

с

М +

- ого преобразующего устройства посы­

лается

в РгСм, где

W -

номер преобразующего устройст­

ва,

I-

-

содержимое

т

-

ного

РгМд.

25

3

0000К - ввод

с

пульта

и перфоленты. При выполне­

нии этой команды производится запись в младшие разряды тре­ тьего РгМд кода, снимаемого с клавиатуры пульта управления или перфоленты. При этом при К»1 на световом табло пульта

управления высвечивается

надпись

"Ввести № задачи",

при

К = 2 -

"Ввести

число".

 

 

 

 

26

-ТП-Л/ -

вывод на преобразующее устройство. Содержи­

мое РгСм выдаётся на kl

+ и -

ое

преобразующее устройство.

27

0 00000

- печать. По этой

команде печатается

со ­

держимое накопительного

регистра.

 

 

36

m. А -

вывод на СТА-2М.- Содержимое пяти старших

разрядов ячейки

по адресу А +••'-

выдаётся на СТА-2М.

 

В СЭЦВМ-1 на основе указанных

выше операций 25, 27 и 36

составлены и' закоммутированы

в ДЗУ стандартные подпрограм­

мы ввода

и вывода информации.

'

 

 

- 198 -

 

 

 

Специальные операции

 

17 -т. В - опрос тумблера. По этой команде опрашивается

тумблер

с номером В +

I . При включённом тумблере в ячейку

"Ч""

записывается единица,

при выключенном - нуль. В • 21 ,

где

j .

» О, 1, 2

7.

В качестве тумблеров испольауют-

ся восемь кнопок на клавиатуре пульта управления. Эта опера­ ция применяется для определения машиной заданных с пульта управления режимов ввода и вывода, а также для коммутации

специальных

подпрограмм.

 

 

 

 

21 яг

С - прибавление к РгМд. При выполнении

этой

ко­

манды число С, записанное в адресной

части команды, прибав­

ляется к содержимому иг -ного

РгМд и результат записывает­

ся в этот

РгМд. В ячейку"1-?"

записывается единица,

если

при сложении отсутствует переполнение

по- -ного РгМд,

и

сохраняется вуль в ячейке"^1 1

, если-переполнение

происхо­

дит.

 

 

 

 

 

37 та

А - программный останов. Машина по этой

команде

останавливается и на цифровой индикации в зависимости

от

номера РгМд и содержимого адресной части команды высвечи­

вается:

 

 

 

 

 

37 0 00000

-

содержимое РгСм,

 

 

37 0

А

-

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

А,

 

37 1 00000

-

содержимое СНК,

 

 

37 т37777

-

содержимое РгМд с

номером

пг- .

Такого вида командой должна заканчиваться любая состав­

ленная программа,

чтобы после выполнения

программы произо­

шёл останов

машины.

 

 

§ 7.4. ПРИМЕНЕНИЕ СИСТЕМЫ ОПЕРАЦИЙ СЭЦВМ-1 ПРИ

 

 

 

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

 

Использование

некоторых операций СЭЦВМ-1 при програм­

мировании несложных арифметических выражений рассмотрим на примере составления программы для вычисления арифметическо-

- 199 -

го выражения

у = ах2 - вс

Для простоты будем считать, что исходные данные а,в,с и х представляют собой правильные дроби, а выполнение ариф­

метических операций не приводит к переполнению разрядной сет­ ки машины.

Выполним распределение памяти машины. Любая ячейка памя­ ти машины модет быть занята либо числом, либо командой. Чис­

ловой

материал расположим в ячейках 20030

20033. Для хра­

нения

промежуточных и окончательного результатов будем ис­

пользовать ячейки 20034 и 20035. Таким образом, получаем сле­

дующее распределение

памяти:

20030)

 

20031)

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

20032)

в

20033)

+ 5J

20034)

рабочая ячейка .

20035)

рабочая ячейка.

Программу можно разместить в любом свободном месте ОЗУ

машины. Отведём для

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

ная с ячейки 20036. Составленная для приведенного выше ариф­

метического выражения

программа

будет

иметь

вид: ••

20036)

12 0

20030

Вызов

а на

РгСм.

2003?)

04 0

20031

ах.

 

 

20040J

04

0

20031

ах2 .

 

 

20041)

24 0

20034

Запоминание

ах2 .

20042)

12 0

20032

Вызов

в на

РгСм.

20043)

04

0

20033

В С .

 

 

20044)

24

0

20035

Запоминание

вс.

20045)

12 0

20034

Вызов ах2 на РгСм.

20046)

16 0

20035

ах2 - вс.

 

20047)

37

0

00000

Останов.

 

Приведенная

программа представляет

собой программу в

действительных

адресах.

 

 

 

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