Команда 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