I find that MVCL does exactly what I want for unequal lengths. A lot of times I want a zero pad, and that's automatic. I've never run into a use case for an unequal length move with no pad.
What I would like are: SS: FILL fill a range of addresses with a specified value. RR: MVCLSTR Like MVCL, but use the high 8 bits of the source length as a terminating delimiter. And yes, TROO is more general than my proposed MVCSTR. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Michael Stein <[email protected]> Sent: Friday, November 1, 2024 1:27 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. > > @Shmuel: you know that an MVC loop is dramatically faster than MVCL? > > Surprising but true. > > MVCL handles zero-length moves. MVC never did. > MVCL handles variable-length moves, automatically. > MVCL is interruptible. MVCL has to check for overlap, possibly before starting any data movement. MVC as an SS instruction can start the first data fetch before even realizing it's MVC. I understand why, way back in the day, they made MVCL an RR 2 byte instruction as it was likely the best fit for the register decoding with needing 4 registers but still it's sad as the 2 byte instruction doesn't really save instruction fetch time as MVCL usually requires several other instructions to set up the registers. MVCL also does too much. What I usually want is a "move the mininum" of the two operand lengths. I would rather have two instructions which have no need to be 2 byte instructions: MOVE -> like MVCL but only the move part, 2 even/odd registers PAD -> target like MVCL, source pad byte in register. This would work in all addressing modes 24/31/64 without changes and even avoids the need for MVCLE (move long extended). ---------------------------------------------------------------------- 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
