. . ELEMENT MODES COMMAND PROCESS . . THIS COMMAND PROCESS SERVICES THOSE COMMANDS . WHICH SET THE MODES OF ELEMENT TABLE ENTRIES. . CURRENTLY: TYPE, CYCLE . . . (C) Copyright 1972-1978 John Walker . . This software is in the public domain . AXR$ DEFUNCT$ FANG . PURE CODE . TYPESET* LA,U A11,TYPESET LOAD ENTRY IDENTIFICATION J START PROCESS THE COMMAND . CYCLE* LA,U A11,CYCLE SAVE COMMAND IDENTITY . START R$DIT . FIRE UP THE EDITOR LMJ X6,GELT SET UP TO READ ELEMENT TABLE J BSPERR BSP ERROR INITIALISING LX X9,CDBPC,X8 LINK TO FIRST PARAMETER (ELT) LX X9,PBLINK,X9 LINK TO SECOND PARAMETER (FILE) LX X9,PBLINK,X9 LINK TO MODE SPECIFICATION TE,U A11,CYCLE IS IT A 'CYCLE' COMMAND ? J SCNST NO. DON'T HAVE TO CHECK IT LA A0,PBVAL,X9 LOAD SPECIFIED CYCLE RETENTION TNZ,U 0,A0 IS IT ZERO ? LA,U A0,1 YES. CHANGE TO ONE SA A0,PBVAL,X9 REPLACE VALUE IN PARAMETER PACKET TLE,U A0,64 IS IT WITHIN RANGE ? J SCNST YES. BUY IT E$MSG CYCME EDIT MESSAGE E$DECV PBVAL,X9 EDIT ERRONEOUS SPECIFICATION E$MSG CYCM1 GET REST OF MESSAGE TEXT LX X5,CDIMG,X8 LOAD IMAGE BUFFER ADDRESS LMJ X6,ESNV EDIT THE STATEMENT NUMBER R$PRT 1 PRINT THE MESSAGE LA,U A0,63 LOAD UPPER LIMIT ON RETENTION SA A0,PBVAL,X9 STORE INTO THE PARAMETER BUFFER . SCNST LA,U A10 CLEAR SEQUENCE NUMBER LA,U A9 CLEAR ELEMENTS CHANGED COUNT . EMSCAN AA,U A10,1 INCREMENT SEQUENCE NUMBER LA A0,A14 GET FTI ADDRESS LA A1,A10 LOAD TARGET SEQUENCE NUMBER etnl . look up element table item J SCANE PROBABLY END OF TABLE TP EIFLG,A0 IS ELEMENT DELETED ? J EMSCAN YES. IGNORE IT LX,U X6,,A0 NO. SAVE ELEMENT ITEM ADDRESS LX X5,A12 LOAD SELECTION CRITERIA LMJ X11,SELECT SEE IF ELEMENT IS CHOSEN J EMSCAN NOT CHOSEN. GET NEXT ELEMENT . . WE HAVE SELECTED AN ELEMENT. CHANGE THE ENTRY . ACCORDING TO THE COMMAND, AND REWRITE IT. . TE,U A11,CYCLE IS IT 'CYCLE' ? J CHKTYP NO. SEE IF IT'S 'TYPE' LA A0,EITYP,X6 LOAD THE ELEMENT TYPE tg,u a0,ty$rel is it symbolic or a PROC ? J EMSCAN NO. DON'T CYCLE IT LA A0,PBVAL,X9 LOAD DESIRED CYCLE MAX SA A0,EICLIM,X6 MODIFY ENTRY J REPLELT GO AND REWRITE THE ENTRY . CHKTYP TE,U A11,TYPESET IS IT CHANGE TYPE COMMAND ? IERR . NO. THIS IS LAST TYPE NOW LA A0,EITYP,X6 LOAD ELEMENT TYPE tne,u a0,ty$omn is the element omnibus ? j omntyp yes. go test for changing subtype TG,U A0,TY$REL NON-SYMBOLIC ? J EMSCAN YES. DON'T ALLOW TYPE CHANGE LA A0,PBVAL,X9 LOAD DESIRED TYPE TLE,U A0,TY$REL GREATER THAN SYMBOLIC TYPES ? TLE,U A0,TY$SYM+1 (CHECK FOR SUBTYPE) J SYMDES YES. SET TYPE . . DESIRED TYPE IS PROC. CYCLE ELEMENT TO ONE . LA,U A0,1 LOAD CYCLE MAX FOR PROC SA A0,EICLIM,X6 SET CYCLES TO KEEP FOR A PROC LA A0,PBVAL,X9 LOAD THE DESIRED TYPE SA A0,EITYP,X6 PUT TYPE IN ENTRY J REPLELT REWRITE ELEMENT ITEM . . DESIRED TYPE IS SYMBOLIC . SYMDES LA A0,EITYP,X6 LOAD CURRENT TYPE TE,U A0,TY$SYM IS IT CURRENTLY SYMBOLIC ? J PRKSET NO. CHANGE FROM PROC TO SYMBOLIC PRKSR LA,U A0,TY$SYM LOAD SYMBOLIC MAIN TYPE SA A0,EITYP,X6 PUT IN ITEM LA,U A0 LOAD ZERO PROCESSOR CODE TZ,S4 PBVAL,X9 IS IT A SUBTYPE ? setstyp LA,S6 A0,PBVAL,X9 YES. LOAD PROCESSOR CODE SA A0,EIPCOD,X6 SET PROCESSOR CODE IN ITEM J REPLELT REWRITE ELEMENT ITEM . . CHANGE PROC TO SYMBOLIC . PRKSET LA,U a0,cyclim$ LOAD SYSTEM CYCLE LIMIT SA A0,EICLIM,X6 PUT IN ELEMENT ITEM . ** POSSIBLY DELETE PROC ENTRIES ** J PRKSR RETURN TO CHANGE TYPE . . If the element is omnibus and the desired type is a subtype, . we change the processor code for the element to that . specified by the subtype. . omntyp tnz,s4 pbval,x9 is this a subtype name ? j emscan no. can't change omnibus to major type j setstyp yes. go set processor code . . REWRITE ELEMENT TABLE ENTRY . REPLELT LA A0,A14 LOAD FTI ADDRESS AA,U A9,1 INCREMENT ELEMENTS CHANGED ptewt . REWRITE LAST REFERENCED ITEM J BSPERR BSP ERROR. PRINT MESSAGE J EMSCAN PROCESS NEXT ELEMENT . . END OF ELEMENT TABLE SCAN . SCANE TE,U A0,014 IS IT END OF TABLE ? J BSPERR NO. OTHER BSP ERROR LMJ A1,EBUFRL RELEASE ELEMENT TABLE BUFFERS JNZ A9,RDX WERE ANY ELEMENTS CHANGED ? E$MSG NELC NO. EDIT MESSAGE LA A0,CDBPC,X8 LOAD PARAMETER HEAD LA A0,ELFDT,A0 GET FDT ADDRESS LMJ X11,FIST APPEND FILE AND STATEMENT J RDC COMPLETE THE COMMAND . RDX R$DITX . TERMINATE THE EDITOR RDC COMPLETE . DONE WITH THIS COMMAND . . PURE DATA . CYCME 'ONLY 63 CYCLES MAY BE KEPT. 63 USED INSTEAD OF !' CYCM1 ' SPECIFIED IN STATEMENT !' NELC 'NO ELEMENTS CHANGED IN !' END