IDENT TARO ENTRY TARO SYSCOM B1 TITLE TARO - TERMINAL ARGUMENT OPERATIONS. *COMMENT TARO - TERMINAL ARGUMENT OPERATIONS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4 ***** TARO - TERMINAL ARGUMENT OPERATIONS. * * J. C. BOHNHOFF. 72/08/31. * W. E. MARTIN. 78/09/30. SPACE 4 * COMMON TEXTS. *CALL COMCMAC *CALL COMKMAC *CALL COMSPRD SPACE 4,45 *** TARO - TERMINAL ARGUMENT OPERATIONS. * * ENTRY FORMAT - * * FORTRAN EXTENDED - * * CALL TARO ( VALUE, MASK, TERM, RETURN ) * * COBOL - * * ENTER TARO USING VALUE, MASK, TERM, RETURN. * * WHERE - (VALUE) = A 24 BIT VALUE TO BE USED TO ALTER TERMINAL * USER ARGUMENT AREA. * * MASK - A VALUE TAKEN AS A BINARY MASK - ONLY THE * LOWEST 24 BITS ARE USED. * * TERM - THE NAME OF THE TERMINAL FOR WHICH THE * OPERATION IS TO BE DONE. IF ABSENT OR ZERO, IT IS * IS ASSUMNED THE TERMINAL THAT ORIGINED THE CALLING * TRANSACTION, AND THE NAME MAY BE 1 - 7 CHARACTERS, * LEFT JUSTIFIED BINARY ZERO FILLED, OR LEFT-JUSTIFIED * BLANK FILLED. * * RETURN - LOCATION IN WHICH TO PLACE THE RESULTANT * USER ARGUMENT BITS. THIS VALUE IS ALSO RETURNED * AS THE VALUE OF A FORTRAN FUNCTION. (OPTIONAL). * * NOTES - * * THE *USER ARGUMENT* AREA (24 BITS IN EACH TERMINAL TABLE * ENTRY) IS OPERATED UPON AS FOLLOWS - * * RETURN = USER ARG = (USER ARG .AND. MASK) .XOR. VALUE. * * SEE *TAF* LISTING FOR FORMAT OF TERMINAL-TABLE ENTRIES. * * USES A - 1, 2, 3, 5, 6, 7. * X - ALL. * B - 1. * CALLS ZFN. * * MACROS TARO. VFD 42/0LTARO,18/TARO TAR3 SA1 TARB RESTORE (A0) SA0 X1+ TARO SUBR ENTRY/EXIT SX6 A0 SAVE (A0) SA2 X1 READ VALUE SA6 TARB SB1 1 SA3 A1+B1 READ MASK ADDRESS BX5 X5-X5 ASSUME NO RETURN SA4 A1+2 READ TERMINAL NAME ADDRESS MX0 -24 SA3 X3 READ MASK ZR X4,TAR1 IF NO TERMINAL NAME OR RETURN ADDRESS SA5 A4+1 RETURN ADDRESS SA4 X4 READ TERMINAL NAME UX6 X4 NZ X6,TAR1 IF NOT DEFAULT ORIGINATING TERMINAL BX4 X4-X4 TAR1 MX6 42 BX2 -X0*X2 (X2) = VALUE BX4 X6*X4 (X4) = TERMINAL NAME LX2 30 POSITION VALUE BX5 -X6*X5 (X5) = RETURN BX3 -X0*X3 (X3) = MASK BX7 X2+X3 (X7) = VALUE AND MASK BX1 X4 SA7 TARA+1 ZR X4,TAR2 IF ORIGINATING TERMINAL RJ ZFN ZERO FILL NAME TAR2 IX6 X1+X5 (X6) = TERMINAL NAME AND RETURN ADDRESS SA6 TARA STORE ARGUMENT WORD TARO A6 ISSUE REQUEST TO EXECUTIVE ZR X5,TAR3 IF NO RETURN VALUES DESIRED SA1 X5 READ RETURN VALUE BX6 X1 (X6) = FUNCTION RETURN EQ TAR3 RESTORE (A0) AND RETURN TARA CON 0 STORAGE FOR *TARO* ARGUMENTS CON 0 TARB CON 0 STORAGE FOR (A0) SPACE 4 * COMMON DECK. *CALL COMKZFN SPACE 4 END