If "this is your field      " I wouldn't want to right-justify it based on
finding the first blank with TRT/R/E.

--
Mike Harding
z/VM System Support

/sp


IBM Mainframe Assembler List <[email protected]> wrote on
05/15/2014 12:00:52 PM:

> From: "Blaicher, Christopher Y." <[email protected]>
> To: [email protected]
> Date: 05/15/2014 12:07 PM
> Subject: Re: Right Justification Subroutine
> Sent by: IBM Mainframe Assembler List <[email protected]>
>
> John,
> Because of the nature of TRT, TRTE and TRTRE a single byte CLI loop
> can be faster to much faster, or at least they have been in the
> past.  I don't think they have changed the underlying hardware
> process in the EC12, but I have been wrong in the past.  I once read
> that if you were looking for up to 3 different characters in a
> string, the open code method will beat any of those three instructions.
>
> The problem with TRT is it validates the whole TRT table before it
> starts to do the TRT.  I believe TRTE and TRTRE also suffer from
> that, but also they are milli-coded, or is it micro-coded, which
> incurs a non-trivial amount of instruction startup and termination
> time.  The overheads are similar to MVCL compared to MVC used in a
> loop.  A loop of MVC's will reduce the CPU time of a routine until
> you get to close to moving 32K at a time.  If you are moving more
> than 32K at a time, then MVCL can win.
>
> As you say, the single CLI loop is ugly, but it can be much faster.
> I am writing code right now that uses the TRT and TRTRE
> instructions, but that is for exception  error processing, not
> record level or sub-record level processing so speed was not my
> primary concern.
>
> Chris Blaicher
> Principal Software Engineer, Software Development
> Syncsort Incorporated
> 50 Tice Boulevard, Woodcliff Lake, NJ 07677
> P: 201-930-8260  |  M: 512-627-3803
> E: [email protected]
>
> -----Original Message-----
> From: IBM Mainframe Assembler List
[mailto:[email protected]
> ] On Behalf Of John Gilmore
> Sent: Thursday, May 15, 2014 2:32 PM
> To: MVS List Server 2
> Subject: Re: Right Justification Subroutine
>
> If your routine is to be used heavily there is a much faster way to
> do left justifications.  It is to use a TRTE with a 256-byte table
> that defines only a blank, x'40', as a licit character.  This
> approach yields the zero-origin offset of the leftmost non-blank
directly.
>
> If I were writing such a routine, as I did long ago, I would also
> give it an additional entry point for right justification, which can
> [now] be accomplished using the same approach [and the same table]
> but using a TRTRE instead of a TRTE.
>
> I agree 'philosophically' with most of what Bill wrote; but single-
> character-by-single-character operations on strings are, I think,
> not just tedious but ugly where better approaches are available.
>
> John Gilmore, Ashland, MA 01721 - USA
>

Reply via email to