0001 ASMB,A,B,L 0003 HED *** PREPARE TIME-SHARE BASIC SYSTEM*** 0004 22000 ORG 22000B 0005 SUP 0006* 0007 SPC 10 0008* 0009* TIME-SHARE BASIC DRIVERS AND MONITOR 0010* 0011* KILE B. BAKER 0012* JOHN S. SHEMA 0013* 0014* DATA RECORDING CENTER 0015* 0016* MONTANA STATE UNIVERSITY 0017* 0018* 16K SYSTEM 0019* 0020* 0021 SKP 0022* 0023* REVISION - A JSS CSL/MSU DEC. 21, 1971 0024* ALL CORRECTIONS HAVE BEEN NOTED BY THE MARKING - [A] 0025* THE FOLLOWING CORRECTIONS HAVE BEEN MADE: 0026* (1) CARD READER DRIVER CANNOT INTERRUPT ITSELF DURING HEAVY 0027* USAGE OF I/O BY OTHER CHANNELS. 0028* 0029* (2) SYSTEM IGNORES CALL FOR CARD READER OR PHOTOREADER 0030* TO BE USED WITH INACTIVE OR NONEXISTANT CHANNEL. 0031* 0032* 0033*** LISTS OF INSTRUCTIONS TO BE MODIFIED 0034* 0035 22000 031351 ZDLS1 DEF ZX1 0036 22001 031457 DEF ZX2 0037 22002 031460 DEF ZX2+1 0038 22003 031461 DEF ZX2+2 0039 22004 031466 DEF ZX2+7 0040 22005 031467 DEF ZX2+8 0041 22006 031470 DEF ZX2+9 0042 22007 031472 DEF ZX2+11 0043 22010 031314 DEF SRITB-1 0044* 0045*** LOG-TTY I/O INSTRUCTIONS 0046* 0047 22011 035146 ZDLS2 DEF LTTY1 (OTA) 0048 22012 035322 DEF LTTY2 (OTA) 0049 22013 037607 DEF LTTY4 0050 22014 037632 DEF LTTY5 0051 22015 035745 DEF CHINL+1 (LIA) 0052 22016 035751 DEF CHINL+5 (OTB) 0053 22017 035752 DEF CHINL+6 (STC,C) 0054 22020 035032 DEF LTTY3 (OTA) 0055 22021 035755 DEF CHOTL+1 (OTB) 0056 22022 035756 DEF CHOTL+2 (OTA) 0057 22023 035757 DEF CHOTL+3 (STC,C) 0058 22024 036663 DEF CLCL+1 (CLC) 0059* 0060*** CLOCK I/O INSTRUCTIONS 0061* 0062 22025 031340 ZDLS3 DEF CL1 0063 22026 031342 DEF CL2 0064 22027 037641 DEF CL3 0065 22030 037627 DEF CL4 0066 22031 035547 DEF STM 0067* 0068*** HIGH SPEED TAPE READER I/O INSTRUCTIONS 0069* 0070 22032 034673 ZDLS4 DEF .RDR1 0071 22033 034547 DEF RDINT+3 (LIA) 0072 22034 034602 DEF ?OMIT (STC,C) 0073 22035 034614 DEF ?LDR+3 (CLC) 0074 22036 034542 DEF .HSPR+5 (STC,C) 0075 22037 034606 DEF CRIN (CLC) 0076* 0077*** CHANNEL 1 TTY I/O INSTRUCTIONS 0078* 0079 22040 035661 ZDLS5 DEF CHIN1+1 (LIA) 0080 22041 035665 DEF CHIN1+5 (OTB) 0081 22042 035666 DEF CHIN1+6 (STC,C) 0082 22043 035671 DEF CHOT1+1 (OTB) 0083 22044 035672 DEF CHOT1+2 (OTA) 0084 22045 035673 DEF CHOT1+3 (STC,C) 0085 22046 036647 DEF CLC1+1 (CLC) 0086* 0087*** CHANNEL 2 TTY I/O INSTRUCTIONS 0088* 0089 22047 035676 ZDLS6 DEF CHIN2+1 (LIA) 0090 22050 035702 DEF CHIN2+5 (OTB) 0091 22051 035703 DEF CHIN2+6 (STC,C) 0092 22052 035706 DEF CHOT2+1 (OTB) 0093 22053 035707 DEF CHOT2+2 (OTA) 0094 22054 035710 DEF CHOT2+3 (STC,C) 0095 22055 036652 DEF CLC2+1 (CLC) 0096* 0097*** CHANNEL 3 TTY I/O INSTRUCTIONS 0098* 0099 22056 035713 ZDLS7 DEF CHIN3+1 (LIA) 0100 22057 035717 DEF CHIN3+5 (OTB) 0101 22060 035720 DEF CHIN3+6 (STC,C) 0102 22061 035723 DEF CHOT3+1 (OTB) 0103 22062 035724 DEF CHOT3+2 (OTA) 0104 22063 035725 DEF CHOT3+3 (STC,C) 0105 22064 036655 DEF CLC3+1 (CLC) 0106* 0107*** CHANNEL 4 TTY I/O INSTRUCTIONS 0108* 0109 22065 035730 ZDLS8 DEF CHIN4+1 (LIA) 0110 22066 035734 DEF CHIN4+5 (OTB) 0111 22067 035735 DEF CHIN4+6 (STC,C) 0112 22070 035740 DEF CHOT4+1 (OTB) 0113 22071 035741 DEF CHOT4+2 (OTA) 0114 22072 035742 DEF CHOT4+3 (STC,C) 0115 22073 036660 DEF CLC4+1 (CLC) 0116 22074 023553 ZDLS9 DEF TOUT3 0117 22075 023556 DEF PNCH&+1 0118 22076 023557 DEF PNCH&+2 0119 22077 023560 DEF PNCH&+3 0120 22100 023444 DEF &T1 0121* 0122* 0123*** CARD READER I/O INSTRUCTIONS 0124* 0125 22101 034361 ZDL10 DEF SETM2+2 (CLC) 0126 22102 034346 DEF RCOL+2 (STC,C) 0127 22103 034350 DEF RCOL+4 (OTA) 0128 22104 034110 DEF CRDR1 (LIA,C) 0129* 0130*** MESSAGE PRINT TABLE 0131* 0132 22105 046117 ZZG1 ASC 11,LOG TTY I/O ADDRESS? 0133 22120 044516 ZZG2 ASC 10,INVALID I/O ADDRESS 0134 22132 047125 ZZG3 ASC 10,NUMBER OF CHANNELS? 0135 22144 044516 ZZG4 ASC 7,INVALID INPUT 0136 22153 041510 ZZG5 ASC 14,CHANNEL TTY I/O ADDRESS? 0137 22171 041514 ZZG7 ASC 10,CLOCK I/O ADDRESS? 0138 22203 050110 ZZG8 ASC 12,PHOTO READER IN SYSTEM? 0139 22217 054505 ZZG9 ASC 6,YES OR NO: 0140 22225 022226 ZAG10 DEF *+1 0141 22226 040503 ASC 8,ACCOUNT NUMBER? 0142 22236 022237 ZAG11 DEF *+1 0143 22237 044516 ASC 11,INVALID ACCOUNT NUMBER 0144 22252 022253 ZAG12 DEF *+1 0145 22253 041517 ASC 6,CODE WORD? 0146 22261 050110 ZZ12 ASC 13,PHOTOREADER I/O ADDRESS? 0147 22276 022277 ZAG14 DEF *+1 0148 22277 042516 ASC 11,ENTER CODE-WORD TABLE 0149 22312 042105 ZZG15 ASC 17,DECIMAL FREE CORE AVAILABLE: 0150 22333 051524 ZZG16 ASC 17,STANDARD FREE CORE IS DECIMAL 0151 22354 040503 ZZG17 ASC 11,ACCEPT STANDARD CORE? 0152 22367 022370 ZAG18 DEF *+1 0153 22370 052523 ASC 10,USER: FREE CORE? 0154 22402 022373 ZAG19 DEF ZAG18+4 0155 22403 042516 ZZG20 ASC 12,ENTER INFORMATION TABLE 0156 22417 021440 ZZG21 ASC 9,# LINES EXCEED 10 0157 22430 022431 ZAG22 DEF *+1 0158 22431 046505 ASC 20,MEMORY REQUEST EXCEEDS AVAILABLE MEMORY 0159 22455 022456 ZAG23 DEF *+1 0160 22456 042125 ASC 8,DUPLICATE ENTRY 0161 22466 022467 ZAG25 DEF *+1 0162 22467 041517 ASC 18,CODE-WORD GIVEN SPECIFIES ACCOUNT: 0163 22511 BSS 1 0164 22512 022511 ZAG24 DEF *-1 0165 22513 022514 ZAG26 DEF *+1 0166 22514 044514 ASC 7,ILLEGAL FORMAT 0167 22523 051531 ZZG27 ASC 17,SYSTEM PUNCH DEVICE I/O ADDRESS? 0168 22544 025105 ZZG28 ASC 2,*END 0169 22546 052125 ZZG29 ASC 17,TURN ON TTY TAPE PUNCH, PRESS RUN 0170 22567 050125 ZZG30 ASC 10,PUNCH ABSOLUTE TAPE? 0171 22601 041501 ZZG31 ASC 11,CARD READER IN SYSTEM? 0172 22614 041501 ZZG32 ASC 13,CARD READER I/O ADDRESS? 0173* 0174*** SUBROUTINE TO DIVIDE FREE CORE 0175* 0176 22631 000000 ZFRC NOP FREE CORE SUBR. 0177 22632 063653 LDA ZRPLY 0178 22633 073652 STA ZANS SET ZANS ADR 0179 22634 117617 JSB CRLF,I 0180 22635 163616 LDA FWFC,I LOAD 1ST WD FR CORE 0181 22636 003004 CMA,INA 0182 22637 002004 INA 0183 22640 143615 ADA LWFC,I FIND AMT FR CORE 0184 22641 073651 STA ZX TEMP STORAGE 0185 22642 063646 LDA Z30 OUTPUT 0186 22643 070126 STA CCNT 0187 22644 067636 LDB ZG.15 TOTAL 0188 22645 074125 STB BADDR 0189 22646 063651 LDA ZX AMT 0190 22647 114272 JSB OUTIN,I 0191 22650 060126 LDA CCNT MESSAGE 0192 22651 067634 LDB ZAG15 0193 22652 117620 JSB ZCLOT,I 0194 22653 063651 LDA ZX SUB ZLOT DESTR A 0195 22654 006404 CLB,INB 0196 22655 077650 STB ZONE SETUP CNTR OF # OF USERS 0197 22656 167621 LDB &#USR,I LOAD - NUMBER OF USERS 0198 22657 007004 CMB,INB +NUM OF USERS 0199 22660 057650 CPB ZONE ONE USER? 0200* 0201*** 1 USER - STANDARD CORE = TOTAL CORE 0202* 0203 22661 026705 JMP ZWRT YES 0204 22662 037650 ISZ ZONE NO:TRY 2 0205 22663 057650 CPB ZONE TWO USERS? 0206 22664 002001 RSS 0207 22665 026670 JMP *+3 0208* 0209*** 2 USERS - DIVIDE BY 2 0210* 0211 22666 001100 ARS YES:DIV BY 2 0212 22667 026705 JMP ZWRT 0213 22670 037650 ISZ ZONE NO: TRY 3 0214 22671 057650 CPB ZONE THREE USERS? 0215 22672 002001 RSS 0216 22673 026704 JMP ZWRT-1 0217* 0218*** 3 USERS - DIVIDE BY 3 0219* 0220 22674 067651 LDB ZX GET TOTAL CORE 0221 22675 002400 CLA SET /3 COUNT = 0 0222 22676 002004 INA 0223 22677 044501 ADB M3 SUBTRACT 3 FROM TOTAL CORE 0224 22700 006021 SSB,RSS FINISHED DIVISION? 0225 22701 026676 JMP *-3 NO - CONTINUE 0226 22702 040477 ADA M1 YES - TOO MANY SUBTRACT 1 0227 22703 002001 RSS SET STND CORE 0228* 0229*** 4 USERS - DIVIDE BY 4 0230* 0231 22704 001121 ARS,ARS 4 USERS-DIV BY 4 0232* 0233 22705 073651 ZWRT STA ZX STND CORE 0234 22706 063646 LDA Z30 OUTPUT 0235 22707 070126 STA CCNT 0236 22710 067637 LDB ZG.16 STND 0237 22711 074125 STB BADDR 0238 22712 063651 LDA ZX AMT 0239 22713 114272 JSB OUTIN,I 0240 22714 060126 LDA CCNT MESG 0241 22715 067635 LDB ZAG16 0242 22716 117620 JSB ZCLOT,I 0243 22717 117617 JSB CRLF,I 0244 22720 063623 LDA X22 OUTPUT 0245 22721 067647 LDB ZAG17 OK 0246 22722 117620 JSB ZCLOT,I 0247 22723 060511 LDA M11 0248 22724 067625 LDB ZX9 0249 22725 117620 JSB ZCLOT,I 0250 22726 060371 LDA .2 0251 22727 067653 LDB ZRPLY 0252 22730 117630 JSB ZCLIN,I 0253 22731 163653 LDA ZRPLY,I 0254 22732 053631 CPA XYES ANSWER 0255 22733 027030 JMP XSTND 0256* 0257 22734 163616 ZRERE LDA FWFC,I SET FIRST WORD 0258 22735 073640 STA XFWC AVAILABLE CORE 0259 22736 167615 LDB LWFC,I SET LAST WORD 0260 22737 077641 STB XLWC AVAILABLE CORE 0261 22740 003004 CMA,INA COMPUTE AMT 0262 22741 002004 INA 0263 22742 040001 ADA B OF FREE CORE 0264 22743 073643 STA XFCR REMAINING 0265* 0266 22744 163621 LDA &#USR,I LOAD -# USERS 0267 22745 073642 STA ZCCT AND SAVE AS COUNTER 0268 22746 002404 CLA,INA SET TO CHANNEL 0269 22747 073644 STA ZCHNX NUMBER ONE 0270* 0271 22750 117617 ZRERD JSB CRLF,I OUTPUT CR-LF 0272 22751 063644 LDA ZCHNX LOAD CHANNEL NUMBER 0273 22752 030425 IOR .48 ADD ON ASCII BITS 0274 22753 001727 ALF,ALF POSITION TO UPPER WORD 0275 22754 030411 IOR .32 ADD ON BLANK 0276 22755 172402 STA ZAG19,I STORE IN MESSAGE 0277* 0278 22756 060514 LDA M19 0279 22757 066367 LDB ZAG18 "USER (N) FREE CORE" 0280 22760 117620 JSB ZCLOT,I 0281 22761 060374 LDA .6 ASK FOR 0282 22762 067653 LDB ZRPLY TTY 0283 22763 117630 JSB ZCLIN,I INPUT 0284 22764 067653 LDB ZRPLY CONVERT TO 0285 22765 117602 JSB DVRT,I BINARY 0286 22766 026750 JMP ZRERD NOT-VALID INPUT 0287 22767 002003 SZA,RSS REQUEST FOR ZERO CORE? 0288 22770 026750 JMP ZRERD YES - REJECT 0289 22771 073643 STA XFCR SAVE FREE CORE REQUESTED 0290 22772 040527 ADA MSK1 TOO SMALL REQUEST? 0291 22773 002020 SSA 0292 22774 026750 JMP ZRERD NO-TRY AGAIN 0293* 0294*** SET USER FIRST WORD AVAILABLE MEMORY 0295* 0296 22775 063640 LDA XFWC LOAD FIRST WORD FREE CORE 0297 22776 067603 LDB ZFWTB LOAD FWFC TABLE BASE ADR 0298 22777 047644 ADB ZCHNX INDEX BY CHANNEL # 0299 23000 164001 LDB B,I LOAD STORE ADDRESS 0300 23001 170001 STA B,I SET FIRST WORD AVAIL MEM. 0301* 0302*** SET USER LAST WORD AVAILABLE MEMORY 0303* 0304 23002 043643 ADA XFCR INDEX F.W. BY AMT REQUESTED. 0305 23003 040477 ADA M1 0306 23004 067610 LDB ZLWTB LOAD LWFC TABLE BASE ADR 0307 23005 047644 ADB ZCHNX INDEX BY CHANNEL # 0308 23006 164001 LDB B,I LOAD STORE ADDRESS 0309 23007 170001 STA B,I SET LAST WORD AVAIL MEM. 0310 23010 002004 INA INDEX TO NEXT WORD 0311 23011 073640 STA XFWC SET NEW FIRST WORD CORE 0312* 0313 23012 003004 CMA,INA SET A=NEG(A-1) 0314 23013 002004 INA 0315 23014 043641 ADA XLWC ADD LW FREE CORE 0316 23015 002020 SSA 0317 23016 027023 JMP *+5 YES-ERROR MESSAGE 0318 23017 037644 ISZ ZCHNX INDEX TO NEXT USER 0319 23020 037642 ISZ ZCCT FINISHED? 0320 23021 026750 JMP ZRERD NO-GET NEXT USER 0321 23022 126631 JMP ZFRC,I YES-RETURN 0322* 0323*** ERROR ** FREE CORE SPACE EXCEEDED ** 0324* 0325 23023 117617 JSB CRLF,I OUTPUT CR-LF 0326 23024 063624 LDA Z39 OUTPUT MESSAGE: 0327 23025 066430 LDB ZAG22 "MEMORY REQUESTED EXCEEDS 0328 23026 117620 JSB ZCLOT,I MEMORY AVAILABLE" 0329 23027 026734 JMP ZRERE TRY AGAIN 0330* 0331*** SET STANDARD CORE 0332* 0333 23030 163621 XSTND LDA &#USR,I GET -# USERS 0334 23031 073642 STA ZCCT SET AS COUNTER 0335 23032 163616 LDA FWFC,I LOAD FIRST WORD FREE CORE 0336 23033 073640 STA XFWC SAVE AS POINTER 0337* 0338 23034 002404 CLA,INA SET TO USER # 1 0339 23035 073644 STA ZCHNX 0340* 0341 23036 063640 LDA XFWC LOAD FIRST WORD F CORE 0342 23037 067603 LDB ZFWTB LOAD FWAM TABLE BASE ADR 0343 23040 047644 ADB ZCHNX INDEX BY CHANNEL # 0344 23041 164001 LDB B,I LOAD STORE ADR IN (B) 0345 23042 170001 STA B,I SET USER FIRST WORD MEM 0346 23043 043651 ADA ZX COMPUTE LAST WORD MEM 0347 23044 040477 ADA M1 0348 23045 067610 LDB ZLWTB LOAD LWAM TABLE BASE ADR 0349 23046 047644 ADB ZCHNX INDEX BY USER # 0350 23047 164001 LDB B,I LOAD STORE ADDRESS 0351 23050 170001 STA B,I SET USER LWAM 0352 23051 002004 INA INDEX BY 1 0353 23052 073640 STA XFWC SET NEW FWAM 0354* 0355 23053 037644 ISZ ZCHNX INDEX TO NEXT USER 0356 23054 037642 ISZ ZCCT FINISHED? 0357 23055 027036 JMP *-15 NO 0358 23056 126631 JMP ZFRC,I YES-RETURN 0359* 0360*** LOAD AND CONSTRUCT CODE-WORD TABLE 0361* 0362 23057 000000 CDTBL NOP 0363 23060 167616 LDB FWFC,I GET FIRST WORD AVAIL FREE CODE 0364 23061 177740 STB ?ACCT,I SET START OF ACCOUNT TABLE 0365 23062 077627 STB XCODE STORE FOR CODE WORD STORAGE 0366 23063 006400 CLB SET CODE TABLE 0367 23064 077626 STB XLNTH LENGTH = 0 0368 23065 077741 STB XNTRY # ENTRIES = 0 0369 23066 117617 JSB CRLF,I 0370 23067 117617 JSB CRLF,I 0371 23070 063645 LDA X21 0372 23071 066276 LDB ZAG14 OUTPUT MESSAGE" ENTER CODE 0373 23072 117620 JSB ZCLOT,I -WORD TABLE" 0374 23073 117617 ZLOP3 JSB CRLF,I OUTPUT CR-LF 0375 23074 117617 JSB CRLF,I 0376 23075 060513 LDA M16 OUTPUT MESSAGE: 0377 23076 066225 LDB ZAG10 "ACCOUNT NUMBER?" 0378 23077 117620 JSB ZCLOT,I 0379* 0380 23100 063622 LDA X20 INPUT 0381 23101 067745 LDB XBUF RESPONSE 0382 23102 117630 JSB ZCLIN,I FROM TTY 0383 23103 002003 SZA,RSS NULL INPUT? 0384 23104 027073 JMP ZLOP3 YES-TRY AGAIN 0385 23105 167745 LDB XBUF,I LOAD FIRST CHARS 0386 23106 057744 CPB X/E IS IT "/E"? 0387 23107 027310 JMP ZEND YES-EXIT FROM ACCOUNT LOOP 0388* 0389 23110 027116 JMP ZOK1 NO - VALID INPUT 0390 23111 117617 ZER3 JSB CRLF,I OUTPUT CR-LF 0391 23112 063623 LDA X22 OUTPUT MESSAGE: 0392 23113 066236 LDB ZAG11 "INVALID ACCOUNT NUMBER" 0393 23114 117620 JSB ZCLOT,I 0394 23115 027073 JMP ZLOP3 TRY AGAIN 0395 23116 067745 ZOK1 LDB XBUF CONVERT TO BINARY 0396 23117 117746 JSB XVERT,I 0397 23120 027111 JMP ZER3 NOT VALID INPUT 0398 23121 070001 STA B SAVE ACCOUNT # IN (B) 0399 23122 001723 ALF,RAR POSITION 0400 23123 001723 ALF,RAR ACCOUNT 0401 23124 001723 ALF,RAR NUMBER 0402 23125 073735 STA ZACNT AND STORE 0403 23126 047733 ADB ZM64 DOES ACCOUNT 0404 23127 006021 SSB,RSS NUMBER EXCEED MAXIMUM 0405 23130 027111 JMP ZER3 OF 63? 0406* 0407 23131 117617 ZLOP4 JSB CRLF,I OUTPUT CR-LF 0408 23132 060511 LDA M11 OUTPUT MESSAGE: 0409 23133 066252 LDB ZAG12 "CODE WORD?" 0410 23134 117620 JSB ZCLOT,I 0411* 0412 23135 060434 LDA .72 INPUT RESPONSE 0413 23136 067745 LDB XBUF RESPONSE 0414 23137 117630 JSB ZCLIN,I 0415* 0416 23140 002003 SZA,RSS NULL INPUT? 0417 23141 027131 JMP ZLOP4 YES - TRY AGAIN 0418 23142 073731 STA ZSVA SAVE CHARS INPUT LENGTH 0419* 0420*** CHECK FOR ILLEGAL FORMAT 0421* 0422 23143 050370 CPA .1 0423 23144 027177 JMP ZERR 0424 23145 040505 ADA M7 INPUT TOO LONG? 0425 23146 002021 SSA,RSS 0426 23147 027177 JMP ZERR YES-ILLEGAL FORMAT 0427 23150 063731 LDA ZSVA RELOAD INPUT COUNT 0428 23151 002004 INA INDEX BY 1 0429 23152 001100 ARS SHIFT RIGHT FOR WORDS 0430 23153 003004 CMA,INA MAKE COUNT NEG 0431 23154 073742 STA XA1 SAVE AS WORD COUNTER 0432 23155 067745 LDB XBUF SET BUFFER ADDRESS 0433 23156 077734 STB ZBF POINTER 0434* 0435 23157 163734 ZLOP6 LDA ZBF,I LOAD WORD 0436 23160 001727 ALF,ALF POSITION TO UPPER CHAR 0437 23161 010443 AND M177 MASK OFF UPPER CHAR 0438 23162 050411 CPA BLANK SPACE? 0439 23163 027177 JMP ZERR YES-ERROR 0440 23164 163734 LDA ZBF,I RELOAD INPUT 0441 23165 010443 AND M177 MASK TO LOW CHAR 0442 23166 050411 CPA BLANK SPACE? 0443 23167 027174 JMP *+5 YES-PROCESS MORE 0444 23170 037734 ISZ ZBF NO-INDEX BUFFER POINTER 0445 23171 037742 ISZ XA1 FINISHED? 0446 23172 027157 JMP ZLOP6 NO-CONTINUE 0447 23173 027204 JMP ZCFDE YES - INPUT O.K. 0448 23174 067742 LDB XA1 LAST WORD? 0449 23175 054477 CPB M1 0450 23176 027204 JMP ZCFDE YES - INPUT O.K. 0451 23177 117617 ZERR JSB CRLF,I OUTPUT CR-LF 0452 23200 063732 LDA Z14 OUTPUT MESSAGE: 0453 23201 066513 LDB ZAG26 "ILLEGAL FORMAT" 0454 23202 117620 JSB ZCLOT,I 0455 23203 027131 JMP ZLOP4 GET NEXT INPUT 0456* 0457*** CHECK FOR DUPLICATE ENTRY 0458* 0459 23204 063731 ZCFDE LDA ZSVA RELOAD # CHARS INPUT 0460 23205 003021 CMA,SSA,RSS MAKE -1-# CHARS 0461 23206 027131 JMP ZLOP4 NOT VALID INPUT 0462 23207 070126 STA CCNT SAVE LENGTH 0463 23210 067745 LDB XBUF RELOAD BUFFER START ADR 0464 23211 005000 BLS GET ADR*2 0465 23212 074125 STB BADDR SAVE AS BUFFER POINTER 0466 23213 114276 JSB GETCR,I GET A CHAR 0467 23214 027131 JMP ZLOP4 NOT VALID INPUT 0468 23215 167615 LDB LWFC,I SET SYMBOL BUFFER 0469 23216 044522 ADB D100 START ADDRESS 0470 23217 074133 STB SBPTR * INITIALIZE FOR 0471 23220 170133 STA SBPTR,I * TABLE SEARCH 0472 23221 163740 LDA ?ACCT,I TABLE ADR IN (A) 0473 23222 067741 LDB XNTRY GET # ENTRIES 0474 23223 007007 CMB,INB,SZB,RSS CONVERT TO NEG 0475 23224 027250 JMP ZPEIT 0476 23225 114262 JSB TSRCH,I CHECK FOR DUPLICATE ENTRY 0477 23226 027250 JMP ZPEIT PUT ENTRY IN TABLE 0478* 0479*** DUPLICATE ENTRY IN TABLE 0480* 0481 23227 001727 ALF,ALF ROTATE ACCOUNT # 0482 23230 001300 RAR TO CORRECT POSITION 0483 23231 073743 STA XCHN% SAVE ACCOUNT NUMBER 0484 23232 117617 JSB CRLF,I OUTPUT CR-LF 0485 23233 060402 LDA .15 OUTPUT MESSZGE: 0486 23234 066455 LDB ZAG23 "DUPLICATE ENTRY" 0487 23235 117620 JSB ZCLOT,I 0488 23236 060415 LDA .36 PUT 0489 23237 070126 STA CCNT ACCOUNT 0490 23240 066512 LDB ZAG24 NUMBER 0491 23241 074125 STB BADDR INTO 0492 23242 063743 LDA XCHN% MESSAGE 0493 23243 114272 JSB OUTIN,I 0494 23244 060126 LDA CCNT OUTPUT MESSAGE: 0495 23245 066466 LDB ZAG25 "CODE-WORD PREVIOUSLY 0496 23246 117620 JSB ZCLOT,I SPECIFIED FOR ACCOUNT:(N)" 0497 23247 027131 JMP ZLOP4 TRY AGAIN 0498* 0499 23250 063731 ZPEIT LDA ZSVA 0500 23251 043735 ADA ZACNT INDEX BY ACCOUNT # 0502* 0503*** PUT ENTRY IN TABLE 0504* 0505 23252 173627 STA XCODE,I STORE ACCOUNT #/LENGTH WORD 0506 23253 037627 ISZ XCODE SET TO NEXT WORD 0507 23254 037626 ISZ XLNTH INDEX LENGTH 0508 23255 037741 ISZ XNTRY INDEX # OF ENTRIES 0509 23256 063731 LDA ZSVA RELOAD CHARS INPUT COUNT 0510 23257 002114 CLE,SLA,INA SET E=0 FOR FLAG 0511 23260 002300 CCE SET E=1 FOR ODD # CHARS 0512 23261 001100 ARS SHIFT AS WORD COUNTER 0513 23262 073731 STA ZSVA SAVE AS COUNTER 0514 23263 002404 CLA,INA 0515 23264 073736 STA ZWCNT WORD COUNTER = + 1 0516 23265 063745 LDA XBUF 0517 23266 073734 STA ZBF 0518 23267 067736 ZLOP5 LDB ZWCNT 0519 23270 057731 CPB ZSVA LAST CHAR? 0520 23271 027301 JMP ZLAST YES-PROCESS IT 0521 23272 037736 ISZ ZWCNT INDEX COUNTER 0522 23273 163734 LDA ZBF,I LOAD WORD FROM INPUT BUFFER 0523 23274 173627 STA XCODE,I PUT IN CODE WORD TABLE 0524 23275 037627 ISZ XCODE INDEX TO NEXT ADR 0525 23276 037626 ISZ XLNTH INDEX CODE TABLE LENGTH 0526 23277 037734 ISZ ZBF 0527 23300 027267 JMP ZLOP5 0528 23301 163734 ZLAST LDA ZBF,I LOAD LAST WORD 0529 23302 037626 ISZ XLNTH INDEX CODE TABLE LENGTH 0530 23303 002040 SEZ ODD/EVEN? 0531 23304 030411 IOR .32 ADD IN SPACE IF ODD 0532 23305 173627 STA XCODE,I PUT IN CODE WORD TABLE 0533 23306 037627 ISZ XCODE INDEX STORE ADR 0534 23307 027073 JMP ZLOP3 GET NEXT ACCOUNT 0535* 0536 23310 067741 ZEND LDB XNTRY LOAD CODE WORD TABLE LENGTH 0537 23311 007007 CMB,INB,SZB,RSS NULL CODE TABLE? 0538 23312 027066 JMP ZLOP3-5 YES-ASK FOR CODE TABLE INPUT 0539 23313 177737 STB ?TBL,I SET # ENTRIES IN CODE TABLE 0540 23314 067627 LDB XCODE SET NEW FIRST WORD 0541 23315 177616 STB FWFC,I AVAILABLE MEMORY 0542 23316 127057 JMP CDTBL,I 0543* 0544* 0545*** PREPARE ABSOLUTE TAPE OF SYSTEM 0546* 0547 23317 117617 ZABST JSB CRLF,I 0548 23320 063622 LDA X20 OUTPUT MESSAGE: 0549 23321 067601 LDB ZAG30 PUNCH ABSOLUTE TAPE? 0550 23322 117620 JSB ZCLOT,I 0551 23323 060511 LDA M11 OUTPUT MESSAGE: 0552 23324 067625 LDB ZX9 YES OR NO: 0553 23325 117620 JSB ZCLOT,I 0554 23326 060371 LDA .2 RESPONSE 0555 23327 067653 LDB ZRPLY 0556 23330 117630 JSB ZCLIN,I 0557 23331 002003 SZA,RSS NULL INPUT? 0558 23332 027317 JMP ZABST YES-TRY AGAIN 0559 23333 163653 LDA ZRPLY,I GET FIRST TWO CHARS INPUT 0560 23334 053632 CPA XNO = NO ? 0561 23335 124003 JMP 3B,I YES - SKIP TAPE OUTPUT 0562 23336 053631 CPA XYES = YES ? 0563 23337 002001 RSS REQUEST PUNCH DEVICE 0564 23340 027317 JMP ZABST NO VALID INPUT 0565 23341 117617 ZABSD JSB CRLF,I 0566 23342 063565 LDA M33 OUTPUT MESSAGE: 0567 23343 067576 LDB ZAG27 SYSTEM PUNCH 0568 23344 117620 JSB ZCLOT,I 0569 23345 060373 LDA .4 GET 0570 23346 067653 LDB ZRPLY TTY 0571 23347 117630 JSB ZCLIN,I RESPONSE 0572 23350 002003 SZA,RSS NULL INPUT? 0573 23351 027431 JMP STTYI SET TTY AS PUNCH DEVICE 0574 23352 050371 CPA .2 TWO CHARS INPUT? 0575 23353 027361 JMP *+6 YES-CHECK FOR VALID I/O 0576* 0577 23354 117617 ZER6 JSB CRLF,I OUTPUT CR-LF 0578 23355 063622 LDA X20 OUTPUT MESSAGE: 0579 23356 067633 LDB XZG2 INVALID I/O ADDRESS 0580 23357 117620 JSB ZCLOT,I 0581 23360 027341 JMP ZABSD TRY INPUT AGAIN 0582* 0583 23361 163653 LDA ZRPLY,I LOAD 1ST CHARS INPUT 0584 23362 001727 ALF,ALF POSITION 0585 23363 117573 JSB XNBER,I CHECK FOR OCTAL 0586 23364 027354 JMP ZER6 NOT OCTAL-ERROR 0587 23365 002003 SZA,RSS ZERO AS 1ST CHAR? 0588 23366 027354 JMP ZER6 YES-ERROR 0589 23367 001723 ALF,RAR POSITION 0590 23370 173574 STA XI/O,I SAVE 1ST CHAR 0591 23371 163653 LDA ZRPLY,I RELOAD CHARS INPUT 0592 23372 117573 JSB XNBER,I CHECK FOR OCTAL 0593 23373 027354 JMP ZER6 NOT OCTAL 0594 23374 133574 IOR XI/O,I 0595 23375 173574 STA XI/O,I SAVE I/O CHANNEL 0596 23376 060502 LDA M4 4-ADR TO SET 0597 23377 067575 LDB ZLST9 SET I/O 0598 23400 117572 JSB XSETI,I INSTRUCTIONS 0599* 0600*** PUNCH ELEMENTS OF SYSTEM PREPARED 0601* 0602 23401 017516 COPY JSB LTG GENERATE LEADER 0603 23402 060371 LDA .2 0604 23403 007400 CCB PUNCH FROM 2 0605 23404 147616 ADB FWFC,I TO FWAM-1 0606 23405 017446 JSB PNCHA 0607* 0608 23406 063570 LDA $SEX$ PUNCH 0609 23407 002004 INA BASIC INITIALIZATION 0610 23410 067566 LDB OINK SECTION 0611 23411 017446 JSB PNCHA 0612 23412 163615 LDA LWFC,I 0613 23413 002004 INA LWAM+1 TO 0614 23414 067567 LDB LWM LAST WORD OF 0615 23415 017446 JSB PNCHA MEMORY (37677B) 0616 23416 017516 JSB LTG PUNCH TRAILER 0617 23417 102077 HLT 77B END OF DUMP ROUTINE 0618 23420 102501 LIA 1 LOAD (A)=SWITCH REG 0619 23421 050536 CPA M15 SIGN BIT SET? 0620 23422 027401 JMP COPY GO MAKE ANOTHER COPY 0621 23423 117617 JSB CRLF,I 0622 23424 060373 LDA .4 OUTPUT MESSAGE 0623 23425 067577 LDB ZAG28 *END 0624 23426 117620 JSB ZCLOT,I 0625 23427 102076 HLT 76B FINISHED HALT 0626 23430 124003 JMP 3B,I 0627 23431 167571 STTYI LDB XLCHN,I LOAD SYSTEM I/O ADDRESS 0628 23432 177574 STB XI/O,I SET FOR XSETI 0629 23433 060503 LDA M5 5-ADR TO BE SET 0630 23434 067575 LDB ZLST9 SET I/O 0631 23435 117572 JSB XSETI,I INSTRUCTIONS 0632 23436 117617 JSB CRLF,I 0633 23437 063564 LDA .34 OUTPUT MESSAGE: 0634 23440 067600 LDB ZAG29 TURN ON TTY TAPE 0635 23441 117620 JSB ZCLOT,I 0636 23442 102011 HLT 11B "READY" TO PUNCH HALT 0637 23443 067563 LDB HEWPY SET TO OUTPUT 0638 23444 106600 &T1 OTB 0 MODE 0639 23445 027401 JMP COPY PUNCH SYSTEM 0640* 0641* SUBROUTINE TO PUNCH ABSOLUTE BLOCK 0642* 0643* CALLING SEQUENCE: 0644* (A)=FWA OF BLOCK 0645* (B)=LWA OF BLOCK 0646* (P)= JSB PNCH.,I (PNCH. DEF PNCHA) 0647* (P+1) (RETURN) 0648* 0649 23446 000000 PNCHA NOP 0650 23447 006004 INB 0651 23450 073720 STA T1 SAVE FIRST AND LAST 0652 23451 077721 STB T2 WORD ADDRESSES 0653 23452 063726 P1 LDA M27 SET T3= -27 AS INDEX 0654 23453 073722 STA T3 FOR FILLING BUFFER 0655 23454 063720 LDA T1 SET BUF+1 FOR LOAD ADR 0656 23455 173660 STA BUF1,I OF CURRENT BLOCK 0657 23456 073724 STA CKSUM INITIALIZE CHECKSUM WORD. 0658 23457 002400 CLA SET WORD COUNTER 0659 23460 173657 STA BUF,I TO ZERO. 0660 23461 063657 LDA BUF SET T4 TO ADDRESS 0661 23462 040371 ADA .2 OF WORD 3 OF BUFFER 0662 23463 073723 STA T4 FOR STORING WORDS 0663 23464 163720 P2 LDA T1,I STORE CURRENT WORD FROM 0664 23465 173723 STA T4,I MEMORY IN PUNCH BLOCK 0665 23466 037720 ISZ T1 INDEX TO NEXT LOAD AND 0666 23467 037723 ISZ T4 STORE ADDRESSES 0667 23470 043724 ADA CKSUM ADD WORD TO CUMULATED 0668 23471 073724 STA CKSUM CHECKSUM 0669 23472 137657 ISZ BUF,I COUNT WORD STORED IN BUFFER 0670 23473 063720 LDA T1 CHECK FOR END OF BLOCK 0671 23474 053721 CPA T2 0672 23475 027500 JMP P3 YES, FWA=LWA 0673 23476 037722 ISZ T3 INDEX BUFFER COUNTER 0674 23477 027464 JMP P2 BUFFER NOT YET FILLED 0675* 0676 23500 063724 P3 LDA CKSUM BUFFER FILLED. SET CHECKSUM 0677 23501 173723 STA T4,I IN LAST WORD IN BUFFER 0678 23502 163657 LDA BUF,I POSITION 0679 23503 001727 ALF,ALF WORD COUNT TO UPPER 0680 23504 173657 STA BUF,I CHARACTER WORD 0681 23505 001727 ALF,ALF REPOSITION, ADD 3 FOR 0682 23506 040372 ADA .3 TOTAL RECORD LENGTH, SET 0683 23507 003004 CMA,INA NEGATIVE FOR OUTPUT. 0684 23510 067657 LDB BUF (B)=ADDR OF BUFFER 0685 23511 017522 JSB PUNCH PUNCH RECORD 0686* 0687 23512 063720 LDA T1 FINISHED 0688 23513 053721 CPA T2 * PUNCHING 0689 23514 127446 JMP PNCHA,I YES-EXIT 0690 23515 027452 JMP P1 NO-SET NEXT RECORD 0691* 0692* SUBROUTINE: LTG (LEADER/TRAILER GENERATOR) 0693* 0694* CALL: 0695* (P) JSB LTG 0696* (P+1) -RETURN- 0697* 0698* LTG PRODUCES APPROXIMATELY 10-INCHES 0699* OF BLANK TAPE (FEED/FRAMES) 0700* 0701 23516 000000 LTG NOP 0702 23517 002400 CLA 0703 23520 017522 JSB PUNCH 0704 23521 127516 JMP LTG,I 0705* 0706*** PUNCH BUFFER 0707* 0708*** SUBROUTINE TO PUNCH BINARY TAPE 0709* 0710* 0711* CALLING SEQUENCE: 0712* (A)=LENGTH (AND MODE) OF RECORD TO BE OUTPUT 0713* (B)=STARTING ADDRESS OF DATA BUFFER 0714* 0715* 0716 23522 000000 PUNCH NOP 0717 23523 077717 STB BUFF SAVE BUFFER START ADDRESS 0718 23524 002002 SZA CHECK FOR FEED-FRAMES ONLY 0719 23525 027530 JMP *+3 NOT FEED FRAME MODE 0720 23526 063727 LDA .200 0721 23527 027546 JMP PP03+1 DO FEED FRAMES ONLY 0722* 0723 23530 001000 ALS CONVERT COUNT TO CHARACTERS (X2) 0724 23531 073725 STA CHC1 AS COUNTER FOR OUTPUT SECTION 0725 23532 067730 LDB UL52 SET UPPER/LOWER CHAR INDICATOR 0726* 0727* CHARACTER OUTPUT SECTION 0728* 0729 23533 163717 PP02 LDA BUFF,I GET WORD CONTAINING CHARACTER 0730 23534 006021 SSB,RSS IF UPPER/LOWER FLAG SAYS UPPER 0731 23535 001727 ALF,ALF (SIGN=0) ROTATE TO LOWER 0732 23536 010445 AND M377 REMOVE UPPER CHAR 0733 23537 017555 JSB PNCH& OUTPUT CHAR 0734 23540 006020 SSB INDEX BUFFER WORD? 0735 23541 037717 ISZ BUFF YES 0736 23542 005200 RBL INDEX U/L FLAG 0737 23543 037725 ISZ CHC1 INDEX COUNTER 0738 23544 027533 JMP PP02 CONTINUE PUNCHING 0739* 0740* COMPLETION SECION 0741* 0742 23545 060502 PP03 LDA M4 OUTPUT 0743 23546 073717 STA BUFF FOUR 0744 23547 002400 CLA FEED 0745 23550 017555 JSB PNCH& OUTPUT CHAR 0746 23551 037717 ISZ BUFF AT END 0747 23552 027547 JMP *-3 OF RECORD 0748* 0749 23553 106700 TOUT3 CLC 0 0750 23554 127522 JMP PUNCH,I 0751* 0752*** PUNCH SINGLE CHAR 0753* 0754 23555 000000 PNCH& NOP 0755 23556 102600 OTA 0 OUTPUT A 0756 23557 103700 STC 0,C SINGLE CHAR 0757 23560 102300 SFS 0 ON PUNCH OUTPUT 0758 23561 027560 JMP *-1 DEVICE 0759 23562 127555 JMP PNCH&,I 0760* 0761 23563 110000 HEWPY OCT 110000 0762 23564 000042 .34 DEC 34 0763 23565 177737 M33 DEC -33 0764 23566 031666 OINK DEF LEPIG 0765 23567 037651 LWM DEF LWAMS 0766 23570 031114 $SEX$ DEF [SEX[ 0767 23571 030705 XLCHN DEF ZLCHN 0768 23572 030521 XSETI DEF ZSETI 0769 23573 030510 XNBER DEF ZNBER 0770 23574 030675 XI/O DEF ZI/O 0771 23575 022074 ZLST9 DEF ZDLS9 0772 23576 022523 ZAG27 DEF ZZG27 0773 23577 022544 ZAG28 DEF ZZG28 0774 23600 022546 ZAG29 DEF ZZG29 0775 23601 022567 ZAG30 DEF ZZG30 0776 23602 031501 DVRT DEF DVERT 0777 23603 023603 ZFWTB DEF * 0778 23604 013206 DEF FWAM1 0779 23605 013336 DEF FWAM2 0780 23606 013466 DEF FWAM3 0781 23607 013616 DEF FWAM4 0782 23610 023610 ZLWTB DEF * 0783 23611 013207 DEF LWAM1 0784 23612 013337 DEF LWAM2 0785 23613 013467 DEF LWAM3 0786 23614 013617 DEF LWAM4 0787 23615 031044 LWFC DEF LWAFC 0788 23616 031043 FWFC DEF FWAFC 0789 23617 031475 CRLF DEF CRLND 0790 23620 031345 ZCLOT DEF ZLOT 0791 23621 037050 &#USR DEF &USR 0792 23622 000024 X20 DEC 20 0793 23623 000026 X22 DEC 22 0794 23624 000047 Z39 DEC 39 0795 23625 022217 ZX9 DEF ZZG9 0796 23626 000000 XLNTH NOP 0797 23627 000000 XCODE NOP 0798 23630 031403 ZCLIN DEF ZLIN 0799 23631 054505 XYES ASC 1,YE 0800 23632 047117 XNO ASC 1,NO 0801 23633 022120 XZG2 DEF ZZG2 0802 23634 022312 ZAG15 DEF ZZG15 0803 23635 022333 ZAG16 DEF ZZG16 0804 23636 022330 ZG.15 DEF ZZG15+14 0805 23637 022351 ZG.16 DEF ZZG16+14 0806 23640 000000 XFWC NOP 0807 23641 000000 XLWC NOP 0808 23642 000000 ZCCT NOP 0809 23643 000000 XFCR NOP 0810 23644 000000 ZCHNX NOP 0811 23645 000025 X21 DEC 21 0812 23646 000036 Z30 DEC 30 0813 23647 022354 ZAG17 DEF ZZG17 0814 23650 ZONE BSS 1 TEMP STORAGE 0815 23651 ZX BSS 1 AMT STND FR CORE 0816 23652 000000 ZANS NOP 0817 23653 023654 ZRPLY DEF *+1 STORAGE FOR 0818 23654 BSS 3 OCTAL NUM 0819* 0820 23657 023661 BUF DEF BUFFR 0821 23660 023662 BUF1 DEF BUFFR+1 0822* 0823 23661 BUFFR BSS 30 0824 23717 000000 BUFF NOP 0825 23720 000000 T1 NOP 0826 23721 000000 T2 NOP 0827 23722 000000 T3 NOP 0828 23723 000000 T4 NOP 0829 23724 000000 CKSUM NOP 0830 23725 000000 CHC1 NOP 0831 23726 177745 M27 DEC -27 0832 23727 177470 .200 DEC -200 0833 23730 052525 UL52 OCT 52525 0834 23731 000000 ZSVA NOP 0835 23732 000016 Z14 DEC 14 0836 23733 177700 ZM64 DEC -64 0837 23734 000000 ZBF NOP 0838 23735 000000 ZACNT NOP 0839 23736 000000 ZWCNT NOP 0840 23737 035067 ?TBL DEF TBL 0841 23740 035066 ?ACCT DEF ACCT# 0842 23741 000000 XNTRY NOP 0843 23742 000000 XA1 NOP 0844 23743 000000 XCHN% NOP 0845 23744 027505 X/E ASC 1,/E 0846 23745 030713 XBUF DEF ZBUF+1 0847 23746 031501 XVERT DEF DVERT 0848 30000 ORG 30000B 0849 SKP 0850* 0851 30000 106700 PTSBS CLC 0 TURN OFF ALL DEVICES 0852 30001 102501 LIA 1 LOAD I/O ADDRESS OF TTY 0853 30002 010430 AND .63 MASK TO LOWER 6-BITS 0854 30003 070001 STA B PUT ADDRESS IN B-REGISTER 0855 30004 001121 ARS,ARS SHIFT TO BITS (5-3) 0856 30005 001100 ARS 0857 30006 002002 SZA I/O ADDRESS >7? 0858 30007 026012 JMP ZGO YES-INITIALIZE PREPARE BASIC TTY 0859* 0860 30010 102055 HLT 55B INVALID I/O ADDRESS HALT 0861 30011 026000 JMP PTSBS TRY AGAIN 0862* 0863 30012 076675 ZGO STB ZI/O SAVE PREPARE TSB 0864 30013 076705 STB ZLCHN TTY CHANNEL 0865 30014 060507 LDA M9 9 INSTRUCTIONS TO BE MODIFIED 0866 30015 066574 LDB ZLST1 START ADR OF INST LIST 0867 30016 016521 JSB ZSETI SET I/O CHANNEL INST. 0868* 0869*** CALL FOR CLOCK I/O ADDRESS 0870* 0871 30017 017475 JSB CRLND OUTPUT CR-LF 0872 30020 060514 LDA M19 OUTPUT MESSAGE: 0873 30021 066607 LDB ZA7 "CLOCK I/O ADDRESS?" 0874 30022 017345 JSB ZLOT 0875 30023 016535 JSB ZGADR GET ADDRESS FROM TTY 0876 30024 076675 STB ZI/O SAVE I/O ADDRESS 0877 30025 063031 LDA ZINS1 SET INTERRUPT CELL 0878 30026 170001 STA B,I INSTRUCTION IN CLOCK CELL. 0879 30027 060503 LDA M5 5-ADDRESSES TO BE MODIFIED 0880 30030 066576 LDB ZLST3 SET I/O INSTRUCTIONS 0881 30031 016521 JSB ZSETI FOR CLOCK. 0882* 0883*** CALL FOR LOG TTY I/O ADDRESS 0884* 0885 30032 017475 JSB CRLND 0886 30033 017475 JSB CRLND OUTPUT RETURN 0887 30034 062665 LDA ZM22 OUTPUT MESSAGE: 0888 30035 066601 LDB ZAG1 "LOG TTY I/O 0889 30036 017345 JSB ZLOT ADDRESS?" 0890 30037 016535 JSB ZGADR INPUT LOG-TTY ADDRESS 0891 30040 076675 STB ZI/O SAVE I/O ADDRESS 0892 30041 063032 LDA ZI/O6 SET INTERRUPT CELL 0893 30042 170001 STA B,I LINKAGE INSTRUCTION 0894 30043 062663 LDA ZM12 12-ADDRESSES TO BE MODIFIED 0895 30044 066575 LDB ZLST2 INSTRUCTIONS ADDRESS LIST 0896 30045 016521 JSB ZSETI SET I/O CHANNEL-LOG TTY 0897* 0898 30046 062575 LDA ZLST2 LOAD TABLE BASE ADR 0899 30047 042651 ADA Z5 INDEX BY 11 0900 30050 160000 LDA A,I GET (OTB) INST ADR 0901 30051 160000 LDA A,I GET INSTRUCTION 0902 30052 173027 STA ZTTYB,I SET IN INITIALIZATION SECTION 0903 30053 173026 STA ZTTY[,I 0904* 0905 30054 062575 LDA ZLST2 LOAD TABLE BASE ADR 0906 30055 042652 ADA .11 INDEX BY 11 0907 30056 160000 LDA A,I LOAD INST ADR 0908 30057 160000 LDA A,I LOAD (CLC) INST 0909 30060 173030 STA ZTTYC,I STORE IN INIT SECTION 0910* 0911*** GET NUMBER OF USERS (1-4) 0912* 0913 30061 017475 JSB CRLND 0914 30062 017475 ZGNU JSB CRLND OUTPUT CR-LF 0915 30063 062664 LDA ZM20 OUTPUT MESSAGE: 0916 30064 066603 LDB ZAG3 "NUMBER OF CHANNELS?" 0917 30065 017345 JSB ZLOT 0918 30066 062654 LDA Z20 GET 0919 30067 066712 LDB ZBUF RESPONSE 0920 30070 017403 JSB ZLIN FROM TTY 0921 30071 050370 CPA .1 1 CHAR INPUT? 0922 30072 026100 JMP ZPRCS OK- PROCESS IT 0923 30073 017475 ZER2 JSB CRLND OUTPUT CR-LF 0924 30074 062653 LDA Z13 OUTPUT MESSAGE: 0925 30075 066604 LDB ZAG4 "INVALID INPUT" 0926 30076 017345 JSB ZLOT 0927 30077 026062 JMP ZGNU TRY AGAIN 0928* 0929 30100 066712 ZPRCS LDB ZBUF CONVERT TO BINARY 0930 30101 017501 JSB DVERT 0931 30102 026073 JMP ZER2 NOT VALID INPUT 0932 30103 072674 STA ZPNU SAVE + # USERS 0933 30104 003007 CMA,INA,SZA,RSS MAKE COUNT NEGATIVE 0934 30105 026073 JMP ZER2 AND PRINT ERROR IF 0 0935 30106 072673 STA ZNUSR SAVE -# USERS 0936 30107 040373 ADA .4 INDEX BY 4 0937 30110 002020 SSA USER #>4? 0938 30111 026073 JMP ZER2 YES-ERROR 0939 30112 066673 LDB ZNUSR LOAD (B)= - # USERS 0940 30113 176704 STB Z#USR,I SET -USERS COUNT FOR CLOCK 0941 30114 176703 STB Z&USR,I SET -USERS COUNT FOR MONITOR 0942* 0943*** SET CHANNEL I/O ADDRESSES 0944* 0945 30115 017475 JSB CRLND 0946 30116 002404 CLA,INA SET = USER # 1 0947 30117 072672 STA ZCHN# 0948* 0949 30120 017475 ZLOP2 JSB CRLND OUTPUT CR-LF 0950 30121 062672 LDA ZCHN# LOAD CHANNEL # 0951 30122 030425 IOR .48 ADD ON ASCII # BITS 0952 30123 001727 ALF,ALF POSITION TO UPPER WORD 0953 30124 030411 IOR .32 ADD ON BLANK 0954 30125 172606 STA ZA6,I PUT IN PRINT BUFFER 0955 30126 062667 LDA ZM27 OUTPUT MESSAGE: 0956 30127 066605 LDB ZA5 "CHANNEL N TTY I/O 0957 30130 017345 JSB ZLOT ADDRESS?" 0958 30131 016535 JSB ZGADR GET ADDRESS 0959 30132 076675 STB ZI/O AND SAVE 0960* 0961*** SET CHANNEL NUMBER INTO INTERRUPT TABLE 0962* 0963 30133 062701 LDA CTBL$ 0964 30134 042672 ADA ZCHN# 0965 30135 174000 STB A,I 0966* 0967 30136 062617 LDA ZBTB1 LOAD INTERRUPT TABLE BASE 0968 30137 042672 ADA ZCHN# ADDRESS & INDEX BY CHAN #. 0969 30140 160000 LDA A,I LOAD INTERRUPT INSTRUCTION 0970 30141 170001 STA B,I AND STORE IN INTERRUPT CELL 0971* 0972*** SET NEW FIRST WORD AVAILABLE FREE CORE 0973* 0974 30142 062567 LDA ZZFWA LOAD TABLE BASE ADDRESS 0975 30143 042672 ADA ZCHN# INDEX BY USER # 0976 30144 160000 LDA A,I LOAD FWAM FROM TABLE 0977 30145 073043 STA FWAFC STORE AS FWAM 0978* 0979*** CONFIGURE I/O INSTRUCTIONS 0980* 0981 30146 066624 LDB ZBTB2 LOAD INST. TABLE BASE ADR 0982 30147 046672 ADB ZCHN# INDEX BY CHANNEL # 0983 30150 164001 LDB B,I LOAD LIST ADDRESS 0984 30151 076706 STB ZCODE SAVE LIST ADDRESS 0985 30152 060505 LDA M7 7 INSTRUCTIONS TO BE MODIFIED 0986 30153 016521 JSB ZSETI MODIFY I/O INSTRUCTIONS 0987* 0988*** SET POWER FAIL INSTRUCTIONS 0989* 0990 30154 062706 LDA ZCODE LOAD TABLE BASE ADR 0991 30155 040371 ADA .2 INDEX BY USER # 0992 30156 160000 LDA A,I LOAD INST ADR 0993 30157 160000 LDA A,I LOAD INST. 0994 30160 066636 LDB ZBTB4 LOAD TABLE BASE ADR 0995 30161 046672 ADB ZCHN# INDEX BY USER # 0996 30162 164001 LDB B,I LOAD DESTINATION ADR 0997 30163 170001 STA B,I STORE INSTRUCTION 0998* 1000*** SET LOG-ON INITIALIZATION INSTRUCTIONS 1001* 1002 30164 062706 LDA ZCODE LOAD LIST BASE ADDRESS 1003 30165 040370 ADA .1 INDEX BY 1 1004 30166 160000 LDA A,I LOAD INST ADDRESS 1005 30167 160000 LDA A,I LOAD INSTRUCTION (OTB) 1006 30170 067027 LDB ZTTYB LOAD STORE ADDRESS BASE 1007 30171 046672 ADB ZCHN# INDEX BY CHANNEL # 1008 30172 170001 STA B,I SET INSTRUCTION (OTB) 1009* 1010 30173 066631 LDB ZBTB3 LOAD TABLE BASE ADR 1011 30174 046672 ADB ZCHN# INDEX BY USER # 1012 30175 164001 LDB B,I LOAD DESTINATION ADR 1013 30176 170001 STA B,I STORE INSTRUCTION 1014 30177 066643 LDB ZBTB5 1015 30200 046672 ADB ZCHN# 1016 30201 164001 LDB B,I 1017 30202 170001 STA B,I 1018* 1019 30203 062706 LDA ZCODE LOAD LIST BASE ADDRESS 1020 30204 040374 ADA .6 INDEX BY 6 1021 30205 160000 LDA A,I LOAD INST ADR 1022 30206 160000 LDA A,I LOAD INSTRUCTION (CLC) 1023 30207 067030 LDB ZTTYC LOAD STORE BASE ADR 1024 30210 046672 ADB ZCHN# INDEX BY USER # 1025 30211 170001 STA B,I SET (CLC) INSTRUCTION 1026* 1027 30212 036672 ISZ ZCHN# INDEX TO NEXT CHANNEL 1028 30213 036673 ISZ ZNUSR DONE? 1029 30214 026120 JMP ZLOP2 NO-CONTINUE 1030* 1031*** CALL FOR CARD READER I/O ADDRESS 1032* 1033 30215 002400 CLA CLEAR CARD READER IN SYSTEM FLAG 1034 30216 072671 STA CFLG$ 1035 30217 017475 JSB CRLND 1036 30220 017475 GCRIO JSB CRLND OUTPUT CR-LF 1037 30221 062660 LDA Z22 OUTPUT MESSAGE: 1038 30222 066615 LDB ZAG31 "CARD READER IN SYSTEM?" 1039 30223 017345 JSB ZLOT 1040 30224 060511 LDA M11 OUTPUT MESSAGE: 1041 30225 066611 LDB ZA9 "YES OR NO?" 1042 30226 017345 JSB ZLOT 1043 30227 062654 LDA Z20 * INPUT 1044 30230 066712 LDB ZBUF * RESPONSE 1045 30231 017403 JSB ZLIN 1046* 1047 30232 002003 SZA,RSS NULL INPUT? 1048 30233 026220 JMP GCRIO YES - TRY AGAIN 1049 30234 162712 LDA ZBUF,I GET FIRST TWO CHARS INPUT 1050 30235 053024 CPA ZNO =NO? 1051 30236 026312 JMP NOCRD NO CARD READER SET NEW LWAM 1052 30237 053025 CPA ZYES =YES? 1053 30240 002001 RSS YES - GET CARD READER I/O ADR 1054 30241 026220 JMP GCRIO INVALID RESPONSE - TRY AGAIN 1055* 1056 30242 017475 JSB CRLND OUTPUT CR-LF 1057 30243 063113 LDA ZM25 OUTPUT MESSAGE: 1058 30244 066616 LDB ZAG32 "CARD READER I/O 1059 30245 017345 JSB ZLOT ADDRESS?" 1060 30246 016535 JSB ZGADR GET CHANNEL NUMBER 1061 30247 076675 STB ZI/O SAVE FOR I/O MODIFICATION 1062 30250 063034 LDA ZI/O8 SET CARD READER 1063 30251 170001 STA B,I INTERRUPT INSTRUCTION 1064 30252 063114 LDA ZM4 SET CARD READER 1065 30253 066600 LDB ZLS10 I/O INSTRUCTIONS 1066 30254 016521 JSB ZSETI 1067* 1068 30255 062600 LDA ZLS10 SET CLC 1069 30256 160000 LDA A,I IN POWER FAIL 1070 30257 160000 LDA A,I 1071 30260 173042 STA CFRDR,I 1072* 1073 30261 063106 LDA JMP$1 PUT INSTR 1074 30262 173103 STA ERRO.,I IN 545B 1075* 1076 30263 063107 LDA JMP$2 PUT INSTR 1077 30264 173104 STA RUN1,I IN 2141B 1078* 1079 30265 063110 LDA JMP$3 PUT INSTR 1080 30266 173105 STA RUN2,I IN 2142B 1081 30267 063111 LDA JMP$4 LOAD INSTR 1082 30270 064252 LDB $RUN$ LOAD ADDRESS TO MFASE IN BASIC 1083 30271 044371 ADB .2 INDEX BY 2 1084 30272 170001 STA B,I MODIFY INSTRUCTION 1085 30273 064257 LDB $LST$ LOAD LINK TO LIST IN BASIC 1086 30274 044400 ADB .10 INDEX BY 10 1087 30275 170001 STA B,I MODIFY INSTRUCTION 1088 30276 046662 ADB Z129 INDEX ADDRESS 1089 30277 170001 STA B,I MODIFY INSTRUCTION 1090 30300 044372 ADB .3 INDEX ADDRESS 1091 30301 170001 STA B,I MODIFY INSTRUCTION 1092 30302 060057 LDA X6 LOAD LINK WORD 1093 30303 064253 LDB $FS3$ 1094 30304 044510 ADB M10 SUBTRACT 10 1095 30305 170001 STA B,I MODIFY INSTRUCTION 1096 30306 006004 INB INDEX STORE ADDRESS 1097 30307 170001 STA B,I MODIFY INSTRUCTION 1098 30310 072671 STA CFLG$ SET CARD RDR IN SYSTEM FLAG 1099 30311 026320 JMP GPI/O-1 GET PHOTORDR CHANNEL NUMBER 1100* 1101 30312 002400 NOCRD CLA DELETE CHECK CARD READER 1102 30313 173035 STA ?CARD,I INSTRUCTION IN MONITOR 1103 30314 003400 CCA DELETE "CARD" COMMAND 1104 30315 173037 STA ?CRD?,I 1105 30316 063045 LDA LWACR GET NEW LAST WORD MEM 1106 30317 073044 STA LWAFC SET NEW LWAM 1107* 1108*** GET PHOTOREADER I/O ADDRESS 1109* 1110 30320 017475 JSB CRLND 1111 30321 017475 GPI/O JSB CRLND OUTPUT CR-LF 1112 30322 062661 LDA Z23 1113 30323 066610 LDB ZA8 1114 30324 017345 JSB ZLOT 1115 30325 060511 LDA M11 1116 30326 066611 LDB ZA9 1117 30327 017345 JSB ZLOT 1118 30330 062654 LDA Z20 INPUT 1119 30331 066712 LDB ZBUF RESPONSE 1120 30332 017403 JSB ZLIN 1121 30333 002003 SZA,RSS NULL INPUT? 1122 30334 026321 JMP GPI/O YES-TRY AGAIN 1123 30335 162712 LDA ZBUF,I GET INPUT CHARS 1124 30336 053025 CPA ZYES =YES? 1125 30337 026357 JMP ZPRIO GET PHOTOREADER I/O ADDRESS 1126 30340 053024 CPA ZNO =NO? 1127 30341 002001 RSS YES-DELETE PHOTOREADER DRIVER 1128 30342 026321 JMP GPI/O 1129* 1130 30343 062405 LDA ZCIT1+6 DELETE CHECK PHOTOREADER 1131 30344 173036 STA ?PHTO,I INSTRUCTION IN MONITOR 1132 30345 003400 CCA DELETE "PTAPE" COMMAND 1133 30346 173040 STA ?PHO?,I 1134 30347 062671 LDA CFLG$ CARD READER IN SYSTEM? 1135 30350 002002 SZA 1136 30351 026376 JMP LCCWT YES - DO NOT RESET LWAM 1137 30352 162700 LDA PTINS,I DELETE CHECK LOCALL TTY INPUT 1138 30353 172702 STA ZPTZ,I 1139 30354 063046 LDA LWPRD GET NEW LAST WORD MEM 1140 30355 073044 STA LWAFC UPDATE LAST WORD 1141 30356 026376 JMP LCCWT ASK FOR CODE TABLE 1142* 1143 30357 017475 ZPRIO JSB CRLND OUTPUT CR-LF 1144 30360 060516 LDA M25 OUTPUT MESSAGE: 1145 30361 066612 LDB ZA12 "PHOTO READER I/O 1146 30362 017345 JSB ZLOT ADDRESS?" 1147 30363 016535 JSB ZGADR GET CHANNEL NUMBER 1148 30364 076675 STB ZI/O SAVE FOR I/O MODIFICATION 1149 30365 063033 LDA ZI/O7 SET PHOTOREADER 1150 30366 170001 STA B,I INTERRUPT INSTRUCTION 1151 30367 062650 LDA ZG.6 SET PHOTOREADER 1152 30370 066577 LDB ZLST4 I/O INSTRUCTIONS 1153 30371 016521 JSB ZSETI 1154 30372 062577 LDA ZLST4 SET CLC RDR 1155 30373 160000 LDA A,I IN POWER FAIL 1156 30374 160000 LDA A,I 1157 30375 173041 STA PFRDR,I RESTART 1158* 1159*** LOAD AND CONSTRUCT CODE WORD TABLE 1160* 1161 30376 117112 LCCWT JSB CCWT,I 1162* 1163*** ENTER AND CONSTRUCT INFORMATION TABLE 1164* 1165 30377 063062 ZCIT1 LDA ZLNTT LOAD TABLE LENGTH ADR 1166 30400 072710 STA ZLNTH SAVE FOR STORE POINTER 1167 30401 067047 LDB ZADRT LOAD TABLE ADDRESS ADR 1168 30402 076677 STB ZSTOR SAVE FOR STORE POINTER 1169 30403 067043 LDB FWAFC GET FIRST WORD AVAIL MEM. 1170 30404 076706 STB ZCODE SAVE AS STORE POINTER 1171* 1172 30405 002400 CLA SET LINES "IN" 1173 30406 072676 STA ZCNT COUNT TO ZERO 1174 30407 064511 LDB M11 SET MAX LINE COUNTER 1175 30410 076672 STB ZCHN# TO MINUS 11. 1176* 1177 30411 017475 JSB CRLND 1178 30412 017475 JSB CRLND OUTPUT CR-LF 1179 30413 062655 LDA .24 OUTPUT MESSAGE: 1180 30414 066613 LDB ZAG20 "ENTER INFORMATION TABLE" 1181 30415 017345 JSB ZLOT 1182* 1183 30416 017475 ZCIT2 JSB CRLND OUTPUT CR-LF 1184 30417 060434 LDA .72 INPUT 72 CHARS 1185 30420 066712 LDB ZBUF INTO ZBUF 1186 30421 017403 JSB ZLIN 1187 30422 166712 LDB ZBUF,I GET FIRST TWO CHARS INPUT 1188 30423 057023 CPB /E END-OF-INPUT? 1189 30424 026454 JMP ZCIT3 YES - COMPRESS TABLE 1190 30425 002003 SZA,RSS NULL INPUT? 1191 30426 026417 JMP ZCIT2+1 YES - GET NEXT LINE 1192 30427 036672 ISZ ZCHN# TOO MANY LINES? 1193 30430 026436 JMP *+6 NO - ACCEPT NEW LINE 1194 30431 017475 JSB CRLND OUTPUT ERROR MESSAGE: 1195 30432 062656 LDA Z18 1196 30433 066614 LDB ZAG21 "# LINES EXCEEDS 10" 1197 30434 017345 JSB ZLOT 1198 30435 026377 JMP ZCIT1 RE-ENTER TABLE 1199* 1200*** PROCESS NEW LINE 1201* 1202 30436 036676 ISZ ZCNT INDEX LINE COUNTER 1203 30437 172710 STA ZLNTH,I SAVE LINE LENGTH 1204 30440 072450 STA *+8 SAVE IN CALL TO MOVE STACK 1205 30441 066706 LDB ZCODE LOAD STORE ADDRESS 1206 30442 176677 STB ZSTOR,I SAVE IN ADR TABLE 1207 30443 040001 ADA B INDEX (A) BY (B) 1208 30444 072706 STA ZCODE SET NEW F.W.A.M. 1209 30445 062712 LDA ZBUF SOURCE ADR IN (A) 1210 30446 166677 LDB ZSTOR,I DEST ADR IN (B) 1211 30447 117565 JSB ?MOVE,I MOVE STACK OF 1212 30450 000000 NOP (NOP) ELEMENTS 1213* 1214 30451 036710 ISZ ZLNTH INDEX 1215 30452 036677 ISZ ZSTOR TABLE POINTERS 1216 30453 026416 JMP ZCIT2 GET NEXT ENTRY 1217* 1218 30454 066676 ZCIT3 LDB ZCNT LOAD LINES-IN COUNT 1219 30455 007007 CMB,INB,SZB,RSS IF ZERO THEN- 1220 30456 026377 JMP ZCIT1 ASK AGAIN FOR INPUT 1221 30457 177075 STB Z?LNT,I STORE-# LINES IN LOG-IN 1222 30460 066676 LDB ZCNT RELOAD # LINES 1223 30461 076466 STB *+5 SAVE FOR MOVE STACK 1224 30462 063062 LDA ZLNTT LOAD (A)=SOURCE ADR 1225 30463 066706 LDB ZCODE (B)=DEST ADR 1226 30464 177076 STB Z?TBL,I SAVE START ADR IN LOG-IN 1227 30465 117565 JSB ?MOVE,I MOVE STACK OF LENGTH 1228 30466 000000 NOP VALUES 1229 30467 066706 LDB ZCODE LOAD FWAM 1230 30470 046676 ADB ZCNT UPDATE BY VALUE IN (ZCNT) 1231 30471 076706 STB ZCODE SAVE RESULT 1232 30472 177077 STB Z?ADR,I SAVE ADR TABLE ADR IN LOG-IN 1233 30473 062676 LDA ZCNT LOAD # LINES INPUT AND 1234 30474 072477 STA *+3 STORE FOR MOVE-STACK 1235 30475 063047 LDA ZADRT LOAD (A)=SOURCE ADR 1236 30476 117565 JSB ?MOVE,I MOVE STACK OF ADDRESS 1237 30477 000000 NOP VALUES 1238 30500 066706 LDB ZCODE RESET FIRST 1239 30501 046676 ADB ZCNT WORD AVAILABLE 1240 30502 077043 STB FWAFC FREE CORE. 1241* 1242 30503 117100 JSB ZFCOR,I 1243 30504 067101 LDB ZSEXZ SET START ADR 1244 30505 074003 STB 3B IN 3B 1245 30506 017475 JSB CRLND 1246 30507 127102 JMP #PT#,I PUNCH SYSTEM TAPE 1247* 1248* 1249*** SUBROUTINE TO CONVERT CHARACTER TO OCTAL 1250* 1251 30510 000000 ZNBER NOP 1252 30511 010443 AND M177 MASK TO LOWER 6-BITS 1253 30512 042670 ADA ZN60 INDEX BY -OCT60 1254 30513 070001 STA B SAVE IN (B) 1255 30514 005121 BRS,BRS SHIFT OUT BITS 1256 30515 005100 BRS (0-2) 1257 30516 006003 SZB,RSS TEST FOR ZERO REMAINDER 1258 30517 036510 ISZ ZNBER SET "SUCCESS" EXIT 1259 30520 126510 JMP ZNBER,I RETURN 1260* 1261*** SUBROUTINE TO MODIFY THE INSTRUCTIONS IN A LIST 1262* 1263 30521 000000 ZSETI NOP 1264 30522 072676 STA ZCNT SAVE # WORDS TO MODIFY 1265 30523 076707 STB ZBUFF SAVE BASE ADDRESS 1266 30524 166707 ZLP1 LDB ZBUFF,I LOAD ADDRESS 1267 30525 160001 LDA B,I ACCESS INSTRUCTION 1268 30526 010522 AND D100 MASK OFF BITS (0-5) 1269 30527 032675 IOR ZI/O ADD ON CHANNEL NUMBER 1270 30530 170001 STA B,I RESTORE INSTRUCTION 1271 30531 036707 ISZ ZBUFF INDEX TO NEXT WORD IN LIST 1272 30532 036676 ISZ ZCNT DONE? 1273 30533 026524 JMP ZLP1 NO 1274 30534 126521 JMP ZSETI,I YES-RETURN 1275* 1276* 1277*** SUBROUTINE TO INPUT CHANNEL # FROM TTY 1278* 1279 30535 000000 ZGADR NOP 1280 30536 062654 LDA Z20 SET TO INPUT 20 CHARS 1281 30537 066712 LDB ZBUF GIVE I/O BUFFER ADDRESS 1282 30540 017403 JSB ZLIN GET INPUT FROM TTY 1283* 1284 30541 050371 CPA .2 2 CHARS INPUT? 1285 30542 026551 JMP ZTWO YES-PROCESS 1286* 1287 30543 017475 ZERRR JSB CRLND 1288 30544 062654 LDA Z20 OUTPUT MESSAGE: 1289 30545 066602 LDB ZAG2 "INVALID I/O 1290 30546 017345 JSB ZLOT ADDRESS" 1291 30547 017475 JSB CRLND GET NEW INPUT 1292 30550 026536 JMP ZGADR+1 1293* 1294 30551 162712 ZTWO LDA ZBUF,I LOAD FIRST CHARS 1295 30552 001727 ALF,ALF FROM TTY INPUT 1296 30553 016510 JSB ZNBER BUFFER. 1297 30554 026543 JMP ZERRR NOT A NUMBER 1298 30555 002003 SZA,RSS TEST IF ZERO 1299 30556 026543 JMP ZERRR NOT A NUMBER 1300 30557 001723 ALF,RAR POSITION NUMBER 1301 30560 072675 STA ZI/O SAVE IT 1302 30561 162712 LDA ZBUF,I GET NEXT CHAR 1303 30562 016510 JSB ZNBER IS IT A NUMBER? 1304* 1305 30563 026543 JMP ZERRR NOT A NUMBER 1306 30564 032675 IOR ZI/O ADD ON PREVIOUS NUMBER 1307 30565 070001 STA B PUT IN B-REG 1308 30566 126535 JMP ZGADR,I RETURN 1309* 1310*** FIRST WORD AVAILABLE MEMORY TABLE 1311* 1312 30567 030567 ZZFWA DEF * 1313 30570 013333 DEF SK2 1314 30571 013463 DEF SK3 1315 30572 013613 DEF SK4 1316 30573 013743 DEF FINIS 1317* 1318*** LINKS TO LISTS OF INSTRUCTIONS TO BE MODIFIED 1319* 1320 30574 022000 ZLST1 DEF ZDLS1 1321 30575 022011 ZLST2 DEF ZDLS2 1322 30576 022025 ZLST3 DEF ZDLS3 1323 30577 022032 ZLST4 DEF ZDLS4 1324 30600 022101 ZLS10 DEF ZDL10 1325* 1326*** LINKS TO MESSAGE PRINT TABLE 1327* 1328 30601 022105 ZAG1 DEF ZZG1 1329 30602 022120 ZAG2 DEF ZZG2 1330 30603 022132 ZAG3 DEF ZZG3 1331 30604 022144 ZAG4 DEF ZZG4 1332 30605 022153 ZA5 DEF ZZG5 1333 30606 022157 ZA6 DEF ZZG5+4 1334 30607 022171 ZA7 DEF ZZG7 1335 30610 022203 ZA8 DEF ZZG8 1336 30611 022217 ZA9 DEF ZZG9 1337 30612 022261 ZA12 DEF ZZ12 1338 30613 022403 ZAG20 DEF ZZG20 1339 30614 022417 ZAG21 DEF ZZG21 1340 30615 022601 ZAG31 DEF ZZG31 1341 30616 022614 ZAG32 DEF ZZG32 1342* 1343*** CONSTANTS AND DATA DECLARATIONS 1344* 1345 00000 A EQU 0 1346 00001 B EQU 1 1347 30617 030617 ZBTB1 DEF * 1348 30620 114031 JSB I/O2,I 1349 30621 114032 JSB I/O3,I 1350 30622 114033 JSB I/O4,I 1351 30623 114034 JSB I/O5,I 1352* 1353 30624 030624 ZBTB2 DEF * 1354 30625 022040 DEF ZDLS5 1355 30626 022047 DEF ZDLS6 1356 30627 022056 DEF ZDLS7 1357 30630 022065 DEF ZDLS8 1358 30631 030631 ZBTB3 DEF * 1359 30632 037610 DEF LTTY4+1 1360 30633 037611 DEF LTTY4+2 1361 30634 037612 DEF LTTY4+3 1362 30635 037613 DEF LTTY4+4 1363* 1364 30636 030636 ZBTB4 DEF * 1365 30637 037633 DEF LTTY5+1 1366 30640 037634 DEF LTTY5+2 1367 30641 037635 DEF LTTY5+3 1368 30642 037636 DEF LTTY5+4 1369* 1370 30643 030643 ZBTB5 DEF * 1371 30644 037615 DEF LTTY4+6 1372 30645 037617 DEF LTTY4+8 1373 30646 037621 DEF LTTY4+10 1374 30647 037623 DEF LTTY4+12 1375* 1376 30650 177772 ZG.6 DEC -6 1377 30651 000005 Z5 DEC 5 1378 30652 000013 .11 DEC 11 1379 30653 000015 Z13 DEC 13 1380 30654 000024 Z20 DEC 20 1381 30655 000030 .24 DEC 24 1382 30656 000022 Z18 DEC 18 1383 30657 000025 Z21 DEC 21 1384 30660 000026 Z22 DEC 22 1385 30661 000027 Z23 DEC 23 1386 30662 000201 Z129 DEC 129 1387 30663 177764 ZM12 DEC -12 1388 30664 177754 ZM20 DEC -20 1389 30665 177752 ZM22 DEC -22 1390 30666 177750 ZM24 DEC -24 CHARS IN MESG. 1391 30667 177745 ZM27 DEC -27 1392 30670 177720 ZN60 OCT -60 1393 30671 000000 CFLG$ NOP 1394 30672 000000 ZCHN# NOP 1395 30673 000000 ZNUSR NOP - # USERS 1396 30674 000000 ZPNU NOP + # USERS 1397 30675 000000 ZI/O NOP 1398 30676 000000 ZCNT NOP 1399 30677 000000 ZSTOR NOP 1400 30700 036020 PTINS DEF CKL+8 1401 30701 036357 CTBL$ DEF CHTBA 1402 30702 036027 ZPTZ DEF .LD.-1 1403 30703 037050 Z&USR DEF &USR 1404 30704 035646 Z#USR DEF #USRS 1405 30705 000000 ZLCHN NOP 1406 30706 000000 ZCODE NOP 1407 30707 000000 ZBUFF NOP 1408 30710 000000 ZLNTH NOP 1409 30711 000000 ZNTRY NOP 1410 30712 030713 ZBUF DEF *+1 1411 30713 BSS 72 1412 31023 027505 /E ASC 1,/E 1413 31024 047117 ZNO ASC 1,NO 1414 31025 054505 ZYES ASC 1,YE 1415 31026 037625 ZTTY[ DEF ZT[ 1416 31027 031316 ZTTYB DEF SRITB+1 1417 31030 031332 ZTTYC DEF ZCLCZ 1418 31031 114030 ZINS1 JSB I/O1,I 1419 31032 114035 ZI/O6 JSB I/O6,I LOG TTY INT CELL INST 1420 31033 114036 ZI/O7 JSB I/O7,I PHOTRDR INT CELL INST 1421 31034 114037 ZI/O8 JSB I/O8,I CARD READER INT CELL INST 1422 31035 036036 ?CARD DEF CKPTR 1423 31036 036037 ?PHTO DEF CKPTR+1 1424 31037 035016 ?CRD? DEF CA 1425 31040 035015 ?PHO? DEF PT 1426 31041 037637 PFRDR DEF ?PFLI 1427 31042 037640 CFRDR DEF ?PFLI+1 1428 31043 013203 FWAFC DEF STCKS 1429 31044 033707 LWAFC DEF LWTSB-1 1430 31045 034534 LWACR DEF .HSPR-1 1431 31046 035022 LWPRD DEF MSSG-1 1432* 1433 31047 031050 ZADRT DEF *+1 DEFINES INFO TABLE TEMP ADRS 1434 31050 BSS 10 1435 31062 031063 ZLNTT DEF *+1 DEFINES INFO TABLE TEMP LNGTS 1436 31063 BSS 10 1437 31075 035070 Z?LNT DEF SYIN# 1438 31076 035072 Z?TBL DEF SLENA 1439 31077 035071 Z?ADR DEF SINA 1440 31100 022631 ZFCOR DEF ZFRC 1441 31101 031115 ZSEXZ DEF .SEX. 1442 31102 023317 #PT# DEF ZABST 1443* 1444 31103 000545 ERRO. DEF ..ERR 1445 31104 002141 RUN1 DEF RN.$. 1446 31105 002142 RUN2 DEF RN.$.+1 1447 31106 124056 JMP$1 JMP X4,I 1448 31107 124053 JMP$2 JMP X1,I 1449 31110 124054 JMP$3 JMP X2,I 1450 31111 124057 JMP$4 JMP X6,I 1451 31112 023057 CCWT DEF CDTBL 1452 31113 177747 ZM25 DEC -25 1453 31114 177774 ZM4 DEC -4 1454 HED ***** TIME-SHARE BASIC DRIVERS AND MONITOR ***** 1455 31115 106700 .SEX. CLC 0 1456 31116 017475 JSB CRLND 1457* 1458*** INITIALIZE CLOCK 1459* 1460 31117 017475 ?I1 JSB CRLND OUTPUT CR-LF 1461 31120 063641 LDA ZTI1 OUTPUT MESSAGE: 1462 31121 067642 LDB ZTA1 "YEAR?" 1463 31122 017345 JSB ZLOT 1464 31123 060373 LDA .4 INPUT RESPONSE OF YEAR 1465 31124 067571 LDB PTBA? 1466 31125 017403 JSB ZLIN 1467 31126 050371 CPA .2 TWO CHARS INPUT? 1468 31127 002001 RSS YES - INPUT O.K. 1469 31130 027117 JMP ?I1 NO - TRY AGAIN 1470* 1471 31131 067571 LDB PTBA? CONVERT TO 1472 31132 017501 JSB DVERT BINARY 1473 31133 027117 JMP ?I1 INVALID INPUT 1474 31134 163571 LDA PTBA?,I 1475 31135 173576 STA YBUF,I 1476* 1477 31136 017475 ?I2 JSB CRLND OUTPUT CR-LF 1478 31137 063646 LDA ZTI2 OUTPUT MESSAGE: 1479 31140 067647 LDB ZTA2 "MONTH?" 1480 31141 017345 JSB ZLOT 1481 31142 060373 LDA .4 INPUT RESPONSE OF MONTH 1482 31143 067571 LDB PTBA? 1483 31144 017403 JSB ZLIN 1484 31145 050371 CPA .2 TWO CHARS INPUT? 1485 31146 002001 RSS YES - INPUT O.K. 1486 31147 027136 JMP ?I2 NO - TRY AGAIN 1487* 1488 31150 067571 LDB PTBA? CONVERT TO 1489 31151 017501 JSB DVERT BINARY 1490 31152 027136 JMP ?I2 INVALID INPUT 1491 31153 002003 SZA,RSS MONTH=0? 1492 31154 027136 JMP ?I2 YES-REJECT 1493 31155 043637 ADA ZM13 SUBTRACT 13 1494 31156 002021 SSA,RSS MONTH<13? 1495 31157 027136 JMP ?I2 NO-REJECT 1496 31160 163571 LDA PTBA?,I 1497 31161 173574 STA MBUF,I 1498* 1499 31162 017475 ?I3 JSB CRLND OUTPUT CR-LF 1500 31163 063654 LDA ZTI3 OUTPUT MESSAGE: 1501 31164 067655 LDB ZTA3 "DAY"? 1502 31165 017345 JSB ZLOT 1503 31166 060373 LDA .4 INPUT RESPONSE OF DAY 1504 31167 067571 LDB PTBA? 1505 31170 017403 JSB ZLIN DAY BUFFER 1506 31171 050371 CPA .2 TWO CHARS INPUT? 1507 31172 002001 RSS YES - INPUT O.K. 1508 31173 027162 JMP ?I3 NO - TRY AGAIN 1509 31174 067571 LDB PTBA? CONVERT TO 1510 31175 017501 JSB DVERT BINARY 1511 31176 027162 JMP ?I3 INVALID INPUT 1512* 1513 31177 173572 STA DATE?,I NO-SAVE DATE 1514 31200 163571 LDA PTBA?,I 1516 31201 173575 STA ?DBUF,I 1517* 1518*** GET TIME 1519* 1520 31202 017475 ?I5 JSB CRLND 1521 31203 063661 LDA ZTI4 OUTPUT MESSAGE: 1522 31204 067662 LDB ZTA4 "TIME?" 1523 31205 017345 JSB ZLOT 1524 31206 060374 LDA .6 INPUT RESPONSE 1525 31207 067571 LDB PTBA? AND STORE IN 1526 31210 017403 JSB ZLIN TIME BUFFER 1527 31211 050373 CPA .4 4 CHARS INPUT? 1528 31212 002001 RSS YES - INPUT O.K. 1529 31213 027202 JMP ?I5 NO - TRY AGAIN 1530 31214 060371 LDA .2 CONVERT 1531 31215 067571 LDB PTBA? TO 1532 31216 017501 JSB DVERT BINARY 1533 31217 027202 JMP ?I5 INVALID INPUT 1534 31220 173570 STA HR?,I SAVE HOURS COUNT 1535 31221 040516 ADA M25 1536 31222 002021 SSA,RSS HOURS>24? 1537 31223 027202 JMP ?I5 YES-REJECT 1538 31224 060371 LDA .2 CONVERT 1539 31225 067571 LDB PTBA? INPUT 1540 31226 006004 INB TO 1541 31227 017501 JSB DVERT BINARY 1542 31230 027202 JMP ?I5 INVALID INPUT 1543 31231 173567 STA MNTS?,I STORE MINUTES 1544 31232 043640 ADA ZM61 MINUTES >60? 1545 31233 002021 SSA,RSS 1546 31234 027202 JMP ?I5 YES-REJECT 1547 31235 017475 JSB CRLND 1548* 1549*** TIME SHARE BASIC INITIALIZATION SECTION 1550* 1551 31236 167634 LDB &&USR,I GET -# USERS 1552 31237 177563 STB ?CT,I SAVE AS COUNTER 1553 31240 006404 CLB,INB SET TEMPS 1554 31241 074063 STB USN TO FIRST 1555 31242 177560 STB ?USNT,I USER 1556* 1557 31243 063562 ?LP1 LDA ?ON LOAD LINK TO -ON- ROUTINE 1558 31244 067622 LDB BSTK5 LOAD LINKAGE TABLE BASE ADDRESS 1559 31245 044063 ADB USN INDEX BY USER # 1560 31246 164001 LDB B,I LOAD DESTINATION ADDRESS 1561 31247 170001 STA B,I STORE LINK IN WRITE RETURN 1562* 1563 31250 060536 LDA M15 SET DATA FLAG 1564 31251 067615 LDB BSTK4 LOAD DATA FLAG TABLE BASE ADR 1565 31252 044063 ADB USN INDEX BY USER # 1566 31253 164001 LDB B,I LOAD DATA FLAG ADR IN (B) 1567 31254 170001 STA B,I SET DATA FLAG 1568* 1569*** INITIALIZE USER STACKS 1570* 1571 31255 063627 LDA BSTK6 LOAD STACK NAME BASE ADDRESS 1572 31256 040063 ADA USN INDEX BY USER # 1573 31257 160000 LDA A,I LOAD USER STACK NAME 1574 31260 160000 LDA A,I 1575 31261 064064 LDB ASTK LOAD ADDR OF ACTIVE STACK 1576 31262 117565 JSB ?MOVE,I MOVE 5 ELEMENTS STACK 1577 31263 000005 OCT 5 1578* 1579 31264 060115 LDA LWAM 1580 31265 043556 ADA M72 1581 31266 070116 STA .BUFA 1582 31267 070117 STA SYMTA 1583 31270 043555 ADA D97 1584 31271 070120 STA SBUFA 1585 31272 040477 ADA M1 1586 31273 070115 STA LWAM 1587 31274 060114 LDA FWAM LOAD FIRST WORD 1588 31275 070121 STA PBUFF INITIALIZE PROGRAM BUFFR 1589 31276 070122 STA PBPTR INITIALIZE PROG POINTR 1590 31277 060411 LDA .32 LOAD OCT 40 1591 31300 070411 STA BLANK INITIALIZE BLANK CHARACTER 1592 31301 002400 CLA 1593 31302 070124 STA .LNUM SET LINE NUMBER =0 1594 31303 067627 LDB BSTK6 LOAD STACK NAME BASE ADDRESS 1595 31304 044063 ADB USN INDEX BY USER NAME 1596 31305 164001 LDB B,I LOAD USER STACK NAME 1597 31306 164001 LDB B,I 1598 31307 117564 JSB ?MOUT,I MOVE ACTIVATED STACK OUT 1599* 1600* 1601* 1602 31310 034063 ISZ USN INDEX TO NEXT 1603 31311 137560 ISZ ?USNT,I USER. 1604 31312 137563 ISZ ?CT,I LAST USER? 1605 31313 027243 JMP ?LP1 NO-PROCESS NEXT USER 1606* 1607* 1608*** SET RUBOUTS INTO TTYS AND CLC 1609* 1610 31314 106700 CLC 0 CLEAR PREPARE SYSTEM TTY 1611 31315 064443 SRITB LDB RBOUT LOAD RUBOUT CHAR 1612 31316 000000 NOP (OTB LOG TTY) 1613 31317 000000 NOP (OTB USER # 1) 1614 31320 000000 NOP (OTB USER # 2) 1615 31321 000000 NOP (OTB USER # 3) 1616 31322 000000 NOP (OTB USER # 4) 1617 31323 002400 CLA SET SECONDS ELAPSED 1618 31324 173573 STA SEKS?,I TIME TO ZERO 1619 31325 003400 CCA SET FLAG1 TO -1 1620 31326 173557 STA ?FL1,I 1621 31327 163634 LDA &&USR,I SET LAST ACTIVATED USER # IN USN 1622 31330 003004 CMA,INA 1623 31331 070063 STA USN 1624 31332 000000 ZCLCZ NOP (CLC LOG TTY) 1625 31333 000000 NOP (CLC USER # 1) 1626 31334 000000 NOP (CLC USER # 2) 1627 31335 000000 NOP (CLC USER # 3) 1628 31336 000000 NOP (CLC USER # 4) 1629 31337 060373 LDA .4 1630 31340 102600 CL1 OTA 0 INITIATE TIME-BASE 1631 31341 102704 STC PFL INITIATE POWER FAIL 1632 31342 103700 CL2 STC 0,C GENERATOR 1633 31343 102100 STF 0 TURN ON INTERRUPT 1634 31344 127562 JMP ?ON,I GO TO LOG-ON SECTION 1635* 1636*** SUBROUTINE TO CONVERT ASCII NUMBERS TO DECIMAL 1637* 1638* 1639*** NON-INTERRUPT TTY DRIVER FOR PREPARE TIME-SHARE 1640* 1641 31345 000000 ZLOT NOP SUBROUTINE TO OUTPUT A RECORD 1642 31346 073577 STA ZL1 SAVE LENGTH 1643 31347 077600 STB ZA1 SAVE ADDRESS 1644 31350 067601 LDB OT.FL LOAD OUTPUT COMMAND 1645 31351 106600 ZX1 OTB 0 SET TTY TO OUTPUT MODE 1646 31352 002003 SZA,RSS ZERO CHAR? 1647 31353 027376 JMP CR.LF YES-GIVE CARRIAGE RETURN-LF 1648 31354 002021 SSA,RSS CHECK IF COUNT NEGATIVE 1649 31355 003004 CMA,INA NO-MAKE IT NEGATIVE 1650 31356 073603 STA ZCT1 STORE NEGATIVE COUNT 1651 31357 067604 LDB ZULFL LOAD UPPER / LOWER FLAG 1652* 1653 31360 163600 C..C LDA ZA1,I GET WORD FROM BUFFER 1654 31361 005200 RBL ROTATE AND 1655 31362 004010 SLB TEST FLAG 1656 31363 037600 ISZ ZA1 INDEX TO NEXT WORD 1657 31364 006011 SLB,RSS LOAD CORRECT CHARACTER 1658 31365 001727 ALF,ALF UPPER / ROTATE TO LOWER 1659 31366 010443 AND M177 GET SINGLE CHAR 1660 31367 030444 IOR M200 ADD PARITY BIT 1661 31370 017456 JSB ZXLOT 1662 31371 037603 ISZ ZCT1 LAST CHARACTER? 1663 31372 027360 JMP C..C NO-GET NEXT TO OUTPUT 1664* 1665*** CHECK IF CR-LF 1666* 1667 31373 063577 LDA ZL1 CHECK ORIGINAL COUNTER 1668 31374 002020 SSA 1669 31375 127345 JMP ZLOT,I NEGATIVE - RETURN 1670 31376 063605 CR.LF LDA ZCRET POSITIVE - CR-LF 1671 31377 017456 JSB ZXLOT 1672 31400 063606 LDA ZLNFD LOAD LF 1673 31401 017456 JSB ZXLOT 1674 31402 127345 JMP ZLOT,I RETURN 1675* 1676*** SUBROUTINE TO INPUT A RECORD 1677* 1678 31403 000000 ZLIN NOP 1679 31404 003004 CMA,INA MAKE COUNT NEGATIVE 1680 31405 073603 STA ZCT1 SAVE COUNTER 1681 31406 073607 STA ZCT2 SAVE FOR RESET 1682 31407 077600 STB ZA1 SAVE ADDRESS 1683 31410 077610 STB ZA2 SAVE FOR RESET 1684* 1685 31411 006400 CLB CLEAR TRUE COUNTER 1686 31412 077611 STB ZL2 1687* 1688 31413 017464 ZNXTC JSB ZXLIN 1689 31414 002003 SZA,RSS SKIP IF NOT NULL CHAR 1690 31415 027413 JMP ZNXTC 1691 31416 053606 CPA ZLNFD 1692 31417 027413 JMP ZNXTC 1693 31420 053605 CPA ZCRET CR? 1694 31421 027445 JMP ZZDNE YES - GO TO END SECTION 1695 31422 053613 CPA ZESCP ESC CHAR? 1696 31423 027447 JMP ZDEL YES-DELETE LINE 1697 31424 053612 CPA ZMODE ALT MODE ? 1698 31425 027447 JMP ZDEL YES - DELETE LINE 1699 31426 067603 LDB ZCT1 LOAD NEGATIVE COUNT 1700 31427 006006 INB,SZB SKIP IF B IS POSITIVE 1701 31430 006020 SSB CHAR IS NEG OR ZERO -OK 1702 31431 002001 RSS IGNORE AND GO FOR NEXT CHAR 1703 31432 027413 JMP ZNXTC 1704 31433 077603 STB ZCT1 RESTORE COUNT 1705 31434 067611 LDB ZL2 LOAD POSITIVE COUNT 1706 31435 006015 SLB,INB,RSS TEST AND INCREMENT 1707 31436 001737 ALF,SLA,ALF UPPER CHAR-POSITION IT 1708 31437 133600 IOR ZA1,I LOWER CHAR-MERGE CHAR 1709 31440 173600 STA ZA1,I STORE WORD. 1710 31441 006011 SLB,RSS NEW WORD? 1711 31442 037600 ISZ ZA1 YES 1712 31443 077611 STB ZL2 STORE POSITIVE COUNTER 1713 31444 027413 JMP ZNXTC GET NEXT CHARACTER 1714* 1715 31445 063611 ZZDNE LDA ZL2 LOAD LENGTH 1716 31446 127403 JMP ZLIN,I RETURN 1717 31447 002400 ZDEL CLA OUTPUT A 1718 31450 017345 JSB ZLOT CR-LF 1719 31451 063607 LDA ZCT2 LOAD LENGTH 1720 31452 073603 STA ZCT1 RESET IN CALL PARAMETER 1721 31453 063610 LDA ZA2 LOAD ADDRESS 1722 31454 073600 STA ZA1 RESET IN CALL PARAMETER 1723 31455 027411 JMP ZNXTC-2 SET UP NEW INPUT 1724* 1725*** SINGLE CHARACTER DRIVERS 1726* 1727 31456 000000 ZXLOT NOP 1728 31457 102600 ZX2 OTA 0 1729 31460 103700 STC 0,C 1730 31461 102300 SFS 0 1731 31462 027461 JMP *-1 1732 31463 127456 JMP ZXLOT,I 1733* 1734 31464 000000 ZXLIN NOP 1735 31465 067602 LDB IN.FL 1736 31466 106600 OTB 0 1737 31467 103700 STC 0,C 1738 31470 102300 SFS 0 1739 31471 027470 JMP *-1 1740 31472 102500 LIA 0 1741 31473 010443 AND M177 MASK TO LOWER 7-BITS 1742 31474 127464 JMP ZXLIN,I 1743* 1744*** SUBROUTINE TO OUTPUT A CR-LF. 1745* 1746 31475 000000 CRLND NOP 1747 31476 002400 CLA SET UP AND EXECUTE A 1748 31477 017345 JSB ZLOT CALL TO OUTPUT DRIVER 1749 31500 127475 JMP CRLND,I TO OUTPUT A CR-LF 1750* 1751 31501 000000 DVERT NOP ENTRY/EXIT POINT 1752 31502 003007 CMA,INA,SZA,RSS TEST FOR ZERO RCRD LNTH 1753 31503 027553 JMP XRETX 1754 31504 077577 STB ZL1 SAVE BUFFER START ADR 1755 31505 073600 STA ZA1 SAVE CHAR COUNTER 1756 31506 002400 CLA SET A=0 1757 31507 073610 STA ZA2 SET NUMBER COUNT TO ZERO 1758 31510 073611 STA ZL2 SET ODD/EVEN FLAG TO ZERO 1759 31511 067611 LDB ZL2 LOAD ODD/EVEN FLAG 1760 31512 163577 P1.. LDA ZL1,I FETCH CONTENTS OF BUFFER 1761 31513 006011 SLB,RSS SKIP IF EVEN 1762 31514 001727 ALF,ALF POSITION BYTES CORRECTLY 1763 31515 010443 AND M177 MASK TO LOWEST BYTE 1764 31516 050411 CPA .32 TEST FOR SPACE 1765 31517 027544 JMP .NEXT IS A SPACE, THROW IT OUT 1766 31520 002003 SZA,RSS TEST FOR A NULL CHARACTER 1767 31521 027544 JMP .NEXT IS A NULL, THROW IT OUT 1768 31522 073635 STA XTMP SAVE CHARACTER 1769 31523 043636 ADA OCT60 SUBTRACT OCTAL 60 1770 31524 002020 SSA TEST IF BELOW NUMBER RANGE 1771 31525 027544 JMP .NEXT NOT A NUMBER, IGNORE 1772 31526 040510 ADA M10 SUBTRACT DEC 10 1773 31527 002021 SSA,RSS TEST IF GREATER THAN OCT 71 1774 31530 027544 JMP .NEXT NOT A NUMBER, IGNORE 1775 31531 063635 LDA XTMP RESTORE CHARACTER 1776 31532 010402 AND .15 MASK TO NUMBER PART 1777 31533 067610 LDB ZA2 LOAD PARTIAL NUMBER INTO B 1778 31534 103101 CLO CLEAR OVERFLOW FLAG 1779 31535 005020 BLS,BLS MULTIPLY BY TEN 1780 31536 047610 ADB ZA2 ADD ON ONES 1781 31537 005000 BLS 1782 31540 044000 ADB A THEN- 1783 31541 077610 STB ZA2 STORE RESULT 1784 31542 102201 SOC TEST FOR OVERFLOW 1785 31543 027554 JMP OVFLW GO TO OVERFLOW RETURN 1786 31544 037611 .NEXT ISZ ZL2 INDEX ODD/EVEN FLAG 1787 31545 067611 LDB ZL2 LOAD ODD/EVEN FLAG 1788 31546 006011 SLB,RSS TEST STATUS 1789 31547 037577 ISZ ZL1 SET TO NEXT WORD IN BUFFER 1790 31550 037600 ISZ ZA1 TEST IF ALL NUMBERS PROCESSED 1791 31551 027512 JMP P1.. NOT FINISHED, COMTINUE 1792 31552 063610 LDA ZA2 FETCH COMPLETE CONVERTED # 1793 31553 037501 XRETX ISZ DVERT 1794 31554 127501 OVFLW JMP DVERT,I RETURN WITH RESULT IN A 1795* 1796*** LINKS TO OTHER PLACES AND THINGS 1797* 1798 31555 177637 D97 DEC -97 1799 31556 177670 M72 DEC -72 1800 31557 037064 ?FL1 DEF FLAG1 1801 31560 037075 ?USNT DEF USNT 1802 31561 035465 CLTMA DEF CLTM 1803 31562 035073 ?ON DEF LOGON 1804 31563 037066 ?CT DEF CT 1805 31564 036251 ?MOUT DEF MVUOT 1806 31565 036772 ?MOVE DEF MVSTK 1807 31566 036000 ?MON DEF MONIT 1808 31567 035556 MNTS? DEF MINTS 1809 31570 035557 HR? DEF HOUR 1810 31571 035763 PTBA? DEF PTBUF 1811 31572 035560 DATE? DEF DATE 1812 31573 035555 SEKS? DEF SEKS 1813 31574 035431 MBUF DEF LGOM4+9 1814 31575 035433 ?DBUF DEF LGOM4+11 1815 31576 035435 YBUF DEF LGOM4+13 1816 31577 000000 ZL1 NOP 1817 31600 000000 ZA1 NOP 1818 31601 120000 OT.FL OCT 120000 1819 31602 160000 IN.FL OCT 160000 1820 31603 000000 ZCT1 NOP 1821 31604 052525 ZULFL OCT 52525 1822 31605 000015 ZCRET OCT 15 1823 31606 000012 ZLNFD OCT 12 1824 31607 000000 ZCT2 NOP 1825 31610 000000 ZA2 NOP 1826 31611 000000 ZL2 NOP 1827 31612 000033 ZMODE OCT 33 1828 31613 000176 ZESCP OCT 176 1829 31614 000000 ZCTE NOP 1830 31615 031615 BSTK4 DEF * 1831 31616 037117 DEF DATA1 1832 31617 037132 DEF DATA2 1833 31620 037145 DEF DATA3 1834 31621 037160 DEF DATA4 1835 31622 031622 BSTK5 DEF * 1836 31623 036423 DEF WRIT1 1837 31624 036517 DEF WRIT2 1838 31625 036554 DEF WRIT3 1839 31626 036611 DEF WRIT4 1840 31627 031627 BSTK6 DEF * 1841 31630 000071 DEF BSK1 1842 31631 000072 DEF BSK2 1843 31632 000073 DEF BSK3 1844 31633 000074 DEF BSK4 1845 31634 037050 &&USR DEF &USR 1846 31635 000000 XTMP NOP 1847 31636 177720 OCT60 OCT -60 1848 31637 177763 ZM13 DEC -13 1849 31640 177703 ZM61 DEC -61 1850 31641 177772 ZTI1 DEC -6 1851 31642 031643 ZTA1 DEF *+1 1852 31643 054505 ASC 3,YEAR? 1853 31646 177771 ZTI2 DEC -7 1854 31647 031650 ZTA2 DEF *+1 1855 31650 046517 ASC 4,MONTH? 1856 31654 177773 ZTI3 DEC -5 1857 31655 031656 ZTA3 DEF *+1 1858 31656 042101 ASC 3,DAY? 1859 31661 177772 ZTI4 DEC -6 1860 31662 031663 ZTA4 DEF *+1 1861 31663 052111 ASC 3,TIME? 1862 31666 LEPIG EQU * 1863 SKP 1864 33710 ORG 33710B [A] 1865 33710 LWTSB EQU * 1866 33710 020061 ETBL ASC 10, 1234567890*;#$@ UX. 1867 33722 024455 ASC 10,)-^>:%'TWZ(+/<"?&SVY 1868 33734 020061 OTBL ASC 10, 1234567890CFILORUX. 1869 33746 026102 ASC 10,,BEHKNQTWZ=ADGJMPSVY 1870 33760 006414 OCT 6414 =DEC 13,12, OCT 15,14 1871 33761 010421 OCT 10421 =DEC 17,17, OCT 21,21 1872 33762 013027 OCT 13027 =DEC 22,23, OCT 26,27 1873 33763 015432 OCT 15432 =DEC 27,26, OCT 33,32 1874 33764 017437 OCT 17437 =DEC 31,31, OCT 37,37 1875 33765 021443 OCT 21443 =DEC 35,35, OCT 43,43 1876 33766 023451 OCT 23451 =DEC 39,41, OCT 47,51 1877 33767 027056 OCT 27056 =DEC 46,46, OCT 56,56 1878 33770 031066 OCT 31066 =DEC 50,54, OCT 62,66 1879 33771 004406 OTBLZ OCT 4406 =DEC 09,09, OCT 11,06 [A] 1880 33772 000401 OCT 401 =DEC 01,01, OCT 01,01 1881 34000 ORG 34000B 1882* 1883* 1884* ****************************************************************** 1885* 1886* CARD READER MODIFICATIONS TO THE BASIC INTERPRETER * 1887* 1888* ****************************************************************** 1889* 1890* RUN WHEN IN CARD MODE 1891* 1892 34000 060127 Y1 LDA TFLAG LOAD PTAPE & CARD FLAG 1893 34001 002003 SZA,RSS 0? 1894 34002 124252 JMP RUNA,I GO TO RUN 1895 34003 062414 LDA CCONT OUTPUT RUNCARD CONTENTS 1896 34004 064116 LDB .BUFA 1897 34005 114112 JSB WRITE,I 1898 34006 002400 CLA 1899 34007 072414 STA CCONT RESET CCNT=0 FOR ERROR 1900 34010 124252 JMP RUNA,I GO TO RUN 1901* 1902* SCRATCH 1903* 1904 34011 060127 Y2 LDA TFLAG ARE WE IN CARD OR PTAPE MODE? 1905 34012 002003 SZA,RSS 1906 34013 124055 JMP X3,I NOT CARD, GO TO FLUSH 1907 34014 060504 LDA M6 LOAD -6 1908 34015 066050 LDB PAGE LOAD PAGE BUF 1909 34016 114112 JSB WRITE,I 1910 34017 062414 LDA CCONT LOAD COUNT 1911 34020 064116 LDB .BUFA LOAD BUFFER ADDRESS 1912 34021 114112 JSB WRITE,I OUTPUT SCR COMMAND 1913 34022 060114 LDA FWAM 1914 34023 070121 STA PBUFF 1915 34024 070122 STA PBPTR 1916 34025 060411 LDA .32 1917 34026 070123 STA BLNK 1918 34027 002400 CLA 1919 34030 070124 STA LNUM 1920 34031 170256 Y5 STA DRQST,I CLEAR DATA REQUEST FLAG 1921 34032 124254 JMP PEXMA,I 1922* 1923* ERROR 1924* 1925 34033 060544 Y3 LDA ERROR SAVE RETURN ADDRESS 1926 34034 070176 STA STK19 1927 34035 060127 LDA TFLAG CARD OR PTAPE? 1928 34036 002003 SZA,RSS 1929 34037 026047 JMP *+8 1930 34040 062414 LDA CCONT LOAD CARD COUNT 1931 34041 002003 SZA,RSS ZERO? 1932 34042 026047 JMP *+5 YES: RUN TIME ERROR 1933 34043 050477 CPA M1 -1? 1934 34044 060434 LDA .72 YES, TOO MANY CHAR 1935 34045 064116 LDB .BUFA LOAD BUFFER ADDRESS 1936 34046 114112 JSB WRITE,I OUTPUT INCORRECT LINE 1937 34047 024547 JMP ERROR+3 1938 34050 034051 PAGE DEF *+1 1939 34051 005012 OCT 5012,5012,5012 1940 34054 060127 Y6 LDA TFLAG CHECK IF IN CARD OR PTAPE MODE 1941 34055 002003 SZA,RSS ZERO? 1942 34056 124255 JMP RDYDA,I YES - TTY MODE 1943 34057 002400 CLA NO - CARD OR PTAPE 1944 34060 114104 JSB SEXUA,I SET EXECUTION FLAG 1945 34061 026031 JMP Y5 1946******************************************* 1947*** *** 1948*** TIME-SHARE BASIC CARD READER DRIVER *** 1949*** *** 1950******************************************* 1951* 1952* CALL FROM BASIC: 1953* LDB 1954* LDA 1955* JSB .CARD,I 1956* 1957* RETURN 1958* 1959 34062 000000 CARDS NOP INITIATOR FOR CARD READER 1960 34063 076415 STB CBUFD SAVE BUFFER ADDRESS 1961 34064 072420 STA COUNX SAVE INPUT COUNT [A] 1962 34065 002400 CLA 1963 34066 072414 STA CCONT SET CHARZCTER COUNT CLEAR 1964 34067 072416 STA COLC CLEAR COLUMN COUNTER 1965 34070 072417 STA CONDT SET CONDITION INDICATOR 1966 34071 060103 LDA &MON& LOAD ADDRESS OF MONITOR 1967 34072 072077 STA CRINT STORE IT IN INT. NOP FOR RETURN 1968 34073 062413 LDA CRUSN SET TEMP CARD 1969 34074 072533 STA CRUST INDICATOR IN CASE OF STOP 1970 34075 116534 JSB XINTA,I SET TTY INT. TO EXECUTION 1971 34076 026344 JMP RCOL START CARD FEED 1972* 1973* 1974*** CARD READER INTERRUPT PROCESSOR 1975* 1976 34077 000000 CRINT NOP CARD READER INTERRUPT PROCESSOR 1977 34100 072421 STA CSAVA SAVE A REGISTER 1978 34101 076422 STB CSAVB SAVE B REGISTER 1979 34102 002400 CLA SAVE E & O REGISTER 1980 34103 102201 SOC IS OVERFLOW CLEAR 1981 34104 002004 INA YES INCREMENT A 1982 34105 001500 ERA SAVE E 1983 34106 072423 STA CSAVE 1984 34107 103100 CLF 0 TURN OFF INTERRUPT SYSTEM [A] 1985* 1986 34110 103500 CRDR1 LIA 0,C LOAD IN CHARACTER 1987 34111 066417 LDB CONDT LOAD CONDITIONS 1988 34112 006003 SZB,RSS IS IT TRYING TO FEED A CARD? 1989 34113 026332 JMP RCOLI YES, SEE IF SUCCESS 1990 34114 006020 SSB NO, SEE IF WAITING FOR END OF CARD 1991 34115 026275 JMP CKCN1 YES, CHECK FOR END 1992 34116 036416 ISZ COLC GET NEXT COLUMN 1993 34117 066416 LDB COLC CHECK IF 37 (CONTINUE COLUMN) 1994 34120 054416 CPB .37 1995 34121 026271 JMP CKCON YES - CONTINUE? 1996 34122 012525 AND B7777 GET RID OF STATUS 1997 34123 002003 SZA,RSS NO - NULL? 1998 34124 026307 JMP RRET YES - WAIT FOR NEXT COLUMN 1999 34125 007400 CCB SET B=-1 2000 34126 076424 STB TOPFL INITIALIZE TOP 2001 34127 076425 STB BTMFL AND BOTTOM FLAGS 2002 34130 064507 LDB M9 INITIALIZE ROW COUNTER 2003 34131 076426 STB RCTRX 2004 34132 006400 CLB CLEAR B FOR CODE ACCUMULATION 2005 34133 000010 SLA CHECK ROW 12 2006 34134 026246 JMP SET12 2007 34135 001310 R1 RAR,SLA CHECK ROW 11 2008 34136 026252 JMP SET11 2009 34137 001310 RAR,SLA CHECK ROW 10 2010 34140 026256 JMP SET10 2011 34141 001722 ALF,RAL POSITION BITS 2012 34142 001200 R2 RAL 2013 34143 002020 SSA CHECK 1-9 2014 34144 026262 JMP SET19 2015 34145 036426 ISZ RCTRX CHECK IF MORE ROWS 2016 34146 026142 JMP R2 YES 2018* 2019* 2020* B CONTINS THE CHAR CODE (1-39) 2021 34147 060001 LDA B CHAR CODE INTO A 2022 34150 066416 LDB COLC GET COLUMN CTR IN B 2023 34151 044503 ADB M5 B=B-5 2024 34152 006020 SSB B<=0? 2025 34153 026241 JMP STNO COL. 1,2,3,4 STMT NO. 2026 34154 044500 ADB M2 2027 34155 006020 SSB IS COLC <=6? 2028 34156 026175 JMP COL56 COL. 5,6 COMMAND 2029 34157 000065 R3 CLE,ERA 2030 34160 004010 SLB 2031 34161 026173 JMP EVENC EVEN COLUMN 2032* 2033* ODD COLUMN 2034* 2035 34162 066431 LDB OTBLA LOAD ODD TABLE ADR 2036 34163 040001 R4 ADA 1 ADDR OF CHARS NOW IN A 2037 34164 160000 LDA 0,I GET CHARS 2038 34165 002041 SEZ,RSS LEFT OR RIGHT? 2039 34166 001727 ALF,ALF WAS LEFT, MOVE RIGHT 2040 34167 066414 LDB CCONT LOAD CHAR COUNT 2041 34170 016317 JSB STCHR STORE THE CHARACTER 2042 34171 076414 STB CCONT 2043 34172 026307 JMP RRET GO WAIT FOR NEXT COLUMN 2044 34173 066430 EVENC LDB ETBLA LOAD EVEN TABLE ADDRESS 2045 34174 026163 JMP R4 2046 34175 103101 COL56 CLO CLEAR O 2047 34176 006011 SLB,RSS SET O IF COL 5 2048 34177 102101 STO 2049 34200 066414 LDB CCONT LOAD COUNT 2050 34201 040510 ADA M10 2051 34202 002020 SSA 2052 34203 026213 JMP OKCRD IF A<10 THEN OK 2053 34204 040510 ADA M10 2054 34205 002003 SZA,RSS IF A=20, CONVERT 2055 34206 026213 JMP OKCRD TO ZERO 2056 34207 040510 ADA M10 2057 34210 002002 SZA IF A=30, CONVERT TO ONE 2058 34211 026307 JMP RRET INVALID CODE, IGNORE 2059 34212 002004 INA A=1 2060 34213 042432 OKCRD ADA ADTBL GET ADDR OF REF TABLE 2061 34214 160000 LDA 0,I GET ENTRY 2062 34215 102201 SOC LEFT OR RIGHT? 2063 34216 001727 ALF,ALF WAS LEFT, MOVE RIGHT 2064 34217 010430 AND .77 STRIP TO 6 BITS 2065 34220 042433 ADA NMLST N ADD ADDR OF NAME TABLE 2066 34221 072532 STA ADTMP SAVE ADDRESS OF CURRENT CHAR 2067 34222 060411 LDA SP LOAD SPACE CHAR 2068 34223 016317 JSB STCHR STORE CHARACTER 2069 34224 162532 NEXTC LDA ADTMP,I GET NEXT HAR 2070 34225 102201 SOC LEFT OR RIGHT 2071 34226 001727 ALF,ALF WAS LEFT, MOVE RIGHT 2072 34227 010443 AND B177 7 BITS 2073 34230 050431 CPA AT @=END 2074 34231 026235 JMP FINSH 2075 34232 016317 JSB STCHR STORE CHAR 2076 34233 036532 ISZ ADTMP GET NEXT CHAR 2077 34234 026224 JMP NEXTC 2078 34235 060411 FINSH LDA SP ADD SPACE 2079 34236 016317 JSB STCHR 2080 34237 076414 STB CCONT STORE COUNT 2081 34240 026307 JMP RRET WAIT FOR NEXT COLUMN 2082 34241 040511 STNO ADA M11 IS IT A NUMBER 2083 34242 002021 SSA,RSS 2084 34243 026307 JMP RRET NO - DELET IT 2085 34244 042531 ADA .11. 2086 34245 026157 JMP R3 2087 34246 036424 SET12 ISZ TOPFL 2088 34247 000000 TEM NOP 2089 34250 044407 ADB .30 RECORD ROW 12 PUNCH 2090 34251 026135 JMP R1 2091 34252 036424 SET11 ISZ TOPFL 2092 34253 026307 JMP RRET INVALID CODE 2093 34254 046526 ADB .20 RECORD ROW 11 PUNCH 2094 34255 026137 JMP R1+2 2095 34256 036424 SET10 ISZ TOPFL 2096 34257 026307 JMP RRET INVALID 2097 34260 044400 ADB .10 RECORD IT 2098 34261 026141 JMP R2-1 2099 34262 036425 SET19 ISZ BTMFL 2100 34263 026307 JMP RRET INVALID 2101 34264 076247 STB TEM SAVE RUNNING TOTAL 2102 34265 066426 LDB RCTRX 2103 34266 007004 CMB,INB 2104 34267 046247 ADB TEM 2105 34270 026145 JMP R2+3 2106* 2107* 2108* 2109* 2110* CHECK CONTINUE COLUMN 2111* 2112* 2113 34271 072530 CKCON STA CONCD GET ROW 12 INTO CONTINUE CODE 2114 34272 003400 CCA 2115 34273 072417 STA CONDT SET CONDITION -1 WAIT FOR CARD END 2116 34274 026307 JMP RRET RETURN 2117 34275 001200 CKCN1 RAL CHECK FOR CARD END 2118 34276 002021 SSA,RSS 2119 34277 026307 JMP RRET NO WAIT FOR END 2120* 2121 34300 062530 LDA CONCD LOAD CONTINUE CODE 2122 34301 002011 SLA,RSS ROW 12 SET? 2123 34302 026352 JMP PAU NO - DONE 2124 34303 002400 CLA YES 2125 34304 072416 STA COLC RESET COLUMN COUNT 2126 34305 072417 STA CONDT RESET CONDITION 2127 34306 026344 JMP RCOL START NEW CARD 2128* 2129* RETURN 2130* 2131 34307 103101 RRET CLO RESTORE REGISTER 2132 34310 062423 LDA CSAVE 2133 34311 001610 ELA,SLA 2134 34312 102101 STO 2135 34313 062421 LDA CSAVA 2136 34314 066422 LDB CSAVB 2137 34315 102100 STF 0 ENABLE INTERRUPT SYSTEM [A] 2138 34316 126077 JMP CRINT,I RETURN 2139* 2140* 2141* 2142* SUBROUTINE TO STORE THE CHARACTER 2143* 2144 34317 000000 STCHR NOP 2145 34320 056420 CPB COUNX TEST FOR BUFFER OVERFLOW [A] 2146 34321 126317 JMP STCHR,I RETURN IF OVERFLOW [A] 2147 34322 010443 AND B177 MASK OFF TO 7 BITS 2148 34323 006011 SLB,RSS CHECK COUNT FOR CHAR POSITION 2149 34324 001737 ALF,SLA,ALF UPPER CHAR 2150 34325 132415 IOR CBUFD,I LOWER, ADD ON UPPER 2151 34326 172415 STA CBUFD,I STORE WORD 2152 34327 006014 SLB,INB INCREMENT COUNTER AND TEST 2153 34330 036415 ISZ CBUFD GO TO NEXT WORD 2154 34331 126317 JMP STCHR,I RETURN 2155* 2156* 2157* 2158* SECTION TO START READING A CARD 2159* 2160* 2161 34332 002021 RCOLI SSA,RSS IS STATUS OK? 2162 34333 026336 JMP CR2 NO 2163 34334 036417 ISZ CONDT SET CONDITION CODE 2164* 2165 34335 026307 JMP RRET READ FIRST COLUMN 2166 34336 001200 CR2 RAL 2167 34337 002020 SSA 2168 34340 026357 JMP SETM2 END-OF-CARD "ERROR" 2169 34341 036427 ISZ TRYCT TRY AGAIN? 2170 34342 026346 JMP RCOL+2 YES 2171 34343 026357 JMP SETM2 NO CARDS "ERROR" 2172* 2173* 2174* 2175 34344 060503 RCOL LDA M5 SET RETRY COUNTER 2176 34345 072427 STA TRYCT 2177 34346 103700 STC 0,C ENABLE READER 2178 34347 002404 CLA,INA START FEED 2179 34350 102600 OTA 0 2180 34351 026307 JMP RRET READER RETURN 2181* 2182* 2183* SET DATA FLAG 2184* 2185* AND CLEAR CARD READER 2186* 2187* 2188 34352 002404 PAU CLA,INA 2189 34353 072412 STA CDATA SET CARD READER DATA FLAG 2190 34354 002400 CLA CLEAR CARD TEMP INC 2191 34355 072533 STA CRUST 2192 34356 026307 JMP RRET RETURN 2193 34357 060501 SETM2 LDA M3 LOAD ERROR CONDITION 2194 34360 072412 STA CDATA 2195 34361 106700 CLC 0 CLEAR READER 2196 34362 026354 JMP *-6 2197 34363 026307 JMP RRET 2198* 2199* 2200* 2201*** CHECK CARD READER 2202* 2203* 2204 34364 000000 CCARD NOP SUBROUTINE TO CHECK IF CARD READER 2205 34365 062412 LDA CDATA NEEDS SERVICE 2206 34366 002003 SZA,RSS IS DATA FLAG 0? 2207 34367 126364 JMP CCARD,I YES - GO BACK TO MONITOR 2208 34370 006400 CLB NO - RESET IT 2209 34371 076412 STB CDATA 2210 34372 073010 STA TEM3 SAVE DATA FLAG 2211 34373 003400 CCA SET FLAG1=-1 2212 34374 172703 STA FLG1,I TO INDICATE USER CHECK 2213 34375 042413 ADA CRUSN USER #-1=BIAS 2214 34376 173020 STA BIAS.,I 2215 34377 117022 JSB ACT.,I ACTIVATE THE USER 2216 34400 062527 LDA EXU. IS OT A STOP CONDITION? 2217 34401 143020 ADA BIAS.,I CHECK EXU FLAG TO SEE. 2218 34402 160000 LDA A,I 2219 34403 002020 SSA 2220 34404 114110 JSB I.STP,I YES - GO TO STOP ROUTINE 2221 34405 062414 LDA CCONT NO - LOAD CHARACTER COUNT 2222 34406 067010 LDB TEM3 LOAD DATA FLAG 2223 34407 006020 SSB IS FLAG NEGATIVE? 2224 34410 063010 LDA TEM3 YES GET FLAG TO A REG. 2225 34411 126062 JMP CARDS,I RETURN TO BASIC 2226 34412 000000 CDATA NOP CARD READER DATA FLAG 2227 34413 000000 CRUSN NOP CARD REACER USER NUMBER 2228 34414 000000 CCONT NOP CHARACTER COUNT 2229 34415 000000 CBUFD NOP BUFFER ADDRESS 2230 34416 000000 COLC NOP COLUMN COUNT 2231 34417 000000 CONDT NOP CONDITION OF CARD READER 2232 34420 000000 COUNX NOP [A] 2233 34421 000000 CSAVA NOP SAVE A REGISTER 2234 34422 000000 CSAVB NOP 2235 34423 000000 CSAVE NOP 2236 34424 000000 TOPFL NOP 2237 34425 000000 BTMFL NOP 2238 34426 000000 RCTRX NOP 2239 34427 000000 TRYCT NOP COUNTER FOR FEED ATTEMPTS 2240 00000 CIN EQU 0 2241 34430 033710 ETBLA DEF ETBL 2242 34431 033734 OTBLA DEF OTBL 2243 34432 033771 ADTBL DEF OTBLZ [A] 2244 34433 034433 NMLST DEF * 2245 34434 051514 ASC 10,SLCIRSATT@CPHU@NRCUH 2246 34446 047100 ASC 10,N@@RLEEATD@@DPARTIAN 2247 34460 040124 ASC 10,@TG@OITFO@@NFEOXRT@@ 2248 34472 042105 ASC 10,DEINMD@@DGEOFS@URBE@ 2249 34504 052123 ASC 10,TSUTRONP@@RREEMS@TMO 2250 34516 040522 ASC 7,ARTE@@ C O M @ 2251 34525 007777 B7777 OCT 7777 2252 34526 000024 .20 DEC 20 2253 34527 000065 EXU. DEF EXU1 2254 34530 000000 CONCD NOP 2255 34531 000013 .11. DEC 11 2256 34532 000000 ADTMP NOP 2257 34533 000000 CRUST NOP 2258 34534 036404 XINTA DEF XINT 2259* 2260* 2261* 2262*********************************************** 2263*** *** 2264*** TIME-SHARE BASIC PHOTOREADER DRIVER *** 2265*** *** 2266*********************************************** 2267* 2268* CALL FROM BASIC: 2269* 2270* LDB 2271* LDA 2272* JSB .HSPR,I 2273* 2274* RETURN 2275* 2276* 2277 34535 000000 .HSPR NOP ENTRY POINT TO PHOTOREADER DRIVER 2278 34536 072637 STA HSROC STORE CHARACTER COUNT 2279 34537 076640 STB BLNTH SAVE BUFFER ADDRESS 2280 34540 002400 CLA CLEAR A-REGISTER AND- 2281 34541 072641 STA HSPTR STORE IN CHARACTER IN COUNT 2282 34542 103700 STC 0,C INITIATE PHOTOREADER INPUT 2283 34543 124103 JMP &MON&,I GO TO MONITOR 2284* 2285*** PHOTOREADER INTERRUPT PROCESSOR 2286* 2287 34544 000000 RDINT NOP 2288 34545 072642 STA ?SAVA SAVE CONTENTS OF A-REGISTER 2289 34546 076643 STB ?SAVB SAVE CONTENTS OF B-REG 2290 34547 102500 LIA 0 LOAD CHARACTER 2291 34550 010443 AND M177 MASK PARITY 2292 34551 053761 CPA RTA IS IT A RETURN? 2293 34552 026606 JMP CRIN SET CARRIAGE RETURN FLAG 2294 34553 050400 CPA LF IS IT A LINE-FEED? 2295 34554 026602 JMP ?OMIT YES-IGNORE 2296 34555 050443 CPA RBOUT IS IT A RUBOUT? 2297 34556 026602 JMP ?OMIT YES - IGNORE 2298* 2299 34557 052646 CPA AMDE ALT MODE? [A] 2300 34560 026620 JMP NWLNE YES [A] 2301 34561 050405 CPA EMODE ESCAPE? [A] 2302 34562 026620 JMP NWLNE YES - DELETE ENTIRE LINE [A] 2303 34563 052647 CPA AROW LEFT ARROW? [A] 2304 34564 026623 JMP DLET. YES - DELETE LAST CHARACTER [A] 2305 34565 002003 SZA,RSS TEST FOR NULL 2306 34566 026611 JMP ?LDR TEST FOR LEADER/TRAILER TAPE 2307 34567 036644 ISZ TPFLG INDEX CHARACTER FLAG 2308 34570 066641 LDB HSPTR LOAD CHARACTER IN COUNT 2309 34571 056637 CPB HSROC TEST FOR FULL BUFFER 2310 34572 026602 JMP ?OMIT YES-IGNORE LAST CHARACTER 2311 34573 006011 SLB,RSS STORE 2312 34574 001737 ALF,SLA,ALF CHARACTER * 2313 34575 132640 IOR BLNTH,I IN * 2314 34576 172640 STA BLNTH,I BUFFER * 2315 34577 006014 SLB,INB * 2316 34600 036640 ISZ BLNTH * 2317 34601 076641 STB HSPTR SAVE CHARACTER IN COUNT 2318 34602 103700 ?OMIT STC 0,C START NEXT INPUT 2319 34603 062642 LDA ?SAVA RESTORE A-REGISTER 2320 34604 066643 LDB ?SAVB RESTORE B-REGISTER 2321 34605 126544 JMP RDINT,I RETURN 2322* 2323 34606 106700 CRIN CLC 0 2324 34607 072645 STA HSRDT SET RECORD IN FLAG 2325 34610 026603 JMP ?OMIT+1 2326* 2327 34611 062644 ?LDR LDA TPFLG LOAD LEADER/TRAILER FLAG 2328 34612 002003 SZA,RSS TEST FOR TRAILER 2329 34613 026602 JMP ?OMIT LEADER TAPE-IGNORE 2330 34614 106700 CLC 0 TURN OFF PHOTOREADER 2331 34615 064510 LDB M10 LOAD B=-10 2332 34616 076645 STB HSRDT SET EOT FLAG 2333 34617 026602 JMP ?OMIT RETURN 2334* 2335*** DELETE ENTIRE LINE 2336* 2337 34620 006400 NWLNE CLB SET RECORD IN COUNT [A] 2338 34621 076641 STB HSPTR TO ZERO [A] 2339 34622 026606 JMP CRIN SET RECORD-IN FLAG [A] 2340* 2341*** DELETE LAST CHARACTER IN BUFFER 2342* 2343 34623 066641 DLET. LDB HSPTR CHECK FOR EMPTY BUFFER [A] 2344 34624 006003 SZB,RSS [A] 2345 34625 026602 JMP ?OMIT IF EMPTY - GET NEXT CHARACTER [A] 2346 34626 003400 CCA [A] 2347 34627 044000 ADB A DECREMENT CHARACTER COUNT [A] 2348 34630 006011 SLB,RSS ODD OR EVEN CHARACTER? [A] 2349 34631 026601 JMP ?OMIT-1 EVEN - JUST DECREMENT ADDRESS [A] 2350 34632 042640 ADA BLNTH POINTER. [A] 2351 34633 162640 LDA BLNTH,I ODD - DELETE LAST CHARACTER [A] 2352 34634 010527 AND MSK1 INPUT. [A] 2353 34635 172640 STA BLNTH,I [A] 2354 34636 026601 JMP ?OMIT-1 [A] 2355* 2356*** PHOTOREADER DATA VALUES 2357* 2358* 2359 34637 000000 HSROC NOP PHOTOREADER ORIGINAL DATA COUNT 2360 34640 000000 BLNTH NOP PHOTOREADER BUFFER STORE POINTER 2361 34641 000000 HSPTR NOP CHARACTER IN COUNTER 2362 34642 000000 ?SAVA NOP 2363 34643 000000 ?SAVB NOP 2364 34644 000000 TPFLG NOP LEADER/TRAILER TAPE FLAG 2365 34645 000000 HSRDT NOP PHOTOREADER DATA FLAG 2366* 2367 34646 000176 AMDE OCT 176 [A] 2368 34647 000137 AROW OCT 137 [A] 2369*** STORAGE FOR USER # WHILE PTAPE ACTIVATED 2370* 2371 34650 000000 PTUSN NOP TAPE USER # STORAGE 2372* 2373*** CHECK PHOTOREADER 2374* 2375 34651 000000 CPHTO NOP 2376 34652 062645 LDA HSRDT GET PHOTOREADER DATA FLAG 2377 34653 002003 SZA,RSS DATA FLAG SET? 2378 34654 126651 JMP CPHTO,I NO-RETURN TO MONITOR 2379 34655 036535 ISZ .HSPR SET RETURN TO P+2 2380 34656 006400 CLB 2381 34657 076645 STB HSRDT CLEAR PHOTOREADER FLAG 2382 34660 073010 STA TEM3 SAVE DATA FLAG 2383 34661 003400 CCA SET FLAG1=-1 2384 34662 172703 STA FLG1,I (USER CHECK) 2385 34663 042650 ADA PTUSN COMPUTE PTAPE USER 2386 34664 173020 STA BIAS.,I 2387 34665 117022 JSB ACT.,I ACTIVATE THE USER 2388 34666 062641 LDA HSPTR LOAD CHAR -IN- COUNT 2389 34667 067010 LDB TEM3 RELOAD DATA FLAG 2390 34670 054510 CPB M10 END-OF-TAPE? 2391 34671 002001 RSS YES-PROCESS EOT 2392 34672 126535 JMP .HSPR,I NO-RETURN 2393 34673 106700 .RDR1 CLC 0 TURN OFF PHOTOREADER 2394 34674 006400 CLB 2395 34675 076644 STB TPFLG CLEAR LEADER/TRAILER FLAG. 2396 34676 060401 LDA .12 OUTPUT "TAPE LOADED" 2397 34677 066704 LDB TLRDR TO TELETYPE 2398 34700 114112 JSB WRITE,I 2399 34701 060501 LDA M3 LOAD EOT FLAG 2400 34702 126535 JMP .HSPR,I RETURN 2401 34703 037064 FLG1 DEF FLAG1 2402 34704 034705 TLRDR DEF *+1 2403 34705 052101 ASC 6,TAPE LOADED 2404* 2405*** RETURN AFTER INPUT FROM LOCAL TTY 2406* 2407 34713 073010 PTPRC STA TEM3 2408 34714 007400 CCB SET LOG TTY BUSY FLAG 2409 34715 077564 STB BUSY 2410 34716 002400 CLA OUTPUT CR-LF 2411 34717 117656 JSB LCLOT,I 2412 34720 117657 JSB LCLIN,I INITIATE NEW INPUT 2413 34721 002400 CLA CLEAR LOG TTY BUSY FLAG 2414 34722 073564 STA BUSY 2415* 2416* MODIFY PTPRC 2417* 2418 34723 064063 LDB USN LOAD THE USER NUMBER 2419 34724 006003 SZB,RSS IS IT ZERO? 2420 34725 026731 JMP *+4 YES NO ONE IN 2421 34726 047021 ADB .BSKA NO, GET USER STACK ADDRESS 2422 34727 164001 LDB B,I 2423 34730 117017 JSB #MOT#,I MOVE THE USER OUT 2424 34731 002400 CLA 2425 34732 070063 STA USN CLEAR USER NUMBER 2426 34733 067763 LDB PTBUF LOAD INPUT BUFFER 2427 34734 074127 STB TFLAG SET PT FLAG 2428 34735 057015 CPB PT IS IT A PTABE 2429 34736 026742 JMP ?PTCR 2430 34737 057016 CPB CA IS IT A CARD? 2431 34740 002001 RSS 2432 34741 124103 JMP &MON&,I NO RETURN TO MONITOR 2433 34742 063762 ?PTCR LDA PTBFA LOAD PTAPE BUFFER 2434 34743 001200 RAL 2435 34744 070125 STA BADDR 2436 34745 063010 LDA TEM3 LOAD CHARACTER COUNT 2437 34746 003000 CMA CHAR TO -#-1 2438 34747 070126 STA CCNT 2439 34750 114276 JSB GETCR,I GET A CHARACTER 2440 34751 124103 JMP &MON&,I NO MORE CHARS INVALID 2441 34752 114277 JSB DIGCK,I IS IT A DIGIT? 2442 34753 026750 JMP *-3 NO 2443 34754 073010 STA TEM3 SAVE USER # 2444 34755 002003 SZA,RSS TEST FOR ZERO USER # [A] 2445 34756 124103 JMP &MON&,I RETURN IF USER 0 [A] 2446 34757 040503 ADA M5 TEST FOR USER NUMBER [A] 2447 34760 002021 SSA,RSS GREATER THAN 4 [A] 2448 34761 124103 JMP &MON&,I RETURN IF TOO LARGE [A] 2449 34762 063010 LDA TEM3 RELOAD USER NUMBER [A] 2450 34763 064127 LDB TFLAG LOAD FLAG 2451 34764 040477 ADA M1 SUBTRACT 1 2452 34765 173020 STA BIAS.,I SET BIAS 2453 34766 043014 ADA DRS. CHECK FOR INACTIVE USER [A] 2454 34767 160000 LDA A,I [A] 2455 34770 020536 XOR M15 THIS IS A CHANNEL IN THE [A] 2456 34771 160000 LDA A,I LOGGING ROUTINES [A] 2457 34772 053013 CPA LOGGR [A] 2458 34773 124103 JMP &MON&,I RETURN IF INACTIVE USER [A] 2459 34774 163020 LDA BIAS.,I RESTORE BIAS IN (A) [A] 2460 34775 117022 JSB ACT.,I ACTIVATE THE USER 2461 34776 063010 LDA TEM3 RELOAD USER # 2462 34777 057016 CPB CA IS IT CARD READER 2463 35000 072413 STA CRUSN YES 2464 35001 057015 CPB PT PTAPE? 2465 35002 072650 STA PTUSN YES 2466 35003 003400 CCA SET A=-1 FOR PT 2467 35004 057016 CPB CA IS IT CARDS? 2468 35005 060536 LDA M15 YES A=15 2469 35006 070127 STA TFLAG SET FLAG 2470 35007 124061 JMP PTAP,I GO TO PTAPE IN BASIC 2471* 2472 35010 000000 TEM3 NOP 2473 35011 000000 &BAD& NOP 2474 35012 000000 &CNT& NOP 2475 35013 035076 LOGGR DEF LOGON+3 [A] 2476 35014 037060 DRS. DEF DRS+1 [A] 2477* 2478 35015 050124 PT ASC 1,PT 2479 35016 041501 CA ASC 1,CA 2480 35017 036251 #MOT# DEF MVUOT 2481 35020 037067 BIAS. DEF BIAS 2482 35021 000070 .BSKA DEF BSK1-1 2483 35022 036223 ACT. DEF ACT 2484* 2485* 2486* 2487*** EXECUTE "MESG" COMMAND 2488* 2489 35023 002400 MSSG CLA OUTPUT CR-LF ON 2490 35024 114112 JSB WRITE,I USER TTY 2491 35025 063564 LDA BUSY LOAD BUSY FLAG 2492 35026 002002 SZA AND RETURN IF 2493 35027 027445 JMP NOGO2 LOG TTY IS BUSY 2494 35030 063563 LDA PNCMD OTHERWISE-SET LOG 2495 35031 073564 STA BUSY TTY MOTOR ON AND 2496 35032 102600 LTTY3 OTA 0 SET BUSY FLAG. 2497 35033 067065 LDB D500 FOR LOG TTY 2498 35034 063065 LDA D500 GIVE DELAY 2499 35035 002006 INA,SZA MOTOR 2500 35036 027035 JMP *-1 TO COME 2501 35037 006006 INB,SZB UO TO 2502 35040 027034 JMP *-4 PRINT SPEED 2503 35041 060063 LDA USN GET USER # 2504 35042 030425 IOR .48 ADD ON ASCII # BITS 2505 35043 001727 ALF,ALF POSITION TO UPPER WORD 2506 35044 073064 STA CMSG PUT IN BUFFER 2507 35045 063054 LDA .13 OUTPUT MESSAGE: 2508 35046 067055 LDB MSGA "MSG CH: X" 2509 35047 117656 JSB LCLOT,I 2510 35050 117657 JSB LCLIN,I 2511 35051 002400 CLA CLEAR BUSY FALG 2512 35052 073564 STA BUSY 2513 35053 124255 JMP RDYDA,I RETURN TO BASIC 2514* 2515 35054 000015 .13 DEC 13 2516 35055 035056 MSGA DEF *+1 2517 35056 003407 OCT 3407 2518 35057 003407 OCT 3407 2519 35060 046523 ASC 4,MSG CH: 2520 35064 CMSG BSS 1 2521 35065 177014 D500 DEC -500 2522* 2523 35066 000000 ACCT# NOP 2524 35067 000000 TBL NOP 2525 35070 SYIN# BSS 1 2526 35071 SINA BSS 1 2527 35072 SLENA BSS 1 2529* 2530* 2531* LOGGING ROUTINES 2532* 2533* 2534* 2535***************************** 2536*** *** 2537*** LOG-ON SUBROUTINE *** 2538*** *** 2539***************************** 2540* 2541 35073 060434 LOGON LDA .72 ASK FOR 72 CHARS INPUT 2542 35074 064116 LDB .BUFA GIVE I/O BUFFER ADDRESS 2543 35075 114113 JSB REED,I GET KEYBOARD INPUT 2544 35076 002020 SSA RECORD DELETED? 2545 35077 027305 JMP DLET 2546 35100 070227 STA INFO1 SAVE INPUT COUNT 2547 35101 060374 LDA .6 SET (A) TO 6 2548 35102 064116 LDB .BUFA LOAD BUFFER ADDRESS 2549 35103 017264 JSB SETUP SET-UP CALL TO TABLE SEARCH 2550 35104 063300 LDA HELLO GET "HELLO" ADDRESS 2551 35105 007400 CCB 2552 35106 114262 JSB TSRCH,I SEARCH TABLE 2553 35107 027246 JMP INVAL NO- INVALID ACCESS 2554 35110 064116 LDB .BUFA RELOAD BUFFER ADDRESS 2555 35111 044372 ADB .3 INDEX BY 3. 2556 35112 060227 LDA INFO1 RELOAD CHAR INPUT COUNT 2557 35113 040504 ADA M6 SUBTRACT 6 2558 35114 017264 JSB SETUP SET-UP CALL TO TABLE SEARCH 2559 35115 063066 LDA ACCT# GET ACCOUNT CODE ADDRESS 2560 35116 067067 LDB TBL GET TABEL LENGTH 2561 35117 114262 JSB TSRCH,I SEARCH TABLE 2562 35120 027246 JMP INVAL NOT VALID- INVALID ACCESS 2563 35121 001727 ALF,ALF ROTATE ACCOUNT NUMBER 2564 35122 001300 RAR INTO POSITION 2565 35123 067565 LDB USAC# LOAD USER ACCOUNT ADDRESS. 2566 35124 044063 ADB USN INDEX BY USER NUMBER. 2567 35125 170001 STA B,I SAVE USER ACCOUNT # 2568* 2569*** INPUT USER NAME AND I.D. 2570* 2571 35126 060511 NAME LDA M11 OUTPUT MESSAGE: 2572 35127 067647 LDB MES1A NAME-I.D. 2573 35130 114112 JSB WRITE,I 2574 35131 060434 LDA .72 INPUT 72 CHARS 2575 35132 064116 LDB .BUFA GIVE INPUT BUFFER ADR 2576 35133 114113 JSB REED,I ASK FOR KEY BOARD INPUT 2577 35134 002003 SZA,RSS TEST FOR NULL INPUT 2578 35135 027126 JMP NAME NULL INPUT - TRY AGAIN 2579 35136 002020 SSA TEST FOR DELETED RECORD 2580 35137 027126 JMP NAME RECORD DELETED - TRY AGAIN 2581 35140 070230 STA INFO2 SAVE INPUT COUNT 2582 35141 067564 LDB BUSY LOAD BUSY FLAG 2583 35142 006002 SZB LOG TTY BUSY? 2584 35143 027437 JMP NOGO1 YES-TRY AGAIN 2585 35144 063563 LDA PNCMD LOAD PUNCH COMMAND 2586 35145 073564 STA BUSY TURN ON LOG TTY AND 2587 35146 102600 LTTY1 OTA 0 SET BUSY FLAG 2588 35147 002400 CLA OUTPUT 2589 35150 114112 JSB WRITE,I CR-LF ON USER TTY 2590 35151 017364 JSB ONOFF SET UP HEADER 2591 35152 070231 STA INFO3 SAVE CHARACTER COUNT 2592* 2593*** SET UP "TIME-ON" HEADER 2594* 2595 35153 064400 LDB .10 SET CCNT TO 10 2596 35154 074126 STB CCNT CHARS OUT 2597 35155 067436 LDB LGOM5 SET BADDR TO BUFFER 2598 35156 074125 STB BADDR ADDRESS -1 2599 35157 063557 LDA HOUR LOAD HOURS COUNT 2600 35160 017226 JSB OUTIM OUTPUT HOURS COUNT 2601 35161 063556 LDA MINTS LOAD MINUTES COUNT 2602 35162 017226 JSB OUTIM OUTPUT MINUTES COUNT 2603* 2604*** OUTPUT LOG-ON DATA 2605* 2606* 2607 35163 060231 LDA INFO3 OUTPUT CHANNEL 2608 35164 067404 LDB LGOM1 INFO TO USER 2609 35165 114112 JSB WRITE,I 2610 35166 063605 LDA GTBSL OUTPUT TIME TO 2611 35167 067420 LDB LGOM4 USER 2612 35170 114112 JSB WRITE,I 2613 35171 002400 CLA OUTPUT 2614 35172 117656 JSB LCLOT,I CR-LF 2615 35173 060231 LDA INFO3 OUTPUT CHANNEL 2616 35174 067404 LDB LGOM1 INFOR TO LOG 2617 35175 117656 JSB LCLOT,I 2618 35176 063605 LDA GTBSL OUTPUT TIME-ON 2619 35177 067420 LDB LGOM4 TO LOG. 2620 35200 117656 JSB LCLOT,I 2621 35201 060230 LDA INFO2 2622 35202 064116 LDB .BUFA OUTPUT USER MESSAGE 2623 35203 117656 JSB LCLOT,I TO LOG. 2624 35204 117657 JSB LCLIN,I 2625 35205 002400 CLA 2626 35206 073564 STA BUSY CLEAR BUSY FLAG 2627* 2628* OUTPUT SYSTEMS INFO 2629* 2630* SYIN# IS NUMBER OF LINES TO BE OUTPUTTED 2631* SLENA IS ADDRESS OF TABLE OF LINE LENGTHS 2632* SINA IS ADDRESS OF TABLE OF LINE ADDRESSES 2633* 2634* 2635 35207 063070 LDA SYIN# LOAD NUMBER OF LINES 2636 35210 070227 STA INFO1 SAVE IN COUNT 2637 35211 063072 LDA SLENA GET ADDRESS OF LENGTH TABLE 2638 35212 070230 STA INFO2 SAVE IT 2639 35213 063071 LDA SINA GET ADDRESS OF ADDRESS TABLE 2640 35214 070231 STA INFO3 SAVE IT 2641* 2642 35215 160230 SYST LDA INFO2,I GET LENGTH 2643 35216 164231 LDB INFO3,I GET ADDRESS 2644 35217 114112 JSB WRITE,I OUTPUT LINE 2645 35220 034230 ISZ INFO2 INDEX TO NEXT LENGTH 2646 35221 034231 ISZ INFO3 NEXT ADDRESS 2647 35222 034227 ISZ INFO1 CHECK IF LAST ONE 2648 35223 027215 JMP SYST NO 2649* CLEAR TIME 2650 35224 017465 JSB CLTM 2651 35225 124100 JMP ONADR,I GO TO BASIC 2652* 2653* 2654*** SUBROUTINE TO SET UP "TIME-ON" HEADER 2655* 2656 35226 000000 OUTIM NOP 2657 35227 073245 STA DTMP SAVE IN TEMP 2658 35230 040510 ADA M10 SUBTRACT 10 2659 35231 002021 SSA,RSS POS? 2660 35232 027235 JMP *+3 YES-TIME>=0 2661 35233 060425 LDA .48 OUTPUT A ZERO 2662 35234 114275 JSB OUTCR,I TO CLOCK BUFFER 2663* 2664 35235 063245 LDA DTMP RELOAD CLOCK COUNT 2665 35236 002002 SZA ZERO? 2666 35237 027243 JMP *+4 NO-SET WITH OUTIN 2667 35240 060425 LDA .48 YES-PUT IN ZERO 2668 35241 114275 JSB OUTCR,I IN CLOCK BUFFER 2669 35242 002001 RSS 2670 35243 114272 JSB OUTIN,I INSERT TIME IN BUFFER 2671 35244 127226 JMP OUTIM,I RETURN 2672* 2673 35245 000000 DTMP NOP 2674* 2675* INVALID ACCESS 2676* 2677* 2678 35246 002400 INVAL CLA OUTPUT A CR-LF 2679 35247 114112 JSB WRITE,I 2680 35250 063631 LDA .14 OUTPUT MESSAGE: 2681 35251 067254 LDB INVA "INVALID ACCESS" 2682 35252 114112 JSB WRITE,I 2683 35253 027073 JMP LOGON GO TO LOG-IN SECTION 2684* 2685 35254 035255 INVA DEF *+1 2686 35255 044516 ASC 7,INVALID ACCESS 2687* 2688*** SET UP CALL TO TABLE SEARCH 2689* 2690 35264 000000 SETUP NOP 2691 35265 003021 CMA,SSA,RSS MAKE COUNT = -1-COUNT 2692 35266 027246 JMP INVAL 2693 35267 070126 STA CCNT 2694 35270 005000 BLS GET ADDRESS*2 2695 35271 074125 STB BADDR SET AS BUFFER POINTER 2696 35272 114276 JSB GETCR,I GET A CHARACTER 2697 35273 027246 JMP INVAL NOT A VALID CHARACTER 2698 35274 064120 LDB SBUFA * 2699 35275 074133 STB SBPTR * INITIALIZE SYNTAX BUFFER 2700 35276 170133 STA SBPTR,I 2701 35277 127264 JMP SETUP,I RETURN 2702* 2703 35300 035301 HELLO DEF *+1 2704 35301 000006 OCT 0006 2705 35302 044105 ASC 3,HELLO- 2706 35305 002404 DLET CLA,INA OUTPUT AN ESCAPE (\) 2707 35306 067311 LDB ESCP ON USER TTY 2708 35307 114112 JSB WRITE,I 2709 35310 027073 JMP LOGON 2710 35311 035312 ESCP DEF *+1 2711 35312 056040 ASC 1,\ 2712*************************** 2713* * 2714*** LOG-OFF ROUTINE *** 2715* * 2716*************************** 2717 35313 002400 LOGOF CLA 2718 35314 114112 JSB WRITE,I OUTPUT CR-LF 2719 35315 063564 LDA BUSY LOAD BUSY FLAG 2720 35316 002002 SZA IS LOG TTY BUSY? 2721 35317 027445 JMP NOGO2 YES- PRINT BUSY MESSAGE 2722 35320 063563 LDA PNCMD NO- LOAD PUNCH COMMAND 2723 35321 073564 STA BUSY SET BUSY FLAG 2724 35322 102600 LTTY2 OTA 0 OUTPUT MOTOR CONTROL COMMAND 2725 35323 017364 JSB ONOFF SET UP USER XX ACCOUNT XX 2726 35324 070231 STA INFO3 SAVE CHARACTER COUNT 2727 35325 067404 LDB LGOM1 OUTPUT IT 2728 35326 114112 JSB WRITE,I ON USER TTY 2729* 2730*** OUTPUT CONNECT TIME TO USER 2731* 2732 35327 063631 LDA .14 SET CHARACTER OUT COUNT 2733 35330 070126 STA CCNT TO 14. 2734 35331 067604 LDB TIME1 GET CONNECT TIME STORE ADDRESS 2735 35332 074125 STB BADDR 2736 35333 063634 LDA MINA GET MINUTES ADDRESS 2737 35334 040063 ADA USN INDEX BY USER NUMBER 2738 35335 160000 LDA A,I LOAD MINUTES 2739 35336 114272 JSB OUTIN,I OUTPUT CONNECT TIME TO BUFFER 2740 35337 060126 LDA CCNT THEN OUTPUT 2741 35340 067572 LDB CONTA CONNECT TIME 2742 35341 114112 JSB WRITE,I ON USER TTY 2743* 2744* 2745*** GLAD TO BE OF SERVICE, BYE 2746* 2747 35342 063605 LDA GTBSL LOAD MESSAGE LENGTH 2748 35343 067606 LDB GTBSA LOAD ADDRESS 2749 35344 114112 JSB WRITE,I OUTPUT MESSAGE ON USER TTY 2750* 2751*** OUTPUT LOG-OFF ON LOG TTY 2752* 2753 35345 002400 CLA OUTPUT CR-LF 2754 35346 117656 JSB LCLOT,I 2755 35347 060231 LDA INFO3 GET USER # ACCOUNT # 2756 35350 067404 LDB LGOM1 2757 35351 117656 JSB LCLOT,I 2758 35352 060126 LDA CCNT GET CONNECT TIME COUNT 2759 35353 067572 LDB CONTA LOAD MESSAGE START ADRESS 2760 35354 117656 JSB LCLOT,I OUTPUT CONNECT TIME ON LOG TTY 2761* 2762* 2763 35355 002400 CLA OUTPUT CR-LF 2764 35356 117656 JSB LCLOT,I 2765 35357 017465 JSB CLTM CLEAR TIME 2766* 2767 35360 117657 JSB LCLIN,I 2768 35361 002400 CLA 2769 35362 073564 STA BUSY CLEAR BUSY FLAG 2770 35363 027073 JMP LOGON 2771* 2772*** THIS SUBROUTINE SETS UP THE HEADER: 2773* 2774*** USER # ACCOUNT # 2775* 2776* 2777 35364 000000 ONOFF NOP 2778 35365 060063 LDA USN LOAD USER NUMBER 2779 35366 030425 IOR .48 ADD ON ASCII # BITS 2780 35367 001727 ALF,ALF POSITION TO UPPER WORDS 2781 35370 030411 IOR BLANK ADD ON SPACE CHAR 2782 35371 173416 STA LGOM2,I PUT IN BUFFER 2783 35372 063632 LDA .16 SET OUTPUT COUNT TO 16 CHARS 2784 35373 070126 STA CCNT 2785 35374 067417 LDB LGOM3 FETCH ACCOUNT # STORE ADDRESS 2786 35375 074125 STB BADDR 2787 35376 067565 LDB USAC# GET ADDRESS OF ACCOUNT TABLE 2788 35377 044063 ADB USN INDEX BY USER NUMBER 2789 35400 160001 LDA B,I LOAD ACTUAL USER ACCOUNT NUMBER 2790 35401 114272 JSB OUTIN,I ADD IT TO CHARACTER STRING 2791 35402 060126 LDA CCNT LOAD CHARACTERS IN COUNT 2792 35403 127364 JMP ONOFF,I RETURN 2793* 2794 35404 035405 LGOM1 DEF *+1 2795 35405 041510 ASC 9,CHAN: ACCOUNT 2796 35416 035410 LGOM2 DEF LGOM1+4 2797 35417 035414 LGOM3 DEF LGOM1+8 2798 35420 035421 LGOM4 DEF *+1 2799 35421 052111 ASC 13,TIME ON: / / 2800 35436 035425 LGOM5 DEF LGOM4+5 2801* 2802 35437 002400 NOGO1 CLA 2803 35440 114112 JSB WRITE,I 2804 35441 067452 LDB NOGOA 2805 35442 063451 LDA NOGOL LOAD LENGTH OF BUSY MESSAGE 2806 35443 114112 JSB WRITE,I OUTPUT MESSAGE 2807 35444 027126 JMP NAME 2808 35445 067452 NOGO2 LDB NOGOA 2809 35446 063451 LDA NOGOL LOAD LENGTH 2810 35447 114112 JSB WRITE,I 2811 35450 124254 JMP PEXMA,I 2812 35451 000023 NOGOL DEC 19 2813 35452 035453 NOGOA DEF *+1 2814 35453 046117 ASC 10,LOG BUSY, TRY AGAIN 2815* 2816* 2817* CLEAR TIME SUBROUTINE 2818* 2819* 2820 35465 000000 CLTM NOP 2821 35466 002400 CLA A=0 2822 35467 067641 LDB SECA 2823 35470 044063 ADB USN 2824 35471 170001 STA B,I CLEAR CONNECT SEC COUNTER 2825 35472 002004 INA A=1 2826 35473 067634 LDB MINA 2827 35474 044063 ADB USN 2828 35475 170001 STA B,I MINUTE COUNTER = 1 2829 35476 127465 JMP CLTM,I RETURN 2830* 2831*************************** 2832*** *** 2833*** INTERRUPT TIMER *** 2834*** *** 2835*************************** 2836* 2837 35477 000000 TIMR NOP 2838* 2839 35500 073627 STA SAVAC 2840 35501 077630 STB SAVBC 2841 35502 067646 LDB #USRS LOAD -NUMBER OF USERS 2842 35503 077626 STB CHN SET FOR COUNTER 2843 35504 067633 LDB .60 SET FOR 60 SEC=1 MIN 2844 35505 063641 LDA SECA GET SECOND TABLE ADDRESS 2845 35506 002004 INA ADD 1 2846 35507 073625 STA SEC SAVE ADDRESS 2847 35510 063634 LDA MINA GET MINUTE TABLE ADDRESS 2848 35511 002004 INA ADD 1 2849 35512 073624 STA MIN SAVE IT 2850 35513 002400 CLA SET A=0 2851* 2852 35514 137625 INC. ISZ SEC,I INCREMENT SECONDS 2853 35515 157625 CPB SEC,I IS IT 60? 2854 35516 027551 JMP MINUT YES 2855 35517 037625 NEXTU ISZ SEC NEXT USER 2856 35520 037624 ISZ MIN 2857 35521 037626 ISZ CHN 2858 35522 027514 JMP INC. 2859* 2860 35523 037555 ISZ SEKS INCREMENT SECONDS COUNTER 2861 35524 057555 CPB SEKS 60 SECONDS ELAPSED? 2862 35525 002001 RSS YES-INDEX MINUTES COUNT 2863 35526 027545 JMP STM-2 NO-RETURN 2864* 2865 35527 073555 STA SEKS RESET SECONDS TO ZERO 2866 35530 037556 ISZ MINTS INCREMENT MINUTES COUNT 2867 35531 057556 CPB MINTS 60 MINUTES ELAPSED? 2868 35532 002001 RSS YES-INDEX HOUR COUNT 2869 35533 027545 JMP STM-2 NO-RETURN 2870* 2871 35534 073556 STA MINTS RESET MINUTES TO ZERO 2872 35535 037557 ISZ HOUR INCREMENT HOURS COUNT 2873 35536 067561 LDB ?24 LOAD (B)=24 2874 35537 057557 CPB HOUR 24 HOURS ELAPSED? 2875 35540 002001 RSS YES-PROCESS DAY 2876 35541 027545 JMP STM-2 RETURN 2877* 2878 35542 073557 STA HOUR RESET HOURS TO ZERO 2879 35543 037560 ISZ DATE INDEX DATE 2880 35544 137554 ISZ FLG2A,I SET DAY CHANGE FLAG 2881* 2882* 2883* RESTORE REGISTERS AND RETURN 2884* 2885 35545 063627 LDA SAVAC 2886 35546 067630 LDB SAVBC 2887 35547 103700 STM STC 0,C SET CONTROL ON CLOCK 2888 35550 127477 JMP TIMR,I RETURN 2889* 2890* 2891 35551 137624 MINUT ISZ MIN,I INCREMENT MINUT COUNTER 2892 35552 173625 STA SEC,I CLEAR SECONDS COUNT 2893 35553 027517 JMP NEXTU 2894* 2895* 2896* 2897* 2898 35554 036120 FLG2A DEF FLAG2 2899 35555 000000 SEKS NOP 2900 35556 000000 MINTS NOP 2901 35557 000000 HOUR NOP 2902 35560 000000 DATE NOP 2903 35561 000030 ?24 DEC 24 2904 35562 035432 DBUF DEF LGOM4+10 2905 35563 110000 PNCMD OCT 110000 2906* 2907 35564 000000 BUSY NOP 2908 35565 035565 USAC# DEF * USER ACCOUNTS-1 2909 35566 BSS 4 USER ACCOUNTS 2910 35572 035573 CONTA DEF *+1 2911 35573 041517 ASC 7,CONNECT TIME: 2912 35602 BSS 2 2913 35604 035601 TIME1 DEF *-3 2914* 2915* 2916 35605 000032 GTBSL DEC 26 2917 35606 035607 GTBSA DEF *+1 2918 35607 043514 ASC 13,GLAD TO BE OF SERVICE, BYE 2919 35624 000000 MIN NOP 2920 35625 000000 SEC NOP 2921 35626 000000 CHN NOP 2922 35627 000000 SAVAC NOP 2923 35630 000000 SAVBC NOP 2924 35631 000016 .14 DEC 14 2925 35632 000020 .16 DEC 16 2926 35633 000074 .60 DEC 60 2927 35634 035634 MINA DEF * 2928 35635 000000 NOP 2929 35636 000000 NOP 2930 35637 000000 NOP 2931 35640 000000 NOP 2932 35641 035641 SECA DEF * 2933 35642 000000 NOP 2934 35643 000000 NOP 2935 35644 000000 NOP 2936 35645 000000 NOP 2937 35646 000000 #USRS NOP 2938* 2939* 2940* 2941 35647 035650 MES1A DEF *+1 2942 35650 006412 OCT 6412 2943 35651 047101 ASC 5,NAME-I.D. 2944 35656 036703 LCLOT ABS OUTL 2945* 2946 35657 036665 LCLIN ABS READL 2947 SKP 2948* 2949* 2950* 2951* 2952* SINGLE CHARACTER SUBROUTINES 2953* 2954* 2955* USER # 1 2956* 2957* 2958 35660 000000 CHIN1 NOP 2959 35661 102500 LIA 0 LOAD CHARACTER 2960 35662 010443 AND M177 MASK PARITY 2961 35663 053761 CPA RTA IS IT A CARRIAGE RETURN? 2962 35664 127660 JMP CHIN1,I YES- RETURN TO P+1 2963 35665 106600 OTB 0 NO, OUTPUT TTY BOARD COMMAND 2964 35666 103700 STC 0,C START INPUT 2965 35667 127660 JMP CHIN1,I RETURN 2966* 2967* 2968 35670 000000 CHOT1 NOP 2969 35671 106600 OTB 0 OUTPUT COMMAND 2970 35672 102600 OTA 0 OUTPUT CHARACTER 2971 35673 103700 STC 0,C START OUTPUT 2972 35674 127670 JMP CHOT1,I 2973* 2974* USER # 2 2975* 2976 35675 000000 CHIN2 NOP 2977 35676 102500 LIA 0 LOAD CHARACTER 2978 35677 010443 AND M177 MASK PARITY 2979 35700 053761 CPA RTA IS IT A CARRIAGE RETURN? 2980 35701 127675 JMP CHIN2,I YES- RETURN TO P+1 2981 35702 106600 OTB 0 NO, OUTPUT TTY BOARD COMMAND 2982 35703 103700 STC 0,C START INPUT 2983 35704 127675 JMP CHIN2,I RETURN 2984* 2985* 2986 35705 000000 CHOT2 NOP 2987 35706 106600 OTB 0 OUTPUT COMMAND 2988 35707 102600 OTA 0 OUTPUT CHARACTER 2989 35710 103700 STC 0,C START OUTPUT 2990 35711 127705 JMP CHOT2,I 2991* 2992* USER # 3 2993* 2994 35712 000000 CHIN3 NOP 2995 35713 102500 LIA 0 LOAD CHARACTER 2996 35714 010443 AND M177 MASK PARITY 2997 35715 053761 CPA RTA IS IT A CARRIAGE RETURN? 2998 35716 127712 JMP CHIN3,I YES- RETURN TO P+1 2999 35717 106600 OTB 0 NO, OUTPUT TTY BOARD COMMAND 3000 35720 103700 STC 0,C START INPUT 3001 35721 127712 JMP CHIN3,I RETURN 3002* 3003* 3004 35722 000000 CHOT3 NOP 3005 35723 106600 OTB 0 OUTPUT COMMAND 3006 35724 102600 OTA 0 OUTPUT CHARACTER 3007 35725 103700 STC 0,C START OUTPUT 3008 35726 127722 JMP CHOT3,I 3009* 3010*** USER # 4 3011* 3012 35727 000000 CHIN4 NOP 3013 35730 102500 LIA 0 LOAD CHARACTER 3014 35731 010443 AND M177 MASK PARITY BIT 3015 35732 053761 CPA RTA IS IT A CR? 3016 35733 127727 JMP CHIN4,I YES-RETURN TO P+1 3017 35734 106600 OTB 0 NO-OUTPUT TTY BOARD COMMAND 3018 35735 103700 STC 0,C START INPUT 3019 35736 127727 JMP CHIN4,I RETURN 3020* 3021 35737 000000 CHOT4 NOP 3022 35740 106600 OTB 0 OUTPUT TTY COMMAND 3023 35741 102600 OTA 0 OUTPUT CHARACTER 3024 35742 103700 STC 0,C START OUTPUT 3025 35743 127737 JMP CHOT4,I RETURN 3026* 3027* LOG TTY 3028* 3029 35744 000000 CHINL NOP 3030 35745 102500 LIA 0 LOAD CHARACTER 3031 35746 010443 AND M177 MASK PARITY 3032 35747 053761 CPA RTA IS IT A CARRIAGE RETURN? 3033 35750 127744 JMP CHINL,I YES- RETURN TO P+1 3034 35751 106600 OTB 0 NO, OUTPUT TTY BOARD COMMAND 3035 35752 103700 STC 0,C START INPUT 3036 35753 127744 JMP CHINL,I RETURN 3037* 3038* 3039 35754 000000 CHOTL NOP 3040 35755 106600 OTB 0 3041 35756 102600 OTA 0 3042 35757 103700 STC 0,C 3043 35760 127754 JMP CHOTL,I 3044* 3045* 3046 35761 000015 RTA OCT 15 3047 35762 035763 PTBFA DEF PTBUF 3048 35763 PTBUF BSS 3 3050 35766 ENBUF EQU * 3051 SKP 3052 36000 ORG 36000B 3053* 3054*** MONITOR 3055* 3056* 3057* PRIMARY MONITOR LOCATION 3058* 3059 36000 016122 MONIT JSB CHIFL CHECK INTERRUPT FLAGS 3060 36001 002400 CLA 3061 36002 067064 LDB FLAG1 LOAD FLAG 3062 36003 006020 SSB IS IT IN LOCAL? 3063 36004 026040 JMP USER YES 3064 36005 006002 SZB IS IT IN USER? 3065 36006 026071 JMP MON2 NO IN EXECUTION CHECK 3066 36007 026053 JMP MON1 YES CHECK I/O FLAGS 3067* 3068* 3069* 3070* CHECK LOCAL TTY 3071* 3072 36010 062120 CKL LDA FLAG2 LOAD DAY CHANGE FLAG 3073 36011 002002 SZA 3074 36012 026077 JMP DAYCH DAY CHANGE 3075 36013 003400 CCA SET A= -1 3076 36014 073064 STA FLAG1 USER CHECK 3077 36015 006400 CLB B=0 3078 36016 063173 LDA DATAL LOAD DATA FLAG 3079 36017 002003 SZA,RSS IS IT ZERO? 3080 36020 026036 JMP CKPTR GO CHECK PHOTOREADER 3081 36021 077173 STB DATAL CLEAR DATA FLAG 3082 36022 050536 CPA M15 DATA FLAG OUTPUT 3083 36023 026030 JMP .LD. YES 3084 36024 050500 CPA M2 NO - DELETED? 3085 36025 026035 JMP REDL YES 3086 36026 063175 LDA PCNTL NO - INPUT 3087 36027 127226 JMP PTPRA,I CHECK LOCAL INPUT 3088* 3089 36030 003400 .LD. CCA A=-1 3090 36031 043051 ADA LUSN ADD LOCAL USER # 3091 36032 073067 STA BIAS SAVE BIAS 3092 36033 016223 JSB ACT ACTIVATE USER 3093 36034 126703 JMP WRITL,I RETURN 3094* 3095 36035 016665 REDL JSB READL 3096* 3097*** CHECK PHOTOREADER IF IN SYSTEM 3098* 3099 36036 117070 CKPTR JSB @CARD,I CHECK IF CARD READER SERVICE 3100 36037 117071 JSB @PHTO,I CHECK IF PHOTO READER NEED SERVICE 3101* 3102* 3103* CHECK USERS 3104* 3105 36040 073064 USER STA FLAG1 CLEAR FLAG 3106 36041 073067 STA BIAS CLEAR BIAS COUNTER 3107 36042 067201 LDB IOSKA LOAD I/O STACK POINTER ADDRESS 3108 36043 077065 STB MAIN SAVE IT 3109 36044 067050 LDB &USR LOAD NUMBER OF USERS 3110 36045 077066 STB CT SAVE IN COUNTER 3111 36046 167065 CKDF LDB MAIN,I LOAD STACK ADDRESS 3112 36047 047044 ADB .5 ADD INDEX 3113 36050 160001 LDA B,I LOAD DATA FLAG 3114 36051 002002 SZA 0? 3115 36052 026150 JMP .D. YES 3116* 3117 36053 037067 MON1 ISZ BIAS NO - NEXT USER 3118 36054 037065 ISZ MAIN 3119 36055 037066 ISZ CT INC. COUNTER 3120 36056 026046 JMP CKDF NOT DONE 3121* 3122* CHECK EXECUTION FLAGS 3123* 3124 36057 063561 LDA EXUA. GET ADDRESS OF EXU FLAGS 3125 36060 073064 STA FLAG1 SET FLAG 3126 36061 073065 STA MAIN 3127 36062 063050 LDA &USR LOAD NUMBER OF USERS 3128 36063 073066 STA CT 3129 36064 002400 CLA 3130 36065 073067 STA BIAS CLEAR BIAS 3131 36066 163065 MON3 LDA MAIN,I LOAD EXU FLAG 3132 36067 002002 SZA 0? 3133 36070 026213 JMP .X. NO 3134 36071 037065 MON2 ISZ MAIN 3135 36072 037067 ISZ BIAS 3136 36073 037066 ISZ CT 3137 36074 026066 JMP MON3 3138 36075 016122 JSB CHIFL CHECK USER INTERRUPT FLAGS 3139 36076 026010 JMP CKL LOOP THROUGH MONITOR 3140* 3141 36077 064063 DAYCH LDB USN LOAD USER # 3142 36100 006003 SZB,RSS ZERO? 3143 36101 026105 JMP *+4 YES - NO ONE IN 3144 36102 047073 ADB BSKA NO - ADD USER STACK POINTER 3145 36103 164001 LDB B,I LOAD DORMANT STACK ADR 3146 36104 016251 JSB MVUOT AND MOVE OUT 3147 36105 002400 CLA CLEAR DAY FLAG 3148 36106 072120 STA FLAG2 3149 36107 070126 STA CCNT 3150 36110 070063 STA USN USN=0 3151 36111 062121 LDA DDBUF 3152 36112 070125 STA BADDR STORE BUFFER ADDRESS 3153 36113 162116 LDA ADTA,I OUTPUT NEW DAY 3154 36114 116117 JSB OUTM,I BUFFER 3155 36115 026013 JMP CKL+3 CHECK LOCAL TTY 3156 36116 035560 ADTA DEF DATE 3157 36117 035226 OUTM DEF OUTIM 3158 36120 000000 FLAG2 NOP 3159 36121 035432 DDBUF DEF LGOM4+10 3160* 3161* 3162* 3163* 3164*** SUBROUTINE TO CHECK INTERRUPT FLAGS 3165* 3166 36122 000000 CHIFL NOP 3167 36123 060503 LDA M5 LOAD -5 FOR 4 CHAN + LOG 3168 36124 073045 STA &CT SAVE -NUMBER OF USERS 3169 36125 002404 CLA,INA SET USER NUMBER - 3170 36126 073046 STA &BIAS -- TO 1 3171 36127 063076 LDA INTF LOAD ADDRESS OF INTERRUPT FLAGS 3172 36130 073047 STA &MAIN 3173 36131 163047 &INT& LDA &MAIN,I LOAD INTERRUPT FLAG 3174 36132 002002 SZA ZERO ? 3175 36133 026141 JMP &EXE& NO - PROCESS INTERRUPT 3176 36134 037046 &NEX& ISZ &BIAS INDEX USER BIAS COUNTER 3177 36135 037047 ISZ &MAIN COMPUTE NEXT ADDRESS 3178 36136 037045 ISZ &CT FINISHED? 3179 36137 026131 JMP &INT& NO 3180 36140 126122 JMP CHIFL,I YES - RETURN 3181* 3182 36141 006400 &EXE& CLB 3183 36142 177047 STB &MAIN,I CLEAR INTERRUPT FLAG 3184 36143 067074 LDB INTA LOAD INTERRUPT ADDRESS 3185 36144 047046 ADB &BIAS INDEX BY USER BIAS 3186 36145 164001 LDB B,I LOAD INTERRUPT PROCESS ADR 3187 36146 114001 JSB B,I PROCESS INTERRUPT 3188 36147 026134 JMP &NEX& CHECK NEXT USER 3189* 3190* 3191* DATA FLAG SET 3192* 3193 36150 073072 .D. STA TEMP1 SAVE FLAG 3194 36151 016223 JSB ACT ACTIVATE THE USER 3195 36152 002400 CLA CLEAR 3196 36153 170001 STA B,I DATA FLAG 3197 36154 063561 LDA EXUA. LOAD EXU FLAG ADDRESSES 3198 36155 043067 ADA BIAS GET USER FLAG ADDRESS 3199 36156 160000 LDA A,I GET EXU FLAG 3200 36157 002020 SSA TEST FOR STPP CONDITION 3201 36160 114110 JSB I.STP,I STOP! 3202 36161 063072 LDA TEMP1 RELOAD FLAG 3203 36162 050500 CPA M2 -2? 3204 36163 026203 JMP RRED READ RETURN 3205 36164 050477 CPA M1 -1? 3206 36165 026203 JMP RRED READ RETURN 3207 36166 050536 CPA M15 BIT 15? 3208 36167 026207 JMP WRRET WRITE RETURN 3209 36170 044373 ADB .4 INDEX TO TAPE FLAG 3210 36171 160001 LDA B,I LOAD TAPE FLAG 3211 36172 002003 SZA,RSS TAPE? 3212 36173 026201 JMP *+6 NO 3213* 3214 36174 063104 LDA TCNTA LOAD TAPE CNT ADDRESS TABLE 3215 36175 043067 ADA BIAS 3216 36176 002004 INA SET A= ADR OF TAPE COUNTER 3217 36177 160000 LDA A,I LOAD TAPE COUNTER 3218 36200 026203 JMP RRED RETURN 3219* 3220 36201 044500 ADB M2 SUBTRACT 2 3221 36202 160001 LDA B,I LOAD PCNT 3222* 3223* READ RETURN 3224* 3225 36203 067057 RRED LDB DRS GET ADDRESS OF READ ADDRESSES 3226 36204 047067 ADB BIAS ADD USER BIAS 3227 36205 164001 LDB B,I LOAD RETURN ADDRESS INTO -B- 3228 36206 124001 JMP B,I RETURN 3229* 3230* WRITE RETURN 3231* 3232 36207 067052 WRRET LDB DWS GET ADDRESS OF WRITE ADDRESSES 3233 36210 047067 ADB BIAS ADD USER BIAS 3234 36211 164001 LDB B,I LOAD RETURN ADDRESS INTO -B- 3235 36212 124001 JMP B,I 3236* 3237* 3238* EXECUTION FLAG SET 3239* 3240 36213 073072 .X. STA TEMP1 SAVE FLAG 3241 36214 050500 CPA M2 I/O STOP? 3242 36215 026071 JMP MON2 YES - GO BACK TO MONIT 3243 36216 016223 JSB ACT ACTIVATE THE USER 3244 36217 063072 LDA TEMP1 RELOAD EXU FLAG 3245 36220 002007 INA,SZA,RSS -1? 3246 36221 114110 JSB I.STP,I YES STOP 3247 36222 124107 JMP XECUT,I NO - EXECUTE PROGRAM 3248 SKP 3249* 3250* 3251* 3252* 3253* ACTIVATE THE USER 3254* 3255 36223 000000 ACT NOP 3256 36224 076250 STB BTEM SAVE B REG 3257 36225 063067 LDA BIAS GET USER BIAS 3258 36226 002004 INA ADD 1 TO GET USER # 3259 36227 050063 CPA USN COMPARE WITH PRESENT ACTIVE USR 3260 36230 126223 JMP ACT,I SAME 3261 36231 060063 LDA USN LOAD USER NUMBER 3262 36232 002003 SZA,RSS IF 0 THEN NO ONE TO BE MOVED OUT 3263 36233 026240 JMP *+5 3264* 3265 36234 067073 LDB BSKA GET ADDRESS OF STACK ADDRESSES 3266 36235 044063 ADB USN ADD OLD USER NUMBER 3267 36236 164001 LDB B,I GET ACTUAL STACK ADDRESS 3268 36237 016251 JSB MVUOT MOVE USER OUT 3269* 3270 36240 063067 LDA BIAS GET BIAS 3271 36241 002004 INA CONVERT TO NEW USN 3272 36242 070063 STA USN SET NEW USER # 3273 36243 043073 ADA BSKA ADD ADDRESS OF STACK ADDRESSES 3274 36244 160000 LDA A,I GET ACTUAL STACK ADDRESS 3275 36245 016256 JSB MVUIN MOVE USER IN 3276 36246 066250 LDB BTEM RESTORE B 3277 36247 126223 JMP ACT,I USER IS ACTIVATED 3278 36250 000000 BTEM NOP 3279* 3280* 3281* 3282*** MOVE USER OUT ROUTINE 3283* 3284* CONTAINS USER DORMANT STACK ADDRESS 3285* 3286 36251 000000 MVUOT NOP 3287 36252 060064 LDA ASTK LOAD ADDRESS OF ACTIVE STACK 3288 36253 016263 JSB &MSTK MOVE STACK 3289 36254 000127 DEC 87 3290 36255 126251 JMP MVUOT,I RETURN 3291* 3292*** MOVE USER IN ROUTINE 3293* 3294* CONTAINS ADDRESS OF USER'S DORMANT STACK 3295* 3296 36256 000000 MVUIN NOP 3297 36257 064064 LDB ASTK LOAD ADDRESS OF ACTIVE STACK 3298 36260 016263 JSB &MSTK MOVE STACK 3299 36261 000127 DEC 87 3300 36262 126256 JMP MVUIN,I RETURN 3301* 3302*** ACTIVATION MOVE-STACK SUBROUTINE 3303* 3304 36263 000000 &MSTK NOP 3305 36264 072300 STA &ORST SAVE ORIGIN STACK ADDRESS 3306 36265 162263 LDA &MSTK,I LOAD # OF WORDS TO TRANSFER 3307 36266 003004 CMA,INA MAKE COUNT NEGATIVE FOR COUNTER 3308 36267 072301 STA &TEMP SAVE AS COUNTER 3309 36270 162300 P1&&& LDA &ORST,I LOAD CELL FROM ORIGIN STACK 3310 36271 170001 STA B,I TRANSFER TO DESTINATION STACK 3311 36272 006004 INB B = NEXT ADR IN D - STACK 3312 36273 036300 ISZ &ORST INDEX TO NEXT ADR IN O - STACK 3313 36274 036301 ISZ &TEMP TEST IF FINISHED 3314 36275 026270 JMP P1&&& NO, CONTINUE 3315 36276 036263 ISZ &MSTK FINISHED, COMPUTE RETURN ADDRESS 3316 36277 126263 JMP &MSTK,I RETURN 3317* 3318 36300 000000 &ORST NOP 3319 36301 000000 &TEMP NOP 3320* 3321* SET I/O INTERRUPT 3322* 3323 36302 000000 IINT NOP 3324 36303 062312 LDA IINTA GET ADDRESS OF I/O INT LINK ADDR 3325 36304 043075 ADA USNT INDEX BY USER # TEMP 3326 36305 160000 LDA A,I GET ACTUAL LINK 3327 36306 067074 LDB INTA LOAD ADDRESS OF LINKAGE AREA-1 3328 36307 047075 ADB USNT INDEX BY USER NUMBER 3329 36310 170001 STA B,I STORE LINK 3330 36311 126302 JMP IINT,I 3331* 3332 36312 036312 IINTA DEF * 3333 36313 036476 DEF INT1 3334 36314 036533 DEF INT2 3335 36315 036570 DEF INT3 3336 36316 036625 DEF INT4 3337* 3338* EXECUTION INTERRUPT PROCESSOR 3339 36317 000000 XNT NOP 3340 36320 103100 CLF 0 TURN OFF INTERUPT 3341 36321 072353 STA XSVA SAVE A REGISTER AND B REGISTER 3342 36322 076354 STB XSVB 3343 36323 102504 LIA 4 LOAD INTERRUPT SELECT CODE 3344 36324 072355 STA SCNUM SAVE IT 3345 36325 062356 LDA CLCC LOAD CLC COMMAND 3346 36326 032355 IOR SCNUM ADD IN SELECT CODE 3347 36327 072330 STA *+1 3348 36330 000000 NOP EXECUTE CLC INST. 3349 36331 066357 LDB CHTBA LOAD ADDRESS OF CHANNEL NUMBER TABLE 3350 36332 006004 INB NEXT CHANNEL 3351 36333 160001 LDA B,I LOAD SC NUMBER 3352 36334 052355 CPA SCNUM SAME? 3353 36335 002001 RSS YES COMPUTE CHANNEL NUMBER 3354 36336 026332 JMP *-4 3355 36337 062357 LDA CHTBA COMPUTE CHANNEL NUMBER 3356 36340 003004 CMA,INA 3357 36341 040001 ADA B CHANNEL # IN A REG 3358 36342 007400 CCB B=-1 FOR EXECUTION STOP 3359 36343 152364 CPA CRSTA,I CARD READER STOP? 3360 36344 064500 LDB M2 YES I/O STOP 3361 36345 043562 ADA &EXU COMPUTE EXU FLAG ADDRESS 3362 36346 174000 STB A,I STORE STOP CONDITION 3363 36347 062353 LDA XSVA RESTORE REGISTERS 3364 36350 066354 LDB XSVB 3365 36351 102100 STF 0 TURN ON INTERRUPT 3366 36352 126317 JMP XNT,I RETUNR 3367 36353 000000 XSVA NOP 3368 36354 000000 XSVB NOP 3369 36355 000000 SCNUM NOP 3370 36356 106700 CLCC CLC 0 3371 36357 036357 CHTBA DEF * 3372 36360 BSS 4 TABLE FOR SC CODES FOR EACH CHANNEL 3373 36364 034533 CRSTA DEF CRUST 3374* 3375* 3376* 3377* 3378* 3379* SET EXECUTION FLAG 3380* 3381* A REG CONTAINS FLAG SETTINGS 3382* 3383 36365 000000 SEXU NOP 3384 36366 072402 STA SA SAVE A 3385 36367 076403 STB SB SAVE B 3386 36370 007400 CCB B=-1 3387 36371 047561 ADB EXUA. B=ADDRESS OF EXU FLAGS-1 3388 36372 044063 ADB USN ADD USER NUMBER 3389 36373 170001 STA B,I STORE EXU 3390 36374 002003 SZA,RSS 3391 36375 026377 JMP RESSR 3392 36376 016404 JSB XINT SET EXECUTION INTERRUPT 3393 36377 062402 RESSR LDA SA RESTORE A 3394 36400 066403 LDB SB RESTORE B 3395 36401 126365 JMP SEXU,I 3396 36402 000000 SA NOP 3397 36403 000000 SB NOP 3398* 3399* SET UP EXECUTION INTERRUPT 3400* 3401 36404 000000 XINT NOP 3402 36405 062422 LDA STPIA GET ADDRESS OF EXU INT LINK ADDR 3403 36406 067074 LDB INTA GET ADDRESS OF INT LINKS-1 3404 36407 044063 ADB USN ADD USER # 3405 36410 170001 STA B,I STORE TRANSFER ADDRESS 3406 36411 067224 LDB INCMD GET INPUT COMMAND 3407 36412 003400 CCA A=-1 3408 36413 043201 ADA IOSKA GET I/O STACK ADDRESS 3409 36414 040063 ADA USN ADD USER NUMBER 3410 36415 160000 LDA A,I GET ACTUAL I/O STACK ADDRESS 3411 36416 040371 ADA .2 ADD CHIN INDEX 3412 36417 030536 IOR M15 ADD IN INDIRECT BIT 3413 36420 114000 JSB A,I REQUEST INPUT 3414 36421 126404 JMP XINT,I 3415* 3416 36422 036317 STPIA DEF XNT LINK TO EXECUTION STOP 3417 SKP 3418* 3419**************************************** 3420*** *** 3421*** LOCATION OF CALLS TO MONITOR *** 3422*** *** 3423**************************************** 3424* 3425* 3426*** OUTPUT CALL FROM CHANNEL # 1 3427* 3428 36423 000000 WRIT1 NOP 3429 36424 073120 STA OCNT1 SAVE COUNTER 3430 36425 077112 STB BFAD1 SAVE ADDRESS 3431 36426 060063 WCONT LDA USN LOAD USER NUMBER 3432 36427 073207 STA DFLG SET DRIVER BUSY FLAG 3433 36430 073075 STA USNT INITIATE WRITE CONTINUATOR 3434 36431 016302 JSB IINT SET INTERRUPT IS I/O 3435 36432 016743 JSB IOIN MOVE USER IN 3436 36433 002400 CLA CLEAR TAPE FLAG 3437 36434 073221 STA BPTR 3438 36435 017242 JSB DRIVO INITIATE OUTPUT 3439 36436 016754 .RET. JSB IOOT 3440 36437 002400 CLA CLEAR DRIVER BUSY FLAG 3441 36440 073207 STA DFLG CLEAR DRIVER BUSY FLAG 3442 36441 026000 JMP MONIT GO TO THE MONITOR 3443* 3444* INPUT CALL FOR USER 1 3445* 3446 36442 000000 READ1 NOP 3447 36443 073120 STA OCNT1 SAVE COUNTER 3448 36444 077112 STB BFAD1 SAVE ADDRESS 3449 36445 060063 RCONT LDA USN LOAD USER NUMBER 3450 36446 073207 STA DFLG SET DRIVER BUSY FLAG 3451 36447 073075 STA USNT INITIATE READ CONTINUATOR 3452 36450 016743 JSB IOIN 3453 36451 002400 CLA RESET TAPE FLAG 3454 36452 073221 STA BPTR RESET TAPE FLAG TO ZERO 3455 36453 016302 SIMP JSB IINT SET INTERRUPT IS I/O 3456 36454 017253 JSB DRIVI START INPUT 3457 36455 026436 JMP .RET. 3458* 3459*** TAPE CALL FOR USER 1 3460* 3461 36456 000000 TAPE1 NOP 3462 36457 062456 LDA TAPE1 STORE RETURN ADDRESS IN READ NOP 3463 36460 072442 STA READ1 3464 36461 060063 TCONT LDA USN LOAD USER NUMBER 3465 36462 073207 STA DFLG SET DRIVER BUSY FLAG 3466 36463 073075 STA USNT STORE USER NUMVER 3467 36464 016743 JSB IOIN MOVE USER IN 3468 36465 060434 LDA .72 SET LENGTH = 72 3469 36466 073216 STA OCNT 3470 36467 064116 LDB .BUFA GET I/O BUFFER 3471 36470 007004 CMB,INB MAKE NEG 3472 36471 077221 STB BPTR SET TAPE FLAG 3473 36472 064116 LDB .BUFA GET I/O BUFFER 3474 36473 044415 ADB .36 COMPUTE TAPE BUFFER 3475 36474 077210 STB BUFAD STORE IN BUFFER ADDRESS 3476 36475 026453 JMP SIMP 3477* 3478*** CHANNEL # 1 INTERRUPT PROCESSOR 3479* 3480 36476 000000 INT1 NOP 3481 36477 072516 STA &SV1 SAVE A-REGISTER 3482 36500 063207 LDA DFLG LOAD DRIVER FLAG 3483 36501 002002 SZA BUSY? 3484 36502 026514 JMP &INT1 YES- SET INTERRUPT FLAG 3485 36503 003400 CCA A=-1 3486 36504 073207 STA DFLG SET DRIVER FLAG 3487 36505 017010 JSB SAVRG SAVE REGISTERS 3488 36506 002404 CLA,INA A = CHANNEL 1 3489 36507 016735 JSB INT PROCESS CHARACTER 3490 36510 002400 CLA CLEAR DRIVER... 3491 36511 073207 STA DFLG ... BUSY FLAG 3492 36512 062516 LDA &SV1 RESTORE A-REGISTER 3493 36513 126476 JMP INT1,I RETURN 3494* 3495 36514 037077 &INT1 ISZ INT1F INDEX INTERRUPT FLAG 3496 36515 026512 JMP *-3 RETURN 3497 36516 000000 &SV1 NOP 3499* 3500* 3501* 3502* 3503* 3504* WRITE REQUEST FROM USER 2 3505* 3506 36517 000000 WRIT2 NOP 3507 36520 073133 STA OCNT2 SAVE COUNTER 3508 36521 077125 STB BFAD2 SAVE ADDRESS 3509 36522 026426 JMP WCONT MOVE IN AND PROCESS 3510* 3511* READ REQUEST FROM USER 2 3512* 3513 36523 000000 READ2 NOP 3514 36524 073133 STA OCNT2 SAVE COUNTER 3515 36525 077125 STB BFAD2 SAVE ADDRESS 3516 36526 026445 JMP RCONT CONTINUE SETTING UP INPUT 3517* 3518*** TAPE CALL FOR USER 2 3519* 3520 36527 000000 TAPE2 NOP 3521 36530 062527 LDA TAPE2 3522 36531 072523 STA READ2 3523 36532 026461 JMP TCONT 3524* 3525* 3526* 3527*** CHANNEL # 2 INTERRUPT PROCESSOR 3528* 3529 36533 000000 INT2 NOP 3530 36534 072553 STA &SV2 SAVE A-REGISTER 3531 36535 063207 LDA DFLG LOAD DRIVER FLAG 3532 36536 002002 SZA BUSY? 3533 36537 026551 JMP &INT2 YES- SET INTERRUPT FLAG 3534 36540 003400 CCA A=-1 3535 36541 073207 STA DFLG SET DRIVER FLAG 3536 36542 017010 JSB SAVRG SAVE REGISTERS 3537 36543 060371 LDA .2 A = CHANNEL 2 3538 36544 016735 JSB INT PROCESS CHARACTER 3539 36545 002400 CLA CLEAR DRIVER... 3540 36546 073207 STA DFLG ... BUSY FLAG 3541 36547 062553 LDA &SV2 RESTORE A-REG 3542 36550 126533 JMP INT2,I RETURN 3543* 3544 36551 037100 &INT2 ISZ INT2F INDEX INTERRUPT FLAG 3545 36552 026547 JMP *-3 RETURN 3546 36553 000000 &SV2 NOP 3547* 3548* 3549* 3550* WRITE REQUEST FOR USER 3 3551* 3552 36554 000000 WRIT3 NOP 3553 36555 073146 STA OCNT3 3554 36556 077140 STB BFAD3 3555 36557 026426 JMP WCONT MOVE IN AND PROCESS 3556* 3557* READ REQUEST FOR USER 3 3558* 3559 36560 000000 READ3 NOP 3560 36561 073146 STA OCNT3 3561 36562 077140 STB BFAD3 3562 36563 026445 JMP RCONT 3563* 3564* TAPE REQUEST FOR USER 3 3565* 3566* 3567 36564 000000 TAPE3 NOP 3568 36565 062564 LDA TAPE3 3569 36566 072560 STA READ3 3570 36567 026461 JMP TCONT 3571* 3572*** CHANNEL # 3 INTERRUPT PROCESSOR 3573* 3574 36570 000000 INT3 NOP 3575 36571 072610 STA &SV3 SAVE A-REGISTER 3576 36572 063207 LDA DFLG LOAD DRIVER FLAG 3577 36573 002002 SZA BUSY? 3578 36574 026606 JMP &INT3 YES- SET INTERRUPT FLAG 3579 36575 003400 CCA A=-1 3580 36576 073207 STA DFLG SET DRIVER FLAG 3581 36577 017010 JSB SAVRG SAVE REGISTERS 3582 36600 060372 LDA .3 A = CHANNEL 3 3583 36601 016735 JSB INT PROCESS CHARACTER 3584 36602 002400 CLA CLEAR DRIVER... 3585 36603 073207 STA DFLG ... BUSY FLAG 3586 36604 062610 LDA &SV3 RESTORE A-REG 3587 36605 126570 JMP INT3,I RETURN 3588* 3589 36606 037101 &INT3 ISZ INT3F INDEX INTERRUPT FLAG 3590 36607 026604 JMP *-3 RETURN 3591 36610 000000 &SV3 NOP 3592* 3593*** WRITE REQUEST FROM USER 4 3594* 3595 36611 000000 WRIT4 NOP 3596 36612 073161 STA OCNT4 SAVE BUFFER LENGTH 3597 36613 077153 STB BFAD4 SAVE BUFFER ADDRESS 3598 36614 026426 JMP WCONT MOVE IN AND PROCESS 3599* 3600*** READ REQUEST FROM USER 4 3601* 3602 36615 000000 READ4 NOP 3603 36616 073161 STA OCNT4 SAVE COUNTER 3604 36617 077153 STB BFAD4 SAVE ADDRESS 3605 36620 026445 JMP RCONT CONTINUE SETTING UP INPUT 3606* 3607*** TAPE REQUEST FOR USER 4 3608* 3609 36621 000000 TAPE4 NOP 3610 36622 062621 LDA TAPE4 3611 36623 072615 STA READ4 3612 36624 026461 JMP TCONT 3613* 3614*** CHANNEL 4 INTERRUPT PROCESSOR 3615* 3616 36625 000000 INT4 NOP 3617 36626 072645 STA &SV4 SAVE A-REGISTER 3618 36627 063207 LDA DFLG LOAD DRIVER FLAG 3619 36630 002002 SZA BUSY? 3620 36631 026643 JMP &INT4 YES-SET INTERRUPT FLAG 3621 36632 003400 CCA A=-1 3622 36633 073207 STA DFLG SET DRIVER FLAG 3623 36634 017010 JSB SAVRG SAVE REGISTERS 3624 36635 060373 LDA .4 A=CHANNEL 4 3625 36636 016735 JSB INT PROCESS INTERRUPT 3626 36637 002400 CLA CLEAR DRIVER--- 3627 36640 073207 STA DFLG ---BUSY FLAG 3628 36641 062645 LDA &SV4 RESTORE A-REGISTER 3629 36642 126625 JMP INT4,I RETURN 3630* 3631 36643 037102 &INT4 ISZ INT4F INDEX INTERRUPT FLAG 3632 36644 026641 JMP *-3 RETURN 3633 36645 000000 &SV4 NOP 3634* 3635 36646 000000 CLC1 NOP 3636 36647 106700 CLC 0 3637 36650 126646 JMP CLC1,I 3638* 3639 36651 000000 CLC2 NOP 3640 36652 106700 CLC 0 3641 36653 126651 JMP CLC2,I 3642* 3643 36654 000000 CLC3 NOP 3644 36655 106700 CLC 0 3645 36656 126654 JMP CLC3,I 3646* 3647 36657 000000 CLC4 NOP 3648 36660 106700 CLC 0 3649 36661 126657 JMP CLC4,I 3650* 3651 36662 000000 CLCL NOP 3652 36663 106700 CLC 0 3653 36664 126662 JMP CLCL,I 3654* 3655*** INPUT CALL FOR LOG TTY 3656* 3657 36665 000000 READL NOP 3658 36666 060374 LDA .6 3659 36667 067227 LDB PTBA 3660 36670 073174 STA OCNTL SAVE CHARS REQUESTED COUNT 3661 36671 077166 STB BFADL SAVE BUFFER ADDRESS 3662 36672 063044 LDA .5 A = 5 : USER # 5 (LOG TTY) 3663 36673 073207 STA DFLG SET DRIVER BUSY FLAG 3664 36674 073075 STA USNT SAVE IN USER TEMP 3665 36675 016743 JSB IOIN MOVE USER IN 3666 36676 017253 JSB DRIVI INITIATE INPUT 3667 36677 016754 JSB IOOT MOVE USER OUT 3668 36700 002400 CLA CLEAR DRIVER -> 3669 36701 073207 STA DFLG --> BUSY FLAG 3670 36702 126665 JMP READL,I RETURN 3671* 3672* OUTPUT CALL FOR LOCAL TTY 3673* 3674 36703 000000 OUTL NOP 3675 36704 073174 STA OCNTL 3676 36705 077166 STB BFADL 3677 36706 060063 LDA USN LOAD USER NUMBER 3678 36707 073051 STA LUSN SAVE IN LOCAL USER NUMBER 3679 36710 063044 LDA .5 A = 5 : USER # 5 (LOG TTY) 3680 36711 073207 STA DFLG SET DRIVER BUSY FLAG 3681 36712 073075 STA USNT SET TO USER # 5 (LOG) 3682 36713 026432 JMP WCONT+4 3683* 3684*** LOG TTY INTERRUPT PROCESSOR 3685* 3686 36714 000000 INTL NOP 3687 36715 072734 STA &SVL SAVE A-REGISTER 3688 36716 063207 LDA DFLG LOAD DRIVER FLAG 3689 36717 002002 SZA BUSY? 3690 36720 026732 JMP &INTL YES- SET INTERRUPT FLAG 3691 36721 003400 CCA A=-1 3692 36722 073207 STA DFLG SET DRIVER FLAG 3693 36723 017010 JSB SAVRG SAVE REGISTERS 3694 36724 063044 LDA .5 A = 5 : USER # 5 (LOG TTY) 3695 36725 016735 JSB INT PROCESS CHARACTER 3696 36726 002400 CLA CLEAR DRIVER... 3697 36727 073207 STA DFLG ... BUSY FLAG 3698 36730 062734 LDA &SVL RESTORE A-REG 3699 36731 126714 JMP INTL,I RETURN 3700* 3701 36732 037103 &INTL ISZ INTLF INDEX INTERRUPT FLAG 3702 36733 026730 JMP *-3 RETURN 3703 36734 000000 &SVL NOP 3704* 3705******************************************* 3706*** *** 3707*** TIME-SHARED INTERRUPT PROCESSOR *** 3708*** *** 3709******************************************* 3710* 3711* 3712 36735 000000 INT NOP 3713 36736 073075 STA USNT 3714 36737 016743 JSB IOIN 3715 36740 017261 JSB DRIV 3716 36741 016754 JSB IOOT 3717 36742 126735 JMP INT,I 3718* 3719* 3720* 3721*** INPUT - OUTPUT UTILITY ROUTINES 3722* 3723 36743 000000 IOIN NOP MOVE USER IN 3724 36744 003400 CCA A= -1 3725 36745 043201 ADA IOSKA ADD ON USER STACK ADDRESS 3726 36746 043075 ADA USNT INDEX BY USER NUMBER 3727 36747 160000 LDA A,I LOAD SOURCE ADDRESS 3728 36750 067223 LDB DRVSK LOAD DRIVER STACK 3729 36751 016772 JSB MVSTK MOVE I/O STACK 3730 36752 000013 DEC 11 3731 36753 126743 JMP IOIN,I RETURN 3732* 3733 36754 000000 IOOT NOP MOVE USER OUT 3734 36755 007400 CCB GET I/O STACK ADDRESS 3735 36756 047201 ADB IOSKA 3736 36757 047075 ADB USNT INDEX BY USER NUMBER 3737 36760 164001 LDB B,I LOAD ACTUAL DESTINATION ADDRESS 3738 36761 063223 LDA DRVSK LOAD SOURCE ADDRESS 3739 36762 016772 JSB MVSTK MOVE USER OUT 3740 36763 000013 DEC 11 3741 36764 103101 CLO CLEAR OVERFLOW 3742 36765 063043 LDA SAVE GET E & O 3743 36766 000036 SLA,ELA CHK OV AND MOVE E INTO POS 3744 36767 102101 STO OVERFLOW SET 3745 36770 067042 LDB SAVB LOAD B-REG 3746 36771 126754 JMP IOOT,I RETURN 3747* 3748* 3749* 3750* 3751* 3752* MOVE STACK SUBROUTINE 3753* 3754* 3755* 3756*** SUBROUTINE TO MOVE STACK OF VALUES 3757* 3758* CALL: 3759* LOAD A-REGISTER WITH ADDRESS OF ORIGIN STACK 3760* LOAD B-REGISTER WITH ADDRESS OF DESTINATION STACK 3761* (P) JSB MVSTK 3762* (P+1) OCT N IS NUMBER OF WORDS TO MOVE 3763* (P+2) RETURN 3764* 3765 36772 000000 MVSTK NOP ADDRESS OF NUMBER OF WORDS TO MOVE 3766 36773 073040 STA ORSTK SAVE ORIGIN STACK ADDRESS 3767 36774 162772 LDA MVSTK,I LOAD # OF WORDS TO TRANSFER 3768 36775 003007 CMA,INA,SZA,RSS 3769 36776 027006 JMP NORET 3770 36777 073041 STA TEMP STORE AWAY COUNTER 3771 37000 163040 P1... LDA ORSTK,I LOAD CELL FROM ORIGIN STACK 3772 37001 170001 STA B,I TRANSFER TO DESTINATION STACK 3773 37002 006004 INB B= NEXT ADDRESS IN D-STACK 3774 37003 037040 ISZ ORSTK INDEX TO NEXT ADDRESS IN O-STACK 3775 37004 037041 ISZ TEMP TEST IF FINISHED 3776 37005 027000 JMP P1... NO, CONTINUE 3777 37006 036772 NORET ISZ MVSTK COMPUTE RETURN ADDRESS 3778 37007 126772 JMP MVSTK,I RETURN VIA ADDRESS IN MVSTK 3779* 3780* 3781* 3782* 3783* 3784* 3785* SAVE REGISTER SUBROUTINE 3786* 3787 37010 000000 SAVRG NOP 3788 37011 077042 STB SAVB SAVE B-REGISTER 3789 37012 001520 ERA,ALS SAVE E IN BIT 15 3790 37013 102201 SOC CHECK OVERFLOW 3791 37014 002004 INA INDEX A IF O SET 3792 37015 073043 STA SAVE SAVE E & O 3793 37016 127010 JMP SAVRG,I 3794* 3795* 3796* 3797* 3798 37017 000000 IMON NOP TURN ON STOP 3799 37020 003400 CCA 3800 37021 043201 ADA IOSKA GET STACK ADDRESS 3801 37022 040063 ADA USN 3802 37023 160000 LDA A,I 3803 37024 040400 ADA .10 ADD INDEX TO INHIBIT FLAG 3804 37025 006400 CLB CLEAR INHIBIT 3805 37026 174000 STB A,I 3806 37027 127017 JMP IMON,I 3807* 3808 37030 000000 IMOFF NOP TURN OFF STOP 3809 37031 003400 CCA 3810 37032 043201 ADA IOSKA 3811 37033 040063 ADA USN 3812 37034 160000 LDA A,I 3813 37035 040400 ADA .10 3814 37036 170000 STA A,I SET STOP INHIBIT FLAG 3815 37037 127030 JMP IMOFF,I 3816* 3817* 3818*** MAIN CONSTANTS AND TABLES FOR TSB DRIVERS 3819* 3820 37040 000000 ORSTK NOP 3821 37041 000000 TEMP NOP 3822 37042 000000 SAVB NOP 3823 37043 000000 SAVE NOP 3824 37044 000005 .5 OCT 5 3825 37045 000000 &CT NOP 3826 37046 000000 &BIAS NOP 3827 37047 000000 &MAIN NOP 3828 37050 000000 &USR NOP 3829 37051 000000 LUSN NOP 3830 37052 037053 DWS DEF *+1 3831 37053 136423 DEF WRIT1,I 3832 37054 136517 DEF WRIT2,I 3833 37055 136554 DEF WRIT3,I 3834 37056 136611 DEF WRIT4,I 3835 37057 037060 DRS DEF *+1 3836 37060 136442 DEF READ1,I 3837 37061 136523 DEF READ2,I 3838 37062 136560 DEF READ3,I 3839 37063 136615 DEF READ4,I 3840* 3841 37064 000000 FLAG1 NOP 3842 37065 000000 MAIN NOP 3843 37066 000000 CT NOP 3844 37067 000000 BIAS NOP 3845 37070 034364 @CARD DEF CCARD 3846 37071 034651 @PHTO DEF CPHTO 3847 37072 000000 TEMP1 NOP 3848 37073 000070 BSKA DEF BSK1-1 3849 37074 000030 INTA OCT 30 3850 37075 000000 USNT NOP 3851 36703 WRITL EQU OUTL 3852* 3853*** INTERRUPT FLAGS 3854* 3855 37076 037077 INTF DEF *+1 3856 37077 000000 INT1F NOP 3857 37100 000000 INT2F NOP 3858 37101 000000 INT3F NOP 3859 37102 000000 INT4F NOP 3860 37103 000000 INTLF NOP 3861* 3862 37104 037104 TCNTA DEF * 3863 37105 000000 NOP 3864 37106 000000 NOP 3865 37107 000000 NOP 3866 37110 000000 NOP 3867* 3868 37111 000000 ADR1 NOP 3869* 3870************************************* 3871*** *** 3872*** MONITOR - USER I/O STACKS *** 3873*** *** 3874************************************* 3875* 3876*** USER #1 I/O STACK 3877* 3878 37112 000000 BFAD1 NOP ADDRESS OF USER BUFFER 3879 37113 000000 NOP NEGATIVE COUNTER 3880 37114 035660 DEF CHIN1 3881 37115 035670 DEF CHOT1 3882 37116 000000 IO1 NOP 3883 37117 000000 DATA1 NOP DATA IN-OUT-ERROR FLAG 3884 37120 000000 OCNT1 NOP LENGTH FROM I/O CALL 3885 37121 000000 NOP POSITIVE COUNTER 3886 37122 036646 DEF CLC1 3887 37123 000000 NOP TAPE FLAG 3888 37124 000001 OCT 1 3889* 3890*** USER #2 I/O STACK 3891* 3892 37125 000000 BFAD2 NOP 3893 37126 000000 NOP NEGATIVE COUNTER 3894 37127 035675 DEF CHIN2 3895 37130 035705 DEF CHOT2 3896 37131 000000 IO2 NOP 3897 37132 000000 DATA2 NOP DATA FLAG 3898 37133 000000 OCNT2 NOP ORIGINAL COUNTER 3899 37134 000000 NOP POSITIVE COUNTER 3900 37135 036651 DEF CLC2 3901 37136 000000 NOP TAPE FLAG 3902 37137 000001 OCT 1 3903* 3904*** USER #3 I/O STACK 3905* 3906* 3907 37140 000000 BFAD3 NOP 3908 37141 000000 NOP NEGATIVE COUNTER 3909 37142 035712 DEF CHIN3 3910 37143 035722 DEF CHOT3 3911 37144 000000 IO3 NOP 3912 37145 000000 DATA3 NOP 3913 37146 000000 OCNT3 NOP 3914 37147 000000 NOP POSITIVE COUNTER 3915 37150 036654 DEF CLC3 3916 37151 000000 NOP TAPE FLAG 3917 37152 000001 OCT 1 3918* 3919*** USER # 4 I/O STACK 3920* 3921 37153 000000 BFAD4 NOP 3922 37154 000000 NOP NEGATIVE COUNTER 3923 37155 035727 DEF CHIN4 3924 37156 035737 DEF CHOT4 3925 37157 000000 IO4 NOP 3926 37160 000000 DATA4 NOP 3927 37161 000000 OCNT4 NOP 3928 37162 000000 NOP POSITIVE COUNTER 3929 37163 036657 DEF CLC4 3930 37164 000000 NOP TAPE FLAG 3931 37165 000001 OCT 1 3932* 3933*** LOCAL TTY ( USER # 5) I/O STACK 3934* 3935 37166 000000 BFADL NOP 3936 37167 000000 NOP NEGATIVE COUNTER 3937 37170 035744 DEF CHINL 3938 37171 035754 DEF CHOTL 3939 37172 000000 IOL NOP 3940 37173 000000 DATAL NOP DATA IN-OUT-ERROR FLAG 3941 37174 000000 OCNTL NOP 3942 37175 000000 PCNTL NOP 3943 37176 036662 DEF CLCL 3944 37177 000000 NOP TAPE FLAG 3945 37200 000001 OCT 1 3946* 3947* USER I/O STACK NAMES 3948* 3949 37201 037202 IOSKA DEF *+1 3950 37202 037112 DEF BFAD1 USER # 1 I/O STACK NAME 3951 37203 037125 DEF BFAD2 USER # 2 I/O STACK NAME 3952 37204 037140 DEF BFAD3 USER # 3 I/O STACK NAME 3953 37205 037153 DEF BFAD4 USER # 4 I/O STACK NAME 3954 37206 037166 DEF BFADL LOG TTY STACK NAME 3955* 3956* 3957*** DRIVER BUSY FLAG 3958* 3959 37207 000000 DFLG NOP 3960* 3961* 3962* DRIVER DATA STACK 3963* 3964* 3965 37210 000000 BUFAD NOP BUFFER ADDRESS 3966 37211 000000 NCNT NOP NEGATIVE COUNTER 3967 37212 000000 CHIN NOP ADDRESS OF INPUT SUBROUTINE 3968 37213 000000 CHOUT NOP ADDRESS OF OUTPUT SUBROUTINE 3969 37214 000000 IOFLG NOP INPUT/OUTPUT FLAG 3970 37215 000000 DATA NOP DATA-IN-OUT-ERROR FLAG 3971 37216 000000 OCNT NOP ORIGINAL COUNTER 3972 37217 000000 PCNT NOP POS COUNTER 3973 37220 000000 CLC NOP 3974 37221 000000 BPTR NOP 3975 37222 000000 STPIN OCT 0 3976* 3977 37223 037210 DRVSK DEF BUFAD DRIVER STACK POINTER 3978 37224 160001 INCMD OCT 160001 INPUT COMMAND 3979 37225 130000 OTCMD OCT 130000 3980* 3981 37226 034713 PTPRA ABS PTPRC 3982 37227 035763 PTBA ABS PTBUF 3983 SKP 3984* 3985************************************** 3986*** *** 3987*** TIME-SHARE TELETYPE DRIVER *** 3988*** *** 3989************************************** 3990* 3991* 3992* 3993* 3994* 3995* INITIATE OUTPUT 3996* 3997 37230 000000 RESET NOP 3998 37231 017341 JSB CLEAR PUT RUBOUT INTO BOARD 3999 37232 002400 CLA CLEAR 4000 37233 073215 STA DATA DATA FLAG 4001 37234 073217 STA PCNT POSITIVE COUNTER 4002 37235 063216 LDA OCNT LOAD NEGATIVE COUNTER 4003 37236 002021 SSA,RSS CHECK IF NEGATIVE 4004 37237 003004 CMA,INA NO - MAKE NEG 4005 37240 073211 STA NCNT SAVE NEGATIVE COUNTER 4006 37241 127230 JMP RESET,I 4007* 4008 37242 000000 DRIVO NOP 4009 37243 017230 JSB RESET 4010 37244 067210 LDB BUFAD CHECK BUFFER ADDRESS 4011 37245 006003 SZB,RSS IS IT ZERO? 4012 37246 073216 STA OCNT YES - RESET OCNT TO NEGATIVE 4013 37247 063225 LDA OTCMD LOAD OUTPUT COMMAND 4014 37250 073214 STA IOFLG SAVE IN I/O FLAG 4015 37251 017261 JSB DRIV GO TO CONTINUATOR 4016 37252 127242 JMP DRIVO,I RETURN TO MONITOR* 4017* 4018* 4019* INITIATE INPUT 4020* 4021* 4022 37253 000000 DRIVI NOP 4023 37254 017230 JSB RESET 4024 37255 067224 LDB INCMD SET INPUT COMMAND 4025 37256 077214 STB IOFLG IN I/O FLAG 4026 37257 117212 JSB CHIN,I START INPUT 4027 37260 127253 JMP DRIVI,I RETURN 4028* 4029* 4031* 4032* 4033 SKP 4034* 4035* 4036******************************* 4037*** *** 4038*** TIME-SHARE DRIVER *** 4039*** CONTINUATOR SECTION *** 4040*** *** 4041******************************* 4042* 4043* 4044* 4045 37261 000000 DRIV NOP 4046* 4047* CHECK I/O FLAG 4048* 4049 37262 067214 LDB IOFLG LOAD I/O FLAG 4050 37263 004010 SLB CHECK IF INPUT 4051 37264 027351 JMP INPUT YES - GO TO INPUT SECTION 4052* 4053* 4054*** OUTPUT SECTION *** 4055* 4056* 4057 37265 063212 LDA CHIN TEST FOR STOP COMMAND 4058 37266 002004 INA COMPUTE ADDRESS OF LIA INSTR 4059 37267 160000 LDA A,I LOAD LIA INSTRUCTION 4060 37270 073271 STA INST. STORE FOR EXECUTION 4061 37271 000000 INST. NOP EXECUTE LIA CHANXX 4062 37272 010443 AND M177 MASK TO LOWER 7-BITS 4063 37273 050443 CPA RBOUT IS IT A RUBOUT 4064 37274 027276 JMP OK YES 4065 37275 027330 JMP STOP SET STOP FLAG 4066 37276 063211 OK LDA NCNT 4067 37277 002021 SSA,RSS CHECK IF DONE 4068 37300 027311 JMP OT1 YES 4069 37301 067210 LDB BUFAD CHECK BUFFER ADDRESS 4070 37302 006003 SZB,RSS IS IT ZERO? 4071 37303 027477 JMP LEADR YES 4072 37304 017545 OT5 JSB ACCHR GET NEXT CHARACTER 4073 37305 030444 IOR M200 ADD PARITY 4074 37306 067214 LDB IOFLG LOAD I/O FLAG 4075 37307 117213 JSB CHOUT,I OUTPUT CHARACTER 4076 37310 127261 JMP DRIV,I RETURN 4077* 4078* CHECK FOR CR-LF 4079* 4080 37311 063216 OT1 LDA OCNT GET ORIGINAL COUNTER 4081 37312 002020 SSA CHECK IF CR-LF 4082 37313 027324 JMP OT2 NO - DONE 4083 37314 060502 LDA M4 LOAD -4 CHARACTERS 4084 37315 067522 LDB CRLFA LOAD CARRIAGE RETURN LINE FEED 4085 37316 073216 STA OCNT SAVE COUNT 4086 37317 073211 STA NCNT SAVE NEGATIVE COUNTER 4087 37320 077210 STB BUFAD SAVE BUFFER 4088 37321 002400 CLA CLEAR POSITIVE COUNTER 4089 37322 073217 STA PCNT 4090 37323 027304 JMP OT5 OUTPUT 4091* 4092 37324 060536 OT2 LDA M15 LOAD BIT 15=1 4093 37325 073215 STA DATA SET DATA OUT FLAG 4094 37326 117220 JSB CLC,I 4095 37327 127261 JMP DRIV,I 4096* 4097* 4098*** SET STOP FLAG 4099* 4100 37330 063222 STOP LDA STPIN LOAD STOP INHIBIT 4101 37331 002002 SZA INHIBITED? 4102 37332 027276 JMP OK YES 4103 37333 017341 JSB CLEAR CLEAR USER TTY BOARD 4104 37334 063562 LDA &EXU SET EXU FLAG TO I/O STOP 4105 37335 043075 ADA USNT BY SETTING IT TO -2 4106 37336 064500 LDB M2 4107 37337 174000 STB A,I 4108 37340 027276 JMP OK STOP FLAG SET- OUTPT NEXT CHAR 4109* 4110* 4111* 4112*** PUT RUBOUT CHARACTER INTO TTY 4113* 4114 37341 000000 CLEAR NOP 4115 37342 063213 LDA CHOUT GET CHARACTER OUTPUT ADDRESS 4116 37343 002004 INA INDEX TO OTB INST. 4117 37344 160000 LDA A,I LOAD INSTRUCTION 4118 37345 073347 STA INS.. STORE IT 4119 37346 064443 LDB RBOUT LOAD RUBOUT CHARACTER 4120 37347 000000 INS.. NOP INSTRUCTION LOCATION 4121 37350 127341 JMP CLEAR,I RETURN 4122 SKP 4123* 4124*** INPUT SECTION *** 4125* 4126* 4127 37351 117212 INPUT JSB CHIN,I INPUT CHAR 4128 37352 053525 CPA RT CARRIAGE RETURN? 4129 37353 027375 JMP IN1 YES - DONE 4130 37354 067211 LDB NCNT LOAD NEG COUNTER 4131 37355 006021 SSB,RSS CHECK IF DONE 4132 37356 027374 JMP IN2 YES 4133 37357 002003 SZA,RSS TEST FOR NULL RECORD 4134 37360 027510 JMP TPTST GO SEE IF IN TAPE INPUT MODE 4135 37361 050400 CPA LF TEST FOR LINE-FEED 4136 37362 127261 JMP DRIV,I YES, THEN IGNORE 4137 37363 050443 CPA RBOUT TEST FOR RUBOUT 4138 37364 127261 JMP DRIV,I RUBOUT, IGNORE 4139 37365 053527 CPA AMODE ALT MODE? 4140 37366 027442 JMP IN4 YES, SET DELETE FLAG 4141 37367 050405 CPA EMODE ESCAPE MODE? 4142 37370 027442 JMP IN4 YES, SET DELETE FLAG 4143 37371 053526 CPA LFTAR IS IT A LEFT ARROW? 4144 37372 027456 JMP DLETE YES, DELETE PREVIOUS CHARACTER 4145 37373 017530 JSB STORC STORE CHARACTER 4146 37374 127261 IN2 JMP DRIV,I RETURN 4147* 4148 37375 067211 IN1 LDB NCNT LOAD NEG COUNTER 4149 37376 002404 CLA,INA SET A=1 4150 37377 006020 SSB CHECK IF OK 4151 37400 027403 JMP IN3 YES 4152 37401 004010 SLB MAYBE - CHECK BIT 0 4153 37402 003400 CCA SET A=-1 4154 37403 073215 IN3 STA DATA STORE DATA FLAG 4155 37404 067221 LDB BPTR LOAD TAPE FLAG 4156 37405 006003 SZB,RSS TAPE? 4157 37406 027440 JMP IN3.5 NO 4158 37407 006020 SSB SET BPTR POSITIVE 4159 37410 007004 CMB,INB 4160 37411 077221 STB BPTR 4161 37412 063217 LDA PCNT LOAD POSITIVE COUNTER 4162 37413 002003 SZA,RSS 0? 4163 37414 027454 JMP RSTRT YES 4164 37415 002004 INA COMPUTE # OF WORDS 4165 37416 000065 CLE,ERA DIVIDE BY 2 AND SAVE ODD/EVEN 4166 37417 073425 STA !L! STORE WORD COUNT 4167 37420 003045 CMA,SEZ,INA,RSS 4168 37421 002004 INA ODD NUMBER OF CHARS 4169 37422 043210 ADA BUFAD COMPUTE START OF TAPE BUFFER 4170 37423 073210 STA BUFAD RESTORE TAPE BUFFER ADDRESS 4171* 4172 37424 016772 JSB MVSTK MOVE STRING TO I/O BUFFER 4173 37425 000000 !L! NOP 4174* 4175 37426 063217 LDA PCNT RELOAD COUNT 4176 37427 067104 LDB TCNTA LOAD TAPE COUNTER ADDRESS TABLE 4177 37430 047075 ADB USNT INDEX TO USER 4178 37431 170001 STA B,I SAVE COUNT 4179* 4180 37432 063215 LDA DATA LOAD DATA FLAG 4181 37433 073222 STA STPIN SAVE IN INTERRUPT INHIBIT 4182 37434 017253 JSB DRIVI START NEW OPERATION 4183 37435 063222 LDA STPIN 4184 37436 073215 STA DATA RESTORE DATA FLAG 4185 37437 127261 JMP DRIV,I RETURN 4186* 4187 37440 117220 IN3.5 JSB CLC,I TURN OFF TTY 4188 37441 127261 JMP DRIV,I RETURN 4189* 4190 37442 060500 IN4 LDA M2 RECORD DELETED 4191 37443 067221 LDB BPTR IN TAPE? 4192 37444 006003 SZB,RSS 4193 37445 027403 JMP IN3 NO 4194* 4195 37446 063217 LDA PCNT YES LOAD COUNT 4196 37447 002004 INA 4197 37450 001100 ARS 4198 37451 003004 CMA,INA 4199 37452 043210 ADA BUFAD COMPUTE TAPE BUFFER ADDRESS 4200 37453 073210 STA BUFAD RESTORE TAPE BUFFER 4201 37454 017253 RSTRT JSB DRIVI RESTART INPUT 4202 37455 127261 JMP DRIV,I RETURN 4203* 4204* 4205*** DELETE CHARACTER FROM BUFFER (_) 4206* 4207 37456 067217 DLETE LDB PCNT FETCH BUFFER COUNTER 4208 37457 006003 SZB,RSS IS BUFFER EMPTY? 4209 37460 127261 JMP DRIV,I YES, IGNORE AND RETURN 4210 37461 003400 CCA SET A=-1 4211 37462 044000 ADB A DECREMENT CHARACTER COUNT 4212 37463 077217 STB PCNT RESTORE BUFFER COUNT 4213 37464 043211 ADA NCNT DECREMENT NEGATIVE COUNTER 4214 37465 073211 STA NCNT RESTORE IT 4215 37466 006011 SLB,RSS TEST FOR ODD/EVEN CHARACTER 4216 37467 127261 JMP DRIV,I EVEN, JUST DECREMENT COUNT 4217 37470 003400 CCA RESET A =-1 4218 37471 043210 ADA BUFAD DECREMENT ADDRESS POINTER 4219 37472 073210 STA BUFAD AND STORE IT 4220 37473 163210 LDA BUFAD,I LOAD LAST TWO CHARACTERS 4221 37474 010527 AND MSK1 DELETE LAST CHARACTER 4222 37475 173210 STA BUFAD,I RESTORE CHARACTER 4223 37476 127261 JMP DRIV,I RETURN 4224* 4225* 4226 37477 067216 LEADR LDB OCNT LOAD ORIGINAL COUNTER 4227 37500 006003 SZB,RSS IS IT ZERO? 4228 37501 027311 JMP OT1 YES - CR-LF 4229 37502 067214 LDB IOFLG GET I/O FLAG 4230 37503 002400 CLA NULL CHARACTER 4231 37504 117213 JSB CHOUT,I 4232 37505 037211 ISZ NCNT 4233 37506 127261 JMP DRIV,I 4234 37507 127261 JMP DRIV,I 4235* 4236*** SECTION TO TEST FOR LEADER / TRAILER TAPE 4237* 4238 37510 063221 TPTST LDA BPTR LOAD TAPE FLAG 4239 37511 002003 SZA,RSS 0? 4240 37512 127261 JMP DRIV,I YES 4241 37513 002020 SSA LEADER? 4242 37514 127261 JMP DRIV,I YES 4243 37515 002400 CLA END-OF-TAPE 4244 37516 073217 STA PCNT CLEAR COUNTER 4245 37517 073221 STA BPTR CLEAR TAPE FLAG 4246 37520 002404 CLA,INA SET DATA FLAG 4247 37521 027403 JMP IN3 4248 37522 037523 CRLFA DEF *+1 4249 37523 006412 OCT 6412,177777 4250 37525 000015 RT OCT 15 CARRIAGE RETURN 4251 37526 000137 LFTAR OCT 137 4252 37527 000176 AMODE OCT 176 4253* 4254 SKP 4255* 4256* 4257*************************************** 4258*** *** 4259*** SPECIAL SERVICE SUBROUTINES *** 4260*** *** 4261*************************************** 4262* 4263* SUBROUTINE TO STORE CHARACTER 4264* 4265* 4266 37530 000000 STORC NOP 4267 37531 067217 LDB PCNT GET POSITIVE COUNTER 4268 37532 006011 SLB,RSS CHECK UPPER/LOWER FLAG 4269 37533 001737 ALF,SLA,ALF UPPER - ROTATE AND SKIP 4270 37534 133210 IOR BUFAD,I LOWER - ADD TO UPPER CHAR 4271 37535 173210 STA BUFAD,I STORE WORD 4272 37536 006014 SLB,INB CHECK U/L AND INC COUNTER 4273 37537 037210 ISZ BUFAD LOWER - NEW WORD 4274 37540 077217 STB PCNT STORE POS COUNTER 4275 37541 037211 ISZ NCNT INC NEG COUNTER 4276 37542 127530 JMP STORC,I RETURN 4277 37543 037211 ISZ NCNT DATA IN - SET DINF 4278 37544 127530 JMP STORC,I RETURN 4279* 4280* 4281* SUBROUTINE TO ACCESS ONE CHARACTER 4282* 4283* 4284 37545 000000 ACCHR NOP 4285 37546 067217 LDB PCNT LOAD POSITIVE COUNTER 4286 37547 163210 LDA BUFAD,I LOAD WORD 4287 37550 006011 SLB,RSS CHECK UPPER OR LOWER 4288 37551 001727 ALF,ALF ROTATE UPPER CHAR TO LOW BITS 4289 37552 010443 AND M177 MASK OFF UPPER BITS 4290 IFN 4291* CSL MODIFICATIONS TO REMOVE BRACKETS. 4292* DO NOT INCLUDE IN HP VERSION*** 4293* 4294 CPA LBRAK 4295 LDA LPREN 4296 CPA RBRAK 4297 LDA RPREN 4298* 4299* 4300 XIF 4301 37553 006014 SLB,INB CHECK IF NEW WORD NEEDED 4302 37554 037210 ISZ BUFAD YES - INCREMENT ADDRESS 4303 37555 077217 STB PCNT SAVE POS COUNTER 4304 37556 037211 ISZ NCNT INCREMENT NEG COUNTE 4305 37557 127545 JMP ACCHR,I RETURN 4306 37560 127545 JMP ACCHR,I RETURN 4307 37561 000065 EXUA DEF EXU1 4308 37561 EXUA. EQU EXUA 4309 37562 000064 &EXU DEF EXU1-1 4310 IFN 4311* 4312* 4313* BRACKET TEST UNNECESSARY IN HP VERSION 4314* 4315 LBRAK EQU 442B 4316 LPREN EQU 417B 4317 RPREN EQU 420B 4318 RBRAK OCT 135 4319 XIF 4320 SKP 4321* 4322*** THIS SECTION OF TIME-SHARE DRIVERS AND MONITOR 4323*** IS DESIGNED TO SAVE ALL RUNNING CONDITION 4324*** POINTERS WHEN A POWER FAIL OCCURS AND TO RE- 4325*** INITIATE THE COMPUTER WHEN POWER RETURNS. 4326* 4327* 4328*** THIS SECTION STOPS THE COMPUTER 4329* 4330 37563 000000 !FAIL NOP ENTRY POINT FROM INTERRUPT 4331 37564 103100 CLF 0 TURN OFF INTERRUPT 4332 37565 102204 SFC PFL UP OR DOWN? 4333 37566 027602 JMP UP^^^ GO TO RESTERT SECTION 4334 37567 073645 STA ASTR SAVE A - REGISTER 4335 37570 077646 STB BSTR SAVE B - REGISTER 4336 37571 001520 ERA,ALS 4337 37572 102201 SOC 4338 37573 002004 INA SAVE E & O REGISTERS 4339 37574 073647 STA EO 4340 37575 063563 LDA !FAIL LOAD RETURN ADDRESS 4341 37576 073650 STA RETAD SAVE FOR RETURN 4342 37577 106704 CLC PFL TURN ON RESTART 4343 37600 102004 HLT PFL STOP COMPUTER 4344 37601 027602 JMP UP^^^ 4345* 4346*** THIS SECTION RE-INITIATES THE COMPUTER 4347* 4348 37602 103101 UP^^^ CLO 4349 37603 063647 LDA EO 4350 37604 000036 SLA,ELA RESTORE E & O REGISTERS 4351 37605 102101 STO 4352 37606 064443 LDB RBOUT 4353 37607 106600 LTTY4 OTB 0 SET RUBOUT CHAR IN LOG TTY 4354 37610 000000 NOP (OTB USER #1) 4355 37611 000000 NOP (OTB USER #2) 4356 37612 000000 NOP (OTB USER #3) 4357 37613 000000 NOP (OTB USER #4) 4358 37614 067116 LDB IO1 LOAD CHAN 1 I/O FLAG 4359 37615 000000 NOP OTB CHAN 1 4360 37616 067131 LDB IO2 LOAD CHAN 2 I/O FLAG 4361 37617 000000 NOP 4362 37620 067144 LDB IO3 LOAD CHANNEL 3 I/O FLAG 4363 37621 000000 NOP OTB CHAN3 4364 37622 067157 LDB IO4 LOAD CHANNEL 4 I/O FLAG 4365 37623 000000 NOP OTB CHAN4 4366 37624 067172 LDB IOL LOCAL TTY I/O FLAG 4367 37625 000000 ZT[ NOP 4368* 4369* 4370 37626 060373 LDA .4 4371 37627 102600 CL4 OTA 0 4372 37630 063645 LDA ASTR RESET A - REGISTER 4373 37631 067646 LDB BSTR RESET B-REGISTER 4374 37632 103700 LTTY5 STC 0,C 4375 37633 000000 NOP (STC,C CHAN 1) 4376 37634 000000 NOP (STC,C CHAN 2) 4377 37635 000000 NOP (STC,C CHAN 3) 4378 37636 000000 NOP (STC,C CHAN 4) 4379 37637 000000 ?PFLI NOP (CLC RDR IF IN SYSTEM) 4380 37640 000000 NOP (CLC CARD IF IN SYSTEM) 4381 37641 103700 CL3 STC 0,C 4382 37642 102704 STC PFL SET UP FOR NEXT FAILURE 4383 37643 102100 STF 0 TURN ON INTERRUPT 4384 37644 127650 JMP RETAD,I RETURN TO INTERRUPTED SEQUENCE 4385* 4386*** STORAGE FOR POWER FAIL PROGRAM 4387* 4388 37645 000000 ASTR NOP 4389 37646 000000 BSTR NOP 4390 37647 000000 EO NOP 4391 37650 000000 RETAD NOP 4392 37651 LWAMS EQU * 4393* 4394* 4395* 4396 SKP 4397* 4398********************************** 4399*** *** 4400*** BASE PAGE LINKAGE AREA *** 4401*** *** 4402********************************** 4403 00003 ORG 3B 4404 00003 030000 DEF PTSBS 4405 00004 114040 JSB PFAIL,I POWER FAIL INTERRUPT LOCATION 4406 00005 102005 HLT 5B 4407* 4408* I/O CHANNELS 4409* 4410 00004 PFL EQU 4B POWER FAIL CHANNEL 4411 00010 ORG 10B 4412 REP 9 4413 00010 000000 NOP INTERRUPT NOP'S 4413 00011 000000 NOP INTERRUPT NOP'S 4413 00012 000000 NOP INTERRUPT NOP'S 4413 00013 000000 NOP INTERRUPT NOP'S 4413 00014 000000 NOP INTERRUPT NOP'S 4413 00015 000000 NOP INTERRUPT NOP'S 4413 00016 000000 NOP INTERRUPT NOP'S 4413 00017 000000 NOP INTERRUPT NOP'S 4413 00020 000000 NOP INTERRUPT NOP'S 4414 00030 ORG 30B 4415* 4416* INTERRUPT LINKS 4417* 4418* 4419 00030 035477 I/O1 ABS TIMR 4420 00031 036476 I/O2 ABS INT1 4421 00032 036533 I/O3 ABS INT2 4422 00033 036570 I/O4 ABS INT3 4423 00034 036625 I/O5 ABS INT4 4424 00035 036714 I/O6 ABS INTL 4425 00036 034544 I/O7 ABS RDINT 4426 00037 034077 I/O8 ABS CRINT 4427 00040 037563 PFAIL DEF !FAIL LINK TO POWER FAIL ROUTINE 4428* 4429*** BASE PAGE LINKS TO BASIC AND MONITOR 4430* 4431 00060 ORG 60B 4432 00060 034062 DEF CARDS LINK TO CARD READER INITIATE 4433 00061 PTAP BSS 1 4434 00062 034535 DEF .HSPR 4435 00063 USN BSS 1 4436 00064 ASTK BSS 1 4437 00065 EXU1 EQU * 4438 00066 EXU2 EQU *+1 4439 00067 EXU3 EQU *+2 4440 00070 EXU4 EQU *+3 4441 00071 ORG 71B 4442 00071 013203 BSK1 DEF SK1 4443 00072 013333 BSK2 DEF SK2 4444 00073 013463 BSK3 DEF SK3 4445 00074 013613 BSK4 DEF SK4 4446 00101 ORG 101B 4447 00101 035313 DEF LOGOF 4448 00102 035023 DEF MSSG 4449 00103 036000 &MON& DEF MONIT 4450 00104 036365 DEF SEXU 4451 00105 037017 DEF IMON 4452 00106 037030 DEF IMOFF 4453 00107 XECUT BSS 1 4454 00110 I.STP BSS 1 4455 00111 ACTIV EQU * 4456 00112 WRITE EQU ACTIV+1 4457 00113 REED EQU ACTIV+2 4458 00114 FWAM EQU ACTIV+3 4459 00115 LWAM EQU ACTIV+4 4460 00116 .BUFA EQU ACTIV+5 4461 00117 SYMTA EQU .BUFA+1 4462 00121 PBUFF EQU SYMTA+2 4463 00122 PBPTR EQU PBUFF+1 4464 00124 .LNUM EQU PBPTR+2 4465 00120 SBUFA EQU ACTIV+7 4466 00125 BADDR EQU ACTIV+12 4467 00126 CCNT EQU ACTIV+13 4468 00133 SBPTR EQU ACTIV+18 4469 00205 ORG 205B 4470 00205 TEMPS EQU * 4471 00227 INFO1 EQU TEMPS+18 4472 00230 INFO2 EQU TEMPS+19 4473 00231 INFO3 EQU TEMPS+20 4474 00100 ONADR EQU 100B 4475 00255 RDYDA EQU 255B 4476 00262 TSRCH EQU RDYDA+5 4477 00254 PEXMA EQU RDYDA-1 4478 00272 OUTIA EQU RDYDA+13 4479 00272 OUTIN EQU OUTIA 4480 00277 DIGCK EQU RDYDA+18 4481 00300 LETCK EQU DIGCK+1 4482 00276 GETCR EQU DIGCK-1 4483 00275 OUTCR EQU DIGCK-2 4484 00370 ORG 370B 4485 00370 .1 EQU * 4486 00371 .2 EQU *+1 4487 00372 .3 EQU *+2 4488 00373 .4 EQU *+3 4489 00374 .6 EQU *+4 4490 00375 .7 EQU *+5 4491 00400 .10 EQU *+8 4492 00401 .12 EQU *+9 4493 00400 LF EQU .10 4494 00411 BLANK EQU *+17 4495 00411 .32 EQU BLANK 4496 00402 .15 EQU *+10 4497 00415 .36 EQU *+21 4498 00420 .41 EQU *+24 4499 00425 .48 EQU *+29 4500 00430 .63 EQU *+32 4501 00434 .72 EQU *+36 4502 00405 EMODE EQU *+13 4503 00443 M177 EQU .72+7 4504 00443 RBOUT EQU M177 4505 00444 M200 EQU M177+1 4506 00445 M377 EQU M177+2 4507 00477 ORG 477B 4508 00477 M1 EQU * 4509 00500 M2 EQU *+1 4510 00501 M3 EQU *+2 4511 00502 M4 EQU *+3 4512 00503 M5 EQU *+4 4513 00504 M6 EQU *+5 4514 00505 M7 EQU *+6 4515 00506 M8 EQU *+7 4516 00507 M9 EQU *+8 4517 00510 M10 EQU *+9 4518 00511 M11 EQU *+10 4519 00513 M16 EQU *+12 4520 00514 M19 EQU *+13 4521 00515 M21 EQU *+14 4522 00516 M25 EQU *+15 4523 00521 D72 EQU *+18 4524 00522 D100 EQU *+19 4525 00527 MSK1 EQU *+24 4526 00531 D1000 EQU *+26 4527 00536 M15 EQU D1000+5 4528 31114 [SEX[ EQU .SEX.-1 4529 00443 B177 EQU M177 4530 00104 SEXUA EQU &MON&+1 4531 00430 .77 EQU .72-4 4532 00127 TFLAG EQU CCNT+1 4533 00431 AT EQU .63+1 4534 00407 .30 EQU .10+7 4535 00416 .37 EQU .10+14 4536 00411 SP EQU .32 4537 00123 BLNK EQU PBPTR+1 4538 00124 LNUM EQU PBPTR+2 4539 00252 RUNA EQU PEXMA-2 4540 00256 DRQST EQU PEXMA+2 4541 00176 STK19 EQU TEMPS-7 4542 00544 ERROR EQU 544B 4543 00545 ..ERR EQU 545B LINK TO ERROR+1 IN BASIC 4544 02141 RN.$. EQU 2141B LINK TO "RUN" ADDRESS IN BASIC 4545 00252 $RUN$ EQU PEXMA-2 4546 00257 $LST$ EQU PEXMA+3 4547 00253 $FS3$ EQU PEXMA-1 4548 00053 ORG 53B 4549 00053 034000 X1 DEF Y1 4550 00054 034011 X2 DEF Y2 4551 00055 002012 X3 ABS 2012B 4552 00056 034033 X4 DEF Y3 4553 00057 034054 X6 DEF Y6 LINK TO Y6 FROM LIST, ETC. 4554* 4555*** SET UP USER STACKS 4556* 4557 13203 ORG 13203B 4558 13203 STCKS EQU * 4559 13203 036456 SK1 ABS TAPE1 4560 13204 036423 ABS WRIT1 4561 13205 036442 ABS READ1 4562 13206 000000 FWAM1 NOP 4563 13207 000000 LWAM1 NOP 4564 13210 BSS 83 4565 13333 036527 SK2 ABS TAPE2 4566 13334 036517 ABS WRIT2 4567 13335 036523 ABS READ2 4568 13336 000000 FWAM2 NOP 4569 13337 000000 LWAM2 NOP 4570 13340 BSS 83 4571 13463 036564 SK3 ABS TAPE3 4572 13464 036554 ABS WRIT3 4573 13465 036560 ABS READ3 4574 13466 000000 FWAM3 NOP 4575 13467 000000 LWAM3 NOP 4576 13470 BSS 83 4577 13613 036621 SK4 ABS TAPE4 4578 13614 036611 ABS WRIT4 4579 13615 036615 ABS READ4 4580 13616 000000 FWAM4 NOP 4581 13617 000000 LWAM4 NOP 4582 13620 BSS 83 4583* 4584 13743 FINIS EQU * 4585 END !FAIL 037563 01/4330 -- 01/4340 01/4427 !L! 037425 01/4173 -- 01/4166 #MOT# 035017 01/2480 -- 01/2423 #PT# 031102 01/1442 -- 01/1246 #USRS 035646 01/2937 -- 01/1404 01/2841 $FS3$ 000253 01/4547 -- 01/1093 $LST$ 000257 01/4546 -- 01/1085 $RUN$ 000252 01/4545 -- 01/1082 $SEX$ 023570 01/0766 -- 01/0608 &#USR 023621 01/0791 -- 01/0197 01/0266 01/0333 &&USR 031634 01/1845 -- 01/1551 01/1621 &BAD& 035011 01/2473 -- unreferenced &BIAS 037046 01/3826 -- 01/3170 01/3176 01/3185 &CNT& 035012 01/2474 -- unreferenced &CT 037045 01/3825 -- 01/3168 01/3178 &EXE& 036141 01/3182 -- 01/3175 &EXU 037562 01/4309 -- 01/3361 01/4104 &INT& 036131 01/3173 -- 01/3179 &INT1 036514 01/3495 -- 01/3484 &INT2 036551 01/3544 -- 01/3533 &INT3 036606 01/3589 -- 01/3578 &INT4 036643 01/3631 -- 01/3620 &INTL 036732 01/3701 -- 01/3690 &MAIN 037047 01/3827 -- 01/3172 01/3173 01/3177 01/3183 &MON& 000103 01/4449 -- 01/1966 01/2283 01/2432 01/2440 01/2445 01/2448 01/2458 01/4530 &MSTK 036263 01/3304 -- 01/3288 01/3298 01/3306 01/3315 01/3316 &NEX& 036134 01/3176 -- 01/3188 &ORST 036300 01/3318 -- 01/3305 01/3309 01/3312 &SV1 036516 01/3497 -- 01/3481 01/3492 &SV2 036553 01/3546 -- 01/3530 01/3541 &SV3 036610 01/3591 -- 01/3575 01/3586 &SV4 036645 01/3633 -- 01/3617 01/3628 &SVL 036734 01/3703 -- 01/3687 01/3698 &T1 023444 01/0638 -- 01/0120 &TEMP 036301 01/3319 -- 01/3308 01/3313 &USR 037050 01/3828 -- 01/0791 01/1403 01/1845 01/3109 01/3127 ..ERR 000545 01/4543 -- 01/1444 .1 000370 01/4485 -- 01/0422 01/0921 01/1003 .10 000400 01/4491 -- 01/1086 01/2097 01/2595 01/3803 01/3813 01/4493 01/4534 01/4535 .11 030652 01/1378 -- 01/0906 .11. 034531 01/2255 -- 01/2085 .12 000401 01/4492 -- 01/2396 .13 035054 01/2515 -- 01/2507 .14 035631 01/2924 -- 01/2680 01/2732 .15 000402 01/4496 -- 01/0485 01/1776 .16 035632 01/2925 -- 01/2783 .2 000371 01/4486 -- 01/0250 01/0554 01/0574 01/0603 01/0661 01/0991 01/1083 01/1284 01/1467 01/1484 01/1506 01/1530 01/1538 01/3411 01/3537 .20 034526 01/2252 -- 01/2093 .200 023727 01/0832 -- 01/0720 .24 030655 01/1381 -- 01/1179 .3 000372 01/4487 -- 01/0682 01/1090 01/2555 01/3582 .30 000407 01/4534 -- 01/2089 .32 000411 01/4495 -- 01/0275 01/0531 01/0953 01/1590 01/1764 01/1916 01/4536 .34 023564 01/0762 -- 01/0633 .36 000415 01/4497 -- 01/0488 01/3474 .37 000416 01/4535 -- 01/1994 .4 000373 01/4488 -- 01/0569 01/0622 01/0936 01/1464 01/1481 01/1503 01/1527 01/1629 01/3209 01/3624 01/4370 .41 000420 01/4498 -- unreferenced .48 000425 01/4499 -- 01/0273 01/0951 01/2504 01/2661 01/2667 01/2779 .5 037044 01/3824 -- 01/3112 01/3662 01/3679 01/3694 .6 000374 01/4489 -- 01/0281 01/1020 01/1524 01/2547 01/3658 .60 035633 01/2926 -- 01/2843 .63 000430 01/4500 -- 01/0853 01/4533 .7 000375 01/4490 -- unreferenced .72 000434 01/4501 -- 01/0412 01/1184 01/1934 01/2541 01/2574 01/3468 01/4503 01/4531 .77 000430 01/4531 -- 01/2064 .BSKA 035021 01/2482 -- 01/2421 .BUFA 000116 01/4460 -- 01/1581 01/1896 01/1911 01/1935 01/2542 01/2548 01/2554 01/2575 01/2622 01/3470 01/3473 01/4461 .D. 036150 01/3193 -- 01/3115 .HSPR 034535 01/2277 -- 01/0074 01/1430 01/2379 01/2392 01/2400 01/4434 .LD. 036030 01/3089 -- 01/1402 01/3083 .LNUM 000124 01/4464 -- 01/1593 .NEXT 031544 01/1786 -- 01/1765 01/1767 01/1771 01/1774 .RDR1 034673 01/2393 -- 01/0070 .RET. 036436 01/3439 -- 01/3457 .SEX. 031115 01/1455 -- 01/1441 01/4528 .X. 036213 01/3240 -- 01/3133 /E 031023 01/1412 -- 01/1188 ?24 035561 01/2903 -- 01/2873 ?ACCT 023740 01/0841 -- 01/0364 01/0472 ?CARD 031035 01/1422 -- 01/1102 ?CRD? 031037 01/1424 -- 01/1104 ?CT 031563 01/1804 -- 01/1552 01/1604 ?DBUF 031575 01/1814 -- 01/1516 ?FL1 031557 01/1800 -- 01/1620 ?I1 031117 01/1460 -- 01/1469 01/1473 ?I2 031136 01/1477 -- 01/1486 01/1490 01/1492 01/1495 ?I3 031162 01/1499 -- 01/1508 01/1511 ?I5 031202 01/1520 -- 01/1529 01/1533 01/1537 01/1542 01/1546 ?LDR 034611 01/2327 -- 01/0073 01/2306 ?LP1 031243 01/1557 -- 01/1605 ?MON 031566 01/1807 -- unreferenced ?MOUT 031564 01/1805 -- 01/1598 ?MOVE 031565 01/1806 -- 01/1211 01/1227 01/1236 01/1576 ?OMIT 034602 01/2318 -- 01/0072 01/2295 01/2297 01/2310 01/2325 01/2329 01/2333 01/2345 01/2349 01/2354 ?ON 031562 01/1803 -- 01/1557 01/1634 ?PFLI 037637 01/4379 -- 01/1426 01/1427 ?PHO? 031040 01/1425 -- 01/1133 ?PHTO 031036 01/1423 -- 01/1131 ?PTCR 034742 01/2433 -- 01/2429 ?SAVA 034642 01/2362 -- 01/2288 01/2319 ?SAVB 034643 01/2363 -- 01/2289 01/2320 ?TBL 023737 01/0840 -- 01/0539 ?USNT 031560 01/1801 -- 01/1555 01/1603 @CARD 037070 01/3845 -- 01/3099 @PHTO 037071 01/3846 -- 01/3100 A 000000 01/1345 -- 01/0900 01/0901 01/0907 01/0908 01/0965 01/0969 01/0976 01/0992 01/0993 01/1004 01/1005 01/1021 01/1022 01/1069 01/1070 01/1155 01/1156 01/1573 01/1574 01/1782 01/2218 01/2347 01/2454 01/2456 01/2738 01/3199 01/3217 01/3274 01/3326 01/3362 01/3410 01/3413 01/3727 01/3802 01/3805 01/3812 01/3814 01/4059 01/4107 01/4117 01/4211 ACCHR 037545 01/4284 -- 01/4072 01/4305 01/4306 ACCT# 035066 01/2523 -- 01/0841 01/2559 ACT 036223 01/3255 -- 01/2483 01/3092 01/3194 01/3243 01/3260 01/3277 ACT. 035022 01/2483 -- 01/2215 01/2387 01/2460 ACTIV 000111 01/4455 -- 01/4456 01/4457 01/4458 01/4459 01/4460 01/4465 01/4466 01/4467 01/4468 ADR1 037111 01/3868 -- unreferenced ADTA 036116 01/3156 -- 01/3153 ADTBL 034432 01/2243 -- 01/2060 ADTMP 034532 01/2256 -- 01/2066 01/2069 01/2076 AMDE 034646 01/2367 -- 01/2299 AMODE 037527 01/4252 -- 01/4139 AROW 034647 01/2368 -- 01/2303 ASTK 000064 01/4436 -- 01/1575 01/3287 01/3297 ASTR 037645 01/4388 -- 01/4334 01/4372 AT 000431 01/4533 -- 01/2073 B 000001 01/1346 -- 01/0263 01/0299 01/0300 01/0308 01/0309 01/0344 01/0345 01/0350 01/0351 01/0398 01/0854 01/0878 01/0893 01/0970 01/0983 01/0996 01/0997 01/1008 01/1012 01/1013 01/1016 01/1017 01/1025 01/1063 01/1084 01/1087 01/1089 01/1091 01/1095 01/1097 01/1150 01/1207 01/1254 01/1267 01/1270 01/1307 01/1560 01/1561 01/1566 01/1567 01/1596 01/1597 01/2021 01/2422 01/2567 01/2789 01/2824 01/2828 01/3113 01/3145 01/3186 01/3187 01/3196 01/3210 01/3221 01/3227 01/3228 01/3234 01/3235 01/3267 01/3310 01/3329 01/3351 01/3357 01/3389 01/3405 01/3737 01/3772 01/4178 B177 000443 01/4529 -- 01/2072 01/2147 B7777 034525 01/2251 -- 01/1996 BADDR 000125 01/4466 -- 01/0188 01/0237 01/0465 01/0491 01/2435 01/2598 01/2695 01/2735 01/2786 01/3152 BFAD1 037112 01/3878 -- 01/3430 01/3448 01/3950 BFAD2 037125 01/3892 -- 01/3508 01/3515 01/3951 BFAD3 037140 01/3907 -- 01/3554 01/3561 01/3952 BFAD4 037153 01/3921 -- 01/3597 01/3604 01/3953 BFADL 037166 01/3935 -- 01/3661 01/3676 01/3954 BIAS 037067 01/3844 -- 01/2481 01/3091 01/3106 01/3117 01/3130 01/3135 01/3198 01/3215 01/3226 01/3233 01/3257 01/3270 BIAS. 035020 01/2481 -- 01/2214 01/2217 01/2386 01/2452 01/2459 BLANK 000411 01/4494 -- 01/0438 01/0442 01/1591 01/2781 01/4495 BLNK 000123 01/4537 -- 01/1917 BLNTH 034640 01/2360 -- 01/2279 01/2313 01/2314 01/2316 01/2350 01/2351 01/2353 BPTR 037221 01/3974 -- 01/3437 01/3454 01/3472 01/4155 01/4160 01/4191 01/4238 01/4245 BSK1 000071 01/4442 -- 01/1841 01/2482 01/3848 BSK2 000072 01/4443 -- 01/1842 BSK3 000073 01/4444 -- 01/1843 BSK4 000074 01/4445 -- 01/1844 BSKA 037073 01/3848 -- 01/3144 01/3265 01/3273 BSTK4 031615 01/1830 -- 01/1564 BSTK5 031622 01/1835 -- 01/1558 BSTK6 031627 01/1840 -- 01/1571 01/1594 BSTR 037646 01/4389 -- 01/4335 01/4373 BTEM 036250 01/3278 -- 01/3256 01/3276 BTMFL 034425 01/2237 -- 01/2001 01/2099 BUF 023657 01/0820 -- 01/0659 01/0660 01/0669 01/0678 01/0680 01/0684 BUF1 023660 01/0821 -- 01/0656 BUFAD 037210 01/3965 -- 01/3475 01/3977 01/4010 01/4069 01/4087 01/4169 01/4170 01/4199 01/4200 01/4218 01/4219 01/4220 01/4222 01/4270 01/4271 01/4273 01/4286 01/4302 BUFF 023717 01/0824 -- 01/0717 01/0729 01/0735 01/0743 01/0746 BUFFR 023661 01/0823 -- 01/0820 01/0821 BUSY 035564 01/2907 -- 01/2409 01/2414 01/2491 01/2495 01/2512 01/2582 01/2586 01/2626 01/2719 01/2723 01/2769 C..C 031360 01/1653 -- 01/1663 CA 035016 01/2479 -- 01/1424 01/2430 01/2462 01/2467 CARDS 034062 01/1959 -- 01/2225 01/4432 CBUFD 034415 01/2229 -- 01/1960 01/2150 01/2151 01/2153 CCARD 034364 01/2204 -- 01/2207 01/3845 CCNT 000126 01/4467 -- 01/0186 01/0191 01/0235 01/0240 01/0462 01/0489 01/0494 01/2438 01/2596 01/2693 01/2733 01/2740 01/2758 01/2784 01/2791 01/3149 01/4532 CCONT 034414 01/2228 -- 01/1895 01/1899 01/1910 01/1930 01/1963 01/2040 01/2042 01/2049 01/2080 01/2221 CCWT 031112 01/1451 -- 01/1161 CDATA 034412 01/2226 -- 01/2189 01/2194 01/2205 01/2209 CDTBL 023057 01/0362 -- 01/0542 01/1451 CFLG$ 030671 01/1393 -- 01/1034 01/1098 01/1134 CFRDR 031042 01/1427 -- 01/1071 CHC1 023725 01/0830 -- 01/0724 01/0737 CHIFL 036122 01/3166 -- 01/3059 01/3138 01/3180 CHIN 037212 01/3967 -- 01/4026 01/4057 01/4127 CHIN1 035660 01/2958 -- 01/0079 01/0080 01/0081 01/2962 01/2965 01/3880 CHIN2 035675 01/2976 -- 01/0089 01/0090 01/0091 01/2980 01/2983 01/3894 CHIN3 035712 01/2994 -- 01/0099 01/0100 01/0101 01/2998 01/3001 01/3909 CHIN4 035727 01/3012 -- 01/0109 01/0110 01/0111 01/3016 01/3019 01/3923 CHINL 035744 01/3029 -- 01/0051 01/0052 01/0053 01/3033 01/3036 01/3937 CHN 035626 01/2921 -- 01/2842 01/2857 CHOT1 035670 01/2968 -- 01/0082 01/0083 01/0084 01/2972 01/3881 CHOT2 035705 01/2986 -- 01/0092 01/0093 01/0094 01/2990 01/3895 CHOT3 035722 01/3004 -- 01/0102 01/0103 01/0104 01/3008 01/3910 CHOT4 035737 01/3021 -- 01/0112 01/0113 01/0114 01/3025 01/3924 CHOTL 035754 01/3039 -- 01/0055 01/0056 01/0057 01/3043 01/3938 CHOUT 037213 01/3968 -- 01/4075 01/4115 01/4231 CHTBA 036357 01/3371 -- 01/1401 01/3349 01/3355 CIN 000000 01/2240 -- unreferenced CKCN1 034275 01/2117 -- 01/1991 CKCON 034271 01/2113 -- 01/1995 CKDF 036046 01/3111 -- 01/3120 CKL 036010 01/3072 -- 01/1400 01/3139 01/3155 CKPTR 036036 01/3099 -- 01/1422 01/1423 01/3080 CKSUM 023724 01/0829 -- 01/0657 01/0667 01/0668 01/0676 CL1 031340 01/1630 -- 01/0062 CL2 031342 01/1632 -- 01/0063 CL3 037641 01/4381 -- 01/0064 CL4 037627 01/4371 -- 01/0065 CLC 037220 01/3973 -- 01/4094 01/4187 CLC1 036646 01/3635 -- 01/0085 01/3637 01/3886 CLC2 036651 01/3639 -- 01/0095 01/3641 01/3900 CLC3 036654 01/3643 -- 01/0105 01/3645 01/3915 CLC4 036657 01/3647 -- 01/0115 01/3649 01/3929 CLCC 036356 01/3370 -- 01/3345 CLCL 036662 01/3651 -- 01/0058 01/3653 01/3943 CLEAR 037341 01/4114 -- 01/3998 01/4103 01/4121 CLTM 035465 01/2820 -- 01/1802 01/2650 01/2765 01/2829 CLTMA 031561 01/1802 -- unreferenced CMSG 035064 01/2520 -- 01/2506 COL56 034175 01/2046 -- 01/2028 COLC 034416 01/2230 -- 01/1964 01/1992 01/1993 01/2022 01/2125 CONCD 034530 01/2254 -- 01/2113 01/2121 CONDT 034417 01/2231 -- 01/1965 01/1987 01/2115 01/2126 01/2163 CONTA 035572 01/2910 -- 01/2741 01/2759 COPY 023401 01/0602 -- 01/0620 01/0639 COUNX 034420 01/2232 -- 01/1961 01/2145 CPHTO 034651 01/2375 -- 01/2378 01/3846 CR.LF 031376 01/1670 -- 01/1647 CR2 034336 01/2166 -- 01/2162 CRDR1 034110 01/1986 -- 01/0128 CRIN 034606 01/2323 -- 01/0075 01/2293 01/2339 CRINT 034077 01/1976 -- 01/1967 01/2138 01/4426 CRLF 023617 01/0789 -- 01/0179 01/0243 01/0271 01/0325 01/0369 01/0370 01/0374 01/0375 01/0390 01/0407 01/0451 01/0484 01/0547 01/0565 01/0577 01/0621 01/0632 CRLFA 037522 01/4248 -- 01/4084 CRLND 031475 01/1746 -- 01/0789 01/0871 01/0885 01/0886 01/0913 01/0914 01/0923 01/0945 01/0949 01/1035 01/1036 01/1056 01/1110 01/1111 01/1143 01/1177 01/1178 01/1183 01/1194 01/1245 01/1287 01/1291 01/1456 01/1460 01/1477 01/1499 01/1520 01/1547 01/1749 CRSTA 036364 01/3373 -- 01/3359 CRUSN 034413 01/2227 -- 01/1968 01/2213 01/2463 CRUST 034533 01/2257 -- 01/1969 01/2191 01/3373 CSAVA 034421 01/2233 -- 01/1977 01/2135 CSAVB 034422 01/2234 -- 01/1978 01/2136 CSAVE 034423 01/2235 -- 01/1983 01/2132 CT 037066 01/3843 -- 01/1804 01/3110 01/3119 01/3128 01/3136 CTBL$ 030701 01/1401 -- 01/0963 D100 000522 01/4524 -- 01/0469 01/1268 D1000 000531 01/4526 -- 01/4527 D500 035065 01/2521 -- 01/2497 01/2498 D72 000521 01/4523 -- unreferenced D97 031555 01/1798 -- 01/1583 DATA 037215 01/3970 -- 01/4000 01/4093 01/4154 01/4180 01/4184 DATA1 037117 01/3883 -- 01/1831 DATA2 037132 01/3897 -- 01/1832 DATA3 037145 01/3912 -- 01/1833 DATA4 037160 01/3926 -- 01/1834 DATAL 037173 01/3940 -- 01/3078 01/3081 DATE 035560 01/2902 -- 01/1811 01/2879 01/3156 DATE? 031572 01/1811 -- 01/1513 DAYCH 036077 01/3141 -- 01/3074 DBUF 035562 01/2904 -- unreferenced DDBUF 036121 01/3159 -- 01/3151 DFLG 037207 01/3959 -- 01/3432 01/3441 01/3450 01/3465 01/3482 01/3486 01/3491 01/3531 01/3535 01/3540 01/3576 01/3580 01/3585 01/3618 01/3622 01/3627 01/3663 01/3669 01/3680 01/3688 01/3692 01/3697 DIGCK 000277 01/4480 -- 01/2441 01/4481 01/4482 01/4483 DLET 035305 01/2706 -- 01/2545 DLET. 034623 01/2343 -- 01/2304 DLETE 037456 01/4207 -- 01/4144 DRIV 037261 01/4045 -- 01/3715 01/4015 01/4076 01/4095 01/4136 01/4138 01/4146 01/4185 01/4188 01/4202 01/4209 01/4216 01/4223 01/4233 01/4234 01/4240 01/4242 DRIVI 037253 01/4022 -- 01/3456 01/3666 01/4027 01/4182 01/4201 DRIVO 037242 01/4008 -- 01/3438 01/4016 DRQST 000256 01/4540 -- 01/1920 DRS 037057 01/3835 -- 01/2476 01/3225 DRS. 035014 01/2476 -- 01/2453 DRVSK 037223 01/3977 -- 01/3728 01/3738 DTMP 035245 01/2673 -- 01/2657 01/2664 DVERT 031501 01/1751 -- 01/0776 01/0847 01/0930 01/1472 01/1489 01/1510 01/1532 01/1541 01/1793 01/1794 DVRT 023602 01/0776 -- 01/0285 DWS 037052 01/3830 -- 01/3232 EMODE 000405 01/4502 -- 01/2301 01/4141 ENBUF 035766 01/3050 -- unreferenced EO 037647 01/4390 -- 01/4339 01/4349 ERRO. 031103 01/1444 -- 01/1074 ERROR 000544 01/4542 -- 01/1925 01/1937 ESCP 035311 01/2710 -- 01/2707 ETBL 033710 01/1866 -- 01/2241 ETBLA 034430 01/2241 -- 01/2044 EVENC 034173 01/2044 -- 01/2031 EXU. 034527 01/2253 -- 01/2216 EXU1 000065 01/4437 -- 01/2253 01/4307 01/4309 EXU2 000066 01/4438 -- unreferenced EXU3 000067 01/4439 -- unreferenced EXU4 000070 01/4440 -- unreferenced EXUA 037561 01/4307 -- 01/4308 EXUA. 037561 01/4308 -- 01/3124 01/3197 01/3387 FINIS 013743 01/4584 -- 01/1316 FINSH 034235 01/2078 -- 01/2074 FLAG1 037064 01/3841 -- 01/1800 01/2401 01/3061 01/3076 01/3105 01/3125 FLAG2 036120 01/3158 -- 01/2898 01/3072 01/3148 FLG1 034703 01/2401 -- 01/2212 01/2384 FLG2A 035554 01/2898 -- 01/2880 FWAFC 031043 01/1428 -- 01/0788 01/0977 01/1169 01/1240 FWAM 000114 01/4458 -- 01/1587 01/1913 FWAM1 013206 01/4562 -- 01/0778 FWAM2 013336 01/4568 -- 01/0779 FWAM3 013466 01/4574 -- 01/0780 FWAM4 013616 01/4580 -- 01/0781 FWFC 023616 01/0788 -- 01/0180 01/0257 01/0335 01/0363 01/0541 01/0605 GCRIO 030220 01/1036 -- 01/1048 01/1054 GETCR 000276 01/4482 -- 01/0466 01/2439 01/2696 GPI/O 030321 01/1111 -- 01/1099 01/1122 01/1128 GTBSA 035606 01/2917 -- 01/2748 GTBSL 035605 01/2916 -- 01/2610 01/2618 01/2747 HELLO 035300 01/2703 -- 01/2550 HEWPY 023563 01/0761 -- 01/0637 HOUR 035557 01/2901 -- 01/1809 01/2599 01/2872 01/2874 01/2878 HR? 031570 01/1809 -- 01/1534 HSPTR 034641 01/2361 -- 01/2281 01/2308 01/2317 01/2338 01/2343 01/2388 HSRDT 034645 01/2365 -- 01/2324 01/2332 01/2376 01/2381 HSROC 034637 01/2359 -- 01/2278 01/2309 I.STP 000110 01/4454 -- 01/2220 01/3201 01/3246 I/O1 000030 01/4419 -- 01/1418 I/O2 000031 01/4420 -- 01/1348 I/O3 000032 01/4421 -- 01/1349 I/O4 000033 01/4422 -- 01/1350 I/O5 000034 01/4423 -- 01/1351 I/O6 000035 01/4424 -- 01/1419 I/O7 000036 01/4425 -- 01/1420 I/O8 000037 01/4426 -- 01/1421 IINT 036302 01/3323 -- 01/3330 01/3434 01/3455 IINTA 036312 01/3332 -- 01/3324 IMOFF 037030 01/3808 -- 01/3815 01/4452 IMON 037017 01/3798 -- 01/3806 01/4451 IN.FL 031602 01/1819 -- 01/1735 IN1 037375 01/4148 -- 01/4129 IN2 037374 01/4146 -- 01/4132 IN3 037403 01/4154 -- 01/4151 01/4193 01/4247 IN3.5 037440 01/4187 -- 01/4157 IN4 037442 01/4190 -- 01/4140 01/4142 INC. 035514 01/2852 -- 01/2858 INCMD 037224 01/3978 -- 01/3406 01/4024 INFO1 000227 01/4471 -- 01/2546 01/2556 01/2636 01/2647 INFO2 000230 01/4472 -- 01/2581 01/2621 01/2638 01/2642 01/2645 INFO3 000231 01/4473 -- 01/2591 01/2607 01/2615 01/2640 01/2643 01/2646 01/2726 01/2755 INPUT 037351 01/4127 -- 01/4051 INS.. 037347 01/4120 -- 01/4118 INST. 037271 01/4061 -- 01/4060 INT 036735 01/3712 -- 01/3489 01/3538 01/3583 01/3625 01/3695 01/3717 INT1 036476 01/3480 -- 01/3333 01/3493 01/4420 INT1F 037077 01/3856 -- 01/3495 INT2 036533 01/3529 -- 01/3334 01/3542 01/4421 INT2F 037100 01/3857 -- 01/3544 INT3 036570 01/3574 -- 01/3335 01/3587 01/4422 INT3F 037101 01/3858 -- 01/3589 INT4 036625 01/3616 -- 01/3336 01/3629 01/4423 INT4F 037102 01/3859 -- 01/3631 INTA 037074 01/3849 -- 01/3184 01/3327 01/3403 INTF 037076 01/3855 -- 01/3171 INTL 036714 01/3686 -- 01/3699 01/4424 INTLF 037103 01/3860 -- 01/3701 INVA 035254 01/2685 -- 01/2681 INVAL 035246 01/2678 -- 01/2553 01/2562 01/2692 01/2697 IO1 037116 01/3882 -- 01/4358 IO2 037131 01/3896 -- 01/4360 IO3 037144 01/3911 -- 01/4362 IO4 037157 01/3925 -- 01/4364 IOFLG 037214 01/3969 -- 01/4014 01/4025 01/4049 01/4074 01/4229 IOIN 036743 01/3723 -- 01/3435 01/3452 01/3467 01/3665 01/3714 01/3731 IOL 037172 01/3939 -- 01/4366 IOOT 036754 01/3733 -- 01/3439 01/3667 01/3716 01/3746 IOSKA 037201 01/3949 -- 01/3107 01/3408 01/3725 01/3735 01/3800 01/3810 JMP$1 031106 01/1447 -- 01/1073 JMP$2 031107 01/1448 -- 01/1076 JMP$3 031110 01/1449 -- 01/1079 JMP$4 031111 01/1450 -- 01/1081 LCCWT 030376 01/1161 -- 01/1136 01/1141 LCLIN 035657 01/2946 -- 01/2412 01/2510 01/2624 01/2767 LCLOT 035656 01/2944 -- 01/2411 01/2509 01/2614 01/2617 01/2620 01/2623 01/2754 01/2757 01/2760 01/2764 LEADR 037477 01/4226 -- 01/4071 LEPIG 031666 01/1862 -- 01/0764 LETCK 000300 01/4481 -- unreferenced LF 000400 01/4493 -- 01/2294 01/4135 LFTAR 037526 01/4251 -- 01/4143 LGOM1 035404 01/2794 -- 01/2608 01/2616 01/2727 01/2756 01/2796 01/2797 LGOM2 035416 01/2796 -- 01/2782 LGOM3 035417 01/2797 -- 01/2785 LGOM4 035420 01/2798 -- 01/1813 01/1814 01/1815 01/2611 01/2619 01/2800 01/2904 01/3159 LGOM5 035436 01/2800 -- 01/2597 LNUM 000124 01/4538 -- 01/1919 LOGGR 035013 01/2475 -- 01/2457 LOGOF 035313 01/2717 -- 01/4447 LOGON 035073 01/2541 -- 01/1803 01/2475 01/2683 01/2709 01/2770 LTG 023516 01/0701 -- 01/0602 01/0616 01/0704 LTTY1 035146 01/2587 -- 01/0047 LTTY2 035322 01/2724 -- 01/0048 LTTY3 035032 01/2496 -- 01/0054 LTTY4 037607 01/4353 -- 01/0049 01/1359 01/1360 01/1361 01/1362 01/1371 01/1372 01/1373 01/1374 LTTY5 037632 01/4374 -- 01/0050 01/1365 01/1366 01/1367 01/1368 LUSN 037051 01/3829 -- 01/3090 01/3678 LWACR 031045 01/1430 -- 01/1105 LWAFC 031044 01/1429 -- 01/0787 01/1106 01/1140 LWAM 000115 01/4459 -- 01/1579 01/1586 LWAM1 013207 01/4563 -- 01/0783 LWAM2 013337 01/4569 -- 01/0784 LWAM3 013467 01/4575 -- 01/0785 LWAM4 013617 01/4581 -- 01/0786 LWAMS 037651 01/4392 -- 01/0765 LWFC 023615 01/0787 -- 01/0183 01/0259 01/0468 01/0612 LWM 023567 01/0765 -- 01/0614 LWPRD 031046 01/1431 -- 01/1139 LWTSB 033710 01/1865 -- 01/1429 M1 000477 01/4508 -- 01/0226 01/0305 01/0347 01/0449 01/1585 01/1933 01/2451 01/3205 M10 000510 01/4517 -- 01/1094 01/1772 01/2050 01/2053 01/2056 01/2331 01/2390 01/2658 M11 000511 01/4518 -- 01/0247 01/0408 01/0551 01/1040 01/1115 01/1174 01/2082 01/2571 M15 000536 01/4527 -- 01/0619 01/1563 01/2455 01/2468 01/3082 01/3207 01/3412 01/4092 M16 000513 01/4519 -- 01/0376 M177 000443 01/4503 -- 01/0437 01/0441 01/1252 01/1659 01/1741 01/1763 01/2291 01/2960 01/2978 01/2996 01/3014 01/3031 01/4062 01/4289 01/4504 01/4505 01/4506 01/4529 M19 000514 01/4520 -- 01/0278 01/0872 M2 000500 01/4509 -- 01/2026 01/3084 01/3203 01/3220 01/3241 01/3360 01/4106 01/4190 M200 000444 01/4505 -- 01/1660 01/4073 M21 000515 01/4521 -- unreferenced M25 000516 01/4522 -- 01/1144 01/1535 M27 023726 01/0831 -- 01/0653 M3 000501 01/4510 -- 01/0223 01/2193 01/2399 M33 023565 01/0763 -- 01/0566 M377 000445 01/4506 -- 01/0732 M4 000502 01/4511 -- 01/0596 01/0742 01/4083 M5 000503 01/4512 -- 01/0629 01/0879 01/2023 01/2175 01/2446 01/3167 M6 000504 01/4513 -- 01/1907 01/2557 M7 000505 01/4514 -- 01/0424 01/0985 M72 031556 01/1799 -- 01/1580 M8 000506 01/4515 -- unreferenced M9 000507 01/4516 -- 01/0865 01/2002 MAIN 037065 01/3842 -- 01/3108 01/3111 01/3118 01/3126 01/3131 01/3134 MBUF 031574 01/1813 -- 01/1497 MES1A 035647 01/2941 -- 01/2572 MIN 035624 01/2919 -- 01/2849 01/2856 01/2891 MINA 035634 01/2927 -- 01/2736 01/2826 01/2847 MINTS 035556 01/2900 -- 01/1808 01/2601 01/2866 01/2867 01/2871 MINUT 035551 01/2891 -- 01/2854 MNTS? 031567 01/1808 -- 01/1543 MON1 036053 01/3117 -- 01/3066 MON2 036071 01/3134 -- 01/3065 01/3242 MON3 036066 01/3131 -- 01/3137 MONIT 036000 01/3059 -- 01/1807 01/3442 01/4449 MSGA 035055 01/2516 -- 01/2508 MSK1 000527 01/4525 -- 01/0290 01/2352 01/4221 MSSG 035023 01/2489 -- 01/1431 01/4448 MVSTK 036772 01/3765 -- 01/1806 01/3729 01/3739 01/3767 01/3777 01/3778 01/4172 MVUIN 036256 01/3296 -- 01/3275 01/3300 MVUOT 036251 01/3286 -- 01/1805 01/2480 01/3146 01/3268 01/3290 NAME 035126 01/2571 -- 01/2578 01/2580 01/2807 NCNT 037211 01/3966 -- 01/4005 01/4066 01/4086 01/4130 01/4148 01/4213 01/4214 01/4232 01/4275 01/4277 01/4304 NEXTC 034224 01/2069 -- 01/2077 NEXTU 035517 01/2855 -- 01/2893 NMLST 034433 01/2244 -- 01/2065 NOCRD 030312 01/1101 -- 01/1051 NOGO1 035437 01/2802 -- 01/2584 NOGO2 035445 01/2808 -- 01/2493 01/2721 NOGOA 035452 01/2813 -- 01/2804 01/2808 NOGOL 035451 01/2812 -- 01/2805 01/2809 NORET 037006 01/3777 -- 01/3769 NWLNE 034620 01/2337 -- 01/2300 01/2302 OCNT 037216 01/3971 -- 01/3469 01/4002 01/4012 01/4080 01/4085 01/4226 OCNT1 037120 01/3884 -- 01/3429 01/3447 OCNT2 037133 01/3898 -- 01/3507 01/3514 OCNT3 037146 01/3913 -- 01/3553 01/3560 OCNT4 037161 01/3927 -- 01/3596 01/3603 OCNTL 037174 01/3941 -- 01/3660 01/3675 OCT60 031636 01/1847 -- 01/1769 OINK 023566 01/0764 -- 01/0610 OK 037276 01/4066 -- 01/4064 01/4102 01/4108 OKCRD 034213 01/2060 -- 01/2052 01/2055 ONADR 000100 01/4474 -- 01/2651 ONOFF 035364 01/2777 -- 01/2590 01/2725 01/2792 ORSTK 037040 01/3820 -- 01/3766 01/3771 01/3774 OT.FL 031601 01/1818 -- 01/1644 OT1 037311 01/4080 -- 01/4068 01/4228 OT2 037324 01/4092 -- 01/4082 OT5 037304 01/4072 -- 01/4090 OTBL 033734 01/1868 -- 01/2242 OTBLA 034431 01/2242 -- 01/2035 OTBLZ 033771 01/1879 -- 01/2243 OTCMD 037225 01/3979 -- 01/4013 OUTCR 000275 01/4483 -- 01/2662 01/2668 OUTIA 000272 01/4478 -- 01/4479 OUTIM 035226 01/2656 -- 01/2600 01/2602 01/2671 01/3157 OUTIN 000272 01/4479 -- 01/0190 01/0239 01/0493 01/2670 01/2739 01/2790 OUTL 036703 01/3674 -- 01/2944 01/3851 OUTM 036117 01/3157 -- 01/3154 OVFLW 031554 01/1794 -- 01/1785 P1 023452 01/0653 -- 01/0690 P1&&& 036270 01/3309 -- 01/3314 P1.. 031512 01/1760 -- 01/1791 P1... 037000 01/3771 -- 01/3776 P2 023464 01/0663 -- 01/0674 P3 023500 01/0676 -- 01/0672 PAGE 034050 01/1938 -- 01/1908 PAU 034352 01/2188 -- 01/2123 PBPTR 000122 01/4463 -- 01/1589 01/1915 01/4464 01/4537 01/4538 PBUFF 000121 01/4462 -- 01/1588 01/1914 01/4463 PCNT 037217 01/3972 -- 01/4001 01/4089 01/4161 01/4175 01/4195 01/4207 01/4212 01/4244 01/4267 01/4274 01/4285 01/4303 PCNTL 037175 01/3942 -- 01/3086 PEXMA 000254 01/4477 -- 01/1921 01/2811 01/4539 01/4540 01/4545 01/4546 01/4547 PFAIL 000040 01/4427 -- 01/4405 PFL 000004 01/4410 -- 01/1631 01/4332 01/4342 01/4343 01/4382 PFRDR 031041 01/1426 -- 01/1157 PNCH& 023555 01/0754 -- 01/0117 01/0118 01/0119 01/0733 01/0745 01/0759 PNCHA 023446 01/0649 -- 01/0606 01/0611 01/0615 01/0689 PNCMD 035563 01/2905 -- 01/2494 01/2585 01/2722 PP02 023533 01/0729 -- 01/0738 PP03 023545 01/0742 -- 01/0721 PT 035015 01/2478 -- 01/1425 01/2428 01/2464 PTAP 000061 01/4433 -- 01/2470 PTBA 037227 01/3982 -- 01/3659 PTBA? 031571 01/1810 -- 01/1465 01/1471 01/1474 01/1482 01/1488 01/1496 01/1504 01/1509 01/1514 01/1525 01/1531 01/1539 PTBFA 035762 01/3047 -- 01/2433 PTBUF 035763 01/3048 -- 01/1810 01/2426 01/3047 01/3982 PTINS 030700 01/1400 -- 01/1137 PTPRA 037226 01/3981 -- 01/3087 PTPRC 034713 01/2407 -- 01/3981 PTSBS 030000 01/0851 -- 01/0861 01/4404 PTUSN 034650 01/2371 -- 01/2385 01/2465 PUNCH 023522 01/0716 -- 01/0685 01/0703 01/0750 R1 034135 01/2007 -- 01/2090 01/2094 R2 034142 01/2012 -- 01/2016 01/2098 01/2105 R3 034157 01/2029 -- 01/2086 R4 034163 01/2036 -- 01/2045 RBOUT 000443 01/4504 -- 01/1611 01/2296 01/4063 01/4119 01/4137 01/4352 RCOL 034344 01/2175 -- 01/0126 01/0127 01/1971 01/2127 01/2170 RCOLI 034332 01/2161 -- 01/1989 RCONT 036445 01/3449 -- 01/3516 01/3562 01/3605 RCTRX 034426 01/2238 -- 01/2003 01/2015 01/2102 RDINT 034544 01/2287 -- 01/0071 01/2321 01/4425 RDYDA 000255 01/4475 -- 01/1942 01/2513 01/4476 01/4477 01/4478 01/4480 READ1 036442 01/3446 -- 01/3463 01/3836 01/4561 READ2 036523 01/3513 -- 01/3522 01/3837 01/4567 READ3 036560 01/3559 -- 01/3569 01/3838 01/4573 READ4 036615 01/3602 -- 01/3611 01/3839 01/4579 READL 036665 01/3657 -- 01/2946 01/3095 01/3670 REDL 036035 01/3095 -- 01/3085 REED 000113 01/4457 -- 01/2543 01/2576 RESET 037230 01/3997 -- 01/4006 01/4009 01/4023 RESSR 036377 01/3393 -- 01/3391 RETAD 037650 01/4391 -- 01/4341 01/4384 RN.$. 002141 01/4544 -- 01/1445 01/1446 RRED 036203 01/3225 -- 01/3204 01/3206 01/3218 RRET 034307 01/2131 -- 01/1998 01/2043 01/2058 01/2081 01/2084 01/2092 01/2096 01/2100 01/2116 01/2119 01/2165 01/2180 01/2192 01/2197 RSTRT 037454 01/4201 -- 01/4163 RT 037525 01/4250 -- 01/4128 RTA 035761 01/3046 -- 01/2292 01/2961 01/2979 01/2997 01/3015 01/3032 RUN1 031104 01/1445 -- 01/1077 RUN2 031105 01/1446 -- 01/1080 RUNA 000252 01/4539 -- 01/1894 01/1900 SA 036402 01/3396 -- 01/3384 01/3393 SAVAC 035627 01/2922 -- 01/2839 01/2885 SAVB 037042 01/3822 -- 01/3745 01/3788 SAVBC 035630 01/2923 -- 01/2840 01/2886 SAVE 037043 01/3823 -- 01/3742 01/3792 SAVRG 037010 01/3787 -- 01/3487 01/3536 01/3581 01/3623 01/3693 01/3793 SB 036403 01/3397 -- 01/3385 01/3394 SBPTR 000133 01/4468 -- 01/0470 01/0471 01/2699 01/2700 SBUFA 000120 01/4465 -- 01/1584 01/2698 SCNUM 036355 01/3369 -- 01/3344 01/3346 01/3352 SEC 035625 01/2920 -- 01/2846 01/2852 01/2853 01/2855 01/2892 SECA 035641 01/2932 -- 01/2822 01/2844 SEKS 035555 01/2899 -- 01/1812 01/2860 01/2861 01/2865 SEKS? 031573 01/1812 -- 01/1618 SET10 034256 01/2095 -- 01/2010 SET11 034252 01/2091 -- 01/2008 SET12 034246 01/2087 -- 01/2006 SET19 034262 01/2099 -- 01/2014 SETM2 034357 01/2193 -- 01/0125 01/2168 01/2171 SETUP 035264 01/2690 -- 01/2549 01/2558 01/2701 SEXU 036365 01/3383 -- 01/3395 01/4450 SEXUA 000104 01/4530 -- 01/1944 SIMP 036453 01/3455 -- 01/3476 SINA 035071 01/2526 -- 01/1439 01/2639 SK1 013203 01/4559 -- 01/4442 SK2 013333 01/4565 -- 01/1313 01/4443 SK3 013463 01/4571 -- 01/1314 01/4444 SK4 013613 01/4577 -- 01/1315 01/4445 SLENA 035072 01/2527 -- 01/1438 01/2637 SP 000411 01/4536 -- 01/2067 01/2078 SRITB 031315 01/1611 -- 01/0043 01/1416 STCHR 034317 01/2144 -- 01/2041 01/2068 01/2075 01/2079 01/2146 01/2154 STCKS 013203 01/4558 -- 01/1428 STK19 000176 01/4541 -- 01/1926 STM 035547 01/2887 -- 01/0066 01/2863 01/2869 01/2876 STNO 034241 01/2082 -- 01/2025 STOP 037330 01/4100 -- 01/4065 STORC 037530 01/4266 -- 01/4145 01/4276 01/4278 STPIA 036422 01/3416 -- 01/3402 STPIN 037222 01/3975 -- 01/4100 01/4181 01/4183 STTYI 023431 01/0627 -- 01/0573 SYIN# 035070 01/2525 -- 01/1437 01/2635 SYMTA 000117 01/4461 -- 01/1582 01/4462 SYST 035215 01/2642 -- 01/2648 T1 023720 01/0825 -- 01/0651 01/0655 01/0663 01/0665 01/0670 01/0687 T2 023721 01/0826 -- 01/0652 01/0671 01/0688 T3 023722 01/0827 -- 01/0654 01/0673 T4 023723 01/0828 -- 01/0662 01/0664 01/0666 01/0677 TAPE1 036456 01/3461 -- 01/3462 01/4559 TAPE2 036527 01/3520 -- 01/3521 01/4565 TAPE3 036564 01/3567 -- 01/3568 01/4571 TAPE4 036621 01/3609 -- 01/3610 01/4577 TBL 035067 01/2524 -- 01/0840 01/2560 TCNTA 037104 01/3862 -- 01/3214 01/4176 TCONT 036461 01/3464 -- 01/3523 01/3570 01/3612 TEM 034247 01/2088 -- 01/2101 01/2104 TEM3 035010 01/2472 -- 01/2210 01/2222 01/2224 01/2382 01/2389 01/2407 01/2436 01/2443 01/2449 01/2461 TEMP 037041 01/3821 -- 01/3770 01/3775 TEMP1 037072 01/3847 -- 01/3193 01/3202 01/3240 01/3244 TEMPS 000205 01/4470 -- 01/4471 01/4472 01/4473 01/4541 TFLAG 000127 01/4532 -- 01/1892 01/1904 01/1927 01/1940 01/2427 01/2450 01/2469 TIME1 035604 01/2913 -- 01/2734 TIMR 035477 01/2837 -- 01/2888 01/4419 TLRDR 034704 01/2402 -- 01/2397 TOPFL 034424 01/2236 -- 01/2000 01/2087 01/2091 01/2095 TOUT3 023553 01/0749 -- 01/0116 TPFLG 034644 01/2364 -- 01/2307 01/2327 01/2395 TPTST 037510 01/4238 -- 01/4134 TRYCT 034427 01/2239 -- 01/2169 01/2176 TSRCH 000262 01/4476 -- 01/0476 01/2552 01/2561 UL52 023730 01/0833 -- 01/0725 UP^^^ 037602 01/4348 -- 01/4333 01/4344 USAC# 035565 01/2908 -- 01/2565 01/2787 USER 036040 01/3105 -- 01/3063 USN 000063 01/4435 -- 01/1554 01/1559 01/1565 01/1572 01/1595 01/1602 01/1623 01/2418 01/2425 01/2503 01/2566 01/2737 01/2778 01/2788 01/2823 01/2827 01/3141 01/3150 01/3259 01/3261 01/3266 01/3272 01/3388 01/3404 01/3409 01/3431 01/3449 01/3464 01/3677 01/3801 01/3811 USNT 037075 01/3850 -- 01/1801 01/3325 01/3328 01/3433 01/3451 01/3466 01/3664 01/3681 01/3713 01/3726 01/3736 01/4105 01/4177 WCONT 036426 01/3431 -- 01/3509 01/3555 01/3598 01/3682 WRIT1 036423 01/3428 -- 01/1836 01/3831 01/4560 WRIT2 036517 01/3506 -- 01/1837 01/3832 01/4566 WRIT3 036554 01/3552 -- 01/1838 01/3833 01/4572 WRIT4 036611 01/3595 -- 01/1839 01/3834 01/4578 WRITE 000112 01/4456 -- 01/1897 01/1909 01/1912 01/1936 01/2398 01/2490 01/2573 01/2589 01/2609 01/2612 01/2644 01/2679 01/2682 01/2708 01/2718 01/2728 01/2742 01/2749 01/2803 01/2806 01/2810 WRITL 036703 01/3851 -- 01/3093 WRRET 036207 01/3232 -- 01/3208 X/E 023744 01/0845 -- 01/0386 X1 000053 01/4549 -- 01/1448 X2 000054 01/4550 -- 01/1449 X20 023622 01/0792 -- 01/0380 01/0548 01/0578 X21 023645 01/0811 -- 01/0371 X22 023623 01/0793 -- 01/0244 01/0391 X3 000055 01/4551 -- 01/1906 X4 000056 01/4552 -- 01/1447 X6 000057 01/4553 -- 01/1092 01/1450 XA1 023742 01/0843 -- 01/0431 01/0445 01/0448 XBUF 023745 01/0846 -- 01/0381 01/0385 01/0395 01/0413 01/0432 01/0463 01/0516 XCHN% 023743 01/0844 -- 01/0483 01/0492 XCODE 023627 01/0797 -- 01/0365 01/0505 01/0506 01/0523 01/0524 01/0532 01/0533 01/0540 XECUT 000107 01/4453 -- 01/3247 XFCR 023643 01/0809 -- 01/0264 01/0289 01/0304 XFWC 023640 01/0806 -- 01/0258 01/0296 01/0311 01/0336 01/0341 01/0353 XI/O 023574 01/0770 -- 01/0590 01/0594 01/0595 01/0628 XINT 036404 01/3401 -- 01/2258 01/3392 01/3414 XINTA 034534 01/2258 -- 01/1970 XLCHN 023571 01/0767 -- 01/0627 XLNTH 023626 01/0796 -- 01/0367 01/0507 01/0525 01/0529 XLWC 023641 01/0807 -- 01/0260 01/0315 XNBER 023573 01/0769 -- 01/0585 01/0592 XNO 023632 01/0800 -- 01/0560 XNT 036317 01/3339 -- 01/3366 01/3416 XNTRY 023741 01/0842 -- 01/0368 01/0473 01/0508 01/0536 XRETX 031553 01/1793 -- 01/1753 XSETI 023572 01/0768 -- 01/0598 01/0631 XSTND 023030 01/0333 -- 01/0255 XSVA 036353 01/3367 -- 01/3341 01/3363 XSVB 036354 01/3368 -- 01/3342 01/3364 XTMP 031635 01/1846 -- 01/1768 01/1775 XVERT 023746 01/0847 -- 01/0396 XYES 023631 01/0799 -- 01/0254 01/0562 XZG2 023633 01/0801 -- 01/0579 Y1 034000 01/1892 -- 01/4549 Y2 034011 01/1904 -- 01/4550 Y3 034033 01/1925 -- 01/4552 Y5 034031 01/1920 -- 01/1945 Y6 034054 01/1940 -- 01/4553 YBUF 031576 01/1815 -- 01/1475 Z#USR 030704 01/1404 -- 01/0940 Z&USR 030703 01/1403 -- 01/0941 Z129 030662 01/1386 -- 01/1088 Z13 030653 01/1379 -- 01/0924 Z14 023732 01/0835 -- 01/0452 Z18 030656 01/1382 -- 01/1195 Z20 030654 01/1380 -- 01/0918 01/1043 01/1118 01/1280 01/1288 Z21 030657 01/1383 -- unreferenced Z22 030660 01/1384 -- 01/1037 Z23 030661 01/1385 -- 01/1112 Z30 023646 01/0812 -- 01/0185 01/0234 Z39 023624 01/0794 -- 01/0326 Z5 030651 01/1377 -- 01/0899 Z?ADR 031077 01/1439 -- 01/1232 Z?LNT 031075 01/1437 -- 01/1221 Z?TBL 031076 01/1438 -- 01/1226 ZA1 031600 01/1817 -- 01/1643 01/1653 01/1656 01/1682 01/1708 01/1709 01/1711 01/1722 01/1755 01/1790 ZA12 030612 01/1337 -- 01/1145 ZA2 031610 01/1825 -- 01/1683 01/1721 01/1757 01/1777 01/1780 01/1783 01/1792 ZA5 030605 01/1332 -- 01/0956 ZA6 030606 01/1333 -- 01/0954 ZA7 030607 01/1334 -- 01/0873 ZA8 030610 01/1335 -- 01/1113 ZA9 030611 01/1336 -- 01/1041 01/1116 ZABSD 023341 01/0565 -- 01/0581 ZABST 023317 01/0547 -- 01/0558 01/0564 01/1442 ZACNT 023735 01/0838 -- 01/0402 01/0500 ZADRT 031047 01/1433 -- 01/1167 01/1235 ZAG1 030601 01/1328 -- 01/0888 ZAG10 022225 01/0140 -- 01/0377 ZAG11 022236 01/0142 -- 01/0392 ZAG12 022252 01/0144 -- 01/0409 ZAG14 022276 01/0147 -- 01/0372 ZAG15 023634 01/0802 -- 01/0192 ZAG16 023635 01/0803 -- 01/0241 ZAG17 023647 01/0813 -- 01/0245 ZAG18 022367 01/0152 -- 01/0154 01/0279 ZAG19 022402 01/0154 -- 01/0276 ZAG2 030602 01/1329 -- 01/1289 ZAG20 030613 01/1338 -- 01/1180 ZAG21 030614 01/1339 -- 01/1196 ZAG22 022430 01/0157 -- 01/0327 ZAG23 022455 01/0159 -- 01/0486 ZAG24 022512 01/0164 -- 01/0490 ZAG25 022466 01/0161 -- 01/0495 ZAG26 022513 01/0165 -- 01/0453 ZAG27 023576 01/0772 -- 01/0567 ZAG28 023577 01/0773 -- 01/0623 ZAG29 023600 01/0774 -- 01/0634 ZAG3 030603 01/1330 -- 01/0916 ZAG30 023601 01/0775 -- 01/0549 ZAG31 030615 01/1340 -- 01/1038 ZAG32 030616 01/1341 -- 01/1058 ZAG4 030604 01/1331 -- 01/0925 ZANS 023652 01/0816 -- 01/0178 ZBF 023734 01/0837 -- 01/0433 01/0435 01/0440 01/0444 01/0517 01/0522 01/0526 01/0528 ZBTB1 030617 01/1347 -- 01/0967 ZBTB2 030624 01/1353 -- 01/0981 ZBTB3 030631 01/1358 -- 01/1010 ZBTB4 030636 01/1364 -- 01/0994 ZBTB5 030643 01/1370 -- 01/1014 ZBUF 030712 01/1410 -- 01/0846 01/0919 01/0929 01/1044 01/1049 01/1119 01/1123 01/1185 01/1187 01/1209 01/1281 01/1294 01/1302 ZBUFF 030707 01/1407 -- 01/1265 01/1266 01/1271 ZCCT 023642 01/0808 -- 01/0267 01/0319 01/0334 01/0356 ZCFDE 023204 01/0459 -- 01/0447 01/0450 ZCHN# 030672 01/1394 -- 01/0947 01/0950 01/0964 01/0968 01/0975 01/0982 01/0995 01/1007 01/1011 01/1015 01/1024 01/1027 01/1175 01/1192 ZCHNX 023644 01/0810 -- 01/0269 01/0272 01/0298 01/0307 01/0318 01/0339 01/0343 01/0349 01/0355 ZCIT1 030377 01/1165 -- 01/1130 01/1198 01/1220 ZCIT2 030416 01/1183 -- 01/1191 01/1216 ZCIT3 030454 01/1218 -- 01/1189 ZCLCZ 031332 01/1624 -- 01/1417 ZCLIN 023630 01/0798 -- 01/0252 01/0283 01/0382 01/0414 01/0556 01/0571 ZCLOT 023620 01/0790 -- 01/0193 01/0242 01/0246 01/0249 01/0280 01/0328 01/0373 01/0378 01/0393 01/0410 01/0454 01/0487 01/0496 01/0550 01/0553 01/0568 01/0580 01/0624 01/0635 ZCNT 030676 01/1398 -- 01/1173 01/1202 01/1218 01/1222 01/1230 01/1233 01/1239 01/1264 01/1272 ZCODE 030706 01/1406 -- 01/0984 01/0990 01/1002 01/1019 01/1170 01/1205 01/1208 01/1225 01/1229 01/1231 01/1238 ZCRET 031605 01/1822 -- 01/1670 01/1693 ZCT1 031603 01/1820 -- 01/1650 01/1662 01/1680 01/1699 01/1704 01/1720 ZCT2 031607 01/1824 -- 01/1681 01/1719 ZCTE 031614 01/1829 -- unreferenced ZDEL 031447 01/1717 -- 01/1696 01/1698 ZDL10 022101 01/0125 -- 01/1324 ZDLS1 022000 01/0035 -- 01/1320 ZDLS2 022011 01/0047 -- 01/1321 ZDLS3 022025 01/0062 -- 01/1322 ZDLS4 022032 01/0070 -- 01/1323 ZDLS5 022040 01/0079 -- 01/1354 ZDLS6 022047 01/0089 -- 01/1355 ZDLS7 022056 01/0099 -- 01/1356 ZDLS8 022065 01/0109 -- 01/1357 ZDLS9 022074 01/0116 -- 01/0771 ZEND 023310 01/0536 -- 01/0387 ZER2 030073 01/0923 -- 01/0931 01/0934 01/0938 ZER3 023111 01/0390 -- 01/0397 01/0405 ZER6 023354 01/0577 -- 01/0586 01/0588 01/0593 ZERR 023177 01/0451 -- 01/0423 01/0426 01/0439 ZERRR 030543 01/1287 -- 01/1297 01/1299 01/1305 ZESCP 031613 01/1828 -- 01/1695 ZFCOR 031100 01/1440 -- 01/1242 ZFRC 022631 01/0176 -- 01/0321 01/0358 01/1440 ZFWTB 023603 01/0777 -- 01/0297 01/0342 ZG.15 023636 01/0804 -- 01/0187 ZG.16 023637 01/0805 -- 01/0236 ZG.6 030650 01/1376 -- 01/1151 ZGADR 030535 01/1279 -- 01/0875 01/0890 01/0958 01/1060 01/1147 01/1292 01/1308 ZGNU 030062 01/0914 -- 01/0927 ZGO 030012 01/0863 -- 01/0858 ZI/O 030675 01/1397 -- 01/0770 01/0863 01/0876 01/0891 01/0959 01/1061 01/1148 01/1269 01/1301 01/1306 ZI/O6 031032 01/1419 -- 01/0892 ZI/O7 031033 01/1420 -- 01/1149 ZI/O8 031034 01/1421 -- 01/1062 ZINS1 031031 01/1418 -- 01/0877 ZL1 031577 01/1816 -- 01/1642 01/1667 01/1754 01/1760 01/1789 ZL2 031611 01/1826 -- 01/1686 01/1705 01/1712 01/1715 01/1758 01/1759 01/1786 01/1787 ZLAST 023301 01/0528 -- 01/0520 ZLCHN 030705 01/1405 -- 01/0767 01/0864 ZLIN 031403 01/1678 -- 01/0798 01/0920 01/1045 01/1120 01/1186 01/1282 01/1466 01/1483 01/1505 01/1526 01/1716 ZLNFD 031606 01/1823 -- 01/1672 01/1691 ZLNTH 030710 01/1408 -- 01/1166 01/1203 01/1214 ZLNTT 031062 01/1435 -- 01/1165 01/1224 ZLOP2 030120 01/0949 -- 01/1029 ZLOP3 023073 01/0374 -- 01/0384 01/0394 01/0534 01/0538 ZLOP4 023131 01/0407 -- 01/0417 01/0455 01/0461 01/0467 01/0497 ZLOP5 023267 01/0518 -- 01/0527 ZLOP6 023157 01/0435 -- 01/0446 ZLOT 031345 01/1641 -- 01/0790 01/0874 01/0889 01/0917 01/0926 01/0957 01/1039 01/1042 01/1059 01/1114 01/1117 01/1146 01/1181 01/1197 01/1290 01/1463 01/1480 01/1502 01/1523 01/1669 01/1674 01/1718 01/1748 ZLP1 030524 01/1266 -- 01/1273 ZLS10 030600 01/1324 -- 01/1065 01/1068 ZLST1 030574 01/1320 -- 01/0866 ZLST2 030575 01/1321 -- 01/0895 01/0898 01/0905 ZLST3 030576 01/1322 -- 01/0880 ZLST4 030577 01/1323 -- 01/1152 01/1154 ZLST9 023575 01/0771 -- 01/0597 01/0630 ZLWTB 023610 01/0782 -- 01/0306 01/0348 ZM12 030663 01/1387 -- 01/0894 ZM13 031637 01/1848 -- 01/1493 ZM20 030664 01/1388 -- 01/0915 ZM22 030665 01/1389 -- 01/0887 ZM24 030666 01/1390 -- unreferenced ZM25 031113 01/1452 -- 01/1057 ZM27 030667 01/1391 -- 01/0955 ZM4 031114 01/1453 -- 01/1064 ZM61 031640 01/1849 -- 01/1544 ZM64 023733 01/0836 -- 01/0403 ZMODE 031612 01/1827 -- 01/1697 ZN60 030670 01/1392 -- 01/1253 ZNBER 030510 01/1251 -- 01/0769 01/1258 01/1259 01/1296 01/1303 ZNO 031024 01/1413 -- 01/1050 01/1126 ZNTRY 030711 01/1409 -- unreferenced ZNUSR 030673 01/1395 -- 01/0935 01/0939 01/1028 ZNXTC 031413 01/1688 -- 01/1690 01/1692 01/1703 01/1713 01/1723 ZOK1 023116 01/0395 -- 01/0389 ZONE 023650 01/0814 -- 01/0196 01/0199 01/0204 01/0205 01/0213 01/0214 ZPEIT 023250 01/0499 -- 01/0475 01/0477 ZPNU 030674 01/1396 -- 01/0932 ZPRCS 030100 01/0929 -- 01/0922 ZPRIO 030357 01/1143 -- 01/1125 ZPTZ 030702 01/1402 -- 01/1138 ZRERD 022750 01/0271 -- 01/0286 01/0288 01/0292 01/0320 ZRERE 022734 01/0257 -- 01/0329 ZRPLY 023653 01/0817 -- 01/0177 01/0251 01/0253 01/0282 01/0284 01/0555 01/0559 01/0570 01/0583 01/0591 ZSETI 030521 01/1263 -- 01/0768 01/0867 01/0881 01/0896 01/0986 01/1066 01/1153 01/1274 ZSEXZ 031101 01/1441 -- 01/1243 ZSTOR 030677 01/1399 -- 01/1168 01/1206 01/1210 01/1215 ZSVA 023731 01/0834 -- 01/0418 01/0427 01/0459 01/0499 01/0509 01/0513 01/0519 ZTA1 031642 01/1851 -- 01/1462 ZTA2 031647 01/1854 -- 01/1479 ZTA3 031655 01/1857 -- 01/1501 ZTA4 031662 01/1860 -- 01/1522 ZTI1 031641 01/1850 -- 01/1461 ZTI2 031646 01/1853 -- 01/1478 ZTI3 031654 01/1856 -- 01/1500 ZTI4 031661 01/1859 -- 01/1521 ZTTYB 031027 01/1416 -- 01/0902 01/1006 ZTTYC 031030 01/1417 -- 01/0909 01/1023 ZTTY[ 031026 01/1415 -- 01/0903 ZTWO 030551 01/1294 -- 01/1285 ZT[ 037625 01/4367 -- 01/1415 ZULFL 031604 01/1821 -- 01/1651 ZWCNT 023736 01/0839 -- 01/0515 01/0518 01/0521 ZWRT 022705 01/0233 -- 01/0203 01/0212 01/0216 ZX 023651 01/0815 -- 01/0184 01/0189 01/0194 01/0220 01/0233 01/0238 01/0346 ZX1 031351 01/1645 -- 01/0035 ZX2 031457 01/1728 -- 01/0036 01/0037 01/0038 01/0039 01/0040 01/0041 01/0042 ZX9 023625 01/0795 -- 01/0248 01/0552 ZXLIN 031464 01/1734 -- 01/1688 01/1742 ZXLOT 031456 01/1727 -- 01/1661 01/1671 01/1673 01/1732 ZYES 031025 01/1414 -- 01/1052 01/1124 ZZ12 022261 01/0146 -- 01/1337 ZZDNE 031445 01/1715 -- 01/1694 ZZFWA 030567 01/1312 -- 01/0974 ZZG1 022105 01/0132 -- 01/1328 ZZG15 022312 01/0149 -- 01/0802 01/0804 ZZG16 022333 01/0150 -- 01/0803 01/0805 ZZG17 022354 01/0151 -- 01/0813 ZZG2 022120 01/0133 -- 01/0801 01/1329 ZZG20 022403 01/0155 -- 01/1338 ZZG21 022417 01/0156 -- 01/1339 ZZG27 022523 01/0167 -- 01/0772 ZZG28 022544 01/0168 -- 01/0773 ZZG29 022546 01/0169 -- 01/0774 ZZG3 022132 01/0134 -- 01/1330 ZZG30 022567 01/0170 -- 01/0775 ZZG31 022601 01/0171 -- 01/1340 ZZG32 022614 01/0172 -- 01/1341 ZZG4 022144 01/0135 -- 01/1331 ZZG5 022153 01/0136 -- 01/1332 01/1333 ZZG7 022171 01/0137 -- 01/1334 ZZG8 022203 01/0138 -- 01/1335 ZZG9 022217 01/0139 -- 01/0795 01/1336 [SEX[ 031114 01/4528 -- 01/0766 870 symbols 21 unreferenced 4585 lines assembled, 3864 words generated 0 errors, 0 warnings