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

  1. HEX      TITLE 'CONVERT OBJECT DECKS TO HEX FOR NETWORK TRANSMISSION'
  2. HEX      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.          LTR   11,11                   WAS PARM FIELD SPECIFIED?
  15.          BZ    DOCARD                  BR IF NOT
  16.          CLC   INCARD(4),=AL1(X'02',C'S',C'Y',C'M')  SYM CARD
  17.          BE    READ                    SKIP IT IF SO
  18. DOCARD   LA    2,INCARD                SET UP HEX CONVERSION LOOP
  19.          LA    3,OUTCARD
  20.          LA    4,80/4
  21. DOHEX    UNPK  0(9,3),0(5,2)           CONVERT 4 BYTES TO HEX
  22.          LA    2,4(,2)
  23.          LA    3,8(,3)
  24.          BCT   4,DOHEX
  25.          TR    OUTCARD(160),HEXTBL-C'0'  CONVERT TO PRINTABLE CHARS
  26.          PUT   OUTPUT,OUTCARD          WRITE HEXED CARD AS 2 RECORDS
  27.          PUT   OUTPUT,OUTCARD+80
  28.          B     READ
  29. *
  30. ONECARD  PUT   OUTPUT,INCARD           COPY CARD TO OUTPUT
  31.          B     READ
  32. *
  33. EOF      CLOSE (INPUT,,OUTPUT)         CLOSE DATA SETS
  34.          L     13,SAVE+4               RESTORE SAVE AREA
  35.          LM    14,12,12(13)            RESTORE REGISTERS
  36.          SR    15,15                   SET RETURN CODE
  37.          BR    14
  38.          EJECT
  39. SAVE     DC    18A(0)                  SAVE AREA
  40. INCARD   DC    CL80' '                 INPUT CARD AREA
  41. OUTCARD  DC    CL161' '                OUTPUT CARD AREA
  42. HEXTBL   DC    C'0123456789ABCDEF'     HEX TRANSLATE TABLE
  43. *
  44. INPUT    DCB   DDNAME=INPUT,DSORG=PS,MACRF=(GM),RECFM=FB,LRECL=80,     *
  45.                EODAD=EOF
  46. *
  47. OUTPUT   DCB   DDNAME=OUTPUT,DSORG=PS,MACRF=(PM),RECFM=FB,LRECL=80
  48.          END
  49.