Цитата(zltigo @ Aug 27 2008, 14:36)

Надо отличать минимально необходимые настройки от лишних сущностей.
Настройки есть, как данность. Так что сущностей не добавляется.
[off]Меня удивляет вот что. Человек задал вопрос, на который вы не дали ответа, ибо у вас "нет желания вспоминать". Я дал готовый, проверенный вариант, и тут у вас неожиданно появилось это желание. Выходит, желание раскритиковать сильнее желания помочь?

[/off]
Цитата(zltigo @ Aug 27 2008, 14:36)

В приведенном случае вызываемя функция вызывается с параметром

и декларирована, как обработчик прерывания.
Это где? Вот это чтоль:
Код
type
TInterrupt = procedure (Flags: Word);
var
OldIntHandler : TInterrupt;
? Какой же это обработчик?
Цитата(zltigo @ Aug 27 2008, 14:36)

Слишком категорично

. Работает какая-то программа, имеет свой стек, на который и рассчитывает и вдруг ее кто-то прерывает и начинает пользовать ее стек

.
Естественно стек делается с рассчётом на обработчик прерывания. Это гораздо проще, чем заводить отдельный стек на обработчик. "Зачем плодить лишние сущности"?

А моё возражение было насчёт того, что в DPMI надо делать что-то особенное со стеком, а то без этого не работает.
Цитата(Demeny @ Aug 27 2008, 14:38)

Не возникает, если Вы не используете локальные переменные в своём обработчике.
Конечно же использую, и ничего не валится. Дело наверное в чём-то другом. Может банально не хватает стека.