Page 237 - 4503
P. 237

bcf PORTA, 0 ;  формування негативного
                ;імпульсу
                nop;затримка попердньої команди на 1 мкс
                nop;затримка попердньої команди на 1 мкс
                bsf PORTA, 0 ;формування позитивного
                                         ;імпульсу 1 мкс

                Попередньо,  слід  ініціалізувати  RA0    на  виведення,  і
           встановити на ньому логічну одиницю.

                7.4.2 Команда  goto  —  перехід до іншої команди

                Ця  команда  дозволяє  перейти  до  будь–якої  потрібної
           команди  у  межах  пам’яті  команд.  Наприклад  команда  goto
           h’134’  передбачає  перехід  до  виконання  команди,  що
           прописана у комірці h’134’ пам’яті команд.
                Однак перехід  до іншої адреси, означає не тільки  зміну
           в регістрі РС — (замість інкрементування попередньої адреси
           у ньому відбудеться запис абсолютно іншої величини),  ще й
           слід  викинути  із  регістра    №  1  конвеєра  вже  не  потрібну
           команду і змінити її на ту, яку перед цим записали як нову у
           регістр  РС.  Цей  процес    називається  «скинення  конвеєра».
           Власне  тому  дана  команда  виконується  не  за  один,  а  два
           машинних цикли.
                Тим не менше рекомендується  застосування міток, а не
           конкретних адрес, адже команда goto NAME (тут NAME —
           назва  мітки)  звільняє  програміста  від  нелегкого
           запитання:  а  де  саме,  розміщатиметься  та  чи  інша  команда,
           адреса  якої  так  чи  інакше  може  змінюватися  в  процесі
           розроблення програми?

                7.4.3 Команда  btfss



                                         237
   232   233   234   235   236   237   238   239   240   241   242