ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



7. Инструкции управления процессором
               Инструкции этого типа позволяют  программно  управлять
         различными  функциями  CPU  и  условно  подразделяются на  3
         группы, соответствующие 3-м типам  операций:  манипуляции  с
         флагами,  синхронизация и пустая операция. Только 1-я группа
         инструкций влияет на состояния флагов процессора.

               
                         7.1. Операции с флагами.
               
               
         CLC                           УСТАНОВИТЬ В 0 ФЛАГ ПЕРЕНОСА
         ---
               Флаг  переноса  CF  устанавливается  в  0;   состояния
         остальных  флагов  не  изменяются.  Использование инструкций
         CLC, STC и CMC весьма полезно  в  сочетании  с  инструкциями
         вращения RCL и RCR.
               
               
         STC                           УСТАНОВИТЬ В 1 ФЛАГ ПЕРЕНОСА
         ---
               Флаг  переноса  CF  устанавливается  в  1;   состояния
         остальных  флагов  не  изменяются.  Использование инструкций
         CLC, STC и CMC весьма полезно  в  сочетании  с  инструкциями
         вращения RCL и RCR.
               
               
               
         CMC                           ДОПОЛНЕНИЕ ФЛАГА ПЕРЕНОСА
         ---
               Состояние    флага    переноса    CF   изменяется   на
         противоположное; состояния  остальных  флагов  не  меняются.
         Использование  инструкций  CLC,  STC  и CMC весьма полезно в
         сочетании с инструкциями вращения RCL и RCR.
               
               
               
         CLD                          УСТАНОВИТЬ В 0 ФЛАГ НАПРАВЛЕНИЯ
         ---
               Флаг  направления  DF,  используемый   в   инструкциях
         обработки  строк,  устанавливается  в  0,  что  обеспечивает

                                     - 40 -
         
         
         автоматическое увеличение содержимого регистров SI и/или DI.
         Состояния остальных флагов не изменяются.
               
               
               
         STD                          УСТАНОВИТЬ В 1 ФЛАГ НАПРАВЛЕНИЯ
         ---
               Флаг  направления  DF,  используемый   в   инструкциях
         обработки  строк,  устанавливается  в  1,  что  обеспечивает
         автоматическое уменьшение содержимого регистров SI и/или DI.
         Состояния остальных флагов не изменяются.
               
               
               
         CLI                УСТАНОВИТЬ В 0 ФЛАГ РАЗРЕШЕНИЯ ПРЕРЫВАНИЙ
         ---
               Флаг  разрешения  прерываний IF устанавливается в 0, в
         результате чего  процессор  не  будет  распознавать  внешние
         запросы  на  прерывания,  появляющиеся  на  линии INTR, т.е.
         блокируются    маскируемые     прерывания.     Немаскируемые
         прерывания,  появляющиеся  на  линии NMI, воспринимаются как
         программные прерывания. Инструкция CLI на  состояния  других
         флагов не влияет.
               
               
               
         STI                УСТАНОВИТЬ В 1 ФЛАГ РАЗРЕШЕНИЯ ПРЕРЫВАНИЙ
         ---
               Флаг  разрешения  прерываний  IF  устанавливается в 1;
         остальные флаги своих значений не меняют. При IF=1 процессор
         способен  распознавать  маскируемые прерывания, появляющиеся
         на линии INTR. Заметим,  однако,  что  прерывание  не  будет
         распознано  до  тех пор, пока не выполнится следующая за STI
         инструкция.
               
               
               
               
               
                            7.2. Внешняя синхронизация.
               
               
               
         HLT                           ОСТАНОВ ПРОЦЕССОРА
         ---
               Инструкция  HLT  переводит   процессор   в   состояние
         останова,  которое  будет  сохраняться  до  тех пор, пока не
         произойдет одно из следующих событий:
               1. Появление сигнала на линии RESET.
               2. Появление   запроса  на   немаскируемое  прерывание
                  (на линии NMI).
               3. Появление   запроса   на    маскируемое  прерывание
                  (на линии INTR).
               Выполнение  инструкции  HLT  на  состояния  флагов  не
         влияет.    HLT   может   использоваться   как   альтернатива

                                     - 41 -
         
         
         бесконечному программному  циклу,  когда  программа  ожидает
         прерывание.
               
               
               
         WAIT                          ОЖИДАНИЕ
         ----
               Инструкция   WAIT   переводит  процессор  в  состояние
         ожидания, которое будет сохраняться до тех пор,  пока  линия
         TEST неактивна. На состояния флагов WAIT не влияет.
               
               
               
         ESC код-внешней-операции,источник       ВЫХОД
         ---------------------------------
               По  этой  инструкции внешнему по отношению к 8086/8088
         процессору передаются  указанные  код  операции  и  операнд.
         Код-внешней-операции     представляет     собой    6-битовую
         непосредственно   представленную   константу,   по   которой
         ассемблер  формирует  машинную инструкцию. Внешний процессор
         имеет  монитор  системного  транспортера  и  при  выполнении
         процессором  8086/8088  инструкции  ESC захватывает этот код
         операции. Если в качестве источника задан регистр, процессор
         8086/8088 ничего не  делает.  Если  указан  операнд  памяти,
         процессор  получает  содержимое  памяти и "отбрасывает" его.
         Внешний процессор может захватить операнд памяти при  чтении
         его процессором из памяти.
               
               
               
         LOCK                          БЛОКИРОВАТЬ ТРАНСПОРТЕР
         ----
               LOCK  представляет  собой  1-байтный  префикс, который
         заставляет процессор  8086/8088  (минимальной  конфигурации)
         блокировать  сигнал  транспортера  LOCK  на время выполнения
         следующей инструкции. Состояния флагов не изменяются.
               
               
               
               
               
                           7.3. Пустая операция.
               
               
               
         NOP                           ПУСТАЯ ОПЕРАЦИЯ
         ---
               Процессор не выполняет никаких действий.


© KOAP Open Portal 2000