Ќа главную
ѕодписка
Ќовости










√лавна¤ / MS-DOS / MS-DOS. –” ќ¬ќƒ—“¬ќ –ј«–јЅќ“„» ј / √лава 10 / ѕрефикс FWAIT —делать домашней страницей ƒобавить в избранное Ќаписать писмо

Ќј«јƒ —ќƒ≈–∆јЌ»≈ ¬ѕ≈–®ƒ

ѕрефикс FWAIT

¬торое обозначение в таблице 10-3 - это отметка (N). ќтметка (N) означает, что соответствующа¤ команда может быть использована в форме no-wait, как в FNop. ќбычно ассемблер MASM генерирует префикс FWAIT дл¤ каждой команды NPX. ‘орма no-wait указывает ас- семблеру MASM, что надо генерировать префикс FWAIT. “ак что же такое префикс FWAIT?


ќбычно NPX должен ожидать завершени¤ текущей команды, перед тем как он примет новую. Ёто достигаетс¤ посредством префикса FWAIT кода операции (9¬ шестнадцатиричное), который реально представл¤ет собой код операции 8086! ¬ыполн¤¤ эту операцию, главный центральный процессор ждет, когда контакт TEST интерфейса центральный процессор/NPX станет активным. Ёто происходит, когда NPX, завершив выполнение команды, ожидает новую. √лавный цент- ральный процессор вновь приступает к работе и вызываетс¤ следую- ща¤ команда NPX, начина¤ новый цикл.


ѕричина использовани¤ FWAIT в качестве префикса заключаетс¤ в том, что главный центральный процессор ждет только тогда, когда хочет направить NPX другую команду.  ак только нова¤ команда по- сылаетс¤ NPX, центральный процессор и NPX могут работать одновре- менно, и, когда центральный процессор вновь нуждаетс¤ в NPX, он должен проверить готовность последнего.


≈сть еще один случай, когда главный центральный процессор нуждаетс¤ в использовании команды FWAIT. ¬с¤кий раз, как только центральному процессору необходимо прочитать данные NPX, он посы- лает соответствующую команду записи данных в пам¤ть. √лавный про- цессор должен ждать (посредством команды FWAIT), пока данные не будут доступны. ¬ этом случае программист должен однозначно зако- дировать команду NPX FWAIT, потому что MASM не знает, какое уст- ройство ждет завершени¤ выполнени¤ команды - центральный процес- сор или NPX.


                                                         “аблица 10-3
                    ѕеречень команд Intel NPX и формы адресации
         ЬЬЬЬЬЬЬЬЪЬЬЬЬЬЬЬЬЬЬЪЬЬЬЬЬЬЬЬЬЬЬЪЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ
         .       Лћнемоника Л—пособ     Л          »м¤ команды
         ќтметки Лкоманды   Ладресации  Л
         ЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ

         .                оманды пересылки данных (9)
         -------------------------------------------------------------
         .       ЛFXCH      Л  //d      Лќбмен содержимого регистров
         .       ЛFLD       Л  s        Л«агрузить вещественное
         (P)     ЛFST       Л  d        Л—охранить вещественное
         .       ЛFILD      Л  s        Л«агрузить целое
         (P)     ЛFIST      Л  d        Л—охранить целое
         .       ЛFBLD      Л  s        Л«агрузить упакованный BCD
         .       ЛFBSTP     Л  d        Л—охранить упакованный BCD
         --------------------------------------------------------------
         .                  оманды констант (7)
         --------------------------------------------------------------
         .       ЛFLDZ      Л           Л«агрузить +0.0
         .       ЛFLD1      Л           Л«агрузить +1.0
         .       ЛFLDPI     Л           Л«агрузить Pi
         .       ЛFLDL2T    Л           Л«агрузить log 10 по основанию 2
         .       ЛFLDL2E    Л           Л«агрузить log e по основанию 2
         .       ЛFLDLG2    Л           Л«агрузить log 2 по основанию 10
         .       ЛFLDLN2    Л           Л«агрузить log 2 по основанию e
         --------------------------------------------------------------
         .            “рансцендентные команды (8)
         --------------------------------------------------------------
         .       ЛFPTAN     Л           Лќтносительный тангенс
         .       ЛFPATAN    Л           Лќтносительный арктангенс
         .       ЛF2XM1     Л           Л2(x) - 1
         .       ЛFYL2X     Л           ЛY x log X по основанию 2
         .       ЛFYL2XP1   Л           ЛY x log (X + 1) по основанию 2
         .       ЛFCOS      Л           Л осинус ST(0) (только 80387)
         .       ЛFSIN      Л           Л—инус ST(0) (только 80387)
         .       ЛFSINCOS   Л           Л—инус и косинус ST(0)
         .       Л          Л           Л(только 80387)
         --------------------------------------------------------------
         .                  оманды сравнени¤ (10)
         --------------------------------------------------------------
         (P)     ЛFCOM      Л  //s      Л—равнить вещественные
         (P)     ЛFICOM     Л  s        Л—равнить целые
         .       ЛFCOMPP    Л           Л—равнить и выполнить POP дважды
         .       ЛFTST      Л           Лѕроверить вершину стека
         .       ЛFXAM      Л           Лѕросмотреть вершину стека
         .       ЛFUCOM     Л           Л—равнить вне пор¤дка
         .       Л          Л           Л(только 80387)
         .       ЛFUCOMP    Л           Л—равнить вне пор¤дка и
         .       Л          Л           Лвыполнить POP (только 80387)
         .       ЛFUCOMPP   Л           Л—равнить вне пор¤дка и
         .                               выполнить POP дважды
         .       Л          Л           Л(только 80387)
         --------------------------------------------------------------
         .                јрифметические команды (26)
         --------------------------------------------------------------
         (P)     ЛFADD      Л  *        Л—ложить вещественные
         .       ЛFIADD     Л  s        Л—ложить целые
         (P)     ЛFSUB      Л  *        Л¬ычесть вещественное
         .       ЛFISUB     Л  s        Л¬ычесть целое
         (P)     ЛFSUBR     Л  *        Л¬ычесть вещественное (обратное)
         .       ЛFISUBR    Л  s        Л¬ычесть целое (обратное)
         (P)     ЛFMUL      Л  *        ЛЌесколько вещественных
         .       ЛFIMUL     Л  s        ЛЌесколько целых
         (P)     ЛFDIV      Л  *        Л–азделить вещественное
         .       ЛFIDIV     Л  s        Л–азделить целое
         (P)     ЛFDIVR     Л  *        Л–азделить вещественное
         .       Л          Л           Л(обратное)
         .       ЛFIDIVR    Л  s        Л–азделить целое (обратное)
         .       ЛFSQRT     Л           Л вадратный корень
         .       ЛFSCALE    Л           Лћасштаб
         .       ЛFPREM     Л           Л„астичный остаток
         .       ЛFPREM1    Л           Л„астичный остаток
         .       Л          Л           Л(IEEE, только 80387)
         .       ЛFRNDINT   Л           Лќкруглить до целого
         .       ЛFXTRACT   Л           Л¬ыделить экспоненту и мантиссу
         .       ЛFABS      Л           Лјбсолютное значение
         .       ЛFCHS      Л           Л—менить знак
         --------------------------------------------------------------
         .           оманды управлени¤ обработкой (16)
         --------------------------------------------------------------
         (N)     ЛFINIT     Л           Л»нициализировать процессор
         .       ЛFLDCW     Л  s        Л«агрузить управл¤ющее слово
         (N)     ЛFSTCW     Л  d        Л—охранить управл¤ющее слово
         (N)     ЛFSTSW     Л  d        Л—охранить слово состо¤ни¤
         #(N)    ЛFSTENV    Л  d        Л—охранить среду
         .       ЛFLDENV    Л  s        Л«агрузить среду
         #(N)    ЛFSAVE     Л  d        Л—охранить состо¤ние
         .       ЛFRSTOR    Л  s        Л¬осстановить состо¤ние
         .       ЛFINCSTP   Л           Л”величить SP
         .       ЛFDECSTP   Л           Л”меньшить SP
         .       ЛFFREE     Л  d        Лќсвободить регистр
         .       ЛFNOP      Л           ЛЌет операции
         .       ЛFWAIT     Л           Л÷ентральный процессор ждет
         (N)     ЛFDISI     Л           Л«апретить прерывани¤
         .       Л          Л           Л(только 8087)
         (N)     ЛFENI      Л           Л–азрешить прерывани¤
         .       Л          Л           Л(только 8087)
         (N)     ЛFCLEX     Л           Л—бросить ситуацию
         ЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЬЩЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬ
          * ‘ормы командных операндов дл¤ FADD, FSUB, FMUL, FDIV, FDIVR
             :F       ... генерирует FP ST(1),ST
             :Fs      ... генерирует F ST,<пам¤ть>
             :F d,s   ... только регистры d,s
             :FP d,s  ... только регистры d,s

             (P)  ‘ормы F или FP
             (N)  ‘ормы F или FN

             s    »сточник
             d    јдресат
             //s  Ќичего или источник
             //d  Ќичего или адресат
             #     оманда не ¤вл¤етс¤ самосинхронизируемой

Ќј«јƒ —ќƒ≈–∆јЌ»≈ ¬ѕ≈–®ƒ

Hosted by uCoz