*DECK LABLDRM 
          IDENT     LABL$RM 
          COMMENT   PROCESS LABELS. 
          TITLE     LABL$RM - PROCESS LABELS. 
          SST 
          B1=1
 LABL$RM  SPACE     4,8 
 LABL$RM  CAP.RM
*         GETL=0, PUTL=1, CLSL=2, WTMK=-1.
          GE        B3,B1,PC
          LT        B3,B0,WTMK$RM 
 LABL$RM  TITLE     GETL$RM 
*#
*1CD  GETL$RM 
*0D   PURPOSE 
*0        ALLOW A USER TO RETRIEVE LABELS ON A SEQUENTIAL INPUT-TYPE
*         FILE
*0D   CALL
*0                  SA0       FIT 
*                   SB6       RETURN-ADDRESS
*                   EQ        LABL$RM 
*0D   PARAMETERS
*0        FIT       FIT ADDRESS 
*         LA        ADDRESS OF THE LABEL AREA 
*         LBL       LENGTH OF THE LABEL AREA
*0D   ACTION
*         IF NO ERRORS ARE DETECTED, EACH CALL TO GETL.SQ WILL DO ONE 
*         OF THE FOLLOWING DEPENDING ON THE LABEL TYPE. 
*0        (1) IF THE LABEL TYPE IS STANDARD, LBL CHARACTERS WILL BE 
*             MOVED FROM THE NEXT LABEL IN THE LABEL BUFFER TO THE LABEL
*             AREA AT LA  IF LBL=80 OR LBL IS LESS THAN 80.  IF LBL IS
*             GREATER THAN 80, ONLY 80 CHARACTERS WILL BE DELIVERED.
*0        (2) IF THE LABEL TYPE IS NON-STANDARD, ONE PHYSICAL RECORD
*             WILL BE READ DIRECTLY INTO LA USING CIO READSKP.
*0        AN  ERROR WILL BE RETURNED IF ANY OF THE FOLLOWING CONDITIONS 
*         ARE FOUND TO EXIST. 
*             * FILE ORGANIZATION IS NOT SEQUENTIAL.
*             * FILE IS NOT LABELED (LT=UL).
*             * NO USER LABEL AREA SPECIFIED (LA=0).
*             * NO LABEL LENGTH SPECIFIED (LBL=0).
*             * GETL ATTEMPTED BEYOND END OF LABELS.
*             * GETL ATTEMPTED ON OUTPUT-TYPE FILE. 
*0        THE FOLLOWING ERRORS MAY OCCUR IF THE LABEL TYPE IS 
*         STANDARD (LT=ST). 
*             * ULP ALLOWS NO USER LABEL PROCESSING (ULP=NO). 
*             * DEVICE IS A MASS STORAGE DEVICE.
*             * FILE POSITION IS NOT BOV/BOF/EOV/EOF. 
*             * LABEL BUFFER IS TOO SMALL.
*             * LABEL IS NOT RECOGNIZED.
*             * LABEL LENGTH IS LESS THAN 80. 
*             * LABEL LENGTH IS GREATER THAN 80--TRUNCATED TO 80. 
*0D   REGISTERS USED
*0        ALL 
*0D   OTHER CODE REQUIRED 
*0        MACROS-   SYSY, RCLF, FIND, SETFLD
*         PROGRAMS- ERR$RM
*#
 GETL$RM  BSS       0 
          SX6       327B           GETL ATTEMPTED BEYOND E-O-LABELS 
          EQ.RM     FP,#EOL#,ER05,B3
          F.RM      PD,B2          PD MUST BE INPUT OR IO AND LCR=E 
          LE        B2,B1,GL.SETB 
          SB2       B2-#IO# 
          NE        B2,B0,ER03
          EQ.RM     LCR,#NLCR#,ER03,B3
 GL.SETB  BSS       0 
          SB3       #GL#           OP CODE
          SB4       20B            CIO CODE TO READSKP LABELS 
          SB5       GL.S           ADR TO BRANCH TO IF LT=S 
          EQ        GLPL.COM       CHECK COMMON PARAMS+PROCESS NS LABELS
          SPACE     1 
 GL.S     BSS       0 
 GLS.ERET BSS 
 GLS.LOUT BSS       0 
          F.RM      LOUT,1
          MX7       18
          SB3       X1             SET LAB-CW-PTR FOR THIS GETL 
          SA1       B3+B1 
          BX2       X1
 GLS.LABL BSS       0 
          SA1       B3             PICK UP LABEL CONTROL WORD 
          BX2       X7*X2          MASK FIRST THREE CHARACTERS OF LABEL 
          MX3       48             12 BIT MASK
          BX1       -X3*X1         CHECK CONTROL WORD 
          SX1       X1-80          LABEL LENGTH MINUS 80
          LX2       18             THREE CHARACTERS TO LOW-ORDER POSITN 
          NZ        X1,GLS.XIT     BRANCH IF NOT A CONTROL WORD 
          SX3       3RHDR 
          SX1       3REOF 
          IX3       X3-X2 
          SB3       B3+9           BUMP INTERNAL LABEL-CONTROL-WORD-PTR 
          ZR        X3,GLS.ULPF    BUMP INTERNAL LABEL-CONTROL-WORD-PTR 
          IX1       X1-X2 
          SX3       3REOV 
          ZR        X1,GLS.ULPF    BRANCH IF AN EOF LABEL 
          IX3       X3-X2 
          SX1       3RVOL 
          ZR        X3,GLS.ULPV    BRANCH IF A VOL1 LABEL 
          SB5       12
          IX1       X1-X2 
          AX5       X2,B5          PUT FIRST CHARACTER OF LABEL IN X5 
          ZR        X1,GLS.ULPV    BRANCH IF AN EOV LABEL 
          SX3       1RU 
          IX1       X3-X5 
          NZ        X1,ER07        BRANCH IF NOT USER TYPE LABEL
          SX3       3RUVL 
          NG        X4,GLS.MOV     BRANCH IF ULP IS SET FOR USER LABELS 
          IX3       X3-X2 
          SA1       B3+B1 
          BX2       X1
          ZR        X3,GLS.LABL    BRANCH IF LABEL WAS UVL--TRY AGAIN 
          EQ        GLS.XIT        GO SET FP=EOL AND EXIT 
 GLS.ULPV BSS       0 
          LX4       2              POSITION V-BIT OF ULP
          NG        X4,GLS.MOV     BRANCH IF ULP IS SET FOR VOLUME LABELS 
          SA1       B3+B1 
          BX2       X1
          LX4       58             RESET ULP IN X4
          EQ        GLS.LABL       GO TRY WITH ANOTHER LABEL
 GLS.ULPF BSS       0 
          LX4       1              POSITION F-BIT OF ULP
          NG        X4,GLS.MOV     BRANCH IF ULP IS SET FOR FILE LABELS 
          SA1       B3+B1 
          BX2       X1
          LX4       59             RESET ULP IN X4
          EQ        GLS.LABL       GO TRY WITH ANOTHER LABEL
 GLS.XIT  BSS       0 
          SET.RM    FP,#EOL#       SET END OF LABELS FLAG 
          SET.RM    LOUT,B3,7,1 
          JP        B6             RETURN TO USER 
 GLS.MOV  BSS       0 
          SX3       B3-8           SET SOURCE ADDRESS 
          SA1       B3+B1 
          F.RM      LA,1           PICK UP ADDRESS OF USER LABEL AREA 
          SB5       B0             SINK BCP 
          SX5       X1             SINK ADDRESS 
          SET.RM    LOUT,B3,7,1 
          SB3       B0             SOURCE BCP 
          EQ        =YMOVE$RM      GO MOVE THE LABEL TO LA
          EJECT 
 GLPL.COM BSS       0 
          SET.RM    COP,B3
          F.RM      LOP5,B2 
          SET.RM    LOP5,B3 
          SB2       B3-B2          SAVE FOR NS LABEL CODE 
 GLPL.CM2 BSS       0 
          F.RM      FO,2,X2,-#SQ#  FO MUST BE SQ
          SX6       315B           FILE IS NOT LABELED
          NZ        X2,ER01 
          F.RM      LT,3,X3,-#UL#  LT MUST BE S OR NS 
          SX6       326B           FILE IS UNLABELED--GETL/PUTL 
          ZR        X3,ER02 
          SX3       X3+#UL#-#ANY# 
          ZR        X3,ER02 
          SX3       X3+#ANY#-#NS# 
          F.RM      LA,4           LA MUST BE NON-ZERO
          ZR        X4,ER04 
          F.RM      LBL,1          LBL MUST BE NON-ZERO 
          ZR        X1,ER04 
          ZR        X3,NS.CHWR     LT=NS--GO PROCESS NON-ST LABELS
          SPACE     1 
          F.RM      ULP,4          DO COMMON PROCESSING FOR LT=S
          ON.RM     FTI,GLPL.DVT   BRANCH IF NOT FIRST GETL AT THIS FP
          F.RM      FWL,3          FWA OF LABEL BUFFER
          SET.RM    FTI,1,7,1      SET FLAG INDICATING FIRST GETL 
          SET.RM    LOUT,X3,7,1    INITIALIZE LABEL POINTER 
 GLPL.DVT BSS       0 
          ZR        X4,ER04        BRANCH IF ULP=NO 
          F.RM      LBL,3 
          SB4       X3
          F.RM      DVT 
          LX1       48
          SX6       325B           DEVICE IS A MASS STORAGE DEVICE
          PL        X1,ER06        BRANCH IF MS FILE
          SX7       X3-80 
          LX4       57             PIT ULP IN HIGH-ORDER BITS 
          NZ        X7,ER10        LBL NOT EQ 80--ANALYZE 
          JP        B5             GO PROCESS STANDARD LABELS 
          SPACE     1 
 NS.CHWR  BSS       0 
          SB5       NS.RET         RETURN ADDRESS 
          BX7       X1
          EQ        =YCHWR$RM      CONVERT LBL TO WORD COUNT + UBC
 NS.RET   BSS       0 
          BX4       X7             SAVE RESULTS OF CONVERSION 
          EQ        B2,B0,NS.PTRS  LOP=GETL/PUTL--IN/OUT ALREADY SAVED
          F.RM      FIRST,1 
          LX1       18
          F.RM      IN,2
          IX2       X1+X2 
          LX2       18
          F.RM      OUT,3 
          IX6       X2+X3 
          SET.RM    FIO,X6
 NS.PTRS  BSS       0 
          F.RM      LA,2
          SET.RM    FIRST,X2
          SET.RM    OUT,X2
          SB3       B4-20B         (B4)=20B FOR READSKP TO READ LABELS
          IX5       X2+X4          IN FOR WRITING LABELS
          SX6       X5+B1          LIMIT
          EQ        B3,B0,NS.IN 
          BX2       X5             IN FOR WRITING LABELS
 NS.IN    BSS       0 
          SET.RM    IN,X2 
          SET.RM    LIMIT,X6
          SYSY      B4,R
          JP        B6
 ER03     BSS       0 
          SX6       324B           PROCESSING DIRECTION--REQUEST
          EQ        =YERR$RM
 ER04     BSS       0 
          SX6       330B           INVALID PARAMETER VALUE IN FIT-- 
          EQ        =YERR$RM
 ER07     BSS       0 
          SX6       312B           INVALID LABEL GROUP
          EQ        =YERR$RM
 ER08     BSS       0 
          SX6       320B
 ER01     BSS 
 ER02     BSS 
 ER05     BSS 
 ER06     BSS 
 ER09     BSS 
          EQ        =YERR$RM
 ER10     BSS       0 
          SB4       X3
          PL        X7,GRT80       BR IF LBL GT 80
          MESSAGE   LINKLES,,R
          EQ        GLS.ERET
 GRT80    BSS       0 
          MESSAGE   LINKGRT,,R
          EQ        GLS.ERET
 LINKGRT  DIS       4,*GETL DONE WITH LT=ST AND LBL GT 80 
          BSSZ      1 
 LINKLES  DIS       4,*GETL DONE WITH LT=ST AND LBL LT 80 
          BSSZ      1 
 LABL$RM  TITLE     PUTL$RM 
*#
*1CD  PUTL$RM 
*0D   PURPOSE 
*0        ALLOW A USER TO SUBMIT LABELS TO BE WRITTEN ON A SEQUENTIAL 
*         OUTPUT-TYPE FILE
*0D   CALL
*0                  SA0       FIT 
*                   SB6       RETURN-ADDRESS
*                   EQ        LABL$RM+1 
*0D   PARAMETERS
*0        A0        FIT ADDRESS 
*         LA        FWA OF THE LABEL AREA 
*         LBL       LENGTH OF THE LABEL AREA
*0D   ACTION
*0        IF NO ERRORS ARE DETECTED, EACH CALL TO PUTL.SQ WILL TAKE 
*         LBL CHARACTERS AT LA AND DO ONE OF THE FOLLOWING--
*0        (1) IF THE LABEL TYPE IS STANDARD, THE LABEL WILL BE MOVED
*             INTO THE SCOPE 3.4 LABEL BUFFER SPECIFIED BY THE FWL AND
*             LLB FIELDS OF THE FET (WORD 10) WITH A CONTROL WORD 
*             PRECEDING IT. 
*0        (2) IF THE LABEL TYPE IS NON-STANDARD, LBL CHARACTERS WILL BE 
*             WRITTEN DIRECTLY FROM LA USING CIO WRITER.
*0        AN ERROR WILL BE RETURNED IF ANY OF THE FOLLOWING 
*         CONDITIONS ARE FOUND TO EXIST.
*             * FILE IS NOT A SEQUENTIAL FILE.
*             * FILE IS NOT LABELED (LT=UL).
*             * NO USER LABEL AREA SPECIFIED (LA=0).
*             * NO LABEL LENGTH SPECIFIED (LBL=0).
*             * PROCESSING DIRECTION IS INPUT AND LABEL TYPE IS 
*               NON-STANDARD. 
*             * PROCESSING DIRECTION ID I/O AND LCR=E.
*0        THE FOLLOWING ERROR CONDITIONS MAY OCCUR IF THE LABEL TYPE
*         IS STANDARD (LT=ST).
*             * ULP ALLOWS NO USER LABEL PROCESSING (ULP=NO). 
*             * DEVICE IS A MASS STORAGE DEVICE.
*             * LABEL LENGTH NOT EQUAL TO 80. 
*             * FILE POSITION IS NOT BOV/BOF/EOV/EOF. 
*             * EOV OR EOF ILLEGAL AFTER UTL OR HDR ILLEGAL AFTER UHL.
*             * USER LABEL PROCESSING (ULP) DOES NOT ALLOW LABEL
*               BEING PUT.
*             * LABEL ILLEGAL AT THIS FILE POSITION.
*             * UVL ILLEGAL AFTER HDR OR UHL. 
*             * VOL1 ILLEGAL AFTER OTHER LABELS.
*             * LABEL BUFFER TOO SMALL. 
*0D   REGISTERS USED
*0        ALL 
*0D   OTHER CODE REQUIRED 
*0        MACROS -  SYSY, RCLF, FIND, SETFLD
*         PROGRAMS- ERR$RM
*#
 PC       GT        B3,B1,CLSL$RM 
 PUTL$RM  BSS       0 
          F.RM      LT,X1,-#NS#    TO PUTL LT=NS, 
          NZ        X1,PL.SETB       PD MUST BE O/P OR IO AND LCR=N 
          F.RM      PD,B2,-#OUTPUT# 
          EQ        B2,B0,PL.SETB 
          SB2       B2+#OUTPUT#-#IO#
          NE        B2,B0,ER03
          F.RM      LCR,X1,-#ELCR#
          ZR        X1,ER03 
 PL.SETB  BSS       0 
          SB3       #PL#           OP CODE
          SB4       24B            CIO CODE TO WRITER LABELS
          SB5       PL.S           ADR TO BRANCH TO IF LT=S 
          EQ        GLPL.COM       CHECK COMMON PARAMS+PROCESS NS LABELS
  
 PL.S     BSS       0 
          F.RM      LA,1           PICK UP LABEL AREA ADDRESS 
          SA3       X1             PICK UP FIRST WORD AT LA 
          F.RM      FP,1           PICK UP FILE POSITION
          MX7       24
          BX6       X7*X3          MASK FIRST 4 CHARACTERS OF LABEL 
          MX7       18
          SX3       X1-2
          BX2       X7*X6          MASK FIRST THREE CHARACTERS
          IX6       X6-X2          PICK UP FOURTH CHARACTER 
          LX2       18             FIRST THREE CHARACTERS TO LOW-ORDER
          SX5       X1-40B
          LX6       24             FOURTH CHARACTER IN BOTTOM OF X6 
          ZR        X3,PLS.BOV     BRANCH IF POSITION IS BOV OR BOF 
          SX3       X1-1
          SX1       X1-4
          ZR        X5,PLS.EOF     BRANCH IF FILE POSITION IS EOF 
          ZR        X3,PLS.EOF     IF FP IS EOL OR BOI
* 
*     EXECUTION COMES TO HERE IF FILE POSITION IS EOV 
* 
          SX3       3REOV 
          IX5       X2-X3 
          NZ        X5,PLS.UTL     BRANCH IF NOT EOV LABEL
* 
*     EXECUTION COMES HERE IF AN EOV LABEL IS BEING PUTLED
* 
          LX4       2              POSITION V-BIT OF ULP
* 
*     EXECUTION COMES TO THIS POINT IN 3 CASES- 
*         WHEN TRYING A PUTL ON (1) AN EOF, (2) AN EOV
*         OR (3) A HDR TYPE LABEL. THIS CODE CHECKS THAT
*         THE REQUEST IS NOT BEING MADE AFTER EXECUTION OF A PUTL 
*         WHICH WROTE A USER LABEL WHICH FOLLOWS THE EOF,EOV, OR HDR
*         LABEL. IT ALSO CHECKS THAT THE PROPER ULP IS SPECIFIED
*         AND THAT THE LABELS ARE IN THE PROPER ORDER 
* 
 PLS.HVF  BSS       0 
          F.RM      ULF,1          PICK UP USER LABEL FLAG
          NG        X1,ER08        BRANCH IF USER LABEL ALREADY PUT 
          PL        X4,ER04        ULP NOT CORRECT
          EQ        PLS.MOV 
* 
*     EXECUTION COMES TO THIS POINT IF FILE POSITION IS EOF 
*         OR EOV BUT THE LABEL IS NOT EOF OR EOV RESPECTIVELY 
* 
 PLS.UTL  BSS       0 
          SX3       3RUTL 
          IX5       X2-X3 
          NZ        X5,ER07        FP-LT CONFLICT 
          PL        X4,ER08        UTL BEING PUT-NO U IN ULP
          SET.RM    ULF,1,7,1      SET ULF--USER T-LABEL ALREADY PUT
          EQ        PLS.MOV        GO MOVE UTL LABEL
* 
*     EXECUTION COMES TO THIS POINT IF FILE POSITION
*         IS END-OF-FILE
* 
 PLS.EOF  BSS       0 
          SX3       3REOF 
          IX5       X2-X3 
          NZ        X5,PLS.UTL     BRANCH IF NOT AN EOF LABEL 
* 
*     EXECUTION COMES HERE IF PUTLING AN EOF LABEL
* 
          LX4       1              POSITION F-BIT OF ULP
          EQ        PLS.HVF 
* 
*     EXECUTION COMES TO THIS POINT IF FILE POSITION
*         IS BEGINNING OF FILE OR BEGINNING OF VOLUME 
* 
 PLS.BOV  BSS       0 
          SX3       3RHDR 
          IX5       X2-X3 
          SX3       3RUHL 
          NZ        X5,PLS.NOHD    BRANCH IF NOT A HDR-TYPE LABEL 
          LX4       1              POSITION F-BIT OF ULP
          EQ        PLS.HVF        GO DO HDR/EOV/EOF COMMON WORK
* 
*     EXECUTION COMES TO THIS POINT IF FILE POSITION IS 
*         BEGINNING OF VOLUME OR BEGINNING OF FILE BUT THE
*         LABEL IS NOT A HDR-TYPE LABEL 
* 
 PLS.NOHD BSS       0 
          IX5       X2-X3 
          SX3       3RUVL 
          NZ        X5,PLS.NOUH    BRANCH IF NOT A UHL-TYPE LABEL 
          PL        X4,ER08        UHL BEING PUT-NO U IN ULP
          SET.RM    ULF,1,7,1      SET USER LABEL FLAG
          EQ        PLS.MOV        GO MOVE UHL-TYPE LABEL 
* 
*     EXECUTION COMES TO THIS POINT IF FILE POSITION IS 
*         BOV OR BOF AND THE LABEL BEING PUT IS NOT A HDR OR UHL
* 
 PLS.NOUH BSS       0 
          IX5       X2-X3 
          SX3       3RVOL 
          NZ        X5,PLS.NOUV    BRANCH IF NOT A UVL-TYPE LABEL 
          F.RM      UL2,1          PICK UP COMBINED ULF-ULH FLAGS 
          PL        X4,ER04        UVL BEING PUT-NO U IN ULP
          NZ        X1,ER08        PROBLEM IN ORDER OF LABELS 
          SET.RM    ULV,1,7,1      SET ULV FLAG 
          EQ        PLS.MOV        GO MOVE UVL LABEL INTO BUFFER
* 
*     IF EXECUTION COMES TO THIS POINT THE PUTL IS OF A VOL1
*         LABEL UNLESS THERE IS A FILE POSITION OR ULP PROBLEM
* 
 PLS.NOUV BSS       0 
          IX5       X2-X3 
          NZ        X5,ER07        FP-LT CONFLICT 
          SB3       B6             RETURN TO USER 
          LX4       2 
*         DONT MOVE VOL1. THIS IS TO GET AROUND AN UNREASONABLE 
*         SCOPE 3.4 RESTRICTION.
* 
*            THE SYSTEM DOESNT ALLOW USER SPECIFICATION OF VOL1 FIELDS, 
*            BUT IT WILL ACCEPT THE VERY FIRST ONE AND FORCE SYSTEM 
*            DEFAULT VALUES ON ALL OTHER ONES.
* 
          NG        X4,PLS.VOL1 
          SB3       ER04
 PLS.VOL1 BSS       0 
          JP        B3
          EQ        ER04           ULP NOT CORRECT
* 
*     THE FOLLOWING CODE PUTS STANDARD LABELS INTO THE BUFFER 
*         SPECIFIED BY WORD 10 OF THE FET--IF THERE IS ROOM.
*         IT ALSO FORMATS AND STORES EACH LABEL CONTROL WORD
*         REQUIRED BY SCOPE 
* 
 PLS.MOV  BSS       0 
          F.RM      FWL,3          FWA OF LABEL BUFFER
          F.RM      LOUT,1
          SB3       X3
          F.RM      LLB,3 
          SB5       X1+9
          SB3       X3+B3 
          F.RM      LA,3
          SX6       316B           TOO MANY LABELS
          GT        B5,B3,ER09     LABEL BUFF TOO SMALL 
          SX6       80             LABEL CONTROL WORD IN X6 
          SA6       X1             STORE LABEL CONTROL WORD 
          SX5       X1+B1          SINK ADDRESS 
          SX6       B0
          SA6       X1+9           BUMP POINTER--ZERO WORD IS STORED
          SB3       B0             SOURCE BCP 
          SB5       B0             SINK BCP 
          SB4       80             MOVE LENGTH
          SET.RM    LOUT,A6,7,1    STORE NEW LABEL POINTER
          EQ        =YMOVE$RM 
 LABL$RM  TITLE     CLSL$RM 
 CLSL$RM  BSS       0 
          NE.RM     LT,#S#,CL.RESET 
          SET.RM    JNK,0          CLEAR LT=S FIELDS
          EQ        CL.ULR         TAKE EXIT
 CL.RESET BSS       0 
          F.RM      LOP,B2
          SB3       #GL#
          EQ        B2,B3,CL.RES
          SB3       #PL#
          NE        B2,B3,CL.ULR   IF NEITHER GETL OR PUTL CALLED 
 CL.RES   BSS       0 
          F.RM      FIO,2          RESTORE CB POINTERS MODIFIED BY
          SX6       X2               GETL/PUTL FOR LT=NS
          AX2       18
          SET.RM    OUT,X6
          SX6       X2
          AX2       18
          SET.RM    IN,X6 
          SET.RM    FIRST,X2
          F.RM      BFS,1 
          IX6       X1+X2 
          SET.RM    LIMIT,X6
 CL.ULR   BSS       0 
          SA1       =YRM$TMP
          SA5       CAPNAME 
          ZR        X1,NO.UNL 
          BX1       X5-X1          NO UNLOAD IF LABL$RM IN RM$TMP 
          ZR        X1,NO.UNL2
          RJ        =YRM$UTC       X5 IS NOT AFFECTED BY THIS CALL
 NO.UNL   BSS       0 
          BX6       X5
          SA6       =YRM$TMP       SET UP FOR TRANSIENT UNLOAD
 NO.UNL2  BSS       0 
          ON.RM     ULR,CL.ULX
          JP        B6             ULR=0, EXIT TO USER THROUGH B6 
 CL.ULX   BSS       0 
          SET.RM    ULR,0          ULR WAS ON, EXIT TO CRM THROUGH ULX
          F.RM      ULX,B6
          JP        B6             RETURN TO OPENM/CLOSEM 
* 
 CAPNAME  VFD       42/0LLABL$RM,18/GRPNAME 
 GRPNAME  VFD       42/0LBAM,18/0 
* 
 LABL$RM  TITLE     WTMK$RM 
 WTMK$RM  BSS       0 
          SET.RM   COP,#WK# 
          SYSY      34B,R          WRITEF 
          SET.RM    LOP,#WK#
          JP        B6                  EXIT
          BASE   *
          END 
