/339 DISPLAY-FORTRAN CALLABLE SUBPROGRAM PACKAGE /SUBPICTURE DISPLAY FILE GENERATION H SPENCER, 9/68 /@COPYRIGHT 1968 DIGITAL EQUIPMENT CORP. / /CALLING SEQUENCES: / 1) TO GENERATE A LINE: / JMS LINE / JMP .+5 /(OR .+4, IF PNAME IS NOT GIVEN) / .DSA DELTAY /Y INCREMENT,10 BITS,2'S COMPLEMENT. / .DSA DELTAX /X INCREMENT. . . . / .DSA LT /INTENSIFICATION (1=ON,0=OFF) / [.DSA PNAME] /FIRST LOCATION OF THIS SUBPICTURE FILE / IF PNAME IS NOT GIVEN, THE LAST ONE GIVEN IS USED. / / 2) TO GENERATE A LINE OF TEXT: / JMS TEXT / JMP .+4 /(OR .+3 IF PNAME IS NOT GIVEN) / .DSA STR /FIRST WORD OF TEXT STRING TO BE DISPLAYED / .DSA N /NUMBER OF CHARACTERS (DELTAX=6N) / [.DSA PNAME] /BEGINNING OF SUBPICTURE FILE / / 3) TO GENERATE A DISPLAY COPY OF ANOTHER SUBPICTURE: / JMS COPY / JMP .+3 /(OR .+2 IF PNAME IS NOT GIVEN) / .DSA PNAME1 /POINTER TO THE SUBPIC TO BE COPIED / [.DSA PNAME] /POINTER TO BEGINNING OF THIS SUBPIC / / 4) TO INSERT PARAMETER SETTINGS IN THE SUBPICTURE FILE: / JMS PRAMTR / JMP .+N /N=2+# OF SETTINGS REQUESTED +1 IF PNAME GIVEN / .DSA FEATR[S] /SUM OF FEATURE IDS FOR WHICH SETTINGS / /ARE REQUESTED. / .DSA VALUE1 /VALUES OF SETTINGS REQUESTED, IN / /ASCENDING NUMERICAL ORDER OF ID. / . . . / .DSA VALUEM / [.DSA PNAME] /BEGINNING OF THIS SUBPICTURE. / / 5) TO GENERATE A GRAPH: / JMS GRAPH / JMP .+5 /(OR .+4 IF PNAME IS NOT GIVEN) / .DSA DTA /FIRST WORD OF DATA TO BE GRAPHED. / .DSA N /NUMBER OF DATA POINTS TO BE DISPLAYED. / .DSA A /IF 0,INCREMENT X AND SET Y. / [.DSA PNAME] /POINTER TO THE BEGINNING OF THIS SUBPIC. / /339 DISPLAY CODE VEC=1120 /MODE=VECTOR GRPL=1160 /MODE=GRAPHPLOT EDS=1101 /ENTER DATA STATE POP=3000 /SUBROUTINE RETURN PJMP=2010 /SUBROUTINE PUSH-JUMP CHAR=1150 /MODE=CHARACTER (5) CHMOD=70000 /CHARACTER MODE INDICATOR SC=400 /ENABLE SCALE SETTING INT=10 /ENABLE INTENSITY SETTING LPOF=40 /ENABLE CHANGE OF LIGHT PEN SETTING BKOF=6301 /ENABLE CHANGE OF BLINK SETTING .GLOBL LINE .GLOBL GRAPH .GLOBL TEXT .GLOBL COPY .GLOBL PRAMTR /SUBROUTINE LINE LINE 0 /LINE ENTRY POINT LAC (JMP 4 /LENGTH OF ARGUMENT LIST DAC ARGLG LAC (20000 /DATA MODE=VECTOR DAC MODE LAC LINE /SAVE RETURN ADDRESS JMP INIT /GO TO MAIN PROCESSING /SUBROUTINE GRAPH GRAPH 0 LAC (JMP 4 /LENGTH OF ARGUMENT LIST. DAC ARGLG LAC (60000 /DATA MODE=GRAPHPLOT. DAC MODE LAC GRAPH /SAVE RETURN ADDRESS. JMP INIT /GO TO MAIN PROCESSING. /SUBROUTINE TEXT TEXT 0 /TEXT ENTRY POINT LAC (JMP 3 /LENGTH OF ARGUMENT LIST DAC ARGLG LAC (CHMOD /DATA MODE=CHARACTER (50000=VC38; DAC MODE /SHOULD BE 70000 FOR VA38) LAC TEXT /SAVE RETURN ADDRESS JMP INIT /GO TO MAIN PROCESSING /SUBROUTINE COPY COPY 0 /COPY ENTRY LAC (JMP 2 /LENGTH OF ARGUMENT LIST DAC ARGLG LAC (700000 /MODE=CONTROL STATE DAC MODE LAC COPY /SAVE RETURN ADDRESS JMP INIT /GO TO MAIN PROCESSING /SUBROUTINE PRAMTR PRAMTR 0 LAC PRAMTR /GET RETURN ADDRESS. JMS GETARG /GO GET ARGUMENTS. LAC (710000 /SET MODE SWITCH. DAC MODE LAC (ARG1 /SET UP POINTER TO LOCAL DAC ARGP /ARGUMENT STORAGE. DZM TEMP1 /CLEAR DISPLAY CODE TEMP STORE. DZM TEMP2 /DECIDE WHICH PARAMETER SETTINGS WERE ASKED FOR AND GET THEIR VALUES LAC* FEATR /GET SETTING BITS SKP PRM10 LAC TVTMP3 /GET FEATURE BITS INTO AC. SNA /DONE YET? JMP PRM25 /YES. RCR /BOTTOM BIT INTO L. DAC TVTMP3 /SAVE REMAINDER. SNL /WAS THAT SETTING ASKED FOR? JMP PRM20 /NO, RECYCLE. ISZ ARGP /BUMP ARGUMENT POINTER. LAC* ARGP /GET ARGUMENT, DAC TEMP /GET ITS VALUE. LAC* TEMP PRM15 JMP* PRMTBL /GO EXECUTE THE APPROPRIATE ROUTINE. PRM20 ISZ PRM15 /POINT TO NEXT ROUTINE, CORRESPONDING TO NEXT BIT. JMP PRM10 /RECYCLE. PRM25 LAC (JMP* PRMTBL /RESET DISPATCH POINTER DAC PRM15 /DETERMINE WHETHER PNAME WAS GIVEN AND IF SO GET IT. LAC ARGP /IF THE LOCAL ARGUMENT POINTER NOW POINTS SAD LINE /TO THE LAST ARG GOTTEN BY GETARG, THEN JMP INIT10 /PNAME WAS NOT GIVEN. ISZ ARGP /IF THERE IS ONE MORE ARGUMENT IN LAC* ARGP /THE LIST, IT IS PNAME. DAC PNAME JMP INIT10 /GENERATE SCALE SETTING FROM VALUE IN AC SCALE RTL /LEFT SHIFT 6. RTL RTL AND (300 XOR (SC /ENABLE SCALE CHANGE. DAC TEMP1 /SET ASIDE FOR LATER INSERTION IN FILE. JMP PRM20 /RETURN TO DISPATCHER. /GENERATE INTENSITY SETTING FROM VALUE IN AC INTENS XOR (INT /ENABLE INTENSITY CHANGE. XOR TEMP1 /INCLUDE IN WORD TO BE DAC TEMP1 /INSERTED IN DISPLAY FILE JMP PRM20 /RETURN TO DISPATCHER. /GENERATE LIGHT PEN SETTING FROM VALUE IN AC. LTPN SZA /1=LPON, 0=LPOF. LAC (20 /ON BIT. TAD (LPOF /ENABLE LIGHT PEN SETTING. XOR TEMP1 /INCLUDE IN DISPLAY FILE WORD DAC TEMP1 JMP PRM20 /RETURN TO DISPATCHER /GENERATE BLINK SETTING FROM VALUE IN AC. BLINK SZA /1=BKON, 0=BKOF. LAC (1 /ON BIT. TAD (BKOF /SET BLINK CIRCUIT. DAC TEMP2 /SAVE FOR DISPLAY FILE. JMP PRM20 /RETURN TO DISPATCHER. /GENERAL GET-ARGUMENT-POINTERS ROUTINE GETARG 0 /ENTRY POINT DAC ARGP /IN ARGUMENT POINTER LAC* ARGP /GET JMP OVER ARGUMENT LIST. AND (17777 /LOSE "JMP", DAC TEMP /SAVE. LAC (ARG1-1 /SET UP POINTER TO START OF DAC LINE /LOCAL ARGUMENT STORE. GTRG10 ISZ ARGP /INCREMENT ARGUMENT POINTER. LAC ARGP /SEE IF IT POINTS PAST AND (17777 /(SAVE 13 BIT ADDRESS) SAD TEMP /THE END OF THE ARGUMENT LIST. JMP* GETARG /GO OUT IF IT DOES. LAC* ARGP /GET THE ARGUMENT. SMA /IS IT INDIRECT (BIT0 ON)? JMP GTRG15 /NO, GO PUT IT AWAY. DAC TEXT /GET THE REAL ARGUMENT POINTER AT LAC* TEXT /BY THE APPARENT ARGUMENT, GTRG15 ISZ LINE /INCREMENT LOCAL STORAGE POINTER DAC* LINE /PUT IT IN LOCAL STORE AND JMP GTRG10 /RECYCLE. /BEGIN MAIN PROCESSING INIT DAC RETAD /SAVE RETURN ADDRESS. JMS GETARG /FETCH ARGUMENT POINTERS. /SEE IF PNAME WAS GIVEN AND GET IT IF SO LAC RETAD AND (17777 TAD ARGLG /AC=POINTER TO SUPPOSED LAST ARGUMENT SAD* RETAD /IS IT THE RETURN ADDRESS? JMP INIT10 /YES; PNAME WAS NOT GIVEN. LAC* LINE /NO; LAST ARGUMENT CONTAINS PNAME. DAC PNAME /SAVE IT. /SET UP SUBPICTURE FILE POINTERS INIT10 LAC PNAME /BEGINNING OF FILE (PNAME(1)) TAD D.1 /MOVE TO FIRST DISPLAY LOCATION DAC D1LOC /POINTER TO FIRST DISPLAY LOCATION DZM D1SAV /CLEAR SAVE LOC FOR FIRST DISPLAY INSTRUCTION. DAC TEMP /ASSUME NEW FILE (NO SUCH MODE). /SET UP FILE POINTER AND DETERMINE IF NEW OR OLD FILE. LAC* PNAME /PNAME(1)=0 FOR NEW FILES, SNA / =LENGTH OF OLD FILES. LAC D.1 /STARTING ADDRESS FOR NEW FILE=D.1 TAD PNAME /+PNAME. DAC PNPTR /POINTS TO FIRST AVAILABLE LOCATION IN FILE SAD D1LOC /IF=TO PNAME(3), THIS IS A NEW FILE. JMP NEWFL /START PROCESSING OF OLD FILE LAC* PNPTR /GET LAST DISPLAY INSTRUCTION (POP) AND (770000 /SAVE HI ORDER MODE BITS DAC TEMP /SET ASIDE LAC* D1LOC /SAVE FIRST DISPLAY LOCATION. DAC D1SAV LAC (POP /SET FIRST DISPLAY INST TO POP TO TURN DAC* D1LOC /OFF THIS SUBPICTURE WHILE PROCESSING. /START PROCESSING OF NEW FILE NEWFL LAC MODE /GET DATA MODE OF CURRENT CALL SPA /CONTROL STATE (70)? JMP CNTRL SAD (20000 /VECTOR? JMP VECTOR SAD (60000 /GRAPHPLOT? JMP GRPH SAD (CHMOD /CHARACTER? /MODE = CONTROL STATE JMP CHAR5 CNTRL XOR (700000 /CLEAR BITS 0-2 SNA /(7)0=COPY, (7)1=PRAMTR JMP PJUMP /CALL TO COPY JMP PARAM /CALL TO PRAMTR /PROCESS CALL TO COPY. PJUMP LAC PNAME1 /GET ADDRESS OF PJMP. RTL; RTL; RTL; RAL /MOVE BITS 3-5 INTO 15-17. AND (7 /CLEAN OUT ALL BUT BREAK FIELD. TAD (PJMP /DISPLAY PJMP+BREAK FIELD. DAC* PNPTR /INSERT IN PLACE OF EXISTING POP. ISZ PNPTR /NEXT LOC IN DISPLAY FILE. LAC PNAME1 /GET NAME OF SUBPICTURE TO COPY. TAD (2 /POINT TO FIRST DISPLAY INSTRUCTION. DAC* PNPTR /INSERT IN FILE. JMP RETRN /GO CLOSE UP /LAST PART OF CALL TO PRAMTR - PLACE REQUESTED PARAMETERS SETTINGS IN FILE. PARAM LAC TEMP1 /CONTAINS SCALE, INTENSITY, LP SETTINGS SZA /WERE THERE ANY? JMP PARAM3 /YES LAC TEMP2 /NO,GET BLINK WORD JMP PARAM5 PARAM3 DAC* PNPTR /YES, PUT INTO DISPLAY FILE. LAC TEMP2 /CONTAINS BLINK SETTING SNA /WAS ONE? JMP RETRN /NO, RETURN. ISZ PNPTR /YES,KICK FILE POINTER PARAM5 DAC* PNPTR /AND PUT IN THE FILE. JMP RETRN /RETURN. /PROCESS CALL TO LINE; MODE=VECTOR VECTOR SAD TEMP /NEW MODE=OLD MODE? JMP OLDVEC /YES, GO CLEAR ESCAPE BIT LAC (VEC!EDS /VEC!EDS DAC* PNPTR /INTO NEXT DISPLAY LOCATION VECT10 ISZ PNPTR /INCREMENT LOCATION COUNTER. LAC* DELTAY /GET VALUE OF Y INCREMENT. SMA /CONVERT TO SIGN-MAGNITUDE IF MINUS. JMP VECT15 CMA /POSITIVE MAGNITUDE, TAD (1 XOR (2000 /INSERT MINUS SIGN BIT. VECT15 DAC DELTAY LAC* LT /GET LINE TYPE (1=INTENSIFY,0=OFF) SZA!CLA LAC (4000 /SET BIT ACCORDINGLY XOR DELTAY /IN DELTA Y. DAC* PNPTR /INSERT IN FILE. LAC* DELTAX /GET DELTA X, SMA /CONVERT TO SIGN-MAGNITUDE IF MINUS. JMP VECT20 CMA /POSITIVE MAGNITUDE, TAD (1 XOR (2000 /INSERT MINUS SIGN BIT. VECT20 XOR (4000 /INSERT ESCAPE BIT, ISZ PNPTR /UP THE FILE POINTER DAC* PNPTR /AND STICK DELTAX INTO THE FILE. JMP RETRN /RETURN. OLDVEC JMS OLDVG /GO CLEAR ESCAPE BIT JMP VECT10 /GO FOR NEXT DATA WAORD. /NEW MODE=OLD MODE=VECTOR OR GRAPHPLOT. CLEAR ESCAPE BIT. OLDVG 0 LAW -1 /BACK UP PNPTR ONE LOCATION TAD PNPTR DAC PNPTR LAC* PNPTR /GET LAST DATA WORD XOR (4000 /CLEAR ESCAPE BIT DAC* PNPTR /RETURN IT TO FILE JMP* OLDVG /RETURN. /PROCESS CALL TO GRAPH; MODE=GRAPHPLOT GRPH SAD TEMP /NEW MODE=OLD MODE? JMP OLDGRF /YES,GO CLEAR ESCAPE BIT. LAC (GRPL!EDS DAC* PNPTR /INTO NEXT DISPLAY LOCATION. GRPH10 ISZ PNPTR /INCREMENT DISPLAY POINTER. LAC* N /GET NUMBER OF DATA POINTS CMA; TAD (1 DAC TVCNT /INTO COUNTER. LAC* A /0=INCREMENT X,PLOT Y. SZA LAC (2000 /SET BIT TO INCREMENT Y,PLOT X. DAC A GRPH20 LAC* DTA /GET A DATA POINT. AND (1777 /SAVE LOW 10 BITS. XOR A /INSERT DIRECTION BIT. DAC* PNPTR /INSERT IN DISPLAY FILE. ISZ DTA /NEXT DATA POINT. ISZ PNPTR /NEXT DISPLAY LOCATION. ISZ TVCNT /CHECK COUNT OF POINTS. JMP GRPH20 /RECYCLE. XOR (4000 /DONE,INSERT ESCAPE BIT. DAC* PNPTR JMP RETRN /RETURN. OLDGRF JMS OLDVG /CLEAR ESCAPE BIT. JMP GRPH10 /GO GET DATA. /PROCESS CALL TO TEXT; MODE=CHAR5 CHAR5 SAD TEMP /NEW MODE=OLD MODE? JMP OLDCHR /YES, GO CLEAR ESCAPE CHAR. LAC (CHAR!EDS /CHAR!EDS DAC* PNPTR /INTO DISPLAY FILE /CONVERT IOPS ASCII LINE BUFFER TO DISPLAY TEXT TVGT10 DZM TVLRCH /INDICATE LEFT CHARACTER TO START TVGT11 LAC* N /SET UP CHARACTER COUNT GIVEN CMA /BY USER TAD (1 DAC TVCNT /INTO COUNTER TVGT20 LAC* TVTXT /GET WORD1 OF A PAIR DAC PWRD2 ISZ TVTXT LAC* TVTXT /GET WORD 2 DAC PWRD3 ISZ TVTXT LAW -5 /SET UP A COUNTER FOR DAC TVTMP3 / 5 CHARS PER WORD PAIR TVGT22 JMS PRAL7 /GO GET ONE CHAR OUT AND (177 /CLEAR THE REST OF THE WORD JMS TVLN /SEND CHAR TO DISPLAY BUILDER ISZ TVCNT /INCREMENT COUNT OF CHARS IN DISPLAY FILE JMP TVGT26 /GO GET NEXT CHAR FROM WROD PAIR JMP TVGT30 /GO PROCESS THIS BUFFER TVGT26 ISZ TVTMP3 /INCREMENT CHAR COUNT IN WORD PAIR JMP TVGT22 /NEXT CHARACTER JMP TVGT20 /NEXT WORD PAIR /END OF TEXT STRING, INSERT ESCAPE CHARACTER TVGT30 LAC TV.ESC /GET ESCAPE CHARACTER JMS TVLN30 /INSERT IN BUFFER JMP RETRN /RETURN. / SUBROUTINE TO INSERT DISPLAY CHARACTER CODE INTO THE BUFFER /POINTED TO BY TVCUR. TVLN 0 /RETURN ADDRESS SAD (11 /TAB JMP TVLN40 /PROCESS TAB CHARACTER SAD (15 /CARRIAGE RETURN JMP TVLN20 /DISREGARD THIS CHAR,REPLACE BY BLANK SAD (175 /ALT MODE JMP TVLN20 SAD (12 /LINE FEED JMP TVLN18 /PROCESS LINE FEED. SAD (44 /$ DISREGARDED JMP TVLN20 SAD (45 /% DISREGARDED JMP TVLN20 SAD (46 /& DISREGARDED JMP TVLN20 SAD (100 /@ DISREGARDED JMP TVLN20 /MAKE SURE ASCII IS BETWEEN 40 AND 137. DAC TEMP /SAVE CHAR TAD (-40 SPA /GOOD IF GREATER THAN 40 JMP TVLN20 /OTHERWISE NO GOOD. TAD (-100 SMA /GOOD IF LESS THAN 40+77=137 JMP TVLN20 /OTHERWISE NO GOOD. LAC TEMP /RESTORE CHAR TO AC. AND (77 /CLEAR HIGH ORDER BIT. TVLN11 JMS TVLN30 /GO INSERT CHARACTER ISZ TVTBCT /INCREMENT COLUMN COUNTER FOR TABS JMP* TVLN /RETURN IF OK TVLN12 LAW -12 /RESET COLUMN COUNTER TO 10 DAC TVTBCT JMP* TVLN /AND RETURN /PROCESS LINE FEED TVLN18 LAC TV.LF /GET LINE FEED OUT OF TABLE JMP TVLN11 /GO STICK IT IN BUFFER /PROCESS DISREGARDED CHARACTERS TVLN20 LAC TVTABL /GET DISPLAY BLANK (SPACE) JMP TVLN11 /INSERT CHARACTER TVLN30 0 /RETURN ADDRESS XOR TVLRCH /BIT 0 = 0 OR 1 FOR L OR R CHAR SPA JMP TVLN32 /RIGHT CHAR RTL /SHIFT LEFT 6 RTL /FOR LEFT CHAR RTL AND (7700 /CLEAR LOW-ORDER TRASH ISZ TVCUR /POINT TO NEXT FREE LOCATION DAC* TVCUR /INSERT LEFT CHAR LAC (400000 /SET UP TO INDICATE RIGHT CHAR DAC TVLRCH JMP* TVLN30 /RETURN TVLN32 XOR* TVCUR /STICK NEW CHAR INTO RIGHT SIDE DAC* TVCUR DZM TVLRCH /SET UP TO INDICATE LEFT CHAR JMP* TVLN30 /RETURN /PROCESS TAB CHARACTER TVLN40 LAC TVTABL /GET A SPACE FROM THE TABLE JMS TVLN30 /INSERT IN DISPLAY FILE ISZ TVTBCT /INCREMENT AND CHECK COLUMN COUNTER JMP TVLN40 /GET ANOTHER SPACE JMP TVLN12 /GO RESET COLUMN COUNTER AND EXIT /EXTRACT 7-BIT ASCII FROM 5/7 WORD PAIRS, COURTESY A.W.WILSON PRAL7 0 LAW -7 /SET UP SEVEN-BIT COUNTER. DAC PK7BTS /.. PRALL7 LAC PWRD3 /ROTATE A SINGLE BIT RAL /FROM PWRD3 TO PWRD1. DAC PWRD3 LAC PWRD2 RAL DAC PWRD2 LAC PWRD1 RAL DAC PWRD1 ISZ PK7BTS /COUNT 7 BITS TO GET. JMP PRALL7 /NOT FINISHED, ROTATE OUT ONE MORE BIT. JMP* PRAL7 /ALL DONE, RETURN TO CALLER. /CONSTANTS, ETC TVCNT /LOOP COUNTER TVTBCT -12 /COLUMN COUNTER FOR TABS TVLRCH 0 /INDICATES LEFT OR RIGHT CHAR IN DISPLAY BUFFER TVTABL 40 /SPACE TV.LF 45 /LINE FEED TV.ESC 46 /ESCAPE TO CONTROL STATE /OLD MODE = NEW MODE = CHAR5; CLEAR ESCAPE CHAR AND SET CHAR L/R POINTER OLDCHR LAW -1 /BACK UP PNPTR ONE LOCATION TAD PNPTR DAC PNPTR LAC* PNPTR /GET LAST WORD OF TEXT AND (7700 /CHECK IF ESCAPE CHAR IS L OR R SAD ESC JMP OLDCH2 /ESCAPE CHAR IN LEFT OF WORD DAC* PNPTR /RETURN WORD WITH GOOD CHAR LEFT. LAC (400000 /POINT TO RIGHT SIDE OF WORD. DAC TVLRCH JMP TVGT11 /PROCEED WITH NEW TEXT OLDCH2 LAW -1 /BACK FILE POINTER UP ONE MORE TAD PNPTR DAC PNPTR JMP TVGT10 /PROCEED WITH NEW TEXT /RETURN PROCESSING RETRN ISZ PNPTR /INCREMENT DISPLAY LOCATION COUNTER LAC MODE /MODE OF THIS CALL INTO LAST XOR (POP /DISPLAY INSTRUCTION HI-ORDER BITS DAC* PNPTR LAC PNPTR /PNPTR-PNAME=CURRENT CMA /LENGTH OF FILE; TAD PNAME CMA DAC* PNAME /INTO PNAME(1). LAC D1SAV /RESTORE DISPLAY INSTRUCTION, SZA /IF THERE WAS ONE, DAC* D1LOC /AT PNAME (3). JMP* RETAD /RETURN. RETAD=PRAMTR /SAVE LOC FOR RETURN ADDRESS ARGLG /LENGTH OF ARGUMENT LIST MODE /DATA STATE MODE OF CURRENT CALL ARGP /POINTS TO SUBROUTINE ARGUMENTS TEMP /TEMPORARY STORAGE PNPTR /POINTER TO CURRENT LOC IN SUBPIC FILE D.1 2 /PNAME +D.1=FIRST DISPLAY LOCATION ESC 4600 /CHAR GEN ESCAPE CHARACTER ARG1 .BLOCK 6 /LOCAL ARGUMENT STORAGE DELTAY=ARG1 /Y INCREMENT (LINE) DELTAX=ARG1+1 /X INCREMENT (LINE) LT=ARG1+2 /LINE TYPE (LINE) PNAME=ARG1+5 /POINTS TO START OF SUBPICTURE FILE STR=ARG1 /TEXT STRING POINTER (TEXT) N=ARG1+1 /NUMBER OF CHARACTERS (TEXT) PNAME1=ARG1 /SUBPICTURE TO BE COPIED (COPY) FEATR=ARG1 /INDICATES PARAMETER SETTINGS DESIRED DTA=ARG1 /DATA TO BE PLOTTED(GRAPH). A=ARG1+2 /INDICATES PLOTTING ALONG X OR Y. D1LOC=LINE /POINTS TO FIRST EXECUTABLE DISPLAY INSTR. D1SAV=TEXT /SAVE LOC FOR FIRST DISPLAY INSTR. TEMP1=COPY /TEMP STORE FOR PRAMTR CALLS TEMP2 /ALSO. /EQUATE SYMBOLS USED BY TEXT CONVERSION ROUTINE TVTXT=STR TVTMP3=ARGLG TVCUR=PNPTR PWRD2=TEMP1 PWRD3=TEMP2 PWRD1=ARG1+3 PK7BTS=ARG1+4 /DISPATCH TABLE FOR PARAMETER SETTINGS PRMTBL SCALE INTENS LTPN BLINK .END