changeset 7:5ec223a268bd draft default tip

Import Robert O'Hara's Six Pack 1.3 beta 3
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sat, 27 Jul 2019 15:46:40 -0400
parents e388c44ca4c5
children
files MNT094/DMKSYS.ASSEMBLE MNT191/TEST.ASSEMBLE
diffstat 2 files changed, 9 insertions(+), 1232 deletions(-) [+]
line wrap: on
line diff
--- a/MNT094/DMKSYS.ASSEMBLE	Sat Jul 27 15:46:19 2019 -0400
+++ b/MNT094/DMKSYS.ASSEMBLE	Sat Jul 27 15:46:40 2019 -0400
@@ -1,10 +1,15 @@
 SYS      TITLE 'DMKSYS FOR 3350    RELEASE 6'                           DMK00010
 DMKSYS   CSECT                                                          DMK00020
          COPY   OPTIONS                                                 DMK00030
-         SYSUSR VM50-5                                                  DMK00040
+         SYSUSR VM50-5,VM50-6
          SYSOWN (VM50-1,TEMP),(VM50-2,PAGE),(VM50-3,TEMP),(VM50-4,PAGE) DMK00050
-         SYSRES SYSVOL=VM50-1,SYSRES=231,SYSTYPE=3350,SYSNUC=(530,19), XDMK00060
-               SYSWRM=(551,2),SYSERR=(549,2),SYSCKP=(553,2)             DMK00070
+         SYSRES SYSVOL=VM50-1,                                         X
+               SYSRES=141,                                             X
+               SYSTYPE=3350,                                           X
+               SYSNUC=(530,19),                                        X
+               SYSWRM=(551,2,VM50-1),                                  X
+               SYSERR=(549,2,VM50-1),                                  X
+               SYSCKP=(553,2,VM50-1)
          SYSMON AUTO=YES,USERID=MAINT                                   DMK00080
          SYSJRL                                                         DMK00090
          SYSIPL SYSTYPE=WARM                                            DMK00100
@@ -14,6 +19,7 @@
          SYSCOR RMSIZE=16384K,AP=NO                                     DMK00140
 .E2      SYSOPR SYSOPER=OPERATOR,SYSDUMP=MAINT                          DMK00150
          SYSTIME ZONE=0,LOC=WEST,ID=GMT                                 DMK00160
+         SYSID DEFAULT=SIXPACK
          SYSLOCS                                                        DMK00170
          END                                                            DMK00180
                                                                         DMK00190
--- a/MNT191/TEST.ASSEMBLE	Sat Jul 27 15:46:19 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1229 +0,0 @@
-* THIS VERSION TEST USES DIAGNOSE 58 I/O INTERFACE INSTEAD OF SIO...
-*  IT WILL ALSO READ REAL CP STORAGE.
-*  TYPE IN 'TEST2 0 SYSTEM'  TO GET REAL CORE
-*
-         PRINT NOGEN
-TEST     START 0
-         REGEQU
-         STM   R14,R12,12(R13)
-         LR    R3,R15
-         LA    R11,2048
-         LA    R11,2048(R3,R11)
-         USING TEST,R3,R11
-         ST    R13,SA+4
-         LA    R13,SA
-         MVI   TRTTAB+X'11',X'11'      INITIALIZE TR TABLE FOR TRT
-         SPKA  0(0)
-***********************************************************************
-*                    GET USERID AND VIRTUAL MACHINE SIZE              *
-***********************************************************************
-         LA    R8,CPUINFO              GET ADDR OF RESPONSE AREA
-         LA    R9,24                   GET NUMBER OF BYTES TO MOVE
-         DIAG  R8,R9,X'00'             GO  GET USERID
-         MVC   USERID(8),THISID        MOVE IN DEFAULT USERID
-*
-         BAL   R5,PARMS                GO PROCESS INPUT PARAMETERS
-         GETMAIN R,LV=2000             GET INPUT AREA
-         LR    R12,R1
-         USING MAP,R12
-*
-         MVC   USERIDO(8),=CL8'CP'
-         MVC   VMSIZE(4),=X'00FFFFFF'  SET TO MAX VMSIZE
-         CLC   USERID(8),=CL8'SYSTEM'  DID USER WANT SYSTEM?
-         BE    DSIZE                   YES
-         MVC   VMSIZE(4),X'560'(0)     MOVE THIS VMSIZE INTO AREA
-         MVC   USERIDO(8),USERID       PUT USERID ON DISPLAY
-*
-DSIZE    EQU   *
-         L     R5,VMSIZE               GET VMSIZE
-         SRA   R5,10                   DIVIDE BY 1024
-         CVD   R5,SAVE                 PUT
-         MVC   VMSIZEO(07),=X'4020206B202120'   VMSIZE
-         ED    VMSIZEO(07),SAVE+5      ON DISPLAY
-         L     R5,VMSIZE               GET VMSIZE
-         SLL   R5,8                    CONVERT
-         LA    R7,ADDR2                VMSIZE TO HEX
-         LA    R8,6                    TO GET AND DISPLAY
-         BAL   R14,FHEX                THE ADDRESS RANGES
-         EJECT
-***********************************************************************
-*      GO GET CONSOLE ADDRESS, CLEAR SCREEN, PREPARE FOR 3270 I/O     *
-***********************************************************************
-         SSM   *                       ENABLE I/O INTRPTS ONLY
-*
-         LA    R1,CONWAIT
-         SVC   202                     GO SET CONWAIT
-         DC    AL4(*+4)
-*
-         XR    R9,R9                   CLEAR R9
-         BCTR  R9,0                    GET -1
-         LA    R8,CCWE                 GET ERASE CCW ERASE ADDR
-         DIAG  R9,R15,X'24'            GO GET VIRT CON ADDR
-         STH   R9,CONADDR              SAVE CONSOLE ADDR
-         DIAG  R8,R9,X'58'             ERASE DISPLAY
-*
-         SSM   *+1                     DISABLE ALL INTRPTS
-*
-         EJECT
-***********************************************************************
-*                    PROCESS INPUT ADDRESS                            *
-***********************************************************************
-*
-CMDPROC  EQU   *
-         CLI   INITADDR,C' '           FIRST CHAR OF INPUT A SPACE?
-         BE    ENTER                   THEN IGNORE INPUT. .
-         LA    R6,6                    GET MAX LENGTH OF INPUT
-         LA    R7,INITADDR             GET ADDR OF INPUT AREA
-*
-CKADDR   EQU   *
-         CLI   0(R7),C' '              LOOK FOR END OF ENTRY
-         BE    ADREND                  GOT IT
-         LA    R7,1(,R7)               GET NEXT BYTE
-         BCT   R6,CKADDR               GO TRY AGAIN
-*
-ADREND   EQU   *
-         LA    R7,6                    GET MAX POSSIBLE LENGTH
-         SR    R7,R6                   GET LENGTH OF ENTRY
-         LR    R9,R7                   PUT IN LENGTH FOR CONVERSION
-         SLA   R6,2                    GET NUM OF BITS  TO SHIFT AT END
-         LA    R8,INITADDR-1(R7)       START AT END OF INPUT AREA
-         BAL   R14,THEX                GO CONVERT AREA TO HEX
-         SRL   R5,8(R6)                SHIFT TO GET BYTE IN RIGHT PLACE
-         TM    FLAGS,X'20'             WAS THIS TO SET BRANCH?
-         BZ    NOBRANCH
-         NI    FLAGS,X'DF'             RESET BR FLAG
-         ST    R5,BRANCH
-         B     ENTER
-*
-NOBRANCH EQU   *
-         N     R5,=X'00FFFFF0'         ROUND OFF ADDRESS
-         L     R6,VMSIZE               GET VMSIZE
-         S     R6,=F'256'              ADJUST BY MAX SIZE OF DISPLAY
-         CR    R5,R6                   IF R5 > VMSIZE-256 THEN CANT
-         BH    INVALID                 DISPLAY SCREEN, GO TO ERROR
-         C     R5,=F'0'                IF ADDRESS IS < 0,
-         BL    INVALID                 THEN THAT IS OBVIOUSLY INVALID
-         ST    R5,INITIAL              ELSE SAVE VALID ADDRESS
-***********************************************************************
-*                    DISPLAY CORE, AND CHECK INPUT                    *
-***********************************************************************
-ENTER    EQU   *
-         BAL   R1,GETCORE              GO GET A SCREEN FULL OF CORE
-         BAL   R5,IO                   WRITE SCREEN, WAIT, THEN READ
-         CLI   AID,C'1'                PF1?
-         BE    PF1
-         CLI   AID,C'2'                PF2?
-         BE    PF2
-         CLI   AID,C'3'                PF3?
-         BE    PF3
-         CLI   AID,C'4'                PF4?
-         BE    PF4
-         CLI   AID,C'5'                PF5?
-         BE    PF5
-         CLI   AID,C'6'                PF6?
-         BE    PF6
-         CLI   AID,C'7'                PF7?  (BWD)?
-         BE    PF3
-         CLI   AID,C'8'                PF8?  (FWD)?
-         BE    PF2
-         CLI   AID,C'9'                PF9?
-         BE    PF9
-         CLI   AID,X'7A'               PF10? (BRANCH)
-         BE    PF7
-         CLI   AID,X'7B'               PF11? (PRINT)
-         BE    PF11
-         CLI   AID,X'7C'               PF12?
-         BE    QUIT
-         CLI   AID,C'A'                PF13
-         BE    PF1
-         CLI   AID,C'B'                PF14
-         BE    PF2
-         CLI   AID,C'C'                PF15
-         BE    PF3
-         CLI   AID,C'D'                PF16
-         BE    PF4
-         CLI   AID,C'E'                PF17
-         BE    PF5
-         CLI   AID,C'F'                PF18
-         BE    PF6
-         CLI   AID,C'G'                PF19 BWD?
-         BE    PF3
-         CLI   AID,C'H'                PF20 FWD?
-         BE    PF2
-         CLI   AID,C'I'                PF21
-         BE    PF9
-         CLI   AID,X'4A'               PF22 (BRANCH)
-         BE    PF7
-         CLI   AID,X'4B'               PF23 (PRINT)
-         BE    PF11
-         CLI   AID,C'<'                PF24?
-         BE    QUIT
-         LA    R5,UPDTABLE             RESET UPDATE TABLE POINTER
-         ST    R5,PTR                  SAVE IT
-         XC    UPDTABLE(160),UPDTABLE  CLEAR THAT TABLE
-         BAL   R5,CKINPUT              GO CHECK USERS INPUT
-         B     ENTER                   GO DISPLAY AGAIN
-         EJECT
-***********************************************************************
-*            PFKEYS 1,2,3   TOP, FWD, AND BWD                         *
-***********************************************************************
-PF1      EQU   *
-         BAL   R5,CKUPD                GO CHECK FOR UPDATES
-         XC    INITIAL,INITIAL         CLEAR INITIAL VALUE
-         B     ENTER
-*
-*
-*
-PF2      EQU   *
-         BAL   R5,CKUPD                GO CHECK FOR UPDATES
-         L     R5,INITIAL              GET CURRENT DISPLAY ADDRESS
-         LA    R5,256(,R5)             INCR BY 256 BYTES
-         LA    R6,256(,R5)             WILL IT EXCEED VMSIZE?
-         C     R6,VMSIZE               CHECK ON  IT
-         BNH   SETFWD                  NO
-         L     R5,VMSIZE               YES
-         S     R5,=F'256'              SET TO VMSIZE-256
-         MVI   WCC,X'C7'               SET ALARM
-         MVC   ERR+5(26),=C'HIGH CORE BOUNDARY REACHED'
-*
-SETFWD   EQU   *
-         ST    R5,INITIAL              SET NEXT ADDRESS
-         B     ENTER                   GO DISPLAY IT
-*
-*
-*
-PF3      EQU   *
-         BAL   R5,CKUPD                GO CHECK FOR UPDATES
-         L     R5,INITIAL              GET CURRENT DISPLAY ADDRESS
-         S     R5,=F'256'              CHECK IF CURRENT-256 IS < 0
-         BNM   SETBWD                  NO, VALUE IS OK
-         XR    R5,5                    YES, SO SET ADDRESS TO 0
-         MVI   WCC,X'C7'               SET ALARM
-         MVC   ERR+5(25),=C'LOW CORE BOUNDARY REACHED'
-*
-SETBWD   EQU   *
-         ST    R5,INITIAL              SET PREV ADDRESS
-         B     ENTER                   GO DISPLAY IT
-         EJECT
-***********************************************************************
-*                        STORE BACK MODIFIED STORAGE                  *
-***********************************************************************
-PF4      EQU   *
-         TM    FLAGS,X'40'             IS STORE BIT ENABLED?
-         BZ    NOSTORE                 NO, CANT STORE
-         CLC   USERID(8),=CL8'SYSTEM'  REAL CORE?
-         BE    NOSTORE                 CANT STORE IN REAL CORE
-         BAL   R5,CKUPD                GO CHECK FOR UPDATES
-         L     R4,INITIAL              GET INITIAL ADDRESS
-         LA    R10,UPDTABLE            AND POINT TO LIST IF UPDATES
-*
-STORNEXT EQU   *
-         LH    R5,0(,R10)              GET LEN AND DISP INTO BUFFER
-         CH    R5,=H'0'                END OF TABLE?
-         BE    ENDSTORE                NO MORE TO STORE
-         LR    R7,R5                   COPY
-         SRL   R7,8                    GET LENGTH PART ONLY
-         ICM   R7,8,=X'80'             SET FOR DIAG REVERSE MOVE
-         N     R5,=X'000000FF'         GET ONLY DISPLACEMENT
-         LA    R8,0(R4,R5)             GET DESTINATION  ADDR+DISPL
-         LA    R6,BUF(R5)              GET SOURCE ADDR+DISPL
-         BCTR  R7,0                    ADJUST KOUNT
-         EX    R7,MVCINS               MOVE IT!
-*MVCINS  MVC   0(0,R8),0(R6)
-*
-SKIPSTOR EQU   *
-         LA    R10,2(,R10)             GET ADDR OF NEXT UPDATE
-         B     STORNEXT                GO STOR IT
-*
-MVCINS   MVC   0(0,R8),0(R6)           MOVE FROM BUF TO ADDRESS
-*
-ENDSTORE EQU   *
-         XC    UPDTABLE(160),UPDTABLE  CLEAR UPDATE TABLES
-         LA    R9,UPDTABLE             AND RESET
-         ST    R9,PTR                  THE POINTER
-         B     ENTER                   GO REFRESH DISPLAY
-*
-NOSTORE  EQU   *
-         MVC   ERR+8(16),=C'NOTHING TO STORE'
-         MVI   WCC,X'C7'               SETALARM
-         B     ENTER                   GO WRITE ERROR
-         EJECT
-***********************************************************************
-*                  DISPLAY TO ADDRESS POINTED BY CURSOR               *
-***********************************************************************
-PF5      EQU   *
-         LA    R4,WORDS                GET ADDRESS OF SBA TABLES
-         LA    R5,64                   NUMBER OF SBAS IN TABLE
-         XR    R6,R6                   CLEAR R6
-*
-CKCURSOR EQU   *
-         CLC   CURSOR(2),0(R4)         IS CURSOR ON A VALID FIELD?
-         BE    HAVECURS                YES
-         LA    R4,2(,R4)               INCR SBA POINTER
-         LA    R6,1(,R6)               INCR COUNTER
-         BCT   R5,CKCURSOR             GO CHECK NEXT SBA
-         MVI   WCC,X'C7'               SET ALARM
-         MVC   ERR+2(30),=C'CURSOR IS NOT ON A VALID FIELD'
-         B     ENTER                   GO WRITE ERROR MSG
-*
-HAVECURS EQU   *
-         SLL   R6,2                    GET DISPL INTO SBA TABLE
-         L     R6,BUF(R6)              GET ADDR FROM BUFFER
-         LA    R6,0(,R6)               CLEAR HIGH BYTE
-         C     R6,=F'0'                CHECK FOR INVALID ADDRESS
-         BL    INVALID                 YES
-         L     R7,VMSIZE               GET MACHINE SIZE
-         S     R7,=F'256'              ADJUST FOR DISPLAY SIZE
-         CR    R6,R7                   ADDRESS > MACHINE SIZE-256?
-         BH    INVALID                 YES, INVALID ADDR
-         N     R6,=X'00FFFFF0'         ADJUST FOR DISPLAY
-         ST    R6,INITIAL              SAVE AS NEW INITIAL ADDR
-         BAL   R5,CKUPD                GO CLEAR OUT ANY UPDATES
-         B     ENTER                   GO DISPLAY NEW DATA
-*
-INVALID  EQU   *
-         MVI   WCC,X'C7'               ALARM
-         MVC   ERR+7(21),=C'ADDRESS OUT OF BOUNDS'
-         B     ENTER                   GO DISPLAY ERROR MSG
-*
-***********************  REDISPLAY SCREEN, CANCEL UPDATES *************
-*
-PF6      EQU   *
-         BAL   R5,CKUPD
-         B     ENTER
-         EJECT
-***********************************************************************
-PF7      EQU   *
-         L     R15,BRANCH              LOAD BRANCH ADDRESS
-         C     R15,VMSIZE              MORE THAN VMSIZE?
-         BH    INVALID                 YES, INVALID ADDR
-         C     R15,=F'0'               LESS THAN 0
-         BL    INVALID                 YES, INVALID ADDR
-         STM   R0,R15,SA+8             SAVE ALL REGS
-         BALR  R14,R15                 AND BRANCH . . .
-         LM    R0,R15,SA+8             RESTORE ALL REGS
-         B     ENTER                   GO UPDATE DISPLAY
-*
-PF9      EQU   *
-         L     R5,=X'00030000'
-         MVC   0(ENDTXT-TXT,R5),TXT
-         ST    R5,BRANCH
-         ST    R5,INITIAL
-         MVC   BRADDR(6),=CL6'030000'
-         B     ENTER
-*
-         DS    0F
-TXT      EQU   *
-         LA    R5,160(0,R15)           00  (00)
-         ST    R5,72(0,0)              04  (04)
-         LH    R10,248(0,R15)          08  (08)
-         BCR   0,0                     12  (0C)
-         BCR   0,0                     14  (0E)
-         SIO   0(R10)                  16  (10)
-         TIO   0(R10)                  20  (14)
-         BC    7,20(0,R15)             24  (18)
-         MVC   240(8,R15),64(0)        28  (1C)
-         BCR   0,0                     34  (22)
-         LA    R5,80(0,R15)            36  (24)
-         ST    R5,72(0,0)              40  (28)
-         SIO   0(R10)                  44  (2C)
-         TIO   0(R10)                  48  (30)
-         BC    7,48(0,R15)             52  (34)
-         BCR   15,R14                  56  (38)
-         DC    22X'00'                 58  (3A)
-         DC    X'0403006020000010'     80  (50)
-         DC    72X'00'                 88  (58)
-         DC    X'070300E040000006'    160  (A0)
-         DC    X'310300E240000005'    168  (A8)
-         DC    X'080300A800000000'    176  (B0)
-         DC    X'0603010000000100'    184  (B8)
-         DC    56X'00'                192  (C0)
-         DC    X'0444'                248  (F8)
-         DC    6X'00'                 256 (100)
-ENDTXT   EQU   *
-*
-***** PRINTER
-*
-PF11     EQU   *
-         MVI   CCWP1,X'09'             SET TO SINGLE SPACE
-         LA    5,A00ADR                GET ADDR OF FIRST LINE
-         LA    7,16                    PRINT SIXTEEN LINES
-PRINTIT  EQU   *
-         LA    6,5(,5)                 LINE ADDR
-         STCM  6,7,CCWP1+1             IN FIRST CCW
-         LA    6,16(,5)                WORD 1
-         STCM  6,7,CCWP2+1             PUT IN CCW
-         LA    6,29(,5)                WORD 2
-         STCM  6,7,CCWP3+1             PUT IN CCW
-         LA    6,42(,5)                WORD 3
-         STCM  6,7,CCWP4+1             PUT IN CCW
-         LA    6,55(,5)                WORD 4
-         STCM  6,7,CCWP5+1             PUT IN CCW
-         LA    6,68(,5)                CHARACTER PORTION
-         STCM  6,7,CCWP6+1             PUT IN CCW
-         LA    6,89(,5)                LINE ADDR
-         STCM  6,7,CCWP7+1             PUT IN CCW
-         C     7,=F'1'                 IS THIS THE LAST LINE?
-         BNE   *+8                     NO
-         MVI   CCWP1,X'19'             YES, MAKE IT SKIP 3 LINES
-         LA    1,CCWPRT                GET PRT CCW ADDRESS
-         ST    1,72(0)                 PUT IN CAW
-*
-         LH    1,PRTADDR               GET ADDR OF PRINTER
-         SIO   0(1)                    START THE I/O
-         TIO   0(1)
-         BC    7,*-4                   WAIT FOR COMPLETION
-*
-         TM    68(0),X'02'             UNIT CHECK?
-         BO    NOTREADY
-*
-         TIO   0(1)
-         BC    7,*-4                   WAIT UNTIL CC=0
-*
-         LA    5,95(,5)                POINT TO NEXT DISPLAY LINE
-         BCT   7,PRINTIT               GO DO ANOTHER
-         MVC   ERR+9(14),=C'PRINT COMPLETE'
-         B     ENTER
-*
-NOTREADY EQU   *
-         MVI   WCC,X'C7'               ALARM
-         MVC   ERR+7(17),=C'PRINTER NOT READY'
-         B     ENTER
-         EJECT
-***********************************************************************
-*                        TERMINATION RTNS                             *
-***********************************************************************
-QUIT     EQU   *
-         SSM   =X'FF'                  REENABLE ALL INTRPTS
-*
-         LR    R1,R12
-         FREEMAIN R,LV=2000,A=(1)      FREE INPUT AREA
-*
-CMS      EQU   *
-         L     R13,4(,R13)             GET SA ADDR
-         LM    R14,R12,12(R13)         RETURN
-         XR    R15,R15                 TO
-         BR    R14                     CMS
-         EJECT
-***********************************************************************
-*                    GET CORE AND FORMAT ROUTINE                      *
-***********************************************************************
-GETCORE  EQU   *
-         L     R4,INITIAL              GET INITIAL ADDR
-         TM    FLAGS,X'40'             UPDATE IN PROGRESS?
-         BO    SKIP                    DONT GET CORE IF UPDATE PENDING
-         CLC   USERID(8),=CL8'SYSTEM'  LOOK AT REAL CORE?
-         BE    SYSREAL                 YES
-         B     LOCAL                   ELSE DO LOCAL STG
-*
-SYSREAL  EQU   *
-         ST    R1,SAVE
-         L     R6,INITIAL              GET INITIAL ADDR
-         LA    R5,64                   NUMBER OF WORDS TO FETCH
-         XR    R4,R4                   CLEAR DISPLACEMENT KOUNT
-         LA    R10,BUF                 WHERE TO PUT DATA
-*
-SYSLOOP  EQU   *
-         LA    R1,0(R4,R6)             GET INITIAL ADDR PLUS DISPLACE
-         BAL   R14,DCP
-         ST    R15,0(,R10)             PUT WORD IN BUFFER
-         LA    R10,4(,R10)             KICK UP BUFFER ADDR
-         LA    R4,4(,R4)               KICK UP DISPLACEMENT
-         BCT   R5,SYSLOOP              GO GET NEXT WORD OF REAL CORE
-         L     R1,SAVE                 RESTORE R1
-         B     SYSLCL
-*
-LOCAL    EQU   *
-         MVC   BUF(256),0(R4)          MOVE 256 FROM THIS MACHINE
-*
-SYSLCL   EQU   *
-         MVC   PSW1(8),=C'00040000'    SET UP PSW+0
-         BALR  R5,0                    AND GET PSW+4
-         LA    R8,8                    AND
-         LA    R7,PSW2                 CONVERT
-         BAL   R14,FHEX                TO EBCDIC FOR DISPLAY
-         L     R4,INITIAL              GET INITIAL ADDRESS
-*
-SKIP     EQU   *
-         ST    R4,WORK1                STORE INITIAL  IN WORK AREA
-         LA    R6,BUF                  GET CORE BUFFER ADDR
-         LA    R10,A00ADR              GET FIRST FIELD ON DISPLAY ADDR
-         LA    R15,16                  NUMBER OF LINES TO DISPLAY
-*
-NEXTLINE EQU   *
-         ICM   R5,14,WORK1+1           GET ADDR
-         LA    R7,5(,R10)              GET AREA ON DISPLAY
-         LA    R8,6                    LENGTH
-         BAL   R14,FHEX                CONVERT TO EBCDIC
-         ICM   R5,15,0(R6)             GET A WORD OF CORE
-         LA    R7,16(,R10)             GET AREA ADDR ON DISPLAY
-         LA    R8,8                    GET LENGTH
-         BAL   R14,FHEX                CONVERT
-         ICM   R5,15,4(R6)             WORD
-         LA    R7,29(,R10)             AREA
-         LA    R8,8                    LENGTH
-         BAL   R14,FHEX                CONVERT
-         ICM   R5,15,8(R6)             WORD
-         LA    R7,42(,R10)             AREA
-         LA    R8,8                    LENGTH
-         BAL   R14,FHEX                CONVERT
-         ICM   R5,15,12(R6)            WORD
-         LA    R7,55(,R10)             AREA
-         LA    R8,8                    LENGTH
-         BAL   R14,FHEX                CONVERT
-         MVC   69(16,R10),0(R6)        MOVE IN CHARACTER PART
-         TR    69(16,R10),TRTAB        TRANSLATE TO DISPLAY CHARS ONLY
-         LA    R6,16(,R6)              GET NEXT CORE BUFFER ADDR
-         LA    R10,95(,R10)            INCR DISPLAY ADDR
-         L     R5,WORK1                REFETCH INITIAL WORK ADDR
-         LA    R5,16(,R5)              INCR TO NEXT LINE ADDRESS
-         ST    R5,WORK1                SAVE IT
-         BCT   R15,NEXTLINE            GO FORMAT NEXT LINE
-         L     R5,BRANCH               GET BRANCH ADDRESS
-         C     R5,=F'-1'               IS BRANCH TO -1
-         BER   R1                      YES, THEN NO BRANCH ADDR IS SET
-         SLL   R5,8                    PUT IN R5
-         LA    R8,6                    LENGTH
-         LA    R7,BRADDR               DISPLAY BRANCH
-         BAL   R14,FHEX                ADDRESS IN PFKEY LINE
-         BR    R1                      RETURN
-         EJECT
-***********************************************************************
-*                PROCESS INPUT PARMS AND GET VMSIZE                   *
-***********************************************************************
-PARMS    EQU   *
-         CLC   8(8,R1),=8X'FF'         NO PARAMETERS ENTERED?
-         BER   R5                      EVERYTHING DEFAULTS
-         MVC   INITADDR(6),8(R1)       MOVE IN INITIAL REQ ADDR
-         CLC   16(8,R1),=8X'FF'        USERID SPECIFIED?
-         BER   5                       USE DEFAULT USERID THEN
-         MVC   USERID(8),16(R1)        MOVE IN NEW USERID
-         BR    R5
-*
-GETSIZE  EQU   *
-         MVC   CMSPGPSW(8),X'68'(0)    SAVE CMS PROG NEW PSW
-         LA    R1,PGINT                GET PROG INT ADDR
-         ST    R1,X'6C'(,0)            PUT IN PROG NEW PSW
-         L     R1,=X'000003AC'         REAL CORE ADDR OF OPER VMBLOK
-         BAL   R14,DCP                 GO GET WORD AT THAT ADDR
-         LA    R15,0(,R15)
-         LR    R1,R15                  SAVE ADDR
-*
-TOP      EQU   *
-         LR    R6,R1                   SAVE ADDR
-         LA    R1,X'110'(,R6)          GET USERID (4BYTES)
-         BAL   R14,DCP
-         ST    R15,REC                 STORE 1ST 4 BYTES
-         LA    R1,X'114'(,R6)          GET USERID (2ND 4BYTES)
-         BAL   R14,DCP
-         ST    R15,REC+4               STORE IT
-         CLC   NAME(8),=CL8' '         FIRST TIME THRU LOOP?
-         BNE   CKNAME                  NO,
-         MVC   NAME(8),REC             SET NAME TO 1ST VMBLOK ID
-         B     AROUND
-*
-CKNAME   EQU   *
-         CLC   REC(8),NAME             HAVE WE LOOPED AROUND YET
-         BE    NOUSER                  YES, SET ERR MSG
-*
-AROUND   EQU   *
-         CLC   REC(8),USERID           IS THIS THE USERID SPECIFIED?
-         BE    GOTUSER                 YES, GO FIX HIM UP
-         LA    R1,8(,R6)               GET NEXT VMBLOK ADDR
-         BAL   R14,DCP                  .
-         LA    R15,0(,R15)              .
-         C     R15,=F'0'               LAST VMBLOK ADDR?
-         BE    NOUSER                  YES, THEN NOT FOUND
-         LR    R1,R15                  GO WORK ON NEXT ONE. .
-         B     TOP
-*
-NOUSER   EQU   *
-         MVC   X'68'(8,0),CMSPGPSW     RESTORE CMS PG PSW
-         CLC   USERID(8),=CL8'SYSTEM'  REAL CORE
-         BER   R5                      YES
-         OI    FLAGS,X'80'             SET ERR BIT 1
-         B     QUIT
-*
-GOTUSER  EQU   *
-         LA    R1,X'134'(,6)           GET MACHINE VMSIZE
-         BAL   R14,DCP
-         ST    R15,VMSIZE              SAVE IT
-         ST    R6,VMBADDR              SAVE VMBLOK ADDR
-         MVC   X'68'(8,0),CMSPGPSW     RESTORE CMS PSW
-         BR    R5
-*
-DCP      EQU   *
-         ST    R1,REQ                  STORE REQUEST ADDR
-         LA    R1,REQ                  GET ADDRESS OF REQUEST ADDR
-         L     R8,KNT                  GET NUMBER OF WORDS REQUESTED
-         LA    R9,RES                  GET ADDR OF RESPONSE AREA
-         DIAG  R1,R8,X'04'             GO GET 4 BYTES OF REAL CORE
-         L     R15,RES                 PUT RESULT IN R15
-         BR    R14                     RETURN
-*
-PGINT    EQU   *
-         MVC   USERID(8),THISID        PROG INTRPT 0C2?
-         MVC   X'68'(8,0),CMSPGPSW     RESTORE CMS NEW PSW
-         BR    R5
-         EJECT
-***********************************************************************
-*                         INPUT PROCESSOR                             *
-***********************************************************************
-CKINPUT  EQU   *
-         CLI   DATA,X'00'              FIRST BYTE OF INPUT X'00'?
-         BE    ENTER                   NO DATA IN BUFFER
-         LA    R1,MAP                  GET INPUT AREA ADDR
-*
-CONTINUE EQU   *
-         LA    R1,1(,R1)               INCR PAST LAST SBA
-         TRT   0(100,R1),TRTTAB        LOOK FOR AN SBA
-         BZ    ENTER                   NO MORE SBAS, GO DISPLAY SCREEN
-         LA    R2,WORDS                GET ADDR OF WORDS SBA TABLE
-         XR    R10,R10                 CLEAR COUNT
-         LA    R6,64                   NUMBER OF WORD ENTRIES
-*
-CKWORD   EQU   *
-         CLC   1(2,R1),0(R2)           LOOK FOR MATCHING SBA IN TABLE
-         BE    GOTSBA1                 FOUND IT
-         LA    R2,2(,R2)               POINT TO NEXT SBA
-         LA    R10,1(,R10)             INCR WORD NUMBER
-         BCT   R6,CKWORD               GO TRY AGAIN
-         XR    R10,R10                 CLEAR COUNT
-         LA    R6,16                   NUMBER OF CHAR SBA ENTRIES
-*
-CKCHAR   EQU   *
-         CLC   1(2,R1),0(R2)           LOOK FOR MATCHING SBA IN CHAR T
-         BE    GOTSBA2                 FOUND ONE
-         LA    R2,2(,R2)               POINT TO NEXT SBA
-         LA    10,1(,R10)              INCR LINE NUMBER
-         BCT   R6,CKCHAR               GO TRY AGAIN
-         CLC   1(2,R1),CMDADDR         IS THIS THE COMMAND LINE?
-         BNE   ENTER                   NO, GO DISPLAY
-         ST    R1,WORK2                SAVE ADDR OF THIS IN BUFFER
-         CLI   3(R1),C'='              REPEAT COMMAND?
-         BE    LASTONE                 YES
-         MVC   LASTCMD(75),0(R1)       SAVE THE LAST COMMAND
-         B     CMDEXEC                 GO PROCESS THE COMMAND
-*
-LASTONE  EQU   *
-         LA    R1,LASTCMD              GET LAST CMD ADDR
-*
-CMDEXEC  EQU   *
-         OC    3(75,R1),=CL75' '       GET UPPER CASE
-         CLI   3(R1),C'/'              WAS IT A SEARCH
-         BE    SRCHRTN                 YES, GO SEARCH
-         CLC   3(3,R1),=C'CMS'         CMS?
-         BE    CMSUBSET                GO TO CMS SUBSET
-         CLC   3(3,R1),=C'BR '         SET BRANCH ADDRESS?
-         BNE   *+12                    NO, SKIP AROUND
-         LA    R1,3(,R1)               ADJUST TO ADDRESS
-         OI    FLAGS,X'20'             SET ON BRANCH ADDR FLAG
-         MVC   INITADDR(6),3(R1)       THEN MOVE NEW ADDR TO INIT
-         B     CMDPROC                 AND GO PROCESS IT
-*
-CMSUBSET EQU   *
-         LA    R1,SUBSET
-         SVC   202                     GO TO CMS SUBSET
-         DC    AL4(QUIT)
-         B     ENTER                   GO DISPLAY
-*
-GOTSBA1  EQU   *
-         SLL   R10,1                   GET NUM BYTES TO DISPLACE
-         LH    R6,DISPLTAB(10)         GET INSTRUCTION DISPLACEMENT
-         STH   R6,INSTR1+2             STORE IN INSTRUCTION
-         BCR   15,R0                   COMPLETE ALL ACCESSES
-INSTR1   LA    R6,0(0,0)               GET ADDR OF DISPLAY FIELD
-         OC    5(8,R6),=CL75' '        GET TO UPPER CASE
-         LA    R8,10(,R1)              GET END OF FIELD
-         LA    R9,8
-         BAL   R14,THEX                CONVERT TO HEX
-         SLL   R10,1                   GET BYTES INTO BUFFER
-         LR    R8,R10                  SAVE THIS VALUE
-         LA    R10,BUF(R10)            INDEX INTO BUFFER
-         STCM  R5,15,0(R10)            PUT WORD IN BUFFER
-         L     R9,PTR                  GET PTR IN UPD TABLE
-         ICM   R8,2,=X'04'             PUT LENGTH IN R8
-         STH   R8,0(,R9)               SAVE IN UPDATE TABLE
-         LA    R9,2(,R9)               GET NEXT TABLE ADDR
-         ST    R9,PTR                  SAVE IT
-         MVI   4(R6),X'C9'             MAKE FIELD BRIGHT
-         OI    FLAGS,X'40'             GET UPDATE-IN-PROGRESS FLAG
-         B     CONTINUE                GO NEXT NEXT SBA
-*
-GOTSBA2  EQU   *
-         SLL   R10,1                   MULT COUNT BY 2
-         LH    R6,CHARTAB(R10)         TO INDEX INTO CHAR TABLE
-         STH   R6,INSTR2+2             STORE BASE-DISPL INTO INSTR
-         BCR   15,R0                   COMPLETE ALL ACCESSES
-INSTR2   LA    R6,0(0,0)               GET ADDR OF DISPLAY FIELD
-         SLL   R10,3                   GET TRUE DISPL INTO BUFFER
-         LA    R8,BUF(R10)             HERE
-         OC    4(16,R1),=CL75' '       GET TO UPPER CASE
-         MVC   0(16,R8),4(R1)          MOVE INTO BUFFER
-         L     R9,PTR                  GET UPDATE PTR
-         ICM   R10,2,=X'10'            SET LEN AT 16
-         STH   R10,0(,R9)              STORE IN UPDATE TABLE
-         LA    R9,2(,R9)               INCR TABLE ADDR
-         ST    R9,PTR                  SAVE IT
-         BCTR  R6,0                    GET FIELD ADDR
-         BCTR  R6,0                    MINUS 2 TO POINT TO ATTRB BYTE
-         MVI   0(R6),X'C9'             MOVE IN BRIGHT ATTRIB
-         OI    FLAGS,X'40'             SET UPDATE FLAG
-         B     CONTINUE                GO TRY NEXT SBA
-         EJECT
-***********************************************************************
-*                        SEARCH ROUTINES                              *
-***********************************************************************
-SRCHRTN  EQU   *
-         LA    R4,4(,R1)               GET DATA TO SEARCH FOR
-         LR    R6,R4                   SAVE IT
-         LA    R5,75                   GET MAX DATA LENGTH
-*
-CKIT     EQU   *
-         CLI   0(R4),C'/'              SEARCH FOR ENDING SLASH
-         BE    SEARCH                  GO IT
-         LA    R4,1(,R4)               INCR TO NEXT CHAR
-         BCT   R5,CKIT                 GO TRY AGAIN
-         LR    R4,R6                   RESTORE STARTING ADDR
-         LA    R5,75                   MAX DATA LEN
-*
-CK40     EQU   *
-         CLI   0(R4),X'40'             DATA END WITH A SPACE?
-         BE    SEARCH                  YES
-         CLI   0(R4),X'00'             OR X'00'?
-         BE    SEARCH                  YES
-         LA    R4,1(,R4)               INCR POINTER
-         BCT   R5,CK40                 GO TRY AGAIN
-*
-SEARCH   EQU   *
-         SR    R4,R6                   RESTORE START
-         BCTR  R4,0                    ADJUST FOR EXECUTE
-         L     R5,INITIAL              GET ADDRESS TO START SEARCH
-         LA    R5,16(,R5)              GET PAST CURRENT LINE
-         L     R7,VMSIZE               GET END OF MACHINE
-         LR    R10,R7                  BUT ADJUST
-         S     R10,=F'256'             BY 256 FOR DISPLAY LENGTH
-         SR    R7,R4                   -LENGTH OF LITERAL TO GET TRUE
-         BCTR  R7,0                    'END' OF MACHINE TO ACCOUNT FOR
-         BCTR  R7,0                    LITERAL LENGTH BEYOND MACHINE
-*                                      SIZE AS ADDR IN R5 APPROACHES
-*                                      THE MACHINE SIZE
-*
-LOOK     EQU   *
-         EX    R4,CLCINS               LOOK FOR THE DATA
-*CLCINS  CLC   4(0,R1),0(R5)
-         BE    FOUND                   FOUND IT
-         LA    R5,1(,R5)               GET NEXT BYTE
-         CR    R5,R7                   UP TO MACHINE SIZE?
-         BE    NOTFND                  YES, DATA BOT FOUND
-         B     LOOK                    NO, GO LOOK AGAIN
-*
-CLCINS   CLC   4(0,R1),0(R5)           SEARCH
-*
-*
-LOOK2    EQU   *
-         LA    R5,BUF                  GET CORE BUFFER ADDR
-         LA    R6,256                  NUMBER OF BYTES TO CHECK AT A TM
-*
-LOOK3    EQU   *
-         EX    R4,CLCINS               CHECK
-         BE    FOUND2                  FOUND IT
-         LA    R5,1(,R5)               INCR BUFFER  ADDR
-         LA    R8,1(,R8)               INCR INITIAL ADDR
-         BCT   R6,LOOK3                GO LOOK AGAIN
-         CR    R8,R10                  UP TO VMSIZE?
-         BH    NOTFND                  YES, NOT FOUND
-         B     LOOK2                 NO, GO LOOK AGAIN
-*
-FOUND2   EQU   *
-         LR    R5,R8                   GET FOUND ADDRESS
-*
-FOUND    EQU   *
-         L     R6,VMSIZE               CHECK
-         S     R6,=F'256'              AGAINST
-         CR    R5,R6                   VMSIZE
-         BH    ADJUST
-         N     R5,=X'00FFFFF0'         ADJUST ADDRESS FOR DISPLAY
-         ST    R5,INITIAL              STORE FOR NEW INITIAL ADDR
-         B     ENTER
-*
-NOTFND   EQU   *
-         MVI   WCC,X'C7'               ALARM
-         MVC   ERR+9(14),=C'DATA NOT FOUND'   ERR
-         B     ENTER
-*
-ADJUST   EQU   *
-         ST    R6,INITIAL              NEW INITIAL ADDR
-         B     ENTER                   GO DISPLAY
-         EJECT
-***********************************************************************
-*                   CONVERSION AND I/O ROUTINES                       *
-***********************************************************************
-CKUPD    EQU   *                       THIS RTN CLEARS UPDATE POINTERS
-         TM    FLAGS,X'40'             IS UPDATE FLAG ON?
-         BZR   R5                      THEN DONT CLEAR YET
-         LA    R1,A00ADR               GET DISPLAY ADDR
-         LA    R4,A0FDSP-A00ADR        GET LENGTH
-*
-FIND     EQU   *
-         CLI   0(R1),X'C9'             LOOK FOR ALL X'C9'S (UNPROT,BRT)
-         BE    FOUNDC9                 GOT ONE
-*
-NEXTC9   EQU   *
-         LA    R1,1(,R1)               GO POINT TO NEXT
-         BCT   R4,FIND                 GO LOOK AGAIN
-         NI    FLAGS,X'BF'             RESET UPDATE FLAGS
-         BR    R5                      RETURN
-*
-FOUNDC9  EQU   *
-         MVI   0(R1),X'40'             CHANGE TO (UNPROT,NORM)
-         B     NEXTC9                  GO LOOK FOR NEXT
-*
-*
-FHEX     EQU   *                       CONVERT FROM HEX TO EBCDIC
-*                                      ENTRY: R7=AREA ADDR, R8=LEN
-         XR    R4,R4                   EXIT : THE AREA HOLDS EBCDIC
-         SLDL  R4,R4                   GET A HALF BYTE
-         LA    R4,240(,R4)             ADD 'F0'
-         C     R4,=F'250'              MORE THAN 'FA'?
-         BL    STC                     NO,
-         S     R4,=F'57'               YES, THEN MAKE ALPHA A-F
-*
-STC      EQU   *
-         STC   R4,0(,R7)               PUT IN AREA
-         LA    R7,1(,R7)               INCR AREA ADDR
-         BCT   R8,FHEX                 DEC KOUNT
-         BR    R14                     RETURN
-*
-THEX     EQU   *                       CONVERT FROM EBCDIC TO HEX
-*                                      ENTRY: R8=AREA ADDR, R9=LEN
-         XR    R4,R4                   EXIT : R5 HOLDS DATA
-*
-LUPE     EQU   *
-         IC    R4,0(,R8)               GET A BYTE
-         C     R4,=F'239'              ALPHA OR NUMERIC?
-         BH    DIGIT                   IT IS NUMBER
-         LA    R4,9(,R4)               ADD IN 9
-*
-DIGIT    EQU   *
-         N     R4,=X'0000000F'         TO GET FROM 0-F
-         SRDL  R4,R4                   PUT IN R5
-         BCTR  R8,0                    DECR COUNT
-         BCT   R9,LUPE                 GO GET NEXT BYTE
-         BR    R14                     RETURN
-*
-DIAG08   EQU   *
-         LM    R7,R9,=F'0,30,0'        SET REGS UP
-         DIAG  R6,R8,X'08'             ISSUE CP COMMAND POINTED BY R6
-         BR    R5
-*
-IO       EQU   *
-         XC    X'40'(8,0),X'40'(0)     CLEAR CSW
-         LA    R1,=A(PUT3270P)         GET ADDR OF DISPLAY PARM LIT
-         L     R15,=V(PUT3270)         GET OUTPUT RTN ADDR
-         BALR  R14,R15                 DISPLAY THE PANEL
-*
-         XC    MAP(256),MAP            CLEAR FIRST PART OF INPUT BUFR
-         XC    MAP+256(256),MAP+256
-         XC    MAP+512(256),MAP+512
-         XC    MAP+768(256),MAP+768
-         ST    R12,BUFFER              Set input buffer addr in plist
-         MVC   BLEN,=H'2000'           Set size of input buffer
-*
-         LA    R1,GET3270P             point to read rtn
-         L     R15,=V(GET3270)         Read input datqa
-         BALR  R14,R15
-*
-         MVI   ERR,C' '
-         MVC   ERR+1(L'ERR-1),ERR      CLEAR ERR MSG AREA
-         MVI   WCC,X'C3'               RESET ALARM
-         BR    R5
-         EJECT
-***********************************************************************
-*                        CONSTANTS                                    *
-***********************************************************************
-SA       DS    9D                      REGISTER SAVE AREA
-*
-PUT3270P DS    0XL16                   PUT3270 calling parm list
-         DC    F'0'                     Do not clear screen
-         DC    X'00000080'              Issue erase/write
-         DC    A(DISPLAY)               Data to display
-         DC    A(ENDISPL-DISPLAY)       Size to display
-*
-GET3270P DS    0XL8                    GET3270 calling parm list
-BUFFER   DS    A                        addr of input buffer to read to
-BLENA    DC    A(BLEN)                  addr of 2-byte read length
-*
-BLEN     DC    H'0'                    Size to read/size actually read
-*
-*
-CCWE     DC    X'19',AL3(SPACE),X'20FF0001'
-*
-CCWPRT   EQU   *
-CCWP1    CCW   X'09',*-*,X'A0',6       PRINT CCWS
-         CCW   X'00',SPACE,X'A0',3     SPACES
-CCWP2    CCW   X'00',*-*,X'A0',8       PRINT CCWS
-         CCW   X'00',SPACE,X'A0',2     SPACES
-CCWP3    CCW   X'00',*-*,X'A0',8       PRINT CCWS
-         CCW   X'00',SPACE,X'A0',2     SPACES
-CCWP4    CCW   X'00',*-*,X'A0',8       PRINT CCWS
-         CCW   X'00',SPACE,X'A0',2     SPACES
-CCWP5    CCW   X'00',*-*,X'A0',8       PRINT CCWS
-         CCW   X'00',SPACE,X'A0',3     SPACES
-CCWP6    CCW   X'00',*-*,X'A0',18      PRINT CCWS
-         CCW   X'00',SPACE,X'A0',3     SPACES
-CCWP7    CCW   X'00',*-*,X'60',6       PRINT CCWS
-         CCW   X'03',*-*,X'20',1
-*
-*
-*
-CPUINFO  EQU   *                       START OF STORE CPU ID EXT INFO.
-         DS    D                       RESERVED
-         DS    D                       RESERVED
-THISID   DS    D                       ID OF RUNNING MACHINE
-USERID   DS    D                       USERID OF CORE TO DISPLAY
-CMSPGPSW DS    D                       CMS NEW PROG PSW
-SAVE     DS    D                       SAVE AREA
-NAME     DC    CL8' '                  VMBLOK COMPARE NAME
-REC      DS    D                       SAVE AREA
-CONWAIT  DC    CL8'CONWAIT',XL8'00'    CONWAIT CONSTANT
-SUBSET   DC    CL8'SUBSET',8X'FF'      CMS SUBSET CONSTANT
-CMSCAW   DS    F                       CMS ORIGINAL CAW
-VMSIZE   DS    F                       HOLDS VMSIZE
-VMBADDR  DC    F'0'                    HOLDS VMBLOK ADDR
-INITIAL  DC    F'0'                    HOLDS DISPLAY ADDR
-WORK1    DC    F'0'                    WORK AREA
-WORK2    DC    F'0'                    WORK AREA
-BRANCH   DC    F'-1'                   BRANCH ADDRESS
-PTR      DC    A(UPDTABLE)             POINTER TO UPDATE TABLE
-REQ      DC    X'00000000'             REAL ADDR
-KNT      DC    F'1'                    NUM OF REAL ADDRS
-RES      DC    F'0'                    RESPONSE AREA
-CONADDR  DS    H                       CONSOLE ADDR
-PRTADDR  DC    X'000E'                 PRINT ADDRESS
-INITADDR DC    CL6'000000'             EBCDIC DISPLAY ADDRESS
-SPACE    DC    CL3' '                  SPACE
-FLAGS    DC    X'00'                   FLAG BYTE
-*
-*                                      1... ....    ERROR MSG BIT
-*                                      .1.. ....    UPDATE-IN-PROGRESS
-*                                      ..1. ....    BRANCH ADDR TO SET
-*                                      ...X XXXX    NOT USED
-*
-LASTCMD  DC    CL78' '                 HOLD LAST COMMAND INPUT
-BUF      DS    256C                    INCORE BUFFER
-*
-*                   1   2   3   4
-WORDS    DC    X'C26AC2F5C340C34B'   0
-         DC    X'C37AC4C5C450C45B'   1             SBA TABLE
-         DC    X'C54AC5D5C560C56B'   2
-         DC    X'C65AC6E5C6F0C67B'   3             FOR DISPLAY
-         DC    X'C76AC7F5C840C84B'   4
-         DC    X'C87AC9C5C950C95B'   5             WORDS
-         DC    X'4A4A4AD54A604A6B'   6
-         DC    X'4B5A4BE54BF04B7B'   7
-         DC    X'4C6A4CF54D404D4B'   8
-         DC    X'4D7A4EC54E504E5B'   9
-         DC    X'4F4A4FD54F604F6B'   A
-         DC    X'505A50E550F0507B'   B
-         DC    X'D16AD1F5D240D24B'   C
-         DC    X'D27AD3C5D350D35B'   D
-         DC    X'D44AD4D5D460D46B'   E
-         DC    X'D55AD5E5D5F0D57B'   F
-*
-*
-CHAR     DC    X'C3D6C4E6C5F6C7C6C8D6C9E64AF64CC6'   SBA TABLE FOR
-         DC    X'4DD64EE64FF6D1C6D2D6D3E6D4F6D6C6'   CHAR DISPLAY
-*
-CMDADDR  DC    X'5AD5'                               CMDLINE SBA
-*
-*
-*                 0 1 2 3 4 5 6 7 8 9 A B C D E F
-TRTAB    DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  0        TR TABLE
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  1
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  2
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  3          FOR
-         DC    X'404B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  4
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  5
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  6
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  7        CHARACTER
-         DC    X'4B8182838485868788894B4B4B4B4B4B'  8
-         DC    X'4B9192939495969798994B4B4B4B4B4B'  9
-         DC    X'4B4BA2A3A4A5A6A7A8A94B4B4B4B4B4B'  A
-         DC    X'4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B4B'  B        CONVERSION
-         DC    X'4BC1C2C3C4C5C6C7C8C94B4B4B4B4B4B'  C
-         DC    X'4BD1D2D3D4D5D6D7D8D94B4B4B4B4B4B'  D
-         DC    X'4B4BE2E3E4E5E6E7E8E94B4B4B4B4B4B'  E
-         DC    X'F0F1F2F3F4F5F6F7F8F94B4B4B4B4B4B'  F
-*
-TRTTAB   DC    256X'00'
-*
-DISPLTAB DC    S(A00WD1)
-         DC    S(A00WD2)                 BASE AND DISPLACEMENT
-         DC    S(A00WD3)
-         DC    S(A00WD4)
-         DC    S(A01WD1)
-         DC    S(A01WD2)
-         DC    S(A01WD3)
-         DC    S(A01WD4)                        TABLE
-         DC    S(A02WD1)
-         DC    S(A02WD2)
-         DC    S(A02WD3)
-         DC    S(A02WD4)
-         DC    S(A03WD1)
-         DC    S(A03WD2)                         FOR
-         DC    S(A03WD3)
-         DC    S(A03WD4)
-         DC    S(A04WD1)
-         DC    S(A04WD2)
-         DC    S(A04WD3)
-         DC    S(A04WD4)                       DISPLAY
-         DC    S(A05WD1)
-         DC    S(A05WD2)
-         DC    S(A05WD3)
-         DC    S(A05WD4)
-         DC    S(A06WD1)
-         DC    S(A06WD2)
-         DC    S(A06WD3)
-         DC    S(A06WD4)
-         DC    S(A07WD1)
-         DC    S(A07WD2)                        FIELDS
-         DC    S(A07WD3)
-         DC    S(A07WD4)
-         DC    S(A08WD1)
-         DC    S(A08WD2)
-         DC    S(A08WD3)
-         DC    S(A08WD4)
-         DC    S(A09WD1)
-         DC    S(A09WD2)
-         DC    S(A09WD3)
-         DC    S(A09WD4)
-         DC    S(A0AWD1)
-         DC    S(A0AWD2)
-         DC    S(A0AWD3)
-         DC    S(A0AWD4)
-         DC    S(A0BWD1)
-         DC    S(A0BWD2)
-         DC    S(A0BWD3)
-         DC    S(A0BWD4)
-         DC    S(A0CWD1)
-         DC    S(A0CWD2)
-         DC    S(A0CWD3)
-         DC    S(A0CWD4)
-         DC    S(A0DWD1)
-         DC    S(A0DWD2)
-         DC    S(A0DWD3)
-         DC    S(A0DWD4)
-         DC    S(A0EWD1)
-         DC    S(A0EWD2)
-         DC    S(A0EWD3)
-         DC    S(A0EWD4)
-         DC    S(A0FWD1)
-         DC    S(A0FWD2)
-         DC    S(A0FWD3)
-         DC    S(A0FWD4)
-*
-CHARTAB  DC    S(A00TR,A01TR,A02TR,A03TR,A04TR,A05TR,A06TR,A07TR)
-         DC    S(A08TR,A09TR,A0ATR,A0BTR,A0CTR,A0DTR,A0ETR,A0FTR)
-*
-UPDTABLE DC    80H'0'                  UPDATE POINTERS IN BUFFER
-         DC    4H'0'                   ALWAYS ZERO
-*
-DISPLAY  EQU   *
-WCC      DC    X'C3'
-         DC    X'1140401DF8'
-         DC    C'USER  '
-USERIDO  DC    CL8' '
-         DC    CL3' '
-         DC    C'PSW  '
-PSW1     DC    CL8' '
-         DC    CL1' '
-PSW2     DC    CL8' '
-         DC    CL3' '
-VMSIZEO  DC    CL8'       K'
-         DC    X'1140F51DF8'
-         DC    C'ADDRESSES  '
-ADDR1    DC    C'000000'
-         DC    C' - '
-ADDR2    DC    C'000000'
-*
-A00ADR   DC    X'11C2601DF0',CL6'000000'
-A00WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A00WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A00WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A00WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A00TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A00DSP   DC    CL6'000000'
-*
-A01ADR   DC    X'11C3F01DF0',CL6'000000'
-A01WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A01WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A01WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A01WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A01TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A01DSP   DC    CL6'000010'
-*
-A02ADR   DC    X'11C5401DF0',CL6'000000'
-A02WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A02WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A02WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A02WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A02TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A02DSP   DC    CL6'000020'
-*
-A03ADR   DC    X'11C6501DF0',CL6'000000'
-A03WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A03WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A03WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A03WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A03TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A03DSP   DC    CL6'000030'
-*
-A04ADR   DC    X'11C7601DF0',CL6'000000'
-A04WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A04WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A04WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A04WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A04TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A04DSP   DC    CL6'000040'
-*
-A05ADR   DC    X'11C8F01DF0',CL6'000000'
-A05WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A05WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A05WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A05WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A05TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A05DSP   DC    CL6'000050'
-*
-A06ADR   DC    X'114A401DF0',CL6'000000'
-A06WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A06WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A06WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A06WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A06TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A06DSP   DC    CL6'000060'
-*
-A07ADR   DC    X'114B501DF0',CL6'000000'
-A07WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A07WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A07WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A07WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A07TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A07DSP   DC    CL6'000070'
-*
-A08ADR   DC    X'114C601DF0',CL6'000000'
-A08WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A08WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A08WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A08WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A08TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A08DSP   DC    CL6'000080'
-*
-A09ADR   DC    X'114DF01DF0',CL6'000000'
-A09WD1   DC    XL5'1DF0401D40',CL8'00000000'
-A09WD2   DC    XL5'1DF0401D40',CL8'00000000'
-A09WD3   DC    XL5'1DF0401D40',CL8'00000000'
-A09WD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A09TR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A09DSP   DC    CL6'000090'
-*
-A0AADR   DC    X'114F401DF0',CL6'000000'
-A0AWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0AWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0AWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0AWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0ATR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0ADSP   DC    CL6'0000A0'
-*
-A0BADR   DC    X'1150501DF0',CL6'000000'
-A0BWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0BWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0BWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0BWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0BTR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0BDSP   DC    CL6'0000B0'
-*
-A0CADR   DC    X'11D1601DF0',CL6'000000'
-A0CWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0CWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0CWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0CWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0CTR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0CDSP   DC    CL6'0000C0'
-*
-A0DADR   DC    X'11D2F01DF0',CL6'000000'
-A0DWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0DWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0DWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0DWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0DTR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0DDSP   DC    CL6'0000D0'
-*
-A0EADR   DC    X'11D4401DF0',CL6'000000'
-A0EWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0EWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0EWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0EWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0ETR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0EDSP   DC    CL6'0000E0'
-*
-A0FADR   DC    X'11D5501DF0',CL6'000000'
-A0FWD1   DC    XL5'1DF0401D40',CL8'00000000'
-A0FWD2   DC    XL5'1DF0401D40',CL8'00000000'
-A0FWD3   DC    XL5'1DF0401D40',CL8'00000000'
-A0FWD4   DC    XL5'1DF0401D40',CL8'00000000'
-         DC    X'1DF0401D40',C'*'
-A0FTR    DC    CL16' '
-         DC    C'*',X'1DF040'
-A0FDSP   DC    CL6'0000F0'
-*
-         DC    X'11D8C31DF8'
-ERR      DC    CL50' '
-         DC    X'1DF040115A501DF8'
-         DC    C'==>',X'1DC813'
-CMDLINE  DC    CL75' '
-         DC    X'1DF040115CF01DF8'
-         DC    C'PFKEYS  1=TOP 4=STORE 5=GOTO 6=REDISPLAY '
-         DC    C'7=BWD 8=FWD 9=CCWS 10='
-BRADDR   DC    C'BRANCH  12=QUIT'
-         DC    X'1DF040'
-ENDISPL  EQU   *
-         LTORG
-         EJECT
-MAP      DSECT
-AID      DS    C
-CURSOR   DS    XL2
-DATA     DS    CL1997
-*
-         END
-