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

Пример 1


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

bts AX, 5 ;AX=OOFFh Бит 5 был = 1

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



Пример 2


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

bts AX, 8 ;AX=lFFh Бит 8 был = 0

;Установка бита 8, ZF=0

Пример 3


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

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

bts AX,BX ;AX=8001h Бит 15 был = 1

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

 

Пример 4


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

mem dw IFh ; Анализируемое данное

;В программном сегменте:

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

; Установка бита 10, ZF=0