Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> Assembler -> Основные команды языка ASSEMBLER


Основные команды языка ASSEMBLER



###  Регистр флажков ######################################################


             ¦--- старший байт ----¦--- младший байт ----¦
             +-----------------------------------------------+
             ¦ х  х  х  х OF DF IF TF SF ZF  х AF  х PF  х CF¦
             +-----------------------------------------------+


 ### х  - состояние битов не определено (зарезервированы).

 ### OF - флажок ПЕРЕПОЛНЕНИЯ    Устанавливается арифметическими операциями.
 ----------------------------    Используется для определения  переполнения
                                 в  операциях  с числами, представленными в
                                 дополнительном коде.
                                 Если  OF = 1,  то результат арифметической
                                 операции  вышел  за  допустимые   пределы:

                                     - 128    :  байт   :  + 127
                                     - 32768  :  слово  :  + 32767

 ### DF - флажок  НАПРАВЛЕНИЯ    Устанавливается  командами  CLD   и   STD.
 ----------------------------    Используется в  командах  обработки  строк
                                 для  указания направления  продвижения  по
                                 строке данных.
                                 Если  DF = 0,  то  строка  сканируется  от
                                 меньших  адресов  к большим.

 ### IF - флажок   ПРЕРЫВАНИЙ    Устанавливается  командами  CLI   и   STI.
 ----------------------------    Используется    для   запрещения   ВНЕШНИХ
                                 прерваний  (ЗА ИСКЛЮЧЕНИЕМ НЕМАСКИРУЕМЫХ).
                                 Для   блокировки   отдельных    прерываний
                                 используется специальный регистр масок.
                                 Если  IF = 0, то прерывания  не возникают.

 ### TF - флажок  ТРАССИРОВКИ    Устанавливается  комбинацией  команд через
 ----------------------------    стек (смотрите применение  команды PUSHF).
                                 Используется для  перевода микропроцессора
                                 в одношаговый режим. После каждой  команды
                                 автоматически    генерируется   внутреннее
                                 прерывание  с  переходом  к   подпрограмме
                                 обработки, написанной программистом.
                                 Если  TF = 1, включен режим трассировки.

 ### SF - флажок   З Н А К А     Устанавливается арифметическими операциями.
 ----------------------------    Используется  для определения  знака числа
                                 в знаковой  арифметике  по  старшему  биту
                                 результата операции.
                                 Если  SF = 1, то результат отрицательный.

 ### ZF - флажок  Н  У  Л  Я     Устанавливается арифметическими операциями.
 ----------------------------    Показывает был  ли  равен  нулю  результат
                                 последней операции.
                                 Если  ZF = 1, то результат равен нулю.

 ### AF - флажок   ПЕРЕНОСА      Устанавливается арифметическими операциями.
 -------- (ДОПОЛНИТЕЛЬНОГО)      Используется    в    командах   десятичной
          -------------------    арифметики. Фиксирует  перенос из  младшей
                                 тетрады результата в старшую.
                                 Если  AF = 1, то произошел перенос.

 ### PF - флажок   ЧЕТНОСТИ      Устанавливается арифметическими операциями.
 ----------------------------    Используется   для  контроля  правильности
                                 передачи данных. Фиксирует наличие четного
                                 количества   единиц   в  младших  8  битах
                                 результата последней операции.
                                 Если  PF = 1, то количество единиц четное.

 ### CF - флажок   ПЕРЕНОСА      Устанавливается арифметическими операциями.
 ----------------------------    Используется для определения переноса (при
                                 сложении)  или  заема  (при  вычитании), а
                                 также  значения  выдвигаемого  бита  после
                                 операций сдвигов.
                                 Если  CF = 1, то произошел перенос (заем).


###  Команда LAHF #########################################################

 ### Передает младший байт регистра флажков в регистр АН.

  15----------------------7-----------------------0
  ¦   старший  байт       ¦SF ZF    AF    PF    CF¦
  +-----------------------------------------------+
                                     ¦

                          15----------------------7----------------------0
                          ¦         AH            ¦          AL          ¦
                          +----------------------------------------------+

 ### Регистр флажков не модифицируется.

 ### Формат команды:
                                                       7                0
    +-------------------------+ l = 1 байт             +----------------+
    ¦ LAHF                    ¦ t = 4 такта            ¦   10011111     ¦
    +-------------------------+                        +----------------+

 ### Примечание:
     Перевод  системы  команд  МП 8080  в систему  МП 8086. Слово состояния
 МП 8080 (PSW) образуется  регистром флажков и аккумулятором и используется
 в команде PUSH PSW МП 8080, которую эмулирует команда LAHF МП 8086:

              LAHF
              PUSH  AX    - эквивалентно -    PUSH  PSW

###  Команда SAHF #########################################################

 ### Передает содержимое регистра АН в младший байт регистра флажков.

                           15----------------------7----------------------0
                          ¦         AH            ¦          AL          ¦
                          +----------------------------------------------+
                                     ¦

  15----------------------7-----------------------0
  ¦   старший  байт       ¦SF ZF    AF    PF    CF¦
  +-----------------------------------------------+

 ### Младший  байт  регистра  флажков  принимает  значение, извлеченное  из
 регистра AH.

 ### Формат команды:
                                                       7                0
    +-------------------------+ l = 1 байт             +----------------+
    ¦ SAHF                    ¦ t = 4 такта            ¦   10011110     ¦
    +-------------------------+                        +----------------+

 ### Примечание:
     Перевод  системы  команд  МП 8080  в систему  МП 8086. Слово состояния
 МП 8080 (PSW) образуется  регистром флажков и аккумулятором и используется
 в команде  POP PSW  МП 8080, которую эмулирует команда SAHF МП 8086:

              POP   AX
              SAHF        - эквивалентно -   POP   PSW

[   ВЕРНУТЬСЯ К ОГЛАВЛЕНИЮ   ]

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.