>This thread has been curiously silent about one characteristic of
>routines/instructions executed above the bar.  Unsurprisingly, they
>are measurably faster than their analogues executed below it.
>z/Architecture is 64-bit architecture

>From subsequent appends, I know that, despite what John wrote, he was not 
referring to RMODE.
It is not true that instructions executed above the bar execute faster 
than the same instructions executed below the bar

As Jim Mulder wrote, if you are using the same instructions, AMODE does 
not matter.
As far as I recall (and I'm not even sure it is still true), there is one 
instruction that was implemented to be "faster" in AMODE 64 than AMODE 31.
That is "LG". And, similarly (or conversely), L is "faster" in AMODE 31. 
There is (or at least was) special hardware implemented to help. I've 
heard it referred to as a "load bypass".

The fact that z/Architecture is a 64-bit architecture (actually, I'd say 
it's a hybrid architecture in that regard) has relatively little relevance 
to the speed. For example, STM is faster in saving 4-byte regs than STMG 
is in saving 8-byte regs. To a significant extent, it's just a question of 
the amount of data being moved.

Getting back to the OP's original question, many find programming AMODE 64 
to be simpler than programming AR mode. If using most high level languages 
this would be true if for no other reason than that many such languages do 
not even support AR mode. Still, it is a fact that there likely are a lot 
more services in z/OS that support AR mode callers (and parameter data in 
data spaces) than that support AMODE 64 callers (let alone data above the 
bar). That's not something to be "proud of", but it is a practical 
reality.

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to