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


         

которая содержит целое число 108)


    числа в нужный диапазон.  Теперь мы используем константу TENB
    ( которая содержит целое число 108) для того, чтобы вернуть число в
    нужный диапазон.  Наконец, команда FBSTP дважды преобразует числа в
    десятичное представление; сначала она дает нам девять цифр мантиссы
    числа, а затем - три цифры порядка.
 
      Остальная часть программы выполняет символьную обработку,
    необходимую для преобразования десятичного представления в строки
    символов.  Программа определяет и показывает знаки числа и порядка.
    Она распаковывает десятичные байты и преобразует их в символы;
    подпрограмма PRINT_BYTE делает распаковку, а подпрограмма
    PRINT_NYBBLE выполняте преобразование в символы.  Заметим, что в
    этом случае не нужна команда XLAT, так как все цифры имеют значения
    между 0 и 9.  (Но если исходное число - одно из неопределенных
    чисел, символьная строка будет содержать некоторые непонятные
    символы).
 
      Эта программа верно печатает любое число, лежащее в диапазоне
    длинных действительных чисел.  Любое число, выходящее за пределы
    возможностей этого представления (например 101234) имеет поле
    порядка, сокращенное до трех цифр.    Конечно, вы можете изменить
    программу так, чтобы она обрабатывала четыре цифры поля порядка,
    если вы этого желаете.  Но существует все же число, которое
    программой обрабатывается верно, но вы, возможно, пожелаетет
    изменить его изображение.  Если исходное число 0, результат
    печатается в виде 0.00000000E-932.    Так происходит потому, что поле
    порядка имеет смещение; процессор 8087 представляет число 0 с
    минимально возможным порядком (-4932) и с нулевой мантиссой.  Когда
    программа преобразует число в код ASCII, она верно печатает
    мантиссу и порядок (за исключением того, что ей приходится усекать
    порядок до трех цифр).  Если вы захотите обрабатывать такой порядок
    отдельно, то измените программу, вставив в нее проверку на нуль
    (чаще всего, с помощью команды FTST) в самом начале, рассматривая
    это, как специальный случай.

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