Page 222 - 4503
P. 222

адресою  h’34’  розміщене  двійкове  число  01101110,  то  у
           результаті  команди  comp  h’34’,w  у  робочому  регістрі
           запишеться число 10010001.
                У контролерів PIC немає команди compw, тому інверсію
           вмісту робочого регістру можна виконати шляхом віднімання
           його вмісту від числа b’11111111’:





                Тобто  в  такому  випадку  слід  застосувати    команду
           sublw h’FF’.
                Зауваження:  за  потреби  знайти  обернений  код  будь-
           якого  десяткового    числа,  наприклад:  5674,  можна
           скористатись  аналогічним  прийомом.    Для  цього  слід  від
           числа 9999 відняти 5674. Отже, 9999 – 5674 = 4326. Це можна
           зробити  також  і    скориставшись  таблицею  6.3  –  порозрядно
           записати  інверсні  значення  для    числа  5674  →  4325
           (доповнений код), а далі додавши 1 отримати оберенний код:
           4325 + 1 = 4326.

                7.3.2 Операція І ( команди  andlw k, andwf f, d )

                Побітова операція І означає наступне:
                — нехай існують два 4-розрядні числа А і В. Якщо А =
           1101, а В = 0011, то A · B = 0001.  Цей результат отриманий
           шляхом  застосування  операції    І  кожного  із  розрядів
           відповідного числа. У найстаршому розряді числа А записана
           логічна  1,  у  тому  ж  розряді  числа  В  —  логічний  0.  У
           результаті операції І маємо 1 · 0 = 0. У наступному після нього
           розряді також маємо 1 · 0 = 0. Далі 0 · 0 = 0. І нарешті 1 · 1 = 1.



                                         222
   217   218   219   220   221   222   223   224   225   226   227