ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
485850 Топик полностью
fk0, легенда (05.02.2014 21:38, просмотров: 243) ответил abivan на не размещает ф-ии в сегменте. ф-й в сегменте много static
Не понял. Вначале скажу, что есть несколько больших проектов с такими опциями: -L-ACODE=00h-0FFFFh,010000h-01FFBFh -L-pconst=LOWCODE+1000h -L-plowtext=LOWCODE. И в тексте #pragma psect text=lowtext. Компилятор 9.51pl2. И в lowcode он размещает. Зачем: да затем, что иначе функции вызываемые по указателю в этом модуле невозможны (если адрес >= 0x10000). Единственное что замечено, что прагма должна идти в файле до любого кода. В конце, в файле включаемом через include и т.п. -- может не работать. Может в этом дело? То-есть нельзя одну функцию засунуть в конкретную секцию. Только весь .text для модуля целиком и прагма должна идти до кода, подчёркиваю. Кроме того, я бы не рассматривал всякие дизассемблеры в картинках. После компоновки .lst файлы содержат реальные адреса. Вот приведи lst файла содержащего BootLoader и его .c эквиэвалент -- тогда станет ясно. А так непонятно что там понаписывано. Но вообще я от lowtext и идеи класть функции в секции отказался в пользу такого решения.
[ZX]