Префиксные команды используются совместно с командами СMPS и SCAS. Префикс REPE означает повторять, пока содержимое регистра EСХ не равно нулю и значение флажка нуля равно единице, a REPNE – повторять, пока содержимое регистра ECX не равно нулю и значение флажка нуля равно нулю.
Команды манипулирования битами
Логические команды.
NOT Операнд; логическое НЕ;
AND Операнд1, Операнд2 ; логическое И;
OR Операнд1, Операнд2 ; логическое ИЛИ;
XOR Операнд1, Операнд2 ; исключающее ИЛИ;
TEST Операнд1, Операнд2 ; И без записи результата.
Операнды байты или слова.
Пример.Выделить из числа в AL первый бит:
And al,10000000B
Команды сдвига
Код операции Операнд, Счетчик
Счетчик записывается в регистр СL. Если счетчик равен 1, то его можно записать в команду.
Коды команд сдвига:
SAL –сдвиг влево арифметический;
SHL– сдвиг влево логический;
SAR –сдвиг вправо арифметический;
SHR –сдвиг вправо логический;
ROL –сдвиг влево циклический;
ROR –сдвиг вправо циклический;
RCL –сдвиг циклический влево с флагом переноса;
RCR –сдвиг циклический вправо с флагом переноса.
Пример.Умножить число в AX на 10:
Mov bx,ax
Shl ax,1
Shl ax,1
Add ax,bx
Shl ax,1
Организация ввода – вывода в консольном режиме
Библиотека MASM32.lib содержит специальные подпрограммы организации ввода-вывода для консольного режима.
Ввод.Процедура ввода: