Команда btr проверяет определенный бит в слове, заданном первым операндом, копирует его значение в флаг CF и сбрасывает. Номер бита выступает в качестве второго операнда. Первым операндом команды btr может служить регистр или ячейка памяти, вторым - регистр или непосредственное значение. В команде допустимо использование как 16-битовых, так и 32-битовых операндов, но и первый, и второй операнды должны быть одного типа (за исключением случая, когда второй операнд - константа).

Пример 1


mov AX,00Fh ;Анализируемое данное

btr АХ, 5 ;AX=00DFh. Бит 5 был = 1

;Сброс бита 5, ZF=1

Пример 2


mov AX,00FFh ;Анализируемое данное

btr AX, 8 ;AX=0FFh Бит 8 был =0

;Остался 0, ZF=0

Пример 3


mov AX,8001h ;Анализируемое данное

mov BX,15 ;Номер проверяемого бита

btr AX,BX ;AX=0001h Бит 15 был = 1

;Сброс бита 15, ZF=1

 

Пример 4


;В полях данных

mem dw IFh

;В программном сегменте: ;Анализируемое данное

btr mem,10 ;mem=lFh Бит 10 был = 0

;Остался 0, ZF=0