On Fri, 11 Feb 2022 18:40:42 +0000 "Schmitt, Michael"
<[email protected]> wrote:

:>What do you want to do if it is /not/ FACEBD?

:>Also, while the machine instructions consider F to be positive, IBM COBOL 
since VS COBOL II really wants 3 signs: F, C, D, where F is UNSIGNED. So it 
does make a difference when a packed or zoned field is being returned from an 
assembler program; the value really should match how the COBOL program is 
expecting it.

:>That is, if the COBOL program is expecting PIC S9(3) PACKED-DECIMAL but the 
value is x'123F', or the COBOL program expects PIC 9(3) PACKED-DECIMAL and the 
value is x'123C', that would be bad. Really bad.

:>From a practical standpoint it would prevent the COBOL program from being 
able to generate maximally efficient NUMPROC(PFD) code -- you wouldn't be able 
to use that compile option.

:>This is called "COBOL Preferred Signs", and started in 1992 or so.

I would assume that by now the IF NUMERIC for a packed field would generate a
TP, so I don't see why there would be an issue if a non-prefered sign is
provided as a parameter or return value.

Can you provide an example?

:>-----Original Message-----
:>From: IBM Mainframe Assembler List <[email protected]> On 
Behalf Of Dave Clark
:>Sent: Friday, February 11, 2022 12:01 PM
:>To: [email protected]
:>Subject: Rules for Zoned Overpunch

:>        I know that x'F1' and x'C1' are positive and that x'D1' is
:>negative.  But what if I find x'A1', x'B1', or x'E1' for overpunch values?
:> What is the shortest way (in terms of assembler instructions) to validate
:>these into just two classes -- positive and negative?

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

Reply via email to