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


         

Команды сравнения - часть 2


 
             0000  9B D8 D1               FCOM
             0003  9B D8 D2               FCOM  ST(2)
             0006  9B DE 16 0000 R              FICOM WORD_INTEGER
             000B  9B D8 16 0000 R              FCOM  SHORT_REAL
             0010  9B D8 D9               FCOMP
             0013  9B DA 1E 0000 R              FICOMP      SHORT_INTEGER
             0018  9B DC 1E 0000 R              FCOMP LONG_REAL
             001D  9B DE D9               FCOMPP
             0020  9B D9 E4               FTST
             0023  9B D9 E5               FXAM
 
 
             0026                   CODE  ENDS
                                          END
 
            Фиг. 7.18 Команды сравнения сопроцессора 8087
 
    Сопроцессор 8087 помещает флаги состояния C3 и C0 в точности на те
    же места, которые в регистре флагов микропроцессора 8088 занимают
    флаги нуля C3 и переноса C0.  Как показано на рисунке, если
    программа переслала старший байт слова состояния сопроцессора 8087
    в регистр флагов микропроцессора 8088, она может выполнить условный
    переход с помощью непосредственной проверки состояния флагов с
    использованием команды условного перехода, и не нужно выделять и
    проверять отдельные биты слова состояния.
 
      С3    С0          Порядок
     --------------------------------------------------------------
      0     0     ST > источник
      0     1     ST < источник
      1     0     ST = источник
      1     1     ST и источник несравнимы
     --------------------------------------------------------------
 
      Фиг. 7.19 Порядок сравнения
 
      На Фиг. 7.18 демонстрируется, что существуют и другие варианты
    команды FCOM, в том числе и то, что для команды FCOM существует
    версия FICOM необходимая для ставнения целых чисел.  Команды FCOMP
    и FICOMP идентичны командам FCOM и FICOM, за исключением того, что
    сопроцессор 8087 извлекает из стека содержимое вершины после
    выполнения операции.  Это позволяет сравнить два числа с помощью



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