Цитата(prottoss @ Jul 16 2006, 21:14)

Но хотелось бы, чтобы конец сегмента, или начало требуемого массива в тексте модуля *.с, а не в *.xcl , и адрес вычислялся на этапе компиляции
Думал-думал.. А отчего такое горячее желание "решить" задачу непредназначенными для этого средствами?
1.Самый "правильный" вариант - действительно завести свой сегмент и указать линкеру куда его линковать. Для решения каких-то "особенных" проблем можно передавать и линкеру и компилятору некий общий параметр (задаваемый в makefile/проекте) через командную строку.
2.Самый дубовый - добавляете свои "констанаты" прямо в файл с таблицей векторов (но см. примечание к п.3).
3.Самый "кривой" - Создаете файл c с указанием того, что результат компиляции слинковать в INTVEC (полагаю, что IAR линкер, как обычно, выполнит линковку в сегмент в порядке встретившимся ему упоминаний). Но *.xcl рожденный "автоматически" все равно править придется, ибо там скорее всего
INTVEC фиксированного размера.
А других я не знаю, да и не встречал в них когда-либо какой-либо необходимости.
Цитата(arttab @ Jul 17 2006, 05:12)

Можно написать сою библиотеку, которая по define чегото
Волшебное слово библиотека тут совсем не играет, как и #define, ибо размещением всего и вся за пределами кусочков сегмента ведает линкер и только линкер - вот и указанием ему что и как делать и предстоит мудрить. Мочему нужно "мудрить", вместо прямого и четкого указания - вопрос интересный.