Hi!

16-Авг-2006 13:19 [EMAIL PROTECTED] (Michael Devore) wrote to
freedos-devel@lists.sourceforge.net:

MD> At 03:21 PM 8/16/2006 +0200, tom ehlert wrote:
>>'solved' the original bug (sort of) by changing
>>disable_enable_a20_BIOS:
>>         ;pushf
>>         ;cli
>>         shr     ah,1    ; ah to 0 or 1
>>         mov     al,24h
>>         xchg    ah,al   ; ax == 2400h to turn off, 2401h to turn on
>>         int     15h
>>         ;popf
>>         pop     ax
>>         ret
>>innocent change (it should behave EXACTLY the same), but now it works
>>after a while of headscratching,
>>disable_enable_a20_BIOS:
>>         pushf
>>         sub sp,10
>>         cli
>>         shr     ah,1    ; ah to 0 or 1
>>         mov     al,24h
>>         xchg    ah,al   ; ax == 2400h to turn off, 2401h to turn on
>>         int     15h
>>         add sp,10
>>         popf
>>         pop     ax
>>     ret
>>works, too.

     May you explain here and/or, better, in comments in source, why
decreasing SP solves issues (and which issues there are)?

>>Only plausible explanation:
>>THIS BIOS damages (sometimes ?) the flags;

     Do you mean "flags, _saved on the stack above given code_"? And, if so,
then why flags are damaged, but return value, which was lies on place of
flags (relative SP) are not damaged, if you comment out "pushf"?

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to