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

