Средства разработки для PICMICRO - Страница 38

Средства разработки для PICMICRO - Средства разработки для PICMICRO

btfss STATUS, С ; Флаг переноса установлен в 1?

decf Reg + 1 , f ; Нет - производим декремент старшего байта

Наряду с командами тестирования битов, которые описаны ниже, имеются две другие команды, осуществляющие переход к заданной команде. Это инкремент/декремент с пропуском команды при нулевом результате (команды 28.16 и 28.17). Эти две команды работают аналогично командам «incf» и «decf» в смысле обработки данных. Единица вычитается из содержимого регистра-источника или прибавляется к нему. Затем полученное значение может быть сохранено в регистре W или в регистре-источнике. Важное отличие от тех команд заключается в том, что при нулевом результате выполнения этих команд пропускается следующая за ней команда. Это означает, что команды «decfsz» и «incfsz» могут использоваться для организации программных циклов. Действительно, я могу сказать, что команда «decfsz» обычно служит для управления циклами. Ниже приведен пример кода, который показывает, как можно осуществить цикл из 37 повторений с очень малым увеличением объема программы.

movlw 37 ; Загрузить регистр-счетчик циклов

movwf LoopCounter
Loop ; Повторение каждой итерации в цикле

Go to Top