Duh, it did.   I tried to simplify it.  What a stupid idea :-)  

001EC8                    000433 |        @16L363    DS       0H
001EC8  4160  002D        000185 |   13       LA       r6,45
001ECC  5890  4BA0        000185 |   13       L        r9,#SPILL5(,r4,2976)
001ED0  5FF0  4BA0        000185 |   13       SL       r15,#SPILL5(,r4,2976)
001ED4                    000185 |   13   @16L690    DS       0H
001ED4  BF01  9000        000185 |   13       ICM      r0,b'0001',(char)(r9,0)
001ED8  420F  9000        000185 |   13       STC      r0,(char)(r15,r9,0)
001EDC  A784  0008        000185 |   13       JE       @16L691
001EE0  4190  9001        000185 |   13       LA       r9,(char)(,r9,1)
001EE4  A766  FFF8        000185 |   13       BRCT     r6,@16L690
001EE8  A7F4  0047        000000 |       J        @16L692
001EEC                    000185 |   13   @16L691    DS       0H


Kirk Wolf
Dovetailed Technologies
https://coztoolkit.com

On Tue, Oct 22, 2024, at 2:19 PM, Seymour J Metz wrote:
> Shouldn't the loop be incrementing R15?
> 
> -- 
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> 
> ________________________________________
> From: IBM Mainframe Discussion List <[email protected]> on behalf of 
> Kirk Wolf <[email protected]>
> Sent: Tuesday, October 22, 2024 12:51 PM
> To: [email protected]
> Subject: Re: Bounded string move?
> 
> Caution: This email did not originate from George Mason’s mail system. Do not 
> click links or open attachments unless you recognize the sender and know the 
> content is safe.
> 
> 
> This is a good question.  Considering that "strcpy" (MVST) is generally 
> frowned upon, is there an instruction that is more like "strncpy" ?   
> Apparently not, although this would seem like a very beneficial instruction  
> - i.e. MVSTX with Rx being the limit.
> 
> If you look at POP for MVST, you can see this:
> 
> "Bit positions 32-55 of general register 0 are reserved for possible future 
> extensions and must contain all zeros; otherwise, a specification exception 
> is recognized."
> 
> Hmm.  For a limit?
> 
> I would assume that the implementers of strncpy in the C optimizing compiler 
> have chosen the best performing instructions, so I looked at a compiler 
> listing of some of my code that used strncpy and here's what they do.
> 
> @16L690    DS       0H
>    ICM      r0,b'0001',(char)(r9,0)
>    STC      r0,(char)(r15,0)
>    JE       @16L691
>    LA       r9,(char)(,r9,1)
>    BRCT     r6,@16L690
>    J        @16L692
> @16L691    DS       0H
> ...
> 
> It's always important to remember that one the new exotic instructions may 
> not perform as well as a loop of the old stuff once it's translated to 
> microcode.
> 
> Kirk Wolf
> Dovetailed Technologies
> https://secure-web.cisco.com/1KfUYH9qUGfnT8P-nUV2mvFGPnLfZCbrLOT3dLUXEf-X3DkEaYz5zU3FUO9hWW536JxkFwmaShHqsoWnEv1lLdg5mQ313r0Bj1hY4C79252qngE5gtFSKiuPQcgL2rcrLB_jZC1WpFmtDTiOWoaSjDeQ72Ei7DKqzCZFSSUc0kF7v_z1t9QoM42LpEJkEE14qXyonEDkzXnHLrZsjYsjELGsqDJqWrMVWvigxkSC0ujTcKkHuOzdsnpwU_YidokqKZmCAw1fZ6skZgO84mfLV-6gohH-82x15xSnloAhFQ0bOqOY1tgrwRVwnmwsVZaRoSTskI6ZQ-MR1DrLmELAoa114CwvOr20Jgel48WQDPYwErFiXB0lB69mafhuzcbsKHVDfmNlcKr-Jua5FGSvV0A/https%3A%2F%2Fcoztoolkit.com
> 
> On Mon, Oct 21, 2024, at 6:28 PM, Seymour J Metz wrote:
> > If I know the lengths of an input string and the length of a buffer, I can 
> > specify a pad character and copy it with MVCL. If I know that it is  
> > delimited by, e.g., a blank, I can use MVST but I run the risk of a buffer 
> > overrun. Is there a quick way to copy a delimited string without 
> > overrunning either the input or output buffer and without resorting to TRT?
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> > עַם יִשְׂרָאֵל חַי
> > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >
> >
> >
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to [email protected] with the message: INFO IBM-MAIN
> >
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> 
> 
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> 

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

Reply via email to