Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Продукция MICROCHIP (http://www.microchip.su/forumdisplay.php?f=6)
-   -   Таблицы в PIC16Fxxxxx (http://www.microchip.su/showthread.php?t=18306)

Марк 16.04.2018 13:43

Таблицы в PIC16Fxxxxx
 
В новых 8-разрядных ПИКах имеется аналог PSV в 16-разрядных.
Даже начальный адрес пространства отображения программного флеша в ОЗУ совпадает: 0х8000.
В связи с этим вопрос. Не появился ли случаем в ассемблере MPASMX аналог генератора константы psvoffset(Lable) для адресации таблиц во флеше? В мануале на MPASMX при MPLABX не нашел, но вдруг есть что то пока недокументированное....

Марк 16.04.2018 15:23

Re: Таблицы в PIC16Fxxxxx
 
Пока вывернулся так:

Код:

TabCRC        equ  0x400
TabEncrypt    equ  0x500
..............

    movlw    (TabCRC>>8)+0x80
    movwf      FSR0H

..............

    movlw    (TabEncrypt>>8)+0x80
    movwf      FSR1H

..............


    org    TabCRC
 dw        0x00, 0x31, 0x62, 0x53, 0xC4, 0xF5, 0xA6, 0x97
 dw        0xB9, 0x88, 0xDB, 0xEA, 0x7D, 0x4C, 0x1F, 0x2E
 dw        0x43, 0x72, 0x21, 0x10, 0x87, 0xB6, 0xE5, 0xD4
.............
    org    TabEncrypt
 dw        0x02, 0x33, 0x60, 0x51, 0xC6, 0xF7, 0xA4, 0x95
 dw        0xF8, 0xC9, 0x9A, 0xAB, 0x3C, 0x0D, 0x5E, 0x6F
.............

Коряво в смысле автоматического выделения памяти для таблиц, но, по крайней мере, в коде нет безымянных констант...


Часовой пояс GMT +3, время: 04:35.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot