В этой команде операнд_2, выполняющий
or eax,10b ;установить 1-й бит в регистре eax
|
Для
сброса определенных разрядов (бит) в
0
применяется команда
and операнд_1,операнд_2.
В этой команде операнд_2, выполняющий роль маски, должен содержать нулевые биты на месте тех разрядов, которые должны быть установлены в 0 в операнд_1.
and eax,fffffffdh ;сбросить в 0 1-й бит в регистре eax
|
Команда
xor операнд_1,операнд_2 применяется:
для выяснения того, какие биты в операнд_1 и операнд_2
различаются;
для
инвертирования состояния заданных бит в операнд_1.
xor eax,10b ;инвертировать 1-й бит в регистре eax jz mes ;переход, если 1-й бит в al был единичным
|
Интересующие нас биты маски (операнд_2) при выполнении команды xor должны быть единичными, остальные — нулевыми.
Для проверки состояния заданных бит применяется команда
test операнд_1,операнд_2 (проверить операнд_1).
Проверяемые биты операнд_1 в маске (операнд_2) должны иметь единичное значение. Алгоритм работы команды test подобен алгоритму команды and, но он не меняет значения операнд_1.
Результатом команды является установка значения флага нуля
zf:
если zf = 0, то в результате логического умножения получился нулевой результат, то есть один единичный бит маски, который
не совпал с соответствующим единичным битом операнд_1;
если zf = 1, то в результате логического умножения получился ненулевой результат, то есть хотя бы один единичный бит маски
совпал с соответствующим единичным битом операнд_1.
test eax,00000010h jz m1 ;переход, если 4-й бит равен 1
|
<
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий