Page 212 - 4503
P. 212

addlw  1  ;якщо  так,  тоді  до  вмісту
           ;робочого ;регістру додати 1
                  movwf S_MID,f ; якщо ні, то скопіювати
           ;вміт до середнього байту суми
           ;----Пункт3---------------------------------
                  сlrf  S_HIG  ;  очистити  старший  байт
           ;суми
                  btfsс        STATUS,С        ;     перевірити         чи
           ;відбулось  переповнення  у  робочому  регістрі
           ;внаслідок команди ;addlw 1
                  incf        S_HIG           ;     якщо      так,      то
           ;інкрементувати  старший байт суми
           ;  якщо  ні,  то    виконувати  ;наступну  ;секцію
           загальної програми

                Слід відмітити,  що оскільки жодна з команд програми
           7.3  окрім  addwf  B,w  і  addlw  1        не впливають на
           стан  ознаки  С,  тому  є  можливим  застосування  команди
           btfsс STATUS,С для  перевірки стану цієї ознаки навіть
           через декілька команд після команди  додавання.

                7.2.2  Різниця  в  застосуванні  команд  інкрементації–
           декрементації і додавання–віднімання одиниці.

                Команди  інкрементування  і  декрементування,  як  і
           команди addlw 1 та  addlw -1 здійснюють додавання 1 до
           вмісту певного регістру чи відповідно віднімання 1 від нього.
           Різниця полягає в тому, що дія команд incf, decf не змінює
           стану ознак   C і  DC. У той же час ці команди впливають на
           ознаку Z.
                Як  бачимо  з  таблиці  6.2  результат  дії  команд
           декрементування і інкрементуванн, як і команди addwf може




                                         212
   207   208   209   210   211   212   213   214   215   216   217