On Mon, 26 Jul 2004, Eduardo Casino wrote: > There are. If I understand it correctly, when calling DOS with ss:920, > the flags and return address are trashed because DOS sets ss:920 on > entry, again.
No. The whole point of calling int2f/ax=12xx is that this stack setup is bypassed. i.e. *without* any swapping in NLSFUNC you'd have int21/ah=38 => DOS switches to internal stack => NLSFUNC (still uses DOS stack) => int2f/ax=12xx => back in DOS at a lower place on the same stack. Now it's just very easy to use too much stack in this setup and that's the whole problem. > - Switch to a local stack > - copy anything in between the original ss:sp and ss:920 to a temp area > - call DOS ints > - restore from temp area > - switch to original stack > - return > > Does anybody see any additional problem with this? you should not use a local stack when you call int2f/ax=12xx. As RBIL states: SS = DOS DS (must be using a DOS internal stack) Bart ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel