"Arthur T." <[EMAIL PROTECTED]> wrote:

>      I still remember learning DOS assembler 
> language well over 20 years ago.  I was taught about 
> base and displacement addressing, and told how to code 
> the BALR and USING at the beginning of my programs.  
> What I most remember was, a week or so later, suddenly
> *really* understanding what the BALR and USING did.

I don't remember how long, maybe more than a week...

>      My experience was not unique.  All of the students 
> were taught, "Put these statements at the beginnings of 
> your programs and eventually you'll understand what they do."  
> Of course, Base & Displacement was taught and reiterated, 
> but it takes time to sink in.

For some time I was using the LIST option to see the
generated code from the Fortran compilers.  I also had
some other samples of assembly code, and the Fortran G&H
programmers guide.  

The Fortran G&H programmers guide had the suggested
sequence for writing Fortran callable assembly, static
save area and all.  It was at least until after I
had my first assembly program running that I understood
the save area and what the base register did.  

I suppose I believe it is reasonable to learn static
save areas for the first few assembly programs until
the rest of the ideas have sunk in.  

As for non-reentrant code being slower, as I understand
it on current machines instructions and data should
be on separate cache lines.  If you aren't worried
about wasting a little memory, it isn't that hard to
get the data away from instructions, at which point
the static save area code is likely faster.

Does VS Fortran generate reentrant code?  I know
Fortran G and H don't.

-- glen

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to