cdc:nos2.source:opl871:vdtsubs
Table of Contents
VDTSUBS
Table Of Contents
- [00004] SCRCCK - CAPSULE CHECK.
- [00043] SCRCCK - CAPSULE CHECK.
- [00118] SCRCIS - CHECK INTERACTIVE STATUS.
- [00141] SCRCIS - CHECK INTERACTIVE STATUS.
- [00171] SCRCZF - CREATE ZZZZTRM FILE.
- [00206] SCRCZF - CREATE ZZZZTRM FILE.
- [00257] SCRFST - FILE STATUS CHECK.
- [00283] SCRFST - CHECK FILE STATUS.
- [00333] SCRGIS - GET INITIALIZATION SEQUENCE.
- [00366] SCRGIS - GET INITIALIZATION SEQUENCE.
- [00533] SCRISR - ISSUE SYSTEM REQUEST.
- [00555] SCRISR - ISSUE SYSTEM REQUEST.
- [00580] SCRLCP - LOAD TERMINAL CAPSULE.
- [00602] SCRLCP - LOAD TERMINAL CAPSULE.
- [00669] SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- [00699] SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- [00735] PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
- [00809] SCRRET - RETURN LOCAL FILE.
- [00843] SCRRET - RETURN LOCAL FILE.
- [00872] SCRRTA - RETRIEVE TERMCAP ADDRESS.
- [00893] SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
- [00934] SCRRZF - READ ZZZZTRM FILE.
- [00959] SCRRZF - READ ZZZZTRM FILE.
- [01009] SCRUGD - UNLOAD GROUP DIRECTORY
- [01026] SCRUGD - UNLOAD GROUP DIRECTORY.
- [01051] SFCNP$ - COPY NEXT PARAMETER.
- [01062] SFCNP$ - COPY NEXT PARAMETER.
- [01088] SFCSP$ - COPY STRING PARAMETER.
- [01100] SFCSP$ - COPY STRING PARAMETER.
- [01159] VDTABT$ - ABORT JOB.
- [01190] VDTCRM$ - CRM OUTPUT ROUTINES.
- [01323] VDTFUN - GET FUNCTION NAME.
- [01349] VDTFUN - GET FUNCTION NAME.
- [01378] VDTGEN - GET GENERIC FUNCTION NAME.
- [01404] VDTGEN - GET GENERIC FUNCTION NAME.
- [01434] VDTGSL - GET SCREEN/LINE MODE.
- [01459] VDTGSL - GET SCREEN/LINE MODE.
- [01500] VDTGTA - GET TEXT PARAMETER.
- [01520] VDTGTA - GET RESIDENT TERMCAP ADDRESS.
- [01561] VDTGTO - GET TERMINAL ORDINAL.
- [01585] VDTGTO - GET TERMINAL ORDINAL.
- [01611] VDGTO - GET TERMINAL ORDINAL.
- [01694] VDTGTN - GET TERMINAL MNEMONIC.
- [01718] VDTGTN - GET TERMINAL NAME.
- [01744] VDGTN - GET TERMINAL MNEMONIC.
- [01831] VDTLOF$ - SET LIST OF FILES.
- [01852] VDTLOF$ - SET LIST OF FILES.
- [01871] VDTMSG$ - SEND MESSAGE.
- [01935] VDTPRT$ - DISABLE/ENABLE PROMPT.
- [01953] VDTPRT$ - DISABLE/ENABLE PROMPT.
- [01978] VDTRD$ - READ FILE TO *CIO* BUFFER.
- [02026] VDTREC$ - READ CODED LINE IN *C* FORMAT.
- [02086] VDTREO$ - READ ONE WORD.
- [02142] VDTSSL - SET SCREEN/LINE MODE.
- [02167] VDTSSL - SET SCREEN/LINE MODE.
- [02199] VDTRWD - REWIND LOCAL FILE.
- [02221] VDTRWD - REWIND SPECIFIED LOCAL FILE.
- [02251] VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
- [02296] VDTWRO$ - WRITE ONE WORD.
- [02341] VDTWRR$ - WRITE END OF RECORD.
Source Code
- VDTSUBS.txt
- IDENT SCRCCK
- ENTRY SCRCCK
- SYSCOM B1
- TITLE SCRCCK - CAPSULE CHECK.
- *COMMENT SCRCCK - CAPSULE CHECK.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CCK SPACE 4,10
- *** SCRCCK - CAPSULE CHECK.
- *
- * M. L. SWANSON. 84/05/09.
- CCK SPACE 4,10
- *** *SCRCCK* VERIFIES THAT THE CAPSULE LOADED IS A VALID
- * *TDU* PRODUCED CAPSULE, CHECKING THE TERMINAL MNEMONIC
- * AND THE VERSION NUMBER AGAINST THE SPECIFIED MNEMONIC
- * AND THE CURRENT *TDU* VERSION NUMBER. IT ALSO CONDITIONALLY
- * SETS A FLAG IN THE FIRST WORD OF THE DYNAMICALLY LOADED
- * CAPSULE TO SIGNIFY THE LOCATION OF THE *TERMLIB* FILE USED
- * BY THE SCREEN/LINE DIRECTIVE. IF THE CAPSULE IS VALIDATED,
- * *SCRCCK* RETURNS THE LENGTH OF THE TERMINAL CAPSULE.
- CCK SPACE 4,10
- ** COMMON DECKS.
- LIST X
- *CALL COMSTIR
- LIST -X
- CCK SPACE 4,15
- *** SCRCCK - CAPSULE CHECK.
- *
- * CALLING SEQUENCE.
- * *SYMPL* CALL -
- *
- * SCRCCK(ADDRESS,TERMINAL,VALIDATION,LENGTH,TSTATUS);
- *
- * (ADDRESS) = LOADED CAPSULE ADDRESS.
- * (TERMINAL) = TERMINAL MNEMONIC.
- * (VALIDATION) = TERMCAP VALIDATION FLAG.
- * (LENGTH) = TERMCAP LENGTH IN WORDS.
- * (TSTATUS) = STATUS OF *TERMLIB* USED BY *SCREX*
- * ( 0 - SOURCE OF TERMLIB IS UN=LIBRARY,
- * 1 - SOURCE IS LOCAL FILE OR PFN CATALOG )
- CCK SPACE 4,10
- ** SCRCCK - CAPSULE CHECK.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF LOADED CAPSULE ADDRESS.
- *
- * USES X - 2, 3, 4, 5, 6, 7.
- * A - 2, 3, 6, 7.
- * B - 1, 2, 3.
- SCRCCK SUBR ENTRY/EXIT
- SB1 1
- * INITIALIZE TERMCAP VALIDATION FLAG TO FALSE.
- SB2 2
- SA2 A1+B2 GET ADDRESS OF FLAG
- SX7 B0 INITIALIZE FLAG TO FALSE
- SA7 X2 STORE INITIALIZED FLAG
- * CHECK IF HEADER WORD HAS TERMINAL MNEMONIC.
- SA2 X1 GET LOADED CAPSULE ADDRESS
- SA2 X2 GET FIRST WORD OF CAPSULE
- SA3 A1+B1 GET MNEMONIC ADDRESS
- SA3 X3 GET TERMINAL MNEMONIC
- LX3 6 SHIFT TO REMOVE *Z* PREFIX
- MX4 42
- BX3 X3*X4 GET UNPREFIXED MNEMONIC
- BX5 X4*X2 MASK OFF FIRST SEVEN CHARACTERS
- BX6 X5-X3 COMPARE MNEMONIC TO CAPSULE HEADER
- NZ X6,SCRCCKX IF NOT MATCH, INVALID CAPSULE
- * CHECK IF VALID VERSION NUMBER.
- SX3 TDUV GET CURRENT *TDU* VERSION NUMBER
- BX5 -X4*X2 MASK OFF VERSION NUMBER FIELD
- BX6 X5-X3 CHECK FOR MATCHING VERSION NUMBER
- NZ X6,SCRCCKX IF NOT MATCH, INVALID CAPSULE
- * CONDITIONALLY SET THE *TERMLIB* STATUS FLAG.
- SA3 A1+4 ADDRESS OF *TERMLIB* STATUS FLAG
- SA3 X3+
- ZR X3,CCK1 IF *TERMLIB* FOUND FROM UN=LIBRARY
- MX4 59
- LX4 17
- SA3 X1
- SA2 X3 FIRST WORD OF TERMINAL CAPSULE
- BX6 -X4+X2 SET *TERMLIB* STATUS FLAG
- SA6 X3 REPLACE HEADER OF CAPSULE
- * GET LENGTH OF CAPSULE FROM TERMCAP HEADER TABLE.
- CCK1 SA2 X1 ADDRESS OF LOADED CAPSULE ADDRESS
- SA2 X2 GET FIRST WORD OF TERMCAP
- * THIS TAKES THE LENGTH FROM THE CAPSULE HEADER.
- SB3 -3
- SA2 A2+B3 GET CAPSULE HEADER
- MX3 42 MASK FOR LENGTH OF CAPSULE
- BX6 -X3*X2 EXTRACT CAPSULE LENGTH
- SA2 A1+3 GET LENGTH ADDRESS
- SA6 X2 STORE TERMCAP LENGTH
- SA3 A1+B2 GET FLAG ADDRESS
- SX7 B1 SET TERMCAP VALID FLAG TO TRUE
- SA7 X3 STORE FLAG
- EQ SCRCCKX RETURN
- END
- IDENT SCRCIS
- ENTRY SCRCIS
- SYSCOM B1
- SST
- TITLE SCRCIS - CHECK INTERACTIVE STATUS.
- *COMMENT SCRCIS - CHECK INTERACTIVE STATUS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CIS SPACE 4,10
- *** SCRCIS - CHECK INTERACTIVE STATUS.
- *
- * M. L. SWANSON. 84/10/29.
- CIS SPACE 4,10
- *** *SCRCIS* CHECKS TO SEE IF THE CURRENT RUNNING JOB IS
- * OF INTERACTIVE ORIGIN TYPE. IF SO, IT RETURNS TRUE TO
- * THE CALLING ROUTINE, FALSE IF NOT.
- CIS SPACE 4,15
- *** SCRCIS - CHECK INTERACTIVE STATUS.
- *
- * CALLING SEQUENCE.
- * *SYMPL* CALL -
- *
- * SCRCIS(INTFLAG);
- *
- * (INTFLAG) - INTERACTIVE STATUS FLAG.
- * = 1, IF INTERACTIVE JOB ORIGIN TYPE.
- * = 0, IF NOT INTERACTIVE TYPE.
- CIS SPACE 4,10
- ** SCRCIS - CHECK INTERACTIVE STATUS.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF INTERACTIVE STATUS FLAG.
- *
- * USES X - 0, 2, 3, 4, 6.
- * A - 2, 3, 4, 6.
- * B - 1.
- SCRCIS SUBR ENTRY/EXIT
- SB1 1
- SA2 X1
- MX0 48
- SA3 JOPR GET JOB ORIGIN TYPE
- LX3 36
- BX3 -X0*X3
- SX4 IAOT
- IX4 X4-X3
- SX2 B0 RESET INTERACTIVE STATUS FLAG
- NZ X4,CIS1 IF NOT INTERACTIVE JOB TYPE
- SX2 B1+ SET INTERACTIVE STATUS FLAG
- CIS1 BX6 X2
- SA6 X1 SAVE FLAG
- EQ SCRCISX RETURN
- END
- IDENT SCRCZF
- ENTRY SCRCZF
- SYSCOM B1
- TITLE SCRCZF - CREATE ZZZZTRM FILE.
- *COMMENT SCRCZF - CREATE ZZZZTRM FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CZF SPACE 4,10
- *** SCRCZF - CREATE ZZZZTRM FILE.
- *
- * M. L. SWANSON. 84/05/09.
- CZF SPACE 4,10
- *** *SCRCZF* CREATES A FILE NAMED *ZZZZTRM* WHICH
- * CONTAINS THE CONTENTS OF THE LOADED TERMINAL
- * CAPSULE .
- CZF SPACE 4,10
- ** COMMON DECKS.
- LIST X
- *CALL COMSTIR
- LIST -X
- CZF SPACE 4,10
- ** FETS.
- ZZZZTRM RFILEB ZBUF,ZBFL,EPR,(FET+7B)
- CZF SPACE 4,10
- *** SCRCZF - CREATE ZZZZTRM FILE.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRCZF(ADDRESS,LENGTH);
- *
- * ADDRESS = LOADED TERMCAP ADDRESS;
- * LENGTH = TERMCAP LENGTH.
- CZF SPACE 4,15
- ** SCRCZF - CREATE ZZZZTRM FILE.
- *
- * ENTRY (A1) - FWA OF FORMAL PARAMETER LIST.
- * (X1) - ADDRESS OF LOADED CAPSULE ADDRESS.
- *
- * EXIT OBJECT ROUTINE EXECUTED - ZZZZTRM FILE CREATED,
- * MARKED NON-RETURNABLE BY GLOBAL CLEAR.
- *
- * USES X - 1, 2, 3, 4, 5, 6, 7.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 1, 2.
- *
- * MACROS SETFS, WRITEF, WRITEO, WRITER.
- SCRCZF SUBR ENTRY/EXIT
- SB1 1
- SA2 X1 GET ADDRESS OF LOADED CAPSULE
- SX6 X2
- SA6 CZFA SAVE FWA OF LOADED CAPSULE
- SA3 X6 GET FIRST WORD OF LOADED CAPSULE
- BX6 X3 PREPARE FOR *WRITEO*
- SA4 A1+B1 GET ADDRESS OF LENGTH
- SA4 X4 GET TERMCAP LENGTH
- BX7 X4 ADD TERMCAP HEADER LENGTH
- SA7 A6+B1 SAVE LENGTH OF TERMCAP
- CZF1 WRITEO ZZZZTRM WRITE FIRST WORD INTO I/O BUFFER
- SA2 CZFB
- SB2 -1
- SX7 X2+B2 DECREMENT COUNTER OF TABLE LENGTH
- SA7 A2 SAVE REMAINING LENGTH
- SA1 CZFA GET FWA OF LOADED CAPSULE
- SX7 X1+B1 GET NEXT WORD OF LOADED CAPSULE
- SA7 A1 STORE CURRENT POINTER
- SA5 X7
- BX6 X5 PREPARE FOR *WRITEO*
- SA3 A2+ CHECK IF END OF TABLE
- NZ X3,CZF1 IF NOT END OF TABLE
- WRITER ZZZZTRM WRITE EOR ON *ZZZZTRM* FILE
- WRITEF ZZZZTRM WRITE EOF ON *ZZZZTRM* FILE
- SETFS ZZZZTRM,NAD MARK NON-RETURNABLE BY GLOBAL CLEAR
- EQ SCRCZFX RETURN
- ZBUF BSS ZBFL
- CZFA VFD 60/0 CURRENT POINTER TO CAPSULE
- CZFB VFD 60/0 CAPSULE LENGTH COUNTER
- END
- IDENT SCRFST
- ENTRY SCRFST
- SYSCOM B1
- TITLE SCRFST - FILE STATUS CHECK.
- *COMMENT SCRFST - FILE STATUS CHECK.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- FST SPACE 4,10
- *** SCRFST - FILE STATUS CHECK.
- *
- * M. L. SWANSON. 84/05/13.
- FST SPACE 4,10
- *** *SCRFST* USES THE *STATUS* MACRO TO CHECK
- * IF THE SPECIFIED FILE IS LOCAL. IF FOUND LOCAL,
- * *SCRFST* REWINDS THE FILE.
- FST SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCMD
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRFST(FILE,STATUS);
- *
- * FILE = SPECIFIED FILE.
- * STATUS = LOCAL STATUS OF FILE (0 = NOT LOCAL,
- * 1 = LOCAL).
- FST SPACE 4,10
- ** SCRFST - CHECK FILE STATUS.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 0, 2, 3, 6.
- * A - 2, 3, 6.
- * B - 1.
- *
- * MACROS REWIND, SETFET, STATUS.
- FST SPACE 4,10
- * FETS.
- ZZZFET FILEB BUF,BUFL
- BUFL EQU 1
- BUF BSS BUFL
- *
- SCRFST SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 GET ADDRESS OF *STATUS* ADDRESS
- SX6 X2 GET ADDRESS OF *STATUS* PARAMETER
- SA6 FSTA STORE ADDRESS OF *STATUS* PARAMETER
- SA2 X1 GET *FILENAME* PARAMETER
- SETFET ZZZFET,(LFN=X2) REPLACE FILE NAME IN FET
- STATUS ZZZFET CHECK IF FILE IS LOCAL
- * *STATUS* RETURNS 0 IN BITS 11-0 OF FET+0 IF FILE NOT FOUND.
- SA2 ZZZFET GET FET+0 REPLY WORD
- MX0 11
- LX0 12
- BX3 X0*X2 MASK OFF LOW 12 BITS OF FET+0
- SA2 FSTA GET ADDRESS OF *STATUS* PARAMETER
- NZ X3,FST1 IF SPECIFIED FILE IS FOUND
- BX6 X6-X6 SET *STATUS* TO FALSE
- JP FST2 NO *REWIND*
- FST1 SX6 B1 SET *STATUS* TO TRUE
- SA6 X2 SAVE *STATUS*
- REWIND ZZZFET,R REWIND WITH AUTO RECALL
- FST2 SA6 X2 SAVE *STATUS*
- EQ SCRFSTX RETURN
- FSTA VFD 60/0 ADDRESS OF *STATUS* PARAMETER
- END
- IDENT SCRGIS
- ENTRY SCRGIS
- SYSCOM B1
- TITLE SCRGIS - GET INITIALIZATION SEQUENCE.
- *COMMENT SCRGIS - GET INITIALIZATION SEQUENCE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GIS SPACE 4,10
- *** SCRGIS - GET INITIALIZATON SEQUENCE.
- *
- * M. L. SWANSON. 84/05/09.
- GIS SPACE 4,10
- *** *SCRGIS* RETRIEVES THE SPECIFIED INITIALIZATION
- * SEQUENCE FROM THE LOADED CAPSULE, CONVERTING THE
- * CAPSULE-S 7-BIT BYTES INTO 12-BIT XPARENT BYTES,
- * AND RETURNING THE ADDRESS OF THE BUFFER.
- GIS SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCMD
- LIST X
- *CALL COMSTIR
- LIST -X
- GIS SPACE 4,15
- *** SCRGIS - GET INITIALIZATION SEQUENCE.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRGIS(ADDRESS,MODE,BUFFER);
- *
- * (ADDRESS) = LOADED CAPSULE ADDRESS.
- * (MODE) = TERMINAL MODE.
- * (BUFFER) = PACKED SEQUENCE BUFFER.
- GIS SPACE 4,10
- ** SCRGIS - GET INITIALIZATION SEQUENCE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF LOADED CAPSULE ADDRESS.
- *
- * USES X - 1, 2, 3, 4, 5, 6, 7.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 1, 2, 3, 4, 5, 6, 7.
- SCRGIS SUBR ENTRY/EXIT
- SB1 1
- SX6 A1 SAVE FWA OF *SYMPL* PARAMETERS
- SA2 X1 GET ADDRESS OF TERMCAP
- SA6 GISA
- SA3 X2+B1 GET SECOND WORD OF TERMCAP
- MX4 12 CREATE MASK FOR POINTER OFFSET
- LX4 36 POSITION MASK AT SEQUENCE FIELD
- BX5 X4*X3 GET SEQUENCE TABLE OFFSET
- LX5 36
- * GET FIRST WORD OF INITIALIZATION TABLE.
- SB2 X5
- SA2 X2+B2 GET FIRST WORD OF SEQUENCE TABLE
- * DETERMINE WHICH SEQUENCE TO OUTPUT (SCREEN OR LINE).
- SA3 A1+1 GET ADDRESS OF MODE PARAMETER
- SA3 X3 GET MODE
- ZR X3,GIS1 IF LINE MODE
- LX4 12 POSITION MASK AT SCREEN SEQUENCE
- BX5 X4*X2 GET BYTE OFFSET OF SCREEN SEQUENCE
- LX5 24 REPOSITION
- LX4 48 REPOSITION MASK FOR NEXT FIELD
- BX6 X4*X2 GET NEXT FIELD
- LX6 36 REPOSITION
- EQ GIS2 GET BYTE LENGTH OF FIELD
- GIS1 LX4 24 POSITION MASK AT LINE SEQUENCE
- BX5 X4*X2 GET BYTE OFFSET OF LINE SEQUENCE
- LX5 12 REPOSITION
- LX4 48 REPOSITION MASK FOR NEXT FIELD
- BX6 X4*X2 GET NEXT FIELD
- LX6 24 REPOSITION
- GIS2 IX6 X6-X5 CALCULATE BYTE LENGTH OF FIELD
- ZR X6,SCRGISX IF EMPTY INITIALIZATION SEQUENCE
- SX7 A2 GET CAPSULE POINTER
- SA6 GISB STORE BYTE LENGTH OF SEQUENCE
- BX6 X5 GET OFFSET
- * CALCULATE POSITION OF MODE INDICATED SEQUENCE.
- BX3 X5 OFFSET OF SEQUENCE
- SX2 8 NUMBER OF BYTES IN WORD
- PX3 X3 PACK NUMERATOR
- PX4 X2 PACK DENOMINATOR
- NX4 X4 NORMALIZE
- FX5 X3/X4 CALCULATE NUMBER OF WORDS
- UX5 B7,X5 UNPACK RESULT
- LX5 B7,X5 SHIFT RESULT
- BX3 X7 CURRENT CAPSULE POINTER
- IX3 X3+X5 MOVE TO BEGINNING OF SEQUENCE
- BX4 X6 BYTE OFFSET OF SEQUENCE
- IX5 X5*X2 GET TOTAL BYTES BYPASSED
- IX4 X4-X5 CALCULATE CURRENT BYTE FIELD
- IX4 X2-X4 REVERSE TO REFLECT BYTE FIELD
- SB3 X4+ SAVE CAPSULE FIELD COUNTER
- SA4 GISB
- SB2 X4+ SAVE BYTE COUNTER
- SA4 GISC INITIALIZE FIRST OUTPUT WORD
- BX7 X4
- MX4 7 CREATE CAPSULE 7-BIT BYTE MASK
- SB4 4 INITIALIZE BUFFER FIELD COUNTER
- SB6 GISC INITIALIZE BUFFER POINTER
- SX5 7 BYTE LENGTH
- SX2 B3 GET CAPSULE BYTE FIELD
- IX5 X2*X5 CALCULATE INITIAL BYTE POSITION
- SB5 X5 COLUMNS TO SHIFT
- * THE FOLLOWING REGISTERS ARE USED AS FOLLOWS
- *
- * X3 - CAPSULE POINTER.
- * X4 - CAPSULE BYTE MASK.
- * X7 - BUFFER WORD.
- * B2 - BYTE COUNTER OF INIT. SEQUENCE.
- * B3 - CAPSULE BYTE FIELD COUNTER.
- * B4 - BUFFER BYTE FIELD COUNTER.
- * B5 - CAPSULE COLUMNS TO SHIFT.
- * B6 - BUFFER POINTER.
- LX4 B5 MOVE MASK TO FIRST BYTE
- SB5 B5-7 ADJUST COLUMNS TO SHIFT
- GIS3 SA1 X3 GET CURRENT CAPSULE WORD
- BX6 X4*X1 EXTRACT CAPSULE BYTE
- SX2 B4 GET BUFFER BYTE COUNTER
- AX6 B5 REPOSITION BYTE TO LOW BITS
- SX6 X6+4000B CONVERT TO 12-BIT XPARENT BYTE
- SX5 12 XPARENT BYTE LENGTH
- IX5 X5*X2 CALCULATE POSITION IN BUFFER WORD
- SB7 X5-12 CALCULATE COLUMNS TO SHIFT
- LX6 B7 REPOSITION
- BX7 X6+X7 PLACE NEW BYTE IN BUFFER WORD
- * DECREMENT NUMBER OF SEQUENCE BYTES LEFT TO OUTPUT.
- SB2 B2-B1 DECREMENT SEQUENCE BYTE COUNTER
- ZR B2,GIS8 IF DONE WITH SEQUENCE
- * DECREMENT CAPSULE BYTE FIELD.
- SB3 B3-1 DECREMENT CAPSULE BYTE FIELD
- ZR B3,GIS4 IF END OF CAPSULE WORD
- SB5 B5-7 DECREMENT CAPSULE COLUMNS TO SHIFT
- EQ GIS5 NOT END OF CAPSULE WORD
- * IF END OF CAPSULE WORD.
- GIS4 SX3 X3+1 MOVE TO NEXT WORD IN CAPSULE
- SA1 X3+ GET CAPSULE WORD
- SB3 8 RESET CAPSULE BYTE FIELD
- SB5 49 RESET CAPSULE COLUMNS TO SHIFT
- LX4 49 RESET CAPSULE MASK TO FIRST BYTE
- EQ GIS6 NEW CAPSULE WORD
- GIS5 LX4 53 SHIFT MASK TO NEXT CAPSULE BYTE
- * DECREMENT BUFFER BYTE FIELD.
- GIS6 SB4 B4-1 DECREMENT BUFFER BYTE FIELD
- ZR B4,GIS7 IF END OF BUFFER WORD
- EQ GIS3 GET NEXT BYTE
- * IF END OF BUFFER WORD.
- GIS7 SA7 B6 STORE FULL WORD INTO BUFFER
- SX7 B0 RESET WORD TO ZERO
- SB6 B6+1 INCREMENT BUFFER POINTER
- SB7 48 RESET COLUMNS TO SHIFT
- SB4 5 RESET BUFFER BYTE FIELD
- EQ GIS3 GET NEXT BYTE
- * IF END OF SEQUENCE.
- GIS8 SA7 B6+ STORE LAST WORD
- * RETURN SEQUENCE BUFFER TO CALLING ROUTINE.
- SA2 GISA GET ADDRESS OF *SYMPL* PARAMETERS
- SA2 X2+2 GET ADDRESS OF BUFFER PARAMETER
- SA3 GISC GET ADDRESS OF SEQUENCE BUFFER
- SX7 A3
- SA7 X2 STORE ADDRESS OF SEQUENCE BUFFER
- EQ SCRGISX RETURN
- GISA VFD 60/0 ADDRESS OF *SYMPL* PARAMETERS
- GISB VFD 60/0 SEQUENCE BYTE COUNTER
- GISC VFD 12/7,48/0 FIRST WORD OF BUFFER
- BSSZ ISBL OUTPUT BUFFER
- END
- IDENT SCRISR
- ENTRY SCRISR
- SYSCOM B1
- TITLE SCRISR - ISSUE SYSTEM REQUEST.
- *COMMENT SCRISR - ISSUE SYSTEM REQUEST.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ISR SPACE 4,10
- *** SCRISR - ISSUE SYSTEM REQUEST.
- *
- * M. L. SWANSON. 84/05/09.
- ISR SPACE 4,10
- *** *SCRISR* ISSUES A SYSTEM REQUEST TO SET THE SCREEN
- * BIT IN TERMINAL TABLE WORD *VSTT*.
- ISR SPACE 4,10
- *** SCRISR - ISSUE SYSTEM REQUEST.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRISR(MODE);
- *
- * MODE = 0, TERMINAL IN LINE MODE.
- * = 1, TERMINAL IN SCREEN MODE.
- ISR SPACE 4,10
- ** SCRISR - ISSUE SYSTEM REQUEST.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 1.
- * A - 2.
- * B - 1.
- *
- * MACROS SYSTEM.
- SCRISR SUBR ENTRY/EXIT
- SB1 1
- SA2 X1+ GET DIRECTIVE PARAMETER
- ZR X2,ISR1 IF LINE MODE
- SYSTEM TLX,R,0,13B*100B SET SCREEN BIT IN *VSTT*
- EQ SCRISRX RETURN
- ISR1 SYSTEM TLX,R,0,14B*100B CLEAR SCREEN BIT IN *VSTT*
- EQ SCRISRX RETURN
- END
- IDENT SCRLCP
- ENTRY SCRLCP
- SYSCOM B1
- TITLE SCRLCP - LOAD TERMINAL CAPSULE.
- *COMMENT SCRLCP - LOAD TERMINAL CAPSULE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- LCP SPACE 4,10
- *** SCRLCP - LOAD TERMINAL CAPSULE.
- *
- * M. L. SWANSON. 84/05/09.
- LCP SPACE 4,10
- *** *SCRLCP* INVOKES THE FAST DYNAMIC LOADER TO LOAD
- * THE SPECIFIED TERMINAL CAPSULE, RETURNING THE
- * ADDRESS OF THE LOADED CAPSULE AND A STATUS FLAG.
- LCP SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRLCP(TERMINAL,ADDRESS,STATUS);
- *
- * TERMINAL = TERMINAL MNEMONIC(CAPSULE NAME).
- * ADDRESS = LOADED CAPSULE ADDRESS.
- * STATUS = CAPSULE LOADED SUCCESSFULLY FLAG.
- LCP SPACE 4,10
- ** SCRLCP - LOAD TERMINAL CAPSULE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 0, 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 6, 7.
- * B - 1, 2.
- *
- * CALLS FDL.LDC.
- SCRLCP SUBR ENTRY/EXIT
- SB1 1
- SX6 A1 SAVE ADDRESS OF *SYMPL* PARAMETERS
- MX0 42 MASK OUT SEVEN CHARACTER NAME
- SA6 SLCA
- SA1 X1 GET CAPSULE NAME
- BX6 X0*X1
- MX0 -6 MASK OFF BLANK FILL
- SB2 6 AT LEAST ONE NON-BLANK CHARACTER
- LX6 6 START AT SECOND CHARACTER
- SLC1 LX6 6 PROCESS NEXT CHARACTER
- BX2 -X0*X6 CHECK FOR BLANK CHARACTER
- SX3 X2-1R
- NZ X3,SLC2 IF NOT BLANK
- BX6 X0*X6 MASK OFF BLANK CHARACTER
- SLC2 SB2 B2-B1
- NZ B2,SLC1 IF NOT DONE
- LX6 18 REPOSITION NAME
- SA6 SLCC PUT NAME INTO LIST FOR *FDL* CALL
- SA6 SLCG PUT NAME INTO ENTRY POINT LIST
- SA1 SLCB SET PARAMETERS FOR *FDL* CALL
- SA2 A1+1 SET CAPSULE NAME
- SA3 A2+B1 SET LIBRARY LIST ADDRESS
- SA4 A3+B1 SET ENTRY POINT LIST ADDRESS
- RJ =XFDL.LDC LOAD CAPSULE
- SA1 SLCA GET ADDRESS OF *SYMPL* PARAMETERS
- SA1 X1+B1 GET LOADED CAPSULE ADDRESS
- SA2 A1+B1 GET ADDRESS OF CAPSULE-LOADED FLAG
- SA3 SLCG MASK ENTRY POINT ADDRESS OUT OF LIST
- MX0 -18
- BX7 -X0*X3
- SA7 X1 ENTRY POINT ADDR INTO CAPSULE ADDR
- SA6 X2 PUT LOAD STATUS IN STATUS PARAMETER
- EQ SCRLCPX RETURN
- SLCA VFD 60/0 FWA OF *SYMPL* PARAMETER LIST
- * LOADER REPLY BLOCK.
- SLCB VFD 60/0LVIRTERM GROUPNAME
- SLCC VFD 60/0 CAPSULE NAME (TERMINAL MNEMONIC)
- VFD 60/SLCD ADDRESS OF LIBRARY LIST
- VFD 60/SLCE ADDRESS OF LIST OF ENTRY POINTS
- SLCD VFD 60/0LTERMLIB LIST OF LIBRARIES
- VFD 60/0 END OF LIST
- SLCE VFD 60/SLCF LIST OF ADDRS OF ENTRY POINT LISTS
- VFD 60/0 END OF LIST
- SLCF VFD 24/00210001B HEADER WORD OF ENTRY POINT LIST
- VFD 36/0
- SLCG VFD 60/0 ENTRY POINT NAME AND ADDRESS
- END
- IDENT SCRPKP
- ENTRY SCRPKP
- SYSCOM B1
- TITLE SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- *COMMENT SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- PKP SPACE 4,10
- *** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- *
- * M. L. SWANSON. 84/05/09.
- PKP SPACE 4,10
- *** *SCRPKP* PROCESSES PARAMETERS FOR THE SCREEN AND
- * LINE DIRECTIVES.
- PKP SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCARG
- *CALL COMCARM
- *CALL COMCCPA
- *CALL COMCPOP
- *CALL COMCUSB
- PKP SPACE 4,10
- *** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRPKP(TERMINAL);
- *
- * (TERMINAL) = USER INPUT TERMINAL MNEMONIC.
- PKP SPACE 4,10
- ** SCRPKP - PROCESS SCREEN/LINE PARAMETERS.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF TERMINAL MNEMONIC.
- *
- * USES X - 3, 6, 7.
- * A - 3, 6.
- * B - 1.
- *
- * CALLS PKP.
- SCRPKP SUBR ENTRY/EXIT
- SB1 1
- SX6 X1+ STORE FWA OF *SYMPL* PARAMETER LIST
- SA6 SPPA
- SX6 TSLA ARGUMENT TABLE ADDRESS
- SX7 TSLAL ARGUMENT TABLE LENGTH
- RJ PKP PROCESS PARAMETERS
- NZ X1,SCRPKPX IF NO ARGUMENTS
- SA3 SPPA GET FWA OF FORMAL PARAMETER LIST
- BX6 X2
- SA6 X3 PUT MNEMONIC IN PARAMETER LIST
- EQ SCRPKPX RETURN
- SPPA BSS 1 FWA OF *SYMPL* PARAMETER LIST
- PKP SPACE 4,10
- ** TABLE OF VALID ARGUMENTS.
- TSLA BSS 0
- TM ARG ZR,TCKA,400B TERMINAL MNEMONIC
- ARG
- TSLAL EQU *-TSLA-1 LENGTH OF *TSLA* TABLE
- ZR CON 0
- PKP SPACE 4,20
- ** PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
- *
- * ENTRY (X6) = ARGUMENT TABLE ADDRESS.
- * (X7) = ARGUMENT TABLE LENGTH.
- *
- * EXIT (B1) = 1.
- * (X1) .NE. 0 IF NO ARGUMENTS SPECIFIED.
- * (X2) = TERMINAL MNEMONIC.
- * TO *ERR* IF ARGUMENT ERROR.
- *
- * USES X - 1, 2, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 1, 2, 3, 4, 6.
- *
- * CALLS ARM, CPA, USB.
- *
- * MACROS ABORT, MESSAGE.
- PKP SUBR ENTRY/EXIT
- SB1 1
- SA6 PKPA SAVE ADDRESS AND LENGTH
- SA7 PKPB
- SB2 CCDR UNPACK CONTROL CARD
- RJ USB UNPACK STRING BUFFER
- SA1 A6 ASSURE TERMINATION
- SX6 1R.
- SA6 X1+B1
- * SKIP TO FIRST ARGUMENT.
- PKP1 SA1 B6 SKIP OVER CONTROL CARD NAME
- SB6 B6+B1 ADVANCE CHARACTER ADDRESS
- SB2 X1-1R9-1
- NG B2,PKP1 IF NOT END OF NAME
- SB2 X1-1R
- ZR B2,PKP1 IF A BLANK
- SB3 X1-1R.
- SB4 X1-1R)
- ZR B3,PKPX IF NO ARGUMENTS
- ZR B4,PKPX IF NO ARGUMENTS
- * PROCESS ARGUMENTS.
- SA1 PKPA RETRIEVE ADDRESS AND LENGTH
- SA2 PKPB
- SB3 X1 ARGUMENT TABLE ADDRESS
- SB2 X2
- SB4 ABUF
- RJ CPA CONVERT POSITIONAL ARGUMENTS
- NG B5,ERR IF ARGUMENT ERROR
- SX6 B5+ SET LWA OF ARGUMENTS
- SB6 ABUF SET FWA OF ARGUMENTS
- SA6 USBC
- RJ ARM PROCESS ARGUMENTS
- NZ X1,ERR IF ARGUMENT ERROR
- EQ PKPX RETURN
- PKPA CON 0 ARGUMENT TABLE ADDRESS
- PKPB CON 0 ARGUMENT TABLE LENGTH
- PKP SPACE 4,10
- ERR MESSAGE (=C* ERROR IN COMMAND PARAMETERS.*)
- ABORT
- PKP SPACE 4,10
- TCKA BSSZ TSLAL CRACKED ARGUMENT VALUES
- CPALN EQU 40 CPA ARGUMENT LENGTH
- ABUF EQU * ARGUMENT STRING BUFFER
- SBUF EQU ABUF+CPALN SCRATCH BUFFER
- TBUF BSS SBUF-ABUF+1
- END
- IDENT SCRRET
- ENTRY SCRRET
- SYSCOM B1
- TITLE SCRRET - RETURN LOCAL FILE.
- *COMMENT SCRRET - RETURN LOCAL FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- RET SPACE 4,10
- *** SCRRET - RETURN LOCAL FILE.
- *
- * M. L. SWANSON. 84/05/09.
- RET SPACE 4,10
- *** *SCRRET* PROVIDES AN INTERFACE FOR HIGH-LEVEL
- * LANGUAGES USING THE *RETURN* MACRO.
- RET SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCMD
- LIST X
- *CALL COMSTIR
- LIST -X
- RET SPACE 4,10
- ** FETS.
- RETFET RFILEB RBUF,RBFL
- RET SPACE 4,10
- *** SCRRET - RETURN LOCAL FILE.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRRET(FILE);
- *
- * (FILE) = LOCAL FILE NAME.
- RET SPACE 4,10
- ** SCRRET - RETURN LOCAL FILE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF LOCAL FILE NAME.
- *
- * USES X - 1.
- * A - 1.
- * B - 1.
- *
- * MACROS RETURN, SETFET.
- SCRRET SUBR ENTRY/EXIT
- SB1 1
- SA1 X1
- SETFET RETFET,(LFN=X1)
- RETURN RETFET,R
- EQ SCRRETX RETURN
- RET SPACE 4,10
- ** BUFFER.
- RBUF BSS RBFL FET BUFFER
- END
- IDENT SCRRTA
- ENTRY SCRRTA
- SYSCOM B1
- TITLE SCRRTA - RETRIEVE TERMCAP ADDRESS.
- *COMMENT SCRRTA - RETRIEVE TERMCAP ADDRESS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- RTA SPACE 4,10
- *** SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
- *
- * M. L. SWANSON. 84/04/24.
- RTA SPACE 4,10
- *** *SCRRTA* CALLS *GTO* TO RETRIEVE A RESIDENT
- * TERMINAL CAPSULE ADDRESS, GIVEN THE TERMINAL
- * MNEMONIC (CAPSULE NAME).
- RTA SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRRTA(TERMINAL,ADDRESS);
- *
- * TERMINAL = TERMINAL MNEMONIC(CAPSULE NAME).
- * ADDRESS = RESIDENT CAPSULE ADDRESS.
- RTA SPACE 4,10
- ** SCRRTA - RETRIEVE RESIDENT TERMCAP ADDRESS.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 2, 6, 7.
- * A - 2, 6, 7.
- * B - 1.
- *
- * CALLS GTO.
- SCRRTA SUBR ENTRY/EXIT
- SB1 1
- SX6 A1 SAVE ADDRESS OF *SYMPL* PARAMETERS
- SA2 X1 GET TERMINAL MNEMONIC
- SA6 RTAA STORE PARAMETER LIST
- * GET RESIDENT TERMCAP ADDRESS.
- RJ GTO
- * *GTO* RETURNS ADDRESS OF TERMCAP IN X3.
- SA2 RTAA GET ADDRESS OF *SYMPL* PARAMETERS
- SA2 X2+1 GET ADDRESS PARAMETER
- BX7 X3
- SA7 X2 STORE ADDRESS IN PARAMETER LIST
- EQ SCRRTAX RETURN
- LIST X
- *CALL COMCGTO
- LIST -X
- RTAA VFD 60/0 ADDRESS OF SYMPL PARAMETER LIST.
- END
- IDENT SCRRZF
- ENTRY SCRRZF
- SYSCOM B1
- TITLE SCRRZF - READ ZZZZTRM FILE.
- RZF SPACE 4,10
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- *** SCRRZF - READ ZZZZTRM FILE.
- *
- * M. L. SWANSON. 84/05/14.
- RZF SPACE 4,10
- *** *SCRRZF* CALLS *READEI* TO FILL A BUFFER WITH
- * THE CONTENTS OF THE *ZZZZTRM* FILE. THE ADDRESS
- * OF THIS BUFFER IS THEN RETURNED TO THE CALLING
- * ROUTINE.
- RZF SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCMD
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRRZF(FILE,ADDRESS);
- *
- * FILE = SPECIFIED FILE.
- * ADDRESS = ADDRESS OF BUFFER TO WHICH FILE IS READ.
- RZF SPACE 4,10
- ** SCRRZF - READ ZZZZTRM FILE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 0, 1, 2. 3, 6.
- * A - 1, 2, 6.
- * B - 1, 2.
- *
- * MACROS SETFET, READEI.
- RZF SPACE 4,10
- * FETS.
- ZZZFET RFILEB BUF,BUFL
- BUFL EQU 1001B
- BUF BSS BUFL
- *
- SCRRZF SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 GET ADDRESS OF *ADDRESS* ADDRESS
- SX6 X2 GET ADDRESS OF *ADDRESS* PARAMETER
- SA6 RZFA STORE ADDRESS OF *ADDRESS* PARAMETER
- SA1 X1 GET *FILENAME* PARAMETER
- MX0 42 MASK OFF SEVEN CHARACTER NAME
- BX6 X0*X1
- MX0 -6 MASK OFF BLANK FILL
- SB2 6 AT LEAST ONE NON-BLANK CHARACTER
- LX6 6 START AT SECOND CHARACTER
- RZF1 LX6 6 PROCESS NEXT CHARACTER
- BX2 -X0*X6 CHECK FOR BLANK CHARACTER
- SX3 X2-1R
- NZ X3,RZF2 IF NOT BLANK
- BX6 X0*X6 MASK OFF BLANK CHARACTER
- RZF2 SB2 B2-B1
- NZ B2,RZF1 IF NOT DONE
- LX6 18 REPOSITION NAME
- SETFET ZZZFET,(LFN=X6) REPLACE FILE NAME IN FET
- READEI ZZZFET,R READ UNTIL EOI OR BUFFER IS FILLED
- SA2 RZFA GET ADDRESS OF *ADDRESS* PARAMETER
- SX6 BUF GET CIO BUFFER ADDRESS
- SA6 X2 RETURN BUFFER ADDRESS
- EQ SCRRZFX RETURN
- RZFA VFD 60/0 ADDRESS OF *ADDRESS* PARAMETER
- END
- IDENT SCRUGD
- ENTRY SCRUGD
- SYSCOM B1
- TITLE SCRUGD - UNLOAD GROUP DIRECTORY
- *COMMENT SCRUGD - UNLOAD GROUP DIRECTORY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- UGD SPACE 4,10
- *** SCRUGD - UNLOAD GROUP DIRECTORY.
- *
- * M. L. SWANSON. 84/09/06.
- UGD SPACE 4,10
- *** *SCRUGD* INVOKES THE FAST DYNAMIC LOADER TO UNLOAD
- * THE *VIRTERM* GROUP DIRECTORY.
- UGD SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * SCRUGD;
- UGD SPACE 4,10
- ** SCRUGD - UNLOAD GROUP DIRECTORY.
- *
- * ENTRY OBJECT ROUTINE CALLED.
- *
- * EXIT *VIRTERM* GROUP DIRECTORY UNLOADED.
- *
- * USES X - 1.
- * A - 1.
- * B - 1.
- *
- * CALLS FDL.UGD.
- SCRUGD SUBR ENTRY/EXIT
- SB1 1
- SA1 UGDA GROUP NAME
- RJ =XFDL.UGD UNLOAD GROUP DIRECTORY
- EQ SCRUGDX RETURN
- UGDA VFD 42/0LVIRTERM,18/0 GROUP NAME
- END
- IDENT SFCNP$
- ENTRY SFCNP$
- SYSCOM B1
- TITLE SFCNP$ - COPY NEXT PARAMETER.
- *COMMENT SFCNP$ - COPY NEXT PARAMETER.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CNP SPACE 4,10
- *** SFCNP$ - COPY NEXT PARAMETER.
- *
- * E.D. REDIG. 83/01/14.
- CNP SPACE 4,10
- *** *SFCNP$* PROVIDES AN INTERFACE TO *SMF* ROUTINES FOR
- * COPYING A PARAMETER TO A NEW PARAMETER LIST.
- CNP SPACE 4,10
- ** SFCNP$ - COPY NEXT PARAMETER.
- *
- * ENTRY (A1) = FWA OF PARAMETER.
- * (X1) = ACTUAL PARAMETER.
- * (B2) = FWA OF NEW PARAMETER.
- *
- * EXIT (A1) = POINTS TO NEXT PARAMTER.
- * (B2) = POINTS TO NEXT NEW PARAMETER.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 1, 2.
- SFCNP$ SUBR ENTRY/EXIT
- SB1 1
- SX6 X1 SAVE ADDRESS OF PARAMETER
- SA6 B2
- SA1 A1+B1 POINT TO NEXT PARAMETER
- SB2 B2+B1 POINT TO NEXT NEW PARAMETER
- EQ SFCNP$X RETURN
- END
- IDENT SFCSP$
- ENTRY SFCSP$
- SYSCOM B1
- TITLE SFCSP$ - COPY STRING PARAMETER.
- *COMMENT SFCSP$ - COPY STRING PARAMETER.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CSP SPACE 4,10
- *** SFCSP$ - COPY STRING PARAMETER.
- *
- * E.D. REDIG. 83/01/14.
- CSP SPACE 4,10
- *** *SFCSP$* PROVIDES AN INTERFACE TO *SMF* ROUTINES FOR
- * COPYING A STRING PARAMETER, ITS LENGTH, AND OFFSET TO
- * A NEW PARAMETER LIST.
- CSP SPACE 4,10
- ** SFCSP$ - COPY STRING PARAMETER.
- *
- * ENTRY (A1) = FWA OF PARAMETER.
- * (X1) = ACTUAL PARAMETER.
- * (B2) = ADDRESS OF NEXT NEW PARAMETER.
- * (B3) = ADDRESS OF LENGTH OF STRING PARAMETER.
- *
- * EXIT (A1) = POINTS TO NEXT PARAMTER.
- * (B2) = POINTS TO NEXT NEW PARAMETER.
- * (B3) = POINTS TO NEXT NEW LENGTH AND OFFSET.
- *
- * USES X - 0, 1, 6, 7.
- * A - 1, 6, 7.
- * B - 1, 2, 3.
- CSP2 SB2 A6+B1
- SB3 A7+B1
- SA1 A1+1
- SFCSP$ SUBR ENTRY/EXIT
- SB1 1
- SX6 X1 COPY STRING ADDRESS
- MX0 -3 EXTRACT CLASS OF DATA
- SA6 B2
- LX1 0-21
- BX7 -X0*X1
- MX0 -18
- ZR X7,CSP1 IF *FORTRAN5* CALL
- LX1 0-36-0+21 EXTRACT *COBOL5* LENGTH
- BX7 -X0*X1
- SX6 B3
- SA7 B3 LENGTH
- MX0 -6
- SA6 A6+B1 ADDRESS OF LENGTH
- LX1 0-30-0+36 EXTRACT OFFSET
- BX7 -X0*X1
- SA7 A7+B1 OFFSET
- SX6 A7
- SA6 A6+1 ADDRESS OF OFFSET
- EQ CSP2 INCREMENT POINTERS
- CSP1 LX1 0-30-0+21 EXTRACT LENGTH
- BX7 -X0*X1
- SX6 B3
- SA7 B3 LENGTH
- MX0 -4
- SA6 A6+B1 ADDRESS OF LENGTH
- LX1 0-24-0+30 EXTRACT OFFSET
- BX7 -X0*X1
- SA7 A7+1 OFFSET
- SX6 A7+
- SA6 A6+1 ADDRESS OF OFFSET
- EQ CSP2 INCREMENT POINTERS
- END
- IDENT VDTABT$
- ENTRY VDTABT$
- SYSCOM B1
- TITLE VDTABT$ - ABORT JOB.
- *COMMENT ABORT JOB.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ABT SPACE 4,10
- *** VDTABT$ - ABORT JOB.
- *
- * G.K. CHACE. 83/02/03.
- ABT SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTABT$;
- VDTABT$ SPACE 4,10
- *** VDTABT$ - ABORT JOB.
- *
- * USES B - 1.
- *
- * MACROS ABORT.
- VDTABT$ SUBR ENTRY/EXIT
- SB1 1
- ABORT
- END
- *IF DEF,CRM
- IDENT VDTCRM$
- ENTRY VDTCLO$
- ENTRY VDTOPN$
- SYSCOM B1
- TITLE VDTCRM$ - CRM OUTPUT ROUTINES.
- *COMMENT CRM OUTPUT ROUTINES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- CRM SPACE 4,10
- *** VDTCRM$ - CRM OUTPUT ROUTINES.
- *
- * E.D. REDIG. 83/08/17.
- CRM SPACE 4,10
- ** FILE INFORMATION TABLE.
- OUTPUT FILE LFN=ZZZZZSF,BT=C,RT=S,CNF=YES,PD=OUTPUT,DFC=3,EFC=3,MRL
- ,=131071,ASCII=2,BFS=513
- CRM SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTCLO$;
- CRM SPACE 4,10
- *** VDTCLO$ - CLOSE THE FILE.
- *
- * USES X - 1, 5, 6.
- * A - 0, 1, 6.
- * B - 1.
- *
- * MACROS CLOSEM, FETCH.
- VDTCLO$ SUBR ENTRY/EXIT
- SB1 1
- SX6 A0+ SAVE (A0)
- SA6 CLOA
- FETCH OUTPUT,OC,X5 GET OPEN/CLOSE FLAG
- SX6 #CLO# FILE CLOSED
- IX5 X5-X6
- ZR X5,CLO1 IF FILE CLOSED
- CLOSEM OUTPUT,RET,FILE
- CLO1 SA1 CLOA RESTORE (A0)
- SA0 X1+
- EQ VDTCLO$X RETURN
- CLOA BSSZ 1 (A0)
- CRM SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTOPN$;
- CRM SPACE 4,10
- *** VDTOPN$ - INITIALIZE THE *TERMIO* MODULE.
- *
- * USES X - ALL.
- * A - 0, 1, 2, 6, 7.
- * B - 1, 2, 3, 4, 5.
- *
- * MACROS FETCH, GETLOF, OPENM, PUTP.
- VDTOPN$ SUBR ENTRY/EXIT
- SB1 1
- SX6 A0 SAVE (A0)
- SX7 X1
- SA6 OPNA
- SA7 OPNB SAVE FET ADDRESS
- FETCH OUTPUT,OC,X5 GET OPEN/CLOSE FLAG
- SX6 #OPE# FILE OPENED
- IX5 X5-X6
- ZR X5,OPN1 IF FILE OPENED
- OPENM OUTPUT,OUTPUT,N INITIALIZE *TERMIO* MODULE
- PUTP OUTPUT,OPNB,0,,,0
- OPN1 GETLOF OPNC-1 GET LIST OF FILES
- SA2 OPNC-1
- LX2 30
- SX1 X2 POINTER ADDRESS
- SA2 X1+B1 READ UP FIRST ENTRY
- SX6 X2
- SA1 OPNB
- SA2 X1
- SA6 A2+ RETURN FET ADDRESS
- SA1 X6+B1 FIRST
- SA2 A1+B1 IN
- SA3 A2+B1 OUT
- SA4 A3+B1 LIMIT
- SX6 X1-OPNC
- ZR X6,OPN4 IF BUFFER ALREADY SWITCHED
- SX6 X1
- SX7 X4
- IX7 X7-X6 CURRENT BUFFER LENGTH
- SX7 X7-OPNCL
- PL X7,OPN4 IF CURRENT BUFFER LARGE ENOUGH
- SX6 OPNC ALLOCATE LARGER BUFFER
- MX0 42
- SB2 X1 FIRST
- SB3 X2 IN
- SB4 X3 OUT
- SB5 X4 LIMIT
- BX7 X0*X1 SET NEW FIRST
- BX7 X7+X6
- SA7 A1
- BX7 X0*X4 SET NEW LIMIT
- SX4 OPNC+OPNCL
- BX7 X7+X4
- SA7 A4
- SA6 A3 SET NEW OUT
- SA7 OPNC-1 SET DESTINATION ADDRESS
- OPN2 EQ B4,B3,OPN3 IF OLD BUFFER IS EMPTY
- SA1 B4 TRANSFER OLD DATA TO NEW BUFFER
- SB4 B4+B1 ADVANCE POINTER
- BX7 X1
- SA7 A7+B1 PLACE WORD INTO NEW BUFFER
- NE B4,B5,OPN2 IF NO WRAP AROUND
- SB4 B2 RESET POINTER
- EQ OPN2 CONTINUE TRANSFER
- OPN3 SX6 A7+1 SET IN
- SA6 A2+
- OPN4 BSS 0
- SA1 OPNA RESTORE (A0)
- SA0 X1+
- EQ VDTOPN$X RETURN
- OPNA BSSZ 1 (A0)
- OPNB BSSZ 1 FET ADDRESS
- BSS 1
- OPNC BSS 401B OUTPUT BUFFER
- OPNCL EQU *-OPNC
- END
- *ENDIF
- IDENT VDTFUN
- ENTRY VDTFUN
- SYSCOM B1
- TITLE VDTFUN - GET FUNCTION NAME.
- *COMMENT VDTFUN - GET FUNCTION NAME.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- FUN SPACE 4,10
- *** VDTFUN - GET FUNCTION NAME.
- *
- * E.D. REDIG. 83/02/11.
- FUN SPACE 4,10
- *** *VDTFUN* PROVIDES AN INTERFACE TO *VDTFUN$* FOR PROGRAMS
- * WRITTEN IN HIGHER LEVEL LANGUAGES.
- FUN SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTFUN(FUNCTION,NAME,LENGTH)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTFUN USING FUNCTION, NAME, LENGTH.
- *
- * FUNCTION = UNSHIFTED FUNCTION NUMBER (1-16).
- * = SHIFTED FUNCTION NUMBER (MINUS 1-16).
- * NAME = FUNCTION NAME.
- * LENGTH = NUMBER OF CHARACTERS IN NAME.
- FUN SPACE 4,10
- ** VDTFUN - GET FUNCTION NAME.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF FUNCTION NUMBER.
- *
- * USES A - 1.
- * B - 1, 2, 3.
- *
- * CALLS SFCNP$, SFCSP$, VDTFUN$.
- VDTFUN SUBR ENTRY/EXIT
- SB1 1
- SB2 FUNA FWA OF PARAMETER LIST
- SB3 FUNB LENGTH AND OFFSET
- RJ =XSFCNP$ COPY FUNCTION
- RJ =XSFCSP$ COPY NAME
- RJ =XSFCNP$ COPY LENGTH
- SA1 FUNA SET NEW PARAMETER LIST ADDRESS
- RJ =XVDTFUN$ GET FUNCTION NAME
- EQ VDTFUNX RETURN
- FUNA BSSZ 6 NEW PARAMETER LIST
- FUNB BSSZ 2 LENGTH AND OFFSET FOR NAME
- END
- IDENT VDTGEN
- ENTRY VDTGEN
- SYSCOM B1
- TITLE VDTGEN - GET GENERIC FUNCTION NAME.
- *COMMENT VDTGEN - GET GENERIC FUNCTION NAME.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GEN SPACE 4,10
- *** VDTGEN - GET GENERIC FUNCTION NAME.
- *
- * E.D. REDIG. 83/02/11.
- GEN SPACE 4,10
- *** *VDTGEN* PROVIDES AN INTERFACE TO *VDTGEN$* FOR PROGRAMS
- * WRITTEN IN HIGHER LEVEL LANGUAGES.
- GEN SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTGEN(FUNCTION,NAME,LENGTH)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTGEN USING FUNCTION, NAME, LENGTH.
- *
- * FUNCTION = UNSHIFTED FUNCTION NUMBER (1-32).
- * = SHIFTED FUNCTION NUMBER (MINUS 1-16).
- * NAME = FUNCTION NAME.
- * LENGTH = NUMBER OF CHARACTERS IN NAME.
- GEN SPACE 4,10
- ** VDTGEN - GET GENERIC FUNCTION NAME.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF FUNCTION NUMBER.
- *
- * USES A - 1.
- * B - 1, 2, 3.
- *
- * CALLS SFCNP$, SFCSP$, VDTGEN$.
- VDTGEN SUBR ENTRY/EXIT
- SB1 1
- SB2 GENA FWA OF PARAMETER LIST
- SB3 GENB LENGTH AND OFFSET
- RJ =XSFCNP$ COPY FUNCTION
- RJ =XSFCSP$ COPY NAME
- RJ =XSFCNP$ COPY LENGTH
- SA1 GENA SET NEW PARAMETER LIST ADDRESS
- RJ =XVDTGEN$ GET FUNCTION NAME
- EQ VDTGENX RETURN
- GENA BSSZ 6 NEW PARAMETER LIST
- GENB BSSZ 2 LENGTH AND OFFSET FOR NAME
- END
- *IF UNDEF,RETRO
- IDENT VDTGSL
- ENTRY VDTGSL
- SYSCOM B1
- TITLE VDTGSL - GET SCREEN/LINE MODE.
- *COMMENT VDTGSL - GET SCREEN/LINE MODE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GSL SPACE 4,10
- *** VDTGSL - GET SCREEN/LINE MODE.
- *
- * E.D. REDIG. 83/02/09.
- GSL SPACE 4,10
- *** *VDTGSL* PROVIDES AN INTERFACE TO *SETSLM* FOR PROGRAMS
- * WRITTEN IN HIGHER LEVEL LANGUAGES.
- GSL SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTGSL(MODEL,SCREEN)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTGSL USING MODEL, SCREEN.
- *
- * MODEL = TERMINAL MODEL NUMBER.
- * SCREEN = 0, IF LINE MODE.
- * = 1, IF SCREEN MODE.
- GSL SPACE 4,10
- ** VDTGSL - GET SCREEN/LINE MODE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 2, 6.
- * B - 1.
- *
- * CALLS SETSLM.
- VDTGSL SUBR ENTRY/EXIT
- SB1 1
- SX6 X1
- SA1 A1+B1
- SA6 GSLA SAVE ORDINAL ADDRESS
- SX6 X1
- SA6 A6+B1 SAVE SCREEN/LINE ADDRESS
- SETSLM GSLC READ SCREEN/LINE MODE
- SA1 GSLC
- MX0 -6
- BX6 -X0*X1 EXTRACT ORDINAL
- SA2 GSLA
- LX1 0-6
- MX0 -1
- SA6 X2 STORE ORDINAL
- BX6 -X0*X1 EXTRACT SCREEN/LINE
- SA2 GSLB
- SA6 X2+ STORE SCREEN/LINE
- EQ VDTGSLX RETURN
- GSLA CON 0 ORDINAL ADDRESS
- GSLB CON 0 SCREEN/LINE ADDRESS
- GSLC CON 0 *SETSLM* PARAMETER WORD
- END
- *ENDIF
- IDENT VDTGTA
- ENTRY VDTGTA
- SYSCOM B1
- TITLE VDTGTA - GET TEXT PARAMETER.
- *COMMENT VDTGTA - GET RESIDENT TERMCAP ADDRESS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GTA SPACE 4,10
- *** VDTGTA - GET RESIDENT TERMCAP ADDRESS.
- *
- * M. L. SWANSON. 84/05/09.
- GTA SPACE 4,10
- *** *VDTGTA* CALLS *GTN* TO RETRIEVE A RESIDENT TERMCAP
- * ADDRESS CORRESPONDING TO THE GIVEN TERMINAL MODEL.
- GTA SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTGTA(MODEL,ADDRESS);
- *
- * MODEL = TERMINAL MODEL.
- * ADDRESS = CORRESPONDING RESIDENT CAPSULE ADDRESS.
- GTA SPACE 4,10
- ** VDTGTA - GET RESIDENT TERMCAP ADDRESS.
- *
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 2, 6, 7.
- * A - 2, 6, 7.
- * B - 1.
- *
- * CALLS GTN.
- VDTGTA SUBR ENTRY/EXIT
- SB1 1
- SX6 A1 SAVE ADDRESS OF SYMPL PARAMETERS
- SA2 X1 GET TERMINAL MODEL
- SA6 GTAA STORE PARAMETER LIST
- * GET RESIDENT TERMCAP ADDRESS.
- RJ GTN
- * *GTN* RETURNS ADDRESS OF TERMCAP IN X1.
- SA2 GTAA GET ADDRESS OF SYMPL PARAMETERS
- SA2 X2+1 GET ADDRESS PARAMETER
- SX7 X1 EXTRACT RESIDENT TERMCAP ADDRESS
- SA7 X2 STORE ADDRESS IN PARAMETER LIST
- EQ VDTGTAX RETURN
- LIST X
- *CALL COMCGTO
- LIST -X
- GTAA VFD 60/0 ADDRESS OF SYMPL PARAMETER LIST
- END
- IDENT VDTGTO
- ENTRY VDTGTO
- SYSCOM B1
- TITLE VDTGTO - GET TERMINAL ORDINAL.
- *COMMENT VDTGTO - GET TERMINAL ORDINAL.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GTO SPACE 4,10
- *** VDTGTO - GET TERMINAL ORDINAL.
- *
- * E.D. REDIG. 83/02/03.
- GTO SPACE 4,10
- *** *VDTGTO* PROVIDES AN INTERFACE TO *COMCGTO* FOR
- * PROGRAMS WRITTEN IN HIGHER LEVEL LANGUAGES.
- GTO SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTGTO(ORDINAL,MNEMONIC)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTGTO USING ORDINAL, MNEMONIC.
- *
- * ORDINAL = TERMINAL MODEL NUMBER.
- * MNEMONIC = TERMINAL MNEMONIC.
- GTO SPACE 4,10
- ** VDTGTO - GET TERMINAL ORDINAL.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 1, 2, 3.
- *
- * CALLS SFCNP$, SFCSP$, VDGTO.
- VDTGTO SUBR ENTRY/EXIT
- SB1 1
- SB2 GTOA FWA OF PARAMETER LIST
- SB3 GTOB LENGTH AND OFFSET
- RJ =XSFCNP$ COPY ORDINAL
- RJ =XSFCSP$ COPY MNEMONIC
- SA1 GTOB GET MNEMONIC LENGTH
- NZ X1,VGO1 IF VALID LENGTH
- SX6 10 ONE WORD LENGTH
- SA6 GTOB RESTORE MNEMONIC LENGTH
- VGO1 SA1 GTOA SET NEW PARAMETER LIST ADDRESS
- RJ VDGTO GET TERMINAL ORDINAL
- EQ VDTGTOX RETURN
- GTO SPACE 4,10
- ** VDGTO - GET TERMINAL ORDINAL.
- *
- * ENTRY (A1) = FWA OF NEW PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * EXIT RETURN TERMINAL ORDINAL CORRESPONDING TO MNEMONIC.
- *
- * USES X - 0, 1, 2, 3, 4, 5, 6.
- * A - 1, 2, 3, 6.
- * B - 1, 2, 3, 4, 5, 6, 7.
- *
- * CALLS GTO.
- VDGTO SUBR ENTRY/EXIT
- SB1 1
- SB7 X1 SAVE RETURN ADDRESS
- SA1 A1+B1 GET MNEMONIC
- SA2 A1+B1 GET LENGTH
- SA3 A2+B1 GET OFFSET
- SA1 X1
- SA2 X2
- SA3 X3+
- SX4 6
- SB6 X2 SAVE LENGTH
- IX4 X4*X3 COMPUTE SHIFT COUNT
- SB2 X4+
- SB4 X3 SAVE OFFSET
- LX1 B2 LEFT JUSTIFY FIRST WORD OF MNEMONIC
- SX4 10
- SB3 60 SHIFT COUNT
- IX4 X4-X3 COMPUTE CHARACTERS LEFT IN FIRST WORD
- BX6 X6-X6 CLEAR TERMINAL NAME
- SB5 X4 SAVE CHARACTERS LEFT IN FIRST WORD
- LX1 6 POSITION MNEMONIC
- SB2 6
- SX0 1R+
- MX3 -6 ONE CHARACTER MASK
- BX2 X2-X2
- VDG1 BX4 -X3*X1 GET A CHARACTER
- ZR X4,VDG3 IF END OF NAME
- IX5 X4-X0
- PL X5,VDG4 IF NOT ALPHANUMERIC
- LX6 6
- SB3 B3-B2 DECREMENT SHIFT COUNT
- BX6 X6+X4 TRANSFER A CHARACTER
- SB5 B5-B1 DECREMENT FIRST WORD COUNT
- LX1 6
- SB6 B6-B1 DECREMENT LENGTH COUNT
- ZR B6,VDG3 IF ENOUGH CHARACTERS
- GT B5,VDG1 IF MORE IN THIS WORD
- ZR B3,VDG2 IF FULL WORD
- SA1 A1+1 GET NEXT WORD
- SB5 B4 NUMBER OF CHARACTERS LEFT
- LX1 6 POSITION MNEMONIC
- EQ VDG1 LOOP FOR NEXT CHARACTER
- VDG2 NZ B6,VDGTOX IF TOO MANY CHARACTERS
- VDG3 NG B3,VDGTOX IF TOO MANY CHARACTERS
- VDG4 ZR X6,VDGTOX IF ZERO LENGTH NAME
- LX6 X6,B3 POSITION NAME
- BX2 X6
- RJ GTO GET TERMINAL ORDINAL
- SX6 X1
- SA6 B7 STORE ORDINAL
- EQ VDGTOX RETURN
- LIST X
- *CALL COMCGTO
- LIST *
- GTOA BSSZ 1 TERMINAL ORDINAL
- BSSZ 1 MNEMONIC
- BSSZ 1 ADDRESS OF MNEMONIC LENGTH
- BSSZ 1 ADDRESS OF MNEMONIC OFFSET
- BSSZ 1 ZERO TERMINATOR
- GTOB BSSZ 1 MNEMONIC LENGTH
- BSSZ 1 MNEMONIC OFFSET
- END
- IDENT VDTGTN
- ENTRY VDTGTN
- SYSCOM B1
- TITLE VDTGTN - GET TERMINAL MNEMONIC.
- *COMMENT VDTGTO - GET TERMINAL MNEMONIC.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- GTN SPACE 4,10
- *** VDTGTN - GET TERMINAL MNEMONIC.
- *
- * E.D. REDIG. 83/02/03.
- GTN SPACE 4,10
- *** *VDTGTN* PROVIDES AN INTERFACE TO *COMCGTO* FOR
- * PROGRAMS WRITTEN IN HIGHER LEVEL LANGUAGES.
- GTN SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTGTN(ORDINAL,MNEMONIC)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTGTN USING ORDINAL, MNEMONIC.
- *
- * ORDINAL = TERMINAL MODEL NUMBER.
- * MNEMONIC = TERMINAL MNEMONIC.
- GTN SPACE 4,10
- ** VDTGTN - GET TERMINAL NAME.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 1, 2, 3.
- *
- * CALLS SFCNP$, SFCSP$, VDGTN.
- VDTGTN SUBR ENTRY/EXIT
- SB1 1
- SB2 GTNA FWA OF PARAMETER LIST
- SB3 GTNB LENGTH AND OFFSET
- RJ =XSFCNP$ COPY ORDINAL
- RJ =XSFCSP$ COPY MNEMONIC
- SA1 GTNB GET MNEMONIC LENGTH
- NZ X1,VGN1 IF VALID LENGTH
- SX6 10 ONE WORD LENGTH
- SA6 GTNB RESTORE MNEMONIC LENGTH
- VGN1 SA1 GTNA SET NEW PARAMETER LIST ADDRESS
- RJ VDGTN GET TERMINAL NAME
- EQ VDTGTNX RETURN
- GTN SPACE 4,10
- ** VDGTN - GET TERMINAL MNEMONIC.
- *
- * ENTRY (A1) = FWA OF NEW PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * EXIT RETURN TERMINAL MNEMONIC CORRESPONDING TO ORDINAL.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 6.
- * B - 1, 2, 3, 4, 5, 6, 7.
- *
- * CALLS GTN.
- VDGTN SUBR ENTRY/EXIT
- SB1 1
- SA2 X1 GET ORDINAL
- SA1 A1+B1 GET MNEMONIC
- SB7 X1 SAVE RETURN ADDRESS
- SA3 A1+B1 GET LENGTH
- SA4 A3+B1 GET OFFSET
- SA3 X3
- SA4 X4+
- RJ GTN GET TERMINAL MNEMONIC
- SA2 B7+
- SX5 6
- SB6 X3 SAVE LENGTH
- IX5 X5*X4 COMPUTE SHIFT COUNT
- SB2 X5+
- SB4 X4 SAVE OFFSET
- LX2 B2 LEFT JUSTIFY FIRST WORD OF MNEMONIC
- SB5 10
- SX7 B2 SAVE SHIFT COUNT
- SB3 60 SHIFT COUNT
- SB5 B5-B4 COMPUTE CHARACTERS LEFT IN FIRST WORD
- LX1 6 POSITION MNEMONIC
- SB2 6
- MX3 -6 ONE CHARACTER MASK
- VDN1 BX4 -X3*X1 GET A CHARACTER
- NZ X4,VDN2 IF NOT END OF NAME
- SX4 1R
- VDN2 LX2 6
- BX2 X3*X2 CLEAR CHARACTER
- SB3 B3-B2 DECREMENT SHIFT COUNT
- BX2 X2+X4 TRANSFER A CHARACTER
- SB5 B5-1 DECREMENT FIRST WORD COUNT
- LX1 6
- SB6 B6-B1 DECREMENT LENGTH COUNT
- ZR B6,VDN4 IF ENOUGH CHARACTERS
- GT B5,VDN1 IF MORE IN THIS WORD
- ZR B3,VDN3 IF FULL WORD
- SB5 X7
- SB3 B3-B5 SHIFT COUNT
- SX7 B0
- LX6 X2,B3 POSITION MNEMONIC
- SA6 B7 STORE WORD ONE
- SA2 B7+B1 GET NEXT WORD
- SB7 A2+ SAVE RETURN ADDRESS
- SB5 B4 NUMBER OF CHARACTERS LEFT
- LX2 6 POSITION MNEMONIC
- SB3 60
- EQ VDN1 LOOP FOR NEXT CHARACTER
- VDN3 NZ B6,VDGTNX IF TOO MANY CHARACTERS
- VDN4 NG B3,VDGTNX IF TOO MANY CHARACTERS
- SB2 X7
- SB3 B3-B2 SHIFT COUNT
- LX6 X2,B3 POSITION NAME
- SA6 B7 STORE MNEMONIC
- EQ VDGTNX RETURN
- LIST X
- *CALL COMCGTO
- LIST *
- GTNA BSSZ 1 TERMINAL ORDINAL
- BSSZ 1 MNEMONIC
- BSSZ 1 ADDRESS OF MNEMONIC LENGTH
- BSSZ 1 ADDRESS OF MNEMONIC OFFSET
- BSSZ 1 ZERO TERMINATOR
- GTNB BSSZ 1 MNEMONIC LENGTH
- BSSZ 1 MNEMONIC OFFSET
- END
- IDENT VDTLOF$
- ENTRY VDTLOF$
- SYSCOM B1
- TITLE VDTLOF$ - SET LIST OF FILES.
- *COMMENT VDTLOF$ - SET LIST OF FILES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- LOF SPACE 4,10
- *** VDTLOF$ - SET LIST OF FILES.
- *
- * G.K. CHACE. 83/02/03.
- LOF SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCMD
- LOF SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTLOF$(PARAMETER);
- *
- * PARAMETER = ADDRESS TO LIST OF FILES TABLE.
- LOF SPACE 4,10
- ** VDTLOF$ - SET LIST OF FILES.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF LIST OF FILES TABLE.
- *
- * USES B - 1.
- *
- * MACROS SETLOF.
- VDTLOF$ SUBR ENTRY/EXIT
- SB1 1
- SETLOF X1
- EQ VDTLOF$X RETURN
- END
- IDENT VDTMSG$
- ENTRY VDTMSG$
- SYSCOM B1
- TITLE VDTMSG$ - SEND MESSAGE.
- *COMMENT SEND MESSAGE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- MES SPACE 4,10
- *** VDTMSG$ - SEND MESSAGE.
- *
- * G.K. CHACE. 83/02/03.
- MES SPACE 4,25
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTMSG$ (TEXT,OPTION,R)
- *
- * *SYMPL* CALL -
- *
- * VDTMSG$(TEXT,OPTION,1);
- *
- * (TEXT) = MESSAGE ARRAY, TERMINATED BY ZERO BYTE.
- * (OPTION) = 0, SEND MESSAGE TO SYSTEM DAYFILE,
- * LOCAL JOB DAYFILE, AND A AND B DISPLAYS.
- * = 1, SEND MESSAGE TO LINE 1 OF CONTROL POINT.
- * = 2, SEND MESSAGE TO LINE 2 OF CONTROL POINT.
- * = 3, SEND MESSAGE TO USER DAYFILE AND LINE
- * 1 OF CONTROL POINT.
- * = 4, SEND MESSAGE TO ERROR LOG DAYFILE.
- * = 5, SEND MESSAGE TO ACCOUNT DAYFILE.
- * = 6, SAME AS 0.
- * = 7, SAME AS 3.
- * = 9, SEND MESSAGE TO BINARY MAINTENANCE LOG.
- * = 5HLOCAL, SEND MESSAGE TO LOCAL JOB DAYFILE.
- MES SPACE 4,15
- *** VDTMSG$ - SEND MESSAGE.
- *
- * ENTRY (TEXT) - AN ARRAY WITH THE TEXT IN IT, OR AN ITEM
- * WITH TEXT IN IT.
- * (OPTION) - AN ITEM CONTAINING ONE OF THE OPTIONS.
- * (R) = 1, IF RECALL.
- *
- * USES X - 2, 3, 4.
- * A - 2, 3.
- * B - 1.
- *
- * MACROS MESSAGE.
- VDTMSG$ SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 ADDRESS OF OPTION
- SA2 X2 OPTION
- SA3 =0HLOCAL
- BX4 X2-X3
- ZR X4,MES1 IF LOCAL
- MESSAGE X1,X2,R
- EQ VDTMSG$X RETURN
- MES1 MESSAGE X1,LOCAL,R
- EQ VDTMSG$X RETURN
- END
- IDENT VDTPRT$
- ENTRY VDTPRT$
- SYSCOM B1
- TITLE VDTPRT$ - DISABLE/ENABLE PROMPT.
- *COMMENT VDTPRT$ - DISALBE/ENABLE PROMPT.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- PRT SPACE 4,10
- *** VDTPRT$ - DISABLE/ENABLE PROMPT.
- *
- * E.D. REDIG. 84/05/21.
- PRT SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTPRT$(PARAMETER);
- *
- * PARAMETER = PARAMETER TO PASS TO PROMPT MACRO.
- * = 0, DISABLE PROMPT.
- * = 1, ENABLE PROMPT.
- PRT SPACE 4,10
- ** VDTPRT$ - DISABLE/ENABLE PROMPT.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- *
- * USES X - 1.
- * A - 1.
- * B - 1.
- *
- * MACROS PROMPT.
- VDTPRT$ SUBR ENTRY/EXIT
- SB1 1
- SA1 X1+
- ZR X1,PRP1 IF PROMPT OFF
- PROMPT ON
- EQ VDTPRT$X RETURN
- PRP1 PROMPT OFF
- EQ VDTPRT$X RETURN
- END
- IDENT VDTRD$
- ENTRY VDTRD$
- SYSCOM B1
- TITLE VDTRD$ - READ FILE TO *CIO* BUFFER.
- *COMMENT READ FILE TO *CIO* BUFFER.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TRD SPACE 4,10
- *** VDTRD$ - READ FILE TO *CIO* BUFFER.
- *
- * G.K. CHACE. 83/02/03.
- TRD SPACE 4,10
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTRD$ (FILE,R)
- *
- * *SYMPL* CALL -
- *
- * VDTRD$(FILE,1);
- *
- * (FILE) = FIRST WORD OF THE FET.
- * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
- TRD SPACE 4,10
- *** VDTRD$ - READ FILE TO *CIO* BUFFER.
- *
- * ENTRY (FILE) - AN ARRAY THAT CONTAINS THE FET.
- * (R) = RECALL IF .NE. 0, RECALL IS REQUESTED.
- *
- * USES X - 2.
- * A - 2.
- * B - 1.
- *
- * MACROS READ.
- VDTRD$ SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 GET RECALL PARAMETER
- SA2 X2
- NZ X2,TRD1 IF RECALL
- READ X1
- EQ VDTRD$X RETURN
- TRD1 READ X1,R
- EQ VDTRD$X RETURN
- END
- IDENT VDTREC$
- ENTRY VDTREC$
- SYSCOM B1
- TITLE VDTREC$ - READ CODED LINE IN *C* FORMAT.
- *COMMENT READ CODED LINE IN *C* FORMAT.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- REC SPACE 4,10
- *** VDTREC$ - READ CODED LINE IN *C* FORMAT.
- *
- * G.K. CHACE. 83/02/03.
- REC SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTREC$ (FILE,BUF,N,STATUS)
- *
- * *SYMPL* CALL -
- *
- * VDTREC$(FILE,BUF,N,STATUS);
- *
- * (FILE) = FIRST WORD OF THE FET.
- * (BUF) = FIRST WORD OF THE WORKING BUFFER.
- * (N) = WORD COUNT OF THE WORKING BUFFER.
- REC SPACE 4,25
- *** VDTREC$ - READ CODED LINE IN *C* FORMAT.
- *
- * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
- *
- * ENTRY (FILE) = FWA OF THE FET.
- * (BUF) = FWA OF WORKING BUFFER.
- * (N) = WORD COUNT OF THE WORKING BUFFER.
- *
- * EXIT (STATUS) = 0, TRANSFER COMPLETE.
- * = -1, END-OF-FILE DETECTED ON FILE.
- * = -2, END-OF-INFORMATION DETECTED ON FILE.
- * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
- * TRANSFER WAS COMPLETE.
- * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
- * WORKING BUFFER.
- *
- * USES X - 3, 4, 5, 6.
- * A - 3, 4, 5, 6.
- * B - 1.
- *
- * MACROS READC.
- VDTREC$ SUBR ENTRY/EXIT
- SB1 1
- SA3 A1+B1 FWA OF WORKING BUFFER
- SA4 A3+B1 ADDRESS OF WORD COUNT
- SA5 A4+B1 (X5) = ADDRESS OF STATUS WORD
- SA4 X4 WORD COUNT
- READC X1,X3,X4
- BX6 X1
- SA6 X5
- EQ VDTREC$X RETURN
- END
- IDENT VDTREO$
- ENTRY VDTREO$
- SYSCOM B1
- TITLE VDTREO$ - READ ONE WORD.
- *COMMENT READ ONE WORD.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- REO SPACE 4,10
- *** VDTREO$ - READ ONE WORD.
- *
- * G.K. CHACE. 83/02/03.
- REO SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTREO$ (FILE,WORD,STATUS)
- *
- * *SYMPL* CALL -
- *
- * VDTREO$(FILE,WORD,STATUS);
- *
- * (FILE) = FIRST WORD OF THE FET.
- REO SPACE 4,20
- *** VDTREO$ - READ ONE WORD.
- *
- * ENTRY (FILE) = FIRST WORD OF THE FET.
- *
- * EXIT (WORD) = WORD READ IF (STATUS) = 0.
- * (STATUS) = 0, TRANSFER COMPLETE.
- * = -1, END-OF-FILE DETECTED ON FILE.
- * = -2, END-OF-INFORMATION DETECTED ON FILE.
- * = LWA, END-OF-RECORD DETECTED ON FILE BEFORE
- * TRANSFER WAS COMPLETE.
- * LWA = ADDRESS + 1 OF LAST WORD TRANSFERRED TO
- * WORKING BUFFER.
- *
- * USES X - 3, 5, 6, 7.
- * A - 3, 5, 6, 7.
- * B - 1.
- *
- * MACROS READO.
- VDTREO$ SUBR ENTRY/EXIT
- SB1 1
- SA3 A1+B1 ADDRESS OF WORD
- SA5 A3+B1 ADDRESS OF STATUS WORD
- BX0 X3
- READO X1
- SA6 X0 RETURN WORD READ
- BX7 X1 RETURN STATUS
- SA7 X5
- EQ VDTREO$X RETURN
- END
- *IF UNDEF,RETRO
- IDENT VDTSSL
- ENTRY VDTSSL
- SYSCOM B1
- TITLE VDTSSL - SET SCREEN/LINE MODE.
- *COMMENT VDTSSL - SET SCREEN/LINE MODE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SSL SPACE 4,10
- *** VDTSSL - SET SCREEN/LINE MODE.
- *
- * E.D. REDIG. 83/02/09.
- SSL SPACE 4,10
- *** *VDTSSL* PROVIDES AN INTERFACE TO *SETSLM* FOR PROGRAMS
- * WRITTEN IN HIGHER LEVEL LANGUAGES.
- SSL SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTSSL(MODEL,SCREEN)
- *
- * *COBOL5* CALL -
- *
- * ENTER VDTSSL USING MODEL, SCREEN.
- *
- * MODEL = TERMINAL MODEL NUMBER.
- * SCREEN = 0, IF LINE MODE.
- * = 1, IF SCREEN MODE.
- SSL SPACE 4,10
- ** VDTSSL - SET SCREEN/LINE MODE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = FWA OF MODEL NUMBER.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- * B - 1.
- *
- * CALLS SETSLM.
- VDTSSL SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 GET SCREEN/LINE
- SA1 X1 GET ORDINAL
- SA2 X2
- SX6 X1
- ZR X2,SSL1 IF LINE MODE
- SX2 B1+ SET SCREEN MODE
- LX2 6
- BX6 X6+X2
- SSL1 SA6 SSLA SET PARAMETER WORD
- SETSLM SSLA,W SET SCREEN/LINE MODE
- EQ VDTSSLX RETURN
- SSLA CON 0 *SETSLM* PARAMETER WORD
- END
- IDENT VDTRWD
- ENTRY VDTRWD
- SYSCOM B1
- TITLE VDTRWD - REWIND LOCAL FILE.
- *COMMENT VDTRWD - REWIND LOCAL FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- RWD SPACE 4,10
- *** VDTRWD - REWIND LOCAL FILE.
- *
- * M. L. SWANSON. 84/05/09.
- RWD SPACE 4,10
- *** *VDTRWD* PROVIDES AN INTERFACE TO HIGH-LEVEL
- * LANGUAGES USING THE *REWIND* MACRO.
- RWD SPACE 4,10
- *** REWIND SPECIFIED LOCAL FILE.
- *
- * CALLING SEQUENCE.
- *
- * *SYMPL* CALL -
- *
- * VDTRWD(ADDRESS,RECALL);
- *
- * ADDRESS = ADDRESS OF FET.
- * RECALL = AUTO RECALL ( 0 = NO RECALL ).
- RWD SPACE 4,10
- ** VDTRWD - REWIND SPECIFIED LOCAL FILE.
- *
- * ENTRY (A1) = FWA OF FORMAL PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 2, 3.
- * A - 2, 3.
- * B - 1.
- *
- * MACROS REWIND.
- VDTRWD SUBR ENTRY/EXIT
- SB1 1
- SA3 A1 GET ADDRESS OF FET PARAMETER
- SA2 A1+B1 GET RECALL PARAMETER ADDRESS
- SA2 X2+ GET RECALL PARAMETER
- ZR X2,RWD1 IF NO AUTO RECALL SPECIFIED
- REWIND X3 REWIND FILE WITHOUT RECALL
- EQ VDTRWDX RETURN
- RWD1 REWIND X3,1 REWIND WITH AUTO RECALL
- EQ VDTRWDX RETURN
- END
- *ENDIF
- IDENT VDTWRC$
- ENTRY VDTWRC$
- SYSCOM B1
- TITLE VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
- *COMMENT WRITE CODED LINE IN *C* FORMAT.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- WRC SPACE 4,10
- *** VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
- *
- * G.K. CHACE. 83/02/03.
- WRC SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTWRC$ (FILE,BUF)
- *
- * *SYMPL* CALL -
- *
- * VDTWRC$(FILE,BUF);
- *
- * (FILE) = FIRST WORD OF THE FET.
- * (BUF) = FIRST WORD OF THE WORKING BUFFER.
- WRC SPACE 4,15
- *** VDTWRC$ - WRITE CODED LINE IN *C* FORMAT.
- *
- * TRANSFERS DATA UNTIL THE END OF LINE BYTE (0000) IS SENSED.
- *
- * ENTRY (FILE) = FIRST WORD OF THE FET.
- * (BUF) = FIRST WORD OF THE WORKING BUFFER.
- *
- * USES X - 3.
- * A - 3.
- * B - 1.
- *
- * MACROS WRITEC.
- VDTWRC$ SUBR ENTRY/EXIT
- SB1 1
- SA3 A1+B1 FWA OF WORKING BUFFER
- WRITEC X1,X3
- EQ VDTWRC$X RETURN
- END
- IDENT VDTWRO$
- ENTRY VDTWRO$
- SYSCOM B1
- TITLE VDTWRO$ - WRITE ONE WORD.
- *COMMENT WRITE ONE WORD.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- WRO SPACE 4,10
- *** VDTWRO$ - WRITE ONE WORD.
- *
- * G.K. CHACE. 83/02/03.
- WRO SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTWRO$ (FILE,WORD)
- *
- * *SYMPL* CALL -
- *
- * VDTWRO$(FILE,WORD);
- *
- * (FILE) = FIRST WORD OF THE FET.
- * (WORD) = WORD TO BE TRANSFERRED.
- WRO SPACE 4,10
- *** VDTWRO$ - WRITE ONE WORD.
- *
- * ENTRY (FILE) = FIRST WORD OF THE FET.
- * (WORD) = WORD TO BE TRANSFERRED.
- *
- * USES X - 3, 6.
- * A - 3.
- * B - 1.
- *
- * MACROS WRITEO.
- VDTWRO$ SUBR ENTRY/EXIT
- SB1 1
- SA3 A1+B1 ADDRESS OF WORD
- SA3 X3 WORD
- BX6 X3
- WRITEO X1
- EQ VDTWRO$X RETURN
- END
- IDENT VDTWRR$
- ENTRY VDTWRR$
- SYSCOM B1
- TITLE VDTWRR$ - WRITE END OF RECORD.
- *COMMENT WRITE END OF RECORD.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- WRR SPACE 4,10
- *** VDTWRR$ - WRITE END OF RECORD.
- *
- * G.K. CHACE. 83/02/03.
- WRR SPACE 4,15
- *** CALLING SEQUENCE.
- *
- * *FORTRAN5* CALL -
- *
- * CALL VDTWRR$ (FILE,R)
- *
- * *SYMPL* CALL -
- *
- * VDTWRR$(FILE,R);
- *
- * (FILE) = FIRST WORD OF THE FET.
- * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
- WRR SPACE 4,10
- *** VDTWRR$ - WRITE END OF RECORD.
- *
- * ENTRY (FILE) = FIRST WORD OF THE FET.
- * (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
- *
- * USES X - 2.
- * A - 2.
- * B - 1.
- *
- * MACROS WRITER.
- VDTWRR$ SUBR ENTRY/EXIT
- SB1 1
- SA2 A1+B1 GET RECALL PARAMETER
- SA2 X2
- NZ X2,WRT1 IF RECALL REQUESTED
- WRITER X1
- EQ VDTWRR$X RETURN
- WRT1 WRITER X1,R
- EQ VDTWRR$X RETURN
- END
cdc/nos2.source/opl871/vdtsubs.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator