Лабораторная работа №8. Команды логических операций

Команды логических операций

Логические операции представлены булевыми операторами NOT (инверсия), AND (конъюнкция), OR (дизъюнкция), XOR (исключающее или) и командой TEST, которая выполняет конъюнкцию операндов, но не изменяет их значений (неразрушающая проверка). Все логические операции являются поразрядными, то есть выполняются независимо для всех бит операндов. Форматы команд:

AND OR XOR TEST mem/reg, mem/reg mem/reg, mem/reg mem/reg, mem/reg mem/reg, mem/reg AND OR XOR TEST mem/reg data, mem/reg data, mem/reg data, mem/reg,data AND OR XOR TEST ac, data ac,data ac,data ac,data

NOT mem/reg

Рассмотрим пример. Пусть необходимо сформировать сорока байтный массив путём преобразования символов, вводимых с клавиатуры. Каждые четыре байта массива формируются путём: 1) инверсии очередного введённого байта; 2) конъюнкции байта с числом Ach; 3) инвертирования в исходном байте третьего и пятого разрядов; 4) дизъюнкции байта с ранее введённым символом (для первого символом дизъюнкцию не производить - в память записывается введенный байт). Фрагмент программы реализующей решение поставленной задачи имеет вид:

Assume cs:cod, ds:data

Data segment

Aa db 40 dup(?)

Data ends

Cod segment

Start proc far

Push ds

Mov ax,0


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: