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

Форматы арифметических данных.

Режимы адресации данных | Команды общего назначения | Команды ввода-вывода | Команда вычитания SUB и вычитания с заемом SBB. | Индивидуальное задание. | Команда коррекции деления для представления в кодах ASCII (команда AAO ) | Логические команды OR, AND и XOR. | Команды сдвига | Индивидуальное задание. | Программа типа СОМ |


Читайте также:
  1. Арифметические преобразования при выполнении арифметических операций вида X op Y
  2. База данных. Файловая организация данных. Табличная организация базы данных.
  3. Важная часть методического раздела программы — обоснование методов сбора эмпирических данных.
  4. Документальные базы данных.
  5. Кодирование символьных данных. Кодовые таблицы
  6. Математика. Запись арифметических выражений
  7. Математика. Запись арифметических выражений

Двоичные числа могут иметь 8 или 16 битов и могут быть со знаком или без знака. У числа без знака все 8 или 16 битов представляют его значение. Следовательно, двоичные числа без знака могут принимать значения от 0 до 255 (8-битовые) или до 65535 (16-битовые). У числа со знаком старший бит (7 или 15) указывает его знак, а остальные биты содержат значение числа. Следовательно, числа со знаком могут принимать значения от -128 до 127 (8-битовые) или от -32768 до 32767 (16-битовые).

Десятичные числа

Микропроцессор 8x86 хранит десятичные числа в виде последователь­ностей байтов без знака в упакованном или неупакованном формате. Каждый байт упакованного десятичного числа содержит две цифры а двоично-десятичном коде BCD (binary-coded decimal). При этом код старшей цифры числа занимает четыре старших бита байта. Следовательно, один упакованный десятичный байт может содержать значения от 00 до 99.

Каждый байт неупакованного десятичного числа содержит только один двоич­но-десятичный код цифры в четырех младших битах. Следовательно, один неупа­кованный десятичный байт может содержать лишь значение от 0 до 9. При умноже­нии и делении четыре старших бита должны быть нулевыми, а при сложении или вычитании их значение несущественно.

Как же микропроцессор 8x86 узнает, с каким видом данных он имеет дело? Пусть требуется сложить два байта. Как он определяет, какие числа они представ­ляют (двоичные числа со знаком, двоичные числа без знака, упакованные деся­тичные числа или неупакованные десятичные числа)? На самом деле микропро­цессор 8x86 об этом совершенно не заботится и трактует все операнды только как двоичные числа.

Это хорошо в том случае, когда Ваши операнды и в самом деле являются двоичными числами, но если они оказались десятичными, то результаты, конечно, будут ошибочными. Для компенсации таких ошибок микропроцессор 8x86 имеет группу команд коррекции, которые обеспечивают получение правильного резуль­тата после выполнения операций над десятичными числами. Эти команды будут обсуждаться далее.

Хранение чисел в памяти

Как уже упоминалось, микропроцессор 8x86 хранит 16-битовые числа в порядке, противоположном естественному представлению, а именно он хранит младшие биты числа в байте с меньшим адресом. Например, при запоминании числа 1234Н в ячейке по имени NUM он размещает 34Н по адресу NUM, a 12H — по адресу NUM+1. При чтении изображения (или дампа) содержимого памяти учиты­вайте эту схему свертки байтов. Запомните фразу: "младший байт — младший адрес, старший байт — старший адрес".

Команды сложения.


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


<== предыдущая страница | следующая страница ==>
Индивидуальное задание.| Команда сложения ADD и команда сложения с добавлением переноса ADC.

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