Лабораторная работа V1

ПРЕДСТАВЛЕНИЕ ДАННЫХ В ЭВМ ТИПА VAX-11. ФОРМАТЫ КОМАНД. АРИФМЕТИКО-ЛОГИЧЕСКИЕ ОПЕРАЦИИ С ЦЕЛОЧИСЛЕННЫМИ ДАННЫМИ.

Цель работы: Изучение архитектуры процессора VAX-11, изучение форматов команд и данных процессора VAX-11, изучение системы арифметико-логических команд процессора VAX-11, изучение типов адресации процессора VAX-11, ознакомление с работой эмулирующей программы. Выполнение простейших программ арифметико-логической обработки регистровых данных и данных из памяти с использованием различных способов косвенной адресации.

1. Методические указания

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

Данные в эмулирующей программе могут храниться, и соответственно, загружаться и считываться: а) в регистрах общего назначения (РОН), б) в памяти по адресам [0-7FF] (16).

Команды в программе могут храниться (соответственно, загружаться и считываться) в памяти по адресам [0-7FF].

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

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

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

НЕ нашли? Не то? Что вы ищете?

2. Практическая часть

Практическая часть работы включает выполнение следующих действий:

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

б) по заданному алгоритму составление и выполнение простейшей программы работы с целочисленными данными, хранящимися в РОН;

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

Правильность разработки и выполнения программ арифметико-логической обработки данных контролируется путем ручной трассировки заданных алгоритмов с последующим сравнением результатов работы программ с результатами ручной трассировки.

3. Варианты заданий

Значения исходных данных определяются выражениями:

X1 = [ (-1) ( NB + 0 ) ] * ( NB + NГ ) * 3,

X2 = [ (-1) ( NB + 1 ) ] * ( NB + NГ + 17 ),

X3 = [ (-1) ( NB + 2 ) ] * ( NB + NГ + 29 )2 ,

X4 = [ (-1) ( NB + 3 ) ] * [ ( NB + NГ + 23 )2 ,

X5 = X32,

X6 = (-1) * X42 .

Здесь и далее: все числовые значения в исходных данных задаются в десятичной системе счисления,

NB - номер варианта индивидуального задания,

NГ - младшая цифра номера группы.

Для программы по п. б) размещение данных определяется в табл.1.

Для программы по п. в) адреса данных определяются выражениями:

Aдр(X1) = ( NВ * NГ ),

Aдр(X2) = ( NВ * NГ ) + 10,

Aдр(X3) = ( NВ * NГ ) + 20,

Aдр(X4) = ( NВ * NГ ) + 30,

Aдр(X5) = ( NВ * NГ ) + 40,

Aдр(X6) = ( NВ * NГ ) + 50.

Для программы по п. б) начальный адрес размещения программы определяется выражением: Aдр = NВ * 10 + 600.

Варианты алгоритмов программ приведены на рис.1. Номер реализуемого алгоритма определяется как один плюс остаток от деления на 6 суммы номера варианта и младшей цифры номера группы.

Варианты размещения операндов в РОН приведены в табл.1.

Для программы по п. в) начальный адрес размещения программы определяется выражением: Aдр = NВ + NГ + 666.

Варианты алгоритмов программ приведены на рис.2. Номер реализуемого алгоритма определяется как один плюс остаток от деления

на 4 номера варианта.

Таблица 1 Варианты размещения операндов в РОН

Данные

Номера РОН по вариантам

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

X1

0

1

2

9

B

5

2

3

9

A

B

C

D

4

3

E

6

7

X2

1

2

3

8

A

4

3

4

A

B

C

D

E

5

5

0

7

8

X3

2

3

4

7

9

3

4

5

8

1

3

E

6

7

4

A

B

C

X4

3

4

A

6

8

2

5

8

7

2

4

0

7

9

8

B

C

D

X5

8

5

B

5

7

1

6

9

6

3

5

1

8

B

C

C

4

A

X6

9

6

C

4

6

0

7

A

5

4

9

2

9

C

1

8

D

E

В табл.2 указаны типы используемой адресации для каждого операнда, где 6 - косвенная регистровая (простая косвенная) адресация, 8 - автоинкрементная (простая косвенная с автоувеличением), 7 - автодекрементная (простая косвенная с автоуменьшением) и 9 - косвенная автоинкрементная адресация (двойная косвенная с автоувеличением). Вариант комбинации способов адресации определяется по табл.2.

Промежуточные ячейки, используемые при реализации косвенной

адресации, должны быть расположены с адреса: Aдр = ( NВ * NГ ) + 100. РОН, используемые при адресации данных, выбираются произвольно.

4. Порядок выполнения работы

А. В процессе самостоятельной работы:

1. Выбрать исходные данные в соответствии с номером варианта.

Например, для варианта (NВ = 33, NГ = 4) исходные данные

имеют следующий вид:

X1 = [ (-1) ( 33 + 0 ) ] * [ ( 33 + 4 ) * 3 ] = [ (-1) 33] * [ 37 * 3 ] = - 111

X2 = [ (-1) 34 ] * ( 37 + 17 ) = 54

X3 = [ (-1) 35 ] * [ ( 37 + 29 ) 2 ] = - 4356

X4 = [ (-1) 36 ] * [ ( 37 + 23 ) 2 ] = 3600 и т. д.

2. Перевести значения величин X1-X6 и адреса их размещения в шестнадцатеричную систему счисления.

Например, для варианта (NВ = 33, NГ = 4) исходные данные имеют следующий вид:

X1 = - 111 = 91

X2 = 54 = 36

X3 = - 4356 = EEFC

X4 = 3600 = 0E10

и т. д.

3. Составить карту распределения памяти под команды и данные.

4. По п. б) составить программу заданного алгоритма в мнемонических и машинных кодах.

5. Произвести трассировку заданного в п. б) алгоритма с использованием заданных исходных данных.

6. По п. в) составить программу заданного алгоритма в мнемонических и машинных кодах.

7. Произвести трассировку заданного алгоритма с использованием заданных исходных данных, при этом в таблице трассировки должны быть отражены также и значения информации в ячейках памяти и регистрах, используемых для реализации различных способов адресации.

8. Оформить отчет по лабораторной работе.

Б. В учебной лаборатории:

1. Записать в память программу, составленную в соответствии с п. б) задания.

2. Выполнить программу, занесенную в память.

3. Проверить результаты выполнения программы, сравнивая их с результатами ручной трассировки алгоритма.

4. Записать в память программу, составленную в соответствии с п. в) задания.

5. Записать в память промежуточную информацию, необходимую для реализации различных способов адресации.

6. Выполнить программу, занесенную в память.

7. Проверить результаты выполнения программы, сравнивая их с результатами ручной трассировки алгоритма.

Таблица 2 Способы адресации

Опера-тор

Номер

операн-да

Варианты

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1

Оп1

Оп2

7

7

7

8

6

-

9

-

6

9

9

6

7

-

8

-

8

6

8

7

9

-

6

-

9

9

6

9

7

-

8

-

9

6

9

8

2

Оп1

Оп2

9

6

6

9

8

9

7

8

8

7

6

8

7

9

6

7

7

7

7

6

7

6

9

8

6

8

8

8

9

7

7

6

9

7

6

7

3

Оп1

Оп2

8

6

8

-

7

8

6

6

9

6

7

-

9

6

9

6

8

9

9

-

9

8

7

7

7

8

7

-

6

6

6

9

8

7

8

-

4

Оп1

Оп2

9

-

7

8

6

7

9

7

7

-

9

6

6

8

9

8

9

-

6

9

6

8

9

8

6

-

7

9

8

7

9

7

8

-

8

9

5

Оп1

Оп2

8

7

9

8

9

6

8

7

8

6

8

7

7

8

7

8

6

7

8

7

7

7

6

6

7

6

6

8

8

9

8

8

6

7

6

7

5. Содержание отчета

1. Титульный лист.

2. Текст задания.

3. Перевод исходных данных в шестнадцатеричную систему счисления.

4. Схемы алгоритмов программ.

5. Тексты программ в мнемонических и машинных кодах.

6. Карта распределения памяти под команды и данные.

7. Таблицы трассировки программ.

Пример оформления карты памяти приведен в табл.3, текста программы - в табл.4, а в табл.5 и 6 - структура таблицы трассировки.

Таблица.3 Карта распределения памяти

Число

10-е значение

16-й код

Адрес загрузки

X1

-111

91

R3

X2

54

36

R5

X3

-4356

EEFC

R4

X3

-4356

EEFC

98

X4

3600

0E10

A2

X5

18974346

01218810

AC

Текст программы 1

3A2

Текст программы 2

2BF

Таблица.4 Текст программы

Оператор

Адрес

16-й код

Мнемокод

Комментарий

1

3A2

58 D7

DECL R8

X5=X5- 1

2

3A4

54 54 B2

MCOMW R4,R4

__

X4 = X4

3

3A7

55 53 8A

BICB2 R3,R5

__

X2= X1 & X2

…………

……………

………..

…………………

00

HALT

1 2

3 4

5 6

Pис..1

2

1

4

3

Рис.2

Таблица 5 Таблица трассировки для программы по п. б) задания

Номер

шага

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

Расчетные значения

Значение, полученное в лаборатории

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

После

выполнения

1

2

3

4

5

6

Таблица 6 Таблица трассировки для программы по п. в) задания

Номер

шага

Адрес ячейки памяти, в которой содержится результат операции

Расчетные значения

Значение, полученное в лаборатории

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

После

выполнения

1

2

3

4

5

Команды, используемые в данной лабораторной работе, представлены в табл.7.

Таблица 7 Целочисленные арифметические и логические операции

Мнемокод

КОП

Операция

Флаги

Описание

N

Z

V

C

ADDB2

80

оп2 = оп2 + оп1

двухоперандное

сложение

+

+

+

+

оп1 и оп2 складываются, результат записывается по адресу оп2

ADDW2

A0

+

+

+

+

ADDL2

C0

+

+

+

+

SUBB2

82

оп2 = оп2 - оп1

двухоперандное

вычитание

+

+

+

+

оп1 вычитается из оп2, результат записывается по адресу оп2

SUBW2

A2

+

+

+

+

SUBL2

C2

+

+

+

+

ADWC

D8

оп2 = оп2 + оп1+c сложение с переносом

+

+

+

+

оп1 складывается с оп2 и значением признака c, результат записывается по адресу оп2

SBWC

D9

оп2 = оп2 - оп1- c вычитание с заемом

+

+

+

+

оп1 и значение признака c вычитаются из оп2, результат записывается по адресу оп2

INCB

96

оп1 = оп1 + 1

инкремент

+

+

+

+

оп1 складываются с 1, результат записывается по адресу оп1

INCW

B6

+

+

+

+

INCL

D6

+

+

+

+

DECB

97

оп1 = оп1 - 1 декремент

+

+

+

+

из оп1 вычитается 1, результат записывается по адресу оп1

DECW

B7

+

+

+

+

DECL

D7

+

+

+

+

MNEGB

8E

оп2 = - оп1

пересылка дополнения оп1

+

+

+

+

дополнение оп1 пересылается по адресу оп2

MNEGW

AE

+

+

+

+

MNEGL

CE

+

+

+

+

MCOMB

92

___

оп2 = оп1

пересылка

инверсии

+

+

0

-

инверсия оп1

пересылается по адресу оп2

MCOMW

B2

+

+

0

-

MCOML

D2

+

+

0

-

Продолжение таблицы 7

Мнемокод

КОП

Операция

Флаги

Описание

N

Z

V

C

BISB2

88

оп2 = оп2 v оп1

двухоперандная

установка разрядов

+

+

0

-

логическое сложение

оп1 и оп2 , результат записывается по адресу оп2

BISW2

A8

+

+

0

-

BISL2

C8

+

+

0

-

BICB2

8A

___

оп2 = оп2 & оп1

двухоперандная

очистка разрядов

+

+

0

-

оп1 логически умножается

на инверсию оп2 , результат записывается по адресу оп2

BICW2

AA

+

+

0

-

BICL2

CA

+

+

0

-

XORB2

8C

оп2 = оп2 (+) оп1

двухоперандное исключающее ИЛИ

+

+

0

-

исключающее ИЛИ между оп1 и оп2, результат запоминается по адресу оп2

XORW2

AC

+

+

0

-

XORL2

CC

+

+

0

-