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
   233   234   235   236   237   238   239   240   241   242   243