Assembler для начинающих



              

Типы данных 8087


      Микросхема 8087 имеет расширенный набор типов данных,
    необходимых для поддержки ее расширенных арифметических
    возможностей.  В то время как микропроцессор 8088 может
    непосредственно работать только с байтами и словами, микросхема
    8087 имеет семь типов данных.  Шесть из них присущи лишь микросхеме
    8087.  На Фиг. 7.1 показаны все семь типов данных, с которыми
    работает микросхема 8087.  Четыре формата представляют целые числа,
    а три формата - вещественные, или числа с плавающей точкой.  Один
    формат представляет упакованные десятичные числа.
 
      Рисунок 7.2 иллюстрирует способы, которыми микросхема хранит
    эти числа в памяти.  Как и в случае данных микропроцессора 8088,
    все данные хранятся с младшей частью операнда, записанной в младших
    адресах.  Бит знака всегда оказывается в байте по старшему адресу
    памяти.  Мы будем обсуждать назначение различных полей по мере
    того, как будем рассматривать разные типы данных.
 
      Сопроцессор 8087 работает с тремя типами целых чисел:  словом,
    которое имеет длину 16 бит и идентично слову микропроцессора 8088;
    коротким целым числом, имеющим длину 32 бита; длинным целым числом,
    64-значением.  Все эти числа являются числами, представленными в
    двоичном дополнительном коде.
 
      В программе целое слово определяется с помощью оператора DW.
    Такое целое слово может иметь значение в диапазоне от - 32768 до
    32767.  Этот целый формат уже использовался в наборе команд
    микропроцессора 8088.  Это - единственный формат данных, общий для
    микропроцессора 8088 и арифметического сопроцессора 8087.  Короткий
    целый формат требуется в операторе описания данных длиной 32 бита.
    Такое описание двойного слова выполняет оператор DD, определяющий
    целые числа, лежащие в диапазоне от -232 до 232-1.      Напоминаем, что
    с помощью оператора DD можно также определить пару
    СЕГМЕНТ:СМЕЩЕНИЕ.  Ассемблер решает сам, какую именно форму
    сгенерировать, основываясь на операнде.  Если операнд - адрес,



Содержание  Назад  Вперед