Ну и на закуску, так сказать.
Вот изначальный вариант, где массив расположен в ОЗУ, но гарантированно используется в коде. В этом случае перед выполнением основного кода массив уже должен быть [кем-то] проинициализирован в ОЗУ.
Несложно увидеть в начале "выхлопа"
*.asm [длинный] фрагмент кода, ответственного за инициализацию массива - цепочка команд
movlw/
movwf бла_бла_бла.
В
*.hex это разумеется тоже есть, но выглядит уже не столь очевидно ( там очевидность и не требуется, разве что для копирайта
).
Поэтому, если массив неизменяемый, имеет смысл размещать его в памяти программ.
array_in_ram_used.zip
На этом всё. Успехов! а я ушёль.