Page 275 - 4503
P. 275
команда retlw повертає у робочий регістр однобайтну
константу.
У програмі 8.6 здійснюється відбір n–елемента таблиці
Tabel [n] шляхом додавання числа n, що розміщене у
робочому регістрі до вмісту регістра PCL.
Програма 8.6. Програмна реалізація дешифратора 7–
сегментного індикатора
;--------------------------------------------------------------------------------
; ФУНКЦІЯ : повертає n–елемент таблиці, де n — вміст
робочого регістру.
; ПРИКЛАД: при W = 6, повертається код b’01111101’.
; ВХІД : n ( в діапазоні 0..9) у W
; ВИХІД : n - елемент таблиці у W
;--------------------------------------------------------------------------------
PCL equ h’02’
N equ 5 ;замість «5» можна вставити
;будь-яке потрібне одноцифрове число
;-ОСНОВНА ПРОГРАМА -------------------------
; Код основної програми. . . . . . .
movlw N ; завантаження числа N у W
; щоб його дешифрувати для відображення
;символу «N» на 7-сегментному індикаторі
call SVN_SEG ; виклик підпрограми
;дешифрації
; . . . . . . .
;-ПІДПРОГРАМА ДЕШИФРАЦІЇ SVN_SEG -----------
SVN_SEG
addwf PCL,f ;додавання N до
;PCL,отримано ;PC=PC+N
retlw b’00111111’;код для 0,
;повертається при ;N=0
275