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


         

Определение действительных чисел


      Ассемблер отдельно порождает поля данных дествительных чисел с
    помощью четырех-, восьми- и десятибайтовых описаний.  Короткому
    действительному числу здесь соответствует оператор DD; длинному
    действительному числу соответствует оператор DQ; а временному
    действительному чисоу - оператор DT.
 
      К сожалению, Макроассемблер фирмы IBM не обслуживает числа с
    плавающей точкой процессора 8087.  Если вы укажите действительное
    число в качестве операнда оператора DD или DQ, то в качестве данных
    получите запутанный набор нулей и единиц.  Этот формат плавающих
    чисел соответствует формату, используемому внутри интерпретатора
    языка Бейсик, и не является форматом ИИЭР, используемым в
    сопроцессоре 8087.  Поэтому программа для сопроцессора 8087 должна
    использовать несколько иной метод порождения действительных чисел.
 
      Существует два метода, которые можно использовать для
    построения действительных чисел.  Первый метод - ручное
    ассемблирование.  Вы выписываете действительное число в праивльном
    формате с помощью бумаги и ручки.  Эта операция содержит:
    тщательный анализ числа, преобразование десятичного числа в
    двоичную форму, разделение порядка и мантиссы, смещение порядка, и
    наконец, преобразование результата в двоичную или шестнадцатеричную
    систему.  Это реальный метод, но он требует изрядного опыта и
    огромных затрат времени программиста.  Второй метод порожления
    действительных чисел - косвенный метод, требующий большого
    количества машинного времени, но гораздо меньших затрат времени
    программиста.  Здесь вы записываете действительное число в виде
    произведения ил частного двух или более целых.  Ассемблер может
    непосредственно порождать целые числа с помощью команд DW, DD или
    DQ.  Сразу же после инициализации микросхемы 8087 программа может
    построить необходимые ей действительные числа, выполняя необходимые
    умножения и деления.  Например, в программе нужна константа с



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