From dick.hendrickson@att.net  Mon Jun 14 16:58:12 1999
Received: from mtiwmhc05.worldnet.att.net (mtiwmhc05.worldnet.att.net [204.127.131.40])
	by dkuug.dk (8.9.2/8.9.2) with ESMTP id QAA40975
	for <sc22wg5@dkuug.dk>; Mon, 14 Jun 1999 16:58:11 +0200 (CEST)
	(envelope-from dick.hendrickson@att.net)
Received: from whale ([12.75.132.117]) by mtiwmhc05.worldnet.att.net
          (InterMail v03.02.07.06 118-133) with SMTP
          id <19990614145708.OCIJ27916@whale>;
          Mon, 14 Jun 1999 14:57:08 +0000
Message-Id: <3.0.1.32.19990614095427.00e37018@postoffice.worldnet.att.net>
X-Sender: dick.hendrickson@postoffice.worldnet.att.net
X-Mailer: Windows Eudora Light Version 3.0.1 (32)
Date: Mon, 14 Jun 1999 09:54:27 -0500
To: South CJS <SouthCJS@logistics.org.uk>,
        "'sc22wg5@dkuug.dk'" <sc22wg5@dkuug.dk>
From: Dick Hendrickson <dick.hendrickson@att.net>
Subject: Re: (SC22WG5.1606) Fortran Software on 8086 processors
In-Reply-To: <199906091413.QAA25851@dkuug.dk>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by dkuug.dk id QAA40975

At 02:12 PM 6/9/99 +0000, South CJS wrote:
>Dear Colleagues,
>
>I have an urgent question, that, if left unanswered may cost me
>£1,500,000. This question is aimed at Fortran programmers. I have a
>piece of software that was written many years ago to run on an Intel
>8086 processor. We are going to change the processors to Intel 80486
>processors. The question is, will the original Fortran software still
>run on the 80486 processor or are there changes that need to be made to
>it.

Hard to give an exact answer, the details are a little slim.  But, 
"probably" is a good first guess.  It depends a lot on when the code
was written and what it's purpose was.  

As for when it was written, If it was written in the 60's,
you'll probably have to do something.  If in the 70's probably not
and if in the 80's or 90's almost for sure not.  The reason is that
Fortran underwent a semi-major upheaval in the late 70's and a major one
in 1990.  However, most vendors keep their compilers compatible with
the previous few versions.  If the code was written in the 60's the
most likely problem you'll face is dealing with Hollerith characters.
Things like 
integer_variable = 4HABCD
which manipulates a character string, "ABCD", disguised as an integer.  
F77 provides a much better way of dealing with characters and many F90/95 
compilers have dropped (or weakened) their Hollerith support.

As for what it does, it depends on how hardware specific it is and how
vendor specific it is.  If it uses vendor libraries (or language extensions)
to, for example, manuplate hardware I/O channels you'll almost for sure have
to do extensive modifications.  If it uses common extensions, such as
INTEGER*2 or LOGICAL*1 to get at 16 or 8 bit words, (as opposed to the now
more or less normal 32 bit words) you may well have to change the way
variables are declared.  That's tedious, but usually straight forward.

It would also help if you could compile it with a compiler from the same
company as did the 8086 compile, vendors usually try to maintain internal
upward compatibility if they can.  

My best suggestion is to get a new compiler and try it and see.  Compilers
are relatively cheap (at least compared to £1,500,000).  If you only get a
few error messages (or a few repeated many times) you'd probably be better
off asking on the comp.lang.fortran newsgroup for help.  There are more
people there and they tend to have lots of experience with lots of different
compilers and platforms.

Hope this helps.  If all else fails, I'll be willing to fly over and consult
for only £750,000.

Dick Hendrickson

>
>If you have an answer I would be extremely grateful. I cannot go into
>further detail I am afraid as it is a matter of security.
>
>Many thanks
>
>Chris South
>Chief Technician
>Royal Air Force
>

