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