# Loading one of the random tapes to disk. This wa # just a lsat-second toy, botch-job. Will make # serious effort later. # Tom Jennings # 24 Feb 2005 R LOAD/V/R MT0:8 DSPOOL. 06/20/80 DP0.MC 10/09/80 LOCA.MC 05/13/80 DP1.MC 10/09/80 ARDOS.PF 03/06/79 FCLI.C0 06/27/80 TEK.HP 12/18/79 FB642.SG 10/16/79 FB642.LM 10/08/79 BSYSGEN.PD 10/24/79 PARITY ERROR: MT0:8 R LOAD/V/R MT0:8 PARITY ERROR: MT0:8 R LOAD/V/R MT0:9 ERTF5SYM.SR 01/31/79 LONGTRACE.RB 05/10/79 FMAC.SR 11/16/79 SMARK.SR 03/01/79 F5ISA.PA 10/29/79 F5ENV.LB 09/28/79 PATCHF5ISA.MC 10/29/79 IBMPCT.RB 05/10/79 F5MATH2FP.LB 06/02/79 FTC1.SV 04/26/79 FTC2.SV 04/26/79 UPDATE601.UC 07/02/79 FTC3.SV 04/26/79 FTC4.SV 04/26/79 FTC5.SV 04/26/79 FTC6.SV 04/26/79 DGCPCT.SR 05/04/79 FTC7.SV 04/26/79 FORTRAN.ER 05/10/79 KEEPINIT.RB 05/10/79 LINESIZE.SR 01/31/79 FTCE.SV 04/26/79 RTOSRTER.RB 05/10/79 EF5SYM.AS 05/02/79 IBMPCT.SR 05/04/79 FORTRAN.SV 04/26/79 F5SYM.SR 05/01/79 F5MATH1.LB 06/01/79 ERTF5SYM.AS 05/04/79 SHORTRTER.RB 05/10/79 F5ERR.FR 03/06/78 FASTNCAL.RB 05/10/79 F5MATH2.LB 05/10/79 FFILES. 11/21/79 DPART.SR 01/31/79 LEFD.RB 05/10/79 COM.CM 05/30/80 LEFE.RB 05/10/79 FTCLC.TX 02/26/79 RTFLIB. 04/26/79 PARTITION.SR 05/04/79 FTC.TX 02/26/79 FLIB. 04/02/79 FASTPCAL.RB 05/10/79 TFLIB. 04/02/79 F5ISA.LB 11/02/79 NOTRACE.RB 05/10/79 PARITY ERROR: MT0:9 R R LIST/A/O/S $PTR. 0 APW 01/01/68 $TTI. 0 APW 01/01/68 $TTO. 0 RAP 01/01/68 $TTP. 0 RAP 01/01/68 $TTR. 0 APW 01/01/68 AIDEB.RB 11122 D 09/25/78 ALMSPD.RB 908 D 09/23/78 ALMSPD.SR 5814 WD/PW 09/20/78 ARDOS.PF 3474 D 05/30/80 ARDOS.SR 1024 WD/PW 09/22/78 ARDOSA.LB 50508 D 10/04/78 ARDOSB.LB 6900 D 10/04/78 ARDOSC.LB 44442 D 10/04/78 ARDOSI.LB 15854 D 10/04/78 ARDOSO.LB 49658 D 10/04/78 ASM.SV 9474 SD 04/03/80 BACKUP. 706 D 09/11/78 BATCH.ER 3584 D 03/25/80 BATCH.OL 39936 C 04/01/80 BATCH.SV 11264 SD 03/25/80 BOOT.SV 6656 SD 10/05/78 BOOTSYS.OL 32768 APC 01/01/68 BOOTSYS.SV 37888 SD 10/05/78 BSYSGEN.PD 171 05/30/80 BSYSGEN.SV 14336 SD 10/05/78 BTMIN.RB 68 D 10/05/78 BURST.SV 63750 SD 03/27/80 CBOOT.SV 1024 SD 12/11/79 CLI.CM 129 D 02/25/105 CLI.ER 3584 D 02/25/105 CLI.OL 43008 C 02/25/105 CLI.S0 0 D 02/25/105 CLI.SV 10752 SD 10/05/78 COM.CM 14 02/25/105 DBURST.SV 63488 SD 03/10/80 DGCPCT.SR 10362 D 07/25/79 DKINIT.SV 30208 SD 04/05/80 DPART.SR 684 D 07/25/79 DSKED.SV 19968 SD 01/04/80 DSPOOL. 0 D 06/25/80 EDIT.RB 8994 D 12/11/79 EDIT.SV 6656 SD 12/11/79 EF5SYM.AS 70 D 01/22/80 ENPAT.SV 3584 SD 01/04/80 ERTF5SYM.AS 72 D 07/25/79 ERTF5SYM.SR 385 D 07/25/79 ESAC3.RB 68 D 09/25/78 F5ENV.LB 12988 D 10/26/80 F5ERR.FR 10085 D 05/28/80 F5ISA.LB 14268 D 10/26/80 F5ISA.PA 44 05/30/80 F5MATH1.LB 45398 D 10/26/80 F5MATH2.LB 26140 D 10/26/80 F5MATH2FP.LB 26140 D 01/10/80 F5SYM.SR 48477 D 01/22/80 FASTNCAL.RB 86 D 07/25/79 FASTPCAL.RB 136 D 07/25/79 FB642.LM 23530 D 10/24/79 FB642.SG 1900 01/16/80 FCLI.C0 1536 D 06/27/80 FDUMP.SV 16384 SD 01/16/80 FFILES. 615 D 11/26/79 FLIB. 43 D 03/12/80 FLOAD.SV 16384 SD 01/16/80 FMAC.SR 21778 D 01/22/80 FORTRAN.ER 12288 SD 05/14/80 FORTRAN.SV 10240 SD 07/25/79 FPID.SR 3014 W/PW 03/24/78 FTC.TX 9667 D 06/27/80 FTC1.SV 28672 SD 07/25/79 FTC2.SV 20480 SD 07/25/79 FTC3.SV 26624 SD 07/25/79 FTC4.SV 20480 SD 07/25/79 FTC5.SV 20480 SD 07/25/79 FTC6.SV 28672 SD 07/25/79 FTC7.SV 24576 SD 07/25/79 FTCE.SV 22528 SD 07/25/79 FTCLC.TX 9666 D 05/28/80 IBMPCT.RB 378 D 07/25/79 IBMPCT.SR 10844 D 07/25/79 KEEPINIT.RB 60 D 07/25/79 LEFD.RB 56 D 07/25/79 LEFE.RB 88 D 07/25/79 LFE.SV 8704 SD 12/12/79 LINESIZE.SR 375 D 07/25/79 LITMACS.SR 35527 WD/PW 08/09/78 LOCA.MC 29 D 02/25/105 LOG.CM 11725 D 02/25/105 LONGTRACE.RB 914 D 09/28/79 MAC.SV 18944 SD 12/12/79 MACXR.SV 3584 SD 01/15/80 MAP.DR 2446 APWC 01/01/68 MATH.LB 8162 D 04/14/77 MCABOOT.SV 5120 SD 12/11/79 MEDIT.RB 9346 D 12/11/79 MIDEB.RB 7788 D 09/25/78 MRDOS.SR 1060 D 01/18/80 N3SAC3.RB 68 D 01/07/80 NBID.SR 3810 WD/PW 04/02/80 NCID.SR 794 WD/PW 01/18/80 NEID.SR 1998 W/PW 09/22/78 NFFID.SR 435 WD/PW 09/13/78 NFPID.SR 4904 WD/PW 01/18/80 NOTRACE.RB 58 D 07/25/79 NSID.SR 793 WD/PW 09/22/78 NSKID.SR 1786 WD/PW 09/22/78 NSPEED.SV 8192 SD 12/31/79 OEDIT.SV 8704 SD 12/11/79 OSID.SR 5215 D 04/02/80 OVLDR.SV 7168 SD 12/11/79 OWNER.SV 63750 SD 03/31/80 PARS.SR 40190 WD/PW 01/18/80 PARTITION.SR 2378 D 07/25/79 PARU.SR 20200 WD/PW 03/07/80 PATCH.SV 7168 SD 01/04/80 PATCHF5ISA.MC 30 06/06/80 RFPI.RB 5624 01/03/75 RLDR.OL 24576 C 04/05/80 RLDR.SV 4608 SD 12/11/79 RTFLIB. 70 D 10/24/79 RTOSRTER.RB 632 D 07/25/79 SEDIT.SV 9216 SD 12/11/79 SHORTRTER.RB 588 D 07/25/79 SMARK.SR 3078 D 01/22/80 SPEED.ER 1536 D 04/03/80 SPEED.SV 7168 SD 10/05/78 SYS.DR 42496 APWDY 02/25/105 SYS.LB 20372 D 03/25/80 SYS1.LM 0 D 02/25/105 SYS1.SG 1810 02/25/105 SYS1.SV 0 D 02/25/105 SYS5.LB 17326 D 05/24/77 SYSGEN.SV 14848 SD 03/27/80 TBOOT.SV 1024 SD 04/05/80 TEK.HP 4607 D 06/27/80 TFLIB. 50 D 10/26/80 UPDATE601.UC 3328 D 05/30/80 VFU.SV 5632 SD 03/27/80 XREF.SV 2048 SD 04/03/80 ZRDOS.SR 1028 W/PW 09/22/78 ZRDOSA.LB 51086 D 10/04/78 ZRDOSB.LB 6900 D 10/04/78 ZRDOSC.LB 44574 D 10/04/78 ZRDOSI.LB 15988 D 10/04/78 ZRDOSO.LB 49686 D 10/04/78 R LIST -.SR ERTF5SYM.SR 385 D FMAC.SR 21778 D SMARK.SR 3078 D NFPID.SR 4904 WD/PW DGCPCT.SR 10362 D NBID.SR 3810 WD/PW NFFID.SR 435 WD/PW NCID.SR 794 WD/PW NEID.SR 1998 W/PW LINESIZE.SR 375 D PARS.SR 40190 WD/PW PARU.SR 20200 WD/PW IBMPCT.SR 10844 D F5SYM.SR 48477 D NSID.SR 793 WD/PW ARDOS.SR 1024 WD/PW MRDOS.SR 1060 D OSID.SR 5215 D DPART.SR 684 D ZRDOS.SR 1028 W/PW PARTITION.SR 2378 D FPID.SR 3014 W/PW ALMSPD.SR 5814 WD/PW NSKID.SR 1786 WD/PW LITMACS.SR 35527 WD/PW R TYPE IBMPCT.SR ; COPYRIGHT (C) DATA GENERAL CORPORATION 1978,1979 ; ALL RIGHTS RESERVED. ; LICENSED MATERIAL-PROPERTY OF DATA GENERAL CORPORATION ; ; IBMPCT - SPECIAL (IBM STYLE) FILE PRECONNECTION TABLE ** TITLE IBMPCT .EXTD .RP ; YOU ARE PROVIDED WITH THIS FILE TO ALLOW YOU TO CHANGE: ; ; THE SET OF FILE NUMBER / FILE NAME PRECONNECTIONS KNOWN ; IN THE FORTRAN 5 RUNTIME ENVIRONMENT. ; ; THE FILE NUMBERS ASSOCIATED WITH THE I/O STATEMENTS ; WHICH DO NOT ALLOW EXPLICIT MENTION OF FILE NUMBERS, ; 'PRINT', 'PUNCH', 'TYPE', 'ACCEPT', AND A FORM OF 'READ'. ; ; THE SET OF FILES TO WHICH ERRORS WILL BE REPORTED BY THE ; FORTRAN 5 RUNTIME ERROR REPORTER (.RTER). ; ; THE PRECONNECTIONS MADE IN THIS FILE ARE SIMILAR TO THOSE ASSUMED ; IN MANY IBM FORTRAN IV PROGRAMS. THESE ARE PROVIDED AS AN ; ALTERNATIVE TO THE STANDARD PRECONNECTIONS CONTAINED IN "DGCPCT.SR". ; ; ; WHEN YOU OPEN A FILE EXPLICITLY WITH THE "OPEN" STATEMENT, THE FILE ; NUMBER YOU PROVIDE IS ASSOCIATED WITH THE FILE. IF A FILE NUMBER ; IS USED IN AN I/O STATEMENT BEFORE IT IS ASSOCIATED WITH ANY FILE, ; THE PRECONNECTION TABLE IS CHECKED. IF A FILE NAME IS PRECONNECTED ; TO THE FILE NUMBER IN QUESTION, THEN THE NAMED FILE IS OPENED AND ; ASSOCIATED WHICH THE FILE NUMBER. IF NO FILE NAME IS PRECONNECTED ; TO THE GIVEN FILE NUMBER AN ERROR WILL BE SIGNALLED. ; ; ; THE 'PRINT', 'PUNCH', 'TYPE', 'ACCEPT', AND 'READ' (WITHOUT FILE ; NUMBER) STATEMENTS ALL HAVE FILE NUMBERS ASSOCIATED WITH THEM. ; ALL I/O DONE WITH THESE STATEMENTS USES THE IMPLIED FILE NUMBERS. ; ; ; UNDER PREVIOUS REVISIONS OF FORTRAN 5, ERRORS WERE REPORTED ; ONLY TO THE CONSOLE, AND NO HARD COPY WAS AVAILABLE. THE NEW ; MECHANISM ALLOWS YOU TO SPECIFY WHETHER ERRORS SHOULD BE ; REPORTED TO THE CONSOLE, AND TO NAME OTHER FILES TO WHICH ALL ; ERRORS SHOULD BE REPORTED. ; ; ; ; THE USE OF EACH OF THESE MECHANISMS WILL BE DESCRIBED IN DETAIL, ; AND THEN USED TO SET UP THE PRECONNECTIONS DEFINED BY THIS MODULE. ; YOU SPECIFY ERROR FILES USING THE 'EFILE' MACRO WITH EITHER: ; ; A QUOTED STRING NAMING THE FILE, OR ; ; THE NAME OF A ROUTINE WHICH RETURNS (IN AC0) THE WORD ; ADDRESS OF A STRING OF CHARACTERS NAMING THE FILE. ; THE STRING: ; - MUST START ON A WORD BOUNDARY ; - MUST END WITH A NULL ; THE ROUTINE: ; - MUST BE DEFINED WITHIN THIS MODULE ; - IS CALLED BY A JSR ; - MAY DESTROY ALL THE REGISTERS ; - MAY USE .RP ; ; THERE MUST BE AN INVOCATION OF 'EFILE' WITH NO ARGUMENTS ; BEFORE THE FIRST ERROR FILE DEFINITION, AND ANOTHER AFTER ; THE LAST ERROR FILE DEFINITION. ; CERTAIN I/O STATEMENTS IMPLY THE USE OF SPECIFIC ASSOCIATED ; FILE NUMBERS. THE CHOICE OF FILE NUMBERS DEPENDS UPON THE ; PRECONNECTION ENVIRONMENT OF THE PROGRAM. FOR EXAMPLE, THE ; 'PRINT' STATEMENT SHOULD BE ASSOCIATED WITH WHICHEVER FILE ; NUMBER IS PRECONNECTED TO THE LINE PRINTER. ; ; THE TWO STANDARD SETS OF ASSOCIATIONS ARE: ; ; STATEMENT ASSOCIATED FILE NUMBER ; DGC IBM ; ; READ 9 5 ; PRINT 12 6 ; PUNCH 14 7 ; TYPE 10 10 (FOR CONVENIENCE) ; ACCEPT 11 11 (FOR CONVENIENCE) ; ; ; YOU MAY CHANGE THESE ASSOCIATIONS BY MODIFYING THE EXISTING ; VALUES, BUT YOU MUST NOT DELETE ANY FILE NUMBER WITHOUT ; REPLACING IT, SINCE THE TABLE ENTRIES MUST BE AT KNOWN OFFSETS. ; THE FILE NUMBER / FILE NAME PRECONNECTION TABLE MAY CONTAIN MOST ; OF THE INFORMATION WHICH THE 'OPEN' STATEMENT ALLOWS YOU TO ; PROVIDED. YOU BUILD THE TABLE BY CALLING THE MACRO 'PRECON' WITH ; THE FOLLOWING ARGUMENTS: ; ; ; FIRST ARGUMENT - (REQUIRED) ; ; SPECIFY A FILE NUMBER WITH AN INTEGER-VALUED EXPRESSION. THE ; VALUE -1 HAS SPECIAL SIGNIFICANCE, NOTED ON THE NEXT PAGE. ; ; ; SECOND ARGUMENT - (REQUIRED, UNLESS THE FIRST ARGUMENT IS -1) ; ; SPECIFY A FILE NAME WITH EITHER: ; ; A QUOTED STRING NAMING THE FILE, OR ; ; THE NAME OF A ROUTINE WHICH RETURNS (IN AC0) THE WORD ; ADDRESS OF A STRING OF CHARACTERS NAMING THE FILE. ; THE STRING: ; - MUST START ON A WORD BOUNDARY ; - MUST END WITH A NULL ; THE ROUTINE: ; - MUST BE DEFINED WITHIN THIS MODULE ; - IS CALLED BY A JSR ; - WILL BE ENTERED WITH THE REQUESTED FILE NUMBER ; ON TOP OF THE STACK (.SP -> ) ; - MAY DESTROY ALL THE REGISTERS ; - MAY USE .RP ; - SHOULD USE THE STACK FOR OTHER STORAGE ; (FOR REENTRANCY) ; ; ; THIRD ARGUMENT - (OPTIONAL) ; ; SPECIFY THE ATTRIBUTES OF THE NAMED FILE WITH A QUOTED STRING ; OF CHARACTERS, AS IN THE "ATT=" OPTION OF THE "OPEN" STATEMENT. ; THE "C" ATTRIBUTE MUST NOT BE USED BECAUSE THE "REC=" OPTION ; IS NOT SUPPORTED IN THIS PRECONNECTION TABLE, AND THE FILE WOULD ; BE CREATED WITH A LENGTH OF ZERO, WHICH WOULD BE SIGNALLED AS ; AN ERROR BY THE OPERATING SYSTEM. ALL OTHER ATTRIBUTES MAY BE ; SPECIFIED. ; ; ; FOURTH ARGUMENT - (OPTIONAL, REQUIRES THAT THIRD ARGUMENT BE GIVEN) ; ; SPECIFY (WITH AN INTEGER-VALUED EXPRESSION) THE RECORD LENGTH ; TO BE ASSOCIATED WITH THE NAMED FILE, AS IN THE "LEN=" OPTION ; OF THE "OPEN" STATEMENT. (SEE THE FORTRAN 5 PROGRAMMER'S GUIDE ; FOR A DISCUSSION OF LINE LENGTH CONTROL.) ; ; ; NOTE: THE MACRO INVOCATION: ; ; PRECON 3,"OUTFILE",,40. ; ; IS A LEGAL PRECONNECTION, BECAUSE THE DOUBLE COMMA SIGNALS A ; NULL THIRD ARGUMENT TO THE MACRO. ; IMPORTANT: ; ; THE FIRST AND LAST CALLS OF THE MACRO "PRECON" ARE SPECIAL: ; ; THE LAST CALL MUST BE GIVEN THE SINGLE ARGUMENT -1, AND SIGNALS ; THE END OF THE TABLE. ; ; THE FIRST CALL SPECIFIES WHAT IS TO BE DONE WITH A FILE NUMBER ; WHICH IS NOT PRECONNECTED BY THE REMAINDER OF THE TABLE: ; ; IF ITS FIRST ARGUMENT IS -1, THEN AN ATTEMPT TO OPEN ; ANY FILE WHICH IS NOT EXPLICITLY PRECONNECTED RESULTS ; IN AN ERROR. ; ; IF ITS FIRST ARGUMENT IS NOT -1, THEN THE FIRST ARGUMENT IS ; IGNORED, AND THE 2ND, 3RD, AND 4TH ARGUMENTS DESCRIBE THE ; FILE WHICH IS TO BE OPENED. AN EXAMPLE OF THIS MAY BE ; SEEN LATER IN THIS SOURCE FILE. ; ONCE YOU HAVE YOUR CUSTOMIZED VERSION OF THIS FILE, IT MUST BE ASSEMBLED ; WITH THE MACRO ASSEMBLER AND LOADED INTO YOUR SAVE FILE. ; ; - FIRST YOU MUST BUILD A "MAC.PS" FILE, UNLESS YOU HAVE ; ALREADY DONE SO. (SEE THE FORTRAN 5 PROGRAMMER'S GUIDE ; FOR INSTRUCTIONS.) ; ; - NEXT YOU MUST ASSEMBLE YOUR CUSTOMIZED VERSION OF THIS FILE: ; ; MAC/T YOURFILE.SR ; ; - FINALLY YOU MUST LOAD YOUR ASSEMBLED FILE PRECEDING ; THE FORTRAN 5 LIBRARIES: ; ; RLDR/N MAINPROGRAM SUBR1 SUBR2 SUBR3 YOURFILE.RB @FLIB@ ; MACRO TO SET UP INFORMATION FOR INITIALIZER AND .CWCH .MACRO EFILE ** **.DO .ARGCT==0 ;CALLED WITH NO ARGUMENTS **.DO .MCALL==0 ;FIRST TIME **ERBUF: .BLK 1 ;ONE-WORD BUFFER **EPTR= . ;SAVE LOCATION OF FIRST DESCRIPTOR **.ENDC LAST ;LAST TIME ** 0 ;SIGNAL NO MORE PACKETS ** EPTR ;DEPOSIT PTR TO FIRST PACKET ** ERBUF ;DEPOSIT PTR TO ONE-WORD BUFFER **[LAST] **.ENDC DONE ** **; BUILD A TWO-WORD FILE DESCRIPTOR ** ** -1 ;SLOT FOR CHANNEL NUMBER **.DO (-1B7&'^1')=='"' ; IF THIS IS A STRING ** LIT[TXT ^1] ;(ADDRESS OF STRING) **.ENDC ROUTINE ; ELSE IT'S A ROUTINE ADDRESS ** @^1 ;(FLAGGED ADDRESS OF CODE) **[ROUTINE] **[DONE] % ; MACRO TO SAVE SPACE IN LISTING: .MACRO TXT **.NOLOC 1 ** .TXT ^1 **.NOLOC 0 % ; MACRO TO BUILD TABLE ENTRIES .MACRO PRECON ** ** ASSUME PCNUM==0 ;MAKE SURE WE AGREE ** ASSUME PCNAM==1 ;ON THE TABLE ENTRY FORMAT ** ASSUME PCATT==2 ** ASSUME PCLEN==3 ** **.PUSH .RDX **.RDX 10 **.DO .MCALL==0 ;IF THIS IS THE FIRST TIME **.START=. ;THEN SAVE NREL LOCATION OF TABLE START **.ENDC ** **.DO ^1<>-1 ;IF NOT -1 **^1 ;THEN DEPOSIT FILE NUMBER ** **.DO (-1B7&'^2')=='"' ;IF THIS IS A STRING **LIT[TXT ^2] ;THEN DEPOSIT ADDRESS OF STRING **.ENDC ROUTINE ;ELSE IT'S A ROUTINE ADDRESS **@^2 ;SO DEPOSIT FLAGGED (1B0) ADDRESS OF CODE **[ROUTINE] ** **.DO '^3'<>'' ;IF 3RD ARG PASSED **LIT[TXT ^3] ;THEN DEPOSIT ADDRESS OF STRING **.ENDC A3 ;ELSE NO 3RD ARG **0 ;SO ZAP 3RD ARG SLOT **[A3] ** **.DO '^4'<>'' ;IF 4TH ARG PASSED **^4 ;THEN DEPOSIT RECORD LENGTH VALUE **.ENDC A4 ;ELSE NO 4TH ARG **0 ;SO ZAP EMPTY 4TH ARG SLOT **[A4] ** **.ENDC DONE ;DONE IF NORMAL 1ST ARG, PROCESS IF -1 ** **.DO .==.START ;DO IF THIS IS FIRST TABLE ENTRY **-1 ;NO FILE NUMBER **0 ;NO FILE NAME **0 ;NO ATTRIBUTE STRING **0 ;NO RECORD LENGTH **.ENDC FINI ;DONE IF 1ST ENTRY, PROCESS IF TERMINATOR **-1 ;SIGNAL END OF TABLE **[FINI] ** **[DONE] **.RDX .POP % ; INCLUDE ALL GLOBAL ERROR FILE DEFINITIONS HERE EFILE ;INITIALIZE CALL EFILE CONOUT ;CONSOLE ; EFILE "ERRORS.TX" ; (FOR EXAMPLE) EFILE ;TERMINATE CALL ASSUME EFPTR==((.-2)-.PCT) ; DEFINE THE STATEMENT / FILE NUMBER ASSOCIATIONS ASSUME FNREA==(.-.PCT) 5. ;READ STATEMENT - CARD READER ASSUME FNPRT==(.-.PCT) 6. ;PRINT STATEMENT - PRINTER ASSUME FNPUN==(.-.PCT) 7. ;PUNCH STATEMENT - PAPER TAPE PUNCH ASSUME FNTYP==(.-.PCT) 10. ;TYPE STATEMENT - CONSOLE OUTPUT ASSUME FNACC==(.-.PCT) 11. ;ACCEPT STATEMENT - CONSOLE INPUT NENTRY .PCT ;NREL ADDRESS OF TABLE ; FILE FILE ATTRI- RECORD ; NUMBER NAME BUTES LENGTH PRECON 0 ALL ;PRECONNECTION FOR OTHER FILE NUMBERS PRECON 5 "$CDR" "B" ;CARD READER PRECON 6 "$LPT" "P" 132 ;LINE PRINTER ; 7 ;NO CARD PUNCH AVAILABLE PRECON 10 CONOUT "L" 80 ;CONSOLE OUTPUT PRECON 11 CONIN "B" ;CONSOLE INPUT PRECON -1 ;SIGNAL END OF TABLE ; ROUTINE TO RETURN NAME OF CONSOLE OUTPUT DEVICE CONOUT: STA 3,.RP ;SAVE RETURN ADDRESS JSR ALLOC ;ALLOCATE STACK SPACE FOR BUFFER .SYSTM .GCOUT ;BUFFER <- "$TTO" OR "$TTO1" JSR RTOSCON ;(FOR RTOS) AC3+1 -> FILENAME JMP COMCON ;RETURN TO CALLER ;INSERT NO CODE HERE TXT "$TTO" ; ROUTINE TO RETURN NAME OF CONSOLE INPUT DEVICE CONIN: STA 3,.RP ;SAVE RETURN ADDRESS JSR ALLOC ;ALLOCATE STACK SPACE FOR BUFFER .SYSTM .GCIN ;BUFFER <- "$TTI" OR "$TTI1" JSR RTOSCON ;(FOR RTOS) AC3+1 -> FILENAME JMP COMCON ;RETURN TO CALLER WITH NAME ;INSERT NO CODE HERE TXT "$TTI" ; COMMON CODE FOR ABOVE ROUTINES RTOSCON:INC 3,0,SKP ; -> FILE NAME COMCON: MOVZR 0,0 ; -> NAME (WORD PTR) JMP @.RP ;RETURN ; ROUTINE TO ALLOCATE A BUFFER ON THE STACK ALLOC: LDASP 0 ; -> TOP OF STACK ISZSP ;ALLOCATE 3 ISZSP ; WORDS FOR USE AS ISZSP ; A FILENAME BUFFER INCZL 0,0 ; => BUFFER JMP 0,3 ;RETURN TO CALLER ; ROUTINE TO GENERATE A FILENAME OF THE FORM ; "B$.F5" OR "F$.F5" ALL: STA 3,.RP ;SAVE RETURN ADDRESS LDATOP 1 ;FILENUMBER XLDA 2,= 10. DIVX ;AC0<-LOW DIGIT, AC1<-HIGH DIGIT MOVS 1,1 ;LEFT BYTE <- HIGH DIGIT ADD 1,0 ; / XLDA 1,= '00' ADD 0,1 ; <- "" XLDA 0,= '$B' ;"B$" SWAPPED LDA 2,@USTP ;0 => BACKGROUND, 1 => FOREGROUND **ASSUME USTPC==0 ADDZL 2,2 ; <- 0 OR 4 ADDS 2,0 ; <- "B$" OR "F$" XLDA 2,= '.F' XLDA 3,= '5' PSH 0,0 ;"B$" OR "F$" LDASP 0 ; -> FILENAME PSH 1,3 ;".F5<0>" JMP @.RP ;RETURN TO CALLER END R R