FE23 LOOCH DISASMСПРАВОЧНИК ПО КОМАНДАМ
|
Главная | Загрузка | Инструкция | Команды x86 | Карта сайта |
КОМАНДЫ ДЛЯ РАБОТЫ С БИТАМИ
Группа "Работа с битами" содержит следующие команды:
Можно считать, что здесь есть только две существенно разные команды,
команда BSF/BSR и команда BT/BTS/BTR/BTC. Но эти две команды имеют разные
модификации.
В колонке "Операнд" показаны операнды для команды на языке ассемблера. Но эти обозначения показывают также, что является операндом и для машинной команды. Размер операнда 16 бит или 32 бита определяется атрибутом размера операнда.
Обозначения (reg16), (reg32) - это регистр, который задается в поле
Обозначения (r/m16), (r/m32) - это регистр или адрес памяти, задаваемые
в поле Обозначение (imm8) - это численный параметр, непосредственный операнд размером в один байт, вставленный в машинную команду. В колонке "Формат" ему соответствует обозначение data(1). Команда BSF/BSRКоманда BSF/BSR сканируют биты в слове (или в двойном слове) и отыскивает первый встреченный бит, равный 1. При этом команда BSF сканирует в прямом (forward) направлении, начиная с младшего (нулевого) разряда, а команда BSR сканирует в обратном (reverse) направлении, начиная со старшего разряда. Проверяемое слово (или двойное слово) задается вторым операндом, это операнд - источник (source). Здесь может быть регистр или память. Результатом является номер найденного бита. Первый операнд задает, куда заносить результат, это операнд - приемник (destination). Здесь может быть только регистр.
Если бит с единичкой найден, устанавливается флажок На другие флажки эта команда не воздействует, другие флажки не изменяются. Команда BT/BTS/BTR/BTCКоманда BT/BTS/BTR/BTC берет бит с заданным номером из слова (или из двойного слова) и заносит его во флажок переноса CF (carry flag). Команда BT больше ничего не делает. Команда BTS этот бит в исходном слове устанавливает в 1, команда BTR установливает в 0, команда BTC инвертирует этот бит (0 ставит в 1, 1 ставит в 0). Исходное слово (или двойное слово), откуда берется проверяемый бит, задается первым операндом. Этот операнд считается приемником (destination). Здесь может быть регистр или память. Номер разряда для проверяемого бита задается во втором операнде. Этот операнд считается источником (source). Здесь может быть либо регистр, либо просто числовое значение. (Эти два разных способа задания второго операнда поддерживаются совершенно разными машинными командами). Бит, помещенный во флажок CF, далее можно тестировать, используя команду JC или JNC. Команда воздействует только на флажок CF, другие флажки не изменяются. О кодах операций для команды BT/BTS/BTR/BTC
Два варианта кодов операций в двоичном виде можно представить так:
Здесь показаны первый и второй байты кода операции
и следующий за ними байт Основные страницы справочника |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Главная | Загрузка | Инструкция | Команды x86 | Карта сайта |