AND – logical AND – логическое И. — КиберПедия 

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

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

AND – logical AND – логическое И.

2017-11-17 185
AND – logical AND – логическое И. 0.00 из 5.00 0 оценок
Заказать работу

Действие приемник = приемник AND источник.

Воздействует на флаги OF=0, SF, ZF, AF не определен, PF, CF=0.

 

16-ричный код (1 байт) MOD Reg/OPC Reg/Mem (2-ой байт) смещение disp_Lo, disp_Hi формат операндов: приемник, источник
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg8/Mem8, Reg8
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg16/Mem16, Reg16
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg8, Reg8/Mem8
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg16, Reg16/Mem16
  Data8 (непосредств.операнд) отсутствует AL, Immed8
  Data16 (непосред.операнд) отсутствует AX, Immed16
  MOD 100 Reg/Mem Disp_Lo, Disp_Hi Data Lo Reg8/Mem8, Immed8
  MOD 100 Reg/Mem Disp_Lo, Disp_Hi Data Lo, Data Hi Reg16/Mem16, Imm16
  MOD 100 Reg/Mem Disp_Lo, Disp_Hi Data SX Reg16/Mem16, Imm8

100 - расширение кода операции при работе с непосредственным операндом, размещается в поле Reg/Opc в байте адресации.

 

Примеры команд:

1. Мнемоническая запись: AND [BX+SI], CH; формат операндов Mem8, Reg8

Машинный код команды: 00100000 00101000; команда занимает 2 байта

16-ричный код команды: 2028h.

 

2. Мнемоническая запись: AND BL, DL; формат операндов Reg8, Reg8

Машинный код команды: 00100000 11010011; команда занимает 2 байта

16-ричный код команды: 20D3h.

 

3. Мнемоническая запись: AND DX, [BX+12];формат операндов Reg16, Mem16

Машинный код команды: 00100011 01010111 00001100;команда занимает 3 байта

16-ричный код команды: 23570Ch.

 

4. Мнемоническая запись: AND CL, [DI]; формат операндов Reg8, Mem8

Машинный код команды: 00100010 00001101; команда занимает 2 байта

16-ричный код команды: 220Dh.

 

3. Команда XOR приемник, источник применяется:

· для выяснения того, какие биты в приемнике и источнике различаются;

· для инвертирования состояния заданных бит в приемнике.

Интересующие нас биты маски (источник) при выполнении команды должны быть единичными, остальные – нулевыми. Например:

Xor ax, 10b; инвертировать 1-ый бит в регистре АХ

Jz mes; переход, если 1-ый бит в АХ был единичным.

XOR – logical eXclusive OR – логическое исключающее ИЛИ.

XOR приемник,источник

Действие: приемник = приемник XOR источник.

Команда выполняет операцию логического исключающего ИЛИ над соответствующими парами бит операндов приемник и источник.

Флаги: CF=0, OF=0, PF, AF не определен, ZF, SF.

16-ричный код (1 байт) MOD Reg/OPC Reg/Mem (2-ой байт) смещение disp_Lo, disp_Hi формат операндов: приемник, источник
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg8/Mem8, Reg8
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg16/Mem16, Reg16
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg8, Reg8/Mem8
  MOD Reg/OPC Reg/Mem Disp_Lo, Disp_Hi Reg16, Reg16/Mem16
  Data8 (непосредств.операнд) отсутствует AL, Immed8
  Data16 (непосред.операнд) отсутствует AX, Immed16
  MOD 110 Reg/Mem Disp_Lo, Disp_Hi Data Lo Reg8/Mem8, Immed8
  MOD 110 Reg/Mem Disp_Lo, Disp_Hi Data Lo, Data Hi Reg16/Mem16, Imm16
  MOD 110 Reg/Mem Disp_Lo, Disp_Hi Data SX Reg16/Mem16, Imm8

110 - расширение кода операции при работе с непосредственным операндом, размещается в поле Reg/Opc в байте адресации.

 

Примеры команд:

1. Мнемоническая запись: XOR [DI], CH; формат операндов Mem8, Reg8

Машинный код команды: 00110000 00101101; команда занимает 2 байта

16-ричный код команды: 302Dh.

 

2. Мнемоническая запись: XOR AX, DI; формат операндов Reg16, Reg16

Машинный код команды: 0011001111000111; команда занимает 2 байта

16-ричный код команды: 33C7h.

 

3. Мнемоническая запись: XOR BX, [SI+27h];формат операндов Reg16, Mem16

Машинный код команды: 001100110101110000100111;команда занимает 3 байта

16-ричный код команды: 335C27h.

 

4. Мнемоническая запись: XOR SI, 7FFFh; формат операндов Reg16, imm16

Машинный код команды: 10000001111101101111111101111111; команда занимает 4 байта

16-ричный код команды: 81F6FF7Fh.

 

4. Для проверки состояния заданных бит применяется команда

 

TEST приемник, источник

Проверяемые биты приемника в маске (операнд-источник) должны иметь единичное значение. Алгоритм работы команды TEST подобен алгоритму работы команды AND, но он не меняет значение операнда-приемника. Результатом работы является установка значения флага нуля ZF:

· если ZF = 0, то в результате логического умножения получился ненулевой результат, т.е. хотя бы один единичный бит маски совпал с соответствующим единичным битом приемника;

· если ZF = 1, то в результате логического умножения получился нулевой результат, т.е. ни один единичный бит маски не совпал с соответствующим единичным битом приемника.

Например:

Test ax, 0001h

jnz l1; переход если 0-ой бит равен 1 (переход, если флаг ZF<>0)

  1. Команда NOT операнд

делает инверсию всех битов исходного операнда, изменяя нули на единицы и наоборот. Результат называется дополнением до единицы. Следующие операнды разрешены:

NOT (NOT operand) – инвертирование всех битов операнда приемник.

NOT регистр

NOT память


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

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

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

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

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...



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

0.013 с.