Robin,

See embedded remarks.

Tom

Sent from my iPhone

> On Apr 15, 2022, at 5:08 AM, Robin Vowels <[email protected]> wrote:
> 
> ----- Original Message ----- From: "Tom Harper" 
> <[email protected]>
> To: <[email protected]>
> Sent: Friday, April 15, 2022 3:06 AM
> 
> 
>> IMHO, the next instruction to add to z/Architecture would be an instruction 
>> to clear storage to zeros.
> 
>> Right now a number of methods are in widespread use, none of which are clean 
>> and simple. I mean, it’s been almost sixty years.
> 
>> MVCL takes three registers to set up beforehand;
> 
> So? Write yourself a macro.

Of course a macro can be written. But that’s not the point. Three registers 
will have to be loaded and that takes time and the registers are not always 
easily available. 
> 
>> XC sets the condition code and is not variable length, and the overlapping 
>> MVC is a kluge
> 
> But it does the job well.

Except that it can only handle fixed length without an execute instruction 
which is a poor performer. Also needlessly sets the condition code which slows 
down the processor. 
> 
>> and not variable length either.
> 
> Use Ex.

A poor performer. 
> 
>> An EX instruction is also a kluge.
> 
>> All you need is the address and length to accomplish this, preferably in two 
>> versions,
>> one with an immediate operand for the length
> 
> Really?!  A few lines ago, you were decrying XC and MVC because they have a 
> "fixed length".

They are fixed length unless you use an execute instruction. 
> 
>> and another which uses, for example, a register, perhaps register zero. A 
>> long displacement would be a plus.
> 
> To avoid issues with interruptibility, the length would need to be limited to 
> 256 bytes.
> 
> What?  Back to a limit of 256?  what's the point of that?
> MVCL will do as long as you want.

Yes it will. But a common need is for shorter lengths. 
> 
>> I don’t think the length restriction would be an issue in most cases.
> 
> There's no point in having an instruction with a length restrictionof 256.

I’ve been doing this for a very long time and I will respectfully disagree with 
you. There are frequent cases to clear fields of 256 bytes or less. 
> 
>> Such an instruction might look like this:
> 
>>   CLEAR  FieldA
> 
>> Or
> 
>>   LLGF R0,Varlen
>>   CLEARR
> 
> A macro reference would require one require one line.

True, but not relevant. The purpose of this instruction is to have a simple 
instruction that performs a frequently used function that the processor can 
execute quickly. 
> 
>> Similar instructions for compare logical and move would be nice as well.
> 
> 
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus


--------------------------------------------------------------------------------
This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

Reply via email to