Re[5]: Определение смещения внутри функции
От: srggal Украина  
Дата: 15.03.05 15:33
Оценка:
Здравствуйте, tacit_one, Вы писали:

_>Здравствуйте, srggal, Вы писали:



S>>Достаточно одной, причем если напрячься то можно свести затраты к минимуму push/pop IP, а это, ИМХО, уже как раз и есть нормально, я сам сталкивался с необходимостью балансирования на грани выделения отдельных подпрограмм ( функциями уже трудно назвать naked со своим эпилогом ), и затратами на вызов функции.


S>>Самое главное не портить регистры в naked, тогда все будет


_>одну... ну, теперь представь вот такой код


_>
_>func()
_>{
_>  _asm
_>  {
_>   ...
_>   _LABEL0x00:
_>     _LABEL0x01:
_>     ...
_>     _LABEL0xff:
_>     ...
_>  }
_>}

_>main()
_>{
_>  UINT offset = _LABEL — func;
_>}
_>


_>а ещё представь, что функция func загружается не загрузчиком, а вручную,

_>и предсавь, во что превратится код, если в C файле будет 0xFF _naked функций...

Опять же, ИМХО, может вы замудрили и ВСЁ можно сделать проще ? Чессно гря, как-то надуманно
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.