VVB (08.11.2006 07:58, просмотров: 1) ответил Bill на ?????!
Пояснение AVR имеет раздельную память данных и память программ.
Как следствие, должны быть СВОИ УНИКАЛЬНЫЕ команды ассемблера для доступа к какому-либо пространству. Нет универасальной команды для доступа к обоим пространствам.
Поэтому и появляется "типа пространства, в котором хранится переменная", если снять эту галку (вот он -- лишний байт для каждой переменной). Процессор в момент исполнения программы проверяет, в каком сегменте находится переменная, и формирует соответствующую команду обращения.
Это где-то в руководстве написано, я не буду рыться -- много других дел. Уж извиняйте.
Я в своих проектах пошёл другим путём: поставил эту галку, а строковые константы храню во flash (модификатор __flash). И у меня есть свои уникальные функции работы с этими строками.