книги из ГПНТБ / Караваев, Н. И. Электронные цифровые вычислительные машины и программирование учеб. пособие
.pdf- 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 |
Останов. |
|
|
Приведенная |
программа представляет |
собой программу в |
||||
действительных |
адресах. |
|
|
|