adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Справочник по системе программирования Турбо Ассемблер 2.0
Автор ""
Размер 416131 Байт
Страница 45 из 51
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

существует  также  сдвиг  вправо,  и это так. Фактически, имеется
даже две операции сдвига вправо. Инструкция  SHR  (сдвиг  вправо)
очень похожа на инструкцию SHL. Она выполняет сдвиг разрядов опе-
ранда  вправо  на 1 или CL бит,  затем сдвигает наименее значащий
бит во флаг переноса и помещает 0 в самый значащий бит.  Инструк-
ция  SHR  дает  быстрый способ выполнения беззнакового деления на
степень числа 2.

     Инструкция  SAR  (арифметический  сдвиг  вправо)  аналогична
инструкции  SHR,  только  при ее выполнении наиболее значащий бит
операнда сдвигается вправо в следующий бит,  а  затем  копируется
обратно.  На  Рис.  5.9 показано, как значение 10010110b (96h или
-106 в десятичном представлении со знаком), записанное в регистре
AL, сдвигается вправо с помощью инструкции SAR AL,1. В результате
получается значение 11001011b (0CBh или -53 в  десятичном  предс-
тавлении  со  знаком), которое записывается обратно в регистр AL.
Флаг переноса устанавливается в значение 0.

                              AL
------------------------------------------------------------
|   ------                                                 |
|   |    |                                                 |
|   V    |                                                 |
| -----  | -----  -----  -----  -----  -----  -----  ----- |
| | 1 |<---| 0 |<-| 0 |<-| 1 |<-| 0 |<-| 1 |<-| 1 |<-| 0 | |<--
| -----    -----  -----  -----  -----  -----  -----  ----- |  |
----------------------------------------------------------    |
  Бит  7      6      5      4      3      2      1      0     |
                                                     -----    |
                                                     |   |-----
                                                     -----
                                             Флаг переноса

     Рис. 5.9 Пример выполнения  инструкции  SAR  (арифметический
сдвиг вправо).

     Таким образом, при выполнении данной инструкции  сохраняется
знак  операнда,  поэтому  инструкцию SAR полезно использовать для
выполнения деления со знаком на степень числа 2. Например, в  ре-
зультате выполнения инструкций:

           .
           .
           .
           mov   bx,-4
           sar   bx,1
           .
           .
           .

в регистре BX будет записано значение -2.

     В наборе инструкций процессора  8086  имеется  также  четыре
инструкции  циклического  сдвига: ROR, ROL, RCR и RCL. Инструкция
ROR аналогична  инструкции  SHR,  но  при  ее выполнении наименее
значащий бит сдвигается в наиболее значащий бит,  а также во флаг
переноса.  На Рис. 5.10 показано, как значение 10010110b (96h или
159  в  десятичном  представлении),  записанное  в  регистре  AL,
циклически  сдвигается  вправо  с помощью инструкции ROR AL,1.  В
результате  получается  значение  01001011b  (04Bh   или   75   в
десятичном представлении), которое записывается обратно в регистр
AL. Флаг переноса устанавливается в значение 0.

                              AL
   ----------------------------------------------------------
   | -----  -----  -----  -----  -----  -----  -----  ----- |
-->| | 1 |->| 0 |->| 0 |->| 1 |->| 0 |->| 1 |->| 1 |->| 0 | |---
|  | -----  -----  -----  -----  -----  -----  -----  ----- |  |
|  ----------------------------------------------------------  |
| Бит  7      6      5      4      3      2      1      0      |
|                                                              |
---------------------------------------------------------------|
                                                      -----    |
                                Флаг переноса         |   |<----
                                                      -----
      Рис. 5.10 Пример выполнения операции ROR (циклический сдвиг
вправо).

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

           .
           .
           .
           mov   si,49F1h
           mov   cl,4
           ror   si,cl
           .
           .
           .

в регистр SI будет записано значение 149Fh: биты 3-0 переместятся
в биты 15-12, биты 7-4 - в биты 3-0 и т.д.





Инструкции RCR и RCL работают несколько по-другому. Инструк- ция RCR аналогично инструкции сдвига вправо, при этом наиболее значащий бит сдвигается из флага переноса. На Рис. 5.11 показано, как значение 10010110b (96h или 159 в десятичном представлении), записанное в регистре AL, циклически сдвигается вправо через флаг переноса, начальное значение которого равно 1, с помощью инструк- ции RCR AL,1. В результате получается значение 11001011b (0CBh или 203 в десятичном представлении), которое записывается обратно в регистр AL. Флаг переноса устанавливается в значение 0. AL ---------------------------------------------------------- | ----- ----- ----- ----- ----- ----- ----- ----- | -->| | 1 |->| 0 |->| 0 |->| 1 |->| 0 |->| 1 |->| 1 |->| 0 | |--- | | ----- ----- ----- ----- ----- ----- ----- ----- | | | ---------------------------------------------------------- | | Бит 7 6 5 4 3 2 1 0 | | ----- | ------------------------------------------------------| 1 |<---- ----- Флаг переноса Рис. 5.11 Пример выполнения инструкции RCR (циклический сдвиг вправо и перенос). Инструкция RCL аналогично, соответственно, левому сдвигу. При выполнении этой инструкции наименее значащий бит сдвигается из флага переноса. Инструкции RCR и RCL полезно использовать для сдвига операнда, состоящего из нескольких слов. Например, следую- щие инструкции выполняют умножение значения в DX:AX, размером в двойное слово, на 4: . . . shl ax,1 ; бит 15 регистра AX сдвигается во ; флаг переноса rcl dx,1 ; флаг переноса сдвигается в бит 0 ; регистра DX shl ax,1 ; бит 15 регистра AX сдвигается во ; флаг переноса rcl dx,1 ; флаг переноса сдвигается в бит 0 ; регистра DX . . . Инструкции циклического сдвига, аналогично инструкциям сдвига, могут сдвигать операнд на 1 бит или на число бит, задан- ных регистром CL. Циклы и переходы ----------------------------------------------------------------- Да этого момента мы рассматривали выполнении процессором 8086 инструкций в строгой последовательности. При этом каждая следующая инструкция выполнялась сразу после инструкции по преды- дущему адресу. Рассматривая программу: . . . mov ax,[BaseCount] . . . push ax . . . мы могли быть совершенно уверены, что инструкция ADD выполнится непосредственно после инструкции MOV, а несколько позднее будет выполнена инструкция PUSH. Если бы этим ограничивалось все, на что способен процессор 8086, то такой компьютер был бы довольно примитивен. Фундамен- тальным свойством любого полезного компьютера является наличие инструкций, которые могут выполнять в программе переход (ветвле- ние) на инструкцию, отличную от следующей инструкции в памяти. В такой же степени важна возможность выполнения условного перехода, в зависимости от состояния или результата операции. Набор инструкций процессора 8086 содержит инструкции для обоих видов переходов. Кроме того, предусмотрены специальные инструкции переходов для обеспечения повторяющейся обработки бло- ка кода. Безусловные переходы ----------------------------------------------------------------- Основной инструкцией перехода в наборе инструкций процессора 8086 является инструкция JMP. Эта инструкция указывает процессору 8086, что в качестве следующей за JMP инструкцией нужно выполнить инструкцию по целевой метке. Например, после завершения выполне- ния фрагмента программы: . . .


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46 47 48 49 50 51


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.