El lun, 26-07-2004 a las 14:09, Bart Oldeman escribió:

> 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)

I understood all of this the wrong way. I thought that you were saying
to call _int21_, that's the reason for the local stack.

> > Excuse me if I'm a bit thick in the head. Do you mean that it makes
no
> > sense to implement the int 2f122[6-9b] functions in FreeDOS and it is
> > better to do what you suggested in your previous post?
> 
> No, it makes sense to implement them, but you're understanding of RBIL
> apparently was wrong -- it isn't talking about switching stacks but about
> pointing to a different stack frame.

So, now that I know how to solve the stack problem, is my implementation
of int2f/ax122[6-9] correct?
(http://sourceforge.net/mailarchive/message.php?msg_id=8802703)

Eduardo.



-------------------------------------------------------
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_idG21&alloc_id040&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to