I believe what he is saying Steve, is that his table access subroutine is 
called once for each record.  Another routine does the I/O and passes him the 
buffer address.  Therefore, his AMODE 64 subroutine must exit in the caller's 
AMODE each time thus requiring the mode switches.  Mr/MS Brite, please correct 
this assumption if it is incorrect. 

Chuck Arney
Arney Computer Systems
Web: http://zosdebug.com
Facebook: http://www.facebook.com/arneycomputer


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Steve Smith
Sent: Tuesday, May 05, 2015 5:35 PM
To: [email protected]
Subject: Re: LNKEDT 64-bit mode assembler in AMODE 31

Why is your /O buffer below 16mb?  In any case, there should be no reason for 
performance to vary merely because of whether storage is above or below the 
line or the bar.

On another point, C Blaicher pointed out that mode switching is slow.   You
said that you switch 3 times per record.  Don't do that.  See if that helps 
your performance.

Amode 64 is not dangerous.  Ensure your regs are 64-bit clean (LMH 
R0,R15,=16F'0' if you're lazy (LMH R1,R0,=16F'0' if you're *really* lazy:-) )), 
SAM64, stay there, and test.  There aren't that many reasons to switch back to 
AMODE 31, and if your routine doesn't do I/O, very few indeed.

sas

On Tue, May 5, 2015 at 2:56 PM, Brite <
[email protected]> wrote:

> These programs don't do I/O. They are called by other programs that do 
> I/O. The record will be moved from I/O buffer (I remember they are 
> always below 16MB) to storage above 2GB. Is there performance 
> difference between moving from below 16MB to above 16MB and moving 
> from below 16MB to above 2GB?
>



--
sas

Reply via email to