Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Краткие теоретические сведения.

2024-02-15 68
Краткие теоретические сведения. 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

1. Логические команды

2. Команды сдвига и циклического сдвига

Команды манипулирования битами.

Эти команды манипулируют группами битов в регистрах или ячейках памяти. Они разделены на три группы: логические команды, команды сдвига и команды циклического сдвига.

Логические команды

Эти команды названы логическими потому, что они действуют по правилам формальной логики, а не арифметики. Например, логическое утвержде­ние "если А истинно и В истинно, то С истинно" находит свое отражение в команде AND (и) микропроцессора 8x86, которая применяет его к соответствующим битам двух операндов.

Точнее говоря, команда AND полагает равным 1 все те биты операнда приемника, в позициях которых содержится 1 у обоих операндов. А в те биты приемника, в позициях которых содержится любая другая комбинация значении (или 00, или О и 1), полагаются равными нулю.

Так как логические операции манипулируют битами операндов, то обычно при записи значений таких операндов используют шестнадцатеричную систему счисле­ния. Логические команды микропроцессора 8x86 могут оперировать байтами или словами, поэтому обычно приходится иметь дело с двузначными или четырех­значными шестнадцатеричными числами.

Логические команды OR , AND и XOR .

Операндами команд AND, OR и XOR могут быть байты или слова. В этих коман­дах можно сочетать два регистра, регистр с ячейкой памяти или непосредственное значение с регистром или ячейкой памяти.

Команда AND маскирует (обнуляет) некоторые биты, после чего можно выпол­нить дальнейшую обработку остальных битов. Как уже упоминалось, в каждой позиции бита, где оба операнда содержат 1, операнд-приемник также будет содер­жать 1. В тех же позициях, где операнды имеют любую другую комбинацию значе­ний, операнд-приемник будет содержать 0. Запомните, что при исполнении коман­ды AND биты операнда-приемника становятся, равны 0 всюду, где операнд-источ­ник содержит 0, и сохраняются там, где операнд-источник содержит 1.

Приведем несколько примеров команд AND:

AND АХ,ВХ        ;Выполнить AND над двумя регистрами

AND AL,MEM_BYTE ;Выполнить AND над регистром и ячейкой памяти

AND MEM_BYTE   ; или наоборот

AND BL,1101В   ;Выполнить AND над константой и регистром

AND TABLE[BX],MASK3 ; или ячейкой памяти

 

Рассмотрим следующий пример применения команды AND. Пусть порт 200 соединен с 16-битовым регистром состояния внешнего устройства системы и бит 6 показывает, включено (1) или выключено (0) устройство. Если Ваша программа может продолжать работу только в случае, когда устройство включено, то она должна содержать следующий цикл:

 

CHK_PWR: IN AХ,200    ;Прочитать состояние устройства

AND AX,1000000B ;Изолировать индикатор включения

JZ CHK_PWR   ;Подождать включения питания, ...           ; а затем продолжить работу

 

Команда JZ (jump if zero - перейти если нуль), которая нами еще не рассматрива­лась, заставляет микропроцессор 8x86 вернуться к команде IN с меткой CHK_PWR, если флаг нуля ZF равен 1, и перейти к следующей команде в противном случае. В нашем примере флаг ZF равен 1 только в том случае, когда индикатор включения (бит 6) равен 1, так как команда AND обнуляет все остальные биты регистра АХ.

Команда OR полагает равным 1 те биты операнда-приемника, в позициях которых хотя бы один из операндов содержит 1. Эта команда обычно используется для принудительного присваивания 1 заданным битам. Например, команда

OR BX,OCOOH

полагает два старших бита (14 и 15) регистра ВХ равными 1 и оставляет другие биты не измененными.

Команда XOR используется, если надо выяснить, в каких битах значения операндов различаются, или если надо обратить состояния заданных битов. Команда XOR полагает равным 1 все те биты приемника, в позициях которых операнды имеют различные значения, иначе говоря, те биты, в позициях которых один из операндов имеет значение-0, а другой - 1. Если оба операнда содержат в данной позиции либо 0, либо 1, то команда XOR обнуляет этот бит приемника.

Например, команда

XOR BX,0C000H

обращает состояния двух старших битов регистра ВХ (14 и 15) и сохраняет осталь­ные биты неизмененными.


Поделиться с друзьями:

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.