Необходимо разместить несколько массивов данных в памяти программ, ну и потом с ними работать, конечно. Компилятор - MCC18. Верно ли будет использовать директиву rom, к примеру:
rom unsigned char digit0[5]={0b01111110,0b10010001,0b10001001,0b10000101,0b01111110};
После компиляции проекта во вкладке Memory Usage Gate при добавлении директивы rom наблюдаю уменьшение размера занятой data memory, но при этом program memory не возрастает. Не понятно...
Может у кого есть ссылки на ресурсы или доки, где даётся по возможности доходчивая трактовка директив MCC18. А то что-то туговато по началу идет

PS: при этом для компиляции без предупреждения типа "Warning [2066] type qualifier mismatch in assignment" необходимо используемый мной указатель объявлять также
rom unsigned char *font_pointer;
Это вообще адекватный подход?