Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 866.pdf
Скачиваний:
13
Добавлен:
30.04.2022
Размер:
623.88 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 2 ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХОПЕРАЦИЙ НАД ДВОИЧНЫМИ

ЧИСЛАМИ

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

1. Переписать в отчёт (рукой, а не копированием в электронном виде) формулировку заданий 4–10! Это требуется для того, чтобы корректно и в полном объёме выполнить все необходимые пункты задания. Данную лабораторную надо выполнять как вычислительная машина, которая действует строго по инструкции.

2.Определить свои числа А и С исходя из варианта. Вариант выбирается как сумма последнего числа в номере группы и номера в списке группы согласно ISU.

3.По заданному варианту исходных данных получить набор десятичных чисел:

X1 = A, X2 = C,

X3 = A+C, X4 = A+C+C, X5 = C-A, X6 = 65536-X4,

X7 = -X1, X8 = -X2, X9 = -X3, X10 = -X4, X11 = -X5, X12 = -X6.

Пример:

A = 2187

C = 30327

X1 = 2187

X2 = 30327

X3 = A + C = 2187 + 30327 = 32514X7 = -X1 = -2187

X8 = -X2 = -30327

X9 = -X3 = -32514

4. Выполнить перевод десятичных чисел X1,…,X6 в двоичную систему счисления, получив их двоичные эквиваленты B1,…,B6 соответственно.

Не использовать при этом никакой формат представления данных, не использовать никакую разрядную сетку.

9

Пример:

X1(10) → B1(2) = 1000 1000 1011 X2(10) → B2(2) = 111 0110 0111 0111 X3(10) → B3(2) = 111 1111 0000 0010

5. Используя 16-разрядный двоичный формат со знаком и полученные в предыдущем пункте задания двоичные числа B1,…,B6 (т.е. при необходимости дополнить числа B1…B6 ведущими нулями и однозначно интерпретировать эти числа в 16-разрядном двоичном формате со знаком), вычислить двоичные числа B7,…,B12: B7 = -B1,B8 = -B2, B9 = -B3, B10 = -B4, B11 = -B5, B12 = -B6.

Отрицательные числа представлять в дополнительном коде.

Пример:

B7(2) = - B1(2) = 1111 0111 0111 0101 B8(2) = - B2(2) = 1000 1001 1000 1001 B9(2) = - B3(2) = 1000 0000 1111 1110

6.Найти область допустимых значений для данного двоичного формата.

7.Выполнить обратный перевод всех двоичных чисел B1…B12

(используя 16-разрядный двоичный формат со знаком) в десятичные и прокомментировать полученные результаты.

Пример:

B1(2) →Y1(10) = 2187(10) = X1(10) Результатобратногопереводаиздвоичногочисла

вдесятичноеравенисходномудесятичномучислу B2(2) →Y2(10) = 30327(10) = X2(10) Результатобратногопереводаиздвоичногочисла

вдесятичноеравенисходномудесятичномучислу B3(2) →Y3(10) = 32514(10) = X3(10) Результатобратногопереводаиздвоичногочисла

вдесятичноеравенисходномудесятичномучислу B7(2) →Y7(10) = -2187(10) = X7(10) Результатобратногопереводаиздвоичногочисла

вдесятичноеравенисходномудесятичномучислу B8(2) → Y8(10) = -30327(10) = X8(10) Результат обратного переводаиз двоичного

числа в десятичное равен

10

8. Выполнить следующие сложения двоичных чисел:

B1+B2, B2+B3, B2+B7, B7+B8, B8+B9, B1+B8, B11+B3 (итого, 7

операций сложения).Для представления слагаемых и результатов сложения использовать 16-разрядный двоичный формат со знаком. Результаты сложения перевести в десятичную систему счисления, сравнить с соответствующими десятичными числами (т.е. сравнить с суммой слагаемых, представленных в десятичной системе: B1 + B2 vs X1 + X2).

Пример:

 

X1(10)

2187

 

B1(2)

0000 1000 1000 1011

 

 

+ B2(2) 0111 0110 0111 0111

+ X2(10)

30327

 

 

 

=

 

 

 

 

0111 1111 0000 0010(2)

= 32514(10)

 

32514(10)

 

 

 

 

CF = 0

PF = 1

AF = 1

ZF = 0

SF = 0

OF = 0

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

9. В отчёте (письменно, а не устно при ответе) дать подробные комментарии полученным результатам (к каждому результату сложения), как показано в таблице 2.6 книги «Введение в микроЭВМ». Расставить 6 флагов состояния.

10. При выставлении вспомогательного флага переноса (межтетрадный перенос – AF=Auxiliary Carry Flag) учитывать перенос не между 7-м и 8-м битами, а между 3-м и 4-м битами результата. При выставлении флага чётности PF учитывать только младший байт.

11. Проверить, что все пункты задания выполнены и выполнены верно.

11

B1(2)

0000 1000 1000 1011

 

X1(10)

2187

 

+ B8(2) 1000 1001 1000 1001

+ X8(10)

-30327

 

 

 

=

 

 

 

 

1001 0010 0001 0100(2)

= -28140(10)

 

-28140(10)

 

 

 

 

CF = 0

PF = 1

AF = 1

ZF = 0

SF = 1

OF = 0

При сложении положительного и отрицательного слагаемых получено

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

2.2.Состав отчёта

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

2.Отчёт предоставить в бумажном или электронном виде (записать нафлэш-накопитель и продублировать себе на электронную почту).

2.3.Подготовка к защите

1. Изучить главу 2.3 «Арифметические операции» следующей книги: Введение в микро-ЭВМ / С.А. Майоров, В.В. Кириллов, А.А.Приблуда. – Л. : Машиностроение. Ленинградское отделение, 1988. –303, с.: ил. – Прил.: с. 279-

297.– Библиогр.: с. 298-299. – Предм. указ.:с. 300-302.

2.Прочитать и повторить информацию из статьи в Википедии: http://ru.wikipedia.org/wiki/Дополнительный_код_(представление_числа).

3.Прочитать и повторить информацию из статьи в Википедии: http://ru.wikipedia.org/wiki/Регистр_флагов.

4.При защите отчёта надо уметь отвечать на вопросы по произведённым вычислениям, вопросы по материалам лекций №1 и №2 и следующиевопросы:

1)двоичное число представлено в 9-разрядном формате без знака. Какова область допустимых значений?

2)имеется 5-разрядный компьютер, в котором используется фиксированное смещение влево на 7. Какому числу соответствует двоичная последовательность 10101?

3)имеется 2-разрядный компьютер. Какой/какие способы представления чисел будут иметь одинаковую область допустимых значений (диапазон)?

4)имеется 6-разрядный компьютер. При использовании специального знакового бита диапазон представления равен [-31;31], т.е. 63 возможных значения. Однако с помощью 5 значащих разрядов можно закодировать 32

12