Page 238 - 4503
P. 238
З цією командою ми вже мали справу неодноразово, що
й не дивно — вона ж бо є вельми популярною серед
програмістів. Нариклад у задачі 7.2 йшлося про те, що
завдяки командам btfsc STATUS, C і btfss STATUS,Z
відбувалася за щораз (тобто у циклі) перевірка стану ознак Z і
C, її наслідком здійснювався перехід до наступної ітерації
циклу, або ж вихід з нього.
Насправді за допомогою цієї команди можна перевіряти
не тільки ознаки у регістрі STATUS. Перевіряти ж бо можна
будь–який біт будь–якого файлу. При цьому слід пам’ятати,
що у разі здійснення пропуску команда виконується за два
машинних цикли інакше — за один.
7.4.4 Команда btfsc
Окрім того, що цією командою здійснюється перевірка
біта на значення 0, усе інше аналогічне до команди btfss.
7.4.5 Команда decfsz
Команда decfsz є альтернативним варіантом операції
вибору btfss. Вона за своєю функціональністю нагадує
послідовність команд decf і btfss STATUS, Z —
декрементує вміст певного регістра і якщо він отримує
значення 0, то наступна команда пропускатиметься.
Типовим прикладом застосування цієї команди є
підрахунок кількості проходів по циклу. Для прикладу
сформуємо алгоритм команди, що дозволяє сформувати на
RA0 десять імпульсів тривалістю по 3 мкс.
Приклад 7.1
238