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

Вычитание

Сложение двоичных чисел со знаком | Вычитание двоичных чисел без знака | Вычитание двоичных чисел со знаком j | Вычитание и сложение операндов большой размерности | Умножение двоичных чисел без знака ; ; | Деление двоичных чисел без знака | Команды преобразования типов | Над двоично-десятичными числами | Вычитание Ш | Умножение I |


Читайте также:
  1. Вычитание
  2. Вычитание двоичных чисел
  3. Вычитание двоичных чисел без знака
  4. Вычитание двоичных чисел со знаком j
  5. Вычитание и сложение операндов большой размерности
  6. Вычитание Ш

Аналогично сложению, микропроцессор рассматривает упакованные ВСО-числал как двоичные, и, соответственно, выполняет вычитание BCD-чисел как двоичным (см. пример 8.14). Выполним вычитание 67-75. Так как микропроцессор выполняет вычитание способом сложения, то и мы последуем этому:

Пример 8.14. Вычитание упакованных BCD-чисел

67 =0110 0111

+

-75 = 1011 0101

=

-8 = 0001 1100 = 28???

Как видим, результат равен 28 в десятичной системе счисления, что является абсурдом. В двоично-десятичном коде результат должен быть равен 0000 1000 •' (или 8 в десятичной системе счисления). При программировании вычитания упа­кованных BCD-чисел программист, как и при вычитании неупакованных BCD-чисел, должен сам осуществлять контроль за знаком. Это делается с помощью флага cf, который фиксирует заем из старших разрядов. Само вычитание BCD-чисел осуществляется простыми командами вычитания sub или sbb. Коррекция результата осуществляется командой das:

das (Decimal Adjust for Substraction) — коррекция результата вычитания для представления в десятичном виде.

В Справочнике описан алгоритм, по которому команда das преобразует содержи-;
мое регистра al в две упакованные десятичные цифры.,..

 

Подведем некоторые итоги:

0 Микропроцессор имеет достаточно мощные средства для реализации вычис­лительных операций. Для этого у него есть блок целочисленных операций и блок операций с плавающей точкой. Для большинства задач, использующих язык ассемблера, достаточно целочисленной арифметики,

0 Команды целочисленных операций работают с данными двух типов: двоичны­ми и двоично-десятичными числами (BCD-числами).[7(Двоичные данные могут либо иметь знак, либо не иметь такового. Микро­процессор, на самом деле, не различает числа со знаком и без. Он помогает пишь отслеживать изменение состояния некоторых битов операндов и со­стояние отдельных флагов. Операции сложения и вычитания чисел со знаком vi без знака проводятся одним устройством и по единым правилам. И Контроль за правильностью результатов и их надлежащей интерпретацией полностью лежит на программисте. Он должен контролировать состояние флагов cf и of регистра eflags во время вычислительного процесса. 0 Для операций с числами без знака нужно контролировать флаг cf. Установка

его в 1 сигнализирует о том, что число вышло за разрядную сетку операндов. 0 Для чисел со знаком установка флага of в 1 говорит о том, что в результате сложения чисел одного знака результат выходит за границу допустимых зна­чений чисел со знаком в данном формате, и сам результат меняет знак (пропа­дает порядок).

Ш По результатам выполнения арифметических операций устанавливаются так­же флаги pf, zf и sf. 0 В отличие от команд сложения и вычитания, команды умножения и деления

позволяют учитывать знаки операндов.

0 Арифметические команды очень «капризны» к размерности операндов, поэто­му в систему команд микропроцессора включены специальные команды, по­зволяющие отслеживать эту характеристику.

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

0 Двоично-десятичные данные представляются в двух форматах, упакованном и неупакованном. Наиболее универсальным является неупакованный формат.


Дата добавления: 2015-08-27; просмотров: 120 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Упакованные BCD-числа| Социальная акция: ярмарка «Добрые вещи в добрые руки».

mybiblioteka.su - 2015-2024 год. (0.006 сек.)