Page 190 - 4503
P. 190

6.4.2 Друга засторога — фіксовані адреси

                Семибітна  адреса  операнда  є    його  фіксованою
           складовою частину і тому не підлягає зміні під час виконання
           програми.  На  перший  погляд  пряма  адресація  є  цілком
           природною і тому єдино доцільною.  Насправді доволі часто
           зроблено адресацію операндів — змінною величиною, в чому
           ми переконаємось після розгляду двох наступних прикладів у
           яких  ідеться  про  програмне  очищення  усіх  регістрів  0-го
           банку мікроконтролера  PIC 16F627/8 з адресами від  h’20’ до
           h’7F’.
                Очевидним, з точки зору застосування прямої адресації,
           видається  багаторазове  застосування  у  програмі  команди
           clrf:
                Програма  6.1.  Очищення  регістрів  з  використанням
           команд  прямої  адресації
                clrf h’20’
                clrf h’21’
                clrf h’22’
                clrf h’23’
                clrf h’24’
                clrf h’25’
                .........
                clrf h’7F’

                Отож кожна із 96–ти команд є однією і тією ж командою
           тільки з різними операндами. Чи не можна якось змінити  таку
           надокучливу  одноманітну  послідовність?  Уявіть,  що  треба
           очистити  усі    224  реґістри  загального  призначення
           мікроконтролера    PIC16F627.  Отже,  у  Flash–пам'ять  слід
           записати 224 команди, тоді як у ній  існує всього 1024 комірки
           пам’яті. Тобто це займе понад 20 % об’єму у пам’яті команд.


                                         190
   185   186   187   188   189   190   191   192   193   194   195