On 2022-04-16 00:25, Tom Harper wrote:
Well known. But the instruction I’m proposing has no registers
involved

Oh?  How do you propose that such an instruction move
N bytes (where N is variable) without the value of N
being in a register?

(other than base displacement) and thus there is no way to
restart the instruction to complete the process.

So to avoid that, limiting it to 256 bytes removed that as an issue.

On Apr 15, 2022, at 9:45 AM, Seymour J Metz <[email protected]> wrote:

You can have interruptability without an arbitrary length restriction; CLCL and MVCL work just fine. All that you need is that the instruction be resumeable and for the hardware/microcode/millicode to periodically check for pending interrupts and update the registers as needed

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf of Robin Vowels [[email protected]]
Sent: Friday, April 15, 2022 5:08 AM
To: [email protected]
Subject: Re: Next instruction needed

----- 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.

XC sets the condition code and is not variable length, and the overlapping MVC is a kluge

But it does the job well.

and not variable length either.

Use Ex.

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".

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.

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.

Such an instruction might look like this:

  CLEAR  FieldA

Or

  LLGF R0,Varlen
  CLEARR

A macro reference would require one line.

Similar instructions for compare logical and move would be nice as well.

Reply via email to