Page 208 - 4503
P. 208
Пункт 1. Додавання молодшого байту доданка А і
доданка В і як результат отримання молодшого байту суми А
+ В ( рисунок 7.2 ).
У цьому пункті здійснюється така послідовність:
— копіюється молодший байт доданка А у робочий
регістр (команда movf,w);
— до вмісту робочого регістру додається доданок В.
Результат зберігається у робочому регістрі ( команда
addwf, w). У результаті цього додавання у разі
переповнення робочого регістру у біт ознаки С (біт 0 реґістра
STATUS) запишеться 1;
— копіюється вміст регістра w у регістр, де утримується
молодший байт суми А + В (команда movwf ).
Пункт 2. Додавання 1 до старшого байту доданка А і
переміщення результату до старшого байту суми А + В
(рисунок 7.3). Тут така послідовність:
— старший байт доданка А копіюється у робочий регістр w
(команда movf,w);
— якщо С = 1, тоді до вмісту w додається 1 (команда
addlw,1 );
— вміст робочого регістру копіюється у регістр, в якому
утримується значення середнього байту суми А + В
(команда movwf ).
Пункт 3. Якщо під час додавання 1 до вмісту w
відбувається його переповнення, тоді слід виконати
інкрементацію наперед очищеного регістра, який відповідає
за вміст старшого байту суми А + В. Інкрементація не
відбувається, якщо переповнення було і отже старший байт
залишається очищеним.
208