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




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

           .
           .

в регистре AX будет содержаться значение -1, а в  регистре  BX  -
значение 1.



                          Логические операции
-----------------------------------------------------------------

     Турбо Ассемблер поддерживает полный набор инструкций для вы-
полнения  логических  операций,  включая  инструкции  AND (И), OR
(ИЛИ), XOR (исключающее ИЛИ) и NOT  (НЕ).  Эти  инструкции  могут
оказаться  очень  полезными  при работе с отдельными битами слова
или байта, а также для выполнения операций булевой алгебры.

     Результаты выполнения логических операций показаны в Таблице
5.1. Логическая инструкция выполняет поразрядные операции над би-
тами исходных операндов. Например, инструкция:

             adn   ax,dx

выполняет логическую операцию AND с битом 0 регистра AX и битом 0
регистра  DX,  затем  ту же операцию с битами 1, 2 и т.д. до бита
15.

  Выполнение логических инструкций процессора 8086 ADN, OR и XOR
                                                      Таблица 5.1
-----------------------------------------------------------------
| Исходный бит A | Исходный бит B | A AND B | A OR B | A XOR B  |
|---------------------------------------------------------------|
|        0       |       0        |    0    |    0   |    0     |
|        0       |       1        |    0    |    1   |    1     |
|        1       |       0        |    0    |    1   |    1     |
|        1       |       1        |    1    |    1   |    0     |
-----------------------------------------------------------------

     Инструкция AND комбинирует два  операнда  в  соответствии  с
правилами, показанными в Таблице 5.1, устанавливая каждый бит ре-
зультата (операнда-приемника) в 1 только в том случае,  если  оба
соответствующих  бита  операнда-источника равны 1. Инструкция AND
позволяет вам выделить отдельный бит или принудительно установить
его в значение 0. Например, инструкции:

           .
           .
           .
           mov   dx,3dah
           in    al,dx
           and   al,1
           .
           .
           .

выделяет бит 0 байта  состояния  цветного  графического  адаптера
(CGA). Эти инструкции оставляют регистр AL установленным в значе-
ние 1, если видеопамять адаптера CGA можно изменять,  не  вызывая
помех  на экране ("снег"), и устанавливают его в нулевое значение
в противном случае.

     Инструкция OR также комбинирует два операнда в  соответствии
с  правилами, приведенными в Таблице 5.1, устанавливая каждый бит
операнда-приемника в значение 1, если  любой  из  соответствующих
бит операнда-источника равен 1.  Инструкция OR позволяет вам при-
нудительно установить отдельные биты (или бит) в значение 1. Нап-
ример, инструкции:

           .
           .
           .
           mov   ax,40h
           mov   ds,ax
           mov   bx,10h
           or    WORD PTR [bx],0030h
           .
           .
           .

устанавливают биты 5 и 4 слова флагов аппаратуры базовой  системы
ввода-вывода  BIOS в значение 1. При этом BIOS будет поддерживать
монохромный дисплейный адаптер.

     Инструкция XOR также комбинирует два операнда в соответствии
с  правилами, приведенными в Таблице 5.1, устанавливая каждый бит
операнда-приемника в значение 1, только в том случае, один  соот-
ветствующих бит операнда-источника равен 0, и в значение 1 в про-
тивном случае.  Инструкция XOR позволяет вам "переключать" значе-
ния отдельных бит в байте. Например, инструкции:

           .
           .
           .
           mov   al,01010101b
           mov   al,11110000b
           .
           .





. устанавливают регистр AL в значение 10100101b или A5h. Когда для регистра AL выполняется операция XOR со значением 11110000b (0F0h), биты со значением 1 в 0F0h переключают значения соот- ветствующих бит в регистре AL, а биты со значением 0 оставляют соответствующие биты AL неизмененными. Кстати, инструкция XOR дает удобный способ обнуления содер- жимого регистра. Например, следующая инструкция устанавливает со- держимое регистра AX в значение 0: xor ax,ax Наконец, инструкция NOT просто изменяет значение каждого бита операнда на противоположное (как если бы над исходным опе- рандом была выполнена операция XOR со значением 0FFh). Например: . . . mov bl,10110001b not bl ; переключить BL в 01001110b xor bl,0ffh ; переключить BL обратно в ; значение 10110001b . . . Сдвиги и циклические сдвиги ----------------------------------------------------------------- В процессорах 8086 имеется множество способов, с помощью ко- торых можно сдвигать биты регистра или переменной в памяти влево или вправо. Простейшим из них является логический сдвиг. Инструкция SHL (сдвиг влево, синоним - SAL) перемещает каж- дый бит операнда-приемника на один разряд влево, по направлению к самому значащему биту. На Рис. 5.8 показано, как значение 100010110b (96h или 150 в десятичном представлении), записанное в AL, сдвигается влево с помощью инструкции SHL AL,1. В результате получается значение 00101100b (24Ch или 44 в десятичном виде), которое записывается обратно в регистр AL. Флаг переноса устанав- ливается в значение 1. AL ---------------------------------------------------------- | ----- ----- ----- ----- ----- ----- ----- ----- | ---| | 1 |<-| 0 |<-| 0 |<-| 1 |<-| 0 |<-| 1 |<-| 1 |<-| 0 | |<-- | | ----- ----- ----- ----- ----- ----- ----- ----- | | | ---------------------------------------------------------- | | Бит 7 6 5 4 3 2 1 0 | | ----- | ---->| | 0 ----------- ----- Флаг переноса Рис. 5.8 Пример выполнения сдвига влево. Самый значащий (старший) бит вовсе сдвигается из операнда и попадает во флаг переноса, а в наименее значащий бит заносится 0. Для чего используется сдвиг влево? Чаще всего это делается для выполнения с помощью операции SHL умножения на степень числа 2, так как каждая инструкция SHL умножает операнд на 2. Например, с помощью следующих инструкций DX умножается на 16: . . . shl dx,1 ; DX * 2 shl dx,1 ; DX * 4 shl dx,1 ; DX * 8 shl dx,1 ; DX * 16 . . . Умножение с помощью сдвига выполняется гораздо быстрее, чем с помощью операции MUL. Как вы могли заметить, в предыдущем примере в инструкции SHL используется второй операнд - значение 1. Этот операнд указывает, что содержимое DX нужно сдвинуть на 1 бит. К сожалению, процессор 8086 не поддерживает использования в качестве константы сдвига других, отличных от 1 постоянных значений - 2, 3 и т.д. Однако, в качестве счетчика сдвигов допускается использование регистра CL. Например, инструкции: . . . mov cl,4 shl dx,cl . . . умножают содержимое регистра DX на 16 (как и в предыдущем приме- ре). Если есть сдвиг влево, то логично было бы предположить, что


Страницы : 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
Форумы политика, лучшие анекдоты
знакомства.