Page 213 - 4503
P. 213
бути збережений або у робочому регістрі, або у відповідному
регістрі пам’яті даних.
У наступному програмному фрагменті показано приклад
здатності команди incf впливати на ознаку нуля — Z. У
прикладі йдеться про трибайтне число (рисунок 7.4), яке при
інкрементуванні стає переповненим у найнижчому байті,
тобто відбувся такий перехід b’11111111’+1 = b’00000000’.
Внаслідок цієї дії мав би відбутися перенос у старший байт
числа 1, але команда інкрементування так не чинить, зате
забезпечить установку 1 у біті Z регістра STATUS.
Рисунок 7.4 — Трибатне число збережене у реґіcтрах за
адресами h’31’, h’32’, h’33’
; ввести еквівалентні позначення
LOW equ h’31’
MIDDLE equ h’32’
HIGHE equ h’33’
; інкремернтувати дане трибайтне число
incf LOW ; інкрементувати молодший байт
btfss STATUS, Z ; перевірити, чи
;установлений біт Z
goto NEXT ; якщо ні, то вийти
incf MIDDLE ; якщо так, то інкрементувати
;серед. байт
btfss STATUS, Z; перевірити, чи установлений
;біт Z goto NEXT ; якщо ні, то вийти
incf HIGHE ; якщо так, то інкрементувати
;старший байт
NEXT ; наступна секція коду програми
213