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

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


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



 ### При  многоразрядном  сдвиге  вторым  операндом  является  регистр   CL,
 содержимое которого интерпретируется как число сдвигов. При  одноразрядном
 сдвиге  на месте второго операнда должна стоять единица.

 ### Время  выполнения
      при однобитном сдвиге регистра  - 2  такта,
      при однобитном сдвиге слова или байта памяти  - 15 + ЕА  тактов.
      при многоразрядном сдвиге регистра  - 8 + 4 * (CL)  тактов
      при многоразрядном сдвиге слова или байта памяти - 20 + ЕА + 4 * (CL)
       тактов
     Команды сдвигов имеют длину  2 - 4 байта.

###  Команда  RCL #########################################################

 ### Осуществляет  циклический  сдвиг  влево с переносом  старшего  бита во
 флажок CF, а значения флажка - в младший бит.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - ------+
        ¦    ¦         ¦ CF <-----------------      <---       ¦
        +------- - - ---- ¦ +                +------ - - ---- ^+
                          ¦                                   ¦
                          ¦                                   ¦
                          +-----------------------------------+

 ### Модифицирует флажки  OF и  CF. Флажок  CF  содержит значение последнего
 сдвинутого бита. В однобитных сдвигах флажок OF = 1, если операция изменила
 значение старшего (знакового) бита операнда. При  сдвиге  на  несколько бит
 состояние флажка OF не определено.

 ### Формат команды:
                                                       7                0
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ RCL  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  010  r/m ¦
    ¦ RCL  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     байт)  или  WORD  (слово).                        +----------------+

###  Команда  RCR #########################################################

 ### Осуществляет  циклический сдвиг  вправо с переносом  младшего  бита во
 флажок CF, а значения флажка - в старший бит.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF ----------------->       --->       ¦
        +------- - - ---- ^+                 +------ - - ---- ¦ +
                          ¦                                   ¦
                          ¦                                   ¦
                          +-----------------------------------+

 ### Модифицирует флажки  OF и  CF. Флажок  CF  содержит значение последнего
 сдвинутого бита. В однобитных сдвигах флажок OF = 1, если операция изменила
 значение старшего (знакового) бита операнда. При  сдвиге  на  несколько бит
 состояние флажка OF не определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ RCR  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  011  r/m ¦
    ¦ RCR  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  WORD  (слово).                       +----------------+

###  Команда  ROL #########################################################

 ### Осуществляет  циклический  сдвиг  влево  с  преносом  старшего  бита в
 младший бит и флажок CF.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - --------+
        ¦    ¦         ¦ CF ¦                ¦       <---        ¦
        +------- - - ---- ^+                 +-  -- - - ----- ^ -+
                          ¦                     ¦             ¦
                          ¦                     ¦             ¦
                          +-----------------------------------+

 ### Модифицирует флажки  OF и  CF. Флажок  CF  содержит значение последнего
 сдвинутого бита. В однобитных сдвигах флажок OF = 1, если операция изменила
 значение старшего (знакового) бита операнда. При  сдвиге  на  несколько бит
 состояние флажка OF не определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ ROL  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  000  r/m ¦
    ¦ ROL  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  WORD  (слово).                       +----------------+

###  Команда  ROR #########################################################

 ### Осуществляет  циклический сдвиг  вправо  с переносом  младшего  бита в
 старший бит  и  флажок  CF.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF ¦                ¦       --->       ¦
        +------- - - ---- ^ +                +- ^ -- - - -----¦-+
                          ¦                     ¦             ¦
                          ¦                     ¦             ¦
                          +-----------------------------------+

 ### Модифицирует флажки  OF и  CF. Флажок  CF  содержит значение последнего
 сдвинутого бита. В однобитных сдвигах флажок OF = 1, если операция изменила
 значение старшего (знакового) бита операнда. При  сдвиге  на  несколько бит
 состояние флажка OF не определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ ROR  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  001  r/m ¦
    ¦ ROR  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  WORD  (слово).                       +----------------+

###  Команда  SAL #########################################################

 ### Осуществляет арифметический сдвиг влево. Младший бит загружается нулем.
 Если содержимое операнда интерпретируется как число в дополнительном  коде,
 то команда  SAL  не отличается от команды  логического  сдвига  влево  SHL.
 Старший бит переносится во флажок CF.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF <-----------------       <---       ¦
        +------- - - -------+                +------ - - ---- ^ +
                                                              ¦
                                                            0 +

 ### Модифицирует  флажки  OF, SF, ZF, PF и CF  в зависимости от результата.
 Флажок  CF  содержит  значение  последнего  сдвинутого  бита. В однобитных
 сдвигах флажок OF = 1, если операция изменила значение старшего (знакового)
 бита  операнда. При  сдвиге  на  несколько  бит  состояние  флажка  OF  не
 определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ SAL  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  100  r/m ¦
    ¦ SAL  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  WORD  (слово).                       +----------------+

###  Команда  SAR #########################################################

 ### Осуществляет арифметический сдвиг вправо. Старший бит не сдвигается, а
 тиражируется в соседнем правом бите, поэтому при интерпретации содержимого
 операнда  как  знакового  числа,  его  знак  не  изменяется.  Младший  бит
 переносится во флажок CF.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF ¦            +----       --->       ¦
        +------- - - ---- ^ +            ¦   +- ^ -- - - -----¦-+
                          ¦              ¦      ¦             ¦
                          ¦              +------+             ¦
                          +-----------------------------------+

 ### Модифицирует  флажки  OF, SF, ZF, PF и CF  в зависимости от результата.
 Флажок  CF  содержит  значение  последнего  сдвинутого  бита. В однобитных
 сдвигах флажок OF = 1, если операция изменила значение старшего (знакового)
 бита  операнда. При  сдвиге  на  несколько  бит  состояние  флажка  OF  не
 определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ SAR  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  111  r/m ¦
    ¦ SAR  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт) или  WORD (слово).                         +----------------+

###  Команда  SHL #########################################################

 ### Осуществляет логический сдвиг влево. В младший бит загружается нуль, а
 выдвигаемый  старший  бит  перносится  во флажок CF и при следующем сдвиге
 теряется.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF <-----------------       <---       ¦
        +------- - - -------+                +------ - - ---- ^ +
                                                              ¦
                                                            0 +

 ### Модифицирует  флажки  OF, SF, ZF, PF и CF  в зависимости от результата.
 Флажок  CF  содержит  значение  последнего  сдвинутого  бита. В однобитных
 сдвигах флажок OF = 1, если операция изменила значение старшего (знакового)
 бита  операнда. При  сдвиге  на  несколько  бит  состояние  флажка  OF  не
 определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ SHL  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  100  r/m ¦
    ¦ SHL  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  WORD  (слово).                       +----------------+

###  Команда  SHR #########################################################

 ### Осуществляет  логический сдвиг вправо.  В старший бит загружается нуль,
 а выдвигаемый  младший бит  перносится во флажок CF и при следующем сдвиге
 теряется.

          Регистр флажков               Слово(байт) регистра/памяти

       15                   0             15(7)                 0
        +------- - - -------+                +------ - - -------+
        ¦    ¦         ¦ CF ¦                ¦       --->       ¦
        +------- - - ---- ^ +                +- ^ -- - - -----¦-+
                          ¦                     ¦             ¦
                          ¦                   0 +             ¦
                          +-----------------------------------+

 ### Модифицирует  флажки  OF, SF, ZF, PF и CF  в зависимости от результата.
 Флажок  CF  содержит  значение  последнего  сдвинутого  бита. В однобитных
 сдвигах флажок OF = 1, если операция изменила значение старшего (знакового)
 бита  операнда. При  сдвиге  на  несколько  бит  состояние  флажка  OF  не
 определено.

 ### Формат команды:
                                                       7                0
    +-------------------------+                        +----------------+
    ¦ SHR  Регистр, СL        ¦                        ¦   110100 v w   ¦
    +-------------------------+                        ¦----------------¦
    +-------------------------+                        ¦  mod  101  r/m ¦
    ¦ SHR  Память,  СL        ¦                        ¦----------------¦
    +-------------------------+                        ¦     dispL      ¦
     При обращении к памяти необходимо                 +----------------¦
     использовать  модификаторы   BYTE                 ¦     dispH      ¦
     (байт)  или  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 обязательна. Карта сайта.