Did anyone work on CPCS and every number was packed unsigned to save space



----------------------------------------------------------------------------
----

This electronic mail (including any attachments) may contain information
that is privileged, confidential, and/or otherwise protected from disclosure
to anyone other than its intended recipient(s). Any dissemination or use of
this electronic email or its contents (including any attachments) by persons
other than the intended recipient(s) is strictly prohibited. If you have
received this message in error, please notify us immediately by reply email
so that we may correct our internal records. Please then delete the original
message (including any attachments) in its entirety. Thank you


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Paul Feller
Sent: Monday, April 28, 2025 11:51 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Packed decimal sign nibbles

Interesting...  I was always under the impression that anything other than
x'0C', x'0D', and x'0F' was to be treated as invalid.  That is basically how
I learned it in the mid 1970s when I took programming classes in college.

Never having really looked that deeply in the Principles of Operation
(SA22-7832-13) manual I see chapter 8 (Decimal Instructions) goes for 13
pages.

Paul

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of
Schmitt, Michael
Sent: Monday, April 28, 2025 11:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Packed decimal sign nibbles

Same here: F A C E are positive, B & D are negative.

The machine doesn't have an "unsigned" packed sign nybble. It is either
positive or negative. So "F" is positive as a sign nybble, or it is the
"zone" in other positions in a zoned decimal number.

"F" is unsigned, however, in IBM Enterprise COBOL for z/OS: when you compile
with NUMPROC(PFD) it is *very* strict: there are only three valid signs:

C: positive
D: negative
F: unsigned

If all your code has preferred signs then it can generate more efficient
code, by using CLC and MVC for example instead of packed decimal
instructions.


-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of
Phil Smith III
Sent: Monday, April 28, 2025 11:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Packed decimal sign nibbles

Ok, well, in 1975 I was still in high school and playing games on VM over
dialup, didn't start my mainframe career until 1980. But the question
stands: what's with these "unpreferred" values? Why would they even exist/be
valid?

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of
Lennie Bradshaw
Sent: Monday, April 28, 2025 12:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Packed decimal sign nibbles

That's exactly as I was taught in about 1975.
Lennie

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of
Phil Smith III
Sent: 28 April 2025 17:17
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Packed decimal sign nibbles

A friend asked me about packed decimal sign nibbles, specifically x'0F'. I
said "Unsigned" was what I'd always been told. He said he was finding varied
answers, and then pointed me at SA22-7832-03 (PofOp, but an old version from
2004) where, on page 8-2 (PDF page 1150) is the following table. It displays
correctly in monospace font, so hopefully you can read it:

         Recognized As
 Code
(Binary) Digit    Sign
-------- -------  -------
 0000    0        Invalid
 0001    1        Invalid
 0010    2        Invalid
 0011    3        Invalid
 0100    4        Invalid
 0101    5        Invalid
 0110    6        Invalid
 0111    7        Invalid
 1000    8        Invalid
 1001    9        Invalid
 1010    Invalid  Plus
 1011    Invalid  Minus
 1100    Invalid  Plus (preferred)
 1101    Invalid  Minus (preferred)
 1110    Invalid  Plus
 1111    Invalid  Plus (zone)

X'0A'? X'0B'?? X'0E'??? I'd only ever heard of x'0C', x'0D', and sometimes
x'0F'. Is it just me? I certainly don't claim to be Mr. Packed Decimal, but
I have encountered it off and on over the last 45 years, so I was very
surprised.

I do see the discussion of "zones" in that section of the book, but that
doesn't clarify for me because zones have always been a mystery to me--never
needed to grok them. And it still doesn't explain the other values.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to