Traditional, but not anywhere near optimally quick.

1. Read the Wikipedia article @Gil linked to. There are faster ways than the
obvious way.

2. TRT is a single op code but that does not make it "fast." Picture an
assembler loop to do what TRT does. Not very fast, right? Now picture the
same loop in millicode. Still not very fast. That's TRT. Millicode is not
magic; it's more or less machine code running under the covers. SRST is
probably considerably faster (although still not magically fast, and not
case-insensitive as TRT potentially is). On the other hand, "it depends";
and cache misses are what is slow -- instructions themselves hardly matter.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Robin Vowels
Sent: Wednesday, March 14, 2018 7:32 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Two string instruction questions

From: "Charles Mills" <charl...@mcn.org>
Sent: Thursday, March 15, 2018 2:51 AM


> 1.       Is there a machine instruction that will find one string within
> another? That given "Now is the time" and "is" would find the "is" and 
> return a pointer to it? A machine instruction analog of Rexx POS?
> 
> 2.       Searching the PoOp for such an instruction led me to CUSE. It
does
> not seem that CUSE could be used for this - is that correct? If I am 
> reading CUSE correctly, then given "Now is the time", "All is well" 
> and 2 or 3 would return the position of "is". Is my reading correct? 
> What would that be good for? What would be a reasonable real-world use?

The traditional TRT to search for the first letter, followed by CLC for the
word (for which the search can commence at the second letter, because the
first letter has already been found), will likely be the quickest.

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Reply via email to