Я строю большой исполняемый файл для своей системы где каждому объекту (в конфиге линкера ld) ставлю адрес, его имя, флаги. В конечном счете имею некоторые rom объекты (секции) которые загружаю в соответствующие сегмент интел (без страничной адресации). Нужно сделать так чтобы все обращения к rom объектам (которые в сегментах только для чтения (для простоты допустим в одном)) шли через сегментные регистры fs и gs (ds только для ram), как этого можно достичь?
NoName Точно как и в Delphi. Переопределяешь оператор [] Присваиваешь своему объекту указатель на нужные данные. И работаешь с байтами через []. Внутри определения оператора [] используешь ассемблерную вставку с fs или gs.
Это все понятно. Мне нужен вариант когда компилятор делает это сам для данных класса/типа ром. В последней версии гцц 4.7.0 есть какая-та мало понятная опция -mfsgsbase вот бы еще узнать о ней. Что-то есть в ваткоме, но опять же непонятно что точно. + нужно чтобы кодогенератор понимал что база ds, es и cs не совпадает с ss. А то так наяривают...