1
0
mirror of https://github.com/rcornwell/ctss.git synced 2026-01-12 00:02:48 +00:00
Richard Cornwell c610c1cfe3 Added start of IBSYS build system.
Added original listing files for reference.
2016-09-27 22:42:50 -04:00

3240 lines
215 KiB
Plaintext

FSETUP BCD 06/10/68 0250.6 9046 00000
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 1
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00032 ENTRY .SETUP MUST BE CALLED TO INITIALIZE SIMULATOR
00506 ENTRY KEYS TO TEST FOR CONSOLE ENTRY KEY DOWN
00476 ENTRY SW TO TEST FOR SENSE SWITCH DOWN
00474 ENTRY EVSW TO TEST FOR SENSE SWITCH EVER DOWN
00416 ENTRY CLOCON TURN ON THE SIMULATED CLOCK
00417 ENTRY CLOCOF TURN OFF THE CLOCK
00653 ENTRY EXIT CLOSE ALL FILES AND STOP
00670 ENTRY CHNCOM CLOSE ONLY SIMULATOR FILES AND CHAIN
00672 ENTRY DORMNT CLOSE ONLY SIMULATOR FILES AND STOP
00672 ENTRY DEAD SAME AS 'DORMNT'
00712 ENTRY HALT PANIC CLOSE WITH NO SHUTDOWN
00517 ENTRY WRITE6 TYPE A LINE IN 6-BIT MODE
00515 ENTRY WRIT6A TYPE 6-BIT LINE (NO TRAILING C.R.)
00536 ENTRY RED TO GET INTO RED SHIFT
00540 ENTRY BLACK TO GET INTO BLACK SHIFT
00557 ENTRY .SPRNT TO WRITE INTO '.TAPE. A3'
00632 ENTRY .FOUT TO CLOSE OUT '.TAPE. A3'
THE FOLLOWING ARE PROVIDED GRATIS
00421 ENTRY SETFUL TO SWITCH CONSOLE TO 12-BIT MODE
00420 ENTRY SETBCD TO SWITCH CONSOLE TO 6-BIT MODE
00415 ENTRY WHOAMI GET USER IDENTIFICATION
00414 ENTRY GETBRK GET LAST BREAK SETTING
00413 ENTRY SETBRK SET BREAK LEVEL
00412 ENTRY WRFLXA PRINT ON CONSOLE (NO C.R.)
00411 ENTRY WRFLX PRINT ON CONSOLE
00410 ENTRY RDFLXA READ FROM CONSOLE
EXTERN MDINIT,FCLOSE,BCOCT,GETMEM,SETMEM
EXTERN FOPEN,FBUFFE,FWRFIL,FWRWAI,FPRNTE
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 2
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
OVLBGN MACRO MACRO TO OVERLAY CODE
IFF SALMOD OVERLAY IF THIS IS FOR SALVAGER
UNLIST ..
IFF SALMOD ..
OVLORG SET * SAVE CURRENT LOCATION COUNTER
OVLBGN END
OVLEND MACRO TURN OFF OVERLAY
IFF SALMOD RE-ORIGIN IF SALVAGER
ORG OVLORG ..
IFF SALMOD TURN ON LISTING AGAIN
LIST ..
OVLEND END
DFINE MACRO NAME DEFINE SYMBOL
IFF SALMOD IF SALVAGER, PLANT RETURN OP CODE
NAME TRA 1,4 ..
IFF SALMOD,1,0 IF NOT, MAKE EXTERNAL SYMBOL
EXTERN NAME ..
DFINE END
DEFINE MACRO NAME MAIN MACRO TO DEFINE SYMBOLS
IRP NAME ALLOW FOR LOTS OF SYMBOLS
DFINE NAME DEFINE SYMBOL
IRP
DEFINE END
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 3
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
TRANSFER VECTOR
00000 442431453163 MDINIT
00001 262343466225 FCLOSE
00002 222346236360 BCOCT
00003 272563442544 GETMEM
00004 622563442544 SETMEM
00005 264647254560 FOPEN
00006 262264262625 FBUFFE
00007 266651263143 FWRFIL
00010 266651662131 FWRWAI
00011 264751456325 FPRNTE
00012 622563314660 SETIO
00013 314626314531 IOFINI
00014 314651622563 IORSET
00015 254522626660 ENBSW
00016 314662636060 IOST
00017 314651626060 IORS
00020 216363212330 ATTACH
00021 475145632551 PRNTER
00022 234346622560 CLOSE
00023 222623434662 BFCLOS
00024 222324252360 BCDEC
00025 216463304651 AUTHOR
00026 644751652263 UPRVBT
00027 266233636263 FS.TST
LINKAGE DIRECTOR
00030 000000000000
00031 336225636447
00000 SALMOD EQU 0 NON-ZERO IF SALVAGER MODULE
00032 DEFINE (SETIO,IOFINI,IORSET,ENBSW)
00032 DEFINE (IOST,IORS)
00032 DEFINE (ATTACH,PRNTER)
00032 DEFINE (CLOSE,BFCLOS)
00032 DEFINE (BCDEC)
00032 DEFINE (AUTHOR,UPRVBT,FS.TST)
00032 1 77777 4 00033 .SETUP TXI *+1,4,-1 SET UP RETURN
00033 0636 00 4 00407 SCA RETURN,4 ..
00034 -0625 00 0 00443 STL RETSW SET RETURN SWITCH
00035 0760 00 0 00016 LMTM 7-TAG MODE FOR I/O SYSTEM
00036 0074 00 4 00000 TSX MDINIT,4 SET UP SIMULATOR ADAPTER
00037 -0625 00 0 00652 STL SPRNSW ASSUME USER WANTS A3
00040 OVLBGN OVERLAY CODE IF THIS IS SALVAGER
00040 0074 00 4 00415 TSX WHOAMI,4 GET PROGRAMMER NUMBER
00041 3 00002 0 00422 PTH WD,,2 ..
00042 0074 00 4 00024 TSX BCDEC,4 CONVERT TO BINARY
00043 3 00000 0 00423 PTH WD+1 ..
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 4
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00044 0601 00 0 00434 STO AUTHR CALL THIS USER'S AUTHOR NUMBER
00045 0074 00 4 00016 TSX IOST,4 SET UP ENABLE TRAPS, ETC.
00046 0074 00 4 00012 TSX SETIO,4 INITIALIZE PSEUDO FILE SYSTEM
00047 3 00000 0 00434 PTH AUTHR AUTHNO OF THIS USER
00050 OVLEND END OF SALVAGER OVERLAY
00050 0074 00 4 00003 TSX GETMEM,4 GET MEMBND
00051 0621 00 0 00624 STA A3BUF TO BUFFER '.TAPE. A3' WITH
00052 0400 00 0 00724 ADD =432
00053 0074 00 4 00004 TSX SETMEM,4 RESET IT
00054 -0600 00 0 00436 BREAK STQ MQ HERE ON INTERRUPTS, SAVE MACHINE
00055 0604 00 0 00441 STI SI SENSE INDICATORS
00056 0602 00 0 00435 SLW LAC LOGICAL AC
00057 0771 00 0 00002 ARS 2 S AND Q BITS OF AC
00060 0601 00 0 00437 STO SQ ..
00061 0600 00 0 00440 STZ OV OVERFLOW TRIGGER
00062 -0140 00 0 00064 TNO *+2 TEST TRIGGER
00063 -0625 00 0 00440 STL OV ON, SET SWITCH
00064 0636 00 4 00404 SCA X4,4 SAVE INDEX REGISTER 4
00065 0634 00 2 00405 SXA X2,2
00066 0634 00 1 00406 SXA X1,1
00067 0074 00 4 00420 TSX SETBCD,4 MAKE SURE IN 6-BIT MODE
00070 0621 00 0 00442 STA MODE SAVE OLD MODE
00071 0074 00 4 00536 TYPE TSX RED,4 ZOW, RED LETTERS
00072 0074 00 4 00411 TSX WRFLX,4 ANNOUNCE THAT WE ARE LISTENING
00073 0 00001 0 00746 =HTYPE..,,1 ..
00074 0074 00 4 00540 TSX BLACK,4 BACK TO BLACK LETTERS
00075 0074 00 4 00410 TSX RDFLXA,4 READ REQUEST LINE
00076 0 00005 0 00422 WD,,NIN INTO INPUT BUFFER
00077 0774 00 1 00005 AXT NOUT,1 THEN BREAK IT INTO ARGUMENTS
00100 0774 00 4 00005 AXT NIN,4
00101 -0625 00 0 00320 NEWOUT STL BL INITIALIZE NEXT OUTPUT WORD
00102 -0500 00 0 00742 CAL =H TO BE BLANK
00103 0602 00 1 00434 SLW RQUEST+NOUT,1
00104 0560 00 4 00427 INPUT LDQ WD+NIN,4 GET SOME INPUT
00105 0774 00 2 00006 AXT 6,2 (6 CHARS. WORTH)
00106 -0754 00 0 00000 NXTCHR ZAC
00107 -0763 00 0 00006 LGL 6 GET A CHARACTER
00110 -0340 00 0 00723 LAS =O60 IS IT 'BLANK'.Q.
00111 0020 00 0 00116 TRA OK NO.
00112 0020 00 0 00133 TRA BLANK YES. MAY END ARGUMENT.
00113 -0340 00 0 00722 LAS =O55 IS IT 'CR' OR 'NULL'.Q.
00114 0020 00 0 00123 TRA IGNORE 'NULL', IGNORE IT.
00115 0020 00 0 00125 TRA ENDINP 'CR', END OF INPUT.
00116 0600 00 0 00320 OK STZ BL NOPE. NORMAL CHARACTER.
00117 -0765 00 0 00006 LGR 6
00120 -0500 00 1 00434 CAL RQUEST+NOUT,1 PUT IT ON END OF ARGUMENT
00121 -0763 00 0 00006 LGL 6
00122 0602 00 1 00434 SLW RQUEST+NOUT,1 AND SAVE.
00123 2 00001 2 00106 IGNORE TIX NXTCHR,2,1 ANYTHING LEFT IN MQ.Q.
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 5
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00124 2 00001 4 00104 TIX INPUT,4,1 NO. IS THERE ANY MORE INPUT.Q.
00125 -0520 00 0 00320 ENDINP NZT BL NO. IS CURRENT ARG EMPTY.Q.
00126 -2 00001 1 00140 TNX CKRQST,1,1 NO. SKIP PAST IT.
00127 -0500 00 0 00317 CAL STAR SET REMAINING ARGS TO '*'
00130 0602 00 1 00434 SLW RQUEST+NOUT,1
00131 2 00001 1 00130 TIX *-1,1,1 ALL OF THEM.
00132 0020 00 0 00140 TRA CKRQST GO SEE WHAT WE'VE GOT
00133 0520 00 0 00320 BLANK ZET BL IS THIS THE FIRST BLANK.Q.
00134 0020 00 0 00123 TRA IGNORE NO. IGNORE IT.
00135 -0625 00 0 00320 STL BL YES.
00136 -0500 00 0 00742 CAL =H CLOSE THIS ARG.
00137 2 00001 1 00122 TIX IGNORE-1,1,1
00140 -0500 00 0 00427 CKRQST CAL RQUEST
00141 0774 00 4 00030 AXT NCOMS,4 TEST KEY WORD AGAINST TABLE
00142 -0340 00 4 00474 LAS CTABLE+NCOMS,4 ..
00143 0020 00 0 00145 TRA *+2 GREATER, KEEP LOOKING
00144 0020 60 4 00475 TRA* CTABLE+NCOMS+1,4 MATCH, GO TO ROUTINE
00145 2 00002 4 00142 TIX *-3,4,2 LOOP BACK AND TRY AGAIN
00146 0074 00 4 00536 TSX RED,4
00147 0074 00 4 00412 TSX WRFLXA,4
00150 0 00001 0 00427 RQUEST,,1
00151 0074 00 4 00411 TSX WRFLX,4
00152 0 00002 0 00155 IGN,,2
00153 0074 00 4 00540 TSX BLACK,4
00154 0020 00 0 00071 TRA TYPE NOBODY MATCHES, READ NEW LINE
00155 603127454651 IGN BCI 2, IGNORED.
00156 252433606060
00157 -0500 00 0 00430 SENSE CAL RQUEST+1
00160 0322 00 0 00317 ERA STAR
00161 0100 00 0 00071 TZE TYPE
00162 0074 00 4 00002 TSX BCOCT,4 SENSE SWITCH SETTING, CONVERT WORD
00163 3 00000 0 00430 PTH RQUEST+1 ..
00164 0767 00 0 00036 ALS 30 JUSTIFY WORD PROPERLY
00165 0602 00 0 00513 SLW SWS SAVE IT
00166 -0602 00 0 00511 ORS EVSWS BLEND IN WITH MEMORY CELL
00167 0020 00 0 00071 TRA TYPE READ SOME MORE LINES
00170 -0500 00 0 00430 ENTRY CAL RQUEST+1
00171 0322 00 0 00317 ERA STAR
00172 -0100 00 0 00176 TNZ *+4
00173 -0500 00 0 00514 CAL CKEYS
00174 -0320 00 0 00753 ANA =O777777000000
00175 0020 00 0 00201 TRA *+4
00176 0074 00 4 00002 TSX BCOCT,4 CONVERT LEFT-HALF OF ENTRY KEYS
00177 3 00000 0 00430 PTH RQUEST+1 ..
00200 0767 00 0 00022 ALS 18 POSITION IT PROPERLY
00201 0044 00 0 00000 PAI
00202 -0500 00 0 00431 CAL RQUEST+2
00203 0322 00 0 00317 ERA STAR
00204 -0100 00 0 00210 TNZ *+4
00205 -0500 00 0 00514 CAL CKEYS
00206 -0320 00 0 00725 ANA =O777777
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 6
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00207 0020 00 0 00212 TRA *+3
00210 0074 00 4 00002 TSX BCOCT,4 CONVERT RIGHT-HALF OF CONSOLE KEYS
00211 3 00000 0 00431 PTH RQUEST+2 ..
00212 0043 00 0 00000 OAI MERGE WITH LEFT-HALF
00213 0604 00 0 00514 STI CKEYS
00214 0020 00 0 00071 TRA TYPE READ SOME MORE LINES
00215 0760 00 0 00016 RESET LMTM RESET, GET BACK TO 7-TAG MODE
00216 OVLBGN START OF SALVAGER OVERLAY
00216 -0625 60 0 00015 STL* ENBSW SET SWITCH FOR ALLSAV
00217 0074 00 4 00017 TSX IORS,4 KILL WAITING TRAPS
00220 0074 00 4 00014 TSX IORSET,4 RESET FILE SYSTEM
00221 0074 00 4 00013 TSX IOFINI,4 MAKE SURE UPDATED
00222 3 00000 0 00223 PTH *+1 NO ERRORS, PLEASE
00223 OVLEND END OF SALVAGER OVERLAY
00223 0020 00 0 00071 TRA TYPE READ SOME MORE LINES
00224 0074 00 4 00417 CLOCK TSX CLOCOF,4 FIRST, TURN OFF THE CLOCK
00225 -0500 00 0 00430 CAL RQUEST+1 CHECK ACTION DESIRED
00226 0322 00 0 00737 ERA =H OFF TEST FOR THE WORD 'OFF'
00227 0100 00 0 00071 TZE TYPE THAT'S IT, ALL DONE
00230 0074 00 4 00416 TSX CLOCON,4 NOT 'OFF', TURN IT ON
00231 0020 00 0 00071 TRA TYPE GET SOME MORE INPUT
00232 ATTCH EQU * OFFER THE OPTION TO ATTACH TO A DIRECTORY
00232 OVLBGN NO ATTACHES FOR SALVAGER
00232 0074 00 4 00020 TSX ATTACH,4 ATTACH TO DIRECTORY INDICATED
00233 3 00000 0 00430 PTH RQUEST+1 IN COLUMNS 7 - 12
00234 3 00000 0 00431 PTH RQUEST+2 AND COLUMNS 13 - 18
00235 3 00000 0 00237 PTH *+2 GRIPE ABOUT ERRORS
00236 0020 00 0 00071 TRA TYPE IF OK, GET MORE INPUT
00237 0074 00 4 00021 TSX PRNTER,4 FILE SYSTEM GRIPE
00240 OVLEND END OF OVERLAY
00240 0020 00 0 00071 TRA TYPE GET MORE LINES OF INPUT
00241 PRIVL BSS 0
00241 OVLBGN
00241 -0500 00 0 00430 CAL RQUEST+1 HERE TO CHANGE RESTRICTION CODE
00242 0774 00 4 00012 AXT NRCOD,4 CHECK FOR SPECIAL LEFT-HALF ARGS.
00243 -0340 00 4 00273 LAS RCODES+NRCOD,4
00244 0020 00 0 00246 TRA *+2
00245 0020 00 0 00252 TRA *+5
00246 2 00002 4 00243 TIX *-3,4,2
00247 0074 00 1 00273 TSX PROCES,1 PROCESS BOTH HALVES
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 7
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00250 -0500 60 0 00026 CAL* UPRVBT POINTER TO OLD RCODE
00251 0020 00 0 00255 TRA *+4
00252 0441 00 4 00274 LDI RCODES+NRCOD+1,4 GET NUMERIC EQUIV. OF ARG.
00253 0074 00 1 00305 TSX PROCS1,1 THEN PROCESS RIGHT-HALF
00254 -0500 60 0 00026 CAL* UPRVBT POINTER TO OLD RCODE
00255 0604 60 0 00026 STI* UPRVBT INSERT NEW RESTRICTION CODE
00256 0074 00 4 00003 TSX GETMEM,4
00257 0074 00 4 00004 TSX SETMEM,4 AND FORCE 'IOPAC' TO GIVE IT TO F.S.
00260 OVLEND
00260 0020 00 0 00071 TRA TYPE GO FOR MORE
00261 242125444645 RCODES BCI 1,DAEMON
00262 +007010000000 OCT 007010000000
00263 606060263122 BCI 1, FIB
00264 +013004000000 OCT 013004000000
00265 264651252751 BCI 1,FOREGR
00266 +015002000000 OCT 015002000000
00267 475165234644 BCI 1,PRVCOM
00270 +015022000037 OCT 015022000037
00271 222123422751 BCI 1,BACKGR
00272 +016001000000 OCT 016001000000
00012 NRCOD EQU *-RCODES
00273 -0500 00 0 00430 PROCES CAL RQUEST+1 PROCESS LEFT-HALF RCODE
00274 0322 00 0 00317 ERA STAR CHECK FOR '*'
00275 -0100 00 0 00301 TNZ *+4
00276 0522 00 1 00001 XEC 1,1 IS '*', USE OLD LEFT HALF
00277 -0320 00 0 00753 ANA =O777777000000
00300 0020 00 0 00304 TRA *+4
00301 0074 00 4 00002 TSX BCOCT,4 NOT '*', CONVERT ARG.
00302 3 00000 0 00430 PTH RQUEST+1
00303 0767 00 0 00022 ALS 18 PUT IN LEFT HALF
00304 0044 00 0 00000 PAI SAVE NEW LEFT HALF IN SI
00305 -0500 00 0 00431 PROCS1 CAL RQUEST+2 NOW FOR RIGHT HALF
00306 0322 00 0 00317 ERA STAR CHECK FOR '*'
00307 -0100 00 0 00313 TNZ *+4
00310 0522 00 1 00001 XEC 1,1 IS '*', USE OLD RIGHT HALF
00311 -0320 00 0 00725 ANA =O777777
00312 0020 00 0 00315 TRA *+3
00313 0074 00 4 00002 TSX BCOCT,4 NOT '*', CONVERT ARG.
00314 3 00000 0 00431 PTH RQUEST+2
00315 0043 00 0 00000 OAI ADD RIGHT HALF TO LEFT
00316 0020 00 1 00002 TRA 2,1 AND RETURN
00317 606060606054 STAR BCI 1, *
00320 0 00000 0 00000 BL
00321 AUTH BSS 0
00321 OVLBGN
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 8
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00321 -0500 00 0 00430 CAL RQUEST+1
00322 0322 00 0 00317 ERA STAR
00323 -0100 00 0 00326 TNZ *+3
00324 0500 00 0 00434 CLA AUTHR
00325 0020 00 0 00330 TRA *+3
00326 0074 00 4 00024 TSX BCDEC,4
00327 3 00000 0 00430 PTH RQUEST+1
00330 0601 60 0 00025 STO* AUTHOR
00331 0074 00 4 00003 TSX GETMEM,4
00332 0074 00 4 00004 TSX SETMEM,4
00333 OVLEND
00333 0020 00 0 00071 TRA TYPE
00334 GOD BSS 0
00334 OVLBGN
00334 0600 60 0 00027 STZ* FS.TST
00335 -0500 00 0 00430 CAL RQUEST+1
00336 0322 00 0 00741 ERA =H ON
00337 -0100 00 0 00071 TNZ TYPE
00340 -0625 60 0 00027 STL* FS.TST
00341 OVLEND
00341 0020 00 0 00071 TRA TYPE
00342 -0500 00 0 00430 A3SET CAL RQUEST+1
00343 0322 00 0 00737 ERA =H OFF
00344 0602 00 0 00652 SLW SPRNSW
00345 -0100 00 0 00071 TNZ TYPE IF TURNED ON, EXIT
00346 0074 00 4 00001 TSX FCLOSE,4 OTHERWISE, CLOSE FILE.
00347 3 00000 0 00734 PTH =H.TAPE.
00350 3 00000 0 00740 PTH =H A3
00351 3 00000 0 00351 PTH * NO ERRORS, PLEASE
00352 0020 00 0 00071 TRA TYPE
00353 0074 00 4 00413 START TSX SETBRK,4 END OF INPUT, RESET BREAK LEVEL
00354 0 00000 0 00054 PZE BREAK ..
00355 -0500 00 0 00430 CAL RQUEST+1
00356 0322 00 0 00317 ERA STAR
00357 0100 00 0 00365 TZE *+6
00360 0074 00 4 00002 TSX BCOCT,4 SEE IF WHERE TO START IS SPECIFIED
00361 3 00000 0 00430 PTH RQUEST+1 LOOK AT SECOND WORD
00362 0100 00 0 00365 TZE *+3 IF ZERO, CONTINUE WITH PROGRAM
00363 0621 00 0 00407 STA RETURN IF NOT, SET NEW LOCATION
00364 -0625 00 0 00443 STL RETSW INDICATE RETURN ALREADY SET
00365 0074 00 4 00414 TSX GETBRK,4 GET RETURN LOCATION
00366 -0520 00 0 00443 NZT RETSW IF NON-ZERO, RETURN IS ALREADY SET
00367 0621 00 0 00407 STA RETURN SAVE RETURN
00370 0600 00 0 00443 STZ RETSW RESET RETURN SWITCH
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 9
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00371 0520 00 0 00442 ZET MODE TEST FOR PREVIOUS CONSOLE MODE
00372 0074 00 4 00421 TSX SETFUL,4 12-BIT, MAKE IT SO
00373 0560 00 0 00437 LDQ SQ RESTORE S AND Q BITS
00374 0500 00 0 00374 CLA * GET BITS INTO AC
00375 0763 00 0 00001 LLS 1 THAT SHIFT DOES THE S BIT
00376 0767 00 0 00044 ALS 36 AND THIS ONE DOES THE Q BIT
00377 -0501 00 0 00435 ORA LAC NOW RESTORE LOGICAL AC
00400 -0520 00 0 00440 NZT OV TEST OVERFLOW SWITCH
00401 0140 00 0 00402 TOV *+1 OFF, TURN OFF OVERFLOW
00402 0560 00 0 00436 LDQ MQ RESTORE MQ
00403 0441 00 0 00441 LDI SI AND THE SI
00404 -0774 00 4 00000 X4 AXC **,4 RESTORE INDEX REGISTER 4
00405 0774 00 2 00000 X2 AXT **,2
00406 0774 00 1 00000 X1 AXT **,1
00407 0020 00 0 00000 RETURN TRA ** RETURN TO INTERRUPTED PROGRAM
00410 0101 00 0 00736 RDFLXA TIA =HRDFLXA SUPERVISOR CALLS
00411 0101 00 0 00751 WRFLX TIA =HWRFLX ..
00412 0101 00 0 00750 WRFLXA TIA =HWRFLXA ..
00413 0101 00 0 00744 SETBRK TIA =HSETBRK ..
00414 0101 00 0 00733 GETBRK TIA =HGETBRK ..
00415 0101 00 0 00747 WHOAMI TIA =HWHOAMI ..
00416 0101 00 0 00731 CLOCON TIA =HCLOCON ..
00417 0101 00 0 00730 CLOCOF TIA =HCLOCOF ..
00420 0101 00 0 00743 SETBCD TIA =HSETBCD ..
00421 0101 00 0 00745 SETFUL TIA =HSETFUL ..
00005 NIN EQU 5 NUMBER OF WORDS TO READ
00005 NOUT EQU 5 MAXIMUM NUMBER OF ARGS.
00422 WD BSS NIN INPUT BUFFER
00427 RQUEST BSS NOUT BUFFER FOR REQUESTS
00434 AUTHR BSS 1 USER AUTHOR NUMBER
00435 LAC BSS 1 STORAGE FOR MACHINE CONDITIONS
00436 MQ BSS 1 ..
00437 SQ BSS 1 ..
00440 OV BSS 1 ..
00441 SI BSS 1 ..
00442 MODE BSS 1 ..
00443 RETSW BSS 1 RETURN SWITCH
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 10
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00444 606225456225 CTABLE BCI 1, SENSE ALLOWABLE COMMANDS
00445 3 00000 0 00157 PTH SENSE
00446 602545635170 BCI 1, ENTRY
00447 3 00000 0 00170 PTH ENTRY
00450 602343462342 BCI 1, CLOCK
00451 3 00000 0 00224 PTH CLOCK
00452 216363212330 BCI 1,ATTACH
00453 3 00000 0 00232 PTH ATTCH
00454 606263215163 BCI 1, START
00455 3 00000 0 00353 PTH START
00456 606223512144 BCI 1, SCRAM
00457 3 00000 0 00653 PTH EXIT
00460 233045234644 BCI 1,CHNCOM
00461 3 00000 0 00670 PTH CHNCOM
00462 605125622563 BCI 1, RESET
00463 3 00000 0 00215 PTH RESET
00464 604751316543 BCI 1, PRIVL
00465 3 00000 0 00241 PTH PRIVL
00466 216463304651 BCI 1,AUTHOR
00467 3 00000 0 00321 PTH AUTH
00470 606060274624 BCI 1, GOD
00471 3 00000 0 00334 PTH GOD
00472 606060602103 BCI 1, A3
00473 3 00000 0 00342 PTH A3SET
00030 NCOMS EQU *-CTABLE
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 11
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
KEY AND SENSE SWITCH TESTING
00474 0500 00 0 00510 EVSW CLA EVPT GET POINTER TO MEMORY CELL
00475 0020 00 0 00477 TRA *+2 SKIP ALTERNATE ENTRY POINT
00476 0500 00 0 00512 SW CLA SWPT GET POINTER TO CURRENT SWITCHES
00477 0621 00 0 00502 STA TESTSW SET PROPER POINTER
00500 0500 60 4 00001 CLA* 1,4 PICK UP SWITCH TO BE TESTED
00501 0621 00 0 00503 STA TESTSW+1 SAVE THE NUMBER
00502 0560 00 0 00000 TESTSW LDQ ** GET BINARY SWITCHES
00503 -0763 00 0 00000 LGL ** POSITION PROPER BIT
00504 -0320 00 0 00717 ANA =O1 MASK OUT EXTRANEOUS GARBAGE
00505 0020 00 4 00002 TRA 2,4 RETURN TO CALLER
00506 0500 00 0 00514 KEYS CLA CKEYS RETURN SIGNED ANSWER TO MAD CALLER
00507 0020 00 4 00001 TRA 1,4 RETURN TO CALLER
00510 0 00000 0 00511 EVPT PZE EVSWS POINTER TO MEMORY CELL
00511 +000000000000 EVSWS OCT 0 REMEMBERS ALL SWITCHES DOWN
00512 0 00000 0 00513 SWPT PZE SWS POINTER TO CURRENT SETTINGS
00513 +000000000000 SWS OCT 0 CURRENT SENSE SWITCH SETTINGS
00514 +000000000000 CKEYS OCT 0 CURRENT CONSOLE ENTRY KEYS
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 12
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
ROUTINE TO TYPE A LINE IN 6-BIT MODE AND
RETURN TO PREVIOUS MODE
00515 0500 00 0 00412 WRIT6A CLA WRFLXA PICK UP 'TIA' TO WRFLXA
00516 0020 00 0 00520 TRA WRITE6+1 REJOIN ROUTINE
00517 0500 00 0 00411 WRITE6 CLA WRFLX PICK UP 'TIA' TO WRFLX
00520 0601 00 0 00535 STO WRITE PLANT FOR WRITE CALL LATER
00521 0636 00 4 00532 SCA W6X4,4 SAVE LINKAGE
00522 -0500 00 4 00001 CAL 1,4 GET ARGUMENT TO ROUTINE
00523 0602 00 0 00527 SLW WROUT AND PLANT IT
00524 0074 00 4 00420 TSX SETBCD,4 GET INTO 6-BIT MODE
00525 0621 00 0 00534 STA WMODE AND REMEMBER OLD MODE
00526 0074 00 4 00535 TSX WRITE,4 TYPE LINE
00527 0 00000 0 00000 WROUT **,,** ..
00530 0520 00 0 00534 ZET WMODE TEST OLD MODE
00531 0074 00 4 00421 TSX SETFUL,4 12-BIT, RETURN TO IT
00532 -0774 00 4 00000 W6X4 AXC **,4 RESTORE LINKAGE
00533 0020 00 4 00002 TRA 2,4 RETURN TO CALLER
00534 WMODE BSS 1 NON-ZERO IF CONSOLE WAS IN 12-BIT MODE
00535 WRITE BSS 1 'TIA' TO PROPER SUPERVISOR CALL
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 13
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
RED/BLACK SHIFTS FOR NICE PRINT-OUTS
00536 -0500 00 0 00553 RED CAL RDSHFT GET RED SHIFT-CODE
00537 0020 00 0 00541 TRA BLACK+1 REJOIN ROUTINE
00540 -0500 00 0 00554 BLACK CAL BLSHFT GET BLACK SHIFT-CODE
00541 0602 00 0 00555 SLW CSHFT SAVE COLOR SHIFT
00542 0636 00 4 00551 SCA SHX4,4 SAVE LINKAGE
00543 0074 00 4 00421 TSX SETFUL,4 NEED 12-BIT MODE FOR COLOR SHIFTING
00544 0621 00 0 00556 STA SMODE REMEMBER OLD MODE
00545 0074 00 4 00412 TSX WRFLXA,4 PRINT COLOR SHIFT CHARACTER
00546 0 00001 0 00555 CSHFT,,1 ..
00547 -0520 00 0 00556 NZT SMODE TEST OLD MODE
00550 0074 00 4 00420 TSX SETBCD,4 6-BIT, RETURN TO IT
00551 -0774 00 4 00000 SHX4 AXC **,4 RESTORE LINKAGE
00552 0020 00 4 00001 TRA 1,4 RETURN TO CALLER
00553 +013300570057 RDSHFT OCT 013300570057 RED SHIFT AND TWO NULLS
00554 +013200570057 BLSHFT OCT 013200570057 BLACK SHIFT AND TWO NULLS
00555 CSHFT BSS 1 DESIRED SHIFT CODE
00556 SMODE BSS 1 NON-ZERO IF CONSOLE WAS IN 12-BIT MODE
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 14
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
HERE TO WRITE PSEUDO-TAPE
00557 -0520 00 0 00652 .SPRNT NZT SPRNSW DOES USER WANT TAPE.Q.
00560 0020 00 4 00002 TRA 2,4 NO. RETURN IMMEDIATELY.
00561 0634 00 4 00605 SXA SX4,4
00562 -0500 00 4 00001 CAL 1,4 GET POINTER TO DATA
00563 0621 00 0 00604 STA WRDATA AND PUT IN F.S. CALL
00564 0622 00 0 00604 STD WRDATA
00565 -0734 00 4 00000 PDX ,4
00566 0634 00 4 00650 SXA LNMRK,4 AND LENGTH IN LINEMARK
00567 0074 00 4 00007 SPRNT TSX FWRFIL,4 WRITE LINE-MARK
00570 3 00000 0 00734 PTH =H.TAPE.
00571 3 00000 0 00740 PTH =H A3
00572 3 00000 0 00716 PTH =0 ALWAYS APPENDING
00573 3 00001 0 00650 PTH LNMRK,,1
00574 3 00000 0 00735 PTH =-0 NO EOF'S
00575 3 00000 0 00735 PTH =-0
00576 3 00000 0 00607 PTH OPEN.Q ERROR, MAYBE NOT OPEN.Q.
00577 3 00000 0 00651 PTH CODE
00600 0074 00 4 00010 TSX FWRWAI,4 NOW WRITE DATA
00601 3 00000 0 00734 PTH =H.TAPE.
00602 3 00000 0 00740 PTH =H A3
00603 3 00000 0 00716 PTH =0
00604 3 00000 0 00000 WRDATA PTH **,,**
00605 0774 00 4 00000 SX4 AXT **,4 NO EOF'S OR ERROR'S
00606 0020 00 4 00002 TRA 2,4
00607 -0500 00 0 00651 OPEN.Q CAL CODE ERROR WRITING
00610 0402 00 0 00721 SUB =3 WAS IT 'FILE NOT ACTIVE'.Q.
00611 -0100 00 0 00627 TNZ EREXIT NO. REAL ERROR. COMPLAIN.
00612 0074 00 4 00005 TSX FOPEN,4 YES. OPEN THE FILE
00613 3 00000 0 00752 PTH =HW
00614 3 00000 0 00734 PTH =H.TAPE.
00615 3 00000 0 00740 PTH =H A3
00616 3 00000 0 00716 PTH =0
00617 3 00000 0 00720 PTH =2
00620 3 00000 0 00627 PTH EREXIT COMPLAIN IF ERROR
00621 0074 00 4 00006 TSX FBUFFE,4 ALSO BUFFER IT
00622 3 00000 0 00734 PTH =H.TAPE.
00623 3 00000 0 00740 PTH =H A3
00624 3 00660 0 00000 A3BUF PTH **,,432
00625 3 00000 0 00627 PTH EREXIT COMPLAIN IF ERROR
00626 0020 00 0 00567 TRA SPRNT TRY WRITING AGAIN.
00627 0600 00 0 00652 EREXIT STZ SPRNSW STOP TRYING TO WRITE
00630 0074 00 4 00011 TSX FPRNTE,4 COMPLAIN ABOUT ERROR
00631 0020 00 0 00605 TRA SX4 THEN RETURN.
00632 0634 00 4 00640 .FOUT SXA FX4,4 HERE TO CLOSE '.TAPE. A3'
00633 0074 00 4 00001 TSX FCLOSE,4
00634 3 00000 0 00734 PTH =H.TAPE.
00635 3 00000 0 00740 PTH =H A3
00636 3 00000 0 00642 PTH FOUTER POSSIBLE ERROR
00637 3 00000 0 00651 PTH CODE
00640 0774 00 4 00000 FX4 AXT **,4
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 15
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
00641 0020 00 4 00001 TRA 1,4 RETURN
00642 0500 00 0 00651 FOUTER CLA CODE IF ERROR WAS
00643 0402 00 0 00721 SUB =3 'FILE NOT ACTIVE',
00644 0100 00 0 00640 TZE FX4 DON'T COMPLAIN.
00645 0520 00 0 00652 ZET SPRNSW ALSO IF USER DOESN'T WANT FILE.
00646 0074 00 4 00011 TSX FPRNTE,4 OTHERWISE ...
00647 0020 00 0 00640 TRA FX4 AND RETURN.
00650 -377777000000 LNMRK OCT 777777000000
00651 0 00000 0 00000 CODE
00652 0 00000 0 00000 SPRNSW
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 16
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
EXIT AND SHUT-DOWN ROUTINES
00653 0636 00 4 00666 EXIT SCA EXITX4,4 SAVE LINKAGE
00654 0074 00 4 00517 TSX WRITE6,4 ANNOUNCE THAT 'EXIT' WAS CALLED
00655 0 00002 0 00714 EXITMS,,2 ..
00656 OVLBGN SKIP THIS CODE IF SALVAGER
00656 0074 00 4 00023 TSX BFCLOS,4 CLOSE ANY 'BF' FILES
00657 3 00000 0 00726 PTH =HALL ..
00660 3 00000 0 00735 PTH =-0 ..
00661 3 00000 0 00662 PTH *+1 NO ERRORS, PLEASE
00662 0074 00 4 00022 TSX CLOSE,4 CLOSE SIMULATED FILES
00663 3 00000 0 00726 PTH =HALL ALL OF THEM
00664 3 00000 0 00735 PTH =-0 ..
00665 3 00000 0 00666 PTH *+1 IGNORE ERRORS
00666 OVLEND END OF SALVAGER OVERLAY
00666 -0774 00 4 00000 EXITX4 AXC **,4 RESTORE LINKAGE
00667 0020 00 0 00672 TRA DORMNT SET TO GO DORMANT
00670 -0500 00 0 00727 CHNCOM CAL =HCHNCOM SET CALL TO CONTINUE CHAIN, IF ANY
00671 1 77777 4 00673 TXI DORMNT+1,4,-1 ADJUST CALL LINKAGE
00672 DEAD EQU * DEAD IS SAME AS DORMNT
00672 -0500 00 0 00732 DORMNT CAL =HDORMNT SET CALL TO STOP
00673 0602 00 0 00713 SLW CHAIN+1 PLANT PROPER WORD
00674 1 77777 4 00675 TXI *+1,4,-1 ADJUST LINKAGE FOR RETURNS
00675 0636 00 4 00407 SCA RETURN,4 SAVE RETURN
00676 -0625 00 0 00443 STL RETSW SET RETURN SWITCH
00677 0074 00 4 00632 TSX .FOUT,4 CLOSE POSSIBLE '.TAPE. A3'
00700 0074 00 4 00013 TSX IOFINI,4 SHUT DOWN PSEUDO FILE SYSTEM
00701 3 00000 0 00702 PTH *+1 NO ERRORS, PLEASE
00702 0074 00 4 00000 TSX MDINIT,4 RESET SIMULATOR ADAPTER
00703 0074 00 4 00001 TSX FCLOSE,4 CLOSE ALL CTSS FILES
00704 3 00000 0 00726 PTH =HALL ..
00705 3 00000 0 00735 PTH =-0 ..
00706 3 00000 0 00707 PTH *+1 NO ERRORS, PLEASE
00707 0074 00 4 00712 TSX CHAIN,4 FINISH UP
00710 3 00000 0 00001 PTH 1 FOR POSSIBLE CHNCOM CALLS
00711 0020 00 0 00071 TRA TYPE IF RETURN, GO ASK WHAT TO DO NEXT
00712 HALT EQU * EMERGENCY STOP
00712 0101 00 0 00713 CHAIN TIA *+1 SUPERVISOR CALL
00713 244651444563 BCI 1,DORMNT PRESET TO CALL DORMNT
00714 602567316360 EXITMS BCI 2, EXIT CALLED.
00715 232143432524
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 17
D.R. WIDRIG MAY 1966 MODIFIED 06/08/68 BY D.A. ANDERSON
END
LITERALS
00716 000000000000
00717 000000000001
00720 000000000002
00721 000000000003
00722 000000000055
00723 000000000060
00724 000000000660
00725 000000777777
00726 214343606060
00727 233045234644
00730 234346234626
00731 234346234645
00732 244651444563
00733 272563225142
00734 336321472533
00735 400000000000
00736 512426436721
00737 606060462626
00740 606060602103
00741 606060604645
00742 606060606060
00743 622563222324
00744 622563225142
00745 622563266443
00746 637047253333
00747 663046214431
00750 665126436721
00751 665126436760
00752 666060606060
00753 777777000000
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 1
POST PROCESSOR ASSEMBLY DATA
754 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
320 BL 101, 116, 125, 133, 135
436 MQ 54, 402
116 OK 111
440 OV 61, 63, 400
441 SI 55, 403
437 SQ 60, 373
476 SW 0
422 WD 41, 43, 76, 104
406 X1 66
405 X2 65
404 X4 64
640 FX4 632, 644, 647
334 GOD 471
155 IGN 152
435 LAC 56, 377
5 NIN 76, 100, 104, 422
536 RED 0, 71, 146
513 SWS 165, 512
605 SX4 561, 631
321 AUTH 467
651 CODE 577, 607, 637, 642
672 DEAD 0, 672
510 EVPT 474
474 EVSW 0
653 EXIT 0, 457
712 HALT 0, 712
17 IORS 217
16 IOST 45
506 KEYS 0
442 MODE 70, 371
5 NOUT 77, 103, 120, 122, 130, 422, 427
551 SHX4 542
317 STAR 127, 160, 171, 203, 274, 306, 322, 356
512 SWPT 476
71 TYPE 154, 161, 167, 214, 223, 227, 231, 236, 240, 260, 333, 337, 341, 345, 352, 711
532 W6X4 521
624 A3BUF 51
342 A3SET 473
232 ATTCH 232, 453
434 AUTHR 44, 47, 324
24 BCDEC 42, 326
2 BCOCT 162, 176, 210, 301, 313, 360
540 BLACK 0, 74, 153, 537
133 BLANK 112
54 BREAK 354
712 CHAIN 673, 707
514 CKEYS 173, 205, 213, 506
224 CLOCK 451
22 CLOSE 662
555 CSHFT 541, 546
15 ENBSW 216
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 2
POST PROCESSOR ASSEMBLY DATA
170 ENTRY 447
511 EVSWS 166, 510
5 FOPEN 612
104 INPUT 124
632 .FOUT 0, 677
650 LNMRK 566, 573
30 NCOMS 141, 142, 144, 474
12 NRCOD 242, 243, 252, 273
241 PRIVL 465
215 RESET 463
443 RETSW 34, 364, 366, 370, 676
157 SENSE 445
12 SETIO 46
556 SMODE 544, 547
567 SPRNT 626
353 START 455
534 WMODE 525, 530
411 WRFLX 0, 72, 151, 517
535 WRITE 520, 526
527 WROUT 523
20 ATTACH 232
25 AUTHOR 330
23 BFCLOS 656
554 BLSHFT 540
670 CHNCOM 0, 461
140 CKRQST 126, 132
417 CLOCOF 0, 224
416 CLOCON 0, 230
444 CTABLE 142, 144, 474
672 DORMNT 0, 667, 671
125 ENDINP 115
627 EREXIT 611, 620, 625
714 EXITMS 655
666 EXITX4 653
6 FBUFFE 621
1 FCLOSE 346, 633, 703
642 FOUTER 636
11 FPRNTE 630, 646
27 FS.TST 334, 340
7 FWRFIL 567
10 FWRWAI 600
414 GETBRK 0, 365
3 GETMEM 50, 256, 331
123 IGNORE 114, 134, 137
13 IOFINI 221, 700
14 IORSET 220
32 .SETUP 0
557 .SPRNT 0
0 MDINIT 36, 702
101 NEWOUT
106 NXTCHR 123
607 OPEN.Q 576
21 PRNTER 237
273 PROCES 247
305 PROCS1 253
1 COMPATIBILITY PACKAGE FOR PSEUDO I/O SYSTEM PAGE 3
POST PROCESSOR ASSEMBLY DATA
261 RCODES 243, 252, 273
410 RDFLXA 0, 75
553 RDSHFT 536
407 RETURN 33, 363, 367, 675
427 RQUEST 103, 120, 122, 130, 140, 150, 157, 163, 170, 177, 202, 211, 225, 233, 234, 241, 273
302, 305, 314, 321, 327, 335, 342, 355, 361
0 SALMOD 32
420 SETBCD 0, 67, 524, 550
413 SETBRK 0, 353
421 SETFUL 0, 372, 531, 543
4 SETMEM 53, 257, 332
652 SPRNSW 37, 344, 557, 627, 645
502 TESTSW 477, 501
26 UPRVBT 250, 254, 255
415 WHOAMI 0, 40
604 WRDATA 563, 564
412 WRFLXA 0, 147, 515, 545
515 WRIT6A 0
517 WRITE6 0, 516, 654
0 NO ERROR IN ABOVE ASSEMBLY.
IOPAC BCD 06/08/68 0217.5 4451 00000
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 1
D.R. WIDRIG MAY 1966
00534 ENTRY SETIO TO INITIALIZE PSEUDO FILE SYSTEM
00615 ENTRY GETIME TO GET DATE AND TIME OF DAY
00625 ENTRY FERRTN TO SET RETURN FOR UNDEFINED ERRORS
00653 ENTRY TILOCK TO SET INTERLOCK RETURN
00710 ENTRY EPRINT TO PRINT ON SIMULATED PRINTER
00712 ENTRY PRINT TO PRINT ON SIMULATED PRINTER
00714 ENTRY PUNCH TO PUNCH ON SIMULATED CARD PUNCH
00734 ENTRY CMEXIT TO RETURN TO INTERRUPTED PROGRAM
00745 ENTRY ALLSAV TO SAVE MACHINE CONDITIONS ON A TRAP
01000 ENTRY ALLRST TO RESTORE MACHINE CONDITIONS
01027 ENTRY ENBSW TO SET TRAP SWITCH
01036 ENTRY ENABLE COMMON ENABLE WORD
00607 ENTRY GETMEM TO GET CURRENT MEMORY BOUND
00570 ENTRY SETMEM TO SET NEW MEMORY BOUND
00611 ENTRY AUTHOR POINTER TO USER AUTHOR NUMBER
00612 ENTRY UPRVBT POINTER TO USER RESTRICTION CODE
EXTERN PRNTER,DORMNT,CLOCON,WRITE6,RED,BLACK
EXTERN SETBCD,WRFLX,
00000 475145632551 PRNTER
00001 244651444563 DORMNT
00002 234346234645 CLOCON
00003 665131632506 WRITE6
00004 512524606060 RED
00005 224321234260 BLACK
00006 622563222324 SETBCD
00007 665126436760 WRFLX
00010 314631453163 IOINIT
00011 233045276462 CHNGUS
00012 646263216360 USTAT
00013 622563512147 SETRAP
00014 622563212260 SETAB
00015 622563646251 SETUSR
00361 STBL EQU 21+10*22 AFST LENGTH FOR 10 FILES
00133 1QL EQU 1+9*10 DISK/DRUM QUEUE LENGTH
00000 2QL EQU 0 DISK USES DRUM QUEUE
00000 3QL EQU 0 TAPE QUEUE LENGTH (NO TPSM)
00020 STATBL BSS STBL AFST
00401 QUEUE1 BSS 1QL STORAGE FOR DRUM STRATEGY MODULE
00534 QUEUE2 BSS 2QL STORAGE FOR DISK STRATEGY MODULE
00534 QUEUE3 BSS 3QL STORAGE FOR TAPE STRATEGY MODULE
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 2
D.R. WIDRIG MAY 1966
INITIALIZE FILE SYSTEM AND I/O PACKAGE
00534 -0625 00 0 01027 SETIO STL ENBSW INDICATE TRAPS ARE LEGAL
00535 0636 00 4 00566 SCA SETX4,4 SAVE LINKAGE
00536 -0500 60 4 00001 CAL* 1,4 GET AUTHNO
00537 0602 00 0 00611 SLW AUTHOR SAVE IT TO GIVE TO FILE SYSTEM
00540 0074 00 4 00615 TSX GETIME,4 PRIME SYSTEM WITH CURRENT DATE AND TIME
00541 0074 00 4 00002 TSX CLOCON,4 TURN ON SIMULATED CLOCK
00542 0074 00 4 00010 TSX $IOINIT,4 INITIALIZE FILE SYSTEM
00543 3 00000 0 00634 PTH IOERTN ERROR RETURN
00544 3 00000 0 00624 PTH DATEYR DATE AS MMDDYY
00545 3 00000 0 00005 PTH TIMNOW TIME OF DAY IN 60THS OF A SECOND
00546 3 00000 0 01036 PTH ENABLE COMMON ENABLE WORD
00547 0074 00 4 00011 TSX $CHNGUS,4 SET USER 1 AS FILE SYSTEM USER
00550 3 00000 0 01040 PTH =1 ..
00551 0074 00 4 00012 TSX $USTAT,4 SET UP STORAGE FOR QUEUES
00552 3 00361 0 00020 PTH STATBL,,STBL ..
00553 3 00133 0 00401 PTH QUEUE1,,1QL ..
00554 3 00000 0 00534 PTH QUEUE2,,2QL ..
00555 3 00000 0 00534 PTH QUEUE3,,3QL ..
00556 0074 00 4 00013 TSX $SETRAP,4 SET UP INTERRUPT LOCATION
00557 3 00000 0 00662 PTH SSTRAP ..
00560 0074 00 4 00607 TSX GETMEM,4 GET CURRENT MEMORY BOUND FROM CTSS
00561 0074 00 4 00570 TSX SETMEM,4 TELL PSEUDO-FILE SYSTEM ABOUT IT
00562 0074 00 4 00014 TSX $SETAB,4 SET TO MEMORY A
00563 3 00000 0 01040 PTH =1 ..
00564 3 00000 0 01040 PTH =1 ..
00565 3 00000 0 01040 PTH =1 ..
00566 -0774 00 4 00000 SETX4 AXC **,4 RESTORE LINKAGE
00567 0020 00 4 00002 TRA 2,4 RETURN
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 3
D.R. WIDRIG MAY 1966
ON MEMORY BOUND CHANGES, TELL I/O ABOUT IT
00570 0636 00 4 00604 SETMEM SCA SETMX4,4 SAVE LINKAGE
00571 0602 00 0 00614 SLW SETLAC AND AC
00572 0734 00 4 00000 PAX 0,4 GET NEW MEMORY BOUND
00573 -0634 00 4 00613 SXD MEMBND,4 SAVE FOR FILE SYSTEM
00574 0074 00 4 00610 TSX STMEM,4 TELL CTSS ABOUT NEW MEMORY BOUND
00575 0074 00 4 00015 TSX $SETUSR,4 TELL FILE SYSTEM ABOUT IT
00576 3 00000 0 01040 PTH =1 USER 1
00577 3 00000 0 00612 PTH UPRVBT USER PRIVILEGE CODE
00600 3 00000 0 00611 PTH AUTHOR AUTHNO FROM LAST CALL TO 'SETIO'
00601 3 00000 0 00613 PTH MEMBND USER MEMORY BOUND
00602 3 00000 0 01037 PTH =0 USER RELOCATION
00603 3 00000 0 01040 PTH =1 HIGHEST PRIORITY
00604 -0774 00 4 00000 SETMX4 AXC **,4 RESTORE LINKAGE
00605 -0500 00 0 00614 CAL SETLAC AND AC
00606 0020 00 4 00001 TRA 1,4 RETURN TO USER
00607 0101 00 0 01042 GETMEM TIA =HGETMEM SUPERVISOR CALLS
00610 0101 00 0 01043 STMEM TIA =HSETMEM ..
00611 AUTHOR BSS 1 AUTHNO FOR THIS USER
00612 +015002777777 UPRVBT OCT 015002777777 VERY PRIVILEGED USER
00613 0 00000 0 00000 MEMBND PZE 0,** USER MEMORY BOUND
00614 SETLAC BSS 1 SAVED AC
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 4
D.R. WIDRIG MAY 1966
TIME AND DATE FIDDLING
00615 0636 00 4 00621 GETIME SCA GETX4,4 SAVE LINKAGE
00616 0074 00 4 00623 TSX GTIME,4 GET TIME FROM SUPERVISOR
00617 0602 00 0 00005 SLW TIMNOW SAVE TIME
00620 -0600 00 0 00624 STQ DATEYR AND DATE
00621 -0774 00 4 00000 GETX4 AXC **,4 RESTORE LINKAGE
00622 0020 00 4 00001 TRA 1,4 RETURN
00623 0101 00 0 01041 GTIME TIA =HGETIME SUPERVISOR CALL
00005 TIMNOW EQU 5 CURRENT TIME IS IN CLOCK CELL
00624 DATEYR BSS 1 CURRENT DATE
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 5
D.R. WIDRIG MAY 1966
HANDLE USER FILE INTERRUPTS
00625 0636 00 4 00632 FERRTN SCA FERRX4,4 SAVE LINKAGE
00626 -0500 00 4 00001 CAL 1,4 ERROR RETURN (PZE RTNLOC)
00627 0734 00 4 00000 PAX 0,4 HANG ONTO RETURN
00630 0500 00 0 00645 CLA FERTN GET OLD RETURN INTO SIGNED AC
00631 0634 00 4 00645 SXA FERTN,4 SAVE NEW RETURN
00632 -0774 00 4 00000 FERRX4 AXC **,4 RESTORE LINKAGE
00633 0020 00 4 00002 TRA 2,4 RETURN TO CALLER
00634 0520 00 0 00645 IOERTN ZET FERTN ERROR FROM FILE SYSTEM, CHECK RETURN
00635 0020 60 0 00645 TRA* FERTN USER SUPPLIED ONE, TAKE IT
00636 0074 00 4 00004 TSX RED,4 NONE SUPPLIED, THE END
00637 0074 00 4 00006 TSX SETBCD,4 GET INTO 6-BIT MODE
00640 0074 00 4 00000 TSX PRNTER,4 INVOKE PSEUDO 'PRNTER'
00641 0074 00 4 00007 TSX WRFLX,4 PRINT DEATH MESSAGE
00642 0 00005 0 00646 NOERTN,,5 ..
00643 0074 00 4 00005 TSX BLACK,4 RETURN TO PLAIN OLD BLACK LETTERS
00644 0020 00 0 00001 TRA DORMNT SHUT DOWN
00645 0 00000 0 00000 FERTN PZE ** USER ERROR RETURN LOCATION
00646 604546602551 NOERTN BCI 5, NO ERROR RETURN SPECIFIED
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 6
D.R. WIDRIG MAY 1966
CHECK AND SET RETURN ON FILE INTERLOCK
00653 0636 00 4 00660 TILOCK SCA TILX4,4 SAVE LINKAGE
00654 -0500 00 4 00001 CAL 1,4 GET INTERLOCK RETURN (PZE RTNLOC)
00655 0734 00 4 00000 PAX 0,4 HANG ONTO RETURN
00656 0500 00 0 00705 CLA UILOCK GET OLD RETURN INTO SIGNED AC
00657 0634 00 4 00705 SXA UILOCK,4 SAVE NEW RETURN
00660 -0774 00 4 00000 TILX4 AXC **,4 RESTORE LINKAGE
00661 0020 00 4 00002 TRA 2,4 RETURN TO USER
00662 -0500 60 4 00003 SSTRAP CAL* 3,4 INTERRUPT FROM FILE SYSTEM, CHECK IT
00663 0621 00 0 00673 STA SSTIR4 SAVE USER IR4
00664 -0500 60 4 00002 CAL* 2,4 GET INTERRUPT CODE
00665 0734 00 5 00000 PAX 0,5 INTO IR5
00666 -3 00003 5 00670 TXL IGNINT,5,3 IGNORE CODES 1-3
00667 -3 00004 5 00671 TXL FILOCK,5,4 SKIP OUT ON FILE INTERLOCKED
00670 0020 00 4 00006 IGNINT TRA 6,4 IGNORE ALL OTHER CODES
00671 -0520 00 0 00705 FILOCK NZT UILOCK CHECK USER SPECIFIED RETURN
00672 0020 00 0 00676 TRA FILWAT NOPE, HOPE FOR THE BEST
00673 0774 00 4 00000 SSTIR4 AXT **,4 YES, RESTORE LAST IR4 FOR USER
00674 0564 00 0 01036 ENB ENABLE ENABLE SO WE MIGHT CURE THIS LOCK
00675 0020 60 0 00705 TRA* UILOCK AND GO TO RETURN LOCATION
00676 0636 00 4 00703 FILWAT SCA FILWX4,4 FILE WAIT, SAVE LINKAGE
00677 0074 00 4 00004 TSX RED,4 YAHOO.. RED LETTER DAY
00700 0074 00 4 00003 TSX WRITE6,4 TELL THE OLD BOY ABOUT THE FILE WAIT
00701 0 00002 0 00706 WATMS,,2 ..
00702 0074 00 4 00005 TSX BLACK,4 BACK TO BLACK
00703 -0774 00 4 00000 FILWX4 AXC **,4 RESTORE LINKAGE
00704 0020 00 4 00006 TRA 6,4 RETURN TO FILE SYSTEM
00705 0 00000 0 00000 UILOCK PZE ** USER INTERLOCK RETURN
00706 602631432560 WATMS BCI 2, FILE WAIT
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 7
D.R. WIDRIG MAY 1966
ONLINE PRINT/PUNCH
00710 -0500 00 0 00730 EPRINT CAL EPRNTM PICK UP IDENTIFYING HEADER
00711 0020 00 0 00715 TRA PUNCH+1 REJOIN PRINT ROUTINE
00712 -0500 00 0 00731 PRINT CAL PRNTM PICK UP IDENTIFYING PRINT HEADER
00713 0020 00 0 00715 TRA PUNCH+1 REJOIN GENERAL ROUTINE
00714 -0500 00 0 00732 PUNCH CAL PNCHM PICK UP IDENTIFYING HEADER
00715 0602 00 0 00733 SLW HMES PLANT HEADER
00716 0636 00 4 00726 SCA OUTX4,4 SAVE LINKAGE
00717 0500 00 4 00001 CLA 1,4 GET ARGUMENT TO ROUTINE
00720 0621 00 0 00725 STA OUTPT PLANT BASE ADDRESS
00721 0622 00 0 00725 STD OUTPT AND WORD COUNT
00722 0074 00 4 00003 TSX WRITE6,4 PRINT HEADER ON CONSOLE
00723 0 00001 0 00733 HMES,,1 ..
00724 0074 00 4 00003 TSX WRITE6,4 CRANK OUT USER MESSAGE
00725 0 00000 0 00000 OUTPT **,,** BUFF,,N
00726 -0774 00 4 00000 OUTX4 AXC **,4 RESTORE LINKAGE
00727 0020 00 4 00002 TRA 2,4 RETURN
00730 254751314563 EPRNTM BCI 1,EPRINT
00731 604751314563 PRNTM BCI 1, PRINT
00732 604764452330 PNCHM BCI 1, PUNCH
00733 HMES BSS 1 HEADER
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 8
D.R. WIDRIG MAY 1966
EXIT AND RETURN ROUTINES
00734 0604 00 0 00743 CMEXIT STI CMXSI SAVE SI
00735 0441 60 4 00002 LDI* 2,4 GET RETURN
00736 0604 00 0 00744 STI CMXRTN AND PLANT IT
00737 0522 00 4 00001 XEC 1,4 RELOAD IR4
00740 0441 00 0 00743 LDI CMXSI AND RESTORE SI
00741 0564 00 0 01036 ENB ENABLE RE-ENABLE
00742 0020 60 0 00744 TRA* CMXRTN AND RETURN TO USER
00743 CMXSI BSS 1
00744 CMXRTN BSS 1
* * * * * * * * * * * *
SAVE/RESTORE MACHINE CONDITIONS
00745 -0520 00 0 01027 ALLSAV NZT ENBSW HAVE WE TAKEN PREVIOUS TRAP
00746 0000 00 0 00746 HTR * YES, BIG TROUBLE
00747 0600 00 0 01027 STZ ENBSW NO, SET SWITCH FOR THIS TRAP
00750 0636 00 4 00777 SCA ALLXR4,4 SAVE LOCATION OF THIS CALLER
00751 0634 00 1 01005 SXA TRPIR1,1 SAVE BASIC MACHINE CONDITIONS
00752 0634 00 2 01006 SXA TRPIR2,2 ..
00753 0634 00 3 01007 SXA TRPIR3,3 ..
00754 0774 00 3 00000 AXT 0,3 FIGURE OUT TAG MODE
00755 0774 00 1 00001 AXT 1,1 ..
00756 0600 00 0 01035 STZ TRPMTM RESET SWITCH
00757 -3 00000 3 00763 TXL 7TAG,3,0 SKIP IF IN 7-TAG MODE
00760 -0625 00 0 01035 STL TRPMTM 3-TAG MODE, SET SWITCH
00761 0760 00 0 00016 LMTM GET INTO 7-TAG MODE
00762 0634 00 3 01007 SXA TRPIR3,3 RESAVE IR3
00763 0634 00 5 01010 7TAG SXA TRPIR5,5 SAVE REST OF MACHINE
00764 0634 00 6 01011 SXA TRPIR6,6 ..
00765 0634 00 7 01012 SXA TRPIR7,7 ..
00766 0604 00 0 01033 STI TRPSI ..
00767 -0600 00 0 01030 STQ TRPMQ ..
00770 0602 00 0 01032 SLW TRPLAC ..
00771 0771 00 0 00002 ARS 2 GET AC S AND Q BITS
00772 0601 00 0 01031 STO TRPSQ ..
00773 0600 00 0 01034 STZ TRPOV GET OVERFLOW TRIGGER
00774 -0140 00 0 00776 TNO *+2 TEST TRIGGER
00775 -0625 00 0 01034 STL TRPOV ON, SET SWITCH
00776 0020 00 4 00001 TRA 1,4 RETURN
00777 0 00000 0 00000 ALLXR4 PZE **,,** ALLSAV,,ALLRST
01000 0520 00 0 01027 ALLRST ZET ENBSW SEE IF CALLED AT TRAP TIME
01001 0000 00 0 01001 HTR * NO, BIG TROUBLE
01002 -0625 00 0 01027 STL ENBSW SET SWITCH
01003 0760 00 0 00016 LMTM 7-TAG MODE
01004 -0636 00 4 00777 SCD ALLXR4,4 SAVE LOCATION OF CALLER
01005 0774 00 1 00000 TRPIR1 AXT **,1 RESTORE MACHINE
01006 0774 00 2 00000 TRPIR2 AXT **,2 ..
01007 0774 00 3 00000 TRPIR3 AXT **,3 ..
01010 0774 00 5 00000 TRPIR5 AXT **,5 ..
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 9
D.R. WIDRIG MAY 1966
01011 0774 00 6 00000 TRPIR6 AXT **,6 ..
01012 0774 00 7 00000 TRPIR7 AXT **,7 ..
01013 0520 00 0 01035 ZET TRPMTM TEST FOR TAG MODE
01014 -0760 00 0 00016 EMTM 3-TAG MODE
01015 0560 00 0 01031 LDQ TRPSQ RESTORE S AND Q BITS TO AC
01016 0500 00 0 01016 CLA * AND MAKE SURE OVERFLOW LIGHT GOES ON
01017 0763 00 0 00001 LLS 1 TURNS ON S BIT
01020 0767 00 0 00044 ALS 36 TURNS ON Q BIT AND OVERFLOW
01021 -0501 00 0 01032 ORA TRPLAC GET LOGICAL AC
01022 0560 00 0 01030 LDQ TRPMQ RESTORE MQ
01023 0441 00 0 01033 LDI TRPSI AND SI
01024 -0520 00 0 01034 NZT TRPOV RESTORE OVERFLOW STATUS
01025 0140 00 0 01026 TOV *+1 OFF
01026 0020 00 4 00001 TRA 1,4 RETURN
01027 0 00000 0 00000 ENBSW PZE ** NON-ZERO DURING ENABLE TIME
01030 TRPMQ BSS 1 MACHINE CONDITION STORAGE
01031 TRPSQ BSS 1 ..
01032 TRPLAC BSS 1 ..
01033 TRPSI BSS 1 ..
01034 TRPOV BSS 1 ..
01035 0 00000 0 00000 TRPMTM PZE ** NON-ZERO IF IN 3-TAG MODE
01036 +000000400000 ENABLE OCT 400000 COMMON ENABLE WORD
END
LITERALS
01037 000000000000
01040 000000000001
01041 272563314425
01042 272563442544
01043 622563442544
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 1
POST PROCESSOR ASSEMBLY DATA
1044 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
133 1QL 20, 401, 553
0 2QL 20, 534, 554
0 3QL 20, 534, 555
4 RED 636, 677
763 7TAG 757
733 HMES 715, 723
361 STBL 20, 552
5 BLACK 643, 702
743 CMXSI 734, 740
1027 ENBSW 0, 534, 745, 747, 1000, 1002
645 FERTN 630, 631, 634, 635
621 GETX4 615
623 GTIME 616
725 OUTPT 720, 721
726 OUTX4 716
732 PNCHM 714
712 PRINT 0
731 PRNTM 712
714 PUNCH 0, 711, 713
14 SETAB 562
534 SETIO 0
566 SETX4 535
610 STMEM 574
660 TILX4 653
1030 TRPMQ 767, 1022
1034 TRPOV 773, 775, 1024
1033 TRPSI 766, 1023
1031 TRPSQ 772, 1015
12 USTAT 551
706 WATMS 701
7 WRFLX 641
1000 ALLRST 0
745 ALLSAV 0
777 ALLXR4 750, 1004
611 AUTHOR 0, 537, 600
11 CHNGUS 547
2 CLOCON 541
734 CMEXIT 0
744 CMXRTN 736, 742
624 DATEYR 544, 620
1 DORMNT 644
1036 ENABLE 0, 546, 674, 741
710 EPRINT 0
730 EPRNTM 710
625 FERRTN 0
632 FERRX4 625
671 FILOCK 667
676 FILWAT 672
703 FILWX4 676
615 GETIME 0, 540
607 GETMEM 0, 560
1 SETUP PACKAGE TO ALLOW RUNNING OF PSEUDO I/O SYSTEM UNDER CTSS PAGE 2
POST PROCESSOR ASSEMBLY DATA
670 IGNINT 666
634 IOERTN 543
10 IOINIT 542
613 MEMBND 573, 601
646 NOERTN 642
0 PRNTER 640
401 QUEUE1 553
534 QUEUE2 554
534 QUEUE3 555
6 SETBCD 637
614 SETLAC 571, 605
570 SETMEM 0, 561
604 SETMX4 570
13 SETRAP 556
15 SETUSR 575
673 SSTIR4 663
662 SSTRAP 557
20 STATBL 552
653 TILOCK 0
5 TIMNOW 545, 617, 624
1005 TRPIR1 751
1006 TRPIR2 752
1007 TRPIR3 753, 762
1010 TRPIR5 763
1011 TRPIR6 764
1012 TRPIR7 765
1032 TRPLAC 770, 1021
1035 TRPMTM 756, 760, 1013
705 UILOCK 656, 657, 671, 675
612 UPRVBT 0, 577
3 WRITE6 700, 722, 724
0 NO ERROR IN ABOVE ASSEMBLY.
ENABLE BCD 10/12/70 1531.6 3758 00000
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 1
D.R. WIDRIG MAY 1966
00007 ENTRY IOST TO INITIALIZE CORE IMAGE TO TRAP ENB CALLS
00042 ENTRY IORS TO RESET PENDING I/O TRAPS
00051 ENTRY IO TO ANNOUNCE I/O STARTED
EXTERN OCLBC,OCRBC,OCABC,KEYS,WRITE6
CALLS TO 'IOST' WILL HAVE THE EFFECT OF REPLACING ALL
'ENB' OPS BY 'STR' TRAPS AND ARRANGING TO CATCH AND
PROCESS ANY 'STR' TRAPS. CONFUSION AND CHAOS WILL
RESULT IF OTHER PROGRAMS USING 'STR' TRAPS DO NOT HEED.
TRANSFER VECTOR
00000 462343222360 OCLBC
00001 462351222360 OCRBC
00002 462321222360 OCABC
00003 422570626060 KEYS
00004 665131632506 WRITE6
LINKAGE DIRECTOR
00005 000000000000
00006 314662636060
00007 0636 00 4 00036 IOST SCA IOSX4,4 SAVE LINKAGE
00010 0500 00 0 00041 CLA ENBTRA PLANT TRAP RETURN
00011 0601 00 0 00002 STO 2 ..
00012 0074 00 4 00040 TSX GETMEM,4 GET PROGRAM SIZE
00013 0621 00 0 00016 STA ENBGET WANT TO SEARCH WHOLE CORE IMAGE
00014 0734 00 4 00000 PAX 0,4 ..
00015 -2 00001 4 00035 ENBTST TNX DONE,4,1 TEST FOR COMPLETION
00016 0441 00 4 00000 ENBGET LDI **,4 NOT DONE, CHECK NEXT WORD
00017 -0056 00 056400 LNT ENBWD IF 'ENB', SOME BITS MUST BE ON
00020 0020 00 0 00026 TRA SEAB WHOOPS.. NOT ENABLE
00021 -0054 00 721317 LFT COMENB AND SOME BITS MUST BE OFF
00022 0020 00 0 00026 TRA SEAB NOPE, EXPLORE FURTHER
00023 -0055 00 500000 SIL 500000 AHA.. CHANGE 'ENB' TO 'STR'
00024 0604 60 0 00016 STI* ENBGET AND PLANT BACK IN PROGRAM
00025 0020 00 0 00015 TRA ENBTST CHECK FOR MORE WORDS
00026 -0056 00 476100 SEAB LNT SEA IF 'SEA' OR 'SEB', SOME BITS ON
00027 0020 00 0 00015 TRA ENBTST NOPE, GIVE UP TESTING
00030 -0054 00 301677 LFT COMSEA HMM.. SOME BITS MUST BE OFF
00031 0020 00 0 00015 TRA ENBTST HOLD ON.. NOT AN 'SEA' OR 'SEB'
00032 -0057 00 400000 RIL 400000 AHA.. TURN INTO A 'NOP'
00033 0604 60 0 00016 STI* ENBGET PLANT BACK IN PROGRAM
00034 2 00001 4 00016 TIX ENBGET,4,1 LOOK AT MORE WORDS
00035 0074 00 4 00042 DONE TSX IORS,4 CLEAR TRAP CELLS
00036 -0774 00 4 00000 IOSX4 AXC **,4 ALL DONE, RETURN
00037 0020 00 4 00001 TRA 1,4 ..
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 2
D.R. WIDRIG MAY 1966
00040 0101 00 0 00270 GETMEM TIA =HGETMEM
056400 ENBWD BOOL 056400 THESE BITS MUST BE ON FOR 'ENB'
721317 COMENB BOOL 721317 AND THESE MUST BE OFF
476100 SEA BOOL 476100 THESE BITS MUST BE ON FOR 'SEA' OR 'SEB'
301677 COMSEA BOOL 301677 AND THESE MUST BE OFF
00041 0021 00 0 00066 ENBTRA TTR ENB TRAP FOR 'ENB' OPS
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 3
D.R. WIDRIG MAY 1966
RESET ALL PENDING I/O TRAPS
00042 0636 00 4 00047 IORS SCA IORX4,4 SAVE LINKAGE
00043 0774 00 4 00022 AXT NCHAN,4 ZERO OUT ALL I/O CELLS
00044 0600 00 4 00267 STZ TRAP+NCHAN,4 ..
00045 0600 60 4 00270 STZ* TRAP+NCHAN+1,4 ..
00046 2 00002 4 00044 TIX *-2,4,2 LOOP
00047 -0774 00 4 00000 IORX4 AXC **,4 RESTORE LINKAGE
00050 0020 00 4 00001 TRA 1,4 AND RETURN
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 4
D.R. WIDRIG MAY 1966
SET UP WAITING TRAP FOR USER'S I/O
CALLING SEQUENCE IS ...
TSX $IO,4
PTH CHNENB (ENABLE FOR THIS CHANNEL)
00051 0636 00 4 00063 IO SCA IOX4,4 SAVE LINKAGE
00052 0604 00 0 00065 STI IOSI SAVE USER'S SI
00053 0441 60 4 00001 LDI* 1,4 GET CHANNEL ENABLE WORD
00054 -0057 00 777777 RIL 777777 RESET LEFT HALF
00055 0774 00 4 00022 AXT NCHAN,4 PREPARE TO SEARCH POINTER TABLE
00056 0446 00 4 00245 ONT STAT+NCHAN,4 SEE IF BIT MATCHES TABLE ENTRY
00057 2 00002 4 00056 TIX *-1,4,2 NOPE, TRY AGAIN
00060 -3 00002 4 00062 TXL IOXIT,4,2 PROTECT AGAINST NO MATCH
00061 0604 60 4 00246 STI* STAT+NCHAN+1,4 MATCH, SET BIT(S) IN TRAP VECTOR
00062 0441 00 0 00065 IOXIT LDI IOSI RESTORE USER'S SI
00063 -0774 00 4 00000 IOX4 AXC **,4 RESTORE LINKAGE
00064 0020 00 4 00002 TRA 2,4 AND RETURN
00065 IOSI BSS 1
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 5
D.R. WIDRIG MAY 1966
CONTROL COMES HERE WHEN USER ENABLES.
THIS PROGRAM GIVES A GRACE OF ONE INSTRUCTION
ONLY IF THE NEXT INSTRUCTION IS A 'TRA'.
ASSUMING THAT THE ENABLE INSTRUCTION ALLOWS
MORE THAN ONE CHANNEL TO CAUSE A TRAP,
THE HIGHEST PRIORITY ACTIVE CHANNEL TRAPS FIRST.
THE PRIORITY IS DETERMINED BY THE ORDERING OF 'TRAP'
00066 0636 00 4 00157 ENB SCA ENBX4,4 SAVE USER'S IR4
00067 0602 00 0 00171 SLW ENBLAC SAVE VOLATILE REGISTERS
00070 0771 00 0 00002 ARS 2 ..
00071 0601 00 0 00172 STO ENBSQ ..
00072 -0600 00 0 00173 STQ ENBMQ ..
00073 0604 00 0 00174 STI ENBSI ..
00074 0600 00 0 00175 STZ ENBOV PRESET OVERFLOW SWITCH
00075 -0140 00 0 00077 TNO *+2 TEST TRIGGER
00076 -0625 00 0 00175 STL ENBOV ON, SET SWITCH
00077 0535 00 4 00000 LAC 0,4 GET ADDRESS OF 'ENB' + 1
00100 0636 00 4 00170 SCA TRPLOC,4 AND SAVE IT IN CASE OF 'ENB =0'
00101 -0500 00 4 77777 CAL -1,4 GET 'ENB' INSTRUCTION
00102 0074 00 4 00202 TSX GETEFA,4 GET POINTER TO ENABLE CELL
00103 0535 00 4 00157 LAC ENBX4,4 THIS IS HOW TO RESTORE USER'S IR4
00104 0441 00 4 00000 LDI 0,4 PICK UP ENABLE CELL (IR4 TRICK ABOVE)
00105 0522 60 0 00003 XEC* KEYS PICK UP KEYS TO CHECK FOR DEBUGGING
00106 -0320 00 0 00267 ANA =O100000000000 TEST 'ENB' KEY
00107 0100 00 0 00127 TZE NODBG IF OFF, SKIP PRINTOUT
00110 0604 00 0 00201 STI ENBLIN+3 DEBUGGING ON, SAVE ENABLE WORD
00111 0074 00 4 00000 TSX OCLBC,4 CONVERT LEFT HALF TO OCTAL
00112 3 00000 0 00201 PTH ENBLIN+3 ..
00113 0601 00 0 00177 STO ENBLIN+1 SAVE RESULT IN PRINT LINE
00114 0074 00 4 00001 TSX OCRBC,4 CONVERT RIGHT HALF TO OCTAL
00115 3 00000 0 00201 PTH ENBLIN+3 ..
00116 0601 00 0 00200 STO ENBLIN+2 SAVE IT IN PRINT LINE
00117 0534 00 4 00170 LXA TRPLOC,4 GET LOCATION OF 'ENB' + 1
00120 1 77777 4 00121 TXI *+1,4,-1 LOCATION OF 'ENB'
00121 0634 00 4 00201 SXA ENBLIN+3,4 SAVE IT
00122 0074 00 4 00002 TSX OCABC,4 CONVERT TO 5-DIGIT ADDRESS
00123 3 00000 0 00201 PTH ENBLIN+3 ..
00124 0601 00 0 00201 STO ENBLIN+3 PLACE RESULT IN PRINT LINE
00125 0074 00 4 00004 TSX WRITE6,4 OUTPUT DEBUGGING LINE
00126 0 00004 0 00176 ENBLIN,,4 ..
00127 0054 00 777777 NODBG RFT 777777 CHECK FOR ZERO ENABLE WORD
00130 0020 00 0 00132 TRA *+2 NOT ZERO, CONTINUE
00131 0020 00 0 00156 TRA ENBXIT ZERO, THAT'S ALL FOR NOW
00132 0774 00 4 00022 AXT NCHAN,4 GET HIGHEST PENDING I/O
00133 0520 00 4 00267 ZET TRAP+NCHAN,4 SKIP IF CELL IS NOT SET
00134 0446 00 4 00267 ONT TRAP+NCHAN,4 CHECK AGAINST ENABLE WORD
00135 2 00002 4 00133 TIX *-2,4,2 NO MATCH, KEEP LOOKING
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 6
D.R. WIDRIG MAY 1966
00136 -3 00002 4 00156 TXL ENBXIT,4,2 CHECK AGAINST NO MATCH
00137 0600 00 4 00267 STZ TRAP+NCHAN,4 MATCH, ZERO I/O FLAG
00140 -0500 00 4 00270 CAL TRAP+NCHAN+1,4 PICK UP TRAP POINTERS
00141 -0734 00 4 00000 PDX 0,4 GET LOCATION TO TRAP TO
00142 0634 00 4 00170 SXA TRPLOC,4 AND PLANT IT
00143 0621 00 0 00155 STA ENBRET PLANT LOCATION TO STORE TRAP ILC
00144 0535 00 4 00000 LAC 0,4 PICK UP LOCATION OF 'ENB' + 1
00145 0441 00 4 00000 LDI 0,4 CHECK INSTRUCTION THERE
00146 -0056 00 002000 LNT TRA IF 'TRA', SOME BITS ON
00147 0020 00 0 00155 TRA ENBRET NOPE, REJOIN ROUTINE
00150 -0054 00 775717 LFT COMTRA HMM... SOME BITS MUST BE OFF
00151 0020 00 0 00155 TRA ENBRET NOPE... CLOSE BUT NO CIGAR
00152 -0046 00 0 00000 PIA AHA.. GET ADDRESS OF 'TRA' LOC
00153 0074 00 4 00202 TSX GETEFA,4 ..
00154 0535 00 4 00157 LAC ENBX4,4 THIS IS HOW TO RESTORE USER'S IR4
00155 0636 00 4 00000 ENBRET SCA **,4 SET TRAP ILC INTO PROPER CELL
00156 0441 00 0 00174 ENBXIT LDI ENBSI RESTORE MACHINE
00157 -0774 00 4 00000 ENBX4 AXC **,4 ..
00160 0500 00 0 00160 CLA * GET LOTS OF BITS IN AC
00161 0560 00 0 00172 LDQ ENBSQ RESTORE AC
00162 0763 00 0 00001 LLS 1 ..
00163 0767 00 0 00044 ALS 36 ..
00164 -0501 00 0 00171 ORA ENBLAC ..
00165 0560 00 0 00173 LDQ ENBMQ AND MQ
00166 -0520 00 0 00175 NZT ENBOV TEST OVERFLOW MEMORY SWITCH
00167 0140 00 0 00170 TOV *+1 WAS OFF, MAKE IT SO
00170 0020 00 0 00000 TRPLOC TRA ** TRANSFER TO PROPER LOCATION FOR 'ENB'
00171 ENBLAC BSS 1
00172 ENBSQ BSS 1
00173 ENBMQ BSS 1
00174 ENBSI BSS 1
00175 ENBOV BSS 1
00176 254522601346 ENBLIN BCI 4,ENB =OEEEEEEEEEEEE AAAAA
00177 252525252525
00200 252525252525
00201 602121212121
002000 TRA BOOL 002000 THESE BITS MUST BE ON FOR 'TRA'
775717 COMTRA BOOL 775717 AND THESE BITS MUST BE OFF
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 7
D.R. WIDRIG MAY 1966
SUBROUTINE TO COMPUTE EFFECTIVE ADDRESS
00202 1 77776 4 00203 GETEFA TXI *+1,4,-2 ADJUST RETURN LINKAGE
00203 0636 00 4 00221 SCA GETX,4 PLANT RETURN
00204 0522 00 4 77777 XEC -1,4 RELOAD USER'S IR4
00205 0044 00 0 00000 PAI SAVE AC FOR LATER
00206 0625 00 0 00207 STT *+1 GET TAG, IF ANY
00207 0636 00 0 00222 SCA GETMP,** PICK UP VALUE OF TAG REGISTER
00210 0361 00 0 00222 ACL GETMP ADD IN TO THE BASE VALUE
00211 -0056 00 000060 LNT 000060 TEST FOR INDIRECTION
00212 0020 00 0 00220 TRA SET4 NONE, THAT'S ALL HERE
00213 0621 00 0 00214 STA *+1 GO AROUND THE BARN AGAIN
00214 -0500 00 0 00000 CAL ** GET NEW WORD
00215 0625 00 0 00216 STT *+1 GET TAG IF OFFERED
00216 0636 00 0 00222 SCA GETMP,** GET VALUE OF TAG REGISTER
00217 0361 00 0 00222 ACL GETMP ADD BASE VALUE
00220 0737 00 4 00000 SET4 PAC 0,4 PUT COMPLEMENT IN IR4
00221 0020 00 0 00000 GETX TRA ** RETURN TO CALLER
00222 GETMP BSS 1
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 8
D.R. WIDRIG MAY 1966
TRAP CONTROL TABLES
FOR 'STAT', THE TABLE SHOULD BE ARRANGED SO THAT
THE MOST ACTIVE CHANNEL OCCURS FIRST IN THE TABLE.
FOR 'TRAP', THE TABLE IS ARRANGED FROM HIGHEST PRIORITY
TO LOWEST.
00223 +000000000004 STAT OCT 4 C
00224 0 00000 0 00251 PZE TRAP+4
00225 +000000000001 OCT 1 A
00226 0 00000 0 00245 PZE TRAP+0
00227 +000000000002 OCT 2 B
00230 0 00000 0 00247 PZE TRAP+2
00231 +000000000020 OCT 20 E
00232 0 00000 0 00255 PZE TRAP+8
00233 +000000000010 OCT 10 D
00234 0 00000 0 00253 PZE TRAP+6
00235 +000000000040 OCT 40 F
00236 0 00000 0 00257 PZE TRAP+10
00237 +000000000100 OCT 100 G
00240 0 00000 0 00261 PZE TRAP+12
00241 +000000000200 OCT 200 H
00242 0 00000 0 00263 PZE TRAP+14
00243 +000000000000 OCT 0 END OF TABLE
00244 0 00000 0 77777 PZE -1
00022 NCHAN EQU *-STAT NUMBER OF CHANNELS * 2 + 2
00245 TRAP BSS 1 NON-ZERO IF HIGHEST CHANNEL HAS I/O
00246 0 00013 0 00012 PZE 10,,11 SAVE ILC,,TRANSFER TO
00247 BSS 1 NEXT HIGHEST PRIORITY CHANNEL
00250 0 00015 0 00014 PZE 12,,13
00251 BSS 1
00252 0 00017 0 00016 PZE 14,,15
00253 BSS 1
00254 0 00021 0 00020 PZE 16,,17
00255 BSS 1
00256 0 00023 0 00022 PZE 18,,19
00257 BSS 1
00260 0 00025 0 00024 PZE 20,,21
00261 BSS 1
00262 0 00027 0 00026 PZE 22,,23
00263 BSS 1
00264 0 00031 0 00030 PZE 24,,25
00265 BSS 1 END OF TABLE
00266 0 77777 0 00000 PZE 0,,-1
END
LITERALS
00267 100000000000
00270 272563442544
1 ROUTINE TO HANDLE SIMULATED I/O TRAPS, ENABLES, ETC. 09/05/69 2058.7 PAGE 1
POST PROCESSOR ASSEMBLY DATA
271 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
51 IO 0
66 ENB 41
476100 SEA 26, 41
2000 TRA 146, 202
35 DONE 15
221 GETX 203
42 IORS 0, 35
65 IOSI 52, 62
7 IOST 0
63 IOX4 51
3 KEYS 105
26 SEAB 20, 22
220 SET4 212
223 STAT 56, 61, 245
245 TRAP 44, 45, 133, 134, 137, 140, 224, 226, 230, 232, 234, 236, 240, 242
173 ENBMQ 72, 165
175 ENBOV 74, 76, 166
174 ENBSI 73, 156
172 ENBSQ 71, 161
56400 ENBWD 17, 41
157 ENBX4 66, 103, 154
222 GETMP 207, 210, 216, 217
47 IORX4 42
36 IOSX4 7
62 IOXIT 60
22 NCHAN 43, 44, 45, 55, 56, 61, 132, 133, 134, 137, 140, 245
127 NODBG 107
2 OCABC 122
0 OCLBC 111
1 OCRBC 114
721317 COMENB 21, 41
301677 COMSEA 30, 41
775717 COMTRA 150, 202
16 ENBGET 13, 24, 33, 34
171 ENBLAC 67, 164
176 ENBLIN 110, 112, 113, 115, 116, 121, 123, 124, 126
155 ENBRET 143, 147, 151
41 ENBTRA 10
15 ENBTST 25, 27, 31
156 ENBXIT 131, 136
202 GETEFA 102, 153
40 GETMEM 12
170 TRPLOC 100, 117, 142
4 WRITE6 125
0 NO ERROR IN ABOVE ASSEMBLY.
DDFAP BCD 06/06/68 2358.0 4865 00000
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 1
00015 ENTRY .DINIT TO INITIALIZE PACKAGE
00070 ENTRY .DWAIT TO WAIT ON PREVIOUS I/O
00031 ENTRY .REFER TO REFER CONTROL ON COMPLETED I/O
00035 ENTRY .SETER TO REFER CONTROL ON ERROR FROM .DWAIT
00044 ENTRY .DRSET TO RESTART STRAT. MOD AFTER LOST TRAPS
00047 ENTRY .FORCE TO FORCE TRAP IF NO I/O IN OPERATION
00106 ENTRY .DREAD TO READ FROM A SPECIFIED TRACK
00110 ENTRY .DWRIT TO WRITE ONTO A SPECIFIED TRACK
00172 ENTRY .PACK TO CONVERT FROM MTTTTR TO BINARY
00213 ENTRY .UNPAK TO CONVERT FROM BINARY TO MTTTTR
EXTERN ALLSAV,ALLRST,CMEXIT,EPRINT
EXTERN MDINIT,MDREAD,MDWRIT,MDWAIT
EXTERN IO
EXTERN RED,BLACK
00000 214343622165 ALLSAV
00001 214343516263 ALLRST
00002 234425673163 CMEXIT
00003 254751314563 EPRINT
00004 442431453163 MDINIT
00005 442451252124 MDREAD
00006 442466513163 MDWRIT
00007 442466213163 MDWAIT
00010 314660606060 IO
00011 512524606060 RED
00012 224321234260 BLACK
00015 0636 00 4 00027 .DINIT SCA X4,4 INITIALIZE FOR SIMULATED D/D I/O
00016 -0500 60 4 00001 CAL* 1,4 GET POINTER TO COMMON ENABLE WORD
00017 0621 00 0 00423 STA ENABLE SAVE IT
00020 -0500 00 0 00422 CAL DENBWD ADD IN BITS FOR D/D ENABLING
00021 -0602 60 0 00423 ORS* ENABLE ..
00022 0500 00 0 00341 CLA DTRAP. GET TRAP CELL SETUP
00023 0601 00 0 00017 STO DDTRAP ..
00024 0074 00 4 00004 TSX MDINIT,4 OK, GIVE MAD PROGRAMS A CHANCE
00025 0600 00 0 00343 STZ TRAPSW RESET TRAP SWITCH
00026 0600 00 0 00344 STZ BUSY AND DON'T WAIT ON I/O
00027 -0774 00 4 00000 X4 AXC **,4 RESTORE LINKAGE
00030 0020 00 4 00002 TRA 2,4 THAT'S ALL FOR NOW
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 2
SETUP COURTESY CALLS, ERROR CALLS, ETC.
00031 -0500 00 4 00001 .REFER CAL 1,4 USER WISHES TO RECEIVE TRAP ANNOUNCEMENTS
00032 0621 00 0 00340 STA USRTRP SET HIS SPECIFIED RETURN
00033 0621 00 0 00342 STA REFRSW SET SWITCH TO INDICATE USER WANTS THIS
00034 0020 00 4 00002 TRA 2,4 RETURN
00035 -0500 00 4 00001 .SETER CAL 1,4 USER SETS ERROR RETURN
00036 -0320 00 0 00431 ANA =O77777 SEE IF NO RETURN SPECIFIED
00037 -0100 00 0 00041 TNZ *+2 ..
00040 -0500 00 0 00432 CAL =O400001 NO RETURN, SET DUMMY
00041 0621 00 0 00337 STA UERROR PLANT ADDRESS OF RETURN
00042 0625 00 0 00337 STT UERROR AND TAG, FOR GOOD MEASURE
00043 0020 00 4 00002 TRA 2,4 RETURN
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 3
FORCE I/O TRAPS, RESET ADAPTER, ETC.
00044 -0500 00 0 00425 .DRSET CAL =2 RESET CALL, POSSIBLE ERROR
00045 0600 00 0 00344 STZ BUSY RESET BUSY SWITCH
00046 0020 00 0 00052 TRA FRC1 HOP INTO TRAP ROUTINE
00047 0520 00 0 00344 .FORCE ZET BUSY SEE IF I/O PENDING
00050 0020 00 4 00001 TRA 1,4 YES, EXIT
00051 -0754 00 0 00000 ZAC NO, NO ERRORS
00052 -0520 00 0 00342 FRC1 NZT REFRSW TEST TO SEE IF USER WANTS THIS
00053 0020 00 4 00001 TRA 1,4 NOPE, GOODBYE FOR NOW
00054 0602 00 0 00067 SLW FRCTMP YES, SET POSSIBLE ERROR CODE
00055 -0625 00 0 00343 STL TRAPSW SET SWITCH FOR TRAP IN PROGRESS
00056 0636 00 4 00064 SCA FCIR4,4 SAVE MACHINE CONDITIONS
00057 0074 00 4 00000 TSX ALLSAV,4 ..
00060 0074 00 4 00340 TSX USRTRP,4 TELL USER ABOUT TRAP
00061 3 00000 0 00067 PTH FRCTMP AND POSSIBLE ERROR
00062 0600 00 0 00343 STZ TRAPSW LEAVING TRAP TIME, RESET SWITCH
00063 0074 00 4 00001 TSX ALLRST,4 RESTORE MACHINE
00064 -0774 00 4 00000 FCIR4 AXC **,4 AND IR4
00065 0564 60 0 00423 ENB* ENABLE RE-ENABLE
00066 0020 00 4 00001 TRA 1,4 RETURN TO CALLER
00067 FRCTMP BSS 1
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 4
WAIT ON PREVIOUS DISK I/O
00070 0074 00 7 00074 .DWAIT TSX DWAIT,7 INVOKE WAITING SUBROUTINE
00071 -0520 00 0 00343 NZT TRAPSW SEE IF IN TRAP ALREADY
00072 0564 60 0 00423 ENB* ENABLE NO, RE-ENABLE
00073 0020 00 4 00001 TRA 1,4 RETURN TO CALLER
00074 -0520 00 0 00343 DWAIT NZT TRAPSW TEST TO SEE IF CALLED AT TRAP TIME
00075 0564 60 0 00423 ENB* ENABLE NO, ENABLE
00076 -0520 00 0 00310 NZT ERROR TEST FOR ANY ERRORS
00077 0020 00 7 00001 TRA 1,7 COOL MAN, LIKE GO
00100 0636 00 4 00104 SCA DWAITX,4 WOOPS, WE BEEN HAD
00101 -0500 00 0 00310 CAL ERROR GET ERROR CODE
00102 0600 00 0 00310 STZ ERROR RESET FOR NEXT TIME
00103 0074 00 4 00337 TSX UERROR,4 ANNOUNCE ERROR TO USER
00104 -0774 00 4 00000 DWAITX AXC **,4 RESTORE USER'S IR4
00105 0020 00 7 00001 TRA 1,7 RETURN TO CALLER
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 5
DISK/DRUM READ/WRITE CALLS
00106 0500 00 0 00005 .DREAD CLA MDREAD PICK UP POINTER TO READ ROUTINE
00107 0020 00 0 00111 TRA .DWRIT+1 HOP INTO ROUTINE
00110 0500 00 0 00006 .DWRIT CLA MDWRIT PICK UP POINTER TO WRITE ROUTINE
00111 0621 00 0 00135 STA IOCALL SAVE IT FOR I/O CALL LATER
00112 0636 00 4 00157 SCA DWRX4,4 SAVE RETURN
00113 0074 00 7 00074 TSX DWAIT,7 WAIT ON PREVIOUS I/O
00114 0074 00 7 00163 TSX CVTRK,7 MAKE TRACK ADDRESS SHAPE UP
00115 0600 00 0 00347 STZ REL ZERO RELLOC
00116 -0500 00 4 00001 CAL 1,4 COMPUTE EFFECTIVE ADDRESS OF I/O LIST
00117 0625 00 0 00120 STT *+1 COULD BE TAGGED
00120 0756 00 0 00000 PCA 0,** PICK UP VALUE OF TAG REGISTER, IF ANY
00121 0361 00 4 00001 ACL 1,4 ADD BASE
00122 0737 00 6 00000 PAC 0,6 PUT COMPLEMENT OF RESULT IN IR6
00123 0441 00 6 00001 GETCOM LDI 1,6 PICK UP NEXT I/O COMMAND WORD
00124 -0054 00 700000 LFT 700000 SEE IF 'IOD'
00125 1 77777 6 00127 TXI *+2,6,-1 NOPE, TEST FOR 'IOP'
00126 0020 00 0 00157 TRA DWRX4 YES, THAT'S ALL HERE
00127 -0056 00 200000 LNT 200000 IS IT AN 'IOP'
00130 0020 00 0 00152 TRA ION NOPE, MUST BE 'ION'
00131 -0046 00 0 00000 PIA IT WAS AN 'IOP', MAKE I/O CALL
00132 0621 00 0 00137 STA BUFF POINTER TO START OF DATA
00133 0771 00 0 00022 ARS 18 GET COUNT OF WORDS TO BE TRANSMITTED
00134 0621 00 0 00346 STA WDCT SAVE COUNT
00135 0074 00 4 00000 IOCALL TSX **,4 CALL READ/WRITE ROUTINE
00136 3 00000 0 00161 PTH TRKERR ERROR RETURN FOR BAD TRACK NUMBER
00137 3 00000 0 00000 BUFF PTH ** START OF INFORMATION
00140 3 00000 0 00346 PTH WDCT POINTER TO WORD COUNT
00141 3 00000 0 00347 PTH REL RELATIVE ADDRESS WITHIN TRACK
00142 3 00000 0 00345 PTH TRKADR TRACK INVOLVED IN I/O
00143 0500 00 0 00347 CLA REL I/O STARTED, UPDATE POINTER
00144 0400 00 0 00346 ADD WDCT ..
00145 0601 00 0 00347 STO REL ..
00146 -0625 00 0 00344 STL BUSY SET SWITCH TO INDICATE I/O IN PROGRESS
00147 0074 00 4 00010 TSX IO,4 ANNOUNCE THIS TO TRAP CONTROL
00150 3 00000 0 00422 PTH DENBWD ..
00151 0020 00 0 00123 TRA GETCOM GET NEXT I/O COMMAND
00152 -0046 00 0 00000 ION PIA NO TRANSMISSION, UPDATE RELLOC
00153 0771 00 0 00022 ARS 18 GET SKIP COUNT
00154 0400 00 0 00347 ADD REL ADD CURRENT RELLOC
00155 0621 00 0 00347 STA REL UPDATE RELLOC
00156 0020 00 0 00123 TRA GETCOM GET NEXT I/O COMMAND
00157 -0774 00 4 00000 DWRX4 AXC **,4 ALL DONE, RETURN
00160 0020 00 4 00003 TRA 3,4 ..
00161 0535 00 4 00157 TRKERR LAC DWRX4,4 BAD TRACK NUMBER, TAKE ERROR RETURN
00162 0020 60 4 00002 TRA* 2,4 ..
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 6
CONVERT TRACK ADDRESS TO MTTTTR
00163 0500 60 4 00001 CVTRK CLA* 1,4 GET TRACK ADDRESS
00164 0120 00 0 00170 TPL CVTRK1 SKIP IF ADDRESS ALREADY CONVERTED
00165 0636 00 4 00167 SCA CVTX4,4 SAVE LINKAGE
00166 0074 00 4 00215 TSX UNPACK,4 CONVERT PACKED TRACK ADDRESS
00167 -0774 00 4 00000 CVTX4 AXC **,4 RESTORE LINKAGE
00170 0602 00 0 00345 CVTRK1 SLW TRKADR RESTORE TRACK ADDRESS
00171 0020 00 7 00001 TRA 1,7 RETURN TO CALLER
.PACK/.UNPAK FIDDLE WITH TRACK AND RECORD ADDRESS
00172 -0774 00 5 00000 .PACK AXC 0,5 ROUTINE TO PACK LOGICAL RECORD ADDRESS
00173 0520 00 0 00343 ZET TRAPSW IS A TRAP CURRENTLY IN PROGRESS .Q.
00174 -0774 00 5 00001 AXC 1,5 IF SO, SET TO USE TMP+1 FOR STORAGE
00175 0560 60 4 00001 LDQ* 1,4 GET TRACK ADDRESS
00176 -0154 06 0 00374 CRQ C1200,,6 TAKE OUT THE 12'S
00177 -0773 00 0 00036 RQL 30 MOVE RECORD BIT TO FIRST POSITION
00200 0774 00 6 00006 AXT 6,6 SET TO CONVERT TO BINARY
00201 0600 00 5 00350 STZ TMP,5 ..
00202 -0754 00 0 00000 PAC1 ZAC RESET AC FOR NEXT CHARACTER
00203 -0763 00 0 00003 LGL 3 CONVERT AND SUM
00204 0401 00 5 00350 ADM TMP,5 ..
00205 -0763 00 0 00003 LGL 3 ..
00206 0401 00 5 00350 ADM TMP,5 ..
00207 0361 00 5 00350 ACL TMP,5 ..
00210 0602 00 5 00350 SLW TMP,5 SAVE INTERMEDIATE ANSWER
00211 2 00001 6 00202 TIX PAC1,6,1 LOOP
00212 0020 00 4 00002 TRA 2,4 RETURN PACKED ADDRESS IN AC
00213 0500 60 4 00001 .UNPAK CLA* 1,4 PICK UP BINARY VALUE
00214 1 77777 4 00215 TXI UNPACK,4,-1 ADJUST LINKAGE
00215 -0774 00 5 00000 UNPACK AXC 0,5 VALUE IN AC, SEE ABOUT TRAP TIME
00216 0520 00 0 00343 ZET TRAPSW ..
00217 -0774 00 5 00001 AXC 1,5 IF TRAP, USE TMP+1 FOR STORAGE
00220 -0120 00 0 00232 TMI UPAC3 SKIP IF MZE RECNO,,MODNO
00221 -0130 00 0 00000 XCL OTHERWISE, VALUE TO MQ
00222 0774 00 6 00044 AXT 36,6 SET FOR 18-BIT FORMAT
00223 0600 00 5 00350 STZ TMP,5 SET FOR CONVERSION TO BCD
00224 -0754 00 0 00000 UPAC2 ZAC RESET AC FOR NEXT CHARACTER
00225 0221 00 0 00427 DVP =10 GET BCD NEXT DIGIT
00226 0767 00 6 00044 ALS 36,6 FROM REMAINDER
00227 -0602 00 5 00350 ORS TMP,5 AND HANG ON TO IT
00230 2 00006 6 00224 TIX UPAC2,6,6 LOOP
00231 0020 00 0 00254 TRA UPAC5 DONE, CONVERT '00' TO '12'
00232 -0734 00 6 00000 UPAC3 PDX 0,6 MZE MODNO,,RECNO SAVE MODULE NUMBER
00233 0560 00 0 00424 LDQ =0 SNEAK UP ON RECORD BIT
00234 -0765 00 0 00001 LGR 1 ..
00235 0767 00 0 00005 ALS 5 GET SOME SPACE
00236 -0765 00 0 00005 LGR 5 NOW MAKE RECORD NUMBER BE IN UPPER MQ
00237 -0320 00 0 00431 ANA =O77777 REDUCE TO TRACK ADDRESS IN AC
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 7
00240 -0130 00 0 00000 XCL REPOSITION EVERYTHING
00241 0044 00 0 00000 PAI SAVE RECORD NUMBER IN SI
00242 -0754 00 6 00000 PXD 0,6 RESTORE MODULE NUMBER TO DECREMENT
00243 0767 00 0 00006 ALS 6 PLACE IN SECOND CHARACTER POSITION
00244 0043 00 0 00000 OAI STICK IN SI WITH RECORD NUMBER
00245 0604 00 5 00350 STI TMP,5 PRIME ANSWER CELL
00246 0774 00 6 00030 AXT 24,6 SET FOR 4 DIGITS OF TRACK ADDRESS
00247 -0754 00 0 00000 UPAC4 ZAC RESET FOR NEXT CHARACTER
00250 0221 00 0 00427 DVP =10 GET NEXT BCD DIGIT
00251 0767 00 6 00030 ALS 24,6 FROM REMAINDER
00252 -0602 00 5 00350 ORS TMP,5 SAVE IN TEMPORARY
00253 2 00006 6 00247 TIX UPAC4,6,6 LOOP
00254 0560 00 5 00350 UPAC5 LDQ TMP,5 GET UNPACKED TRACK ADDRESS
00255 -0773 00 0 00006 RQL 6 POSITION RECORD NUMBER (NOW IT IS MTTTTR)
00256 -0154 06 0 00407 CRQ C0012,,6 CONVERT 00'S TO 12'S
00257 -0130 00 0 00000 XCL
00260 0020 00 4 00001 TRA 1,4 RETURN TO CALLER (GASP)
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 8
HERE ON COMPLETION OF I/O
00261 0636 00 4 00304 DCTRAP SCA DCTIR4,4 SAVE IR4
00262 0074 00 4 00000 TSX ALLSAV,4 SAVE MACHINE
00263 0441 00 0 00016 LDI DDILC GET RETURN LOCATION
00264 0604 00 0 00307 STI DCTRTN AND HANG ONTO IT
00265 0600 00 0 00344 STZ BUSY NOT BUSY ANYMORE
00266 0074 00 4 00007 TSX MDWAIT,4 CONSULT MAD PROGRAM ABOUT I/O
00267 3 00000 0 00311 PTH CRUMP ERROR, BAD NEWS
00270 3 00000 0 00310 PTH ERROR ..
00271 -0520 00 0 00342 NZT REFRSW SEE IF USER WOULD LIKE A TRAP
00272 0020 00 0 00302 TRA DCTXIT NOPE, THAT'S ALL
00273 0441 00 0 00424 LDI =0 YES, SET NO ERROR
00274 0604 00 0 00306 DCTINT STI RTNFLG PICK UP ERROR CODE
00275 0600 00 0 00310 STZ ERROR ZERO OUT ERROR CODE FOR NEXT TIME
00276 -0625 00 0 00343 STL TRAPSW NOW WE ARE IN A TRAP
00277 0074 00 4 00340 TSX USRTRP,4 TELL USER THIS
00300 3 00000 0 00306 PTH RTNFLG ..
00301 0600 00 0 00343 STZ TRAPSW LEAVING TRAP
00302 0074 00 4 00001 DCTXIT TSX ALLRST,4 RESTORE MACHINE
00303 0074 00 4 00002 TSX CMEXIT,4 RETURN TO TRAPPED PROGRAM
00304 -0774 00 4 00000 DCTIR4 AXC **,4 HERE IS HOW TO RESTORE IR4
00305 0 00000 0 00307 DCTRTN AND HERE IS LOCATION POINTER
00306 RTNFLG BSS 1
00307 DCTRTN BSS 1 LOCATION WHERE TRAP OCCURRED
00310 ERROR BSS 1 ERROR CODE OF LAST I/O, IF ANY
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 9
DISK/DRUM READ ERRORS
00311 0560 00 0 00345 CRUMP LDQ TRKADR GET TRACK IN ERROR
00312 -0154 06 0 00374 CRQ C1200,,6 TAKE OUT 12'S
00313 -0773 00 0 00006 RQL 6 POSITION
00314 -0600 00 0 00363 STQ ERRCM1+9 TRACK ADDRESS
00315 -0130 00 0 00000 XCL GET OUT LOGICAL MODULE
00316 -0320 00 0 00426 ANA =O7 CONVERT TO 3 BITS
00317 -0765 00 0 00001 LGR 1 SAVE ACCESS NUMBER
00320 0767 00 0 00006 ALS 6 CONVERT MODULE TO BCD
00321 0162 00 0 00323 TQP *+2 CHECK ACCESS NUMBER
00322 -0501 00 0 00430 ORA =H000100 ACCESS 1, SET IT
00323 -0501 00 0 00433 ORA =H 8200 INSERT PROPER DISK ORDER
00324 0602 00 0 00362 SLW ERRCM1+8 PLANT IN MESSAGE
00325 0074 00 4 00011 TSX RED,4 WAKE THE OLD BOY UP
00326 0074 00 4 00003 TSX EPRINT,4 PRINT ERROR COMMENT
00327 0 00013 0 00352 ERRCM1,,11 ..
00330 0074 00 4 00003 TSX EPRINT,4 FUDGE UP SOME SENSE DATA
00331 0 00007 0 00365 ERRCM2,,7 ..
00332 0074 00 4 00012 TSX BLACK,4 GOOD OLD BASIC BLACK
00333 0441 00 0 00310 LDI ERROR PICK UP ERROR CODE
00334 0520 00 0 00342 ZET REFRSW SEE IF USER WANTS THIS
00335 0020 00 0 00274 TRA DCTINT YES, TELL HIM
00336 0020 00 0 00302 TRA DCTXIT NO, LEAVE
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 10
CONSTANTS, VARIABLES, AND OTHER NICE THINGS
00337 0021 00 0 00000 UERROR TTR **,** ERROR RETURN, IF SPECIFIED
00340 0021 00 0 00000 USRTRP TTR ** COURTESY CALL, IF SPECIFIED
00017 DDTRAP EQU 15 CHANNEL C TRAP CELL
00016 DDILC EQU 14 CHANNEL C TRAP ILC
00341 0021 00 0 00261 DTRAP. TTR DCTRAP TRAP CELL
00342 0 00000 0 00000 REFRSW PZE ** NON-ZERO IF TRAPS REFERRED TO USER
00343 TRAPSW BSS 1 NON-ZERO IF TRAP IN PROGRESS
00344 BUSY BSS 1 NON-ZERO IF WAITING FOR A TRAP
00345 TRKADR BSS 1 TRACK ADDRESS OF LATEST I/O
00346 WDCT BSS 1 WORD COUNT OF LATEST I/O TRANSMISSION
00347 REL BSS 1 RELATIVE LOCATION IN CURRENT TRACK
00350 TMP BSS 2 TEMPORARIES FOR TRACK PACKING AND UNPACKING
00352 606024316242 ERRCM1 BCI 8, DISK/DRUM READ ERROR ON CHANNEL C, OPERATION=
00362 606767676760 BCI 3, XXXX XXXXXX.
00365 606062254562 ERRCM2 BCI 7, SENSE DATA 040100000402 000000000000
00374 C1200 DUP 1,10 CONVERT TABLE FOR 12 TO 00
00374 000000000374 VFD 6/*-C1200,30/C1200
00406 000000000374 VFD 6/0,30/C1200
00407 120000000407 C0012 VFD 6/10,30/C0012 CONVERT TABLE FOR 00 TO 12
00410 DUP 1,10
00410 010000000407 VFD 6/*-C0012,30/C0012
000004 DENB BOOL 4 BITS FOR DISK/DRUM ENABLE
00422 0 00000 0 00004 DENBWD PZE DENB DISK/DRUM ENABLE BITS
00423 0 00000 0 00000 ENABLE PZE ** POINTER TO COMMON ENABLE WORD
END
LITERALS
00424 000000000000
00425 000000000002
00426 000000000007
00427 000000000012
00430 000000010000
00431 000000077777
00432 000000400001
00433 601002000060
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 1
POST PROCESSOR ASSEMBLY DATA
434 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
10 IO 147
27 X4 15
152 ION 130
11 RED 325
347 REL 115, 141, 143, 145, 154, 155
350 TMP 201, 204, 206, 207, 210, 223, 227, 245, 252, 254
137 BUFF 132
344 BUSY 26, 45, 47, 146, 265
4 DENB 422
52 FRC1 46
202 PAC1 211
346 WDCT 134, 140, 144
12 BLACK 332
407 C0012 256, 407, 410, 411, 412, 413, 414, 415, 416, 417, 420, 421
374 C1200 176, 312, 374, 375, 376, 377, 400, 401, 402, 403, 404, 405, 406
311 CRUMP 267
163 CVTRK 114
167 CVTX4 165
16 DDILC 263, 341
74 DWAIT 70, 113
157 DWRX4 112, 126, 161
310 ERROR 76, 101, 102, 270, 275, 333
64 FCIR4 56
172 .PACK 0
224 UPAC2 230
232 UPAC3 220
247 UPAC4 253
254 UPAC5 231
1 ALLRST 63, 302
0 ALLSAV 57, 262
2 CMEXIT 303
170 CVTRK1 164
274 DCTINT 335
304 DCTIR4 261
261 DCTRAP 341
307 DCTRTN 264, 305
302 DCTXIT 272, 336
17 DDTRAP 23, 341
422 DENBWD 20, 150
341 DTRAP. 22
104 DWAITX 100
423 ENABLE 17, 21, 65, 72, 75
3 EPRINT 326, 330
352 ERRCM1 314, 324, 327
365 ERRCM2 331
67 FRCTMP 54, 61
123 GETCOM 151, 156
135 IOCALL 111
15 .DINIT 0
106 .DREAD 0
44 .DRSET 0
1 DISK/DRUM SIMULATED I/O PACKAGE D.R. WIDRIG MAY 1966 PAGE 2
POST PROCESSOR ASSEMBLY DATA
70 .DWAIT 0
110 .DWRIT 0, 107
47 .FORCE 0
31 .REFER 0
35 .SETER 0
213 .UNPAK 0
4 MDINIT 24
5 MDREAD 106
7 MDWAIT 266
6 MDWRIT 110
342 REFRSW 33, 52, 271, 334
306 RTNFLG 274, 300
343 TRAPSW 25, 55, 62, 71, 74, 173, 216, 276, 301
345 TRKADR 142, 170, 311
161 TRKERR 136
337 UERROR 41, 42, 103
215 UNPACK 166, 214
340 USRTRP 32, 60, 277
0 NO ERROR IN ABOVE ASSEMBLY.
DDMAD BCD 06/06/68 2358.0 12460 00000
1 MAD PROGRAM LISTING ... ... ... FILE DDMAD MAD 06/06/68 1950.6
-
PACKAGE TO SIMULATE DISK I/O LM00001
D.R. WIDRIG MAY 1966 LM00002
REVISED OCTOBER 1966 LM00003
MINOR REVISIONS FEBRUARY 1967 LM00004
LM00005
EXTERNAL FUNCTION (TRKERR,B,COUNT,RL,TRACK) *001 LM00006
LM00007
NORMAL MODE IS INTEGER *002 LM00008
BOOLEAN CKTRK.,READSW,ERRSW,BUFFED,NEWTRK,FIRST *003 LM00009
STATEMENT LABEL TRKERR *004 LM00010
DIMENSION TSIZ(10),TIME(10) *005 LM00011
DIMENSION BUFF(0),ZBUF(0) *006 LM00012
LM00013
VECTOR VALUES LDKM = 0 *007 LM00014
VECTOR VALUES HDKM = 3 *008 LM00015
VECTOR VALUES NDKT = 10000 *009 LM00016
VECTOR VALUES LDMM = 4 *010 LM00017
VECTOR VALUES HDMM = 4 *011 LM00018
VECTOR VALUES NDMT = 400 *012 LM00019
LM00020
VECTOR VALUES MZE = - 0 *013 LM00021
VECTOR VALUES FIRST = 1B *014 LM00022
VECTOR VALUES AFSTMX = 5 *015 LM00023
VECTOR VALUES WDSPT = 435 *016 LM00024
VECTOR VALUES FILE = $(FILE)$ *017 LM00025
VECTOR VALUES TRK(0)...TRK(10) = 777777777777K *018 LM00026
VECTOR VALUES LINE(1)...LINE(14) = 575757575757K *019 LM00027
VECTOR VALUES FENCE = 777777777777K *020 LM00028
LM00029
INITIALIZE AND RESET DISK PACKAGE LM00030
LM00031
ENTRY TO MDINIT. *021 LM00032
OLDERR = FFERRT.(WOOPS) *022 LM00033
WHENEVER (OLDERR .NE. 0), FFERRT.(OLDERR) *023 LM00034
LM00035
INITIALIZE TABLES LM00036
LM00037
THROUGH DKL, FOR K = LDKM,1,(K.G.HDKM) *024 LM00038
TSIZ(K) = NDKT *025 LM00039
DKL CONTINUE *026 LM00040
THROUGH DML, FOR K = LDMM,1,(K.G.HDMM) *027 LM00041
TSIZ(K) = NDMT *028 LM00042
DML CONTINUE *029 LM00043
LM00044
RESET INTERNAL TABLES LM00045
LM00046
THROUGH RESET, FOR I = 0,1,(I.G.AFSTMX) *030 LM00047
WHENEVER TRK(I) .NE. FENCE, *031 LM00048
1 FCLOSE.(TRK(I),FILE,NERR0) *031 LM00049
NERR0 TRK(I) = FENCE *032 LM00050
TIME(I) = 0 *033 LM00051
RESET CONTINUE *034 LM00052
LM00053
SET UP BUFFER AREAS, ETC. LM00054
LM00055
WHENEVER FIRST *035 LM00056
GETBUF.(BUFF,WDSPT) *036 LM00057
GETBUF.(ZBUF,WDSPT) *037 LM00058
FIRST = 0B *038 LM00059
END OF CONDITIONAL *039 LM00060
LM00061
THROUGH LOOP0, FOR I = 1,1,(I .G. WDSPT) *040 LM00062
ZBUF(ZBUF+I) = 0 *041 LM00063
LOOP0 CONTINUE *042 LM00064
LM00065
SET UP STRAY VARIABLES LM00066
LM00067
NEWTRK = 1B *043 LM00068
I = 1 *044 LM00069
TRKNAM = FENCE *045 LM00070
FUNCTION RETURN *046 LM00071
LM00072
WRITE A TRACK, RESET READ SWITCH LM00073
LM00074
ENTRY TO MDWRIT. *047 LM00075
READSW = 0B *048 LM00076
LINE(14) = 665760K6 *049 LM00077
TRANSFER TO GO *050 LM00078
LM00079
READ A TRACK, SET SWITCH LM00080
LM00081
ENTRY TO MDREAD. *051 LM00082
READSW = 1B *052 LM00083
LINE(14) = 515760K6 *053 LM00084
LM00085
GET TRACK ADDRESS CHECKED, GET FILE NAME LM00086
LM00087
GO TRKADR = TRKCV.(TRACK) *054 LM00088
WHENEVER CKTRK.(TRKADR), TRANSFER TO TRKERR *055 LM00089
WHENEVER (TRKADR .NE. TRKNAM) *056 LM00090
NEWTRK = 1B *057 LM00091
TRKNAM = TRKADR *058 LM00092
OTHERWISE *059 LM00093
NEWTRK = 0B *060 LM00094
END OF CONDITIONAL *061 LM00095
FILNAM = TRKADR .A. 77777777K4 *062 LM00096
TIME = TIME + 1 *063 LM00097
LM00098
PICK UP POINTERS AND COUNTS LM00099
LM00100
REL = RL + 1 *064 LM00101
CT = COUNT *065 LM00102
LM00103
CHECK FOR DEBUGGING PRINT-OUT LM00104
LM00105
WHENEVER ((KEYS.(0).A.2K11) .NE. 0) *066 LM00106
WHENEVER NEWTRK *067 LM00107
LINE(11) = TRKADR *068 LM00108
LINE(12) = 575757575760K *069 LM00109
TRANSFER TO NEWREL *070 LM00110
OTHERWISE *071 LM00111
LINE(11) = 575757575757K *072 LM00112
LINE(12) = 575757575757K *073 LM00113
WHENEVER REL .NE. OLDREL *074 LM00114
NEWREL LINE(13) = DEFBC.(REL).V.575760K6 *075 LM00115
OTHERWISE *076 LM00116
LINE(13) = 575757575757K *077 LM00117
END OF CONDITIONAL *078 LM00118
END OF CONDITIONAL *079 LM00119
LINE(14) = LINE(14) .V. DEFBC.(CT) *080 LM00120
OLDREL = REL + CT *081 LM00121
WRITE6.(LINE(14)...4) *082 LM00122
END OF CONDITIONAL *083 LM00123
LM00124
MAKE SURE FILE IS OPENED LM00125
LM00126
WHENEVER TRK(I) .E. FILNAM *084 LM00127
TRANSFER TO OPEND *085 LM00128
OTHERWISE *086 LM00129
OLDEST = TIME *087 LM00130
SLOT = 0 *088 LM00131
BUFFED = 0B *089 LM00132
FBUFFE.(TRK(I),FILE,BUFF...0,NERR1) *090 LM00133
NERR1 THROUGH LOOP1, FOR I = 1,1,(I.G.AFSTMX) *091 LM00134
WHENEVER TRK(I) .E. FILNAM *092 LM00135
TRANSFER TO OPEND *093 LM00136
OR WHENEVER (TRK(I).E.FENCE) .AND. (SLOT.E.0) *094 LM00137
SLOT = I *095 LM00138
OR WHENEVER TIME(I) .L. OLDEST *096 LM00139
OLDEST = TIME(I) *097 LM00140
PTR = I *098 LM00141
END OF CONDITIONAL *099 LM00142
LOOP1 CONTINUE *100 LM00143
END OF CONDITIONAL *101 LM00144
LM00145
SEE IF SLOT AVAILABLE LM00146
LM00147
WHENEVER SLOT .NE. 0 *102 LM00148
I = SLOT *103 LM00149
LM00150
NO HOLES, CLOSE OLDEST FILE, OPEN NEW LM00151
LM00152
OTHERWISE *104 LM00153
I = PTR *105 LM00154
FCLOSE.(TRK(I),FILE,WOOPS) *106 LM00155
END OF CONDITIONAL *107 LM00156
FOPEN.($RW$,FILNAM,FILE,1,2,WOOPS) *108 LM00157
TRK(I) = FILNAM *109 LM00158
LM00159
UPDATE TIME LAST USED FOR THIS FILE LM00160
LM00161
OPEND TIME(I) = TIME *110 LM00162
LM00163
CONCOCT RELLOC LM00164
LM00165
TADD = ((TRKADR.A.7700K).RS.6) *111 LM00166
LREC = (TRKADR.A.77K) * WDSPT * 10 *112 LM00167
RELLOC = TADD * WDSPT + LREC + REL *113 LM00168
LM00169
THROW IN A BUFFER IF NOT BUFFERED LM00170
LM00171
WHENEVER .NOT. BUFFED *114 LM00172
BUFFED = 1B *115 LM00173
FBUFFE.(FILNAM,FILE,BUFF(BUFF+432)...432,WOOPS) *116 LM00174
END OF CONDITIONAL *117 LM00175
LM00176
IS THIS A READ OR A WRITE LM00177
LM00178
WHENEVER READSW *118 LM00179
FRDWAI.(FILNAM,FILE,RELLOC,B...CT,REOF,MZE,WOOPS) *119 LM00180
OTHERWISE *120 LM00181
WRITE WHENEVER NEWTRK *121 LM00182
FWRFIL.(FILNAM,FILE,RELLOC, *122 LM00183
1 ZBUF(ZBUF+WDSPT)...WDSPT,WEOF,MZE,WOOPS) *122 LM00184
END OF CONDITIONAL *123 LM00185
FWRWAI.(FILNAM,FILE,RELLOC,B...CT,WEOF,MZE,WOOPS) *124 LM00186
END OF CONDITIONAL *125 LM00187
LM00188
THAT'S ALL, FOLKS LM00189
LM00190
FUNCTION RETURN *126 LM00191
LM00192
MDWAIT ENTRY CHECKS ON UNEXPECTED EOF'S LM00193
LM00194
ENTRY TO MDWAIT. *127 LM00195
WHENEVER .NOT. ERRSW, FUNCTION RETURN *128 LM00196
B = ERCODE *129 LM00197
ERRSW = 0B *130 LM00198
TRANSFER TO TRKERR *131 LM00199
LM00200
ODD THINGS DEPARTMENT LM00201
LM00202
WOOPS HALT. *132 LM00203
DORMNT. *133 LM00204
LM00205
ERROR OR EOF READING, SET ERROR SWITCH LM00206
LM00207
REOF ERRSW = 1B *134 LM00208
ERCODE = 2 *135 LM00209
FUNCTION RETURN *136 LM00210
LM00211
EOF WRITING, PAD WITH GARBAGE LM00212
LM00213
WEOF FWRFIL.(FILNAM,FILE,0,ZBUF(ZBUF+WDSPT)...WDSPT,MZE,MZE,WOOPS) *137 LM00214
TRANSFER TO WRITE *138 LM00215
LM00216
CHECK FOR CORRECT TRACK ADDRESS LM00217
LM00218
INTERNAL FUNCTION (A) *139 LM00219
ENTRY TO TRKCV. *140 LM00220
X = A *141 LM00221
Y = (X+$666666$) .A. $++++++$ *142 LM00222
FUNCTION RETURN X .A. .N.(Y.RS.1) .A. .N.(Y.RS.3) *143 LM00223
END OF FUNCTION *144 LM00224
LM00225
CHECK FOR CORRECT TRACK ADDRESS LM00226
LM00227
INTERNAL FUNCTION (A) *145 LM00228
ENTRY TO CKTRK. *146 LM00229
X = A *147 LM00230
LM00231
WHENEVER ((X.A.$ $) .NE. 0), FUNCTION RETURN 1B *148 LM00232
R = X .A. 77K *149 LM00233
T = BCDEC.((X.RS.6) .A. 77777777K) *150 LM00234
M = (X.RS.30) .A. 77K *151 LM00235
LM00236
WHENEVER (M.L.LDKM) .OR. (M.G.HDKM .AND. M.L.LDMM) .OR. *152 LM00237
1 (M.G.HDMM), FUNCTION RETURN 1B *152 LM00238
WHENEVER (R.G.1) .OR. (T.G.TSIZ(M)), FUNCTION RETURN 1B *153 LM00239
FUNCTION RETURN 0B *154 LM00240
END OF FUNCTION *155 LM00241
LM00242
END OF FUNCTION *156 LM00243
1MAD PROGRAM,TYPE NOV 1963 (ALL NUMBERS ARE OCTAL)
0TOTAL LOCATIONS 01216 TRANSFER VECTOR LENGTH 00017 PROGRAM BEGINS 00212
0 PROGRAM IS AN EXTERNAL FUNCTION. THE FOLLOWING ARE ENTRIES
MDWAIT 00743 0 MDREAD 00367 0 MDWRIT 00357 0 MDINIT 00213 0
0VARIABLE STORAGE (A=ARRAY,C=COMMON,E=ERASABLE,DIGIT=MODE)
AFSTMX 00033 A 1 GO 00022 4 MZE 00074 A 1 PTR 00103 1 TRKNAM 00126 1
BUFFED 00034 2 HDKM 00045 A 1 NDKT 00075 A 1 READSW 00104 2 TRK 00141 A 1
BUFF 00035 A 1 HDMM 00046 A 1 NDMT 00076 A 1 RELLOC 00105 1 T 00142 1
CT 00036 1 I 00047 1 NERR0 00023 4 REL 00106 1 TSIZ 00155 A 1
DKL 00021 4 K 00050 1 NERR1 00024 4 REOF 00027 4 WDSPT 00156 A 1
DML 00021 4 LDKM 00051 A 1 NEWREL 00025 4 RESET 00021 4 WEOF 00030 4
ERCODE 00037 1 LDMM 00052 A 1 NEWTRK 00077 2 R 00107 1 WOOPS 00031 4
ERRSW 00040 2 LINE 00071 A 1 OLDERR 00100 1 SLOT 00110 1 WRITE 00032 4
FENCE 00041 A 1 LOOP0 00021 4 OLDEST 00101 1 TADD 00111 1 X 00157 1
FILE 00042 A 1 LOOP1 00021 4 OLDREL 00102 1 TIME 00124 A 1 Y 00160 1
FILNAM 00043 1 LREC 00072 1 OPEND 00026 4 TRKADR 00125 1 ZBUF 00161 A 1
FIRST 00044 A 2 M 00073 1
0FUNCTION DICTIONARY
BCDEC 00000 1 DEFBC 00001 1 DORMNT 00002 1 EXIT 00003 1 FBUFFE 00004 1
FCLOSE 00005 1 FFERRT 00006 1 FOPEN 00007 1 FRDWAI 00010 1 FWRFIL 00011 1
FWRWAI 00012 1 GETBUF 00013 1 HALT 00014 1 KEYS 00015 1 WRITE6 00016 1
CKTRK 00017 2 TRKCV 00020 1
0ABSOLUTE CONSTANTS
00171 +000000000036 00175 +000077777777 00207 -206060606060 00165 +000000000003 00200 +202020202020
00176 +060606060606 00173 +000000000660 00170 +000000000012 00172 +000000000077 00167 +000000000006
00174 +000000007700 00164 +000000000002 00203 -116660606060 00166 +000000000004 00206 -175760000000
00204 -175757575757 00205 -175757575760 00177 +200000000000 00211 -377777770000 00202 -115760000000
00210 -265760000000 00162 +000000000000 00163 +000000000001 00201 +233000000000
0STATEMENT DICTIONARY
00022 TXL -300400000375 00023 TXL -300312000307 00024 TXL -300544000532 00025 TXL -300467000461
00026 TXL -300634000631 00027 TXL -300761000757 00030 TXL -301001000764 00031 TXL -300756000755
00032 TXL -300714000712
0PROGRAM
EXTERNAL FUNCTION (TRKERR,B,COUNT,RL,TRACK) 001 LM00006
N'R 002 LM00008
B'N CKTRK.,READSW,ERRSW,BUFFED,NEWTRK,FIRST 003 LM00009
S'L TRKERR 004 LM00010
D'N TSIZ(10),TIME(10) 005 LM00011
D'N BUFF(0),ZBUF(0) 006 LM00012
V'S LDKM = 0 007 LM00014
00051 +0 00000 0 00000
V'S HDKM = 3 008 LM00015
00045 +0 00000 0 00003
V'S NDKT = 10000 009 LM00016
00075 +0 00000 0 23420
V'S LDMM = 4 010 LM00017
00052 +0 00000 0 00004
V'S HDMM = 4 011 LM00018
00046 +0 00000 0 00004
V'S NDMT = 400 012 LM00019
00076 +0 00000 0 00620
V'S MZE = - 0 013 LM00021
00074 -0 00000 0 00000
V'S FIRST = 1B 014 LM00022
00044 +0 00000 0 00001
V'S AFSTMX = 5 015 LM00023
00033 +0 00000 0 00005
V'S WDSPT = 435 016 LM00024
00156 +0 00000 0 00663
V'S FILE = $(FILE)$ 017 LM00025
00042 -3 42631 4 32534
V'S TRK(0)...TRK(10) = 777777777777K 018 LM00026
00127 -3 77777 7 77777 00130 -3 77777 7 77777 00131 -3 77777 7 77777 00132 -3 77777 7 77777
00133 -3 77777 7 77777 00134 -3 77777 7 77777 00135 -3 77777 7 77777 00136 -3 77777 7 77777
00137 -3 77777 7 77777 00140 -3 77777 7 77777 00141 -3 77777 7 77777
V'S LINE(1)...LINE(14) = 575757575757K 019 LM00027
00053 -1 75757 5 75757 00054 -1 75757 5 75757 00055 -1 75757 5 75757 00056 -1 75757 5 75757
00057 -1 75757 5 75757 00060 -1 75757 5 75757 00061 -1 75757 5 75757 00062 -1 75757 5 75757
00063 -1 75757 5 75757 00064 -1 75757 5 75757 00065 -1 75757 5 75757 00066 -1 75757 5 75757
00067 -1 75757 5 75757 00070 -1 75757 5 75757
V'S FENCE = 777777777777K 020 LM00028
00041 -3 77777 7 77777
E'O MDINIT. 021 LM00032
00212 TRA +0 02000 0 00215 00213 SXA +0 63400 2 01166 00214 TSX +0 07400 2 01166
OLDERR = FFERRT.(WOOPS) 022 LM00033
00215 TSX +0 07400 4 00006 00216 TXH +3 00000 0 00031 00217 STO +0 60100 0 00100
W'R (OLDERR .NE. 0), FFERRT.(OLDERR) 023 LM00034
00220 CLA +0 50000 0 00100 00221 SUB +0 40200 0 00162 00222 TZE +0 10000 0 00225 00223 TSX +0 07400 4 00006
00224 TXH +3 00000 0 00100
T'H DKL, FOR K = LDKM,1,(K.G.HDKM) 024 LM00038
00225 CLA +0 50000 0 00051 00226 STO +0 60100 0 00050 00227 TRA +0 02000 0 00233 00230 CLA +0 50000 0 00050
00231 ADD +0 40000 0 00163 00232 STO +0 60100 0 00050 00233 CLA +0 50000 0 00050 00234 SUB +0 40200 0 00045
00235 TZE +0 10000 0 00237 00236 TPL +0 12000 0 00243
TSIZ(K) = NDKT 025 LM00039
00237 LXA +0 53400 1 00050 00240 CLA +0 50000 0 00075 00241 STO +0 60100 1 00155
DKL C'E 026 LM00040
00242 TRA +0 02000 0 00230
T'H DML, FOR K = LDMM,1,(K.G.HDMM) 027 LM00041
00243 CLA +0 50000 0 00052 00244 STO +0 60100 0 00050 00245 TRA +0 02000 0 00251 00246 CLA +0 50000 0 00050
00247 ADD +0 40000 0 00163 00250 STO +0 60100 0 00050 00251 CLA +0 50000 0 00050 00252 SUB +0 40200 0 00046
00253 TZE +0 10000 0 00255 00254 TPL +0 12000 0 00261
TSIZ(K) = NDMT 028 LM00042
00255 LXA +0 53400 1 00050 00256 CLA +0 50000 0 00076 00257 STO +0 60100 1 00155
DML C'E 029 LM00043
00260 TRA +0 02000 0 00246
T'H RESET, FOR I = 0,1,(I.G.AFSTMX) 030 LM00047
00261 CLA +0 50000 0 00162 00262 STO +0 60100 0 00047 00263 TRA +0 02000 0 00267 00264 CLA +0 50000 0 00047
00265 ADD +0 40000 0 00163 00266 STO +0 60100 0 00047 00267 CLA +0 50000 0 00047 00270 SUB +0 40200 0 00033
00271 TZE +0 10000 0 00273 00272 TPL +0 12000 0 00315
W'R TRK(I) .NE. FENCE, 031 LM00048
1 FCLOSE.(TRK(I),FILE,NERR0) 031 LM00049
00273 LXA +0 53400 1 00047 00274 CLA +0 50000 1 00141 00275 SUB +0 40200 0 00041 00276 TZE +0 10000 0 00307
00277 CLA +0 50000 0 00047 00300 SUB +0 40200 0 00301 00301 TXH +3 00000 0 00141 00302 STA +0 62100 0 00304
00303 TSX +0 07400 4 00005 00304 TXH +3 00000 0 00000 00305 TXH +3 00000 0 00042 00306 TXH +3 00000 0 00023
NERR0 TRK(I) = FENCE 032 LM00050
00307 LXA +0 53400 1 00047 00310 CLA +0 50000 0 00041 00311 STO +0 60100 1 00141
TIME(I) = 0 033 LM00051
00312 CLA +0 50000 0 00162 00313 STO +0 60100 1 00124
RESET C'E 034 LM00052
00314 TRA +0 02000 0 00264
W'R FIRST 035 LM00056
00315 NZT -0 52000 0 00044 00316 TRA +0 02000 0 00327
GETBUF.(BUFF,WDSPT) 036 LM00057
00317 TSX +0 07400 4 00013 00320 TXH +3 00000 0 00035 00321 TXH +3 00000 0 00156
GETBUF.(ZBUF,WDSPT) 037 LM00058
00322 TSX +0 07400 4 00013 00323 TXH +3 00000 0 00161 00324 TXH +3 00000 0 00156
FIRST = 0B 038 LM00059
00325 CLA +0 50000 0 00162 00326 STO +0 60100 0 00044
E'L 039 LM00060
T'H LOOP0, FOR I = 1,1,(I .G. WDSPT) 040 LM00062
00327 CLA +0 50000 0 00163 00330 STO +0 60100 0 00047 00331 TRA +0 02000 0 00335 00332 CLA +0 50000 0 00047
00333 ADD +0 40000 0 00163 00334 STO +0 60100 0 00047 00335 CLA +0 50000 0 00047 00336 SUB +0 40200 0 00156
00337 TZE +0 10000 0 00341 00340 TPL +0 12000 0 00347
ZBUF(ZBUF+I) = 0 041 LM00063
00341 CLA +0 50000 0 00161 00342 ADD +0 40000 0 00047 00343 PAX +0 73400 1 00000 00344 CLA +0 50000 0 00162
00345 STO +0 60100 1 00161
LOOP0 C'E 042 LM00064
00346 TRA +0 02000 0 00332
NEWTRK = 1B 043 LM00068
00347 CLA +0 50000 0 00163 00350 STO +0 60100 0 00077
I = 1 044 LM00069
00351 CLA +0 50000 0 00163 00352 STO +0 60100 0 00047
TRKNAM = FENCE 045 LM00070
00353 CLA +0 50000 0 00041 00354 STO +0 60100 0 00126
F'N 046 LM00071
00355 TRA +0 02000 0 01207
E'O MDWRIT. 047 LM00075
00356 TRA +0 02000 0 00361 00357 SXA +0 63400 2 01166 00360 TSX +0 07400 2 01166
READSW = 0B 048 LM00076
00361 CLA +0 50000 0 00162 00362 STO +0 60100 0 00104
LINE(14) = 665760K6 049 LM00077
00363 CLA +0 50000 0 00210 00364 STO +0 60100 0 00053
T'O GO 050 LM00078
00365 TRA +0 02000 0 00022
E'O MDREAD. 051 LM00082
00366 TRA +0 02000 0 00371 00367 SXA +0 63400 2 01166 00370 TSX +0 07400 2 01166
READSW = 1B 052 LM00083
00371 CLA +0 50000 0 00163 00372 STO +0 60100 0 00104
LINE(14) = 515760K6 053 LM00084
00373 CLA +0 50000 0 00202 00374 STO +0 60100 0 00053
GO TRKADR = TRKCV.(TRACK) 054 LM00088
00375 TSX +0 07400 4 00020 00376 TXH +3 00000 0 00024 00377 STO +0 60100 0 00125
W'R CKTRK.(TRKADR), T'O TRKERR 055 LM00089
00400 TSX +0 07400 4 00017 00401 TXH +3 00000 0 00125 00402 TZE +0 10000 0 00404 00403 TRA +0 02000 0 00024
W'R (TRKADR .NE. TRKNAM) 056 LM00090
00404 CLA +0 50000 0 00125 00405 SUB +0 40200 0 00126 00406 TZE +0 10000 0 00414
NEWTRK = 1B 057 LM00091
00407 CLA +0 50000 0 00163 00410 STO +0 60100 0 00077
TRKNAM = TRKADR 058 LM00092
00411 CLA +0 50000 0 00125 00412 STO +0 60100 0 00126
O'E 059 LM00093
00413 TRA +0 02000 0 00416
NEWTRK = 0B 060 LM00094
00414 CLA +0 50000 0 00162 00415 STO +0 60100 0 00077
E'L 061 LM00095
FILNAM = TRKADR .A. 77777777K4 062 LM00096
00416 CAL -0 50000 0 00125 00417 ANA -0 32000 0 00211 00420 SLW +0 60200 0 00043
TIME = TIME + 1 063 LM00097
00421 CLA +0 50000 0 00124 00422 ADD +0 40000 0 00163 00423 STO +0 60100 0 00124
REL = RL + 1 064 LM00101
00424 CLA +0 50000 0 00024 00425 ADD +0 40000 0 00163 00426 STO +0 60100 0 00106
CT = COUNT 065 LM00102
00427 CLA +0 50000 0 00024 00430 STO +0 60100 0 00036
W'R ((KEYS.(0).A.2K11) .NE. 0) 066 LM00106
00431 TSX +0 07400 4 00015 00432 TXH +3 00000 0 00162 00433 STO +0 60100 0 01213 00434 CAL -0 50000 0 01213
00435 ANA -0 32000 0 00177 00436 SLW +0 60200 0 01213 00437 CLA +0 50000 0 01213 00440 SUB +0 40200 0 00162
00441 TZE +0 10000 0 00505
W'R NEWTRK 067 LM00107
00442 NZT -0 52000 0 00077 00443 TRA +0 02000 0 00452
LINE(11) = TRKADR 068 LM00108
00444 CLA +0 50000 0 00125 00445 STO +0 60100 0 00056
LINE(12) = 575757575760K 069 LM00109
00446 CLA +0 50000 0 00205 00447 STO +0 60100 0 00055
T'O NEWREL 070 LM00110
00450 TRA +0 02000 0 00025
O'E 071 LM00111
00451 TRA +0 02000 0 00472
LINE(11) = 575757575757K 072 LM00112
00452 CLA +0 50000 0 00204 00453 STO +0 60100 0 00056
LINE(12) = 575757575757K 073 LM00113
00454 CLA +0 50000 0 00204 00455 STO +0 60100 0 00055
W'R REL .NE. OLDREL 074 LM00114
00456 CLA +0 50000 0 00106 00457 SUB +0 40200 0 00102 00460 TZE +0 10000 0 00470
NEWREL LINE(13) = DEFBC.(REL).V.575760K6 075 LM00115
00461 TSX +0 07400 4 00001 00462 TXH +3 00000 0 00106 00463 STO +0 60100 0 01213 00464 CAL -0 50000 0 01213
00465 ORA -0 50100 0 00206 00466 SLW +0 60200 0 00054
O'E 076 LM00116
00467 TRA +0 02000 0 00472
LINE(13) = 575757575757K 077 LM00117
00470 CLA +0 50000 0 00204 00471 STO +0 60100 0 00054
E'L 078 LM00118
E'L 079 LM00119
LINE(14) = LINE(14) .V. DEFBC.(CT) 080 LM00120
00472 TSX +0 07400 4 00001 00473 TXH +3 00000 0 00036 00474 STO +0 60100 0 01213 00475 CAL -0 50000 0 00053
00476 ORA -0 50100 0 01213 00477 SLW +0 60200 0 00053
OLDREL = REL + CT 081 LM00121
00500 CLA +0 50000 0 00106 00501 ADD +0 40000 0 00036 00502 STO +0 60100 0 00102
WRITE6.(LINE(14)...4) 082 LM00122
00503 TSX +0 07400 4 00016 00504 TIX +2 00166 0 00053
E'L 083 LM00123
W'R TRK(I) .E. FILNAM 084 LM00127
00505 LXA +0 53400 1 00047 00506 CLA +0 50000 1 00141 00507 SUB +0 40200 0 00043 00510 TNZ -0 10000 0 00513
T'O OPEND 085 LM00128
00511 TRA +0 02000 0 00026
O'E 086 LM00129
00512 TRA +0 02000 0 00577
OLDEST = TIME 087 LM00130
00513 CLA +0 50000 0 00124 00514 STO +0 60100 0 00101
SLOT = 0 088 LM00131
00515 CLA +0 50000 0 00162 00516 STO +0 60100 0 00110
BUFFED = 0B 089 LM00132
00517 CLA +0 50000 0 00162 00520 STO +0 60100 0 00034
FBUFFE.(TRK(I),FILE,BUFF...0,NERR1) 090 LM00133
00521 CLA +0 50000 0 00047 00522 SUB +0 40200 0 00523 00523 TXH +3 00000 0 00141 00524 STA +0 62100 0 00526
00525 TSX +0 07400 4 00004 00526 TXH +3 00000 0 00000 00527 TXH +3 00000 0 00042 00530 TIX +2 00162 0 00035
00531 TXH +3 00000 0 00024
NERR1 T'H LOOP1, FOR I = 1,1,(I.G.AFSTMX) 091 LM00134
00532 CLA +0 50000 0 00163 00533 STO +0 60100 0 00047 00534 TRA +0 02000 0 00540 00535 CLA +0 50000 0 00047
00536 ADD +0 40000 0 00163 00537 STO +0 60100 0 00047 00540 CLA +0 50000 0 00047 00541 SUB +0 40200 0 00033
00542 TZE +0 10000 0 00544 00543 TPL +0 12000 0 00577
W'R TRK(I) .E. FILNAM 092 LM00135
00544 LXA +0 53400 1 00047 00545 CLA +0 50000 1 00141 00546 SUB +0 40200 0 00043 00547 TNZ -0 10000 0 00552
T'O OPEND 093 LM00136
00550 TRA +0 02000 0 00026
O'R (TRK(I).E.FENCE) .AND. (SLOT.E.0) 094 LM00137
00551 TRA +0 02000 0 00576 00552 CLA +0 50000 0 00110 00553 SUB +0 40200 0 00162 00554 TNZ -0 10000 0 00564
00555 LXA +0 53400 1 00047 00556 CLA +0 50000 1 00141 00557 SUB +0 40200 0 00041 00560 TNZ -0 10000 0 00564
SLOT = I 095 LM00138
00561 CLA +0 50000 0 00047 00562 STO +0 60100 0 00110
O'R TIME(I) .L. OLDEST 096 LM00139
00563 TRA +0 02000 0 00576 00564 LXA +0 53400 1 00047 00565 CLA +0 50000 1 00124 00566 SUB +0 40200 0 00101
00567 TZE +0 10000 0 00576 00570 TPL +0 12000 0 00576
OLDEST = TIME(I) 097 LM00140
00571 LXA +0 53400 2 00047 00572 CLA +0 50000 2 00124 00573 STO +0 60100 0 00101
PTR = I 098 LM00141
00574 CLA +0 50000 0 00047 00575 STO +0 60100 0 00103
E'L 099 LM00142
LOOP1 C'E 100 LM00143
00576 TRA +0 02000 0 00535
E'L 101 LM00144
W'R SLOT .NE. 0 102 LM00148
00577 CLA +0 50000 0 00110 00600 SUB +0 40200 0 00162 00601 TZE +0 10000 0 00605
I = SLOT 103 LM00149
00602 CLA +0 50000 0 00110 00603 STO +0 60100 0 00047
O'E 104 LM00153
00604 TRA +0 02000 0 00617
I = PTR 105 LM00154
00605 CLA +0 50000 0 00103 00606 STO +0 60100 0 00047
FCLOSE.(TRK(I),FILE,WOOPS) 106 LM00155
00607 CLA +0 50000 0 00047 00610 SUB +0 40200 0 00611 00611 TXH +3 00000 0 00141 00612 STA +0 62100 0 00614
00613 TSX +0 07400 4 00005 00614 TXH +3 00000 0 00000 00615 TXH +3 00000 0 00042 00616 TXH +3 00000 0 00031
E'L 107 LM00156
FOPEN.($RW$,FILNAM,FILE,1,2,WOOPS) 108 LM00157
00617 TSX +0 07400 4 00007 00620 TXH +3 00000 0 00203 00621 TXH +3 00000 0 00043 00622 TXH +3 00000 0 00042
00623 TXH +3 00000 0 00163 00624 TXH +3 00000 0 00164 00625 TXH +3 00000 0 00031
TRK(I) = FILNAM 109 LM00158
00626 LXA +0 53400 1 00047 00627 CLA +0 50000 0 00043 00630 STO +0 60100 1 00141
OPEND TIME(I) = TIME 110 LM00162
00631 LXA +0 53400 1 00047 00632 CLA +0 50000 0 00124 00633 STO +0 60100 1 00124
TADD = ((TRKADR.A.7700K).RS.6) 111 LM00166
00634 CAL -0 50000 0 00125 00635 ANA -0 32000 0 00174 00636 SLW +0 60200 0 01213 00637 CAL -0 50000 0 00167
00640 STA +0 62100 0 00642 00641 CAL -0 50000 0 01213 00642 LGR -0 76500 0 00000 00643 SLW +0 60200 0 00111
LREC = (TRKADR.A.77K) * WDSPT * 10 112 LM00167
00644 CAL -0 50000 0 00125 00645 ANA -0 32000 0 00172 00646 SLW +0 60200 0 01213 00647 LDQ +0 56000 0 01213
00650 MPY +0 20000 0 00156 00651 MPY +0 20000 0 00170 00652 STQ -0 60000 0 00072
RELLOC = TADD * WDSPT + LREC + REL 113 LM00168
00653 LDQ +0 56000 0 00111 00654 MPY +0 20000 0 00156 00655 XCA +0 13100 0 00000 00656 ADD +0 40000 0 00072
00657 ADD +0 40000 0 00106 00660 STO +0 60100 0 00105
W'R .NOT. BUFFED 114 LM00172
00661 ZET +0 52000 0 00034 00662 TRA +0 02000 0 00677
BUFFED = 1B 115 LM00173
00663 CLA +0 50000 0 00163 00664 STO +0 60100 0 00034
FBUFFE.(FILNAM,FILE,BUFF(BUFF+432)...432,WOOPS) 116 LM00174
00665 CLA +0 50000 0 00035 00666 ADD +0 40000 0 00173 00667 SUB +0 40200 0 00670 00670 TXH +3 00000 0 00035
00671 STA +0 62100 0 00675 00672 TSX +0 07400 4 00004 00673 TXH +3 00000 0 00043 00674 TXH +3 00000 0 00042
00675 TIX +2 00173 0 00000 00676 TXH +3 00000 0 00031
E'L 117 LM00175
W'R READSW 118 LM00179
00677 NZT -0 52000 0 00104 00700 TRA +0 02000 0 00712
FRDWAI.(FILNAM,FILE,RELLOC,B...CT,REOF,MZE,WOOPS) 119 LM00180
00701 TSX +0 07400 4 00010 00702 TXH +3 00000 0 00043 00703 TXH +3 00000 0 00042 00704 TXH +3 00000 0 00105
00705 TIX +2 00036 0 00024 00706 TXH +3 00000 0 00027 00707 TXH +3 00000 0 00074 00710 TXH +3 00000 0 00031
O'E 120 LM00181
00711 TRA +0 02000 0 00741
WRITE W'R NEWTRK 121 LM00182
00712 NZT -0 52000 0 00077 00713 TRA +0 02000 0 00731
FWRFIL.(FILNAM,FILE,RELLOC, 122 LM00183
1 ZBUF(ZBUF+WDSPT)...WDSPT,WEOF,MZE,WOOPS) 122 LM00184
00714 CLA +0 50000 0 00161 00715 ADD +0 40000 0 00156 00716 SUB +0 40200 0 00717 00717 TXH +3 00000 0 00161
00720 STA +0 62100 0 00725 00721 TSX +0 07400 4 00011 00722 TXH +3 00000 0 00043 00723 TXH +3 00000 0 00042
00724 TXH +3 00000 0 00105 00725 TIX +2 00156 0 00000 00726 TXH +3 00000 0 00030 00727 TXH +3 00000 0 00074
00730 TXH +3 00000 0 00031
E'L 123 LM00185
FWRWAI.(FILNAM,FILE,RELLOC,B...CT,WEOF,MZE,WOOPS) 124 LM00186
00731 TSX +0 07400 4 00012 00732 TXH +3 00000 0 00043 00733 TXH +3 00000 0 00042 00734 TXH +3 00000 0 00105
00735 TIX +2 00036 0 00024 00736 TXH +3 00000 0 00030 00737 TXH +3 00000 0 00074 00740 TXH +3 00000 0 00031
E'L 125 LM00187
F'N 126 LM00191
00741 TRA +0 02000 0 01207
E'O MDWAIT. 127 LM00195
00742 TRA +0 02000 0 00745 00743 SXA +0 63400 2 01166 00744 TSX +0 07400 2 01166
W'R .NOT. ERRSW, F'N 128 LM00196
00745 ZET +0 52000 0 00040 00746 TRA +0 02000 0 00750 00747 TRA +0 02000 0 01207
B = ERCODE 129 LM00197
00750 CLA +0 50000 0 00037 00751 STO +0 60100 0 00024
ERRSW = 0B 130 LM00198
00752 CLA +0 50000 0 00162 00753 STO +0 60100 0 00040
T'O TRKERR 131 LM00199
00754 TRA +0 02000 0 00024
WOOPS HALT. 132 LM00203
00755 TSX +0 07400 4 00014
DORMNT. 133 LM00204
00756 TSX +0 07400 4 00002
REOF ERRSW = 1B 134 LM00208
00757 CLA +0 50000 0 00163 00760 STO +0 60100 0 00040
ERCODE = 2 135 LM00209
00761 CLA +0 50000 0 00164 00762 STO +0 60100 0 00037
F'N 136 LM00210
00763 TRA +0 02000 0 01207
WEOF FWRFIL.(FILNAM,FILE,0,ZBUF(ZBUF+WDSPT)...WDSPT,MZE,MZE,WOOPS) 137 LM00214
00764 CLA +0 50000 0 00161 00765 ADD +0 40000 0 00156 00766 SUB +0 40200 0 00767 00767 TXH +3 00000 0 00161
00770 STA +0 62100 0 00775 00771 TSX +0 07400 4 00011 00772 TXH +3 00000 0 00043 00773 TXH +3 00000 0 00042
00774 TXH +3 00000 0 00162 00775 TIX +2 00156 0 00000 00776 TXH +3 00000 0 00074 00777 TXH +3 00000 0 00074
01000 TXH +3 00000 0 00031
T'O WRITE 138 LM00215
01001 TRA +0 02000 0 00032
INTERNAL FUNCTION (A) 139 LM00219
01002 TRA +0 02000 0 01052
E'O TRKCV. 140 LM00220
01003 TRA +0 02000 0 01006 00020 TTR +0 02100 0 01004 01004 SXA +0 63400 2 01037 01005 TSX +0 07400 2 01037
X = A 141 LM00221
01006 CLA +0 50000 0 00024 01007 STO +0 60100 0 00157
Y = (X+$666666$) .A. $++++++$ 142 LM00222
01010 CLA +0 50000 0 00157 01011 ADD +0 40000 0 00176 01012 STO +0 60100 0 01051 01013 CAL -0 50000 0 01051
01014 ANA -0 32000 0 00200 01015 SLW +0 60200 0 00160
F'N X .A. .N.(Y.RS.1) .A. .N.(Y.RS.3) 143 LM00223
01016 CAL -0 50000 0 00165 01017 STA +0 62100 0 01021 01020 CAL -0 50000 0 00160 01021 LGR -0 76500 0 00000
01022 COM +0 76000 0 00006 01023 SLW +0 60200 0 01051 01024 CAL -0 50000 0 00163 01025 STA +0 62100 0 01027
01026 CAL -0 50000 0 00160 01027 LGR -0 76500 0 00000 01030 COM +0 76000 0 00006 01031 ANA -0 32000 0 00157
01032 ANA -0 32000 0 01051 01033 SLW +0 60200 0 01051 01034 CLA +0 50000 0 01051 01035 TRA +0 02000 0 01045
E'N 144 LM00224
01036 TSX +0 07400 4 00003 01037 TXH +3 00000 0 00000 01040 SXD -0 63400 1 01037 01041 SXA +0 63400 4 01045
01042 CLA +0 50000 4 00001 01043 STA +0 62100 0 01006 01044 TRA +0 02000 2 00001 01045 AXT +0 77400 4 00000
01046 LXA +0 53400 2 01037 01047 LXD -0 53400 1 01037 01050 TRA +0 02000 4 00001
INTERNAL FUNCTION (A) 145 LM00228
01052 TRA +0 02000 0 01165
E'O CKTRK. 146 LM00229
01053 TRA +0 02000 0 01056 00017 TTR +0 02100 0 01054 01054 SXA +0 63400 2 01152 01055 TSX +0 07400 2 01152
X = A 147 LM00230
01056 CLA +0 50000 0 00024 01057 STO +0 60100 0 00157
W'R ((X.A.$ $) .NE. 0), F'N 1B 148 LM00232
01060 CAL -0 50000 0 00157 01061 ANA -0 32000 0 00207 01062 SLW +0 60200 0 01164 01063 CLA +0 50000 0 01164
01064 SUB +0 40200 0 00162 01065 TZE +0 10000 0 01070 01066 CLA +0 50000 0 00163 01067 TRA +0 02000 0 01160
R = X .A. 77K 149 LM00233
01070 CAL -0 50000 0 00157 01071 ANA -0 32000 0 00172 01072 SLW +0 60200 0 00107
T = BCDEC.((X.RS.6) .A. 77777777K) 150 LM00234
01073 CAL -0 50000 0 00167 01074 STA +0 62100 0 01076 01075 CAL -0 50000 0 00157 01076 LGR -0 76500 0 00000
01077 ANA -0 32000 0 00175 01100 SLW +0 60200 0 01164 01101 TSX +0 07400 4 00000 01102 TXH +3 00000 0 01164
01103 STO +0 60100 0 00142
M = (X.RS.30) .A. 77K 151 LM00235
01104 CAL -0 50000 0 00171 01105 STA +0 62100 0 01107 01106 CAL -0 50000 0 00157 01107 LGR -0 76500 0 00000
01110 ANA -0 32000 0 00172 01111 SLW +0 60200 0 00073
W'R (M.L.LDKM) .OR. (M.G.HDKM .AND. M.L.LDMM) .OR. 152 LM00237
1 (M.G.HDMM), F'N 1B 152 LM00238
01112 CLA +0 50000 0 00073 01113 SUB +0 40200 0 00046 01114 TZE +0 10000 0 01116 01115 TPL +0 12000 0 01132
01116 CLA +0 50000 0 00073 01117 SUB +0 40200 0 00052 01120 TZE +0 10000 0 01126 01121 TPL +0 12000 0 01126
01122 CLA +0 50000 0 00073 01123 SUB +0 40200 0 00045 01124 TZE +0 10000 0 01126 01125 TPL +0 12000 0 01132
01126 CLA +0 50000 0 00073 01127 SUB +0 40200 0 00051 01130 TZE +0 10000 0 01134 01131 TPL +0 12000 0 01134
01132 CLA +0 50000 0 00163 01133 TRA +0 02000 0 01160
W'R (R.G.1) .OR. (T.G.TSIZ(M)), F'N 1B 153 LM00239
01134 LXA +0 53400 2 00073 01135 CLA +0 50000 0 00142 01136 SUB +0 40200 2 00155 01137 TZE +0 10000 0 01141
01140 TPL +0 12000 0 01145 01141 CLA +0 50000 0 00107 01142 SUB +0 40200 0 00163 01143 TZE +0 10000 0 01147
01144 TMI -0 12000 0 01147 01145 CLA +0 50000 0 00163 01146 TRA +0 02000 0 01160
F'N 0B 154 LM00240
01147 CLA +0 50000 0 00162 01150 TRA +0 02000 0 01160
E'N 155 LM00241
01151 TSX +0 07400 4 00003 01152 TXH +3 00000 0 00000 01153 SXD -0 63400 1 01152 01154 SXA +0 63400 4 01160
01155 CLA +0 50000 4 00001 01156 STA +0 62100 0 01056 01157 TRA +0 02000 2 00001 01160 AXT +0 77400 4 00000
01161 LXA +0 53400 2 01152 01162 LXD -0 53400 1 01152 01163 TRA +0 02000 4 00001
E'N 156 LM00243
01165 TSX +0 07400 4 00003 01166 TXH +3 00000 0 00000 01167 SXD -0 63400 1 01166 01170 SXA +0 63400 4 01207
01171 CLA +0 50000 4 00001 01172 STA +0 62100 0 00403 01173 STA +0 62100 0 00754 01174 CLA +0 50000 4 00002
01175 STA +0 62100 0 00705 01176 STA +0 62100 0 00735 01177 STA +0 62100 0 00751 01200 CLA +0 50000 4 00003
01201 STA +0 62100 0 00427 01202 CLA +0 50000 4 00004 01203 STA +0 62100 0 00424 01204 CLA +0 50000 4 00005
01205 STO +0 60100 0 00376 01206 TRA +0 02000 2 00001 01207 AXT +0 77400 4 00000 01210 LXA +0 53400 2 01166
01211 LXD -0 53400 1 01166 01212 TRA +0 02000 4 00001
TRAC BCD 06/06/68 2358.0 785 00000
1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 1
D.R. WIDRIG MAY 1966
00006 ENTRY TRAC TO TRACE SEARCH MODULE CALLS
EXTERN KEYS,OCABC,WRIT6A,WRITE6
TRANSFER VECTOR
00000 422570626060 KEYS
00001 462321222360 OCABC
00002 665131630621 WRIT6A
00003 665131632506 WRITE6
LINKAGE DIRECTOR
00004 000000000000
00005 635121236060
00006 0621 00 0 00041 TRAC STA RETV SAVE AC ADDRESS
00007 0131 00 0 00000 XCA SAVE AC IN MQ
00010 0522 60 0 00000 XEC* KEYS LOAD UP WITH SIMULATED KEY SETTING
00011 0131 00 0 00000 XCA RESTORE AC
00012 0162 00 7 00002 TQP 2,7 IF CONSOLE SIGN KEY NOT DOWN, EXIT
00013 0636 00 4 00034 SCA TRACX4,4 ZERO, DO A TRACE
00014 0602 00 0 00043 SLW ACSAV SAVE AC
00015 0074 00 4 00001 TSX OCABC,4 CONVERT AC ADDRESS
00016 3 00000 0 00041 PTH RETV WHICH WAS SAVED
00017 -0501 00 0 00044 ORA =H,00000 ADD PUNCTUATION
00020 0602 00 0 00041 SLW RETV SAVE RESULT
00021 0535 00 4 00034 LAC TRACX4,4 RESTORE CALLER'S IR4
00022 -0500 00 7 00001 CAL 1,7 GET ARGUMENT TO TRACER
00023 0602 00 0 00037 SLW NAME PLANT IN BCD NAME
00024 -0500 60 4 00001 CAL* 1,4 GET MODE OF CALL
00025 0621 00 0 00040 STA MODE PLANT IT.. CAREFUL..
00026 -0500 00 4 00002 CAL 2,4 FIND OUT DESIRED ENTRY FOR CALL
00027 0621 00 0 00033 STA IO2 WE WANT TO PRINT IT
00030 0074 00 4 00002 TSX WRIT6A,4 PRINT HEADER INFO
00031 0 00004 0 00037 NAME,,4 ..
00032 0074 00 4 00003 TSX WRITE6,4 NOW PRINT ENTRY STUFF
00033 0 00005 0 00000 IO2 **,,5 ..
00034 -0774 00 4 00000 TRACX4 AXC **,4 RESTORE CALLER'S IR4
00035 -0500 00 0 00043 CAL ACSAV RESTORE AC
00036 0020 00 7 00002 TRA 2,7 RETURN FROM TRACE
1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 2
D.R. WIDRIG MAY 1966
00037 NAME BSS 1 NAME OF CALLER TO TRACE
00040 736060600000 MODE BCI 1,, 00 MODE OF CALL
00041 730000000000 RETV BCI 1,,00000 AC ADDRESS
00042 -205757575757 OCT 605757575757 ONE SPACE
00043 ACSAV BSS 1 STORAGE FOR LOGICAL AC
END
LITERALS
00044 730000000000
1 TRACE ROUTINE FOR SEARCH MODULES ON PSEUDO-FILE SYSTEM PAGE 1
POST PROCESSOR ASSEMBLY DATA
45 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
33 IO2 27
0 KEYS 10
40 MODE 25
37 NAME 23, 31
41 RETV 6, 16, 20
6 TRAC 0
43 ACSAV 14, 35
1 OCABC 15
34 TRACX4 13, 21
2 WRIT6A 30
3 WRITE6 32
0 NO ERROR IN ABOVE ASSEMBLY.
SUPCAL BCD 06/06/68 2358.0 1206 00000
1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 1
D.R. WIDRIG MAY 1966
00002 ENTRY FUPDMF
00003 ENTRY FDELMF
00004 ENTRY FATTAC
00005 ENTRY FATTNA
00006 ENTRY FUPDAT
00007 ENTRY FSETPR
00010 ENTRY FOPEN
00011 ENTRY FBUFFE
00012 ENTRY FRDFIL
00013 ENTRY FRDWAI
00014 ENTRY FWRFIL
00015 ENTRY FWRWAI
00016 ENTRY FTRFIL
00017 ENTRY FFCHEC
00020 ENTRY FFWAIT
00021 ENTRY FCLOSE
00022 ENTRY FRESET
00023 ENTRY FCHFIL
00024 ENTRY FDELFI
00025 ENTRY FFSTAT
00026 ENTRY FMOVFI
00027 ENTRY FSETFI
00030 ENTRY FLINK
00031 ENTRY FUNLIN
00032 ENTRY FSTORG
00033 ENTRY FMOUNT
00034 ENTRY FUMOUN
00035 ENTRY FVERIF
00036 ENTRY FLABEL
00037 ENTRY FTAPFI
00040 ENTRY FIODIA
00041 ENTRY FFERRT
00042 ENTRY FTILOC
LINKAGE DIRECTOR
00000 000000000000
00001 266447244426
00002 0101 00 0 00100 FUPDMF TIA =HUPDMFD
00003 0101 00 0 00051 FDELMF TIA =HDELMFD
00004 0101 00 0 00043 FATTAC TIA =HATTACH
00005 0101 00 0 00044 FATTNA TIA =HATTNAM
00006 0101 00 0 00077 FUPDAT TIA =HUPDATE
00007 0101 00 0 00070 FSETPR TIA =HSETPRI
00010 0101 00 0 00063 FOPEN TIA =HOPEN
00011 0101 00 0 00045 FBUFFE TIA =HBUFFER
00012 0101 00 0 00064 FRDFIL TIA =HRDFILE
00013 0101 00 0 00065 FRDWAI TIA =HRDWAIT
00014 0101 00 0 00102 FWRFIL TIA =HWRFILE
00015 0101 00 0 00103 FWRWAI TIA =HWRWAIT
00016 0101 00 0 00074 FTRFIL TIA =HTRFILE
00017 0101 00 0 00052 FFCHEC TIA =HFCHECK
00020 0101 00 0 00055 FFWAIT TIA =HFWAIT
00021 0101 00 0 00047 FCLOSE TIA =HCLOSE
00022 0101 00 0 00066 FRESET TIA =HRESETF
1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 2
D.R. WIDRIG MAY 1966
00023 0101 00 0 00046 FCHFIL TIA =HCHFILE
00024 0101 00 0 00050 FDELFI TIA =HDELFIL
00025 0101 00 0 00054 FFSTAT TIA =HFSTATE
00026 0101 00 0 00062 FMOVFI TIA =HMOVFIL
00027 0101 00 0 00067 FSETFI TIA =HSETFIL
00030 0101 00 0 00060 FLINK TIA =HLINK
00031 0101 00 0 00076 FUNLIN TIA =HUNLINK
00032 0101 00 0 00071 FSTORG TIA =HSTORGE
00033 0101 00 0 00061 FMOUNT TIA =HMOUNT
00034 0101 00 0 00075 FUMOUN TIA =HUMOUNT
00035 0101 00 0 00101 FVERIF TIA =HVERIFY
00036 0101 00 0 00057 FLABEL TIA =HLABEL
00037 0101 00 0 00072 FTAPFI TIA =HTAPFIL
00040 0101 00 0 00056 FIODIA TIA =HIODIAG
00041 0101 00 0 00053 FFERRT TIA =HFERRTN
00042 0101 00 0 00073 FTILOC TIA =HTILOCK
END
LITERALS
00043 216363212330
00044 216363452144
00045 226426262551
00046 233026314325
00047 234346622560
00050 242543263143
00051 242543442624
00052 262330252342
00053 262551516345
00054 266263216325
00055 266621316360
00056 314624312127
00057 432122254360
00060 433145426060
00061 444664456360
00062 444665263143
00063 464725456060
00064 512426314325
00065 512466213163
00066 512562256326
00067 622563263143
00070 622563475131
00071 626346512725
00072 632147263143
00073 633143462342
00074 635126314325
00075 644446644563
00076 644543314542
00077 644724216325
00100 644724442624
00101 652551312670
00102 665126314325
00103 665166213163
1 TIA LIBRARY FOR FILE SYSTEM SIMULATOR PAGE 1
POST PROCESSOR ASSEMBLY DATA
104 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
30 FLINK 0
10 FOPEN 0
4 FATTAC 0
5 FATTNA 0
11 FBUFFE 0
23 FCHFIL 0
21 FCLOSE 0
24 FDELFI 0
3 FDELMF 0
17 FFCHEC 0
41 FFERRT 0
25 FFSTAT 0
20 FFWAIT 0
40 FIODIA 0
36 FLABEL 0
33 FMOUNT 0
26 FMOVFI 0
12 FRDFIL 0
13 FRDWAI 0
22 FRESET 0
27 FSETFI 0
7 FSETPR 0
32 FSTORG 0
37 FTAPFI 0
42 FTILOC 0
16 FTRFIL 0
34 FUMOUN 0
31 FUNLIN 0
6 FUPDAT 0
2 FUPDMF 0
35 FVERIF 0
14 FWRFIL 0
15 FWRWAI 0
0 NO ERROR IN ABOVE ASSEMBLY.
FPRNTE BCD 06/06/68 2358.0 966 00000
1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 1
D.R. WIDRIG OCTOBER 1966
00007 ENTRY FPRNTE TO GET 'PRNTER'-LIKE COMMENT
EXTERN OCABC,DEFBC
EXTERN WRITE6,RED,BLACK
TRANSFER VECTOR
00000 462321222360 OCABC
00001 242526222360 DEFBC
00002 665131632506 WRITE6
00003 512524606060 RED
00004 224321234260 BLACK
LINKAGE DIRECTOR
00005 000000000000
00006 264751456325
00007 0636 00 4 00043 FPRNTE SCA FPRX4,4 SAVE LINKAGE
00010 0074 00 4 00057 TSX IODIAG,4 GET ERROR INFO FROM SUPERVISOR
00011 3 00007 0 00047 PTH BUFF,,7 ..
00012 0074 00 4 00000 TSX OCABC,4 CONVERT ADDRESS OF ERROR LOC
00013 3 00000 0 00047 PTH BUFF ..
00014 0767 00 0 00006 ALS 6 POSITION BCD RESULT
00015 -0501 00 0 00060 ORA =H00000 INSERT TRAILING BLANK
00016 0602 00 0 00047 SLW BUFF SAVE RESULT IN OUTPUT LINE
00017 0074 00 4 00001 TSX DEFBC,4 GET ERROR CODE CONVERTED
00020 3 00000 0 00051 PTH BUFF+2 ..
00021 -0501 00 0 00064 ORA =O575760000000 REDUCE TO THREE DIGITS
00022 0602 00 0 00051 SLW BUFF+2 SAVE RESULT
00023 0074 00 4 00001 TSX DEFBC,4 CONVERT I/O ERROR CODE
00024 3 00000 0 00052 PTH BUFF+3 ..
00025 0767 00 0 00006 ALS 6 POSITION ANSWER
00026 -0501 00 0 00063 ORA =O575757600060 REDUCE TO ONE DIGIT
00027 0602 00 0 00052 SLW BUFF+3 SAVE RESULT
00030 0074 00 4 00000 TSX OCABC,4 CONVERT FILE SYSTEM LOCATION
00031 3 00000 0 00055 PTH BUFF+6 ..
00032 0601 00 0 00056 STO BUFF+7 SAVE RESULT
00033 -0500 00 0 00054 CAL BUFF+5 GET 'NAME2' OF FILE IN ERROR
00034 0602 00 0 00055 SLW BUFF+6 MOVE TO NEW SLOT
00035 -0500 00 0 00062 CAL =O575757575760 GET SINGLE BLANK
00036 0602 00 0 00054 SLW BUFF+5 SLIP BETWEEN 'NAME1' AND 'NAME2'
00037 0074 00 4 00003 TSX RED,4 THIS IS SERIOUS STUFF
00040 0074 00 4 00002 TSX WRITE6,4 OUTPUT LINE
00041 0 00012 0 00045 SIMERR,,10 ..
00042 0074 00 4 00004 TSX BLACK,4 RETURN TO NORMAL
1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 2
D.R. WIDRIG OCTOBER 1966
00043 -0774 00 4 00000 FPRX4 AXC **,4 RESTORE LINKAGE
00044 0020 00 4 00001 TRA 1,4 RETURN TO CALLER
1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 3
D.R. WIDRIG OCTOBER 1966
DATA AND WORK AREAS, ETC.
00045 623144602551 SIMERR BCI ,SIM ERROR
00046 514651606060
00047 606060606060
00050 606060606060
00051 606060606060
00052 606060606060
00053 606060606060
00054 606060606060
00055 606060606060
00056 606060606060
00047 BUFF EQU SIMERR+2
00057 0101 00 0 00061 IODIAG TIA =HIODIAG
END
LITERALS
00060 000000000060
00061 314624312127
00062 575757575760
00063 575757600060
00064 575760000000
1 SHORT 'PRNTER'-LIKE PROGRAM FOR SIMULATED FILE SYSTEM PAGE 1
POST PROCESSOR ASSEMBLY DATA
65 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
3 RED 37
47 BUFF 11, 13, 16, 20, 22, 24, 27, 31, 32, 33, 34, 36, 57
4 BLACK 42
1 DEFBC 17, 23
43 FPRX4 7
0 OCABC 12, 30
7 FPRNTE 0
57 IODIAG 10
45 SIMERR 41, 57
2 WRITE6 40
0 NO ERROR IN ABOVE ASSEMBLY.
EXITSM BCD 10/12/70 1531.6 1123 00000
1 FAP 09/05/69 037.2 PAGE 1
* FAP
*EXIT FOR TIME SHARING MOD XI FOREGROUND LIBRARY JDH
SAVES MACHINE CONDITIONS
CLOSES OUT ACTIVE FILES IN (FTB) DIRECTORY
CLOSES OUT OTHER ACTIVE FILES
00010 ENTRY EXIT
00010 ENTRY CLKOUT
00053 ENTRY DUMP
00010 ENTRY ENDJOB
00056 ENTRY EXITM
00050 ENTRY PDUMP
TRANSFER VECTOR
00000 665126436760 WRFLX
00001 222623434662 BFCLOS
00002 234346622560 CLOSE
00003 244651444563 DORMNT
00004 233045234644 CHNCOM
00005 242521246060 DEAD
LINKAGE DIRECTOR
00006 000000000000
00007 256731636060
00010 -0600 00 0 00061 EXIT STQ MQ
00011 0560 00 0 00073 LDQ EXNAM
00012 0634 00 4 00043 GO SXA EX4,4
00013 0634 00 2 00042 SXA EX2,2
00014 0634 00 1 00041 SXA EX1,1
00015 -0600 00 0 00065 STQ MESS
00016 0602 00 0 00062 SLW AC
00017 0771 00 0 00002 ARS 2
00020 0601 00 0 00063 STO ACSQ
00021 0604 00 0 00064 STI SVSI
00022 0074 00 4 00000 TSX $WRFLX,4
00023 -0 00006 0 00065 MZE MESS,,6
00024 0074 00 4 00001 TSX $BFCLOS,4 CLOSE ACTIVE FILES FROM (FTB) TABLE
00025 3 00000 0 00107 PTH =H ALL
00026 3 00000 0 00106 PTH =-0
00027 3 00000 0 00030 PTH *+1
00030 0074 00 4 00002 TSX $CLOSE,4
00031 3 00000 0 00107 PTH =H ALL CLOSE ANY OTHER ACTIVE FILES
00032 3 00000 0 00106 PTH =-0
00033 3 00000 0 00034 PTH *+1
00034 0560 00 0 00061 LDQ MQ
00035 0500 00 0 00063 CLA ACSQ
00036 0767 00 0 00002 ALS 2
00037 -0501 00 0 00062 ORA AC
00040 0441 00 0 00064 LDI SVSI
00041 0774 00 1 00000 EX1 AXT **,1
00042 0774 00 2 00000 EX2 AXT **,2
00043 0774 00 4 00000 EX4 AXT **,4
00044 0074 00 4 00003 TSX $DORMNT,4
1 FAP 09/05/69 037.2 PAGE 2
00045 -0754 00 0 00000 ZAC
00046 0074 00 4 00004 TSX $CHNCOM,4
00047 3 00000 0 00105 PAR =0
00010 CLKOUT SYN EXIT
00010 ENDJOB SYN EXIT
00050 -0600 00 0 00061 PDUMP STQ MQ
00051 0560 00 0 00075 LDQ PDNAM
00052 0020 00 0 00012 TRA GO
00053 -0600 00 0 00061 DUMP STQ MQ
00054 0560 00 0 00076 LDQ DPNAM
00055 0020 00 0 00012 TRA GO
00056 0074 00 4 00000 EXITM TSX $WRFLX,4
00057 -0 00004 0 00077 MZE EXMMES,,4
00060 0074 00 4 00005 TSX $DEAD,4
00061 0 00000 0 00000 MQ PZE
00062 0 00000 0 00000 AC PZE
00063 0 00000 0 00000 ACSQ PZE
00064 0 00000 0 00000 SVSI PZE
00065 606060606060 MESS BCI 6, CALLED. PM MAY BE TAKEN.
00066 602321434325
00067 243360474460
00070 442170602225
00071 606321422545
00072 336060606060
00073 606025673163 EXNAM BCI 1, EXIT
00074 602551514651 ERNAM BCI 1, ERROR
00075 604724644447 PDNAM BCI 1, PDUMP
00076 606024644447 DPNAM BCI 1, DUMP
00077 256731634460 EXMMES BCI 4,EXITM CALLED. GOODBYE.
00100 232143432524
00101 336027464624
00102 227025336060
00103 FILNAM BSS 2
END
LITERALS
00105 000000000000
00106 400000000000
00107 606060214343
1 FAP 09/05/69 037.2 PAGE 1
POST PROCESSOR ASSEMBLY DATA
110 IS THE FIRST LOCATION NOT USED BY THIS PROGRAM
0REFERENCES TO DEFINED SYMBOLS
62 AC 16, 37
12 GO 52, 55
61 MQ 10, 34, 50, 53
41 EX1 14
42 EX2 13
43 EX4 12
63 ACSQ 20, 35
5 DEAD 60
53 DUMP 0
10 EXIT 0, 50
65 MESS 15, 23
64 SVSI 21, 40
2 CLOSE 30
76 DPNAM 54
74 ERNAM
56 EXITM 0
73 EXNAM 11
75 PDNAM 51
50 PDUMP 0
0 WRFLX 22, 56
1 BFCLOS 24
4 CHNCOM 46
10 CLKOUT 0, 50
3 DORMNT 44
10 ENDJOB 0, 50
77 EXMMES 57
103 FILNAM
0 NO ERROR IN ABOVE ASSEMBLY.