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


         

используется всего три элемента стека,


             0037  9B D9 FD                     FSCALE                  ; F*2**-1 = F/2 ; -1            ; I
             003A  9B D9 F0                     F2XM1             ; (2**F/2)-1    ; -1          ; I
             003D  9B DE E1                     FSUBRP  ST(1),ST(0)     ; 2**F/2          ; I            ; ?
             0040  9B D8 8E 0000 U              FMUL    ST(0)           ; 2**F            ; I            ; ?
             0045  9B D9 FD                     FSCALE                  ; (2**F)*(2**I) ; I            ; ?
             0048  9B D9 C9                     FXCH    ST(1)           ; I         ; 2**(I+F)      ; ?
             004B  9B D8 D9                     FCOMP             ; 2**(I+F)      ; ?           ; ?
             004E  C3                     RET               ; 10**X           ; ?         ; ?
             004F                   TEN_TO_X          ENDP
             004F                   CODE    ENDS
                                          END
 
                  Фиг. 7.24 Вычисление 10**ST
 
    соответствующего элемента стека неопределено.  В подпрограмме
    используется всего три элемента стека, так что в поле комментариев
    есть три колонки.
      Хотя теперь мы имеем нужную степень двух, у сопроцессора 8087
    отсутствует команда, завершившая бы всю работу за один шаг.
    Команда F2XM1 возводит 2 в степень X, но только если X меньше или
    равен 1/2.    Это означает, что степень E мы должны разделить на
    целую и дробную части; затем команда FSCALE сможет возвести 2 в
    целую степень, а команда F2XM1 обработает дробную часть.
 
      Перед разделением E на две части программа выполняет некоторые
    вспомогательные действия.  Эти действия - команды сопроцессора
    8087, которые читают управляющее слово и устанавливают режим
    округления в направлении меньшего числа.  Теперь, когда мы возьмем
    целую часть показателя степени, его значение будет округляться
    влево, в направлении минус бесконечности.  Дробная часть показателя

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





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий