Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Регистр флагов






Бит Название Расшифровка Назначение
  CF Carry flag Флаг переноса
      Установлен в " 1"
  PF Parity flag Флаг четности
      Установлен в " 0"
  AF Auxiliary flag Флаг вспомогательного переноса
      Установлен в " 0"
  ZF Zero flag Флаг нуля
  SF Sign flag Флаг знака
  TF Trace flag Флаг трассировки
  IF Interrupt flag Флаг разрешения прерываний
  DF Direction flag Флаг направления
  OF Overflow flag Флаг переполнения
12, 13 IOPL I/O Privilege Level Уровень привелегий инструкций ввода-вывода
  NT Nested Task Flag Флаг вложенной задачи
      Установлен в " 0"
  RF Resume flag Флаг возобновления
  VM Virtual-8086 Mode Разрешение виртуального режима процессора 8086
  AC Alignment Check Разрешение проверки выравнивания указателей на ОЗУ
  VIF Virtual Interrupt Flag Виртуальный образ флага IF
  VIP Virtual Interrupt Pending Указывает на наличие необслуженного прерывания
  ID Identification Flag Указывает на поддержку инструкции Команда CPUID
22-31     Установлены в " 0"

 


Лекция № 7 (90-минут)

 

Тема: КОДИРОВАНИЕ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ

 

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

Ее решают за счет использования особых способов кодирования числовых данных.

Рассмотрим три наиболее распространенных кода, которые применяются на практике: - прямой код; - обратный код; - дополнительный код.

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

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

К кодам выдвигаются следующие требования:

- разряды числа в коде жестко связаны с определенной разрядной сеткой;

- для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.

1. Прямой код. Наиболее естественный код. Формируется следующим образом: в знаковый бит (SX) числа помещают знак числа (0 - если число положительное и 1 - если число отрицательное), а остальные биты используют для абсолютного значения (модуля) числа. Правило преобразования чисел в прямом коде можно записать так:

 

. (3.8)

 

где A - вес старшего разряда в n-разрядной сетке, A=2s-1.

 

Отображение (s-битных) наборов (прямой код, верхняя числовая прямая) на числовую ось (числа, нижняя числовая прямая) для компьютерной системы показано на рис. 3.3

 

 

Рисунок 3.3- Отображение s-битных наборов (прямой код) на числовую ось

 

Например:

 

Десятичное число Двоичное число Прямой код Комментарии
(0(10)) 0000(2) 0, 000 положительный (0)
(0(10)) 0000(2) 1, 000 отрицательный (0)
(4(10)) 0100(2) 0, 100 положительная (4)
(- 4(10)) 1100(2) 1, 100 отрицательная (4)
(3(10)) 0011(2) 0, 011 положительная (3)
(- 3(10)) 1011(2) 1, 011 отрицательная (3)

 

Диапазон представимых чисел: -(2s-1-1)…(2s-1).

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

2. Обратный код. Обратный (n - разрядный) двоичный код положительного целого числа состоит из одноразрядного кода знака (0), за которым следует (n - 1) разрядное двоичное представление модуля числа, то есть обратный код для положительного числа совпадает с прямым кодом.

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

Обратный код числа определяется соотношением:

 

. (3.9)

 

где B=2s-1=Xmax - максимальное число в n-разрядной сетке.

 

Отображение (s-битных) наборов (обратный код, верхняя числовая прямая) на числовую ось (числа, нижняя числовая прямая) для компьютерной системы показано на рис. 3.4.

 

 

Рисунок 3.4 - Отображение s-битных наборов (обратный код) на числовую ось

 

Например:

 

Десятичное число Двоичное число Обратный код Комментарии
(0(10)) 0000(2) 0, 000 положительный (0)
(0(10)) 1111(2) 1, 111 отрицательный (0)
(4(10)) 0100(2) 0, 100 положительная (4)
(- 4(10)) 1011(2) 1, 011 отрицательная (4)
(3(10)) 0011(2) 0, 011 положительная (3)
(- 3(10)) 1100(2) 1, 100 отрицательная (3)

 

Диапазон представимых чисел: -(2s-1-1)…(2s-1).

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

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

3. Дополнительный код. Наиболее распространенный способ представления отрицательных целых чисел в компьютерных системах.

Он позволяет заменить операцию вычитания на операцию сложения, чем упрощает архитектуру компьютерной системы.

Дополнительный код является дополнением числа до некоторого граничного числа (|Xmax+1|=2s).

Дополнительный код положительного числа совпадает с прямым кодом.

Для получения дополнительного кода отрицательного числа существует три способа:

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

- из модуля числа вычитается (1) младший бит, а затем инвертируются все разряды;

- необходимо записать n-битный модуль числа. Затем просматривать число справа налево, сохранить все младшие нули и первую встретившуюся (1), а остальные биты инвертировать.

Дополнительный код числа определяется соотношением:

 

. (3.10)

 

. (3.11)

 

где - , C = Xгр. равняется весу не существующего в данном числе разряда, расположенного слева от знаковой цифры.

 

Отображение s-битных наборов (дополнительный код верхняя числовая прямая) на числовую ось (числа нижняя числовая прямая) для компьютерной системы показано на рис. 3.5.

 

 

Рисунок 3.5 - Отображение s-битных наборов (дополнительный код) на числовую ось

 

Например:

 

Десятичное число Двоичное число Дополнительный код Комментарии
(0(10)) 0000(2) 0, 000 положительный (0)
(4(10)) 0100(2) 0, 100 положительная (4)
(- 4(10)) 1100(2) 1, 100 отрицательная (4)
(3(10)) 0011(2) 0, 011 положительная (3)
(- 3(10)) 1101(2) 1, 101 отрицательная (3)

 

Диапазон представимых чисел: -(2s-1)…(2s-1).

Свойства дополнительного кода:

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

- любое число в дополнительном коде можно считать младшими битами («хвостом») числа любой длины, если содержимое знакового бита копировать влево. Эта операция называется расширением знака. Используется, когда исходные операнды в операциях сложения и вычитания имеют разную длину.

Свойства кодов:

1. Операции должны выполняться над данными, представленными в одном и том же коде: ПК-ПК, ОК-ОК, ДК-ДК;

2. Положительные числа в ПК, ОК, ДК не меняют своего представления;

3. Результат выполнения операций сложения и вычитания над числами, представленными в ПК, ОК или ДК, являются ПК, ОК или ДК соответственно;

4. Двоичный набор, представляющий (-0) в ПК и ДК, является запрещенной комбинацией;

5. В отличие от ПК, в ОК и ДК нельзя отбрасывать нули после знакового разряда в целой части и нули в конце дробной части отрицательного числа (разрешается отбрасывать 1).

 


 

Лекция № 8 (90-минут)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.