home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ibmtsonih / tsnunh.asm < prev   
Assembly Source File  |  2020-01-01  |  2KB  |  52 lines

  1. UNHEX    TITLE 'CONVERT OBJECT DECKS BACK FROM HEX AFTER TRANSMISSION'
  2. UNHEX    CSECT
  3.          STM   14,12,12(13)            SAVE REGISTERS
  4.          BALR  12,0                    LOAD BASE REGISTER
  5.          USING *,12
  6.          ST    13,SAVE+4               CHAIN SAVE AREAS
  7.          LA    13,SAVE
  8.          L     11,0(,1)                POINTER TO PARM FIELD
  9.          LH    11,0(,11)               LENGTH OF PARM FIELD
  10.          OPEN  (INPUT,(INPUT),OUTPUT,(OUTPUT))  OPEN DATA SETS
  11. READ     GET   INPUT,INCARD            READ A CARD
  12.          CLC   INCARD(2),=C'./'        IEBUPDTE CONTROL CARD?
  13.          BE    ONECARD
  14.          GET   INPUT,INCARD+80         READ 2ND CARD OF GROUP
  15.          TR    INCARD(160),HEXTBL      PREPARE FOR UNPACKING
  16.          LA    2,INCARD                SET UP HEX CONVERSION LOOP
  17.          LA    3,OUTCARD
  18.          LA    4,80/4
  19. DOHEX    PACK  0(5,3),0(9,2)           PACK 4 BYTES
  20.          LA    2,8(,2)
  21.          LA    3,4(,3)
  22.          BCT   4,DOHEX
  23.          PUT   OUTPUT,OUTCARD          WRITE UNHEXED CARD
  24.          B     READ
  25. *
  26. ONECARD  LTR   11,11                   WAS PARM FIELD SPECIFIED?
  27.          BNZ   READ                    SKIP WRITING IF SO
  28.          PUT   OUTPUT,INCARD           COPY CARD TO OUTPUT
  29.          B     READ
  30. *
  31. EOF      CLOSE (INPUT,,OUTPUT)         CLOSE DATA SETS
  32.          L     13,SAVE+4               RESTORE SAVE AREA
  33.          LM    14,12,12(13)            RESTORE REGISTERS
  34.          SR    15,15                   SET RETURN CODE
  35.          BR    14
  36.          EJECT
  37. SAVE     DC    18A(0)                  SAVE AREA
  38. INCARD   DC    CL160' '                INPUT CARD AREA
  39. OUTCARD  DC    CL81' '                 OUTPUT CARD AREA
  40. HEXTBL   DC    256X'00'                HEX TRANSLATE TABLE
  41.          ORG   HEXTBL+C'0'
  42.          DC    X'00010203040506070809'
  43.          ORG   HEXTBL+C'A'
  44.          DC    X'0A0B0C0D0E0F'
  45.          ORG
  46. *
  47. INPUT    DCB   DDNAME=INPUT,DSORG=PS,MACRF=(GM),RECFM=FB,LRECL=80,     *
  48.                EODAD=EOF
  49. *
  50. OUTPUT   DCB   DDNAME=OUTPUT,DSORG=PS,MACRF=(PM),RECFM=FB,LRECL=80
  51.          END
  52.