"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

