ASDFS, USB-гуру (19.10.2004 17:17, просмотров: 128) ответил SVO на Как заставить...
Это большой изврат Прыгнуть можно только на самый верхний уровень дерева вызова функций. В общем случае это cstartup, можно и на main если возврат из него не планируется.
А делается он так (последовательность пунктов произвольная):
- Реинициализировать стек (см. cstartup)
- Восстановить автомат прерываний к исходному состоянию.
- выполнить setjmp/longjmp.
Однако есть трабла. Некоторые процы не позволяют восстановить автомат прерываний без выполнения reti или чего у них там аналогичное. В этом случае нужно кидать в стек адрес искомой точки - тут без асма уже никак.