Переход по результатам бит-проверкиПо сравнению с предыдущими командами это более интеллектуальные команды. Их актуальность во много связана с проверкой состояния ножек МК, а если быть точнее, с проверкой битов в регистрах.
Суть работы – сравнение с единицей или нулем указанного в команде бита. Если значение указанного бита удовлетворяет команде, то выполняется следующая команда, иначе следующая команда пропускается.
Проверить бит на равенство нулю BTFSC F,B
если бит B=1, то выполняется следующая инструкция
если бит B=0, то следующая инструкция пропускается
Проверить бит на равенство единице BTFSS F,B
если бит B=0, то выполняется следующая инструкция
если бит B=1, то следующая инструкция пропускается

Разберем фрагмент этого кода. По́мните, биты в регистре нумеруются справа налево и от нуля до семи, следовательно, первый бит в примере у нас равен нулю. Сделав первую проверку по команде BTFSC PORTB,1 обнаруживается совпадение и пропускается следующая команда – GOTO Metka1. Во второй проверке по команде BTFSS PORTB,1 обнаруживается несовпадение и выполняется следующая команда – GOTO Metka2.
Важный вывод. Комбинация команд "переходов по результатам проверки" и команд простых переходов позволяют разветвлять ход программы по нескольким сценариям, тем сам выполнять те или иные задачи.
|