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