Группа команд BT, BTC, BTS и BTR используется для работы с отдельными битами своего операнда. Команда BT (Bit) позволяет получить состояние заданного бита своего операнда. Команды BTC (Bit Change), BTS (Bit Set), BTR (Bit Reset) также получают состояние заданного бита, но помимо этого еще выполняют некоторые действия над этим битом.

 

Команда BT
Синтаксис: BT op1,op2
Операнды: op1 - r/m16, r/m32
op2 - r16, r32, i8
Назначение: Проверка бита
Процессор: 80386+
Флаги: Флаг CF содержит значение проверяемого бита
Комментарий: Команда BT позволяет получить значение определенного бита первого операнда. Номер проверяемого бита задается вторым операндом.
Ограничения:

Номер бита, получаемый из второго операнда, берется по модулю 32, таким образом значение номера бита не может превысить 31.

Примеры:
bt	edx,4
bt	[eax],cx
Команда BTC
Синтаксис: BTC op1,op2
Операнды: op1 - r/m16, r/m32
op2 - r16, r32, i8
Назначение: Проверка бита и инвертирование
Процессор: 80386+
Флаги: Флаг CF содержит значение проверяемого бита
Комментарий: Команда BTC позволяет получить значение определенного бита первого операнда, а затем инвертирует состояние этого бита в операнде. Номер проверяемого бита задается вторым операндом.
Ограничения:

Номер бита, получаемый из второго операнда, берется по модулю 32, таким образом значение номера бита не может превысить 31.

Примеры:
btc	edx,4
btc	[eax],cx
Команда BTS
Синтаксис: BTS op1,op2
Операнды: op1 - r/m16, r/m32
op2 - r16, r32, i8
Назначение: Проверка бита и установка
Процессор: 80386+
Флаги: Флаг CF содержит значение проверяемого бита
Комментарий: Команда BTS позволяет получить значение определенного бита первого операнда, а затем устанавливает значение этого бита равным единице. Номер проверяемого бита задается вторым операндом.
Ограничения:

Номер бита, получаемый из второго операнда, берется по модулю 32, таким образом значение номера бита не может превысить 31.

Примеры:
bts	edx,4
bts	[eax],cx
Команда BTR
Синтаксис: BTR op1,op2
Операнды: op1 - r/m16, r/m32
op2 - r16, r32, i8
Назначение: Проверка бита и сброс
Процессор: 80386+
Флаги: Флаг CF содержит значение проверяемого бита
Комментарий: Команда BTR позволяет получить значение определенного бита первого операнда, а затем сбрасывает этот бит в нулевое значение. Номер проверяемого бита задается вторым операндом.
Ограничения:

Номер бита, получаемый из второго операнда, берется по модулю 32, таким образом значение номера бита не может превысить 31.

Примеры:
btr	edx,4
btr	[eax],cx