Среда, 30 мая 2012 04:44

ПП перекодировки данных .

Written by
Rate this item
(0 votes)

   Данный алгоритм можно применить в подпрограммах  перекодировки, где таблица, записанная в память данных, позволяет сопоставить одному 8-битному числу другое произвольное 8-битное число.

Здесь  в примере,  показано как можно произвести  перекодировку десятичного числа  в другое десятичное число.  Первоначально в память программ (в этом примере по адресу 0500h) записываются коды (числа  0-9 "ПП кодировщик") , при обращении к регистру   PLUSW0 происходит чтение регистра расположенного по адресу 0500 + W .

 

Данным способом можно перекодировать значение всех чисел в пределах 0-255.  Необходимо учитывать, что числа 0-127 будут в одном банке, а числа  128-256  в предыдущем,   т.е.     (-128<=F<=127).


;-----------------------------------
; При выполнении подпрограммы к адресу 0500h
; добавляется значение содержимого W , 
; результат в W (чтение регистра 0500+W)
;-----------------------------------
Kod_w       lfsr        FSR0,0500h ; Указатель на 0500h
            movf          PLUSW0,0 ; Значение в W
            return                 ; Возврат из ПП


Запись кода (пример).

;-----------------------------------
; Кодировщик 
;-----------------------------------
Kod_c       lfsr        FSR0,0500h ; записывать с адреса 0500h
            movlw               .9 ; Символ "0".
            movwf         POSTINC0 ; Запись, +1
            movlw               .8 ; Символ "1".
            movwf         POSTINC0 ; Запись, +1
            movlw               .3 ; Символ "2".
            movwf         POSTINC0 ; Запись, +1
            movlw               .7 ; Символ "3".
            movwf         POSTINC0 ; Запись, +1
            movlw               .1 ; Символ "4".
            movwf         POSTINC0 ; Запись, +1
            movlw               .2 ; Символ "5".
            movwf         POSTINC0 ; Запись, +1
            movlw                0 ; Символ "6".
            movwf         POSTINC0 ; Запись, +1
            movlw               .4 ; Символ "7".
            movwf         POSTINC0 ; Запись, +1
            movlw               .5 ; Символ "8".
            movwf         POSTINC0 ; Запись, +1
            movlw               .6 ; Символ "9".
            movwf         POSTINC0 ; Запись, +1
            return                 ; Возврат из ПП.
           
Read 1166 times Last modified on Понедельник, 11 августа 2014 07:32

Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru