At 06:19 AM 8/17/2006 +0400, Arkady V.Belousov wrote: > 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"?
Could just be hitting one word on the stack, i.e. [sp] at INT entry. That would match the behavior on either of the two patches. If you the saved flag status on the stack gets corrupted, you could have any garbage values there, which is definitely a bad thing, possibly even an immediate exception on return. However, there's something suspicious about the fact that this is happening in INT 15h, and INT 15h is one of the places where EMM386 code where INT handling was recently changed to only set carry flag and use IRET, rather than RETF 2 flush the existing flags. I'm going to double-check there isn't a bug in that. Or, could it be the side-effects of the RETF 2 were masking the existing bug in the machine's BIOS, and so only now they were discovered? ------------------------------------------------------------------------- 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