Newsgroups: comp.os.msdos.programmer Path: utzoo!utgpu!watserv1!maytag!watstat.waterloo.edu!dmurdoch From: dmurdoch@watstat.waterloo.edu (Duncan Murdoch) Subject: Re: Writing assembly procedures for higher level languages Message-ID: <1991Jan25.143129.29381@maytag.waterloo.edu> Sender: daemon@maytag.waterloo.edu (Admin) Organization: University of Waterloo References: <1991Jan24.133054.8715@wpi.WPI.EDU> <1991Jan24.221332.5802@bradley.bradley.edu> <2916@casbah.acns.nwu.edu> Date: Fri, 25 Jan 91 14:31:29 GMT Lines: 14 In article <2916@casbah.acns.nwu.edu> hpa@casbah.acns.nwu.edu (Peter Anvin) writes: >>>However, does one need to save the ES register if it is mdified? How abo >>>the flags register? >You don't need to save ES in subroutines to Microsoft (or Borland) >high-level languages. ES is a "scratch segment register", you can change >it at your heart's desire. The ultra-transient flag register is never used >but right after it is set, so the same thing applies here. I think that MS Fortran depends on the flags staying unchanged in some circumstances. I'll see if I can dig up the version number where this is true, and some demo code, because it's a bug, not a feature. Duncan Murdoch