Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по информатике.docx
Скачиваний:
66
Добавлен:
10.05.2015
Размер:
150.08 Кб
Скачать

Команда sar

Сдвиг арифметический вправо.

С

Бит знака

При выполнении этой команды значение флага SFне изменяется и поэтому флагOFвсегда равен 0. Из таблицы 2 получаются следующие комбинации флагов для этой команды (таблица 8). Последний сдвигаемый вправо бит образует флагCF. Позиции сдвигаемых вправо бит заполняются нулями

Таблица 8 (команда SAR)

№№

C

O

S

Z

P

Маски флагов

0

0

0

0

0

0

000

1

0

0

0

0

1

004

3

0

0

0

1

1

044

4

0

0

1

0

0

080

5

0

0

1

0

1

084

16

1

0

0

0

0

001

17

1

0

0

0

1

005

19

1

0

0

1

1

045

20

1

0

1

0

0

081

21

1

0

1

0

1

085

Команда shr

Сдвиг логический вправо

0

С

При выполнении этой команды флаг SFвсегда равен 0. ФлагOFформируется только в случае единичного сдвига, а при множественном сдвиге значение этого флага не определено и поэтому при таком сдвиге этот флаг должен быть замаскирован. При единичном сдвиге флагOF=1, если в исходном операнде старший бит равен 1.

Таблица при единичном сдвиге для команды SHR.

№№

C

O

S

Z

P

Маски флагов

0

0

0

0

0

0

0000

1

0

0

0

0

1

0004

3

0

0

0

1

1

0044

8

0

1

0

0

0

0800

9

0

1

0

0

1

0804

11

0

1

0

1

1

0844

16

1

0

0

0

0

0001

17

1

0

0

0

1

0005

19

1

0

0

1

1

0045

24

1

1

0

0

0

0801

25

1

1

0

0

1

0805

27

1

1

0

1

1

0845

Форматы чисел с плавающей точкой

Число состоит из 3-х полей: знака, порядка и мантиссы

Существует 3 формата: представления: одинарной точности, двойной точности и расширенной точности.

Поле знака во всех форматах представлено одним разрядом, причем 0 показывает положительное число, а 1 - отрицательное. При переходе от положительных чисел к отрицательным изменяется только знаковый разряд, дополнительный код не применяется.

Формат

Порядок

Мантисса

Общее число разрядов

Диапазоны чисел

Отрицат

числа

Положительные числа

Одинарная точность

8

23

32

-3,37х1038 -

-1,17х10-38

1,17х10-38

1,17х10-38

Двойная точность

11

52

64

-1,67х10308

-2,23х10-308

2,23х10-308

1,67х10308

Расширенная точность

15

64

80

-1,2х104932

-3,37х10-4932

3,37х10-4932

1,2х104032

Нуль в формате с плавающей запятой изображается числом, содержащим все нули в полях порядка и мантиссы. Следовательно, в этом формате имеются два нуля: +0 и -0.

Числа с плавающей точкой нормализованы, то есть старший разряд мантиссы равен 1, Для получения дополнительного разряда этот разряд отсутствует.

Чтобы иметь отрицательные порядки в поле порядка указывается сумма истинного порядка и положительной константы, которая называется смещением. Для одинарной точности смещение равно 127, для двойной точности – 1023 и для расширенной точности – 16383.

разделе Представление вещественных чисел в памяти компьютера первый шаг мы уже сделали и получили двоичное представление целой и дробной части числа 3,14:

3 = 11b

0,14 < 1/2, поэтому старший разряд равен 0

0,14 < 1/4, поэтому следующий разряд также равен 0

0,14 > (1/8 = 0,125), поэтому следующий разряд равен 1

0,14 – 0,125 = 0,015

0,015 < (1/16 = 0,0625), поэтому следующий разряд равен 0

0,015 < (1/32 = 0,03125), поэтому следующий разряд равен 0

0,015 < (1/64 = 0,015625), поэтому следующий разряд равен 0

0,015 > (1/128 = 0,0078125), поэтому следующий разряд равен 1

0,015 – 0,0078125 = 0,0071875

0,0071875 > (1/256 = 0,00390625), поэтому следующий разряд равен 1

0,14 = 0,00100011b

То есть число 3,14 в двоичном виде равно:

3,14 = 11,00100011b

Теперь рассчитаем смещённый порядок (предположим, что для хранения порядка у нас используется 5 бит). Тогда исходные данные:

ИП = 1 (у нас 2 в степени 1)

k = 5

СП = ИП + 2k-1 – 1 = 1 + 25-1 – 1 = 1 + 16 – 1 = 16

Записываем знак числа, порядок и мантиссу в соответствующие разряды:

Знак

Порядок

Мантисса

0

10000

0010001100