I am talking off the top of my head here. I have not used PACK and friends
in years.

Yes, there are length limitations. Pack is limited to 16 bytes and EDIT to
256 bytes of output. I am not familiar with PKA. 

CVB is not real relevant. Forget I said that. Well, it would help answer
your sign question. I *think* you could pack the last few bytes of your
input into a doubleword (no problem if the entire field is longer than that)
and then CVB it and test the sign of the register. I *think* CVB handles all
those oddball "overpunch" sign specifications. ZAP sets the CC based on the
sign also, right?

Yes, PACK and EDIT/EDMK handle implied decimals. For EDIT/EDMK you can tell
it where to insert a real decimal point. IIRC it sets the CC so you know the
sign of what you just edited. This is EXACTLY the chore that EDIT is
designed for. Look at COBOL zoned decimal pictures. Now translate that in
your head into a hardware instruction. That's EDIT.

EDMK is one of those instructions where you have to read the PoOp about
three times, but what it does is give you an address in R1 (?) that tells
you where a floating minus sign or currency symbol needs to go.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]]
On Behalf Of Dave Clark
Sent: Friday, February 11, 2022 11:51 AM
To: [email protected]
Subject: Re: Rules for Zoned Overpunch

"IBM Mainframe Assembler List" <[email protected]> wrote on 
02/11/2022 02:24:38 PM:
> Doesn't PACK + CVB + EDMK pretty much just do this for you?


        Well, in the first place I am allowing the incoming zoned-decimal 
field to be up to 31 bytes.  PACK won't handle that -- although that is 
not insurmountable with PKA.  But I'm also allowing the zone-decimal field 
to have an implied decimal with from 0 to 15 places.  I don't think PACK + 
CVB + EDMK handle decimal digits for me plus inserting the decimal point 
in the proper place -- correct me if I am wrong.


Sincerely,

Dave Clark
-- 
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio  45439  USA
(937) 294-5331




****************************************************************************
*****************
This email message and any attachments is for use only by the named 
addressee(s) and may contain confidential, privileged and/or proprietary 
information. If you have received this message in error, please 
immediately notify the sender and delete and destroy the message and all 
copies. All unauthorized direct or indirect use or disclosure of this 
message is strictly prohibited. No right to confidentiality or privilege 
is waived or lost by any error in transmission. 
****************************************************************************
*****************

Reply via email to