Файл: Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей.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