Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Директива extrn режимы ideal, masmСодержание книги
Поиск на нашем сайте
Блок-схема подсчета выражения: y=10x
5. ВСD –числа. Упакований та неупакований формат. Задавання ВСD чисел у програмі. Алгоритм виведення на екран дійсного числа, що зберігається у регістрі ST(0) сопроцесору у форматі?,*********Е+*.
FBSTP BCD_Mantisa; Записываем мантиссу как ВСD число в переменную
. Двоично-десятичный код, binary-coded decimal, BCD, 8421-BCD — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода. Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD. Преимущества и недостатки ]Преимущества § Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры. § Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность. § Упрощены умножение и деление на 10, а также округление. По этим причинам двоично-десятичный формат применяется в калькуляторах — калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге. Недостатки § Требует больше памяти. § Усложнены арифметические операции. Так как в 8421-BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510). Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила: 1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 (= 610 = 1610 - 1010: разница количеств комбинаций полубайта и используемых значений). 2. При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты. 3. При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110. Микропроцессор хранит BCD-числа в двух форматах (рис. 1): – упакованный формат – каждый байт содержит две десятичные цифры. Десятичная цифра представляет собой двоичное значение в 4 бита. Диапазон представления десятичного упакованного числа в одном байте составляет от 0 до 99; – неупакованный формат – каждый байт содержит одну десятичную цифру в четырёх младших битах. Старшие четыре бита имеют нулевое значение и называются зоной. Диапазон представления десятичного неупакованного числа в одном байте составляет от 0 до 9.
Рис. 1. Представление BCD- чисел.
Для того, чтобы описать BCD- числа в программе необходимо использовать директивы описания и инициализации данных – db и dt. К примеру (dt - 10 байт): .data Per_1 db 2,3,4,5,6,8,2;02 03 04 05 06 08 02 Per_2 dt 9875645; 00 00 00 00 00 00 98 75 64 05 Неупакованные BCD-числа Пример1: Результат сложения не больше 9. 6+3 6=0000 0110 + 3=0000 0011 = 9=0000 1001 – результат правильный. Пример2: Результат сложения больше 9. 06=0000 0110 + 07=0000 0111 = 13=0000 1101 – результат неправильный. Правильный результат в неупакованном BCD-формате: 0000 0001 0000 0011 1 3
Пример описания BCD-чисел: Oper_1 DB '295';BCD-число 592 в ASCII- формате Oper_2 DB 2,9,5;BCD-число 592 в неупакованном формате Oper_3 DB 2h,59h;Упакованное BCD-число 5902 Oper_4 DT 592;Упакованное BCD- число 00 00 00 00 00 00 00 00 59 02, занимающее 10 байт в памяти (старший байт отведён для кодирования знака: 80h (1000 0000b)- отрицательное число, 00h- положительное).
Алгоритм для получения представления действительного числа в памяти ЭВМ: 1. перевести модуль данного числа в двоичную систему счисления; 2. нормализовать двоичное число, т.е. записать в виде M × 2 p, где M — мантисса (ее целая часть равна 1(2)) и p — порядок, записанный в десятичной системе счисления; 3. прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления;
|
|||||||
|
Последнее изменение этой страницы: 2016-09-13; просмотров: 514; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.169 (0.007 с.) |