- •Тверской государственный технический университет
- •Внутри машинное представление «управляющей информации»
- •1. Классификация внутри машинной информации
- •2. Структура и общие принципы организации запоминающих устройств, использующихся для внутри машинного размещения информации
- •2.1 Структура основной памяти оп
- •2.2. Структура и организация соп
- •2.3. Структура информационных связей блоков центрального процессора с основной и регистровой памятью
- •3. Управляющая информация
- •3.1. Понятие машинной команды.
- •3.2.Форматы команд 32–х разрядных эвм
- •4. Инструкция по выполнению ргр
- •Приложение 2
- •Приложение 3
- •Тверской государственный технический университет Кафедра «Информационных систем»
- •Тверь 2011
- •Используемая литература
- •Оглавление
4. Инструкция по выполнению ргр
В процессе выполнения РГР каждый студент должен, исходя и из исходных данных варианта, сформировать поля машинных команд «RR» и «RX» и в соответствии с описаниями алгоритмов их выполнения, приведенных в параграфах 3.3 и 3.4, заполнить задействованные зоны ОП и СОП до начала и после выполнения машинной команды. Исходные данные для формирования полей машинных команд «RR» и «RX» приведены в Табл. 2 (Приложение 2) и Табл. 3 (Приложение 3). Номер варианта РГР соответствует порядковому номеру фамилии студента в ведомости группы. Макет РГР в электронном виде приведен в Приложении 4.
ПРИЛОЖЕНИЕ 1
Таблица 1: «НАБОР КОМАНД»
№ п/п |
Сред ства |
Код Опера ции
|
Мнемо ника |
Название команды
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
RR |
04 |
SPM |
Установить маску программы Set Program Mask
|
|
2 |
RR |
05 |
BALR |
Переход с возвратом Branch and Link
|
|
3 |
RR |
06 |
BCTR |
Переход по счетчику Branch on Count
|
|
4
|
RR |
07 |
BCR |
Условный переход Branch on Condition
|
|
5 |
RR |
08 |
SSK |
Установить ключ памяти Set Storage Key
|
|
6 |
RR |
09 |
ISK |
Прочитать ключ памяти Insert Storage Key
|
|
7 |
RR |
0A |
SVC |
Обращение к супервизору Supervisor Call
|
|
8 |
RR |
0D |
BASR |
Переход с записью в память Branch and Store
|
|
9 |
RR |
10 |
LPR |
Загрузка положительная Load Positive
|
|
10 |
RR |
11 |
LNR |
Загрузка отрицательная Load Negative
|
|
11 |
RR |
12 |
LTR |
Загрузка и проверка Load and Test |
|
12
|
RR |
13 |
LCR |
Загрузка дополнения
|
|
13 |
RR |
14 |
NR |
И And
|
|
1 |
2 |
3 |
4 |
5 |
|
14 |
RR |
15 |
CLR |
Сравнение кодов Compare Logical
|
|
15 |
RR |
16 |
OR |
Или Or
|
|
16 |
RR |
17 |
XR |
Исключающее или Exclusive Or
|
|
17 |
RR |
18 |
LR |
Загрузка Load
|
|
18
|
RR |
19 |
CR |
Сравнение Compare |
|
19 |
RR |
1A |
AR |
Сложение Add
|
|
20
|
RR |
1B |
SR |
Вычитание Subtract |
|
21 |
RR |
1C |
MR |
Умножение Multiply
|
|
22 |
RR |
1D |
DR |
Деление Divide
|
|
23 |
RR |
1E |
ALR |
Сложение кодов Add Logical
|
|
24 |
RR |
1F |
SLR |
Вычитание кодов Subtract Logical
|
|
25 |
RR |
20 |
LPDR |
Загрузка положительная (длинная) Load Positive Long |
|
26 |
RR |
21 |
LNDR |
Загрузка отрицательная (длинная) Load Negative Long |
|
27 |
RR |
22 |
LTDR |
Загрузка и проверка (длинная) Load and Test Long
|
|
28 |
RR |
23 |
LCDR |
Загрузка дополнения (длинная) Load Complement Long |
|
29 |
RR |
24 |
HDR |
Пополам (длинное) Halve Long
|
|
31 |
RR |
29 |
CDR |
Сравнение (длинное) Compare Long |
|
33 |
RR |
2B |
SDR |
Вычитание с нормализацией (длинное) Subtract Normalized Long |
|
1 |
2 |
3 |
4 |
5 |
|
35 |
RR |
2D |
` DDR |
Деление (длинное) Divide
|
|
36 |
RR |
2E |
AWR |
Сложение без нормализации (длинное) Add Unnormalized Long |
|
37 |
RR |
2F |
SWR |
Вычитание без нормализации (длинное) Subtract Unnormalized Long |
|
38 |
RR |
30 |
LPER |
Загрузка положительная (короткая) Load Positive Short |
|
39 |
RR |
31 |
LNER |
Загрузка отрицательная (короткая) Load Negative Short |
|
40 |
RR |
32 |
LTER |
Загрузка и проверка (короткая) Load and Test Short |
|
41 |
RR |
33 |
LCER |
Дополнения (короткая) Load Complement Short |
|
42 |
RR |
34 |
HER |
Пополам (короткая) Halve Short
|
|
43 |
RR |
38 |
LER |
Загрузка (короткая) Load Short
|
|
44 |
RR |
39 |
CER |
Сравнение (короткое) Compare Short
|
|
45 |
RR |
3A |
AER |
Сложение с нормализацией (короткое) Add Normalized Short |
|
46 |
RR |
3B |
SER |
Вычитание с нормализацией (короткое) Subtract Normalized Short |
|
47 |
RR |
3C |
MER |
Умножение (короткое) Multiply Short
|
|
48 |
RR |
3D |
DER |
Деление (короткое) Divide Short
|
|
49 |
RR |
3E |
AUR |
Сложение без нормализации (короткое) Add Unnjrmalized Short |
|
50 |
RR |
3F |
SUR |
Вычитание без нормализации (короткое) Subtract Unnormalized |
|
51 |
RR |
25 |
LRDR |
Загрузка с округлением (длинная) Load Rounded Long |
|
52 1 |
RR |
26 |
MXR |
Умножение сверхдлинное Multiply Extended
|
|
53 |
RR |
27 |
MXDR |
Умножение длинных со сверхдлинным результатом Multiply to Extend |
|
54 |
RR |
35 |
LRER |
Загрузка с округлением (короткая) Load Rounded Short |
|
55 |
RR |
36 |
AXR |
Сложение с нормализацией сверхдлинное Add Normalized Extended |
|
56 |
RR |
37 |
SXR |
Вычитание с нормализацией Сверхдлинное Subtract Normalized Extendet |
|
57 |
RX |
67 |
MXD |
Умножение длинных со сверхдлинным результатом Multiply to Extend |
|
58 |
RX |
40 |
STH |
Запись в память полуслова Store Halfword
|
|
59 |
RX |
41 |
LA |
Загрузка адреса Load Address
|
|
60 |
RX |
42 |
STC |
Запись в память символа Store Character
|
|
61 |
RX |
43 |
IC |
Прочитать символ Insert Character
|
|
62 |
RX |
44 |
EX |
Выполнить Execute
|
|
63 |
RX |
45 |
BAL |
Переход с возвратом Branch and Link
|
|
64 |
RX |
46 |
BCT |
Переход по счетчику Branch on Count
|
|
65 |
RX |
47 |
BC |
Условный переход Branch on Condition
|
|
66 |
RX |
48 |
LH |
Загрузка полуслова Load Halfword
|
|
67 |
RX |
49 |
CH |
Сравнение полуслова Compare Halfword
|
|
68 |
RX |
4A |
AH |
Сложение полуслова Add Halfword
|
|
69 |
RX |
4B |
SH |
Вычитание полуслова Subtract Halfword
|
|
70 |
RX |
4С |
MH |
Умножение полуслова Multiply Halfword
|
|
71 |
RX |
4D |
BAS |
Переход с записью в память Branch and Store
|
|
72 |
RX |
4E |
CVD |
Преобразование в десятичную Convert to Decimal
|
|
73 |
RX |
4F |
CVB |
Преобразование в двоичную Convert to Binary
|
|
74 |
RX |
50 |
ST |
Запись в память Store
|
|
75 |
RX |
54 |
N |
И And
|
|
76 |
RX |
55 |
CL |
Сравнение кодов Compare Logical
|
|
77 |
RX |
56 |
O |
Или Or
|
|
78 |
RX |
57 |
X |
Исключающее ИЛИ Exclusive Or
|
|
79 |
RX |
58 |
L |
Загрузка Load
|
|
80 |
RX |
59 |
C |
Сравнение Compare
|
|
81 |
RX |
5A |
A |
Сложение Add
|
|
82 |
RX |
5B |
S |
Вычитание Subtract
|
|
83 |
RX |
5C |
M |
Умножение Multiply
|
|
84 |
RX |
5D |
D |
Деление Divide
|
|
85 |
RX |
5E |
AL |
Сложение кодов Add Logical
|
|
86 |
RX |
5F |
SL |
Вычитание кодов Subtract Logical
|
|
87 |
RX |
60 |
STD |
Запись в память (длинная) Store Long
|
|
88 |
RX |
68 |
LD
|
Загрузка (длинная) Load Long
|
|
89 |
RX |
69 |
CD |
Сравнение (длинное) Compare Long
|
|
90 |
RX |
6A |
AD |
Сложение (длинное) Add Long
|
|
91 |
RX |
6B |
SD |
Вычитание (длинное) Subtract Long
|
|
92 |
RX |
6C |
MD |
Умножение (длинное) Multiply
|
|
93 |
RX |
6D |
DD |
Деление (длинное) Divide Long
|
|
94 |
RX |
6E |
AW |
Сложение без нормализации (длинное) Add Unnormalized Long |
|
95 |
RX |
6F |
SW |
Вычитание без нормализации (длинное) Subtract Unnormalized Long |
|
96 |
RX |
70 |
STE |
Запись в память (короткая) Store Short
|
|
97 |
RX |
78 |
LE |
Загрузка (короткая) Load Short
|
|
98 |
RX |
79 |
CE |
Сравнение (короткое) Compare Short
|
|
99 |
RX |
7A |
AE |
Сложение с нормализацией (короткое) Add Normalized Short |
|
100 |
RX |
7B |
SE |
Вычитание с нормализацией (короткое) Subtract Normalized Short |
|
101 |
RX |
7C |
ME |
Умножение (короткое) Multiply Short
|
|
102 |
RX |
7D |
DE |
Деление (короткое) Divide Short
|
|
103 |
RX |
|
AU |
Сложение без нормализации (короткое) Add Unnormalized Short |
|
104 |
RX |
7F |
SU |
Вычитание без нормализации (короткое) Subtract Unnormalized Short |
|
105 |
S1 |
80 |
SSM |
Установить маску системы Set Program Status Word
|
|
106 |
S1 |
81 |
SPSW |
Установить PSW Set Program Status Word
|
|
107 |
S1 |
82 |
LPSW |
Загрузка PSW Load Program Status Word
|
|
108 |
S1 |
83 |
|
Диагностика Diagnose
|
|
109 |
S1 |
84 |
WRD |
Прямая запись Write Direct
|
|
110 |
S1 |
85 |
RDD |
Прямое чтение Read Direct
|
|
111 |
RS |
86 |
BXH |
Переход по индексу больше Branch in Index High
|
|
112 |
RS |
87 |
BXLE |
Переход по индексу меньше Или равно Branch on Index Low or Equal |
|
113 |
RS |
88 |
SRL |
Сдвиг вправо кода Right Single Logical
|
|
114 |
RS |
89 |
SLL |
Сдвиг влево кода Shift Left Single Logical
|
|
115 |
RS |
8A |
SRA |
Сдвиг вправо арифметический Shift Right Single Arithmetic
|
|
116 |
RS |
8B |
SLA |
Сдвиг влево арифметический Shift Left Single Arithmetic
|
|
117 |
RS |
8C |
SRDL |
Сдвиг вправо двойной кода Shift Right Double Logical
|
|
118 |
RS |
8D |
SLDL |
Сдвиг влево двойной кода Shift Left Double Logical
|
|
119 |
RS |
8E |
SRDA |
Сдвиг вправо двойной Арифметический Shift Right Double Arithmetic |
|
120 |
RS |
8F |
SLDA |
Сдвиг влево двойной Арифметический Shift Left Double Arithmetic |
|
121 |
RS |
90 |
STM |
Запись в память групповая Store Multiple
|
|
122 |
RS |
91 |
TM |
Проверить по маске Test under Mask
|
|
123 |
S1 |
92 |
MVI |
Пересылка непосредственная Move Immediate
|
|
124 |
S1 |
93 |
TS |
Проверить и установить Test and Set
|
|
125 |
S1 |
94 |
NI |
И непосредственное And Immediate
|
|
126 |
S1 |
95 |
CLI |
Сравнение непосредственное Compare Logical Immediate
|
|
127 |
S1 |
96 |
OI |
ИЛИ непосредственное Or Immediate
|
|
128 |
S1 |
97 |
XI |
Исключающее ИЛИ непосредст. Exclusive OR Immediate
|
|
129 |
RS |
98 |
LM |
Загрузка групповая Load Multiple
|
|
130 |
SI |
99 |
HPR |
Остановить и продолжить Halt and Proceed
|
|
131 |
SI |
9A |
TIOB |
Остановить ввод-вывод и Перейти Test I/O and Branch |
|
132 |
SI |
9B |
CIO |
Управление вводом-выводом Control I/O
|
|
133 |
SI |
9C |
SIO |
Начать ввод-вывод Start I/O
|
|
134 |
SI |
9D |
TIO |
Опросить ввод-вывод Test I/O
|
|
135 |
SI |
9E |
HIO |
Остановить ввод-вывод Halt I/O
|
|
136 |
SI |
9F
|
TCH |
Опросить канал Test Channel
|
|
137 |
RS |
B0 |
STMC |
Запись в память групповая Регистров управления Store Multiple Control |
|
138 |
RX |
B1 |
LRA |
Загрузка действительного адреса Load Real Address |
|
139 |
RS |
B8 |
LMC |
Загрузка групповая регистров Управления Load Multiple Control
|
|
140 |
SS |
D0 |
XIO |
Передача ввода-вывода Transfer I/O
|
|
141 |
SS |
D1 |
MVN |
Пересылка цифр Move Numerlcs
|
|
142 |
SS |
D2 |
MVC |
Пересылка символов Move Characters
|
|
143 |
SS |
D3 |
MVZ |
Пересылка зон Move Zones
|
|
144 |
SS |
D4 |
NS |
И And
|
|
145 |
SS |
D5 |
CLC |
Сравнение кодов Compare Logical
|
|
146 |
SS |
D6 |
OC |
ИЛИ Or
|
|
147 |
SS |
D7 |
XC |
Исключающее ИЛИ Exclusive Or
|
|
148 |
SS |
DC |
TR |
Перекодировать Translate
|
|
149 |
SS |
DD |
TRT |
Перекодировать и проверить Translate and Test
|
|
150 |
SS |
DE |
ED |
Отредактировать Edit
|
|
151 |
SS |
DF |
EDMK |
Отредактировать и отметить Edit and Mark
|
|
152 |
SS |
F1 |
MVO |
Пересылка со сдвигом Move with Offset
|
|
153 |
SS |
F2 |
PACK |
Упаковать Pack
|
|
154 |
SS |
F3 |
UNPK |
Распаковать Unpack
|
|
155 |
SS |
F8 |
ZAP |
Сложение с очисткой Zero and Add
|
|
156 |
SS |
F9 |
CP |
Сравнение десятичное Compare Decimal
|
|
157 |
SS |
FA |
AP |
Сложение десятичное Add Decimal
|
|
158 |
SS |
FB |
SP |
Вычитание десятичное Subtract Decimal
|
|
159 |
SS |
FC |
MP |
Умножение десятичное Multiply Decimal
|