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

Reply via email to