TITLE 'APLUTSI-B00,10/16/73,DWG702985' SYSTEM SIG7F SYSTEM BPM * * REF'S: REF @CLEAR REF @@CLEAR REF @@CONT REF @@SAVE REF APLSINON APL'S SIGN-ON MESSAGE. REF BITPOS TABLE OF WORDS WITH SINGLE 1-BIT REF CALOPNXT CAL'S REF CALOPTF IN REF CALOPTRM OPEN )TERM FILE REF CALOPWS1 MODULE REF CALOPWS2 APLUTSC REF CALOPWS3 REF CALOPWS4 REF CALOP1ST REF CALRDTF REF CALRDTRM REF CALRDWS REF CALRDWSI REF CALWRTF REF CALWRWS REF CLOSTHIS CLOSE FILE REF CMDB COMMAND BRANCH VECTOR REF CMDERR COMMAND ERROR REF CMDEXIT COMMAND EXIT REF CURRCS CURRENT CODESTRING PTR. REF DIVZERO EXEC MOD CHECK FOR SPEC. VALID DIV REF DREF DEREFERENCER. REF DUMPLING LINE OUTPUT ROUTINE REF ERBADCMD BAD COMMAND EXIT REF ERDOMAIN DOMAIN ERRER REF ERRFTFIO FIO SUBSYSTEM ERROR HANDLER REF ERRFWS6 ERROR PROCESSOR REF FIOERR FIO MONITOR ERROR REF FPTOPTRM FPT'S REF FPTRDTRM IN MODULE REF FPTRDWS APLUTSC REF FPTWR2 FPT TO WRITE CONTROL TO 4013 REF FREETBL FREE SPACE TABLE REF FREETOTL TOTAL FREE SPACE REF GARBCOLL GARBAGE COLLECT ROUTINE REF GENTEXT TEXT GENERATOR ROUTINE REF IDBUF ID BUFFER REF IDFILBSY ERROR I.D. FOR: FILE IN USE REF IDFILREF BAD FILE REF REF IDWSNOTF WS NOT FOUND REF IDIOERR I/O ERR REF IDFILSPC FILE SPACE TOO LOW REF J:ACCN ACCOUNT # REF J:DELTAT C REF J:IDELTAT P REF J:PTIME U REF J:UTIME TIME REF J:JIT REF LOADCONT LOAD CONTINUE WS ON START-UP. REF M:UC USERS CONSOLE DCB-USED FOR TABS REF NCMDS # OF SYSTEM COMMANDS REF NEWBOUND NEW DYNAMIC BOUND REF OPBREAK BREAK IN OPERATOR REF QUIETFLG QUIET FLAG REF RANKARR ARRAY RANK REF RDWRLOOP READ-WRITE LOOP REF RESACCT RESET ACCT TO USERS ACCT. REF SAVEOPEN OPEN FOR SAVE REF SAVE312 SAVE TEMP REF TABPNTR TAB POINTER REF TENSTBL POWERS OF 10 (FIXED POINT) REF UTSIOFF FULL EXIT. REF UTSIOFFH OFF-HOLD EXIT REF XSEGBRK XSEG BREAK FLAG,SET=OPBREAK REF XWLOCGLB EXCHANGES LOCALS & GLOBALS. REF X1FFFF * * REF'S TO MODULE ORIGINS * REF ACQCONS@ APLC1 REF CONSTS@ APLC2 REF CONTEXT@ APLC3 REF CS@ APLC4 REF INTRINS@ APLC5 REF WMAQ@ APLC6 REF LIB@ APLC7 REF OPR@ APLC8 REF MIX@ APLC9 REF INDX@ APLC10 REF EVAL@ APLC11 REF APLINP@ APLC12 REF APLOUT@ APLC13 * REF APLUTSI@ APLC14 REF FUNDEF@ APLC15 REF WSCOPY@ APLC16 REF CMD@ APLC17 REF APLUTSC@ APLC18 REF CODEXEQ@ APLC19 REF APLFIO@ APLC20 REF APLFMT@ APLC21 REF MAT@ APLC22 REF RCMD@ APLC23 REF SCMD@ APLC24 REF ERROR@ APLC25 REF GRAF@ APLC26 REF UTSG@ APLC27 * DEF'S: DEF APLSIZ TERMINAL INPUT RECORD MAX SIZE DEF APLUTSI@ START OF PROCEDURE DEF APLUTSI0 START OF CONTEXT DEF APLVERSN VERSION NAME DEF BCDTIME TIME AND DATE DEF BLINBUF BLIND INPUT BUFFER. DEF BLINDOUT BLIND OUTPUT ROUTINE DEF BREAKFLG USER BREAK FLAG DEF BSPFLAG BACKSPACE VALIDITY FLAG DEF CALTABS CAL TO SET TABS DEF CALTIME GET TIME DEF CALWROUT APL WRITE OUTPUT RECORD DEF CHKTERM CHECK IF 4013 TERMINAL DEF CLEARCOM RELEASE COMMON TO CLEAR STATE DEF CLEARDYN RELEASE DYNAMIC TO CLEAR STATE DEF CLEARMEM CLEAR WS MEMORY TO MINIMUM DEF CLEARSIZ SIZE OF 'CLEAR' TABLE DEF CLOSV CLOSE AND SAVE DEF CLOSR CLOSE AND RELEASE DEF CMNDTYPE COMMAND TYPE DEF COMPRMST TABLE OF COMMON PARAMETERS DEF CONSTBUF BLK TO HOLD NOS. ACQUIRED FOR A * CONSTANT & CERTAIN CMND PARAMS. DEF CONSTDT DBLWD TEMP FOR CONSTANT ACQ. DEF CONSTDTX EXTRA DBLWD TEMP FOR CONSTANT ACQ. DEF CORAVAIL AVAIL WS CORE (TOTAL) DEF CORLEFT VARIABLE CORE REMAINING DEF CPUTIME GET CPU TIME DEF CURRKEYT CURRENT KEY IN FILE DEF CXDTEMP DBLWD TEMP FOR CODESTRING XEQ. DEF DATE GET DATE DEF DELAYER DELAY SPECIFIED TIME DEF DIGITS DEF DIGRANGE DIGITS RANGE DEF DWIDTH DEFAULT PRINT WIDTH DEF DYNBOUND DYNAMIC BOUND DEF ERBADWS BAD WS ERROR EXIT DEF ERLIBREF BAD LIB REF DEF ERRFTF ERROR ROUTINE, F:TF DEF ERRFWS ERROR ROUTINE, F:WS DEF ERRORCHR ERROR SIGNAL CHARACTER DEF EVALTMPS TEMPS FOR EVAL(APLC11) U14-0004 DEF EWROUTWB ERROR CALL TO: WROUTWB DEF EWRTEXTC WRTEXTC DEF FDBLOCK FUNCTION DEFN MODE STORAGE BLOCK. DEF FDTEMPS FUNCTION DEFN MODE TEMP AREA. DEF FFFFFE00 PAGE BOUND MASK DEF FIOABNT FIO INABN MODE FLAG DEF FIOACCC FIO ACCOUNT CONTROL DEF FIOACCT FIO ACCOUNT DEF FIOBUF FIO BUFFER ADDRESS DEF FIODCB FIO DCB ADDRESS DEF FIODCBNO FIO DCB NO. IN USE DEF FIODCBT TABLE OF FIO DCB ADDRESSES DEF FIOKEY KEY IN USE FOR FIO DEF FIOMODE FIO I/O MODE DEF FIONAME FIO NAME DEF FIOPASC FIO PASSWORD CONTROL DEF FIOPASS FIO PASSWORD DEF FIOREADC FIO READ CONTROL DEF FIOSIZ FIO REC SIZE DEF FIOSNC SERIAL NUMBER CONTROL WORD U14-0008 DEF FIOSN SERIAL NO. ENTRY FOR PRIVATE PACKS U14-0009 DEF FIOTIE TABLE OF FIO TIE VALUES U14-0010 DEF FIOWRITC FIO WRITE CONTROL DEF FMTMPS TEMPS FOR DELTAFMT DEF FPARAMS FILE PARAMETERS DEF FPTOP1ST OPEN FIRST FILE OF AN ACCOUNT DEF FPTOPFIO FPT FOR FIO OPEN DEF FPTOPNXT OPEN NEXT FILE OF AN ACCOUNT DEF FPTOPTF FPT OPEN TEMP FILE DEF FPTOPWS FPT TO OPEN A FILE DEF FPTRD1ST READ 1ST RECORD OF A FILE (FOR ID) DEF FPTXCOFF RESET EXIT CONTROL DEF FQTABL TABLE OF DCB ADDRESSES DEF FRSTKEYT FIRST KEY IN FILE DEF FUZZBIT FUZZ PARAMETERS DEF FUZZCNT DEF FUZZLIMS DEF FUZZMASK DEF GDIGITS DIGITS SETTING FOR GRAPHICS DEF GETCOM GET PAGE OF COMMON DEF GETDYN GET PAGES OF DYNAMIC DEF GETTIME GET CURRENT TIME AND DATE DEF GRAFBUF GRAPHICS BUFFER U14-0012 DEF HICOMMON HIGHEST VARIABLE CORE ADDRESS DEF HOLDFLG OFF-HOLD FLAG DEF INBUF INPUT-OUTPUT BUFFER DEF INDXTMPS TEMPS FOR INDX(APLC10) U14-0014 DEF INPBLIND DEF INTRANS DEF IOERCODE MONITOR I/O ERROR CODE-SUBCODE DEF KEY1 KEY VALUE 1 DEF LASTKEYT LAST KEY IN FILE DEF LIBTEMPS TEMPS FOR LIB(APLC07) U14-0016 DEF LOADCASE FLAG FOR LOAD CATEGORY DEF LOCOMMON LOWEST COMMON ADDRESS DEF LODACCT LOAD ACCOUNT # DEF LODYN LOWEST VARIABLE CORE ADDRESS DEF LOGONTIM LOGON TIME (TO APL) DEF MIXTEMPS TEMPS FOR MIX(APLC09) U14-0018 DEF MODE EXECUTION MODE DEF NAMEGRN1 GRANULE #-1ST NAME RECORD DEF NBIO # OF BLIND I/O CHANNELS DEF NCOMPRMS SIZE OF COMMON PARAMETER TABLE DEF NUMFILES # OF DCBS FOR FIO SUBSYSTEM DEF NUMUSERS GET # OF USERS DEF ON%OFF ONLIN-OFFLINE MODE FLAG DEF OPRTEMPS TEMPS FOR OPR(APLC08) U14-0020 DEF OP1STACC ACCOUNT IN FPTOP1ST DEF OP1STACT ACCT CONTROL IN FPTOP1ST DEF OPENFN NAME POINTER TO FORCED CLOSE FN DEF OPER DBLWD TEMP FOR OPERATOR INFO AND * SAVING OTHER INFO. DEF OPTEMPS TEMP AREA FOR OPERATOR WORK AND ALSO * FOR SAVING OTHER INFO. DEF OPWSACT WS ACCOUNT DEF OPWSACTC OPEN FPT-ACT CONTROL DEF OPWSMODE OPEN FPT MODE (I/O) DEF OPWSNAME WS NAME FOR 'OPEN' DEF OPWSPAS OPEN FPT PASSWORD DEF OPWSPASC OPEN FPT PASSWORD CONTROL DEF OPWSWRTC WRITE ACCOUNT CONTROL DEF ORGADJ ORIGIN PARAMETERS DEF ORIGIN DEF OUTMNEMT OUTPUT MNEMONIC-OVST FLAG TABLE DEF OUTRANST OUTPUT TRANSLATION TABLE DEF OUTSIZ SIZE OF OUTPUT RECORD(5) DEF OUTMAXSZ TERMINAL OUTPUT BLOCKING SIZE DEF OVERTIME GET OVERHEAD TIME. DEF PCOPYFLG PROTECTED COPY FLAG DEF PRINTFNM PRINT FILE NAME DEF QTABVLID CHECK TAB VALIDITY DEF QUITFLAG FLAG TO AVOID REPEAT 'CONTINUE' * ATTEMPTS IN OFF-LINE MODE. DEF RANDOM RANDOM SEED DEF RDAPL READ APL INPUT RECORD DEF RELCOM RELEAS COMMON TO TOPOSTAK DEF RELEASER RELEASE MEMORY AS INDICATED DEF RELDYN RELEASE PAGES OF DYNAMIC DEF RETURN14 SHARED TEMP DEF SAVE14 SAVE REGISTER-OR TEMP DEF SETDIGIT SET DIGITS-GET OLD VALUE DEF SETWIDTH SET WIDTH-GET OLD VALUE DEF SICTRL STATE-INDICATOR CONTROL SETTING. DEF SNEWTABS SET NEW TABS DEF STATEPTR SI STATE POINTER DEF STKLIMIT EXECUTION STACK LIMIT DEF SYSTERR SYSTEM ERROR DEF TABSET SET NEW TABS-GET OLD VALUES DEF TABVALS TAB SETTING BUFFER IN FPT DEF TELEXIT RETURN TO TEL DEF TERMKEY TERMINAL RECORD KEY DEF TERMSIZ TERMINAL RECORD SIZE DEF TERMTYPE TERMINAL TYPE NO. DEF TIMODAY GET TIME OF DAY DEF TOPOSTAK TOP OF EXECUTION STACK DEF TRAP DEF USERACCT USER ACCOUNT DEF WIDRANGE DEF WIDTH DEF WINDOW A ONE-PAGE SCRATCH AREA. DEF WROUT APL WRITE OUTPUT RECORD DEF WROUTWB DEF WRTEXTC DEF WSIDNAME WORKSPACE NAME DEF WSIDPASS WSID PASSWORD DEF WSOFFSET WS LOAD OFFSET DEF XFF MASK DEF XSEGBASE BASE FOR EXECUTION SEGMENTS. * STANDARD EQU'S: * REGISTERS R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4 R5 EQU 5 R6 EQU 6 R7 EQU 7 R8 EQU 8 R9 EQU 9 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 * MEMORY CONTROL PARAMETERS MINALLOW EQU 2 MINIMUM 'DYNAMIC' PAGES MININCR EQU 1 MINIMUM INCREMENT MINANNEX EQU 1 MINIMUM ANNEX * * BLIND AND FILE I/O CHANNEL ALLOWANCES * NBIO EQU 3 ]O. OF BLIND I/O CHANNELS+1 NUMFILES EQU 8 * * * USERACCT-EQUATED TO J:ACCN (MONITOR NAME IN JIT TABLE) * USERACCT EQU J:ACCN * * MODULE DESCRIPTION: * * THIS MODULE CONSISTS OF TWO CSECTS AND A NUMBER OF DSECTS * THE MODULE CONTAINTS ALL DIRECT MONITOR INTERFACES AND * HOPEFULLY ALL MONITOR DEPENDANT CODE. * * THE DSECTS ARE USED TO DEFINE THE DCBS USED BY APL. * * A CSECT 0 INCLUDES THE FIXED CONTEXT FOR APL,PRIMARILY * NON-EXECUTABLE TABLES,FLAGSBUFFERS,ETC. THIS CSECT ALSO * INCLUDES THE EXECUTABLE INITIALIZATION ROUTINE,WHICH IS * VOLATALE,BEING UNNEEDED FOR ANY LATER OPERATIONS. * THE CSECT ALSO INCLUDES FPTS WHICH MUST BE VARIED DURING * OPERATIONS. * * A CSECT 1 INCLUDES DIRECT MONITOR INTERFACES-CAL'S AND FIXED * FPT'S. CALS AND FPTS ARE CLEARLY LABELLED FOR LOCATION VIA * CONCORDANCE. THIS CSECT ALSO INCLUDES THOSE PORTIONS OF I/O * AND MEMORY MANAGEMENT ROUTINES WHICH ARE MONITOR SENSITIVE * PAGE * * DATA CONTROL BLOCK GENERATION * * THIS SECTION INCLUDES THE PROCEDURES USED TO GENERATE * DCBS FOR APL. NO EXECUTABLE CODE IS GENERATED. THE DCBS * ARE LOADED BY UTS IN A SPECIAL AREA. ACCESS IS READ ONLY * TO USER,READ-WRITE TO MONITOR. * F:APL DSECT 1 APL INPUT DCB F:APL M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(ERR,ERRFAPL),(ABN,ABNFAPL),(DEVICE,'CR') ORG,1 BA(F:APL)+3 DATA,1 3 SET DCB TO DEVICE MODE ORG F:APL+26 DATA X'02000002' SET ACCT CONTROL OFF ABNFAPL EQU ERRFAPL USE SAME ROUTINE FOR ABN & ERR ERRFAPL EQU ERRRDAPL ** MAY BE CHANGED * F:OUT DSECT 1 APL OUTPUT DCB F:OUT M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (OUTSN),(ERR,ERRFOUT),(ABN,ABNFOUT),(DEVICE,'LP') ORG,1 BA(F:OUT)+3 DATA,1 3 SET DCB TO DEVICE MODE ORG F:OUT+26 DATA X'02000002' SET ACCT CONTROL OFF * F:WS DSECT 1 APL WORKSPACE I/O DCB F:WS M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFWS),(ABN,ABNFWS),; (WRITE,'NONE ','APLAPLAP') ABNFWS EQU ERRFWS * F:TF DSECT 1 APL TEMP-FILE DCB F:TF M:DCB (FILE),(PASS),(SYNON),(ERR,ERRFTF),(ABN,ABNFTF) ABNFTF EQU ERRFTF * * BLIND I/O DCBS FOLLOW: * NBIO DETERMINES THE NUMBER (0 TO 9) OF DCBS * TO BE CREATED FOR BLIND I/O * DEFAULT IS NBIO=2 * NBIO ALSO CONTROLS PROCEDURE CODE FOR BLIND I/O * GOTO,NBIO NOBIO,BIO1,BIO2,BIO3,BIO4,BIO5,BIO6,BIO7,BIO8,BIO9 * BIO9 SPACE 1 ERRFQ9 EQU ERRRDQ ABNFQ9 EQU ERRRDQ F:Q9 DSECT 1 F:Q9 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ9),(ABN,ABNFQ9) BIO8 SPACE 1 ERRFQ8 EQU ERRRDQ ABNFQ8 EQU ERRRDQ F:Q8 DSECT 1 F:Q8 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ8),(ABN,ABNFQ8) BIO7 SPACE 1 ERRFQ7 EQU ERRRDQ ABNFQ7 EQU ERRRDQ F:Q7 DSECT 1 F:Q7 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ7),(ABN,ABNFQ7) BIO6 SPACE 1 ERRFQ6 EQU ERRRDQ ABNFQ6 EQU ERRRDQ F:Q6 DSECT 1 F:Q6 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ6),(ABN,ABNFQ6) BIO5 SPACE 1 ERRFQ5 EQU ERRRDQ ABNFQ5 EQU ERRRDQ F:Q5 DSECT 1 F:Q5 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ5),(ABN,ABNFQ5) BIO4 SPACE 1 ERRFQ4 EQU ERRRDQ ABNFQ4 EQU ERRRDQ F:Q4 DSECT 1 F:Q4 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ4),(ABN,ABNFQ4) BIO3 SPACE 1 ERRFQ3 EQU ERRRDQ ABNFQ3 EQU ERRRDQ F:Q3 DSECT 1 F:Q3 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ3),(ABN,ABNFQ3) BIO2 SPACE 1 ERRFQ2 EQU ERRRDQ ABNFQ2 EQU ERRRDQ F:Q2 DSECT 1 F:Q2 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ2),(ABN,ABNFQ2) BIO1 SPACE 1 ERRFQ1 EQU ERRRDQ ABNFQ1 EQU ERRRDQ F:Q1 DSECT 1 F:Q1 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(ERR,ERRFQ1),(ABN,ABNFQ1) NOBIO RES 0 * * FILE I/O DCBS FOLLOW: * NUMFILES DETERMINES THE NUMBER (0 TO 8) OF DCBS * TO BE CREATED FOR FILE I/O SYSTEM * DEFAULT IS NUMFILES=3 * NUMFILES ALSO CONTROLS PROCEDURE CODE FOR FILE I/O * GOTO,NUMFILES+1 NOFIO,FIO1,FIO2,FIO3,FIO4,FIO5,FIO6,FIO7,FIO8 * FIO8 SPACE 1 F:F8 DSECT 1 F:F8 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO7 SPACE 1 F:F7 DSECT 1 F:F7 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO6 SPACE 1 F:F6 DSECT 1 F:F6 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO5 SPACE 1 F:F5 DSECT 1 F:F5 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO4 SPACE 1 F:F4 DSECT 1 F:F4 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO3 SPACE 1 F:F3 DSECT 1 F:F3 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO2 SPACE 1 F:F2 DSECT 1 F:F2 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) FIO1 SPACE 1 F:F1 DSECT 1 F:F1 M:DCB (FILE,'NAME11CHARS','ACCT8CHR'),(PASS),(KEYM,3),; (INSN),(OUTSN),(READ,'NONE'),(WRITE,'NONE'),; (ERR,ERRFF),(ABN,ABNFF) NOFIO RES 0 * PAGE APLUTSI0 CSECT 0 * * START-INITIALIZATION ROUTINE-VOLATILE * THIS ROUTINE IS ORG'D IN A BUFFER AREA AND IS AVAILABLE * ONLY AT INITIALIZATION TIME. * * THE FUNCTIONS PERFORMED ARE THOSE ASSOCIATED WITH INITIAL * SETUP FOR APL. IN SUMMARY: * ESTABLISH ON-LINE VS OFFLINE MODE-SET UP DCB'S * AND TERMINAL TYPE ACCORDINGLY * * SET BREAK AND TRAP CONTROL AND MODES * * ESTABLISH RANGE OF VARIABLE MEMORY AVAILABLE AND * GET INITIAL PAGES OF MEMORY * * SET TFILE NAME-UNIQUE TO USER * * GET 'CONTINUE' OR 'CLEAR' WORKSPACE * LOCAL OFFLINE,TEMPNAME,TERMKEY4 START STW,R0 LSPD SAVE ADDRESS OF STACK POINTER DW LD,R2 *LSPD STD,R2 ISPD SAVE INITIAL VALUE OF SPD BAL,R14 RESACCT *BREF* RESET ACCT CONTROL-SET USERS ACCT. LFI 0 RESET FLOATING TRAPS CALINT CAL1,8 FPTINT SET BREAK ROUTINE ADDRESS CALXCON CAL1,8 FPTXCON SET EXIT CONTROL ADDRESS CALTRAP CAL1,8 FPTTRAP SET TRAP ROUTINE ADDRESS CALMCAC CAL1,8 FPTMCAC CHANGE ACTIVATION CHARACTER SET LW,R2 J:JIT GET ON-OFF MODE BIT AND UNIQUE BGEZ OFFLINE JOB ID MTW,1 ON%OFF SET MODE ONLINE CALAPLUC CAL1,1 FPTAPLUC SET F:APL TO USERS CONSOLE CALOUTUC CAL1,1 FPTOUTUC SET F:OUT TO USERS CONSOLE LI,R1 100 STW,R1 APLSIZ SET INPUT RECORD SIZE-ONLINE MODE LI,R8 64 (MUST BE MULTIPLE OF 4) STW,R8 OUTMAXSZ SET MAX SIZE OF F:OUT RECORD CALQTERM CAL1,8 FPTQTERM GET TERMINAL TYPE AND COC MODES LI,R2 8 LI,R1 3 QTERM1 LB,R3 R8,R1 SAVE COC MODES FOR STH,R3 FPTRSTRM,R2 RESTORING ON EXIT AI,R2 -2 BDR,R1 QTERM1 LOOP CALSTRMB CAL1,8 FPTSTRMB SET BS EDIT OFF LB,R8 R8 CHECK TERMINAL TYPE ONLY CI,R8 6 BE CALSTERM APL-2741-EBCD CI,R8 10 BE CALSTERM APL-2741-SELECTRIC LI,R5 2 CI,R8 4 BE CALSTRM2 NONAPL-2741-EBCD CI,R8 8 BE CALSTRM2 NONAPL-2741-SELECTRIC LI,R5 3 LI,R6 72 STW,R6 DWIDTH DEFAULT WIDTH=72 FOR TTY B SETTERM CALSTERM CAL1,8 FPTSETRM RESET TAB SIM,TAB REL, AND * SPACE INSERTION B TEMPNAME CALSTRM2 CAL1,8 FPTSETRM B SETTERM SET TERMINAL TYPE OFFLINE LI,R1 400 STW,R1 APLSIZ SET INPUT RECORD SIZE-OFFLINE MODE LI,R1 256 OFF-LINE,USE FULL IMAGE RECORDS STW,R1 OUTMAXSZ SET MAX SIZE OF F:OUT RECORD LI,R1 X'15' SET END-OF.-RECORD VALUE TO CR FOR STW,R1 EORVAL OFF-LINE MODE(NO 'LOOK-AHEAD') LI,R1 15 MASK AND,R1 F:APL CHECK F:APL CI,R1 3 IF DEVICE,ASSUME CARD READER BNE CALPAGE NOT DEVICE U14-0022 LI,R1 X'FFFF' CHECK IF CR U14-0023 AND,R1 F:APL+1 U14-0024 CI,R1 X'C3D9' 'CR' U14-0025 BNE CALPAGE NO LI,R8 THROWAPL BUFFER TO THROW OUT !APL CARD LI,R9 0 WHICH IS LEFT FOR FIRST READ * FOR SHARED PROCESSOR WITH SOURCE * FROM THE M:C DEVICE (CR) CALAPLCR CAL1,1 FPTRDAPL READ THE !APL CARD AND FORGET IT CALPAGE CAL1,1 FPTPAGE PAGE EJECT LI,R5 4 SETTERM STW,R5 TERMTYPE SET TERMINAL TYPE AWM,R5 TERMKEY CALOPTRI CAL1,1 FPTOPTRM OPEN TO READ TERMINAL TRANS. REC. CALRDTRI CAL1,1 FPTRDTRM READ TRANSLATE TABLES LI,R5 F:TF BAL,R6 CLOSV CLOSE AND SAVE F:TF TEMPNAME LI,R1 3 STH,R2 TFNAME,R1 SET UNIQUE JOB ID IN TEMP FILE NAME CALGDDL CAL1,8 FPTGDDL GET MEMORY LIMITS STW,R8 LODYN LOWEST ADDRESS OF DYNAMIC STORAGE CI,R10 128 BLE WSSIZE ALLOW UP TO 128 PAGES LI,R10 128 WSSIZE SLS,R10 9 STW,R10 CORAVAIL NO. OF WORDS OF CORE AVAILABLE AI,R8 -1 AW,R8 CORAVAIL STW,R8 HICOMMON HIGHEST ADDRESS OF COMMON AI,R8 -511 STW,R8 LOCOMMON PRESET LOCOMMON-1 PAGE LW,R13 R8 CALGCPI CAL1,8 FPTGVP GET COMMON PAGE AS VIRTUAL PAGE LI,R1 MINALLOW SET MINIMUM DYNAMIC ALLOWANCE LW,R13 LODYN CALGDPI CAL1,8 FPTGVP GET INITIAL DYNAMIC PAGES AS AI,R13 512 VIRTUAL PAGES BDR,R1 CALGDPI STW,R13 HIDYN SAVE IT LW,R13 LOCOMMON COMPUTE SW,R13 HIDYN CORE STW,R13 CORLEFT LEFT BAL,R14 TIMODAY GET TIME ADL CALLED STW,R11 LOGONTIM SAVE IT LI,R8 APLSINON BAL,R7 WRTEXTC SIGN-ON MESSAGE LW,R11 J:DELTAT SW,R11 J:IDELTAT AW,R11 J:PTIME AW,R11 J:UTIME STW,R11 INITCPU SAVE INITIAL CPU USAGE. LW,R11 J:PTIME+1 AW,R11 J:UTIME+1 STW,R11 INITOVH SAVE INITIAL OVERHEAD USAGE. LI,R1 4 INOUT MODE LI,R5 F:WS (FOR CLOSV) LI,R6 BCLEAR 'CLEAR' IF NO VALID AUTO-CONTINUE STW,R1 OPWSMODE CALOPWS5 CAL1,1 FPTOPWS TRY TO OPEN 'CONTINUE' LW,R10 KEY1 STW,R10 FWSKEY LI,R10 2048 512 WORD RECORD LW,R11 LODYN BUFFER CALRDAC1 CAL1,1 FPTRDWS READ 1ST RECORD LW,R4 LODYN LW,R9 6,R4 CW,R9 APLVERSN CHECK IF WS BNE CLOSV NO-)CLEAR LW,R9 12,R4 CHECK IF SAVED BY 'CONTINUE' AI,R9 NCMDS+CMDB-@@CONT BNE CLOSV NO-)CLEAR LI,R9 @@SAVE-NCMDS-CMDB YES,DAMN IT STW,R9 12,R4 SWITCH TO 'SAVED' CALWRSC1 CAL1,1 FPTWRWS1 WRITE REC 1-INDICATE NOT AUTOSAVE BAL,R6 CLOSV LI,R6 0 SET SO SAVED MSG WILL BE DISPLAYED. STW,R6 QUIETFLG B LOADCONT DO A LOAD OF THE CONTINUE WS. BCLEAR LI,R6 @@CLEAR-NCMDS-CMDB STW,R6 CMNDTYPE SET 'CLEAR' COMMAND TYPE B @CLEAR GO TO CLEAR ROUTINE ERFWSCS0 CI,R8 CALOPWS5+1 CHECK IF OPEN FOR AUTO-CONTINUE BE BCLEAR YES-)(CLEAR CI,R8 CALRDAC1+1 CHECK IF ID-READ FOR AUTO CONTINUE BE CLOSV YES B IOERR NO-MYSTERY ERROR LOCAL * * FPT'S USED AT INITIALIZATION ONLY * * OPEN F:APL TO 'UC' * FPTAPLUC GEN,8,7,17 X'14',0,F:APL DCB ADDRESS DATA X'00040000' DEVICE FLAG DATA X'0000E4C3' 'UC' * * OPEN F:OUT TO 'UC' * FPTOUTUC GEN,8,7,17 X'14',0,F:OUT DCB ADDRESS DATA X'00040000' DEVICE DATA X'0000E4C3' 'UC' * * PAGE EJECT ON F:OUT (OFF-LINE MODE) * FPTPAGE GEN,8,7,17 X'04',0,F:OUT * * GET RANGE OF MEMORY AVAILABLE * FPTGDDL DATA X'1B000000' * * FREE ALL PAGES-INITIALIZATION ONLY * FPTFP GEN,8,7,17 X'09',0,128 * * INTERRUPT CONTROL FPT * FPTINT GEN,8,7,17 X'0E',0,BREAK ADDRESS OF BREAK ROUTINE * * TRAP CONTROL FPT-IGNORE TRAPS FOR FIXED POINT AND DECIMAL ARITH * FPTTRAP GEN,8,7,17 X'14',0,TRAP ADDRESS OF TRAP ROUTINE DATA X'003C8003' TRAP CONTROL BITS * * FPTMCAC-CHANGE ACTIVATION CHARACTER SET * FPTMCAC DATA X'06820000' CHANGE ACTIVATION TO EOT ONLY * * * FPTWRWS1-REWRITE RE"ORD 1 OF 'CONTINUE' TO INDICATE 'SAVED' * FPTWRWS1 GEN,8,7,17 X'11',0,F:WS DCB ADDRESS DATA X'FC000050' P'S, WAIT, AND ONEMKEY DATA ERRFWS ERR DATA ERRFWS ABN GEN,1,31 1,LODYN BUF DATA 2048 SIZ DATA FWSKEY KEY DATA 0 BTD FWSKEY EQU RETURN14 TEMP FOR KEY ADDR * * FPTSETRM-SETS COC MODES AS INDICATED * FPTSETRM DATA X'06200000' DATA X'E0000000' P1,2,3 DATA 8 RESET TAB SIMULATION DATA X'20' RESET SPACE INSERTION DATA X'A0' RESET BS EDIT AND TAB REL. FPTSTRMB DATA X'06200000' DATA X'20000000' DATA X'20' TURN BS EDIT OFF * * FPTQTERM-CHECK TERMINAL TYPE * FPTQTERM DATA X'06400000' * * FPTXCON-SET EXIT CONTROL ADDRESS * FPTXCON DATA X'19000000'+HANGUP EXIT CONTROL ADDRESS THROWAPL RES 0 THROW-AWAY BUFFER FOR !APL CARD PAGE ORG START * * OVERLAY THE START AREA WITH INBUF,THE APL INPUT-OUTPUT BUFFER * NOTE THAT INITIAIZATION PROCESSES MUST NOT USE INBUF * BOUND 8 WINDOW RES 512 A ONE-PAGE SCRATCH AREA. SPACE 3 TLOC SET 0 ************************************ TEMP CNAME 1 * * DTEMP CNAME 2 * PROC TO ALLOCATE N WORDS OR * PROC * DOUBLEWORDS IN THE WINDOW AREA. * DO NAME=2 * EXAMPLE FORMS: * TLOC SET ((TLOC+1)/2)*2 * A TEMP 1 ONE WORD. * FIN * B DTEMP 3 THREE DBLWDS. * LF EQU WINDOW+TLOC * * TLOC SET TLOC+AF(1)*NAME * * PEND ************************************ SPACE 3 INBUF DTEMP 65 INPUT(F:APL)-OUTPUT(F:OUT) BUFFER. BLINBUF EQU INBUF BLIND INPUT BUFFER OF 128 WORDS. CONSTBUF DTEMP 66 BLK FOR CONST ACQ & CMND PARAMS. XSEGBASE EQU CONSTBUF BASE FOR EXECUTION SEGMENTS. FMTMPS EQU CONSTBUF TEMPS FOR DELTAFMT FPARAMS EQU CONSTBUF+40 TEMP FOR FILE PARAMETERS CONSTDT DTEMP 1 FOR CONST ACQ. CONSTDTX DTEMP 1 FOR CONST ACQ. CXDTEMP DTEMP 1 FOR CODESTRING EXECUTION. OPTEMPS TEMP 50 TEMP BLK FOR OPERATOR & INDEXING * EXECUTION. CONTAINS, FOR EXAMPLE, * RSTYPE, RSRANK, AND RSSIZE. * SO, MAY BE USED BY INTRINSIC FUNS. OPER DTEMP 1 TEMP & COMM DBLWD FOR CODESTRING & * OPERATOR EXECUTION. FDTEMPS DTEMP 19 FUNCTION DEFN MODE TEMP AREA. GRAFBUF EQU FDTEMPS SHARE FDTEMPS WITH GRAPHICS BUFFER U14-0029 FDBLOCK TEMP 47 FUNCTION DEFN MODE STORAGE BLOCK. * U14-0031 * NOTE--THE FOLLOWING TEMPS MUST BE DW ALIGNED: LIBTEMPS U14-0032 * OPRTEMPS U14-0033 * MIXTEMPS U14-0034 * INDXTMPS U14-0035 * EVALTMPS U14-0036 * U14-0037 LIBTEMPS EQU FDBLOCK SHARE FDBLOCK U14-0038 OPRTEMPS EQU FDBLOCK+10 WITH LIB AND OPR TEMPS U14-0039 MIXTEMPS DTEMP 14 TEMPS FOR MIX U14-0040 INDXTMPS DTEMP 20 INDX EVALTMPS DTEMP 5 EVAL U14-0042 SPACE 3 WINDOWSZ SET TLOC DISPLAY AMOUNT OF WINDOW USED U14-0044 ERROR,X'F',TLOC>512 'TOO MUCH FOR WINDOW TO HOLD' PAGE * * TERMINAL TRANSLATION TABLES-OVERLAID BY )TERM COMMAND * PAGE * * INPUT TRANSLATION TABLE * THIS VERSION IS FOR ADL STANDARD TERMINAL (2741) * ALTERNATE VERSIONS ARE LOADED FOR OTHER TERMINAL TYPES * BOUND 4 INTRANS DATA 0,X'04050000',X'08000000',X'00010000' DATA 0,X'00010600',0,0 DATA X'07000000',0,0,0 DATA 0,0,0,0 DATA X'40004200',X'44450000',X'48494A4B',X'4C4D4E4F' DATA X'50000053',X'00555600',X'00005A5B',X'5C5D5E5F' DATA X'60616200',X'64006667',X'00006A6B',X'6C6D6E6F' DATA X'70717200',X'74007600',X'00797A7B',X'7C097E7F' DATA 0,0,0,0 DATA 0,0,0,0 DATA 0,0,0,0 DATA X'00B10000',X'B4B50000',0,0 DATA X'00C1C2C3',X'C4C5C6C7',X'C8C90000',0 DATA X'00D1D2D3',X'D4D5D6D7',X'D8D90000',0 DATA X'0000E2E3',X'E4E5E6E7',X'E8E90000',0 DATA X'F0F1F2F3',X'F4F5F6F7',X'F8F9FAFB',X'FCFDFE00' PAGE * * OUTMNEMT AND OUTRANST-APLOUT TRANSLATION TABLES * THE LISTED TABLES ARE FOR APL STANDARD TERMINAL (2741) * ALTERNATE VERSIONS ARE LOADED FOR DIFFERENT * OUTPUT DEVICES,AS DICTATED BY )TERMINAL COMMAND * * THESE TABLES ARE USED AS A PAIR IN TRANSLATING FROM APL * INTERNAL FORMAT (NOT CODESTRING) TO OUTPUT * * IN SOME CASES (NON-APL TERMINALS) CHARACTERS ARE REMAPPED * * THE OUTMNEMT IS USED TO DETERMINE IF OUTPUT CHARACTERS ARE * TO BE EXPANDED INTO MNEMONICS OR OVERSTRIKE CHARACTERS * * IF ENTRY IN MNEMT IS: * 0 -SINGLE CHARACTER-OUTPUT FROM OUTRANST * 1-SINGLE CHAR. MNEMONIC-OUTRANST ENTRY HAS BYTE OFFSET * FROM TABLE MNEMT1. OUTPUT % AND CHAR FROM MNEMT1 * 2-TWO CHAR. MNEMONIC. OUTRANST ENTRY HAS BYTE OFFSET * FROM TABLE MNEMT2. OUTPUT % AND 2 CHARS FROM MNEMT2 * 3 -THREE CHAR. MNEMONIC. OUTRANST HAS BYTE OFFSET FROM * MNEMT3. OUTPUT % AND 3 CHARS. * 4 -OVERSTRIKE. OUTRANST ENTRY HAS BYTE OFFSET FROM * OVHWTABL. OUTPUT CHAR-BS-CHAR * 5 -UNDERSCORED LETTER-OUTPUT UNDERSCORE-BACKSPACE * THEN CHAR FROM OUTRANST * * *********** * * * * ANY CHANGES IN MNEMT3,MNEMT2, OR OVHWTABL * * REQUIRE CHANGES IN OUTMNEMT * * AND,POSSIBLY,IN OUTRANST * * * * IF NBIO IS CHANGED THE IN-CORE VERSIONS OF * * OUTMNEMT AND OUTRANST ARE AUTOMATICALLY * * CORRECTED ON REASSEMBLY * * THE VERSIONS FOR OTHER TERMINALS-KEPT ON FILE- * * MUST ALSO BE REASSEMBLED AND REPLACED * * * * * * * ********** * * OUTMNEMT DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 00-3F DATA,1 0,4,0,4,0,0,4,4,0,0,0,0,0,0,0,0 40-4F DATA,1 0,4,4,0,4,0,0,4,4,4,0,0,0,0,0,0 50-5F DATA,1 0,0,0,4,0,0,0,0,4,0,0,0,0,0,0,0 60-6F DATA,1 0,0,0,4,0,4,0,4,4,0,0,0,0,0,0,0 70-7F DATA,1 0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0 80-8F DATA,1 0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0 90-9F DATA,1 0,0,5,5,5,5,5,5,5,5,0,0,0,0,0,0 A0-AF DATA,1 4,0,4,0,0,0 B0-B5 OJ1 WHILE OJ1