6.6.4.2 Инструкции по проверке битов: BT, BTS, BTR и BTC
На процессоре 80386 или новее вы можете использовать инструкцию bt (бит
тест), чтобы проверить один бит. Его второй операнд определяет битовый индекс
в первый операнд. Bt копирует указанный бит в перенос
флаг. Например, инструкция
bt ax, 12
копирует двенадцатый бит топора в флаг переноса.
Команды bt / bts / btr / btc работают только с 16- или 32-битными операндами.
Это не ограничение инструкции. В конце концов, если вы хотите
проверить бит три из регистра al, вы можете так же легко проверить бит
три топора регистрируются. С другой стороны, если индекс больше
чем размер операнда регистра, результат не определен.
Если первый операнд является ячейкой памяти, команда bt проверяет
бит с заданным смещением в памяти, независимо от значения
индекс. Например, если bx содержит 65, тогда
bt TestMe, bx
скопирует один бит местоположения TestMe + 8 в перенос
флаг. Еще раз, размер операнда не имеет значения. Для всех
намерения и цели, операнд памяти является байтом, и вы можете проверить
любой бит после этого байта с соответствующим индексом. Фактический бит бт
тесты с индексом позиции бита mod 8 и смещением памяти, действующим
адрес + индекс / 8.