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


         

но не может знать, является


            006F  9B D9 E9                       FLDL2T
            0072  9B D9 EA                       FLDL2E
            0075  9B D9 EC                       FLDLG2
            0078  9B D9 ED                       FLDLN2
 
            007B                     CODE    ENDS
                                           END
          Фиг. 7.10 Команды пересылки сопроцессора 8087
    мнемоника для разных типов данных.    Так получилось потому, что
    ассемблер может различать четырехбайтовые и восьмибайтовые
    операнды, но не может знать, является ли операнд действительным или
    целым числом.
 
      Всякий раз, когда операнд - целое, используется команда FILD.
    Итак, FILD загружает слово (16 бит), короткое целое число (32 бита)
    или длинное целое число (64 бита).    Чтобы загрузить упакованное
    десятичное число (80 бит), используется команда FBLD.  Буква B
    указывает десятичные числа.  Наконец, команда FLD загружает
    действительные числа.  Ассемблер определяет, какой вид целого или
    действительного числа вы желаете использовать.
 
      В ассемблере для имен команд сопроцессора 8087, ссылающихся к
    памяти, используется соглашение о том, что в случае целых чисел
    вслед за буквой F следует буква I, в случае десятичных чисел -
    буква B, и никакой буквы не следует в случае действительных чисел.
    Мы увидим, что то же соглашение используется и в командах записи, и
    в арифметических командах, которые указывают операнд в памяти.
 
      Как видно из Фиг. 7.10, для каждого из семи обслуживаемых
    сопроцессором 8087 типов данных существует команда загрузки.
    Команда загрузки указывает поле данных в памяти, микросхема 8087
    преобразует данные из их внешнего представления во временный
    действительный формат.  Преобразованное число помещается в стек,
    увеличивая его объем на единицу.  Если вы попытаетесь поместить
    число в стек, который уже содержит восемь чисел, сопроцессор 8087
    сообщит об особой ситуации - переполнении стека.  Если программа не

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