ОТВЕТЫ К ИЗБРАННЫМ УПРАЖНЕНИЯМ

УПРАЖНЕНИЯ 1.1

1.

а)  Г. Холлерит изобрёл метод обработки данных, подготовленных на перфокартах. Разработанное им оборудование использовалось при переписи населения США в 1890 г.

б)  Г. Айкен завершил разработку первой большой цифровой вычислительной машины в 1944 г. Поскольку в вычислительной машине МАРК I использовались электромеханические устройства, такие как реле, она работала медленнее, чем разработанные вслед за ней электронные вычислительные машины.

в)  П. Эккерт - соразработчик (вместе с Д. Мочли) электронной цифровой вычислительной машины. Эккерт и Мочли завершили создание первой электронной вычислительной машины "Эниак" в 1946 г.

г)  Д. Мочли является соразработчиком электронной цифровой вычислительной машины.

д)  Дж. фон Нейман - легендарный математик, чьё имя тесно связано с разработкой цифровых вычислительных машин в 1940 и в начале 1950-х гг.

е)  Дж. Бэкус руководил группой специалистов фирмы IBM, занимавшихся разработкой одного из первых языков высокого уровня - Фортрана, созданного в 1954 г. Язык программирования Фортран предназначался для выполнения сложных математических вычислений.

3.

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

УПРАЖНЕНИЯ 1.2

1.

J:      .BLKL   1
K:      .BLKL   1
        .ENTRY  START,0
        MOVL    #50,J
        MULL3   #32,J,K
        $EXIT_S
        .END    START

УПРАЖНЕНИЯ 2.1

2.

Дес Шест Двоичное Дес Шест Двоичное Дес Шест Двоичное Дес Шест Двоичное

101

65

1100101

126

1111110

151

97

10010111

176

В0

10110000

102

66

1100110

127

7F

1111111

152

98

10011000

177

В1

10110001

103

67

1100111

128

80

10000000

153

99

10011001

178

В2

10110010

104

68

1101000

129

81

10000001

154

10011010

179

В3

10110011

105

69

1101001

130

82

10000010

155

10011011

180

В4

10110100

106

1101010

131

83

10000011

156

10011100

181

В5

10110101

107

1101011

132

84

10000100

157

9D

10011101

182

В6

10110110

108

1101100

133

85

10000101

158

10011110

183

В7

10110111

109

6D

1101101

134

86

10000110

159

9F

10011111

184

В8

10111000

110

1101110

135

87

10000111

160

А0

10100000

185

В9

10111001

111

6F

1101111

136

88

10001000

161

А1

10100001

186

ВА

10111010

112

70

1110000

137

89

10001001

162

А2

10100010

187

BB

10111011

113

71

1110001

138

10001010

163

A3

10100011

188

ВС

10111100

114

72

1110010

139

10001011

164

А4

10100100

189

BD

10111101

115

73

1110011

140

10001100

165

А5

10100101

190

BE

10111110

116

74

1110100

141

8D

10001101

166

А6

10100110

191

BF

10111111

117

75

1110101

142

10001110

167

А7

10100111

192

С0

11000000

118

76

1110110

143

8F

10001111

168

А8

10101000

193

С1

11000001

119

77

1110111

144

90

10010000

169

А9

10101001

194

С2

11000010

120

78

1111000

145

91

10010001

170

АА

10101010

195

С3

11000011

121

79

1111001

146

92

10010010

171

АВ

10101011

196

С4

11000100

122

1111010

147

93

10010011

172

АС

10101100

197

С5

11000101

123

1111011

148

94

10010100

173

AD

10101101

198

С6

11000110

124

1111100

149

95

10010101

174

АЕ

10101110

199

С7

11000111

125

7D

1111101

150

96

10010110

175

AF

10101111

200

С8

11001000

3.

а.

1000

б.

1011

в.

1010

г.

100001

д.

100100

е.

100010

ж.

10001000

з.

1001011111

и.

1100001111101

4.

а.

10

б.

1

в.

0

г.

1101

д.

10010

е.

11000

ж.

101110

з.

11111011

и.

1001001001

5.

а.

5

б.

26

в.

58

г.

46

д.

51

е.

93

ж.

99

з.

111

и.

229

к.

939

л.

2977

м.

12974

6.

а.

^X5

б.

^X1A

в.

^X3A

г.

^X2E

д.

^X33

е.

^X5D

ж.

^X63

з.

^X6F

и.

^XE5

к.

^X3AB

л.

^XBA1

м.

^X32AE

7.

а.

^XB1

б.

^XFD

в.

^X18D

г.

^XAFD

д.

^X981

е.

^X1B18

ж.

^XA82F

з.

^X85FC

и.

^X3B88

8.

а.

^X4D

б.

^XC9

в.

^X39

г.

^X9F9

д.

^X247

е.

^X1FE

ж.

^XA343

з.

^XBFE

и.

^X1B8A

9.

а.

10

б.

16

в.

256

г.

31

д.

42

е.

69

ж.

164

з.

200

и.

218

к.

4,980

л.

6,717

м.

62,430

10.

а.

1010

б.

1111

в.

11000

г.

100101

д.

101010

е.

110011

ж.

1010101

з.

1100001

и.

10000000

к.

1111101000

л.

110111100011

м.

1011101101111

11.

а.

^XA

б.

^XF

в.

^X18

г.

^X25

д.

^X2A

е.

^X33

ж.

^X55

з.

^X61

и.

^X80

к.

^X3EB

л.

^XDE3

м.

^X176F

УПРАЖНЕНИЯ 2.2

2.

а.

00001000

нет переноса

(3+5=8)

б.

00000111

перенос

(11+(-4)=7)

в.

11110111

перенос

((-3)+(-6)=-9)

г.

11101011

перенос

((-20)+(-1)=-21)

д.

00000010

перенос

(39+(-37)=2)

е.

00001000

нет переноса

((-99)+37=-62)

3.

а.

11111110

заём

(3-5=2)

б.

00001111

заём

(11-(-4)=15)

в.

00000011

нет заёма

((-3)-(-6)=3)

г.

11101101

заём

((-20)-(-1)=-19)

д.

01001100

заём

(39-(-37)=76)

е.

01111000

нет заёма

((-99)-37=120)

4.

а.

^X0B нет переноса

б.

^X07 перенос

в.

^XF7 перенос

г.

^XEB перенос

д.

^X02 перенос

е.

^XC2 перенос

5.

а.

^XFE нет заёма

б.

^X0F заём

в.

^X03 нет заёма

г.

^XED заём

д.

^X04 заём

е.

^X78 нет заёма

7.

а.

^X37

б.

^XA1

в.

^X7C

г.

^XEF

д.

^X39E5

е.

^XABF2

ж.

^X3BEF58D1

з.

^XDE698E5E

8.

a.

1

б.

-1

в.

15

г.

26

д.

-6

e.

-96

ж.

122

з.

-125

9.

a.

1

б.

255

в.

15

г.

26

д.

250

e.

160

ж.

122

з.

131

УПРАЖНЕНИЯ 3.1

1.

a.

^X9F90

б.

^X349F

в.

^X0BCD

г.

^X12349F90

д.

^X00123494

е.

^XCDEF9F00

3.

  Байт Адрес
a.

1F

00000203

б.

24

00000201

в.

1E

00000202

г.

1A

00000200

д.

00

00000203

УПРАЖНЕНИЯ 3.2

1.

  Содержимое Адрес
a.

0000000F

00000208

б.

00000200

00000208

в.

00000000

00000204

г.

0000020B

00000204

д.

00000002

0000020C

e.

00000110

00000204

ж.

000000E0

00000204

з.

00000000

00000208

и.

0000000F

00000208

 

FFFFFFFF

0000020C

2.

  Содержимое Адрес
 

00000020

00000200

 

00000040

00000204

 

00000060

00000208

 

00000051

0000020C

УПРАЖНЕНИЯ 4.1

3.

а.

^X14

б.

^X80

в.

^X80

г.

^X0080

д.

^XFF80

е.

^X00000128

ж.

^X80

з.

^X00001000

УПРАЖНЕНИЯ 6.1

1.

а.

253, 253

б.

65533, -3

в.

32767, 32767

г.

63254, -2282

д.

32768, -32768

е.

32769, -32767

ж.

33021, -32515

з.

30293, 30293

и.

28399, 28399

2.

   

N

Z

V

C

а.

^XFF03

1

0

0

1

б.

^X0003

0

0

0

1

в.

^X8001

1

0

0

1

г.

^X08EA

0

0

0

1

д.

^X8000

1

0

1

1

е.

^X7FFF

0

0

0

1

ж.

^X7F03

0

0

0

1

з.

^X89AB

1

0

0

1

и.

^X9111

1

0

0

1

3.

   

N

Z

V

C

а.

^X0217

0

0

0

0

б.

^XEA46

1

0

1

0

в.

^X6E48

0

0

0

1

г.

^XFFFE

1

0

0

1

д.

^X0000

0

1

0

1

е.

^X45AF

0

0

0

1

7.

(устанавливаются отмеченные биты)

 

INCL

 

DECL

 

INCW

 

DECW

 

N

Z

V

C

 

N

Z

V

C

 

N

Z

V

C

 

N

Z

V

C

а.

1

0

1

0

 

0

0

0

0

 

0

1

0

1

 

1

0

0

0

б.

1

0

0

0

 

0

0

1

0

 

0

0

0

0

 

1

0

0

1

в.

0

1

0

1

 

1

0

0

0

 

0

1

0

1

 

1

0

0

0

г.

0

0

0

0

 

1

0

0

1

 

0

0

0

0

 

1

0

0

1

д.

0

0

0

0

 

0

1

0

0

 

0

0

0

0

 

0

1

0

0

е.

1

0

0

0

 

1

0

0

0

 

0

0

0

0

 

0

1

0

0

УПРАЖНЕНИЯ 6.2

1.

а.

^X03AC

б.

^X85E0 (переполнение)

в.

^XFFFF

г.

^XFFFE

д.

^X0001

е.

^XFFFF (переполнение)

2.

а.

^X0050

б.

^X0000

в.

недопустимо (прерывание)

г.

^X0000

д.

^X0001

е.

недопустимо (установится бит V)

УПРАЖНЕНИЯ 7.1

1.

а.

^X0000C4E0 <= 0

б.

^X0000C4FB <= 0

в.

^X000010E4 <= 0

г.

^X0000112C <= 0

д.

^X00001111 <= 0

е.

^X0000040E <= 0

ж.

^X00000E24 <= 0

з.

^X000002FB <= 0

и.

^X0000FFC4 <= 0

к.

^X0000005C <= 0

УПРАЖНЕНИЯ 7.2

1.

  Значение R0 Содержимое Адрес   Значение R0 Содержимое Адрес
а.

00000000

    б.

не изменилось

00000000

00001200

в.

00001204

00000000

00001200

г.

000011FC

00000000

000011FC

д.

не изменилось

00001200

00001200

е.

0000120С

   
ж.

00001208

0000120С

00001204

з.

00001204

0000120С

00001204

и.

не изменилось

не изменилось

00001200

к.

000011FC

000011F4

000011F8

д.

000011F4

    м.

00001208

000011F4

00001208

УПРАЖНЕНИЯ 8.2

1.

   

N

Z

V

С

а.

В = ^XFFFFFFFF

1

0

0

-

б.

С = ^X10305070

0

0

0

-

в.

А = ^X0D0B0907

0

0

0

-

г.

С = ^XF2F4F6F8

1

0

0

-

д.

не изменилось

0

0

0

-

е.

не изменилось

0

0

0

-

10.

а.

А = В(первое значение)
В = А(первое значение)

   
б.

В = 0

в.

В = -А

г.

В = -А

д.

С = А + В

УПРАЖНЕНИЯ 9.1

1.

^X00000005

^X00004212

2.

а.

^X7FFC8FF4 <= ^X00000256
SP <= ^X7FFC8FF4

б.

R1 <= ^X00000005
SP <= ^X7FFC8FFC

в.

SP <= ^X7FFC9000

г.

^X7FFC8FF4 <= ^X000004E6 до ^X000004E9
SP <= ^X7FFC8FF4
PC <= ^X0000067F

д.

^X7FFC8FF4 <= ^X000004E5
SP <= ^X7FFC8FF4
PC <= ^X00000256

е.

SP <= ^X7FFC8FFC
PC <= ^X00000005

ж.

SP <= ^X7FFC8FF4

з.

^X7FFC8FF4 <= ^X00000005
SP <= ^X7FFC8FF4

и.

^X7FFC8FF4 <= ^XFFFFF624
^X7FFC8FF0 <= ^X00000256
SP <= ^X7FFC8FF0

к.

R1 <= ^X00000005
R2 <= ^X00004212
SP <= ^X7FFC9000

УПРАЖНЕНИЯ 10.1

3.

а.

11

б.

25

в.

3

г.

1

д.

3

е.

22

ж.

25

з.

13

4.

а.

переместимый

б.

переместимый

в.

абсолютный

г.

сложный

д.

абсолютный

е.

абсолютный

ж.

сложный

з.

переместимый

5.

Пропущены следующие операторы:

B:      .BLKL   D-C
K = J 
J = I+5 

отмечены как ошибочные следующие операторы:

A:      .BLKL   K
B:      .BLKL   D-C 
D:      .BLKL   K+I
K = J 

6.

I = 3
J = I+5 
K = J
A:      .BLKL   K 
C:      .BLKL   I 
D:      .BLKL   K+I 
B:      .BLKL   D-C

УПРАЖНЕНИЯ 10.2

2.

а.

ничего

б.

MOVL    #3,W

в.

MOVL    R,R0

г.

MOVL    H,Q

д.

ничего

е.

MOVL    I,J
MOVL    G,F

УПРАЖНЕНИЯ 10.3

1.

а.

PROB    ЕХР=A,ТОТAL=B,SUM=C,MAX=D

б.

PROB    ЕХР=A+5,TOTAL=B(R5)[R3],SUM=-(SP),MAX=#27

в.

PROB    EXP=A,MAX=D

г.

PROB    TOTAL=R5,SUM=<A,B>,MAX=LONGSYMBOL

д.

PROB    SUM=(SP)+

е.

PROB    EXP=<A,B,C,D>

2.

a.

SECOND  A,B,C,D

 
б.

SECOND  C,A,B,D

 
B.

SECOND  ADS,ORK,W,CHAN

 
г.

SECOND  ,(R5+,,-(SP)

Это выглядит безобразно,
но может быть правильно
д.

SECOND  <A,B>

 
e.

SECOND  ,,,<A,B>

 

5.

.MACRO  ADD A=Х,B=#100,C=(R1)+,D=#0,ANS=R0 
ADDL3   A,B,ANS 
ADDL2   C,ANS 
ADDL2   D,ANS 
.END    ADD

УПРАЖНЕНИЯ 12.1

1.

а.

51500000

б.

53374000

в.

51314159

г.

47500000

д.

73803500

е.

35492300

ж.

69849600

з.

41954200

2.

а.

3.00000Е 00
3

б.

-7.42000Е 02
-742

в.

8.94026Е-01
0.894026

г.

8.05216Е-06
.00000805216

д.

-2.93465Е 05
-293465

е.

-1.00000Е 06
-1000000

ж.

9.50125Е-13
.000000000000950125

з.

-7.90881Е 13
-79088100000000

УПРАЖНЕНИЯ 12.2

1.

а.

^X00004080

б.

^X0000C220

в.

^X000043C8

г.

^X00004000

д.

^XCCCD3ECC

е.

^XD70ABD23

2.

а.

1.0

б.

0.5

в.

0.25

г.

1.8446744Е 19 или 2.0**64

д.

-1.0

е.

0.2

3.

Число с плавающей точкой (из п. 1) в формате типа D

а.

00000000

00004080

1.0

б.

00000000

0000С220

-10.0

в.

00000000

000043С8

100.0

г.

00000000

00004000

0.5

д.

CCCDCCCC

CCCC3ECC

0.1

е.

A3D73D70

D70ABD23

-0.01

Число с плавающей точкой (из п. 2) в формате типа D

а.

00000000

00004080

1.0

б.

00000000

00004000

0.5

в.

00000000

00003F80

0.25

г.

00000000

00006080

2.0**64

д.

00000000

0000C080

-1.0

е.

CCCDCCCC

CCCC3F4C

0.2

Число с плавающей точкой (из п. 1) в формате типа G

а.

00000000

00004010

1.0

б.

00000000

0000С044

-10.0

в.

00000000

00004079

100.0

г.

00000000

00004000

0.5

д.

999А9999

99993FD9

0.1

е.

147В47АЕ

7AE1BFA4

-0.01

Число с плавающей точкой (из п. 2) в формате типа G

а.

00000000

00004010

1.0

б.

00000000

00004000

0.5

в.

00000000

00003FF0

0.25

г.

00000000

00004410

2.0**64

д.

00000000

0000С010

-1.0

е.

999А9999

99993FE9

0.2

Число с плавающей точкой (из п. 1) в формате типа Н

а.

00000000

00000000

00000000

00004001

1.0

б.

00000000

00000000

00000000

4000С004

-10.0

в.

00000000

00000000

00000000

90000407

100.0

г.

00000000

00000000

00000000

00004000

0.5

д.

999А9999

99999999

99999999

99993FFD

0.1

е.

147В47АЕ

7АЕ1АЕ14

Е147147А

47AEBFFA

-0.01

Число с плавающей точкой (из п. 2) в формате типа Н

а.

00000000

00000000

00000000

00004001

1.0

б.

00000000

00000000

00000000

00004000

0.5

в.

00000000

00000000

00000000

00003FFF

0.25

г.

00000000

00000000

00000000

00004041

2.0**64

д.

00000000

00000000

00000000

0000С001

-1.0

е.

999А9999

99999999

99999999

99993FFE

0.2

УПРАЖНЕНИЯ 14.1

1.

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

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

в)  Виртуальная память. Система виртуальной памяти - это система, реализующая процесс автоматического перекрытия с помощью смены страниц, находящихся в быстродействующей основной памяти ЭВМ, страницами, загружаемыми с внешнего запоминающего устройства большой ёмкости. Это существенно расширяет пространство памяти, доступное для программы.

г)  Кэш-память. Кэш-память представляет собой сверхоперативную память, используемую для буферизации запросов при обменах с основной памятью.

д)  Страница. Страница является блоком памяти, представляющим собой единицу информационного обмена в системах виртуальной памяти. На ЭВМ семейства VAX длина страницы составляет 512 байтов.

е)  Фрейм. Фрейм - блок памяти, буферизуемый в кэш-памяти.

ж)  Контекст процесса. Контекст образуют ресурсы вычислительной машины, требуемые процессу для выполнения программы.

2.

Пространство Р0 или область программы предназначается для программ и их данных. Диапазон виртуальных адресов, охватываемый пространством начинается с адреса ^X00000000 и кончается адресом ^X3FFFFFFF. Пространство Р1 или область управления предназначено для организации стека и различных вспомогательных функций обслуживания программы пользователя, пространство Р1 занимает виртуальные адреса в диапазоне ^X7FFFFFFF - ^X40000000; такое обратное указание границ диапазона показывает, что область памяти, выделяемая в этом пространстве, расширяется в сторону младших адресов Пространство системы начинается с виртуального адреса ^X80000000 и кончается адресом ^XFFFFFFFF. Однако в настоящее время верхнюю часть области памяти, расположенную выше адреса ^XBFFFFFFF, использовать не разрешается.

УПРАЖНЕНИЯ 14.2

1.

а)  Привилегия - уровень, на котором программа имеет доступ к ресурсам вычислительной системы.

б)  Режим доступа - определяет уровень привилегии, на котором в текущий момент времени программа имеет доступ к памяти и инструкциям. На ЭВМ семейства VAX имеется четыре режима доступа: ядра, управления, супервизора и пользователя.

в)  Регистры процессора - внутренние ячейки памяти процессора. Имеется 16 регистров общего назначения, а также специальные регистры, такие как регистр PSL.

г)  Шина - совокупность электрических проводников, используемая для подключения к процессору памяти, и периферийных устройств.

д)  UNIBUS - асинхронная шина с 16-битовым трактом данных, применяемая для подключения многих устройств ввода-вывода на ЭВМ семейства VAX.

е)  MASSBUS - шина с 16-битовым трактом данных, применяемая для подключения к ЭВМ семейства VAX высокоскоростных устройств ввода-вывода.

ж)  Q-BUS - асинхронная шина с 16-битовым трактом данных, имеющая низкую стоимость, применяемая для ЭВМ серии MicroVAX.

з)  Прямой доступ к памяти - метод, который позволяет устройствам ввода-вывода производить выборку или запись в памяти без вмешательства процессора.

и)  Прерывание - передача управления программе, вызванная по сигналу от устройства ввода-вывода.

к)  Ловушка (trap) - передача управления, вызванная возникновением состояния ошибки в выполняющейся программе. Прерывание по исключительной ситуации такого типа возникает сразу после завершения выполнения инструкции, а сохраняемое значение программного счётчика является адресом следующей инструкции, которая должна выполняться, если бы не произошло прерывание.

л)  Отказ (fault) - передача управления, вызванная состоянием ошибки в выполняющейся программе. Прерывание по исключительной ситуации этого типа возникает до завершения выполнения инструкции, а сохраняемое значение программного счётчика представляет собой адрес инструкции, при выполнении которой произошло такое прерывание.

2.

а)  15 возможных комбинаций.

б) Да.

УПРАЖНЕНИЯ 15.1

4.

Директива .LIST служит для управления форматом листинга, создаваемого во время второго прохода ассемблирования.

Директива .WORD используется для резервирования памяти и инициализации одного или нескольких слов. Во время первого прохода ассемблера осуществляется резервирование памяти, для чего при обнаружении данной директивы счётчик адресов увеличивается на соответствующее значение. Во время второго прохода для списка выражений, находящегося в поле операндов директивы, генерируется объектный код. Значение счётчика адресов изменяется так же, как и на первом проходе.

Директива .REPT даёт указание ассемблеру повторить следующий после неё фрагмент текста программы столько раз, сколько задано в поле операндов директивы. Конец фрагмента текста помечает директива .ENDR. Действие директивы одинаково для двух проходов.

Директива .ASCII служит для резервирования памяти и инициализации символов в коде ASCII. Число символов может быть от 0 и больше. Во время первого прохода осуществляется резервирование памяти, для чего счётчик адресов увеличивается на соответствующее значение. Во время второго прохода для строки символов в коде ASCII, находящейся в поле операндов директивы, генерируется объектный код. Кроме того, значение счётчика адресов изменяется так же, как и при первом проходе.

 

< НАЗАД ОГЛАВЛЕНИЕ ВПЕРЁД >