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


         

Степени десяти


      Первый пример - исходный текст программы на Фиг. 7.23.      Эта
    программа распечатывает короткое действительное представление
    степеней 10 от 103 до 1039.  Как мы уже видели в разделе,
    посвященном представлению данных, Макроассемблер фирмы IBM не имеет
    возможностей непосредственно генерировать действительные числа.
    Наличие такой таблицы чисел облегчит вам представление в виде
    констант степеней 10.  По этой таблице вы сможете определить
    шестнадцатеричное представление числа, которое нужно использовать в
    программе.
 
      Программа вычисляет только каждую третью степень 10, и
    использует короткий действительный формат.  Если вы работаете с
    много большими числами, или вам нужна большая точность, тогда нужно
    выполнить этот пример, используя длинный действительный формат
    чисел, а также построить каждую степень 10.  Выполните это в
    качестве упражнения.
 
      Первоочередная цель этого примера - введение в программирование
    и работу на сопроцессоре 8087.  Это отдельная самостоятельная
    программа, предназначенная для выполнения в виде файла типа .EXE.
    Прежде чем разобраться в самой программе, заметим, что в нее входит
    сегмент STACK, необходимый в файле типа .EXE.  Сначала в сегменте
    CODE записаны поля данных, а выполнение программы начинается с
    метки CALCULATE_POWER.  Заглянув вперед, на оператор END, вы
    увидите, что первой выполняемой командой будет команда, помеченная
    CALCULATE_POWER, так как она указана в операторе END.
 
      Первая часть программы выполняет инициализацию.  Перед
    загрузкой указателя на сегмент CODE в регистр DS программа помещает
    в стек адрес возврата из файла типа .EXE.  Затем с помощью команды
    FINIT инициализируется сопроцессор 8087, что аналогично аппаратному
    сбросу.  Тем самым сопроцессор 8087 оказывается настроенным на
    обработку особых ситуаций по умолчанию, что наилучшим образом
    подходит для примеров этой книги.  Команда FINIT также сбрасывает



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