Hi Eduardo,

the fix below fixes your problem as well.

To Tom: I appreciate the fact that you find intr() easier to use and less 
bug prone, but there is a minor and a major problem with it in resident 
code (as opposed to init code where there is only a very minor problem).

Minor:
- not using intr() saves ~100 bytes of code

Major:
- not using intr() saves almost 30 bytes of stack. You can work around 
that by making iregs r static but then the 24 bytes go into low memory.
Saving stack space is very important when calling potentially foreign
TSRs as you know (and it may make it possible for friendly TSRs to reenter 
DOS after all).

Bart

--- int2f.asm.~1.34.~   2004-05-04 22:16:45.000000000 +1200
+++ int2f.asm   2004-07-24 12:20:10.000000000 +1200
@@ -412,6 +412,7 @@
                push    bp
                mov     bp, sp
                push    si
+               push    di
                mov     al, [bp + 4]    ; subfct
                mov     ah, 0x14
                mov     si, [bp + 6]    ; nlsinfo
@@ -428,6 +429,7 @@
                jz      nostore
                mov     [bp], bx
 nostore:
+               pop     di
                pop     si
                pop     bp
                ret



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

Reply via email to