Ксения (03.05.2005 14:54, просмотров: 1) ответил _TMX_ на Как объявить функцию, возвращающую указатель на саму себя?
Если регистр указателя инструкций программно доступен то функция может возвращать его, с некоторым смещением назад до начала тела функции (разность между адресом текущей инструкции и началом тела функции). Это число легко уточнить по ассемблерному листингу).
Если такой возможности нет, то функция может залезть в стек возвратов, найти там адрес, на который ей придется вернуться после окончния работы, после этого проанализировать команду, которая ее вызвала. В состве команды обязательно найдется либо абсолютный адрес вызова (он тогда и будет нужным ответом), либо относительный адрес вызова, по которому просто вычислить абсолютный.