Цитата(cir @ Apr 22 2006, 06:50)

Программа у меня состоит из 2-х частей, одну я вызываю из другой как программное прерывание
intr(INTR,®); Через регисты я передаю два нужных мне параметра. Из самого программного прерывания не могу обратиться к файлу, а точнее не могу его открыть. Где-то уже слышал о подобной проблеме, но там ее решали так:
Сдается мне, что Ваша проблема гораздо проще - добавьте волшебное слово
enable(); в начале Вашей программы и если наследуемый стек будет достаточен, то все будет
работать. То что Вы слышали "звон", это скороее о другом работа с системными DOS вызовами
из них-же. Там пути обхода и выкручивания много сложнее.
Для начала отладьте просто как функцию (без interrupt модификатора ).
Цитата
Может кто подскажет как передать данные из прерывания (их достаточно много около 15 переменных типа float - через регистры само собой не получится), или научится работать с файлом прямо из прерывания (что гораздо удобнее).
Ну вот - сразу за файл хвататьтся. У Вас еще менеджеры памяти есть. Поставатьте (хотя думаю стоит :-) ), например himem, спросите у него памяти кусочек и работайте с ним их обеих модулей.
Там правда, тоже 'лишние' пересылки будут, но скорость не сравнима будет с файловыми операциями.
Если еще быстрее - напишите резидентика оставляющего в памяти кусочек для обмена. Поскольку
Ваша программа вызываемая по int, таким резидентом, как я понимаю и является, то все сводится вообще в возврату из обработчика прерывания far указателя на структуру с Вашими float.