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

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


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



###  Команда  AND #########################################################

 ### Реализует  поразрядно  булевую +------------------------------------+
     функцию И (конъюнкцию). Второй ¦ бит 1 ¦ бит 2 ¦ бит 1  AND  бит 2  ¦
     операнд выполняет  роль маски. +-------+-------+--------------------¦
     Результат  заносится на  место ¦   0   ¦   0   ¦        0           ¦
     первого операнда.              ¦   0   ¦   1   ¦        0           ¦
                                    ¦   1   ¦   0   ¦        1           ¦
                                    ¦   1   ¦   1   ¦        1           ¦
                                    +------------------------------------+

 ### Флажки  OF   и   CF  всегда   переводятся  в  нулевое  состояние,  т.к.
 межразрядные  связи  отсутствуют.  Флажки  SF,  ZF и  PF устанавливаются в
 зависимости   от   полученного   результата   (по правилам  арифметических
 операций). Состояние флажка AF не определено.

 ### Форматы команды:
                                                       7                0
    +-------------------------+ l = 2 байта            +----------------+
    ¦ AND  Регистр1, Регистр2 ¦ t = 3 такта            ¦   001000 d w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 2-4 байта          ¦  mod  reg  r/m ¦
    ¦ AND  Регистр,  Память   ¦ t = 9+ЕА тактов        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
    +-------------------------+ l = 2-4 байта          +----------------¦
    ¦ AND  Память,   Регистр  ¦ t = 16+ЕА тактов       ¦     dispH      ¦
    +-------------------------+                        +----------------+

                                                       7                0
    +-------------------------+ l = 3-4 байта          +----------------+
    ¦ AND  Регистр, Константа ¦ t = 4 такта            ¦   100000 s w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 3-6 байта          ¦  mod 100  r/m  ¦
    ¦ AND  Память,  Константа ¦ t = 17+ЕА тактов       ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
                                                       ¦----------------¦
                                                       ¦     dispH      ¦
                                                       ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

                                                       7                0
    +-------------------------+ l = 2-3 байта          +----------------+
    ¦ AND  Аккумул., Константа¦ t = 4 такта            ¦   0010010  w   ¦
    +-------------------------+                        ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

 ### Примечание:
     Используется   для  перевода  в  нулевое  состояние  тех  бит  первого
 операнда,  которые  определяются  маской,  содержащей нули  в сбрасываемых
 битах  и  единицы  в  остальных.

###  Команда  OR #########################################################

 ### Реализует  поразрядно булевую  +------------------------------------+
     функцию   ИЛИ   (дизъюнкцию).  ¦ бит 1 ¦ бит 2 ¦ бит 1   OR  бит 2  ¦
     Второй  операнд  играет  роль  +-------+-------+--------------------¦
     маски. Результат заносится на  ¦   0   ¦   0   ¦        0           ¦
     место первого операнда.        ¦   0   ¦   1   ¦        1           ¦
                                    ¦   1   ¦   0   ¦        1           ¦
                                    ¦   1   ¦   1   ¦        1           ¦
                                    +------------------------------------+

 ### Флажки  OF   и   CF  всегда   переводятся  в  нулевое  состояние,  т.к.
 межразрядные  связи  отсутствуют.  Флажки  SF,  ZF и  PF устанавливаются в
 зависимости   от   полученного   результата   (по правилам  арифметических
 операций). Состояние флажка AF не определено.

 ### Форматы команды:
                                                       7                0
    +-------------------------+ l = 2 байта            +----------------+
    ¦ OR   Регистр1, Регистр2 ¦ t = 3 такта            ¦   000010 d w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 2-4 байта          ¦  mod  reg  r/m ¦
    ¦ OR   Регистр,  Память   ¦ t = 9+ЕА тактов        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
    +-------------------------+ l = 2-4 байта          +----------------¦
    ¦ OR   Память,   Регистр  ¦ t = 16+ЕА тактов       ¦     dispH      ¦
    +-------------------------+                        +----------------+

                                                       7                0
    +-------------------------+ l = 3-4 байта          +----------------+
    ¦ OR   Регистр, Константа ¦ t = 4 такта            ¦   100000 s w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 3-6 байта          ¦  mod 001  r/m  ¦
    ¦ OR   Память,  Константа ¦ t = 17+ЕА тактов       ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
                                                       ¦----------------¦
                                                       ¦     dispH      ¦
                                                       ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

                                                       7                0
    +-------------------------+ l = 2-3 байта          +----------------+
    ¦ OR  Аккумул., Константа ¦ t = 4 такта            ¦   0000110  w   ¦
    +-------------------------+                        ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+
 ### Примечание:
     Используется  для  установки  в  1 определенных  бит  первого операнда.

###  Команда  XOR #########################################################

 ### Реализует  поразрядно булевую  +------------------------------------+
     функцию    ИСКЛЮЧАЮЩЕЕ    ИЛИ. ¦ бит 1 ¦ бит 2 ¦ бит 1  XOR  бит 2  ¦
     Второй  операнд  играет  роль  +-------+-------+--------------------¦
     маски. Результат заносится на  ¦   0   ¦   0   ¦        0           ¦
     место первого операнда.        ¦   0   ¦   1   ¦        1           ¦
                                    ¦   1   ¦   0   ¦        1           ¦
                                    ¦   1   ¦   1   ¦        0           ¦
                                    +------------------------------------+

 ### Флажки  OF   и   CF  всегда   переводятся  в  нулевое  состояние,  т.к.
 межразрядные  связи  отсутствуют.  Флажки  SF,  ZF и  PF устанавливаются в
 зависимости   от   полученного   результата   (по правилам  арифметических
 операций). Состояние флажка AF не определено.

 ### Форматы команды:
                                                       7                0
    +-------------------------+ l = 2 байта            +----------------+
    ¦ XOR  Регистр1, Регистр2 ¦ t = 3 такта            ¦   001100 d w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 2-4 байта          ¦  mod  reg  r/m ¦
    ¦ XOR  Регистр,  Память   ¦ t = 9+ЕА тактов        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
    +-------------------------+ l = 2-4 байта          +----------------¦
    ¦ XOR  Память,   Регистр  ¦ t = 16+ЕА тактов       ¦     dispH      ¦
    +-------------------------+                        +----------------+

                                                       7                0
    +-------------------------+ l = 3-4 байта          +----------------+
    ¦ XOR  Регистр, Константа ¦ t = 4 такта            ¦   100000 s w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 3-6 байта          ¦  mod 110  r/m  ¦
    ¦ XOR  Память,  Константа ¦ t = 17+ЕА тактов       ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
                                                       ¦----------------¦
                                                       ¦     dispH      ¦
                                                       ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

                                                       7                0
    +-------------------------+ l = 2-3 байта          +----------------+
    ¦ XOR  Аккумул., Константа¦ t = 4 такта            ¦   0011010  w   ¦
    +-------------------------+                        ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+
 ### Примечание:
     Используется  для перевода  регистра  в нулевое состояние,  сравнения
 операндов  на  абсолютное   равенство,  инвертирования  определенных  бит
 операнда с помощью маски.

###  Команда  TEST #########################################################

 ### Реализует  поразрядно  булевую +------------------------------------+
     функцию И (конъюнкцию). Второй ¦ бит 1 ¦ бит 2 ¦ бит 1  AND  бит 2  ¦
     операнд выполняет  роль маски. +-------+-------+--------------------¦
     В отличии   от  AND  результат ¦   0   ¦   0   ¦        0           ¦
     никуда не заносится.           ¦   0   ¦   1   ¦        0           ¦
                                    ¦   1   ¦   0   ¦        1           ¦
                                    ¦   1   ¦   1   ¦        1           ¦
                                    +------------------------------------+

 ### Флажки  OF   и   CF  всегда   переводятся  в  нулевое  состояние,  т.к.
 межразрядные  связи  отсутствуют.  Флажки  SF,  ZF и  PF устанавливаются в
 зависимости   от   полученного   результата   (по правилам  арифметических
 операций). Состояние флажка AF не определено.

 ### Форматы команды:
                                                       7                0
    +-------------------------+ l = 2 байта            +----------------+
    ¦ TEST Регистр1, Регистр2 ¦ t = 3 такта            ¦   1000010  w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 2-4 байта          ¦  mod  reg  r/m ¦
    ¦ TEST Регистр,  Память   ¦ t = 9+ЕА тактов        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
    +-------------------------+ l = 2-4 байта          +----------------¦
    ¦ TEST Память,   Регистр  ¦ t = 16+ЕА тактов       ¦     dispH      ¦
    +-------------------------+                        +----------------+

                                                       7                0
    +-------------------------+ l = 3-4 байта          +----------------+
    ¦ TEST Регистр, Константа ¦ t = 5 тактов           ¦   1111011  w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 3-6 байтов         ¦  mod 000  r/m  ¦
    ¦ TEST Память,  Константа ¦ t = 11+ЕА тактов       ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
                                                       ¦----------------¦
                                                       ¦     dispH      ¦
                                                       ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

                                                       7                0
    +-------------------------+ l = 2-3 байта          +----------------+
    ¦ TEST Аккумул., Константа¦ t = 4 такта            ¦   1010100  w   ¦
    +-------------------------+                        ¦----------------¦
                                                       ¦     dataL      ¦
                                                       ¦----------------¦
                                                       ¦     dataH      ¦
                                                       +----------------+

###  Команда  NOT #########################################################

 ### Инвертирует  биты  операнда, реализуя  поразрядно  унарную  логическую
 функцию НЕ.

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

 ### Форматы команды:
                                                       7                0
    +-------------------------+ l = 2 байта            +----------------+
    ¦ NOT  Регистр            ¦ t = 3 такта            ¦   1111011  w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+ l = 2-4 байта          ¦  mod  010  r/m ¦
    ¦ NOT  Память             ¦ t = 16+ЕF тактов       ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     Можно  указывать  байт  или слово.                +----------------¦
     При обращении к памяти необходимо                 ¦     dispH      ¦
     использовать   модификаторы  BYTE                 +----------------+
     (байт)   или   WORD (слово),  без
     которых команда неоднозначна.

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

 

 
Интересное в сети
 
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 обязательна. Карта сайта.