A modified version for current hardware.  The storage references are kept to a 
minimum.

        LGHI 11,15 max digits
        LGHI 15,0

IP010    DS    0H
        LLGC 1,0(,8)
        CLIJL 1,C'0',IP020   < zero
        CLIJH 1,C'9',IP020   > nine
        NILL 1,15 clear 'F'
        AGR 15,1
        SLLG 15,15,4 ready for next digit
        JCT  11,IP020
        J    IP030 too many chars

IP020    DS    0H
        LA    R8,1(,R8)  next character
        JCT  R9,IP010

IP030    DS    0H
        AGHI 15,X'C' sign
        STG 15,0(10)

...chris.
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Ze'ev Atlas
Sent: October-13-16 9:41 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: converting character to packed

ClassicWe sould make a.macro out of it  :)ZA

Sent from Yahoo Mail on Android 
 
  On Thu, Oct 13, 2016 at 12:17 PM, Richard Rogers<rcrogers....@gmail.com> 
wrote:   Just a stab, FWIW
*      R8 ==> INCOMING FIELD
*      R9  =  INCOMING FIELD LENGTH
*      R10 ==> PL8 PACKED DECIMAL RESULT
*        R11  =  WORK - DIGIT COUNT
*        R12 ==> CL16 - WORK - SAVE DIGITS INCMPACK DS    0H      INCOMING PACK
        SR    R11,R11  DIGIT COUNT
        LA    R12,IPWORK
IP010    DS    0H
        CLI  0(R8),C'0'  Q-DIGIT
        BL    IP020      N
        CLI  0(R8),C'9'  INSURANCE - NO CHARS > '9'
        BH    IP020
        MVC  0(1,R12),0(R8)  SAVE DIGIT
        LA    R11,1(,R11) DIGIT COUNT
        CH    R11,=H'16'  Q-TOO MANY DIGITS
        BNL  IP030      Y-HAVE ALL WE CAN HANDLE
        LA    R12,1(,R12) NEXT DIGIT SAVE AREA
IP020    DS    0H
        LA    R8,1(,R8)  NEXT INCOMING BYTE
        BCT  R9,IP010
IP030    DS    0H
        BCTR  R11,R0    ADJUST FOR 'EX'
        EX    R11,IPPACK
*        PACK  0(8,R10),IPWORK(*-*)
*        R10 ==> PL16 PACKED DECIMAL
*        TTD - EXIT INCOMING PACK ROUTINE, EG, B  CONTINUE ON IPPACK  PACK  
0(8,R10),IPWORK(*-*) IPWORK  DS    CL16

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Greg Gray
Sent: Thursday, October 13, 2016 08:22
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: converting character to packed

I have character data in a field (ex. $13,501,298.01) and I need to remove the 
special characters and convert field from char to packed?  Can someone give a 
suggestion on the best and simplest way to do it, thanks?
  

Reply via email to