UNHEX TITLE 'CONVERT OBJECT DECKS BACK FROM HEX AFTER TRANSMISSION' UNHEX CSECT STM 14,12,12(13) SAVE REGISTERS BALR 12,0 LOAD BASE REGISTER USING *,12 ST 13,SAVE+4 CHAIN SAVE AREAS LA 13,SAVE L 11,0(,1) POINTER TO PARM FIELD LH 11,0(,11) LENGTH OF PARM FIELD OPEN (INPUT,(INPUT),OUTPUT,(OUTPUT)) OPEN DATA SETS READ GET INPUT,INCARD READ A CARD CLC INCARD(2),=C'./' IEBUPDTE CONTROL CARD? BE ONECARD GET INPUT,INCARD+80 READ 2ND CARD OF GROUP TR INCARD(160),HEXTBL PREPARE FOR UNPACKING LA 2,INCARD SET UP HEX CONVERSION LOOP LA 3,OUTCARD LA 4,80/4 DOHEX PACK 0(5,3),0(9,2) PACK 4 BYTES LA 2,8(,2) LA 3,4(,3) BCT 4,DOHEX PUT OUTPUT,OUTCARD WRITE UNHEXED CARD B READ * ONECARD LTR 11,11 WAS PARM FIELD SPECIFIED? BNZ READ SKIP WRITING IF SO PUT OUTPUT,INCARD COPY CARD TO OUTPUT B READ * EOF CLOSE (INPUT,,OUTPUT) CLOSE DATA SETS L 13,SAVE+4 RESTORE SAVE AREA LM 14,12,12(13) RESTORE REGISTERS SR 15,15 SET RETURN CODE BR 14 EJECT SAVE DC 18A(0) SAVE AREA INCARD DC CL160' ' INPUT CARD AREA OUTCARD DC CL81' ' OUTPUT CARD AREA HEXTBL DC 256X'00' HEX TRANSLATE TABLE ORG HEXTBL+C'0' DC X'00010203040506070809' ORG HEXTBL+C'A' DC X'0A0B0C0D0E0F' ORG * INPUT DCB DDNAME=INPUT,DSORG=PS,MACRF=(GM),RECFM=FB,LRECL=80, * EODAD=EOF * OUTPUT DCB DDNAME=OUTPUT,DSORG=PS,MACRF=(PM),RECFM=FB,LRECL=80 END