ÀÁ>7$Jü_>À:ÿ à`àÀÿQ$àÈ‹þ€È �@ Ñ BàC ý†à  ` éYÿúûûüýþÿ¦SjL€üÿÿ4dªÆBa …Ò(ù›vL·IBa …®$Ñ›®(NÀk†ŽŒ †—£Î a€Ê‹a�ÊÕ€ŠŠ¦¦˜æ×$Ž & *ˆÖ PÓ$â ΋ÎŠË  ìË Î‹ ¡Î €Ó óËdË ÎŠ Î �(ˆÍ 1�£'ˆuÊ �÷ ÂQ$f €$Ë5@ ðU ‘C΋ Î �Cb÷ ŽM΋ÍðU@ ððU€ &„ ¥¥„ „ Ñ B"‘â‹Ã Å.&0 æM &0 & þÿ�M 0Š ¶&I FORMS A 16 BIT CRC ; ; POLYNOMIAL = X16+X15+X2+U ; CRCRM = BCCZ1 ;EQUATE FOR THIS PGRM CRC16 = . ; ENTRY MOV R4,R3 ;CHAR TO WORKING REG MOV #-8.,R5 ; SET COUNTER FOR EIGHT BITS MOV POLY16,R1 ; GET POLYNOMIAL (16 BITS ONLY) MOV CRCRM,R2 ; GET PREVIOUS REMAINDER ; ; BIT INTO THE REMAINDER CRCA10: ROR R3 ;SHIFT LEAST SJ ; AND PRINT IT BR PRNA10 ;CONT ; PRNB10: RTS R5 ;EXIT ; ; ; READ IN BCC FROM HDW ; RDBCC = . ;ENTRY MOVB BCCLO,BCCZ3 ;GET TWO MOVB BCCHI,BCCZ4 ; BYTES TO CORE SWAB BCCZ4 ;FORMAT CLRB BCCZ3+1 ; TO CLRB BCCZ4 ; 16 BIT WORD ADD BCCZ3,BCCZ4 ; FOR SOFTWARE RTS PC ;EXIT ; ; ; K6 ; BCC RTS PC ;CONT ; ; CONVERT OCTAL NUMBER FOR PRINTOUT ; BCCCNV = . ;ENTRY MOV (R5)+,R0 ;OCTAL WORD ADDR MOV (R5)+,R1 ;ASCII OUTPUT ARE A ADDR MOV (R0),R0 ;GET WORD MOV #-5,BCCZ6 ;SET MOVE COUNTER BCCC10: MOV R0,R2 ;CONVERT BIC #177770,R2 ; THREE BITS ADD #060,R2 ; TO ASCII MOVB R2,-(RLERATION. TELETYPE MOTORS ARE * ; TURNED OFF WHEN THEIR RESPECTIVE QUEUES BECOME EMPTY. SHOULD * ; A DETECTABLE TELETYPE MALFUNCTION OCCUR AND AN ALTERNATE * ; TELETYPE DEVICE IS DEFINED, OUTPUT IS ROUTED TO THE ALTERNATE * ; DEVICE. * ; * ; USAGE. THE ASSEMBLER LINKAGE TO SUBROUTINE * ; TTYOUT IS: MIGNIFICANT ROL R2 ; BIT OF CHAR INTO THE REMAINDER BCC CRCA20 ; IS THE REMAINDER DIVISABLE JSR PC,EOR ; YES - FORM SUM MODULO 2 CRCA20: INC R5 ; INCREMENT CYCLE COUNTER ; ; ALL BITS OF DATA SHIFTED INTO REMAIN BNE CRCA10 ; NO - CONTINUE MOV R2,CRCRM ; SAVE REMAINDER FOR NEXT BYTE MOV BCCZ5,R4 ;RESTORE CHAR RTS N FORMS A 16 BIT CRC ; ; POLYNOMIAL = X16+X15+X2+U ; CRCRM = BCCZ1 ;EQUATE FOR THIS PGRM CRC16 = . ; ENTRY MOV R4,R3 ;CHAR TO WORKING REG MOV #-8.,R5 ; SET COUNTER FOR EIGHT BITS MOV POLY16,R1 ; GET POLYNOMIAL (16 BITS ONLY) MOV CRCRM,R2 ; GET PREVIOUS REMAINDER ; ; BIT INTO THE REMAINDER BR CRCA10 ;SKIP ON ENTRAO1) ;PLACE CHAR IN DAT+ +RE+ ROR R0 ;GET ROR R0 ; NEXT ROR R0 ; THREE BITS (OCTAL DIGIT) INC BCCZ6 ;IS COUNT OF 3 BITS UP BNE BCCC10 ; NO - BIC #177776,R0 ;MASK IT TO ONE BIT ADD #060,R0 ;CONVERT TO ASCII MOVB R0,-(R1) ;STORE CH+R ; RTS R5 ;EXIT ; ; ; KEYBOARD INPUT ; TLINP * ; * ; MOV #LIST,-(SP) ;PUSH LIST ADDR ONTO STACK * ; EMT TTYOUT ;CALL TTYOUT * ; * ; THE FORTRAN EQUIVALENT CALL IS: * ; * ; CALL TTYOUT Q PC ; EXIT POLY16: 100005 ;POLYNOMIAL ; ; LOGICAL EXCLUSIVE OR ; PROGRAM ID. EOR ; PURPOSE. PERFORMS A LOGICAL EOR FOR WHICH THERE IS NO ; DEC INSTR ; PROGRAM USAGE. THE CALLING SEQUENCE IS: ; MOV [DAT1],R1 FIRST OPERAND, RETURN = R1 ; MOV [DAT2],R2 SECOND OPERAND, RETURN = ANS ; JSR PC,EOR TRANSFER INSTR RNCE CRCA05: ROR R3 ;GET NEXT BIT MOV R3,R4 ; OF CHAR TO REG CRCA10: ADD R2,R4 ;ADD REMAINDER TO ; CHAR FOR BIT TEST CLC ;CLEAR CARRY ROR R2 ;SHIFT REMAINDER BIT R4,#1 ;DO BITS MATCH BEQ CRCA20 ; FOR CHAR AND REMAINDER JSR PC,EOR ; YES - ADD IN POLYNOMIAL (EOR) ; CRCA20: INC R5 S1 = . ;ENTRY TSTB TKS ; BPL TLIN1 ; MOVB TKB,R4 ; BIC #177600,R4 ; RTS PC ; ; ; KEYBOARD OUTPUT ; TLOT1 = . ;ENTRY TSTB TPS ; BPL TLOT1 ; MOV R4,TPB ; RTS PC ; ; ; PRINT A MESSAGE ; ; CALLING SEQUENCE ; ; JSR T(LIST) * ; * ; LIST IS THE ADDRESS OF A TABLE OF I/O INFORMATION * ; ASSOCIATED WITH THE REQUEST * ; * ; * ; PROGRAMMER 51&54 * ; DATEU; . RETURN ; NOTE: REGISTER R4 IS USED FOR WORKING STORAGE AND IS NOT ; CONSIDERED SACRED ; EOR = . ; ENTRY MOV R1,R4 ; TEMP WORING STORAGE BIC R2,R4 ; FORM BIC R1,R2 ; THE SUM (MODULO 2) BIS R4,R2 ; R1 EOR R2 RTS PC ; EXIT ; ; ; CONSTANTS AND LOCAL STORAGE ; BCCZ1: 0 V ; INCREMENT CYCLE COUNTER ; ; ALL BITS OF DATA SHIFTED INTO REMAIN BNE CRCA05 ;CONT - SHIFT TO NEXT BIT MOV R2,CRCRM ; SAVE REMAINDER FOR NEXT BYTE MOV BCCZ5,R4 ;RESTORE CHAR RTS PC ; EXIT POLY16: 120001 ;POLYNOMIAL ; ; LOGICAL EXCLUSIVE OR ; PROGRAM ID. EOR ; PURPOSE. PERFORMS A LOGICAL EOR FOR WHICH THERE IS W R5,PRNTMS ; ADDR1 ;START OF PRINT AREA ; ADDR2 ;END OF PRINT AREA + 1 ; ; ; PRNTMS = . ;ENTRY MOV (R5)+,R0 ;SET MOV (R5)+,R1 ; POINTERS PRNA10: CMP R0,R1 ;IS THIS END OF DATA BEQ PRNB10 ; YES - TO EXIT MOVB (R0)+,R4 ;GET A BYTE JSR PC,TLOT1 ; AND PRINT IT BR PRNA10 ;CONT ; PRNB10: X: * ; REVISION: * ; * ; G U L F E L E C T R O N I C S Y S T E M S * ; * ;*********************************************************************** ; * ; Y ;BCC ACCUMULATION BCCZ2: 0 ;STX RECVD FLAG BCCZ3: 0 ;HARDWR LO BCCZ4: 0 ; BCC HI MERGED BCCZ5: 0 ;CHAR SAVE BCCZ6: 0 ;CH+R COUNT .EVEN ; BCCY1: .BYTE CR,LF ; .ASCII @START @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY2: .BYTE CR,LF,LF,CR ; .ASCZNO ; DEC INSTR ; PROGRAM USAGE. THE CALLING SEQUENCE IS: ; MOV [DAT1],R1 FIRST OPERAND, RETURN = R1 ; MOV [DAT2],R2 SECOND OPERAND, RETURN = ANS ; JSR PC,EOR TRANSFER INSTR ; . RETURN ; NOTE: REGISTER R4 IS USED FOR WORKING STORAGE AND IS NOT ; CONSIDERED SACRED ; EOR = . ; ENTRY MOV R1,R[RTS R5 ;EXIT ; ; ; READ IN BCC FROM HDW ; RDBCC = . ;ENTRY MOVB BCCLO,BCCZ3 ;GET TWO MOVB BCCHI,BCCZ4 ; BYTES TO CORE SWAB BCCZ4 ;FORMAT CLRB BCCZ3+1 ; TO CLRB BCCZ4 ; 16 BIT WORD ADD BCCZ3,BCCZ4 ; FOR SOFTWARE RTS PC ;EXIT ; ; ; FORMS A 16 BIT CRC ; ; POLYNOMIAL = X16+X15+X2+U ; CRCRM \ T T Y I N * ; * ; PROGRAM IDENTIFICATION. TTYIN - TELETYPE INPUT SUBROUTINE: * ; CATALOG NUMBER * ; * ; PURPOSE. SUBROUTINE TTYIN PROCESSES TELETYPE INPUT REQUESTS. * ; IT PROVIDES FOR CONCURRENT INPUT FROM MULTIPLE TELETYPE UNITS.]II @VERY GOOD @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY3: .BYTE CR,LF ; .ASCII @SOFT BCC = @ ; BCCY4: .WORD 0,0,0 ; ; .EVEN ; BCCY5: .BYTE CR,LF ; .ASCII @HARD BCC = @ ; BCCY6: .WORD 0,0,0 ; ; .EVEN BCCY7 = . ; .BYTE CR,LF,LF,CR ; .ASCII @VERY BAD@ ; BCCY8 = . ^4 ; TEMP WORING STORAGE BIC R2,R4 ; FORM BIC R1,R2 ; THE SUM (MODULO 2) BIS R4,R2 ; R1 EOR R2 RTS PC ; EXIT ; ; ; CONSTANTS AND LOCAL STORAGE ; BCCZ1: 0 ;BCC ACCUMULATION BCCZ2: 0 ;STX RECVD FLAG BCCZ3: 0 ;HARDWR LO BCCZ4: 0 ; BCC HI MERGED BCCZ5: 0 _ = BCCZ1 ;EQUATE FOR THIS PGRM CRC16 = . ; ENTRY MOV R4,R3 ;CHAR TO WORKING REG MOV #-8.,R5 ; SET COUNTER FOR EIGHT BITS MOV POLY16,R1 ; GET POLYNOMIAL (16 BITS ONLY) MOV CRCRM,R2 ; GET PREVIOUS REMAINDER ; ; BIT INTO THE REMAINDER BR CRCA10 ;SKIP ON ENTRANCE CRCA05: ROR R3 ;GET NEXT BIT MOV R3` * ; THE INPUT STREAM FROM A UNIT IS TERMINATED WHEN THE END OF * ; MESSAGE CHARACTER (EOMCH) IS DEPRESSED. THE TELETYPE WILL * ; CARRIAGE RETURN AND LINE FEED WHEN THE END OF LINE CHARACTER * ; (EOLCH) IS DEPRESSED. NEITHER OF THESE CHARACTERS IS INCLUDED * ; IN THE DATA BUFFER CHARACTER COUNT. THE NUMBER OF TELETYPE * ; UNITS AND THE CHARACTERS USED FOR EOMCH AND EOLCH ARE SPECIFIED* ; DURING SYSTEM GENERATION. THE ROUTINE ALLOWS THE OPER ; .END ; b;CHAR SAVE BCCZ6: 0 ;CH+R COUNT .EVEN ; BCCY1: .BYTE CR,LF ; .ASCII @START @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY2: .BYTE CR,LF,LF,CR ; .ASCII @VERY GOOD @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY3: .BYTE CR,LF ; .ASCII @SOFT BCC = @ ; BCCY4: .WORD 0,0,0 ; ; c,R4 ; OF CHAR TO REG CRCA10: ADD R2,R4 ;ADD REMAINDER TO ; CHAR FOR BIT TEST CLC ;CLEAR CARRY ROR R2 ;SHIFT REMAINDER BIT R4,#1 ;DO BITS MATCH BEQ CRCA20 ; FOR CHAR AND REMAINDER JSR PC,EOR ; YES - ADD IN POLYNOMIAL (EOR) ; CRCA20: INC R5 ; INCREMENT CYCLE COUNTER ; ; ALL dATOR TO * ; DELETE THE LAST CHARACTER INPUT BY DEPRESSING THE RUBOUT KEY; * ; ALSO, HE MAY RESTART INPUT BY DEPRESSING THE MESSAGE RESTART * ; KEY (CONTROL U). * ; * ; USAGE. THE ASSEMBLER LINKAGE TO SUBROUTINE * ; TTYIN IS: * ; e .TITLE TESTDC .ASECT . = 20000 START: MOV #B1,177464 MOV #-4096.,177462 MOV #0,177466 MOV #5,177460 BR A START2: MOV #B2,165304 MOV #-4096.,165302 MOV #0,165306 MOV #5,165300 A: TSTB 177460 BPL B TST 177460 BPL START HALT B: TSTB 165300 BPL A TST 165300 .EVEN ; BCCY5: .BYTE CR,LF ; .ASCII @HARD BCC = @ ; BCCY6: .WORD 0,0,0 ; ; .EVEN BCCY7 = . ; .BYTE CR,LF,LF,CR ; .ASCII @VERY BAD@ ; BCCY8 = . ; .END ; gBITS OF DATA SHIFTED INTO REMAIN BNE CRCA05 ;CONT - SHIFT TO NEXT BIT MOV R2,CRCRM ; SAVE REMAINDER FOR NEXT BYTE MOV BCCZ5,R4 ;RESTORE CHAR RTS PC ; EXIT POLY16: 120001 ;POLYNOMIAL ; ; LOGICAL EXCLUSIVE OR ; PROGRAM ID. EOR ; PURPOSE. PERFORMS A LOGICAL EOR FOR WHICH THERE IS NO ; DEC INSTR ; PROGRAM USAGE. THE CALLh * ; MOV #LIST,-(SP) :PUSH I/O LIST ADDRESS ON STACK * ; EMT TTYIN ;CALL TTYIN * ; * ; THE FORTRAN EQUIVALENT CALL IS: * ; * ; CALL TTYIN (LIST) * ; BPL START2 HALT B1: .BLKW 4096. B2: .BLKW 4096. .END START &Û}£}¯”(¯” ]÷¯” s. ÷N .ß÷ð&ß÷$ß÷ß ÷N@¤Ê÷ðœÊ˜.& ÷šÊ÷ŽÊ÷‹úÞ€÷ ôÞá€÷‹|Êö€÷ vÊ瀵 L †ókING SEQUENCE IS: ; MOV [DAT1],R1 FIRST OPERAND, RETURN = R1 ; MOV [DAT2],R2 SECOND OPERAND, RETURN = ANS ; JSR PC,EOR TRANSFER INSTR ; . RETURN ; NOTE: REGISTER R4 IS USED FOR WORKING STORAGE AND IS NOT ; CONSIDERED SACRED ; EOR = . ; ENTRY MOV R1,R4 ; TEMP WORING STORAGE BIC R2,R4 ; FOl * ; LIST IS THE ADDRESS OF A TABLE OF I/O INFORMATION * ; ASSOCIATED WITH THE REQUEST. * ; * ; * ; PROGRAMMER 51&54 * ; DATE: * ; REVISION: $â Û}£}âiÑð, ÷N .ß÷ð&ß÷$ß÷ß ÷N@¤Ê÷ðœÊ�,& ÷šÊ÷ŽÊ÷‹úÞ€÷ ôÞá€÷‹|Êö€÷ vÊ瀺L ‹ ÙoRM BIC R1,R2 ; THE SUM (MODULO 2) BIS R4,R2 ; R1 EOR R2 RTS PC ; EXIT ; ; ; CONSTANTS AND LOCAL STORAGE ; BCCZ1: 0 ;BCC ACCUMULATION BCCZ2: 0 ;STX RECVD FLAG BCCZ3: 0 ;HARDWR LO BCCZ4: 0 ; BCC HI MERGED BCCZ5: 0 ;CHAR SAVE BCCZ6: 0 ;CH+R COUNT .EVEN p * ; * ; G U L F E L E C T R O N I C S Y S T E M S * ; * ;*********************************************************************** ; ; ; EXTERNAL REFERENCES AND PROGRAM ENTRY POINTS ; .REF QUEUE,QSAVEI,UNSPND,RESTOR,QTIME,DQTIME,DSPTCH .REF ACTIVE,IOSTAT,PUSHR,POPR,ERRTYP s ; BCCY1: .BYTE CR,LF ; .ASCII @START @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY2: .BYTE CR,LF,LF,CR ; .ASCII @VERY GOOD @ ; .BYTE CR,LF,LF,0 ; ; .EVEN ; BCCY3: .BYTE CR,LF ; .ASCII @SOFT BCC = @ ; BCCY4: .WORD 0,0,0 ; ; .EVEN ; BCCY5: .BYTE CR,LF ; t .REF LOGMAX,PHYDEV,ALTDEV .REF $CTASK,SAVE,IOCOMX .IFG NDISCS .REF DISCIO,PFRITE .ENDC .IFNZ OVRLAY .REF RELTSK .ENDC .DEF TTYOUT,TTYIN,TTINIT .DEF PRTINT,KBDINT .DEF TTICSR,TTIDBR ;USED BY POWER FAIL ROUTINE .IFNZ $KT11C .REF PPASV5,PPASV6,SVPPA,TSK.PC .ENDC ; .CSECT ; ; ; TTYIO PARAMETERS AND SYMBOLS ; .IFG NTTY.ASCII @HARD BCC = @ ; BCCY6: .WORD 0,0,0 ; ; .EVEN BCCY7 = . ; .BYTE CR,LF,LF,CR ; .ASCII @VERY BAD@ ; BCCY8 = . ; .END ; xS-8. XXXXXX ;CREATE ASSY ERROR IF NTTYS GT 8. .ENDC .IFZ NDISCS ;IF THERE ARE ZERO DISCS IN SYSTEM, ;DISALLOW MESSAGE BUFFERING MSGBUF = 0 .ENDC .IFL 1-MSGBUF XXXXXX ;CREATE ASSY ERROR IF MSGBUF NOT 0 OR 1 .ENDC TFOPTN = 40 ;TIMER MODULE FLAG OPTION TJOPTN = 20 ;TIMER MODULE JSR TO TIMEOUT COMPLETE | ;ROUTINE OPTION .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM ; ; ; DEFINITION OF FILE ID'S FOR DISC BUFFERED MESSAGES ; FIDN0 = 20. ;FILE FOR NORMAL MESSAGES, UNIT 0 FIDP0 = 21. ;FILE FOR PRIORITY MESSAGES, UNIT 0 FIDN1 = 22. ;FILE FOR NORMAL MESSAGES, UNIT 1 FIDP1 = 23. ;FILE FOR PRIORITY MESSAGES, UNIT 1 FIDN2 = 24. ;FILE FOR NORMAL MESSAGES, UNIT €2 FIDP2 = 25. ;FILE FOR PRIORITY MESSAGES, UNIT 2 FIDN3 = 26. ;FILE FOR NORMAL MESSAGES, UNIT 3 FIDP3 = 27. ;FILE FOR PRIORITY MESSAGES, UNIT 3 FIDN4 = 28. ;FILE FOR NORMAL MESSAGES, UNIT 4 FIDP4 = 29. ;FILE FOR PRIORITY MESSAGES, UNIT 4 FIDN5 = 30. ;FILE FOR NORMAL MESSAGES, UNIT 5 FIDP5 = 31. ;FILE FOR PRIORITY MESSAGES, UNIT 5 FIDN6 = 32. „ ;FILE FOR NORMAL MESSAGES, UNIT 6 FIDP6 = 33. ;FILE FOR PRIORITY MESSAGES, UNIT 6 FIDN7 = 34. ;FILE FOR NORMAL MESSAGES, UNIT 7 FIDP7 = 35. ;FILE FOR PRIORITY MESSAGES, UNIT 7 ; ; ; OUTPUT BUFFER SIZE DEFINITION FOR MESSAGE BUFFERED DISC SYSTEM ; OBUFSZ = 128. ;MINIMUM SIZE OUTPUT BUFFER(1 SECT/MSG) DNWRDS = 64. ;NO. OF WORDS IN DISK TRANSFERS .IFGE DBUFSZ-2 ;IS SECTOR COUNT ÁjL€p¡K  %½›4d¡K §I ›ê'Þ¡K ^´›8}¡K m�›8}¡K †š›{L}YŽ Ÿ қąe ÓŽ.ÄÅ› *Öcœ úcUNÚ~UÚ~ENHrEHrRE|ydR|yDEbpPRÚxPÚxALþiAé Ã,s ãd*–hHæ`qfˆÄÐp &ˆæ&ˆ&ˆÃ忣*ºh.ˆ„T æ0wfæ„&/ˆÖ F �Ëñ Ì*Þhˆ 7 $7 üd,nj7 î÷ô}f÷L~Æ÷”~÷æ~Tæ`nˆæjnè*”jˆæ¼næ`nˆæÂnæjnˆækæ!ˆw–,¸jw ˜p˜p˜¾tjLwuQ˜p¢_ð":#ðJðp€:ðÆqàLEø((dBR`jFRjjDItjÿÿèfFAèfFBèfCOèf?*JdMTèfMèfZEwZw’ndHÕ&/ˆÖ ; ¶&/ˆÖ 4Ërœ*ir6ˆ ‡&/ˆÖ #׬/ðr*&ifæÅCaDDa…`Îe×" @ Ðn÷e òÿ)7 w . Änæî}æ`nˆæ`nJ,Þjˆ×-ïæà}.ˆ�I� Ñ•?Ñ• Ñ• Áåô}Ë*kwêæî}æjnˆæjnˆ7 6*qJ*4q NHŒ XqHäÂd # oÎd PIP-11 V004A·,âdÆ„cË*eˆ2? OBUFSZ = OBUFSZ+128. ;YES, ADD 64 WORDS DNWRDS = DNWRDS+64. .ENDC .IFGE DBUFSZ-3 ;IS SECTOR COUNT 3? OBUFSZ = OBUFSZ+128. ;YES, ADD 64 WORDS DNWRDS = DNWRDS+64. .ENDC .IFG DBUFSZ-3 ;IS SECTOR COUNT GT 3? XXXXXX ;YES, CREATE ASSY ERROR, DBUFSZ GT 3!! .ENDC OMSGSZ = OBUFSZ-16. ;OUTPUT MSG SIZE -- MAXIMUM NO OF CHAR ; 7 jÿæŒcˆæ–cˆæ¢cæŒcˆæ¨cæ–cˆ´.,e÷ ¨· ¢w ÐÎdÆ„cÀ4dÀe  bdúƒÀâd¡*Te  eüƒ÷bþ7 Zþ7 Bþ@H�m„@HŽ.[qj@Hz4f@Hƒ…4f@HL©C @HR«ª:@Hl.(Æ» hÁ*}h¯¼M:h€imRhö%J ù�ÎeÚÔ £Tù&&"ˆÂ*¶iŽŠóÎeÄÔ Ô £UêÎeÐÿK#æK,Â*ÚiãD!„Ö · ˆ€ˆ¦ˆ–%K,7 ¨ Ä ý…à}÷4nöÿ÷vnòÿæ~k¢,”k/ˆ÷  · ò—3& æƒ´Ö ÷LnÆÿ.ºk÷ nÂÿæ~k/ˆ—%& æ… Q*Ær . êr Hqºµ¼s 7 Hþ7 Tþ7 Rþw $.xe�Âdærdæ–cˆæ–cˆ×-æþÔ÷5'Úþædd . e.ˆÎ €ЋЕ?Е Àåxd7¼þærdæŒcˆæŒch.[q*}hžù}Œsh^u~‘hÀu~"höá~àyh~$"€2gh2™€b;h4¯”N÷ }*þifˆæ"q& ˆÖ Ö‹ �ææ " g° úÿÅ*"j"Ðf‡&æC!ˆÃ"sËãã&s# W# w*Fj‹ æ¦!¡÷÷Bnžÿš*âk÷„nšÿæ~k/ˆ÷ Væ—3 & æƒh*l‡æ—ƒÖ ÷Vndÿ÷’n`ÿæ~k/ˆ—%Ï" . Z Îsº÷*Žt ^œS Nß*²tƘpæ:wæ!ˆ7 #*Èeˆwnÿ÷‚"ÿw ¸ddÀcöc7 €þ·ŠüþæÚe×*ìe/ˆ—3÷ƒüþw’÷ Äý7ŠÜþw æ—%Ý*fæ÷Jþ·Š$æ,æþÿ÷àþÿ&×-"\‚€È ÷e?Hþÿ þÿ\d,$ ÷Uþð �6 °È €¶Œ ALLOWED IN OUTPUT ; MESSAGE (MSG BUFFER ; SYSTEM ONLY) .ENDC ; ; ; MISCELLANEOUS SYMBOLS ; CR = 15 ;CARRIAGE RETURN LF = 12 ;LINE FEED RO = 177 ;RUBOUT NUL = 0 ;NUL CHAR DC1 = 021 ;CHAR TO TURN ON ASR37 PT READER DC3 = 023 ;CHAR TO TURN OF)Èe>  þæ,Hø¬ÿÿôîð�¶ö÷•ÓL©C  z4f6.l*ýõ*²jåAååDeÅåø% ¥Š¥ŠåBå Ååø¸*ÖjåCÄ"q%%%„¥&ÍEðÍU€å ¥ åX*újeå MŠÅeîÿ+÷-$æ¿÷-ªÊ÷-Ž*–lÞø÷-Øò ÷-Òì÷ âæ©÷-J*ºlŒž÷-ÀÌ ÷-ºÆ÷-´Àæ–Í,îÿæ–ræ¢rˆæ¢rˆæ¨qˆæ´qæ¨qS*DuˆæVqæ¨qˆæ¨qˆ÷µ'ýûÀÃVqwÀ*hu|æ¨qˆæ¨qˆ×­âû ×­Úû -bdh.€fù‡ã k · pþñ÷ nþ ×­Lþ×­Eþ w n²*¨f· PþÃNþK · DþÃLdÃeÓ × Xdù‡÷ Y*Ìf.þ÷.Q¶üÿ÷ŠIû& Æå Û¦öþÿ÷àþÿw ‹þÿ$þÿ([gÐ4±,’€È%ð•ÿÿÈ%ÿÿœÁEðÿÁ Cw &/Ä>q%%%% å åÐåpå?T*kw ŠÕ;Õ DU% Ä ý¥ M e w pÖ�#‚*Bk0æøÿÍfõŒ„w Tõ �µŒw 0*Þl÷-Xn÷-Œ´÷-†® ÷-€¨÷ �Ä*mæ€æBnˆ÷ ~æ4nˆ÷  ×-©*&mB& æƒ1ÐæHq.ˆ*Œu…… Õ•?Õ• Õ• Åå\qw´û÷¬ûæVqË*°uæ¢rˆ7 žûµæ¢rˆ÷€ûæör‚Ò Òšpš*ÔuÊq2¢ þw ¶w^þã k · þè÷ƒþw _*ðfžÀÒüÀ *@ ÀeÈcÔ · ðýw  ÷ ìý§,g÷šÚýwp·ÜýÌ @ aèÀ”ü3,¶ ·  Áe^BA  ûJ³~ÉZ^"~Ù,Ú6 w 0œž¯€ ð‹ž"$·ŠÆ4+*fkDÖ �c€5Š �c� W#$çÖ „Nw æ*Škææ"q¦ ˆÖ Ö‹Û�wlþÉ NfÕÛ,®kþÿÕe• Õ�F ASR37 READER PLOCK = 340 ; MASK FOR CPU LEVEL 7 NTTYS2 = NTTYS*2 NTTY16 = NTTYS*16. ; ; ; ERROR CODES ; ERRQL = 21. ;LIST NOT QUEUEABLE, THREAD WORD .NE. 1 ERRLDN = 22. ;INVALID LOGICAL DEVICE NUMBER IN LIST ERRPDT = 23. ;INVALID PHYSICAL DEVICE TYPE IN LIST ERRET = 24. ;INVALID EXIT TYPE IN LIST ERRLEV = 25. ;INVALID PRIORITY LEVEL IN LIST ERRMSZ = 9 Ädp!ÄpüÅe 7 ÎÁ&sI*Ôk÷ @"%%%%Ô%&e—%>%ù*øk÷ ¢%—r %X\ ÷ ÌÕ_Uüÿ:„n–*–mæBnˆæ„næBnˆ÷ èævnæ4nˆ÷ ˜Á,ºmæLnˆæ næLnˆ÷ ŒæVnˆæ’næVnj*àmˆ7 ×-;æör/ˆs*@vÎ5 wh÷ ªúÖ Ö ð÷ Ð÷ >úž*dv÷ ’ú wª÷ 6úÀwœÁ ú÷ „úÌ*ˆvÀw<ew ®…·ŠjýæbýæZý÷‹Ný÷ 8,¦gü÷ ,ü æÚcæ¬c ˆÖ Ö50æ¬cˆæ¬cÕ*Ìgˆ÷‹ý÷ Þû÷ ü æècæ¶c ˆ= æ7þÿ ðНÔÀ À À `Á^ ~~þÿ¯*^X,J`÷àþÿ7�lBA<W¬ÿùñŠöCE>¶*l Ãeÿw7%øù7%ôö÷ âó%Ôå.Ð*@l7#ìŠÔ •· W!0{W!07ò)*dl…w LÕe?^ gw ü 7 üæB!ˆ·‚÷e@þ,n|æþzæ!ˆ7бÀj7h7hÆ^÷Rzd-**næ w p:a@Šwä÷ búÁ ìw\÷ úw¶y*¬vÁ ãw÷ƒ8üÎvÄÂs÷ Ž& æ&ü*0q~*Ðv"qq>q´qŽt÷¦ü÷ ð÷‚üÎvAÖ Ö5m,ðgæ¶cˆæ¶cˆ÷‹üüw4ý…wææŒc *hˆæŒcˆ…Ád"Ñ W 2dú‡ …B÷ ¾üU*:h…ÁB  þÿç,nqœJ°~É…7þÿœó‹ó~þÿ>,’æœ& ‹€÷ & ÂCfÍeW#0{Í0w…¦&ˆÓ,ˆlÄÊ !ZrÖ÷ ÀÚËW ™� Ý…€ÎoÓ*®l&ÄqÔ&æÚpˆ€ &ä &ˆÄ¶xÔD‘*Nn�:'a9€E €EÁ*rní*–n” 26. ;MESSAGE SIZE TOO LARGE ERROTO = 27. ;OUTPUT/ECHO TIMEOUT; ALTERNATE DEVICE ;SELECTED IF AVAILABLE ERRITO = 28. ;INPUT/OPERATOR RESPONSE TIMEOUT; ;ALTERNATE OPERATOR SHOULD BE SELECTED, ;REQUEST IS DEQUEUED ; ; ; SYSGEN TTY INTERRUPT VECTOR ADDRESSES, CONTROL STATUS REGISTER ; ADDRESSES AND DATA BUFFER ADDRESSES ; TT0IIV = Iɺn # i*ÐnEDIT-11 V004A LSP OFF?Jæšp ˆÖ Ö5 æšpˆæqæšpe*`wˆæšpˆ÷ 8ùæ"qæ¤p ˆÖ Ö5 æ¤p:*„wˆæ¤pˆ÷ dùæ0qæôp ˆÖ Ö5 æKRüwèþ…7¾ûÁ wºû…!*¸h7®ûÁ wªû…÷˜û7 ’ûæÚe/ˆ—5*Üh …À…÷‹úû)×-û*×-û* ’LÁ^`BA«W,ÿúJ°~Ém ^"~ß2þ÷ Âñ�À^Á÷àþÿÐ Á üÿ ÷EþbM÷ÀÚp&ˆæ>q&ˆ&ˆ–%ÀÚpŠ,BmÁèpÂøp÷ D÷ „÷ úÄq÷ òÅÆp]0hmfˆ× s× àp× 0qwêûwøúæN ôn iøn * Bo(XRo–pœp¢pÜx w¶u’rœwŽtŽtÏfoàu@uúw`txs¼sTvOôp4*¨wˆæ¤pˆ÷ Pùæ>qæq ˆÖ Ö5 æqê,Ìwˆæ>qæqˆæqˆ÷ Àúæ¢rˆwÐüÂÂs˜*òw    P&i…·Šàû÷òúþ w ä ÷Àcæ æâ ˆw 8 ø. i÷™Îûw dþw Ö w w  öcêsw ,ÿw Z w*Hi·¦ú·Q^þÿ,þ5(÷Š”‚w4t [qj4^q(^Rqˆ÷êmš±*’m÷–Á&sÀ0{  Fzü&÷ n-!*¶m wbþ4$4"Ð È ÷7X!*Úm7S¬rÒpžslzoxsèpFv@tRtjx`qÎx¬prö*ŽoWHPMXROF0BEMRIFVUHGTNSPCDWLAKXJ01234§%²o56789/+@- T ‡÷ \÷ ŠÄ¬pÅ Da&Îei*xÌ%D„ô… Å Àw„þ÷ J÷ "Å *:xúð÷‹qü÷ L·ŠgüÜ÷‹cü7Š]üwr˜ 60 ;PHYSICAL UNIT 0 INTPUT INTERRUPT VECTOR TT0ICS = 177560 ;PHYSICAL UNIT 0 INPUT CNTRL STATUS REG TT0IDB = 177562 ;PHYSICAL UNIT 0 INPUT DATA BUFFER REG TT0OIV = 64 ;PHYSICAL UNIT 0 OUTPUT INTERRUPT VECTOR TT0OCS = 177564 ;PHYSICAL UNIT 0 OUTPUT CNTRL STATUS REG TT0ODB = 177566 ;PHYSICAL UNIT 0 OUTPUT DATA BUFFER ; TT1IIV = 340 ;UNIT 1 ADDRESSES TT1ICS = 160200 TT1IDB Y÷ €*^x‚ö÷ *÷ ’ø w¨þ÷ h÷‹9ü÷ Ȥ*‚x÷ ˆ÷ hóµ@÷%júîwrþ÷ j÷ TøØ*¦xß÷‹üwZ*´i÷e(û÷eBûÿ>ûû÷eû÷e0ûÿ,û ûè*Øi…w$ûwûÿûúú÷eû÷eîú×- ûdó‡üi… [® ®9®d� ¿( ¿/ \7ˆÚp¦**Fnˆôµ@!Á èÁTr÷ èÂq榈÷ «*jnÒ7ZÚp¦ˆæ¦ˆÀTrÈ ÷ ¼Âèp7*Žn€É]äÿ…7âÿ·Šàÿ…÷ œýã*°p æLnˆæ næLnˆ…& æÏÖ w¾ P*ÔpÁ À¨ÿ� À¤ÿ …Á ó÷ èþ @à k^·ŠýûÃsËãã(÷ ÷ 4*Êx~÷ HÊ÷ ˆ÷ ¶À÷ üÄüp w÷*îx*þÅ Ì%RÌ%I9Äÿÿ÷ ˜Ô Ì%I0_*þiw  w ðÀÈcÈ "A @`$ALõ (*"jw |ÿÀ �&æÚcæ¬c ˆ—#ÿÿ Ö æ¬cˆ— Fj…÷ƒ¨úw >ý`Ä# Ä,óa7 ¾ 3Þ€È øw|þŽò,²n¦&ˆ÷ &ˆÖ …‹ æ¦ˆÞ ¦Ë üæÌn}*Øn¦ˆÓ$æ‹ãË óbþÿ‹ Ë×(b*øp†7 „ÿ ‚À~ÿ…@` ƒÀ-tÿ‚Ànÿ…Ám¾þ·*qæ÷ ¶þ ¨ ¢ ú7 Lÿ‚ÀFÿ ¤Ù*@q ¬ÿÿ cÏ*y&æ"ˆ„„ Ö ð÷ üÃür÷ Âóµ@s*6y÷%ÄùÑwÌý÷ Ä÷ ®÷È÷‹aûwöþ÷ ©*Zyîæör/ˆÖ ÷ d·¤ú÷ šúw 0ý_`j·ŠŠúw …Ojj·Šúw …Z*tj7 7 w €w þ7 7 w 6þ÷‹Pú7m˜jœ= 160202 TT1OIV = 344 TT1OCS = 160204 TT1ODB = 160206 ; TT2IIV = 350 ;UNIT 2 ADDRESSES TT2ICS = 160210 TT2IDB = 160212 TT2OIV = 354 TT2OCS = 160214 TT2ODB = 160216 ; TT3IIV = 360 ;UNIT 3 ADDRESSES TT3ICS = 160220 TT3IDB = 160222 TT3OIV = 364 TT3OCS = 160224 TT3ODB = 160226 ; TT4IIV = 370 ;UNIT 4 ADDRESSES TT4ICS = 16023iêw ÿÀc¶cw 4ÿöc($¨jèc÷ù÷EüøÀ ÷„4úw Êü8Æjw âþÀc¬cw ÿöcIÔjÚcæ¬cˆ÷ úø·Šúæ¬c�jkÌå ÷ &„ Å ûÀ‹…€„‡Æeñ.hoÃeÿwÊýÖ ÷ Vÿ–%æ"ÎøL”&“€e–ŠW &uï*�oW &w Á&s³Š €ó s l*¬qþ÷w Œ7 >æ4nˆæBnˆw `æBnˆ÷ ˆ*ÐqÀþæ4nˆæjnˆæjnˆæ`nˆæ`nˆwª.ôq0ø& æÏm*Æyà÷ÐöØö÷�ÍöÕö÷ÈöÐö÷ €7ŠÑú7 Îúæq´*êyˆæ>qæqˆÂ>qÄÖr÷ RÃÄrÀ÷ L,zÅ:&æµræn$êj ˆ· –%÷  ÷‹íù÷œòùw ˆü  k÷ÊøæÚcæ¬cˆ÷‹Èù w ¬ýI"k7`w ‚þÀc¶cw ¨þöcøo.ôt!¯”Ÿ s@ú&àyp ‡s°,´o ‹ ÷ ÿ–%‡–%6 ÊÖ ÄeÈ!~yĶxÜ*Úoþ &Á fU%DDm�„ U�D!ü…&ˆ•*þoqÖ wŠ ÷ Šþö÷ ‚þæ4nˆæBnq*rˆ· rþw …÷ dþ1÷ \þævnæ4nˆ!D*@r÷2ühü÷.üdü÷³ `ü÷&ü\üæ®næ4n ˆr"ˆæ¤÷æ¼ræ"ˆæ˜÷æ¿r .4zæ"ˆÃªr÷ ÎÅ ÷ à÷‹hú ÷‹cúÅ ÝÔt‹*\z÷ °ÃärÒ÷‹Iú÷ œö ÷%LO–öæs4kèc÷¶cÀ æ¼ ˆw *Fk÷™¨ùw >üw 8æ¶cˆ7Їù÷ "Ù÷ c.jkw Vý7Øæ¬cˆæ¬cˆ…t@;K}@Ç.hf€p@”f�@[gÐ4@�m„@[qj@.L©C @R«ª:@(¬�òeh\ôt!hv 0 TT4IDB = 160232 TT4OIV = 374 TT4OCS = 160234 TT4ODB = 160236 ; TT5IIV = 400 ;UNIT 5 ADDRESSES TT5ICS = 160240 TT5IDB = 160242 TT5OIV = 404 TT5OCS = 160244 TT5ODB = 160246 ; TT6IIV = 410 ;UNIT 6 ADDRESSES TT6ICS = 160250 TT6IDB = 160252 TT6OIV = 414 TT6OCS = 160254 TT6ODB = 160256 ; TT7IIV = 420 ;UNIT 7 ADDRESSES TT7ICS =y.¯xh¢-²ZhZD~h^A*}h•»ŒEh{.J&) h—m4€ph¥¶>) h–!?È}h¦áQ@œh©x.¶Re†zˆ‡Á`Àé*jpN>` >üÅèþA% åáB‚Œ‡ÍÍ ƒ*Žpþ€ÍEˆ�ŠÍ‹þ€Í �É ùð͕͋þ€Í €W=r*²pþÿ{Äý÷-ýý†…÷ ýw 7 ýŽ.Òrf7 ýÃJ~Å 7!ðü‚•� w#X øÓ• � æF~`*úræjnˆæjnˆèæF~æjnˆæjnˆ|špˆ÷ Òõ æ¤pˆ÷ Òù æ"qæ¤pˆæ"q%*ôzæqæšpˆ ÷‹­ùæ"qæ¤pˆ7Š�ùæ¤pq*{ˆæšpˆwTþÄsÁÆqT$ T$}^÷ Twt· žÿ÷¸ÿpÀp÷ øÁÌoú*ükÀp÷ ÷ 4Е Е[ ÃÝõ÷ r÷ûÿ@. l÷ ’Е, ÃÝÜ÷ Z÷ûÿ(÷ zЕ~h¤¦S@~h¨U; hŒCmàh‹wô_h£ .|x‘h«ây2ghjYzb;hlD~*}h`k~[h¢þ �€phª¯”ÚF€ ݆  Š Ea*ÖpE ÷*úpð¦S€……w °*s²ý÷ ¶ü7®üÄ 7¢ü…7 üÀ 7–ü…*BswŠü÷-ŒüŒü ƒÃ‚üƒ Ä&ýä˜÷ züü‚…Ãrüš*fsÄlüÔ”� ÷ ð÷‹wù .<{÷ ̇÷ ‡÷ ”÷ bùèÂs÷ Vù ÁÆq’*d{w$Pùw$Lù÷ nò¸t÷¥r÷ÄÂs÷ Ì·‚]÷ òÀpt*HlæC!ˆ·°÷ ,÷ Üw â5÷ „÷ ÷~÷~xll÷z÷z÷v÷vw &`*|l%Àp÷ºÿÖ÷ bÊ ƒ÷æ,÷ X$÷P÷ J· DfÁñ‹f R«ª:$”f�%"„jL»zÿv*q»z\M»zÿ¦SjL¦SjL*Bq! MODS-11 V003A G*fq# ¤ 160260 TT7IDB = 160262 TT7OIV = 424 TT7OCS = 160264 TT7ODB = 160266 ; ; ; SYMBOLIC TABLE AND BUFFER OFFSETS ; ; ; OFFSETS IN I/O REQUEST LIST ; DEVICE = 2 ;LOGICAL DEVICE NO. TYPE = 3 ;EXIT TYPE EXIT = 4 ;I/O COMPLETE ROUTINE (EXIT 3 ONLY) ERRTSK = 6 ; USED TO SAVE UNIT NO. LEVEL = 7 ;PRIORITY LEVEL OF I/O REQUEST ERROR = 10‰ ?SYNTAX FAULTY  ?T�*ŠqOO MANY SWITCHES  ?DECTAPE O[*®qUTPUT ONLY  ?DECTAPE UŠ…#¹*Òsw Bý!Âí¤üÄ¢üà÷ òûB ‡�#@à*ösD ‡#K` À-‚ü‚#Àzüãtü÷íÈûnü…*t#ãdüw ‹¤÷ÏÁÄqþq÷ ä÷ ÀÉ%*ô{÷‹·øÉ%ó÷ Ê÷ ¦É%·Šžø€ n*|‡óµ@ú·Š�ø÷ÁÄqþq÷ ~É%÷‹ Œ.ìlÃø÷ ÷ Þ÷ Ú÷ 7 î÷7 ì÷7 |þ…÷eÎýÞ÷1$m7 Ú÷÷eÈÿÖ÷7 Ò÷ÁóoÃÈ÷÷ Ò÷‹»÷n.2màÁpÙÀp÷ �7Š’&fÀ¢sL©C Ÿ s&¢ð,bЕ<ˆŠ¢<9·ŠzŠˆŠ¢<2ŠˆŠ¢-F,†ŠŽNITS a*Òq ?ILLEGAL INPUT  ?NO *öqPR: SWITCH  ?INVALID OUTPUT Ç#rSWITCH�ÿ÷m®ûZü÷íªûTü÷ ¦ûÀm¦û7JüØ.>t…÷ ú7÷Lnˆ·Š}û÷ öù.÷Lnv÷4nn¬*ft·Šbû÷ &üw^fÁÿÿw ÖÁw �*<|uøäÉ%õà÷„÷÷€÷7 døÁsÑåR*`|Ñ ñ%@,÷ j÷åŒööÃür÷ tÁsÉ%Ó*„|èÉ%󵑞÷ šÉ ‡Ð•.÷ Œ‡À!p/*Zmƒ ÷ <÷üÿø÷ Dò €Ð•C‡À(p·ì,~m€÷Eðz7 t×-rè÷åèh· böÁ’ˆ "ÁPP�P�ˆŠ÷•õ÷mäÿȵH0ª· Úÿ·Šá Á¨@”‰Šp¢• É•¡Š÷`Œ˜¨•“  ?READ ERROR "8r ?TAPE FORMAT ERROR Ýs`&wR”º�÷ *Št 2ûÂ.pw <ûw 6û7 @û÷xpàû…7Š û& Ð*®tæÇ& æÏÖ wÎÿ•ÿÿ¼ûÂ.p„Ì¢ì*Òtƒ „ ¨ ;ERROR CODE WORD SYSTEM = 12 ; USED TO SAVE TASK NO. OF CALLER DATA = 14 ;ADDRESS OF USER BUFFER DATA1 = 20 ; SVA OF DATA BUFFER DATA2 = 16 ; ASR 6 FOR ABOVE ; .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM ; ; ; OFFSETS IN DISC WRITE BUFFER AND OUTPUT BUFFERS ; SCFLAG = 2 ;SECTOR FLAG INOUT = 3 ;READ/WRITE FLAG RLSECT = ™ûÌ‹#Ë‹€ î×­Öú Ý÷  ûà÷ a*ötœûwÔfÁ· îüw 47 æü�÷5@x Ô[*u÷-fûbûÐÂ7ŠžúÀÁ ÊÃ.p × xpüƒš,ð|àÃeËã ÃbÃåS”Î ýÖ ‡ÁsÃürë*}÷ ¸É%‡÷ ÌÉ%ûô Ĭp‡º.:}Å DaÌ%DL ›üÿf÷ ¸‡;Zx—*nµÔó0Nmç¶>J&zQÒ�QÖAÔA� ˜wC*4nL^îYËØ™Á¼c÷xõDý÷ –÷�mõ÷� 6ý÷eœ  þÿç,†X÷àþÿ"Æeßq È7þÿáþÿ&þÿ¹,>B1€f÷ –…Åe�ž7ŠŽúÑ*>u…÷ Nû·÷ Jûw‚f÷‹vú7 .û÷BnÈå*buÀû7ûÁÿÿw âÿ¥ \úw Œw û7þú�*†u÷ Bú×-ŸÌ%DÀwbù� Ô î·ŠU÷ûæ¤p@*b}ˆæ"qæ¤pˆÃ¾q÷ <÷%HôwXù÷ ,˜*†}÷%8ôø‡æšpˆ÷ ó÷º}nóæq g*Xn0à�ЋЕ:‡À9pЕ<ƒÃEÿ÷ ô*|n÷ýÿÞ÷ 0Е>‡æ&æ"ˆ÷8‡æ * n&æ"ˆ÷¡•e•e•eÍ%<Íå³,b<¥ Õ å%ÍåŽ Ã�0ܕΠÎàÎÎ C •<,†Î Î ö¶ ¶ ŽUŽ¢£DLnw 6w >÷5@ì÷-Úúª*ªuÖúÎ ØŽ¥…÷Bnn÷ Ôúà w > w 8*Îu8…& æÑÖ w°÷BnD÷ ªúÖ ñ¤æšpG*ª}ˆÃ¢t÷ 7 Xó‡· øö7 Nó÷¥Kóì÷jL;*Î}Dó÷wu@ó÷<óâæôpˆæ0qæôpˆÃür¯*ò}÷ üóµ@¬ 12 ;RELATIVE SECTOR ADDRESS NWORD = 14 ;NO. OF WORDS TO TRANSFER TTRLST = 16 ;1ST WORD OF TTY REQUEST LIST .ENDC ; ; ; OFFSETS IN USER BUFFERS ; CHCNT = 2 ;CHAR COUNT MSGDAT = 4 ;BEGINNING OF DATA ; ; ; OFFSETS IN TIMER MODULES ; TCNTR = 10. ; TIMER COUNTER ; ; ; TABLE OF CONTROL STATUS REGISTER ADDRESSES ORDERED BY UNIT NO. ; TTICSR: .WORD©÷%þôwù‡æôpˆæôp*~ˆ7 ,ó÷ôpÖô÷0qÒôæör/ˆÎ5 wzø�*:~÷ ¼òÖ ò‡Ö ‡æHq.ˆÖ ‡Åò ª, oR÷ žÿ‡É‹ýP”üÀåp7ðæpæ¬cˆæ¬c1*2oˆ‡÷ œÿ÷ ˜ÿ÷ Úÿ‡÷À´ ÷ Z÷¨ ,Vo÷ P÷ "÷ «•ÿÿËwæ ¦ƒÅöEþÿ[qj2òÀÿà à ÃÃEàÿöÅ… … … ÅEàÿv‡÷àþÿf¬,a,aü4l4dµzA*,a§² qÜn)²å~FoÕ±€%>oѱ–¦o�±¬*Paˆ,do<±L;Òoé°[Xloé°¼RTo­…÷ øG÷VnØ÷ <ú¼÷BnÊ’*`vw Êÿw ´üÄlùÄ-dù†…•w Ž÷5@b37!Ú*„vNùöƒÿ• P· Ræà~æ�ˆæŠˆ÷5@®ð*^~4Ц&æ"ˆÅ Äeõ„ û‡&& *‚~"ˆ·0ö& "ˆ·*öÖ ‡Ã¾q÷‹ö÷ @ýú÷ 7*¦~*7Šö÷ ¯°÷ª”õÀp÷ ÈþЕ ÷võo*|ow¢ýÄ’Ä ÁuÉ‹Ãe� Ä ù‡IŒ‡ƒ Ö* oIŒ‡ƒ IŒ‡ƒ IŒ‡ƒ IŒ‡ƒ IŒ‡ƒ IŒ‡° ,þÿÅ,ÀJÙ÷åBÈð5ô7þÿ&÷ ¤ÿR þÿÓ,@Î Î�a—-ö�Q—-±é° ÆoZ*tan°€¢Œon°�[‚on°&X–on°ÈKŠon°º*˜aKˆon°ˆ,†on°À+„on°ð”o$°^>o’*¼a°²:É*¨v÷æ~.7 0×-rVnæVnˆæVnˆæ’n‘*ÌvæVnˆæVnˆ…& æÏÖ w¨ÎöÎEÿs,ðvÎæ‚w³‡ææ¤pˆæ¤pˆóµ'Àh*Ê~wø‡ææšpˆæšpˆóµ'ÀwC.î~ö÷‡ææôpˆæôpˆóµ' wØ÷‡æ´ƒ J*ÄoIŒ‡ƒ ãDIRECTORY TOTL BLKS: T”*èoOTL FILES: FREE BLKS: FREE FILEj pS:í° TT0ICS,TT1ICS ;INPUT CSR'S .WORD TT2ICS,TT3ICS .WORD TT4ICS,TT5ICS .WORD TT6ICS,TT7ICS ; .=TTICSR+NTTYS+NTTYS ;DELETE UNUSED WORDS ; TTOCSR: .WORD TT0OCS,TT1OCS ;OUTPUT CSR'S .WORD TT2OCS,TT3OCS .WORD TT4OCS,TT5OCS .WORD TT6OCS,TT7OCS .=TTOCSR+NTTYS+NTTYS ;DELETE UNUSED WORDS ; ; ; TABLE OF DATA BUFFER REGISTER ADDRESSES ORDERED BY UNIT NO. ; TTIDBR: .WORD TT0IDB,TT1IDB ;INPUT DBR'S ¹po`p'bpw .ø÷‹zô÷…„ôw÷w Løzp7jôw *ùÀc¬cæ¬c{(Špˆæ¬cº–x–xš–x‘Ú~,–xæº{ˆæÄ{ˆæC!ˆæÿ|÷ ²÷q$÷è| ô*¼x÷ Ò÷ ¼÷÷üw‚»‰`Yz=*(b€ À zà ¢w´žw²–w¸*Lb‹w±;w¿w€ ³s€0©së*pb¼~ø�*^ww àûÄå(7ù…Ôù ¤÷mhø ùÀ- ù ‡×-Ù*‚w<ø·üø÷mNøôø€w ¨û…ÄÞøÃÜøáÂ*¦wZÄíØø!Rƒ½¾ ˆÖ �÷™Zôw ðö–%w Bø×-Ló* ¬p×-Hó*70ôw ùöcÚc¢ ÂpæÚcæ¬cˆ÷‹ôèæ¬cˆ÷‹ ô= ÜpÌ…V¿÷ ¦Àà{Åï,àxñÿ7øÐ $… ù�ì7 ì÷^|Ò& Î�Üæ[}*yæ"ˆ& Î�ÍæW}æ"ˆ÷•,;÷• 1÷•z**yÀêr är@ [q`"èY ¡*”bOX ®S!ŠAP˜@@¬:¹*¸bs:€ 42}\!ˆ`ËÁÄÐøÃÆø#™!ý‚÷67øÃ´ø.*ÊwД÷ °øü‡Ã"Ô”÷  øü‡÷-ê÷žø‡Ä 7–øw*îw÷-’øˆø+†…w ûÃÒ÷ÃíÒ÷…÷rønøÄÃàp CONFIRM: é.üpæàpæŒcˆæòpæ–cˆæ–cˆfÅ` ÂÁøp{.$qÉ¥LÉ¥HuÅ Ò � É¥Ê *÷ ¦÷X}¢÷ T7Š÷ 8Á`|Ä«*NyùÿÉ Áe„ ú�÷þjð÷p÷Y}l÷ —.ryæjæ¾}æ"ˆ÷R÷©}´ .WORD TT2IDB,TT3IDB .WORD TT4IDB,TT5IDB .WORD TT6IDB,TT7IDB .=TTIDBR+NTTYS+NTTYS ; TTODBR: .WORD TT0ODB,TT1ODB ;OUTPUT DBR'S .WORD TT2ODB,TT3ODB .WORD TT4ODB,TT5ODB .WORD TT6ODB,TT7ODB .=TTODBR+NTTYS+NTTYS .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM ; ; ; TABLE OF FILE ID'S FOR MESSAGE BUFFERING ; FILEID: .WORD FIDN0,FIDP0 .WORD FIDN1,FIDP1 .WORD FIDN2,FIDP2 É@vv vxÄ…e */." +%$#('&0|vUPDATE V004C •*(vÊ@ó„@P@ €@µr*Hc@‘�@t@oÀvƒ@o‡G*lc@e@ü 0!û P!ë @!Ëw&÷ \&à ø÷ ø†×¤ á*~xúÃíú÷× HÃð÷ÄäoÔ”×¢ üÔ• ·Š(,*¢x·Š%w"…& æÆ& æÄ& æÅÖ `ÌÅeB*ÈzÄLîCÂ÷‹ï· î*$‰‰ÀtiÅe›*ìzC”ÄE÷‹íî À ÷Šàî$‰· Úí*{÷ŠÖîØîÍ*”q…àe©QƒÑ… QQf… Qà ü÷ „L*¸q Ñ  Ñ ÷ h ŒÃ< ‘   ©*Üq… QÑ‘O¡†Îv END 0vS200 ™&Lv>v # ZZ00000* Û ¾vR]"wRlvÏÉ *�cÀv†@É ‚@¬ @� @Y ø*´c@ ‡@û †@J € D À äÎØc` ãÐ*ÆxwÆ÷ zõ:÷Lnú ÷ ²÷3÷ ®÷wÛ*êxæü÷4nâÂŽ÷· ÎöÀ€÷Àå‚€ †w ¾÷5@²*y€$× ÷à у Ë• Ãe÷ŠîË• ã• ßw–*4{Ãxîã• ƒ Ë• ÷Fhîƒãà Þ÷­ ï�ííb*X{÷ €íÁÜhÃNid‰÷‹hîW£ Õ‹M•Å u™ÒÑ Á`á —%` ‡Á`Ñü*rÑðÑ•ÿÿà ü÷ Œ  Ü& æì…<*$r‡u W wü‡&æ¬cˆæ¬cˆ‡¥ÓJ¾ |wR®*Ôww™yðŸyð³*øw¥�•M€MÑÔ@ ë*ægBað 4dªÆBa›æcÀf* h¶í€ ú6އ &‰þ*.h� Á ¸ .WORD FIDN3,FIDP3 .WORD FIDN4,FIDP4 .WORD FIDN5,FIDP5 .WORD FIDN6,FIDP6 .WORD FIDN7,FIDP7 . = FILEID+NTTYS+NTTYS+NTTYS+NTTYS ;DELETE UNUSED WORDS ; ; ; TABLE OF OUTPUT BUFFER ADDRESSES ORDERED BY UNIT NO. ; TTOBUF: .WORD TTOBF0,TTOBF1 .WORD TTOBF2,TTOBF3 .WORD TTOBF4,TTOBF5 .WORD TTOBF6,TTOBF7 . = TTOBUF+NTTYS+NTTYS ; ; ; TABLE OF DISC READ I/O LIST ADDRESSES ORDERED BY UNIT NÙ h�`wÀÿæþgæègˆƒÃå™*RhÒE€úÉU€*‰æègˆ÷5Àšÿ æ”ÿÎEÿÎ]*vhæ‡w¬*‰Îe‡LPQARDMBIÚ.zyˆ·ŠFö…Àüö7þö7 :ö…÷-^X÷ V æî}w*¢yæ`nˆæ`nˆ÷ô}*÷ :ß"· …·Šþõ*Æy…÷ Æ Û  ÀÁÀKw ¨�i Á.*è{w œ iÁ<w ’£iÄw ž¦iæC!ˆƒ Ãåé* |è‚ û ·œ }}í·œ }xíÃeè‚ Âe& Â5�Ü÷ r! rêÁ ÷->òR÷6òJ÷ òË.¸rÑN÷5@Ü ÑBÑ  ÷ …�÷ òwàrØ÷¡òw ¤ô÷ªÝ›Ævæxˆæxˆ÷•¦,ˆxÞÿælxæxˆ÷•Àÿæ^xæxˆæ(væx“*®xˆæxˆ7 8ÿ7 &ÿ7 >ÿ7 d7 b7 ÞNò*šhTU,EEGxð>*¾hHxð\M3*âh€MßæŽ~æˆæøÿˆ÷”~¨ߤ· �*êy …æzæ`nˆæ`nˆ…‚÷-ØÒN*z ÷ ÊׯÆ ׯ¾ æà~æˆæà*0|Ž ·c| í´|ÄeÄ%øÄåm´|H*T|„ Äå ÷• 1íÄe:7‘*í÷•1!íÄe07‘·*x|íà ÷Ê|í·åáòw šô1örw îõw ÜööcÚc÷ Ôðp"s÷œèñw ~ô…w |õw ªõ÷Üðèˆ "sw ÎÀ ÷„Æñw \ôw töÀc¬còâ`7 N#.Òx7 N7 L÷•-B÷ÿæTvæxˆæxˆæ,w‰*úxæxˆæxˆ÷‹%þ0ˆæw.ˆÖ ÷ø"ý„,yÆåã8Ü€f°*i¤x€Mô&µW4dµ**iô&µW4dô&µWö äøÿÍ*2zˆ÷æ~¤7 ¦ÿ�œ· ˜· š…· Žö÷Ô*Vz8ô7 2ôwhü÷äoj7 h¦÷ bõ"· ZׯVî*zz ׯN ¼O. ; DRLIST: .WORD DRLST0,DRLST1 .WORD DRLST2,DRLST3 .WORD DRLST4,DRLST5 .WORD DRLST6,DRLST7 . = DRLIST+NTTYS+NTTYS ; ; ; DISC WRITE I/O LISTS ; .BOUND DWLIST: .WORD 1 ;THREAD WORD .BYTE DISCUN ;LOGICAL DEVICE NO FOR DISC .BYTE 3 ;EXIT TYPE -- 3 .WORD TTYDW1 ;ADDRESS OF I/O COMPLETE ROUTINE .BYTE 0 ;NO ERROR TASK TO BE QUEUED ON ERRé÷ŸFH7 Põ· <÷¯8:ׯE*žz0 $ׯ( ÒŸ · ,õí7 87$õw Îþì*Âz÷‹þô×  R×­ºõ I÷ øôÅàôwj& ê*ä|131415161718192021222324252627282930@*}317071727374757677787980818283848586Ì*,}87888990ëux…÷lóÊ ×-Ž*¨s@*Ê-8 ò-4×-.*ò-& ã*ÌsÊ ·l ñ· ñw †áÅe…ìšý÷Xþ÷ÜwHþ“*Žy÷&xDþæÔw/ˆ·€wá| �-÷n”üá÷ šf.²ywÿ÷ (þ÷Z~ü& ÷ „wêþ7 Ný÷(þ÷øwüýÎí:SS:XX Í*®i€ Pâ*Òiäc,aœj*kÿ+*öiîî*æzæÊ& æÎ& æÃI7 Þô7ŠÄýß@ * {pÿ7 âÆnõÆåÀÆô÷ ¨ô7 lÀXõ7Zõ*.{7 °÷æ~¤ïæ|iæÜhˆ7ŠŠì7 œì÷‹H*P}Lë÷­íí÷†ì^ì÷eJì7Š2ë`‰&‰Ätif*t} ‰æ�nì÷‹…ì —".‹÷‹@ì΋Šð*ðs÷ æE!ˆ·…÷þò÷ š÷þe.tè÷ �Âu·$è.Âe· àø÷ àîÖ ÷›ºð”*ˆ÷5À>‡÷6*ð¦"Ðt÷Eÿ$ð÷ ð÷‡ðw¬ò÷â†ütuû*Žz˜)€÷JýVý÷�CýOý7 „÷~ýŠý÷zý†ý÷°*²zvý‚ý÷-(ý4ý÷­ý+ý÷,lý÷-Zýfý÷†,Öz(fûæ÷ lwü¢kàÜk±Þk®*l¶Îå¦Îe á‡b‰wº÷÷•ÿ»ý7 ªû.>lÆšýý% ŽoÁ $÷ ÚóÁ ÷‹¸óS* |· Êó� ÅåŽoÅ €7°7¾ó} ~ow0& õ*.|æÏ & æÍ& æÌ& æË w<ÿþ*L~ÄåÕ`‰÷µ@IíÎBíwò‡&‰÷bë0,p~ÄJ‰ÁRëÂPëÃbêÀÕ€ÄH‰·ŠDë`‰æÞkr*–~æúhˆæúhÿêwp,ww þû÷5@‚ü÷-~ü( ÷-vü ÷žÂíw Xð*8w÷ Àùæ¬cˆ…÷ Pù`T¸w ô÷¬c¢ýÒý÷-ýý÷­ÿü ýÀ4xÁBx4*üz÷ $÷ú8û&÷ >w¤ýæÜwˆæêwˆ÷ ”, {Âüæøwˆ÷Òüú÷-ö¼ü÷ î · èæ7 pü7 ‚ü7 ¬ü7 Šü7 ¸ü7 Hü7 �ü7 Jüæ,l0*flæ!ˆæl& æ!ˆ÷‹yý*Áègfˆf ˆ°*Šl–%æ÷ tû…æôg& f ˆ„ .R|Ò�&  7 |ó7Š`óÄjÀ¾o £ —oûÛÀ%¬o_*z|À%·o$À%»o52Ä%äoÎÀ%·oÀ%¹o)›*ž|· 8ó%Áˆ‡ÅrêðiªkÁ¨kæÜkÀ \*º~÷ëF‰À¢kÐ5ÐÐÐÐÐ%*Þ~PŠ ýK�KcËe�b€‡À�®ìÀåa÷9*\w¤ýT÷ ô7 H÷8J÷¼wFÀB÷<€ýø �*€wÀm,Àm(÷m$ný Ôwô· ÷-· ×*¤w÷eãÄYTE 3 ;EXIT TYPE -- 3 .WORD TTYDW1 ;ADDRESS OF I/O COMPLETE ROUTINE .BYTE 0 ;NO ERROR TASK TO BE QUEUED ON ERROR .BYTE NDPRT1 ;PRIORITY OF REQUEST .WORD 0 ;ERROR CODE WORD .WORD 0 ;"SYSTEM" WORD .WORD DSCBF2 ;DATA BUFFER ADDRESS ; ; ; DISC WRITE BUFFERS ; DSCBUF: .WORD 0 ;FILE ID .BYTE 0 ;SECTOR FLAG …ÖwÖwÖwÖwÖwÖw.ÈwÖwÖwÜwìwxxx÷ ý‡Átx÷Îÿ÷ |‡Á|x´*ðw÷¾ÿñý÷ f‡Á„x÷¨ÿ÷ V ¦ú÷ ®wýÎ4xæêwˆ7‘‚üæ4x”*´{æêwˆ÷ &ü=÷ ÷ f8÷­´ûR0×­­û=]*Ø{÷�¦ûBw<÷ ^÷-46 ÷ ¢÷ 4) L‰b‰wôöæÐûæÊûˆb‰wæö7 \ü7Š„*mÓü7ŠÎü7Šiû7Šoû7ŠÀü7Šmû7ŠWû7Šfû÷•Çüy*>m‰�&ÐPÐ æ‚ûˆñµ@ ‘Åå–o-*}W!W!Á �÷ ¸òˆÁ ‚÷ ®òwúþ)*2}Á ÷‹ˆò· šò� 7 ˜ò€7‚w‘nòÅ 7Ë*V}Šò} Po ‡÷ 4*xÎü‡Á†x÷ ’ÿ÷ ÁbuÑÿÿw Úüû÷ ¬ü¸*8x÷vÿ÷ ‡÷lÿlÿÂuR÷ bÿü‡Âu*\x ÷ Rÿü÷ E*ü{n· wâÿ÷- ÷ „÷ · wæÿo* |÷ ª÷ ÷­TûòÐ÷ æwæÿ÷ X÷ ê/*D|÷ $wîÿ÷ b‰wE*bm†öñµ·ŠûÄ• · vûQ$BB`@ KËå^*†má• wHüÊ¥ ÷e<Nû2¡ÿÿŠ”2‘ÿÿ2‘‹*ªm·÷‹kû÷äoh7Š_ûwäþ÷ ^ò0÷‹YòÃ*z}-÷‹Pò*· J· HׯB · :ùׯ4 ,ž}ׯ, w¨þ÷‹û ÷ û7Šû‡÷ Úÿ÷ vü÷ æÿ‡ADD†*€xB C$Dÿ÷•4w ÷•Ú*¤x*w w w ÷•w ‡æÒxæ¢ûAæêwˆæêwˆ÷•Šû÷•/*h|Èûæ4xæêwˆ ÁdvÂæwæêwˆæêw5*Œ|ˆ÷‹‡ú ÷½\ú÷lžùærú÷ ¢0ˆ€ &È .BYTE 1 ;READ/WRITE FLAG .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RELATIVE SECTOR ADDRESS .WORD DNWRDS ;NO. OF WORDS TO TRANSFER . = .+OBUFSZ ;ALLOCATE SPACE FOR LIST & DATA ; DSCBF2: .WORD 0 ;FILE ID .BYTE 0 ;SECTOR FLAG .BYTE ê.°|f¦"ˆæ^væxˆæxˆ÷Z–ùØæxˆæêwÁ*Ø|ˆ÷ ûæøwˆæÜwˆæ6væxˆæxˆ(*ü|÷ *æwêõÿÕ7*nœû쉰·ŠkúñÕÿ×-Ìû¯·ŠUú8À *:n×­4ü·ŠAú/ËÌúÉÕ÷‹—û ÉÕ ñ¥ä*^nÿ�Þ~J;&ji¶ÿ· ²ÿ· ®ÿ· ªÿ· ¦ÿ· ¢ÿ· žÿ· šÿ· –ÿ· ’ÿ· ŽÿÎ~ò· Šÿ· †ÿ· ‚ÿ· ~ÿ· zÿ· vÿ· rÿ7 rÿ7 pÿwnÿ7lÿÅ^ÿ7 ZÿfÅ …eÅe²D“£DÿÀåw vðÀ "�7\æ¬cˆ$"yˆæjyæÚcæ¬cˆ÷DªêæÚcæjyø$@yæ¬cˆæ¬cˆ÷‹˜ëÉ…÷…œëw2îß$^y÷xˆæêwˆ÷ ÒúæøwˆæÜwˆ�* }w’ûÈ É  " 1,1,1,ú*D}‡¤‡‚æDvæ"ˆæLvæxˆæxñ�…ûÉÕV‰×­þû ɵñ¥§*‚nÿáñÕÿ‰ÞɵÖñ¥ÿôÿ-Dútú*¦nÎwÿ÷‹Vû€ŠÀe ÷Š*û3÷‹<û!& æˆæˆ 7 2ÿw�,ÿ7o&ÿ÷"ÿ ÿÄ$ÿõ‹¶~j÷ ÿÿwÿÅÿ·ÿÿ ÿ÷xâüþwüþ7úþÅòþÍwàþÅêþ÷ äþÚþ"ƒ’ëw(îÿûÿûÿýw&|y×­dë÷…lëwî×­Së÷„Zëœywðíw ðîw &ïÀ ìw üïÀc@²y¬c#ˆ|*h}¦‡æ¾væêwˆæêwˆ÷‹Aù‡÷z¶ø& *Œ}Î�1ù÷ ¸ÿ0ˆæ¾væÜwˆæÜwˆ÷‹ù‡÷½,°}B ù· r$‰*Ên ÷‹"ûõ·Š.û÷‹ûðb‰w õ÷µû÷‹?*înû×-òù‚oá×-êùžoÝ àù÷‹æú×b‰>*owÐô·ŠyùÌ 1 ;READ/WRITE FLAG .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RELATIVE SECTOR ADDRESS .WORD DNWRDS ;NO. OF WORDS TO TRANSFER . = .+OBUFSZ ;ALLOCATE SPACE FOR LIST & DATA ; ; ; DISC READ I/O LISTS ORDERED BY UNIT NO. ; .BOUND DRLST0: .WORD 1 ;THREAD WOR)À˜ú þÿ‡÷Lú‰wæýb‰w°ôø*6ob‰w¬ôb‰w¨ôb‰w¤ô÷Š˜úêb‰wÎ*Zošôb‰w‚ô÷e<€ùÞ‰÷‹�ú·Š!ù×÷*€�…„‡¦&fÆå‚÷ àþò•$úÿ2�ûÿ„Å÷ ¨ôÆe…„‚‡W¢0W¢7!~j,E’Åå0¢‡²‡W¢0 W¢9óW¢AW¢F²+>;G~J.?‚(Â`.Å«-— ¨.†„”¡ ¡ ¡ ¡ ¡ Õ•^Äe@‘çÕ• Ä• Ò ‘Åå«-‡²‡f÷TN÷]~: NJ fæÄ†@L{w @ì w xí7�”éw NîÀc\`{¶cw ‚í7�…éw lîöcž&p{ècæ¶cˆw .D`æ¶cˆ÷‹féä&æÚcæ*�{æA,0 ×-èõ–0‡&f¦æ&f÷ 8óÅ÷ °7 æÔ<ˆæà<æÔ<ˆ÷–0÷ ÷Ø…~ò:æÊ<æÔ< ˆÅÐÅ Ä@ ƒ !… ûB*æp 7 Òøû‚‡É fˆfˆ‡óqüÿfˆæJ, qfˆ3 üÿæfˆ‡&‰Åùiw¦øŠ  ŠÄÔyÕ*0q7ŠÒøÃj ŠCPd«-eª-Pé~Â.DÆ ÷ >ƒÅÄ| ÷ R…Ät ÷ H… Äx ÷ >‡°.n-¸.x-€ n-0000 Ŧ Ë•/‹ŠDãý€Deƒ Í ÷‡èd æ9~² sÔBOUND DRLST1: .WORD 1 .BYTE DISCUN,3 .WORD TTYDR1 .BYTE 0,NDPRT1-1 .WORD 0,0,TTOBF1 .ENDC .IFG NTTYS-2 .BOUND DRLST2: .WORD 1 .BYTE DISCUN,3 .WORD TTYDR1 .BYTE 0,NDPRT1-1 .WORD 0,0,TTOBF2 .ENDC .IFG NTTYS-3 .BOUND DRLST3: .WORD 1 .BYTE DISCUN,3 .WORD TTYDR1 .BYTE 0,NDPRT1-1 .WORD 0,0,TTOBF3 .Iæó æ× x-ƒ×,@ ó@Ãó• >ó• ?ˆ&ˆƒ‡Ö ü7Ø Ä!÷ ªÿ‡Ð.x-fÕ‹þáÅ ÷ Þÿ…‡D÷ æÿ…w 7J ”|¨¨� B}¨¨á*ð}& ÷ HæŽ ÷ FæŽ æ¬c ˆÖ5 –%æ¶cõ*~ ˆÖ5¶ –%·Âý·lþKÕ• ú7”xò7”uòÅ ÷ â· õ÷ L÷eB5´ Å8Ä2ƒ áüÅ aà ÷÷øæÊ<æÔ< ˆæÔ<ˆp~â;ÄèÅ Äe@Å úLhø‡* qÅ-&ø÷ ø‹ŠÄ¾yÏÀ 7 .÷èÄ:yÇ7Šh*ÄqEø· øÿ¥ øÿ¥ ø‡·Š+øò&‰Áùib*èqżi É‹M~:/N~*!ôÿ0!‡ 7‘w äÿ@!‡wúÿw Öÿ@!… ÷ 0�¢‡”�Âå0Åà �à �à Ca…Ca…ƒ`…÷ ž ÷ ç7!ƒ‰Æîúwpû‡÷ ‚ ÷ O·ÿ7йæÁæ{ Ø*8~ fæ¶cˆÂ ,ò5&5ò5@—<4*\~-ò (·Š�æ—< €Àe€là‹èPÅü-W!<.†•ûÕ• Õ• ÅB÷ l÷eÖ÷-ÒxôLJ×-ʬ0Åü-Ä«aB A @ v!$ÖNÀ Á  à /…#¶í ö Ž Ží¶ã cw& 23 ‚÷ Ò¶ ö öw÷ šj*¼s!ׂ ×&‰ÅÖi 7Š(öÄîi & ×¢ïÿ*àsÍÕ.‰ Á’W îÿ.‰_ ‰Îæô0‰‰ã*twîÂÝÖôwk @€ì1"~ 242.$$$$.lðUwö0v$‚Âe¶ ú ÷ *ö$I÷~ú#· ¬ ‚"òž · ˜ òU0� €"Àe÷ ”€"ön *÷ ö 0?Åh nöeõ¡.ö v~²>ÇvŠ    w(¡E¡DòNÎ ö" v!$êD•ÄE€ÿ¡+¡-¶ v!$ÜD•ÄE€ÿ¡ Äo²‰·Šuô2‰·Šiô<  M*(tÂÕ@0‰w2‰·ŠOôD·ŠGôæW ÷ÿ!*LtÎW øÿ µ ·Š%ôÂÅÂÕ ‚Õ]pZ2ŒB6¨:ø<=š=”=–@’A$BÆêæJ)& æ!ˆæQ~‚2@!ˆ·°úæ>-ˆæZ-ˆÅ÷*-6üÄ5÷ îÅ÷5$üÄ5÷ öíqDÄe�$Ñ‹W¢',÷ 2ýµŠT”÷N‰õ Á Ä 5Œ†Ô• uŒ a~r$7& ÷‹/ BõU÷ âw"þ÷ ‚*·þ ÂÃÿÿòW¬'r¤>¤>Œ@¤>8}•.¤>æ?ˆ  7Š[Á5·ŠQæ?ˆ ·Ræ? *Ì>æ?ˆæ?ˆ7Hæ$?æ?s0¡0Ñ¡9ÎÄå0à Ä`à à av!$è~*?èö  ö` ƒ"w ÿÀ ö ÷ 4û€Ä÷ 4æ¦f&÷ (¡÷ "Å¡÷ ƒmB A t*pt÷‹zõ ÷�tõsõ÷¥óÿ,õ·Šô7Šbõ0‰.‰ î*”t ‰·Šïó2‰‰ÐÈ·Šßó‰Ð.‰Á’ ‰Ý*¸tÅÎ&ôW îÿ"à ;RESERVED FOR DISCIO USE .WORD 0 ;RESERVED FOR DISCIO USE .WORD 0 ;RELATIVE SECTOR ADDRESS .WORD DNWRDS ;NO. OF WORDS TO TRANSFER . = .+OBUFSZ ;ALLOCATE SPACE FOR LIST AND DATA TTOBF1: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBF2: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBF3: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBF4: .WORD 0,0,0,0,0,0,DNWRDS . = y¦µ@6µwðµÂ*Ütwìµ€æ�³�Õi�Õ ͵&÷‹5*uyô#ÍÕÍÕÔ 7‘Þô÷‹ØôP÷•²ô-÷Úz÷èrú�W ã7 4ú÷ûæF-/ˆ÷ Dú÷Â<ú�ÕW Ï7 äúæR-/ˆ÷ øù›~r3Í÷ ú÷žú÷d4úù�ÂW ¿æZ-ˆæ>-{h‡W¢Hc ‰w(ýW¢.aö S÷‹l -ö & Îv$‚Âe¶ ÃP ÷ Àö$I�~b%· B €"ðUðUðUÄ" ÄEð0Q|}"‡ö‹B A @ …‡C6v ¶"ö$Æe…„ƒ¯~@‚�€΋¶¶V ‡w€þ Ì̇¡÷ J¶ &f¦æ¡÷ 8¡÷ 2~*$uªô×­Âôþÿ3÷ œô/ÍÕ0÷�¯ô¬ô7Š©ô4‰�*HuáÍÕ7Ô 7‘œô÷¥ÿÿ”ô€Îï¸óá÷‹†ô%÷‹V*luô$Îo¦óa÷ˆæd-ˆ÷ Îù æn-ˆ÷n4Úùæ’-æn-ˆ7 Ìù÷ ¸ù æx-ˆ÷~4Èùæ -æx-ˆ7 ºùæ„-æd-ñ~ê3ˆÀ”0  â1üÅ‚èÕ w”ý÷4ù’ý÷å€ö  Îÿ‰ÀÂÃÿÿwý¶$2¶(� Àe÷ ú€"ÂeŽ2¶öe(w,ýƒ ~Ú%�ª‰Ãÿ©wF6 0ÎwêýfæÀ�‚&f¦æ÷ ÷ ƒeB A @ ‚eA @ �e@ €e‡Ã B A @ ‡    �~’@‡‡Áº0Àˆ1÷ êà à õÄü0Àˆ1Ì ï!ˆ1Ì Äe÷ƒVô�J‰ÄH‰÷•Dô¼*�u÷•<ôJ‰ƒÄ·|óÁ&ôÂ$ôH‰Ânó· ô¹*´uÄ�8ô´ri÷e(ôÍÕÍÕ 4‰Ã®iÖ ñ„èŒýÕ wˆý· Œý· °ü7 0þ7 þ7 þ7 þæ ·þýÆå·òý·ðýÀø1Е 2û‡À2Е 2û‡÷–04üw:~b4žè7 ù7 ùº7 ùæ’-æn-ä .+OBUFSZ TTOBF5: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBF6: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBF7: .WORD 0,0,0,0,0,0,DNWRDS . = .+OBUFSZ TTOBSZ = TTOBF1-TTOBF0 ;DELETE UNUSED BUFFERS . = TTOBSZ*NTTYS+TTOBF0 .IFG NTTYS-8. ;IF NTTYS .GT. 8? XXXXXX ;CREATE ASSY ERROR, NTTYS GT 8!! .ENDC .ENDC ; ; ; ERROR MODULE USED TO TYPE OUT ERROR CODE ; .BO‰ˆ›7 ùæ -æx-ˆ£æd-ˆæd-ˆ÷ Öøæn-ˆæn-ˆ÷ Îøæx-ˆæx-ˆæ>-ˆæZ-ˆÄÞû7 Øû• !ò~Ú4•S·�.à 5ŠDáaæ* ¦¦& —- EE÷ 2ö¶*¶*ö &öe€(¶öe(v$‚Âe¶ —-DEÃì ÷ Zö$Rã~Ê&· Þ €"ðUðU‹¤>¤>Œ@¤>8}•.¤>æ?ˆ  7Š[Á5·ŠQæ?ˆ 7\æ$?y*Ì>æ?ˆæ?ˆ·>æ?æ?Œ÷ <÷ ~èÀ÷ 0÷ rèÅCÀF÷ Ôê÷ Êß5 þÿ5 üÿ     ’ $ENDDæ ‡Æ~‚A÷ pê÷ >ꃇ¦÷ xéÉ¥0� ùÀ÷ fé�ýÿ×¢ûÿ×¢üÿÎ Î Ö ‡Ù*DvÂ& ×¢óÿ×¢ôÿЊŽ ‚ŠÂÂÕ€Ö ‡3*hv ÀÝ®òÀpò ÷‹póÀ ·Šò7 Xò’Ž÷  ëÅ ÷ 5ÞùÄ5÷ °ëw¤ýÐ.Z-# 0000 ERRORS 4d N®(f  æ   †Â`A Î øÖ �‡w ì0&× \¦Ä2~R5÷ 8Å�ðUļ ÄEð0Q� Àe÷ º€"‚¶$2w¸þ÷ ¬õ¶.¶.¶.¶.ö &ºöe€(¶öE›÷ FúT’Ž ÷ é~B'ÖŠÃd �ˆæ?ˆÀe€*ð>Âe À5ÿå� Á5ÖÔ8} ]"?ð.? .? A¤>‘÷ Öç€À D”÷ zßõÀ%‚É‹¢‡3‰‚²‡ .TITLE .CSECT .GLOBL : JSR %4,$POLÉ~úASH .GLOBL $POLSH,$NAM,$SEQ $’*Œv‡À€‡‰÷ ЇÀ À € &‰Á7Š[ó7Šlòé*°v ÅähÄèhÃØi7Š,ó Š7ŠâòŠ÷‹4ó 7Š *Ôv.ó÷‹(ó4·Š'ó“FüÀA÷ Èö÷ Pô÷ Xôõ5ä@÷ zö÷ ¨ëE ÅmüÕ C÷ 6ôÀ÷ 6ö÷ Žë@ @ @ ÀEüÿæC„÷ nÿ ,&÷ ô÷ ö÷ fëÀ ñƒ„q~Ê5”÷ Ðö$D· V €"ðU ðUº€ÀEð ò5Àò5ò5  à ƒ ÂÂEÿǯ‚ ‚ ‚ ‡æ& Å`~º'èUND ERRMOD: .WORD 1 ; THREAD WORD .WORD 0 .WORD 0 ; ERROR NO. .WORD 0,0,0,0 ; ARG 1-4 ; ; ; TABLE OF INPUT TIMER MODULE ADDRESSES ORDERED BY UNIT NO. ; ITIMER: .WORD ITIME0,ITIME1 .WORD ITIME2,ITIME3 .WORD ITIME4,ITIME5 .WORD ITIME6,ITIME7 . = ITIMER+NTTYS+NTTYS ; ; ; TABLE OF OUTPUT TIMER MODULE ADDRESSES ORDERED BY UNIT NO. ; OTIMER: .WORD OTIME0,OTIME1 ™Ü Àž1f÷ î…BÀ¢1Åe `) `) ·À Ö òE€ ´‡å E�Åmœ çÖ ¤‡Å ÔÅ û‡÷‹– ò5€ òE€ ò5 ÷ âW¢(J𛇯z·èÙß CÀHCæˆ f& æ ˆ‰ÆeôÀfCfñDCñæˆæˆñdÂ`· ”Ù~êB‡·ŽÙÂíP‚ ±œ*@w§ñ‹ 7Šºò *Á‹6‰ŠŠ�ŠÀ ÐÆÁ5ÿ³*dwÁ5ÿ 6‰‹ ¬·�&ñ÷¥pò·Š ñ÷‹$òì*ˆw÷­ò]ò÷•�~B6Žú7 ˆúõ÷ ~òò…à Ù&æÀP÷ Èõw ¶ê :— — NLÀ$ûÎ w�ð5÷ Ê÷ bõw ˆê:w ‚ê%:Ä÷ èÎ 5ƒÀðúž~2(ò5 òU€‡fÅ ð5œÁEÿ� � fE`Åm4 w!. $†Ä* …÷ ˆÿƒE÷ ~ÿÁ ñÿÿÀ Àíþ1Áüw áwpïÀ0C&.ˆ/ˆÖ ‡ FTN000.OVL C:CzC.ˆC8–CB¤CL²CVÀC`ÎC ~bCj.8¡þÿVò*‰÷‹iò‡·Šcò÷‹Zò*‰µ*¬w ÷µJò÷•Bò‰‰·ŠÓðÂU�Ô*ÐwÀ�-òÀ¥ÿ·Š³ðÂUÀ�òÀµ@ ÀµêÀµ¤¢÷ @õ÷ óM~º6ÀäúÅEÿÀe÷ úò÷ úô÷ Rê÷ ú· ú÷ ú· úÅåì —  ÷ Îô÷ &êÄ÷ †€•w 7t€÷ ²ñÀ€ú£þwð7n~ª(ðñU€ �‡�‰Æ¼ów>ôff&æff&& 7 øÃ¶Ãm¬Î …÷ ¸øæÎEð€% Ãî€Ö „…�¤Bözöz:ž|{L}*/." +%$#(!'&0ºözLIST V001A Á*{  özì .WORD OTIME2,OTIME3 .WORD OTIME4,OTIME5 .WORD OTIME6,OTIME7 . = OTIMER+NTTYS+NTTYS ; ; ; TABLE OF WAIT TIMER MODULE ADDRESSES ORDERED BY UNIT NO. ; WTIMER: .WORD WTIME0,WTIME1 .WORD WTIME2,WTIME3 .WORD WTIME4,WTIME5 .WORD WTIME6,WTIME7 . =WTIMER+NTTYS+NTTYS ; ; ; INPUT TIMER MODULES (OPERATOR RESPONSE TIMER) ; .BOUND ITIME0: .WORD 1 ;THREAD WORD .WORD 0,0,0 .© END S200 ƒ({  #  Ò>{~T{††00000* SÒ{ª+«=÷‹^ñ÷�­ñVñ÷­¥ñNñ:L*`x·ŠŠñ Áµ 4ÁµÁµ@. c$÷‹‚ñÁµê*„xÁµ@#Áµ ÷­ñgñ÷‹Nñ÷ŠHñެ÷ˆÿTùôÂ3:Àúð5í~ª7÷ °w nég:— 3:· –· ’w XéE:CÀF÷ Zôw Héd: w bé#÷ ô„÷ éCÀF÷ 8ô÷ .éw¢þÅìø­‚óB’— 0‡— 9‚¯¸‡¯�~š)±‡— Aú‡— Z÷‚¯²‡!‚Ôü‡Ä•:Ä•,Ä• ÷ f÷‡÷ì1fÅ•þÅ w…‡fÅú‘®JN*0|Ò{NENE*yðß*T|{L€M›Ë*x|¯°*¨x7Šñ ã  S÷‹LñÁµ Áµ *‰ŠAŠw4*ÌxüýL Cï*‰·Š³ïwþÄþ_ÆþÍÄþß Âþê€*ðx· §ïç_Äþ± ÷Äøäø· ¾ø÷ˆÿÖøôÂ@:ÁÄÈ÷ ï~"8l÷µ±ù"w ðèÂ9÷½¬ù£ùw âèË9À•I÷ *÷½—ù�ùw îè,÷½‰ùù w ¾èÒ9À•O÷ ÷ ¸èw ² Šwò…‡Äì17æ÷ ÷‡w ÷*õŸ~* .GLOBLÀ**÷ …v*‡J*K*L*N*O*P*T*Y*^*b*f*j*n*r*v*+-***/.OR..AND..NOT..LT.³››¥*œ|›ÆözæÜ|æ!ˆæB|ˆæ8|ˆæx|æB|²*À|ˆæj|æ8|ˆæ{æB|ˆæB|ˆ Á´ðBYTE SECR ; RESOLUTION .BYTE TJOPTN!TFOPTN ; OPTION BYTE-J AND F .BYTE 0 ;TIMER COUNTER .BYTE 0 ;RESET COUNT .WORD ITIMFB ;FLAG BYTE ADDRESS .WORD 0 ;FLAG MASK(UNIT NO.) .WORD TTYITO ;TIMEOUT ROUTINE ADDRESS .BOUND ITIME1: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIº*\y÷Å7ï& ÃEðÿE¦ÅEÿÎEÿÉ Ê ¦É É `*€yÉ`Ê Ê Še Ê` ÃE÷ÐïÌÐ&“ÎE�ÿŽUÌÕs*¤yp̵ˆ…�»÷ Ôð7 ø÷ˆÿú÷7 ü÷÷ˆÿò÷€w èL:w èL:w è%:ÄØ~9÷ @‡÷ Ð÷ü7aÆ÷ù�&÷ *7 $w êçy:ò÷ÀF÷ êò÷ rð7 ¢÷÷ˆÿ˜÷¼ × A‡Ãå ÃåÃå Ãå    ¦  ‚eÂ`„ á�… Š~+Û‡B”Â¥ ü‡É¥ É‹‡� ùĘà DŒý†‘ŠÄÕÄ ÷†‡&fÈ ½÷˜þ÷V|òþ÷”|îþæ0|/ˆNá÷*R}ÒÊýNa÷ œw|ÿ÷ úþ÷-®ôþ· ¼· *v}²÷ æþ ÷-–àþ· ¤· š÷ Èþ¾æV|ˆ7 Þý÷L|8þ÷†|4þæ0|/ˆ·Ý,~"wá÷ ýæ ÷ Üw¼þæL|ˆæ†|æL|e*.~ˆ÷ ö æ>{æL|ˆæL|ˆ÷‹õü¿w4ïV/·Šßî,8‰€ × 0’*Èy× 9Ãå8‰€ Ã¥$Ãå Ã¥.ò× `*ìyA¦× Z × a × z�ÃÅ ÿ�ÎïÃEÀÿÿ�G2Ów æç@œÃEÿ÷ bòw ²ç_:‡Áä1ÂÛ1J´w žçÚ9÷ ªçå~Š9J´w °ç,w ˆçÞ9÷ ”çJ´ w šç,w rçâ9÷ ~ç‡J´ìJ´õ‡ D•W¡ üR¡öˆ øÀàà …„‡…„²‡&¦æ&fÄþÿÅýÿ~z+ÂÆ+ ‡€âƒ ûË× Ãe ÃeÃe Ãe Ñ�Ò … 耹÷-€c*š}Àþ÷ òþ÷t²þÎV|ˆ÷ zæ”|æV|,¾} ˆÖ Öµ€æ5@÷PLý÷ wÿΔ|æV|œ*ä}ˆæ”|à ÷µ@Ð*R~íü%÷ÆÄüæàü÷ ”wŠ€ &fæ"ˆæF{U*v~æV|ˆæV|ˆ÷†Âü÷‹½üÕ÷ŒŒüæ°ü÷ ú,š~\wRÂ.z¸ï· ´ï*‰7�ç&‰&ÀÁiÂiߤïÄziÝ*8z‡#‘ËÅøËÕ0„ ÄE€„ „  ô‡&‰Ådïwž*\z0U%f ôMFB,1,TTYITO .BOUND ITIME2: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,2,TTYITO .BOUND ITIME3: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,3,TTYITO .BOUND ITIME4: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,4,TTYITO .BOUND ITIME5: .WORD 1 .WORD É’vx uu~#"^D `›Ì:^A× ›=sL"^@0›€:`†^E‹›Dö ^@5N›ñ}^@S ‰›u~@^@{ ¨›ÌE *°{  ˆ;i*Ô{ ˆ;Š[æŽ{ˆæ¦{æ*ø{ˆæÍ"ˆæ{æB|×* ˆæB|ˆ¦‡DEð€M515255707172sž|ßÎÏN÷ «fæi}s*šyæ"ˆfæl}æ"ˆfæp}æ"ˆ÷•L§Ž*¾yÉ €÷•C�fÎEðæv}÷ Œfæ‚}æ"ˆ¿Ð.¬¶- êÆeÆe ˆª¦öþÿ&÷àþÿ—þÿ(þÿ§,Ò×-””†€ðEÈ Èe÷eÑ\~æŽ{ˆæ|~æŽ{ˆæŽ{ˆæ‚;æ¦{�,|ˆæ¦{ˆ÷ Ží7�•ÿæ”~æŽ{ˆæŽ{ˆæ‚;S,B|æ¦{ˆæ¦{ˆ÷ dí7 kÿ÷ nÒÓÔ*âyfæ‹}æ"ˆ÷• —wbêwbèfæ”}ƒæn.z"ˆ×¢0Ó• úfæœ}æ"ˆ÷• tfæ¢}„*.zæ"ˆ÷•ø 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,5,TTYITO .BOUND ITIME6: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,6,TTYITO .BOUND ITIME7: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD ITIMFB,7,TTYITO ITIMSZ = ITIME1-ITIME0 ;DELETE UNUSED MODULES . = ITIMSZ*NTTYS+ITIME0 .IFG NTTÙ j÷• c÷• \÷HŽ÷a}Šõ*Rz÷ <€÷ |÷Ã}x÷ *æxæ¾}æ"ˆn*vz÷^÷©}Z÷  æC!ˆæà}÷ Ì÷ÚÈ%È%ÿÿÅÁfBA  ûJɉ fq,>6 w ÁhÅ ïøðUò`f­Ûw(À�ξÀå0� Îe‡æ¨~æŽ{ˆ*Ö|æŽ{ˆ‡÷Ö{”¾÷ìþæÐ{æ¾{ˆæ¾{ˆÿ*ú|7 €¾w í÷ÌþæÐ{æÈ{ˆÜÝzo0z÷þÿ¢ÿ÷þÿ÷–ÿ÷•ÿÿx 7Šr wÆ÷þÿ„ÿ“ þÿþÿ(þÿ€,¢w È7tÆÄ Ã% w ÞFM*šz0p÷ ÞÀ(76Ð Ð ÃÀÿÁ~É•0 @*¾z†‰Š÷ � ƒ €Ã5óÑ• Ã5îÐ ìÅ5 *âzÿ÷îß hf€ph$`&fbhfl@hf l–è–GàæÈ{ˆ· `¾Ï,}w ðð÷ N¾w‚7 N¾÷šþ¢þ÷”þ¦þ÷à{4¾�*D}æÚ{æ¾{ˆæ¾{ˆ7 &¾w ¶ó÷ê{¾æä{W*h}á.Ì:¯”©üX@Hv}⦠7^w ìw ` % J.Æ>Ä�\ÿŒŒŒ7‘þÿ7Š0 ÷•ÿÿ, ÷à÷T iþã÷Î}ê÷ œfæ~æ"ˆ÷Rk,{Ò÷~Î÷ €Åe@Å5ÿÄåÆ¹æ¾æÿ}£*,{æ"ˆ÷• Çæ Îí¦æë}æ"ˆ÷• äÿ�óüYS-8. ;IF NTTYS .GT. 8? XXXXXX ;CREATE ASSY ERROR, NTTYS GT 8!! .ENDC ; ; ; OUTPUT TIMER MODULES ; .BOUND OTIME0: .WORD 1 ;THREAD WORD .WORD 0,0,0 .BYTE MSECR ; RESOLUTION .BYTE TJOPTN!TFOPTN ; OPTION BYTE-J AND F .BYTE 0 ;TIMER COUNTER .BYTE 0 ;RESET COUNT .WORD OTIMFB ;FLAG BYTE ADDRESS êø~æŽ{ˆ7 þ¦*Ö}÷þæÚ{æ¾{ˆæÚ{æÈ{ˆæÈ{ˆæ¾{H*ú}ˆæÈ{ˆæŽ{ˆæŽ{ˆwÜýÿ b½€· ^½ø*~ë.¸kK@HimR@H=sL"@Hþv@@Hu~"@H`.’è€@H €` @H)€üX@H(Â4Þh +.Ì:ì÷Ú w 2w ΄p,4·ŠÜ w ð  '  7ŠÈ Ä´ „ ‚ ¦',X&w ¶„‚À•\w ¶wXw ºw ö�Ä Ýí‡/€E)€E÷ðŒ Ä{�M€MÞ{@€Ò'Þ| DISK DIRECTORY —î. g¸p¯”Ÿ s@̵;ï…÷e0X½÷�T½¤æ´~æŽ{ˆw˜ÿ÷ûÿ:½Õ $*B~…· 4½w�þæÒ~æŽ{ˆwvÿ D‘f~ECTAPE COPY V001A jðh_M€QhYeÞhÌyÃh¯”c÷ææ0@€€@ñ0|øfw |÷•t €w „7Š€ wtwhw ŒÄO Ñ *O l,¤  Ä%_ û‚ÀEøÿÄ Äe‚ whÄåH ò*} UIC T FILNAM.EXT DATE *,} MODE START DLONG LAST‘ P} PRO´ó@€}@d.ÚKø€@L©C @(ª gÌ:h$«“h¤%&C«þvh¦S«Œ}h¢ã«e^h¨¯”‹ô*|~ORIGINAL ON UNIT COPY To* ~O UNIT ????  *** I/O *Ä~ERROR, UNIT .WORD 0 ;FLAG MASK (DEV. NO.) .WORD TTYOTO ;TIMEOUT ROUTINE ADDRESS .BOUND OTIME1: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,1,TTYOTO .BOUND OTIME2: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,2,TTYOTO .BOUND OTIME3: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTNù  *** UNRECOVERA„è~BLE COPY ERROR ¡ø~ COPY COMPLETED '#VERIFY COPY ú6¦ þv@ \!¸p $u~"&@.L÷àBÁ€÷0w2÷4w6� ÷à•û,ì2À�! w *À w "w *  7� w ·,7�þw 7Šø7�óÀ Á ÷ JÄÔÂü ™} € ¢} w¨} TOTAL BLOCKS ¥#Ã} ******* DISK MAP >ý·h·b· \÷ @(̵;ý0Jþæ÷ Š—"–—" ò��& þ(Y OR N)? ¡î{�ÿ6BE„:02äf„:4 6&E„:(àœ"rwâ÷äwæ÷ ÷ ÷ ¢2â  �,4wð7ŠØ  wèw (‚b‚ ‚ ·®wúw ,X‚øw �A�Á � � B`ï÷ r÷%„D,|Âé} }ð} BLOCKS USED î~ BLOCKS FREE 2 ~ *b~·|·~÷#v÷öÿtL©C Ÿ sŠ–(L©C ñ,rò2ò*& ¦÷ wZÚKø€€}ë– äf„: äæ)€üX¸kKô8C ž"Œ÷ ÷ ÷ ÷ Áñ•ê.©üX eÌ: gÌ:!TFOPTN .BYTE 0,0 .WORD OTIMFB,3,TTYOTO .BOUND OTIME4: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,4,TTYOTO .BOUND OTIME5: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,5,TTYOTO .BOUND OTIME6: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,6,T Zïó ÄEøÿÄ Ã t4Pà õôÿÿ4Iw Y4 4Q,èÛ×-ÉÂ% w ’ ÿÿÀ=w ÀH *Ð~· €•ûƒ„…Ƕ>J&B*ô~zQÒ�QÖAÔA� ˜wL^îYË‘ ” O«¢fhO«£fhO«°hhO«ØhhO«ihO«(ih O«PihO«xih¯” ÷.CzÐh¯”(Ϋ , òÁê7Ä í4À=w øÀÀe0© 4¦,0w ìÀ,w äÂ%ÀÀ@w ~k÷‹¾&% 4) 0/ =–xë D EN . C ND.E N URET;R PC S RT R1+,P)(S V MO RSTEISEG RRETOES;R R4+,P)(S V MO F OFO TUSATSTT NI UET;S ) R1N(YOTT CBIN R1 R AS ESBLTAD OR WTOX DEINT NI UET;G R1 L AS E YT BAGFLR METIM RO FNOT NI UET;G 1 ,RFBIMWT VBMO P)(S,-R4 V MO TYOTO .BOUND OTIME7: .WORD 1 .WORD 0,0,0 .BYTE MSECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD OTIMFB,7,TTYOTO OTIMSZ = OTIME1-OTIME0 ;DELETE UNUSED MODULES . = OTIMSZ*NTTYS+OTIME0 .IFG NTTYS-8. ;IF NTTYS GT 8 XXXXXX ;CREATE ASSY ERROR, NTTYS GT 8!! .ENDC ; ; ; WAIT TIMER MODULES ; .BOUND WTIME0: .WORD 1 ;THREAD WORD .WORD 0,0,0 e0w vÀ,w næH÷BÀF),Àw ·6-À ÷.27ì4,€ â÷Ä 4¢,VÝ©Ð�¯”(Ý©°�hÝ©Ø�h Ý©‚h Ý©(‚hÝ©P‚hÝ©x‚h¯”{÷VU«Ð�.e¸p¯”""ø€@HÌ:ä÷‹( ÀBüÄ:üÃ8üw Ö÷üðÀ?j,w 7 îw ò7Šø7Šó7Š     w y,,À%0 ‚À%7‡ ¯”(U«°�h U«Ø�hU«‚hU«(‚hU«P‚hU«x‚h¯”A÷.dfÏ6¯”( S ERSTGIREE AV;S P)(S,-R1 V MO . = ONYOTT ; ; EDEUQUDES IERIM TITWA ; FF OTOT SES IG)LA FFF/OONT NI(UN YOTT ; ; - -ITEXN PO UNSIOITNDCO ; ; E YT BAGFLR METIT AI WIND NEAINTCOS IO. NITUN ; ; --Y TRENN PO UNSIOITNDCO ; ; N OOTY,TPC R JS ; ; - -CEENQUSEG INLLCA ; ; NETIOU RUTEOIM TERIM TITWAY TT- -ONYOTT ; ; ; E AG.P RNTURE ; ýþ  .BYTE SECR ; RESOLUTION .BYTE TJOPTN!TFOPTN ; OPTION BYTE-J AND F .BYTE 0 ;TIMER COUNTER .BYTE 0 ;RESET COUNT .WORD WTIMFB ;FLAG BYTE ADDRESS .WORD 0 ;FLAG MASK (UNIT NO.) .WORD TTYOON ;TIMEOUT ROUTINE ADDRESS .BOUND WTIME1: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 ).€:`†¯”; ö @HDö *.S«Ï6¯”(S«2h¯”I÷.ì¨=¯”(ì¨@8h¯”�+€Ì Íæ& æ & ÷ Ö w6�m„[qjt, ü‡·Nþßß"[gÐ4)€Ê)€b"ø,L@fÿÆ:À¨ ü‚÷(.÷ *æ�&-V^ˆ¼}.¤ô@ < ’V^ˆ¼l,žNzÞü‚Æ ðƒ·ŠZ7ŠU´÷<Ì.@ñÿ<@@H0.ùe@Hq!e@H #}@H_M€Q@ñÿYeÞ@ñÿ].amxx@Häwì]@H*}¤`@Hu~@@H9€p:@HR/÷.E©=¯”(E©@8h¯”Ü÷.º«=¯”(º«@8h0ó C P TS R CKLO . S ESDRADN URET RVEBO APST ERNS I ; ) SP2(S,#P @ OV M D OR WNE OWNDOS ESDRADN URET RSHPU ; ) SP-(),SP ( OV M . = UTCOLO ;T OUOC,LPC R JS ; ;- -CEENQUSEG INLLCA ; ;K ACSTN OSR PNTREUR CESAV S ;) 7TOI PRU CPS ET(SS PTRUERNT IUTKOOC LTOE INUTROUB S--T OUOC L ;; ;E AG.P DCEN . 7 A4RT P MP J E AV S P)(S,-56DRTT # OV M E INUTRO ; ùþ.WORD WTIMFB,1,TTYOON .BOUND WTIME2: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,2,TTYOON .BOUND WTIME3: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,3,TTYOON .BOUND WTIME4: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,4,TTYOON .BOUND WTIME5: .WORD 1 9( û¨hò«@hò« h¯”š©€p@×÷.ò«XÀ¯”(ò«h¯”*:;<²²w ,R¬æ¦÷ Àžw ®·”Ö%À/w Ë,v¨¯À\ú÷ zÔ÷ \÷íppÜÀ` Ä Ã �=  J,$¬,Hˆ>÷.ê€À¯”( 쨀>h¯”Þ÷.ãÏ�¯”( ò« €h?.Dö ¯”; ö @H PTRUERNT IERNTRI PTOE NCRANT EKEMA ; ) SP-(S, P B OV M S LEAB TRDWOO TEXND IITUNS AEDUS ; 5 R SL A T NI*U 2 =EXND IET;G 5 ,RR1 V MO O. NITUNT GE ; 1 R SR A E BLLAAIAVUNE IL FET;S 1)(RILVADA RBCL ELEV L +ITUN2* =EXND IET;G R1 R AS EDRRCUOCH TCMAE ERWHX DEINE BLTAT GE, ES;Y R12,D+EIIL#F B SU NO ; 0 R7TD T NE B ? LEAB TIDE IL FINY TRENH õþ .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,5,TTYOON .BOUND WTIME6: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,6,TTYOON .BOUND WTIME7: .WORD 1 .WORD 0,0,0 .BYTE SECR,TJOPTN!TFOPTN .BYTE 0,0 .WORD WTIMFB,7,TTYOON WTIMSZ = WTIME1-WTIME0 ;DELETE UNUSED MODULES . = WTIMSZ*NTTYS+WTIME0 Ic™Ä ýæ<&£$÷ „Ö  ƒ‡; ö šóJ.ô8C ¯”É2Ú@2;}¸GKh V, ôÅ Å @w ´@€ ‡À%€ÿ À%÷ Òw ú,.š· ÊwÜýwÈý�  à ù÷²ÂÜùÄ*L: ‘BBPB ? < JŸJ ILL CMD! ‘ M”(Ϋ@h¯”ø÷6t!‘b¯”(4–©¯h–©°h ¯”5÷NO@2’è€@2|. €` @2(zô8C h;}ÀI(œ;}èI(ªœ.;}J(²;}8J(ª;}`J(¬;}ˆJ(ž;}°J(¦ÍP,RÖùD · Ôù¼‚€Á &C@AƒEPA&f¦,væw „€w ’À/w –€w :ƒ‚�„w j,šÐÒ ÛTCMAE AM NESDO ; + 1)(R3, R MP C . = 70DRTT ERNTOI PLEAB TIDLEFIT NI;I R1D,EIIL#F V MO ERFFBUD EA ROMFRD ILEFIT GE ; 3 ,R1)(RTADA @ OV M . = 60DRTT ;Y ITORRI/PITUNR FOQ E OR CTOT ERNVCO, ORRR EADREC IS D ;; RNTURE ; C P TS R . =6 R5TD TT PUUT OORT PUINE IZALTINI;I T NIOI,TPC R JS . = 50DRTT UTKOOC LSEEAEL;R PS+,P)(S VBMO D OR WADRETHO ER;Z 0)(R C ñþ.IFG NTTYS-8. ;IF NTTYS .GT. 8? XXXXXX ;CREATE ASSY ERROR, NTTY GT 8!! .ENDC ; ; TIMER MODULE FLAG WORDS ; ; ITIMFB: .WORD 0 ; INPUT TIMER FLAG(UNIT NO.) OTIMFB: .WORD 0 ; OUTPUT TIMER FLAG(UNIT NO.) WTIMFB: .WORD 0 ; WARMUP TIMER FLAG(UNIT NO.) ; ; ; PROGRAM VARIABLES ; TTYPRT: .BYTE -1,-1,-1,-1,-1,-1,-1,-1 ;UNIT STATUS ; <0 = UNIT NOT BUSY Yq<¹½*;}¸G;}¸G"<$É2Ú(É2Ú¢&&¹V0œm0Šá À  ð‡MZ¢7Š÷U4ù÷‹÷E(ùw T76æú0ùæù÷‹ü‘À�òÀ‹� ‹à pV÷•àþÿã$V*þÿH[.q!e ùeamxx*}¤`u~@$’DTREdEX÷8 æ÷ Ê2<@ \Ý©hì©h¥ªh´ªhõªh¯”w÷Fõª�0¯”(÷ªh÷ª@8h÷ª€ph].q!e¯”Ÿ s@HDö ^.V m ’è€ €` ;}ÀI ;}èIbD¦. ;}J ;}8J ;}`J ;}_,0w V×­ÔÖ÷‹ÊÓ÷•àþÿ·Š¿÷UÔø×í þÿ×,T·Ìø·Êø÷•ª7¸÷‹¡¾w @÷‹´ø`d [q8[q [q9€a,®÷€÷ æ÷ s.[q [q[q [q9€p:DE SCDIN OUT PSTJUT IS LUEUEEQ;D T ISQL,DPC R JS S PTRUERNT IUTKOOC;L T OUOC,LPC R JS STLIDQT PUUT OOR FEG RET;S R4 R CL . = 40DRTT O ;N 50DRTT E BN ? NGNIAR WZESIG MSA R ROERS ;I SZRMER,#R4 P CM O ;N 40DRTT Q BE R?ROERT ESQUREC IS D AREHE TAS;W R4),R0R(ROER V MO NETIOU RTERI WSCDIL AL;C T CWIS,DPC R JS SSREDD ASTLIO I/C IS DET;G R42,íþ ; 0 = INPUT HAS PRIORITY ; >0 = OUTPUT HAS PRIORITY . = TTYPRT+NTTYS TTO1ST: .BYTE 0,0,0,0,0,0,0,0 ;FIRST OUTPUT REQUEST FLAG ; 0 = FIRST REQUEST ; 1 = SUBSEQUENT REQUEST . = TTO1ST+NTTYS TTI1ST: .BYTE 0,0,0,0,0,0,0,0 ;FIRST INPUT REQUEST FLAG ; 0 = FIRST REQUEST ; 1 = SiÃ' w Ÿ D & $' ï.Àž@÷eZø%Ä•tD7‘2ô VªôV­D V(Vl�Ö ÀT$È ü€wæ*÷ ÷÷* T #} [q* 9€a&[q  ÷ 7 æ÷ _k«À]h¯”±÷Fc©�b¯”(ªc©À]h ‹©À]h"³©À]hÛ©À]h¯”´÷pW¥,2ÛJb ˜ ªÏ.$Ä 0!-‚÷ Å )!&7!#ÂþÿyˆDö m;}¶Iv ;}¶IvenX;}ÀI%”2”n˜,æw „ÀBw .À�Àe`€ w À;w ÷<, ðÄ�úDw úwîû·â·ü÷Æ"f&offæÈhvL·Iê~fz.£ª=¯”(>£ª@8h¯”ä÷6+ª=¯”(ª+ª@8h«@8h¯”STWL#D V MO 3 ,RR2 D AD S LEAB TLEFIC IS DTOX DEINE AK;M 3 ,RR5 V MO ES;Y 50DRTT E BN ? SYBUT IS LTERI WSCDIS ;I 1 ,#T2LSDW P CM C ND.E T. ISE UAN CWEW NO; R0+,P)(S V MO VA S ; 5 SVPA,PPC R JS TO A PP; P)(S,-R0 V MO 1CT1$K Z FN.I . = 30DRTT ALRMNOO TELEV LET;S R2 R CL O ;N 50DRTT Q BE ? Qéþ UBSEQUEST REQUEST . = TTI1ST+NTTYS TTORPT: .BYTE 0,0,0,0,0,0,0,0 ;REPEAT COUNT FOR OUTPUT TRYS . = TTORPT+NTTYS TTCURS: .BYTE 0,0,0,0,0,0,0,0 ;CURSOR FOR CURRENT PRINT POSN OF DEVICE . = TTCURS+NTTYS FRSTRO: .BYTE 0,0,0,0,0,0,0,0 ;FIRST RUBOUT SWITCH ; SET TO 1 WHEN 1ST RO IS INPUT ; RESET TO 0 WHEN 1ST NON-RO CHAR ; IS INPUT . = FRSTRO+NTTYSy‰~ g'; ö ^@ެ›ö ; ^@­Ë›þv@^@±Ô›[qj^@Íë›{QÀD^@Ðä›}…C ^@Ùò›""ø€^@å ›Û 9€a [qX[q _,jÄ ! ‚÷ Å 7!Ä ôE€‡ ^Dö _M€Q"YeÞó |„$v½šæ& & & ˆÖ ˆÇ;}JÔ”2}, ý€÷�gpÿ÷�btÿ…÷‹V  <hD„ „ ! pÿtÿh D÷,Äø…ÃÄþÿ÷%&Ãå„ À&~~‚g` * €` 1&t ·þÿ÷æ÷  ‡ô•c2þÿ 1"?T<ò9€ N9€a €` Ó(€UTTPOUL MAOR NING INTHNY;A 0 ,R4)(RSTIRQF V MO T PUUT OALRMNOO TERNTOI P QET;S ) R4-( T TS ES;Y 30DRTT E BN ? UEUE QRI PING INITWAS STUEEQ RNY;A 0 ,R4)(RSTIRQF V MO R4O TERNTOI PLEAB T QET;G QXET,GPC R JS TYRIIOPRO TELEV LET;S 2 ,R#1 V MO S UEUE QUTTPOUR FOG LA FET;S R4 R CL AGFLL UL FLEFIR FEUF BSCDIR EACL ; ) R3L(ULBF D B LR C . = 20DRTT LEFIF OORCTåþ$ SLSHCH: .BYTE 0,0,0,0,0,0,0,0 ;CHAR TO BE ECHOED AFTER "\" . = SLSHCH+NTTYS MAXCH: .BYTE 0,0,0,0,0,0,0,0 ;SET TO 1 WHEN MAX CHARS EXCEEDED ; ON INPUT . = MAXCH+NTTYS .IF NE,ASR37 PADCH: .BYTE 0,0,0,0,0,0,0,0 ;PAD CHAR OUTPUT FLAG . = PADCH+NTTYS .ENDC CHTYPE: .BYTE 0,0,0,0,0,0,0,0 ;CHARACTER TYPE: USED IN TTY PRINTER ; INTERRUPT ROUTINE TO IDENTIFY ‰Š@H<ò@H�.a,È}@Hé.R@HawÈ}@HéyR@H9€ N@Hå.9€a@H(Ú<@h„u~@hR¯”ø‹TASK # 5 æv ˆ‹„$v½šæ& & & ˆÖ õ];}`J„”Œrÿu,T ¾À¥ ç…Ä ã‡•w ¶ÿú×­rÿ• À•^] rÿ_,x w ¤ÿÀ•Uw œÿÆw€ú… ÷ÿÿn÷ÿÿj�úÉU€‰æhˆ÷5À’ÿ æŒÿÎEÿÎæ‡wò‰Îe‡7 B7 \7 N7 š7Š<7Š9÷•ÿ@7 2ÿ¾~êhÆ ·ÆåÈ·è·à·ÞæŠq& �÷ææ. HH:MM:SS MM/DD/YY �2”vÔ,v„ TASK # 6 æv ˆŠ„$v½SET 1SO TERNTOI PET;S 3)(RSGTMNX RBCL . =0 R1TD T0 R2TD T R B ) R3G(MSXT,NR4 VBMO R4Z,FSBU#D D AD ZESIG MSE ONY BERNTOI PMPBU, NO ; R4),R3G(MSXT N B OV M S YE ; 0 R1TD T S HI B ? EDUS ; N EE BLEFIF OORCTSEP TOS HA ; 1 Z-ESIL#F),R3G(MSXT N B MP C T SEB LS ; 5)(RADSTOL0, R OV M H IT WSSREDD ASTLIT PUUT ONTREUR CVESA ; 0 R NC I 3 ,RR2 D AD áþ( ; TYPE OF CHAR LAST OUTPUT ; ; 0 = CHAR FROM OUTPUT MSG ; 1 = ECHO OF INPUT CHAR ; 2 = ECHO OF LF ; 3 = ECHO OF CR ; 4 = ECHO OF "U" ; 5 = ECHO OF "^" ; 6 = ECHO OF 1ST "^" ™ ưÿ‡·ªÿW¥, !ôÀ÷ Æÿ÷ è&éyR,nÖ ì‡ÀÁ$Âw*·xÿW¥, ! š„ TASK # 7 æv ˆ‰„$v½ šˆûÐ;}°J4”›Ä0 w Nÿ…÷%öw ªþ…÷Ú77õ 0 ¯,. Ðw ZÿÀ Àe0w àþÀ,w Øþæ²÷¬�,œ/ˆ·Š2f‰7Š,æ,yˆæB!ˆ·R÷e€L÷|æ,y ˆ–%··÷í2÷d÷ ÷-‚X‰÷N÷ôø7 ôæÎeN~Rj·øæ�@H(h; ö h¯”Ö÷ææ,æ w �¶ Ñž é.R$.’ÛÀ÷ ”ÿ÷ æÀÁ*ÂÅÈ æ "awÈ}a,È}*Ÿ2”vÔ,v„ TASK # 8 æv ˆˆ„$v R À°w pþ· ÷ÊœÀÆ…ÀÀ÷ºŒÓ ,v Äýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå0š Ãå    ¦ ITUN2* =R5 ; S LEAB TITUND OR WTOX DEINE AK;M 5 ,RR3 V MO L)VELE+ T NI*U(2= 3 R; R3 L AS LEAB TLEFIC IS DTOX DEINE AK;M 3 ,RR1 V MO ELEV LET;G R2),R0L(VELE VBMO O. NITUNT GE; 1 ,R0)(RSKRTER V MO . NOT NI UET;G1 ,R0)(R+1EMSTSY VBMO S ESDRADT IS LET;G R0T,LSTR#T D AD SSREDD AERFFBUA AT DUTTPOUT GE ; R0),R1A(AT D OV M S YE ; Ýþ, ; 7 = ECHO OF "\" ; 8. = ECHO OF EOM CHAR ; 9. = INTERRUPT FROM OUTPUT OF ; LF IN OUTPUT MODE ; 10. = INTERRUPT FROM OUTPUT OF ; CR IN OUTPUT MODE ; 11. = INTERRUPT FROM ECHO OF ; CR AFTER EOM ;©„ TASK # 9 æv ˆ‡„$v½šææˆÖ öë;}¶I/ª … è€Ð ‡@(œ  Þ, ODT-11R V00q$ 2ABEÄ«ì÷¢èï~Bk·áäĘÁØ@`� ÂÒ‚ Á F`w`zw`xw`xw`rw`vw`d‰‡  ýë÷%>7 .7 4÷,÷‹|êæ,y¬®”2 ”vÔ,v„ TASK # 10 æv ˆ¯ , ²,, *;/\ $G _<^,OWEBP@>SRC-FI!XAS<P PMCFRBÐ °ˆ÷‹t ÷†k÷ v~ºk÷t^÷ ÷^ø ÷ì æÄyæ,yˆ7 Ü 7Š<æB!ˆ·d÷ed^·,÷íV&÷å †X‰„Á@àFàwà 0 R6TD T NE B ? ORRR ESCDIA E ERTHS WA ; 1)(RORRR E ST T . = R1YDTT ;; --T XI EONUPS ONTIDION C ;; STLIT ESQUREO I/C IS DOFS ESDRADS INTAON CR1 ; ;- -RYNT EONUPS ONTIDION C ;; R1YDTTC, P SR J ;; --E NCUEEQ SNGLIAL C ;; NETIOU RONTILEMPCOO I/D EA RSCDI- -R1YDTT ; ;; GEPA . M TEYS SUF BSG MOR FNGWILOOL FEMSS;A UFGBMS FG.I DCEN . 7 A4RT P MP J Ùþ0 12. = INTERRUPT FROM ECHO OF ; LF AFTER EOM ; 13. = INTERRUPT FROM OUTPUT OF ; A RUBOUT TO TURN ON TTY ; FOR INPUT .IF NE,ASR37 ; 14. = INTERRUPT FROM OUTPUT ; OF DC3 AFTER RECIEPT OF CR ; 15. = INTERRUPT FROM OUTPUT ¹ÿÿÿº V“ h� zoóºÌ ø æ†y/ˆ·Ä ÷ – – ‡V‰÷‹­ 9~ªl7Ч ÷ \÷TÀ ‰æ” wÌü—%ƒZ‰7Š+ 7 ( ÷%ÐfT ·Š ÷ Á4yÉ À|m`‰À ».þv@¯”̵;@Háyxh z4fhæS.;}¸GÜ@HöX}@HB.#wqž@H€ëy@H(<[qjh¯”C÷ææÝ×­£ Ý$‰wØþ‰Áš fÎ N` Î� ‡÷‹Z 7ŠT ÷L{~ æL{æ,yˆæ,yˆÀj $n‰Ð È%íæL{æí~òo,yˆ÷L{N æ,yˆÀD ÀeÞß( {QÀDhå‡8‰‡‰À.7 ,‡‰Îe‡ð¥ˆ”$õ$Xdp|ˆ” ¬°*Xdp | ˆ” ¬(1,(3p‚3p  "ž,¼À Ä <&80808&ß�þÿ‡Ÿ•þÿޝ & 888&a,àŽŽ‡æ—þÿ&TY TET G ; R1),R0K(TSRR E B OV M DCEN . T IS L'SERUSR FOR ASP UET S ; R6PA$K),R12(A+AT D OV M C 11KT $ NZIF . R0),R0 ( OV M SSREDD ASTLIT ESQUREY TTT GE ; 0 ,RSTRLTT # DD A SSREDD AERADHER FEUF BSCDIT GE ; R0),R1A(AT D OV M CKTA STOONR DD ASTLIO I/C IS DSHPU ; ) SP-(1, R OV M . = W1YDTT ;; 5 ARKPG INUSA SVN AISS ESDRADN HE TC,11KT $IF: TENO ; STLIT ESQUREE ITWRC IS DOFS ESDRADS INTAON C½þL DATA BUFFER . = ODPAR6+NTTYS2 IDPAR6: .WORD 0,0,0,0,0,0,0,0 ; USED TO SAVE PAR6 OF CURRENT INPUT ; ; DATA BUFFER . = IDPAR6+NTTYS2 .ENDC ; ; TELETYPE I/O QUEUES ; QUEUE ORDER: ; ; NORMAL OUTPUT ; PRIORITY OUTPUT ; NORMAL INPUT ; PRIORITY INPUT ; .QUE QFIRST,QLAST,4*NTTYS .PAGE ;) p‚p‚"p&‚Y p3p‚3p‚ p‚p‚@Y,@*0(&f¦ €ÝL7 ÌûI‚æ—þÿß•àþÿœÁ yP$*PG,PÊ¢bx¢¢ÊÊÊŸ“þÿ&÷ –Ö -ß•à+²ërÀÁ»zE‡^X ›9€˜:^EàDÏ› g¸p^E ›[gÐ4^@+›hf€p^@#;›\!^@0 ^›ôt!^Deä›-ÔÒ#Â#Ä#Æ#È#Ê#Ì#Î#Ð#Ò#Ô#¤æ#Ö#Ø#Ú#Ü#Þ#à#â#ä#æ#è#Èú#ê#ì#î#ð#ò#ô#ö#ø#ú#.0q*0q*0q* q*q*"q&*a,d0q*0q*0q/*Ê¢b x ¢¢ÊÊÊP,tþÿÁˆû1 7 €û7 7 �Ám Ætûf¿R1 ; ;- -RYNT EONUPS ONTIDION C ;; W1YDTTC, P SR J ;; --E NCUEEQ SNGLIAL C ;; TERI WSCDIR FOE INUTRON IOETPLOM C/O I--1 DWTY T ;; ;E AG.P UFGBMS FG.I DCEN . N URET;R PC S RT RSTEISEG RRETOES;R R OP,PR5 R JS O ;N 15VLMO O BL D?VEMOL AL ; R24, R MP C R FEUF BTOG MSF OARCH2 V MO ; )+R4,()+R0 ( OV M . = 15VLMO¹þP ; ; TELETYPE OUTPUT REQUEST PROCESSOR ; ; CALLING SEQUENCE -- ; ; MOV #LIST,-(SP) ;PUSH I/O LIST ADDRESS ON STACK ; EMT TTYOUT ;CALL TTYOUT ; TTYOUT = . JSR R5,PUSHR ;SAVE R0-R5 ON CURRENT STACK .IFNZ $KT11C MOV $KPAR5,-(SP) ; SAVE THESE MOV $KPAR6,-(SP) ; ASR'S TOO. .ENDC JSR PC,REQPP ;CALL REQUEST LIST PREPROCESSOR B9f÷ Ÿ•þÿ‚�€Ž‡cÊÚKø€<,àccØäð&6:.\!¸p¯”Ÿ s@H; ö ;<ÈÄ÷ Ì÷ Vñ‹£#µ±Š£#ã*–$5¾#ñ‹Ÿ#®€1ŠŸ#ãw ²À,#  4#üÁC*º$w~þÀT#HÀe  œ#úÀŸ#Š Ò#üÀŸ#5=Æ3rÆì rÆrÆ"r&Ƈ  3rÆ3rÆG > Ø"ä$ðÈ,f¦æ&fæ—þÿ €ÝM7 æúJ‚À 8 &8’,(€ ß•àþÿœ  ?@Hö ; @Hå.»ŒE@H¼M:@H""ø€@H #}@HU(€@Hª.{QÀD@H€Q\!HCmà@HimR@H�m„@H¾ ERFFBUO TVEMOG MSR FOT MILIT SE ; R24, R DD A R FEUF BTOD OR WEXND IVEMO ; )+R4,()+R0 ( OV M D OR WEXND ITOR TEINPOT SE ; )+R0 ( ST T ERFFBUO TT)UNCOR HA(CE IZ SSG MVEMO ; + 4)(R2, R OV M . =2 L1OV MX DEINO TZESIG MST GE ; R2),R0 ( OV M . = 10VLMO 12VLMO BR 0)(R-4Z,MSRR#E V MO T IS LOFD OR WR"ROER "INE OD CORRR EET;S 4)(R-4Z,MSRR#E V MO D WELOALX MAO TSG MTECAµþTNE TTOR20 ;BRANCH ON LIST ERROR .IFZ MSGBUF ;ASSEM FOLLOWING FOR CORE VERSION CLR R4 ;SET QLIST FOR OUTPUT QUEUING JSR PC,QLIST ;Q LIST TO PROPER UNIT/LEVEL QUEUE .ENDC JSR PC,LOCOUT ;LOCKOUT INTERRUPTS TSTB TTO1ST(R1) ;IS THIS 1ST OUTPUT REQUEST FOR UNIT? BEQ TTOR45 ;YES, GO INITIATE OUTPUT .IFG MSGBUF TTOR02 = . TSTB DAVIæ,æ &€¶6À ˜À  &‚6.K $.ž$€ ù‡,J ˆˆ· äÿæ8& & †zU& ˆÖ MðU A†#ÒUàU T15 ERROR÷,ðU Á–@`Á ýK*Š%m=�8#­ hý• 8#ñ• ¯#Â*®%afL#÷ ÔÖ =Š,#=Š0# œ&& a*Ò%æ& ÷ 2Ö œL}o jm �h�kM‚�€‡… … òf æ.¼¦æ&×þÿ&  „Ý17¡2ú.‚ß•àþÿ­# &È,Nl2,�m„z4fƒ…4f #}U(€:°.Ÿ simO€ BƒÄf—%ˆæÒU*V ˆˆˆV B#jVxV T16 ERRORÄ,ˆV Á–@`QÄñ‹Ÿ# ÷ z¬�*ö% & œ & ÷ ’Ö w Nø w PœŒ,& ôŠC4 Â÷ j1ŠŸ#÷ ®Â# %Â#UNTR, ES;Y R2Z,GSMS#O V MO O ;N 10VLMO OSBL IZ SSG MAX MT..GG MSN IARCHF OO. NRE;A SZSGOM,#0)(R P CM C ND.E R0+,P)(S V MO A SV; 6 SVPA,PPC R JS L CASIHY PEDCKPA; PAVP,TPC R JS VA TTADA; P)(S,-0)(R V MO O. NSKTA; P)(S,-0)(R-2 V MO 1CT1$K Z FN.I C ND.E SSREDD ATADAT GE ; R0),R0 ( OV M C 11KT $ Z IF . NO ; 5 L0±þXAIL(R3) ;IS DISC FILE FOR THIS DEV/LEVEL AVAIL BEQ TTOR30 ;NO, GO QUEUE REQUEST TSTB DBFULL(R3) ;IS THIS DISC BUFFER FULL? BGT TTOR30 ;YES, GO Q LIST TSTB DWLIU ;IS DISC WRITE I/O LIST IN USE? BGT TTOR30 ;YES, GO Q LIST INCB DWLIU ;NO, SET DISC WRITE I/O LIST IN USE FLAG MOVB (SP)+,PS ;YES,RELEASE LOCKOUT MOV #DWLIST,R4 ;GET DISC I/O WRIY }…C ""ø€ÇóZ2-ðƒ7!<‚÷e 4׉À$Áe  ‚‰‡!!!!!ö‰Á @`� 7 ú‡‰‡B ýö& ~úvæT‡ LINK-11 [ñ•¯#1Ч#ôý• 8#ñ•¯#(.¬&âñ‹µ#ý• 8#ñ•¯#Ø1е#ý•U8#ñ•¯#E,Ô&±Š§#Ìý•^8#ñ•¯#ö}œ«#8#ñ•¯#ï\`ò &!÷—!ç&&ÌyÃm0váß•àþÿ÷ ¶ÿÛ�&wrù²&&²Ö] Ž[ŽV ’W’R –^_ V005A PASS 1 PASS 2 # ÄåÀ Á¾~‰ÁÅ~‰À¶~‰X‰÷£ìl‰w~ñ÷‹àò~rwl‰ÀÄyÁ!‰÷`±Š§#Ø.ú&ý• 8#ñ• ¯#å1Н#wjþý• 8#1Ч#ñ• ¯#*"'§ý• 8#ñ• ¯# 1Ч#@¾#wrþñ‹·#wm*F'&ÿý•OV M LO B ? EDOV MSTLIF OLL;A 2 ,RR4 P CM ERFFBUO TSTLIF ORDWOA V MO ; )+R4,()+R0 ( OV M . = 05VLMO RDWOT EX NTOR TEINPOT SE T.IS LOFD OR;W + 0)(R T TS ADRETHN ISSREDD ASTLIL NAGIRI OVESA ; + 4)(R0, R OV M 2 ,R2.#1 D AD VEMOT IS LOR FITIM LET;S 2 ,RR4 V MO RSTEISEG RVESA ; R SHPU5, R SR J . = STVLMO ;R FEUF BTADAS STLIS ERUSR FOA SVO TET S 6SR A ­þ\TE LIST ADDRESS JSR PC,DISCWT ;CALL DISC WRITE ROUTINE MOV ERROR(R0),R4 ;WAS THERE A DISK REQUEST ERROR? BEQ TTOR10 ;NO CMP R4,#ERRMSZ ;YES, IS ERROR A MSG SIZE WARNING BEQ TTOR10 ;YES JSR PC,LOCOUT ;LOCKOUT INTERRUPTS BR TTOR30 .ENDC .IFZ MSGBUF ;ASSEM FOLLOWING FOR CORE VERSION TTOR05 = . MOVB (SP)+,@#PS ; RELEASE LOCi&æZ‰‡÷‰Nl‰wlÿ÷ŠBl‰w`ÿ÷�6l‰wTÿ÷Ž*l‰w¼ð÷�l‰w°ð÷�l‰w¤ð&þÿÎEÿÎæ‚÷‹Ëwÿ7Šš~bxjÃeƒlõ*²'¡.ñ‹©#B¦ÎEÀ–,I²  ‘Ê €¶*Ö'Ê5@Ä =‘8#CH#ó•Ê5@@wŒ Ä•%*ú' ñ•k-²Z‹, „…þ7 èø7 æø7 äø7 ÿÀàøÀ 0 &ó &&¤..ð&0`ÀåöÀdÁÈ1 8ð•0Šel.ª¬® ° ²´¶¸º¼CξÀÂÄÆÈÊÌÎÐL.¾À ÄmL[B[T[ÞV l�W V[ÐaF[†a°Y@_ lÙ"W `[_B[ l <[F[V_)4W†a°Y,_p[i<[†a3BW°Y@_ l <[†anÁw‚ð÷–äl‰wvð÷†Øl‰wjð÷“Ìl‰w^ð÷ƒÀl‰wRð÷„´l‰wFðæêÎEÿÎæ‡w2ð÷•”l‰w&ð÷Òˆl‰‡&æyˆæyêo¯#îý•^8#ñ•¯#2 ïò äò ¥*(Ê Þ�à ñ‹©# ±Š©#Ä•\ñ•¯#ñ’«#ÐÄ’¥,B(Î1Š©#²  ‘1‘«#Ä•\ñ•¯#Áñ‹­#p& 8$(ee$T0ŠÉá À ôÀÁüÑÀ ü‡aÉü ;D TECAUNTRS IIT ; ),SZSGOM (ZESIG MSX MAN HA TERNGLOS WAG MSF I ;; --T XI EONUPS ONTIDION C ;; EDOV MBEO TRE ATADAE AGSSMED ANT IS L ; CHHI WTOINR FEUF BOFS ESDRADE THS INTAON CR4 ; STLIT ESQUREY TTF OSSREDD AHE TNSAINTCO0 R ;; --Y TRENN PO UNSIOITNDCO ; ;T LSOV,MPC R JS ; ;- -CEENQUSEG INLLCA ; ;T IS LOF ; D OR WM"TEYS"SS OWLLFOA AT DSG M©þ`KOUT .ENDC ; ; EXIT PROCESSING FOR REQUEST ; TTOR10 = . CMPB TYPE(R0),#3 ;IS EXIT TYPE 3? BNE TTOR35 ;NO, MUST BE TYPE 1 OR 2 TTOR15 = . .IFNZ $KT11C MOV (SP)+,$KPAR6 MOV (SP)+,$KPAR5 .ENDC JSR R5,POPR ;POP REGISTERS OFF STACK MOV (SP)+,(SP) ;SWAP PC & LIST ADDR; POP STACK RTS PC ;RETURN ; ; PROCESSING FOR INVALyw °ù5Á W÷ †<Ò#4Ò#·•–ÖX,h)‡&°÷6c©=¯”(c©@8h“«@8h¯”q÷Nž:=¯”€ÿ÷ *9mQŠ €}uŽs s$þÿ¢,F2Åw ÷ "ÈÄ÷ Ì÷ Vñ‹wµ±Šw´REHE WERFFBU ; ATOA AT DND ASTLIY TTE OV MTOE INUTROUB S--T LSOV M ;; ;E AG.P UFGBMS FG.I DCEN . N URET RGO ; 5 W0SC D R B L VELEV/DES HI;T OR FAGFLL AIAVE IL FSCDIT SERE ; ) R3L(AIAV D B LR C RDWOR ROERO TDECOR ROERC IS DVEMO ; ) R0R(ROER4, R OV M . = 10CWDS RNTURE ; C P TS R . = 05CWDS ES;Y 10CWDS E BN R?ROERT ESQU¥þdID REQUEST ; TTOR20 = . TTOR25 = . CMP ERROR(R0),#ERRQL ;WAS THERE A QUEUEING ERROR? BEQ TTOR27 ;YES, THREAD WORD WAS ALLREADY RESTORED INC (R0) ;INCR LIST THREAD WORD TO ORIGINAL STATE TTOR27 = . BR TTOR15 ;GO RETURN .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM ; ; CORE QUEUING WHEN REQUIRED IN A MESSAGE BUFFERRED SYSTEM ; TTOR30 = . CLR R4‰@«À]@«@8@£ªÀ]@£ª@8@7ª-!@+ªÀ]@+ª@8@Û©À]@³©À]@š©¨p@‹©À]@c©À]@c©@8@ö÷Š,Žw~þÀ(HÀe  púÀsŠ ¦üÀs  (ps ¦&s:,²Âÿÿ�� uüŠ yüÀ‹P‹Â[(c׬Xið^[v_L[B[n[ñºX�X lüZÚ[ºe_ÒXüÊXÌXw Æe7 r_ð^[÷âX lèXw fŒ LOW LIMIT: HIGH LIMIT: ~2{ Î LINK11.OVR �AË5@Ä =‘,#fH#æÝñ•·#ñ• ¯#¡*F*ý•8#fP#æðÏw Ã�?ù³Š±#ÅÅ AŸ8#:*j*7Š/ùóŠ¥#~ó‹Ÿ#@º#@¾#Ž^7ªO*¯”(Ê7ª""hV7ª€%h7ª@)h@¯”7ªàƒ@7ª q@ ©`;@š©¨p@Å÷�� ŽüÀ¦¯ uy‹ Ž&¦¯,ÖÁ–PÑ W ¦ûw ‡Á�þÿÁEðÿEÅ ÷ ´�î[[7 X løXüXw ÐV¦[¦[L[7 @ lžYYw 07 0 l$Yw (Y8[7  l6Yw 7 ?REC IS D AREHE TAS;W R4),R4R(ROER V MO STUEEQ RTERI WSCDIE AK;M E ITFR,PPC R JS SSREDD ASTLIO I/E ITWRC IS DET;G 4 ,RP)(S V MO ERFFBUO TTADAE AGSSMED ANT IS LOV MGO ; STVLMOC, P SR J T IS LSTUEEQ RTY TTOR TEINPOT SE ; 4 ,RSTRLTT # DD A R ADHER FEUF BINR DD ACTSEL RET PU ;4)(RCTSERL),R3C(SEXT N B OV M E BLTAR TOEC SXTNEO TEXND IET;S R3 R AS R DEEA HERFFBUN IIDE IL FUT;P) R4,(3)(RIDLEFI V MO¡þh JSR PC,QLIST ;Q LIST TO PROPER UNIT/LEVEL Q BR TTOR70 ;GO RELEASE LOCKOUT .ENDC TTOR35 = . CMPB TYPE(R0),#1 ;IS EXIT TYPE 1? BEQ TTOR15 ;YES, RETURN TO CALLER .IFG MSGBUF TSTB ERRTSK(R0) ;TYPE 2, IS THIS 1ST OUTPUT REQUEST? BMI TTOR15 ;YES, TASK NEED NOT BE SUSPENDED .ENDC .IFNZ $KT11C MOV (SP)+,$KPAR6 MOV (SP)™Š…w*DXht‚œ®¼Êò.… DXht‚œ®¼Ê ,:Þæø±Š{W¬{H@ŽšüZÀ [g[P'*,[æ û\æ\æ\æ\æ>*P[ \ À`[<æ\æ›â~š|œ� EÅ µº#º#Ó,H+µ¾#¾#·•¬Ôæ÷ Nþƒó•ÿÿŸ#3Š¡#3Š£# ·•�Ô.n+õ}�8#fL#æ÷ ŒÖ 3б#w Þ‡ó‹³#ﳊ³#Œž ´  - &Þæø  {{Žü,^m=� ­ hý• ñ• ƒùŸ\À~[e,t[-€@ÀŒ[&À–[!À [{*š[àBæ\æ\æ\æSM\—*¾[SM €ê~} LEAB TIDE IL FTOX DEINT SE ; 3 R SL A S ESDRADR FEUF BTADAT GE ; R4),R4A(AT D OV M DCEN . 6 AR PINE USR FOP UET S ; ) R42(A+AT,D000014 # IS B ) R42(A+AT,D000016 # IC B AR PSTLIO I/E AV S ; 4)(R+2TADA5,ARKP $ OV M C 11KT $ NZIF . STLIO I/E ITWRC IS DSHPU ; ) SP-(4, R OV M . = WTSCDI ; EDORSTRET NOD AND SE UIS4 R ; ; --T XI EONUPS ONTIDION C ; ; SS�þl+,$KPAR5 .ENDC JSR R5,POPR ;RESTORE REGISTERS MOV @#PS,2(SP) ; REPLACE LIST ADDRESS WITH PS CLR -(SP) ;PUSH ZERO ON STACK TO INDICATE JSR PC,QSAVEI ; SUSPEND CALLING TASK JMP DSPTCH ;EXIT TO DISPATCHER ; ; PROCESS 1ST OUTPUT REQUEST FOR A UNIT ; TTOR45 = . INCB TTO1ST(R1) ; SET 1ST REQUEST FLAG FOR THIS UNIT .IFG MSGBUF ;ASSEM FOLLOWINGÎ* \Õ fÁ ý‡B€A“úÕ �Á ýõ€ ˆD*D\&…€ˆ&…€ˆ&…€ˆ&…²VX|h\d@‰ª ,~~ ********** H«.D~*}@Hk~[@H �€p@H(a,È}hÀ>&é.RhÄawÈ}h:éyRh¯”í÷¬Ò6à7ßB,7 CŒC”HÖH,L,â#v$4,Æ0T0Ö1õ X,À1F2\,&æ¦f&M‰h,Ö €�‚ƒ„…­ƒ…4f[gÐ4$hf€pU.î ôŠ Â÷ j1Šs÷ ®– %–o «:<}s ®¯UNDEFINED REFEÏ~z~RENCES °æ,&€öþÿ <†—-‡€÷àþÿý þÿ&þÿ»,$7�·�÷6REDD ASTLIO I/E ITWRC IS DNSAINTCO4 R ;) EV L +ITUN* 2 (LEAB TTOX DEINL VELET/NI UNSAINTCO3 R ; RYNT EONT IS L'SERUSF OSSREDD ANSAINTCO0 R ;; --Y TRENN PO UNSIOITNDCO ; ;T CWIS,DPC R JS ; ;- -CEENQUSEG INLLCA ; ;T ESQUREE ITWRK IS DKEMA ; N,HE TR;FEUF BTERI WSCDIO TTADAG MS ; ND ASTLIT ESQUREY TTE OV MTOE INUTROUB S--T CWIS D ;; ;E AG.P EMSTSYF BUG MSR FOG INOW™þp FOR A MSG BUF SYSTEM MOVB (SP)+,PS ;RELEASE LOCKOUT MOV TTOBUF(R5),R4 ;GET ADDR OF WORKING OUTBUF FOR UNIT ADD #TTRLST,R4 ;MOVE INDEX TO WHERE TTY LIST WILL GO JSR PC,MOVLST ;MOVE LIST AND MSG DATA TO OUTPUT BUFFER INC R4 ;SAVE CURRENT LIST ADDRESS, SET MOV R4,OLSTAD(R5) ;LSB TO INDICATE WORKING BUFFER .ENDC .IFZ MSGBUF MOV R0,OLSTAD(R5) ;SAVE CURRENT OUTP¹  :. éééé=Ʀ)ÅÂÆ¦)ÅÅeL Îxÿ ‡ ¡N N Í ÃŠüÍ ~jº"þÿJ&) U; (J&) .n· ³ ‡ÂœæÀ à ”Daû„`ÿ.U»*.o&@.kF.^.¼@H-²Z@H—.*}@HD~@HÉ2Ú@H¶Re†@H¦S@~@H³.[q*}@H|x‘@Hây2g@HYzb;@H;}¸G@Hò½"  ¼M:ƒ{ &ƒA0€âñ‹‰ý• ñ•ƒØ1Љý•U ñ•ƒi‰¾÷ <ÂåÂ%!÷ ,„cÍ À‹ëéÑ�øÃh‹ŠË‹þ€ÃœÀ`ÃEÿ ‡·$Í ÄÍ ÃÄPÇ÷ êÿÍ À‹â„ †¿Ä LÀ÷ê÷õw¿;  A*}A*}¶>) (!?È}ê0”÷àþÿ‹÷Óµ÷e“�K�6 w Ã*þÿD~*}À AC:  ^. ? ÷f. ILL CMD! Lt. ILL PAR! /‚.NON-QUIESCENT SLLFOM SEAS ; F BUSG M G IF . N URET;R PC S RT RSHA C^" "WO TOFT 1SR FOE YP TARCHT SE ;) R1E(YPHT,C6. # B OV M " "^A T PUUT;O) R5R(DBTO@T^,#' VBMO T OUMETIT PUINR FOE OD CORRR EET;S) R0R(ROERO,ITRR#E V MO C ND.E SSREDD ASTLIE USN CAE WSO; 5 ARKP,$5)(RR5PAIL V MO 1CT1$K Z FN.I SSREDD ASTLIT PUINT ENRRCUT GE ; R0),R5D(TALS I OV M .)NOT NI UINS ORR METI (TEBYG LA FROZE ; B MFTI I •þtUT LIST ADDRESS .IFNZ $KT11C MOV $KPAR5,OLPAR5(R5) ; SAVE CURRENT PAR5 FOR LIST .ENDC .ENDC .IFG MSGBUF ;ASSEM FOLLOWING FOR A MSG BUF SYSTEM JSR PC,LOCOUT ;LOCKOUT INTERRUPTS .ENDC TSTB TTYPRT(R1) ;IS UNIT BUSY .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM BPL TTOR02 ;YES, GO PUT MSG IN DISC Q INC (R0) ;INCR USER LISÉ& H” H” H”¦)€�Á‹wô_…óÊð-EX÷T.öæ.÷ ¨ö:-÷€ê÷*.âæ.÷ (÷Z,N-÷ Ò÷%Ò7 zÿ÷Êvÿ÷ÆrÿæÚ,÷ à%*t-�Ö Ë÷æ,À7Á% Á ýÀþÿÁ1à Á Á M&™€b; "€2gá~àyþÿ á~àyÌrþñ‹‹wC ƒ{’"‹I,&ÿý• ñŠ‹wÿÁ�þÿÁEðÿEÅ Dô•YÍ.u~쯔ôt!@Hu~"P ÏÀà,$È ü€wH æF.÷ Pö÷’&˜-÷*.Š7 Žæ.÷ Ìö^.ª-÷ vëÅ,.DÄå�Ä Ã -S# Ó Ë û÷f.VÌÐ*$úÀÁ1˜Á ü÷•ÿÿ÷•ÿÿ7Š}.[q*}*}u~‘ |x‘$» ÚF7 ÷÷B LR C AGFLT OUMETIT SE ; ) R1G(FLOI T B NC I T UPRRTEIND KBE BLSADI ; 5)(RSRICTT @ B LR C 5 R SL A G INEXND ILEAB TRDWOR FO2 T*NI;U 5 ,RR1 V MO TEBYG LA FERIM TOMFR. NOT NI UET;G 1 ,RFBIMIT VBMO . =O ITTY T ; STUEEQ RHE T ; OFT ORABN ACTFEAFO TET SISE YP TERCTRAHA C ; --T XI EONUPS ONTIDION C ; ;E YT BAGFLR METIT PUINN IEDINTAON CIS. NOT NI U ; ;- -RY‘þxT THREAD WORD TO ONE COMB EXIT+1(R4) ; SET FLAG TO NOT SUSPEND TASK ;BY COMP BYTE 1 OF SYSTEM WORD ; NOTE: BECAUSE R4 INCREMENTED ABOVE .ENDC .IFZ MSGBUF ;ASSEM FOLLOWING FOR CORE VERSION BPL TTOR05 ;YES, GO EXIT .ENDC MOVB #1,TTYPRT(R1) ;SET UNIT PRIORITY TO OUTPUT TTOR60 = . MOVB (SP)+,@#PS ; RELEASE LOCKOUT JSR PC,TOINIT ;IÙ*”.æ7 ôÿ7 òÿ7 ðÿaÚ.c™Ä ýæ”.û¸.÷ ˜„Ö  ƒ‡¾*È./*/`/r/ ÁÁÁW¥Ú2-²Z k~[¶Re†¦S@~˜É2Ú<¾,rÂÃÄ Š‘Ä û×-&÷&þÛ=‘ Có•Ê5@@wÄ•¢ $[qj¸,Î ñ•ƒîý•^ ñ•ƒ2 ïò äò ÜÜÝbœk_Jä]Ú^ lÞ^†aœ^r_ü]–ô]ö]w þ7 L_^^w þA$ ^Ú^Æe7 4 l ^w 4þ7 $jÞ,2,ì.Ä 0!-‚÷  ÿÅ )!&7!Ü#ÂðÐyÊ.`0/÷àæÐô¥ß34Šß3·ÖЇ÷àÎÐô‹ß3­ß3h$¬‘b¯”(t¬À]h¯”7ª-!@š©¨p@a÷6­:ϯ”("7ªàƒîó.gTu¯”(S«î4h S«ï4hä÷æï ƒ&þÿ,„œ8w 5Á W<4ñ5€<Aœp�3& _M€QYeÞYeÞ$YeÞðÁž/‚/w*·xÿW¥, !ˆ, 0ÛÀ÷ ”ÿ÷ žæÀ>JÁ¤/Â�/ÅÈ æ|/Á(20÷ �DÔ�DÿÔ�AÿÅ õÅ ·Þýæ.÷ �ó‡O6TY,TPC R JS NO; 3)(RTOSTFR CBIN S YE; 40YOTT E BN D?PETYY SLOUVIRE PENBEG MSR ROERS HA; 3)(RTOSTFR TBTS . = 50YOTT RNTURE; PC S RT 3)(RAGFLTO RBCL . = 45YOTT CKTA SFF ODECOR ROERP PO; + P)(S T TS METI,QPC R JS ) SP-(M,TITO#T V MO R METIT PUUT OUEUE Q ;P)(S,-5)(RERIMOT V MO N AIAGR HA CUTTPOU; 5)(RBRODTT,@R1 VBMO ‰þ€ . JSR R5,PUSHR ;SAVE R0-R5 ON CURRENT STACK .IFNZ $KT11C MOV $KPAR5,-(SP) ; SAVE THESE MOV $KPAR6,-(SP) ; ASR'S TOO. .ENDC JSR PC,REQPP ;CALL REQUEST LIST PREPROCESSOR BNE TTOR20 ;BRANCH ON LIST ERROR MOV #2,R4 ;SET ARG FOR QUEUING OF INPUT LIST JSR PC,QLIST ;NO, QUEUE REQUEST LIST JSR PC,LOCOUT ;LOCKOUT INTERRUPTS ùÿ¯«:<}&þÿ,òð‡ð‡ð‡ð‡ð.‡ñ5@ìA°÷ >÷ úv6 w ´û‡6ú`*¼0'èd w ’û„…À¼0Ä �Õ•+Á•Õ*à0  â€d Á0B`•�È ôÄe0 ‘¶ vû\÷ ÷ ÷ Jbˆ"óš_\ ‚@a‡‰ ª_�& \ýæÿÿ\ùø�úùõ Ä_&æ"ˆæw ü6ªPs@ä÷>™«�b¯”(h™«À]h¯”7ª-!@š©¨p@`÷6ª:ÏýhÝ©Ø�h Ö÷ææ&&&&\&’\fóþ†<¦4¦·•þÿÕ" YeÞ4Þ ¦$¦(þÿ.<‡&÷ &÷ n–ü–4–Àe–4¦Eÿ1w ^û–%‡Õ•- äÒ‹åµ &1à².1ÿÿ·ôÿ·îÿ·èÿ·êÿ· Þÿ÷  @*B1÷ †èØ*Ø_fD ²Ã1‚ °C*‚À  F#‡Æå¼*ü_Äe&&&&æñæ\)æ;ªæ¸@7 F(cBaB `®eú`\eüh . =0 O4TY T5 O3TY T R B UTKOOC LSEEAEL R ; S #P,@)+SP ( B OV M . =8 O3TY T5 O4TY T R B ) R3T(1STI T B LR C ) R3T(1STO T B LR C Y US BOT NTOT NI ULD OET S ;) R3T(PRTY,T-1 # B OV M . =5 O3TY TR TEISEG RRETOES R ; 3 ,R)+SP ( OV M NGSIESOCPRT PUINR OUTTPOUT NI I ; ITINTOC, P SR J ERSTGIREE AV S ; ) SP-(3, R OV M UTKOOC LSEEAEL R ; S #P,@)+SP ( B OV M DCEN . …þ„ TSTB TTI1ST(R1) ;IS THIS 1ST INPUT REQUEST FOR UNIT? .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM BGT TTOR70 ;NO, GO EXIT .ENDC .IFZ MSGBUF ;ASSEM FOLLOWING FOR CORE VERSION BGT TTOR05 ;NO, GO EXIT .ENDC ; ; PROCESS 1ST INPUT REQUEST FOR A UNIT ; INCB TTI1ST(R1) ;RESET 1ST REQUEST FLAG MOV R0,ILSTAD(R5) ;SAVE CURRENT INPUT LIST ADDRESS š¨1Ævÿ÷ hí÷ êw^dÀ1æ:Îæ÷ 67 wJ¦Ô1÷øÿ‡O*Þ1Þ1ÿÿÂ2 æÃ׿e*‚` Öæð–æl>æ¦f&æ"òæyæš‚æ¦B7 ¾¦`ºia(ci(cTa&´`i0aühºe¾`ņa¶ †ffff € h7ªÀh"7ªh7ª-!hš7ª@8h 7ª€>h7ª€ph¯”Ôª@8@ò÷n#©Ïh¯”(Ú©ÈG æ Ö \³ó.û¨Ñh¯”(û¨dhO«žfhl÷ ƒ  &À.Î÷ Ö J@’ 3 1Š�1Š}ñ•ƒDŸ "imR’ò1) ERROR XXXXX#2 SXXXXX SXXXXX SXXXXX SXXXXX ;* 2ü12 222·øÿŽw ú¦Åêÿ²7 ŽG*Ô`(cÂ`Ååñ€�‚ƒÖ „ÄŠ„ a§�…q*ø`…ý Î ¶\Îe\Îå€ \¶²*a\¶&¶h¯”•«à@(«p!@7ªœw@7ªÎ@¾©Þ@ ©`;@š©¨p@D©½`@–÷^tO*¯”( 5)(RADBFID),R2D(FADB I OV M 5)(RADBFOD),R2D(FADB O OV M 5)(RR6PAID),R26(ARDP I OV M 5)(RR6PAOD),R26(ARDP O OV M 5)(RR5PAIL),R25(ARLP I OV M 5)(RR5PAOL),R25(ARLP O OV M C 11KT $ NZIF . 5)(RADSTIL),R2D(TALS I OV M 5)(RADSTOL),R2D(TALS O OV M 5 R SL A R51, R OV M 2 R SL A R23, R OV M 1)(RSTI1TT),R3T(1STI T B OV M 1)(RSTO1TT),R3T(1STO T B OV M�þˆ .IFNZ $KT11C MOV $KPAR5,ILPAR5(R5); SAVE CURRENT INPUT LIST PAR .ENDC TSTB TTYPRT(R1) ;IS UNIT BUSY? .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM BPL TTOR70 ;YES, GO EXIT .ENDC .IFZ MSGBUF ;ASSEM FOLLOWING FOR CORE VERSION BPL TTOR05 ;YES, GO EXIT .ENDC CLRB TTYPRT(R1) ;SET INPUT/OUTPUT PRIORITY TO INPUT BR TTOR60 ¥*†a  ‚ Á÷ $‚ `Áh*ªa÷ ‚ €`œ‚ À üÀb\ÀÂþPˆ’Îa‡A¯”¾©Þ@ ©`;@š©€p@‚÷6E`O\¯”("(«p!h¯”‘«-X@�÷.ì¨=¯”(ì¨@8h¯”�÷ææ  ysŽ’‰,b®ø÷¬ø7 ªøœÄ ô5@s ò5€NYeÞ4Þ&YeÞÕÿÿÿÿÃò233 3 3333333+3333 3"3$3Æ(3 Ða¦¦6 6 \F"âa ¶Ö Ž …Ô Ô \:"þaÀÄþ�ˆ&÷µ»œ\w  \û6%&Oޝ”(¾©Þh¯”e©¢Œ@T÷6@©�I¯”(@©ÀDh¯” Že\¡ó.E©=¯”(E©@8h¯”Ü÷æ T NI UEW NTOT ENNMROVIENE OV MO, N ;1)(RRTYPTT),R3T(PRTY T B OV M ES Y ; 8 O3TY T GE B Y?US BITUNW NES I ; ) R1T(PRTY T B ST T UTCOLOC, P SR J UTKOOC LSEEAEL R ; S #P,@)+SP ( B OV M 0 O3TY T GT B 4 R EC D )+R0 ( LR C ESEUQUT NI ULD OARLE C ; + 5)(R0, R OV M )+R2 ( ST T . =2 O3TY T 2)(R),R5 ( OV M 2 O3TY T EQ B T NI UEW NTOS STUEEQ REDEUQUE OV}þŒ ;GO INITIALIZE INPUT FOR UNIT .PAGE .CSECT .TTYIN ; ; ; TTINIT -- TTYIO INITIALIZATION ROUTINE ; ; CALLING SEQUENCE -- ; ; JSR PC,TTINIT ; TTINIT = . JSR R5,PUSHR ;SAVE REGISTERS MOV #TTICSR,R0 ;CLEAR TTY CONTROL STATUS REGISTERS TTIN10 = . CLR @(R0)+ CMP R0,#TTIDBR BLO TTIN10 MOV #1,R1 .IFG MSGBUF MO)”( IqKh¯”™÷.LÏš¯”(ØÀNh¯”ª÷.*ææ Žå\!ó.ò«Ïš¯”š©€p@($ò«–h +¦$þÿ0ôÀñ‹s!ñœssñœuuñœww EÅ µŽŽå*sssuuww(,Ó*Â5¶Æe‡öþÿ¶Æeæ÷ **æ5w4Ž Ž Ž Ž Ž Ž Ž 6 ¶Ö¦¶D* 6¶æ—þÿß•-*ÎbA @ Ä Äå€Ä%ÿŠÐÁŠÑÀ  w*òbA @ ‡ …6v …„–%\–%–% Ö À XcÀÖ w .ú�0¯”(&˜?h¯”‹÷Vê�{¯”(˜êÀvh¯”Ôª€p@³©,@v©/÷ææ,€ ‡ ƒw À `\À `\ü0Ž*Ž£.µ’’·•þÿæ÷ Nþƒó•ÿÿs3Šu3Šw ·•þÿÝ"’’ þÿsu"w(þÿµ0Bõ}� f æ M ; ) R2@(),R0 ( OV M . =0 O3TY T UTCOLOC, P SR J R44, # OV M ITUND OLR FOT ASQLO TEXND IET S ; R5T,ASQL # DD A T NI ULD OOR FSTIRQFO TEXND IET S ; 0 ,RSTIRQF # DD A R05, R OV M 5 R SL A 5 R SL A ITUND OL* 6 1ET G ; 5 R SL A ITUNW NER FOT ASQLO TEXND IET S ; R2T,ASQL # DD A DCEN . R24, # SH A 4511 $ NZIF . DCEN . 2 R yþ�V #DRLIST,R0 ;INIT THREAD WORD OF DISC REQUESTS TTIN15 = . MOV R1,@(R0)+ CMP R0,#DWLIST BLO TTIN15 MOV R1,DWLIST .ENDC MOV R1,ERRMOD ;INIT THREAD WORD OF ERROR MODULE MOV #ITIME0,R0 ;INIT THREAD WORD OF TIMERS TTIN20 = . MOV R1,(R0) ADD #ITIMSZ,R0 CMP R0,#ITIMFB BLO TTIN20 MOV #TTYPRT,R0 ;CLEAR BLOCK OF VARI9æ(„\€ ü\w \\2š©€pœó.ò«XÀ¯”(ÅÁ�æ÷EÅ =Š•""ø€[gÐ4*É,’±Š‰7ŠÖ÷@’ðý•^ ñ•ƒw ‡º;÷ 4ÿwLß•àþÿÀü ÜK*â6È1Šß37 ôû7 :7 Þú0 ÆêûŠþÿwó.7&f¦ €ÝL7 ÌûI‚æ—þÿß•àþÿœß3Á y<ƒeB u*ÜcA ¦ Œw ,‚eA ƒeB A ¦Œw :*d‚eA ƒeB A ƒB ¦Œw ú‚eA ƒeB a*$dA ¦ Œ=h6xh¯”º«€p@Ôª€p@6ªÐ@v©€p@쨀p@µ÷^O\¯”(z‡Àvh€W>ò«h¯”*÷æ \}ó.ê€À¯”( ?®8®8RGÄ8HtÌ:¸~®8@€€@÷à2ÇÆ®8÷ºBÎÇ÷€ÊÇßjGßà÷LB*Ç÷à&Ç÷´qFÇ÷@.7æ*.7¨7€7@7V7€7€7¨7¨7¨7Ÿ“þÿ&÷ –Ö -ß•àl*R7þÿÁˆû1 7 €û7 Æ7 jú�ÁmœÈÆtûf *v7fffffSL A 2 R SL A 2 R SL A 2 R SL A 4511 $ Z IF . ITUNW NE6* 1ET G ; R21, R OV M Y TTM TEYS SONG MSR ROERE YP T ; 60YOTTC, P SR J E ULOD MORRR EIN. NOT NI UEW NUT P ; . +8ODRMER1, R OV M T IS LNTREUR CTOIN. NOT NI UEW NUT P ; 0)(RSKRTER1, R B OV M . NOT NI UEW NET G ; R1),R2V(DEHY P B OV M 5)(RSRICTT @ B LR C T NI UCTUNEF DOFS PTRUERNT ILEABIS D ; 5)(RSROCTT @ B LR C IT BILuþ”ABLES TTIN25 = . CLRB (R0)+ CMP R0,#QLAST BLO TTIN25 MOV #TTYPRT,R0 ;SET UNIT STATUS FLAGS TO NOT BUSY MOV #-1,R2 TTIN30 = . MOVB R2,(R0)+ CMP R0,#TTO1ST BLO TTIN30 TTIN35 = . CLRB (R0)+ ;SET FIRST REQUEST FLAGS CMP R0,#TTORPT BLO TTIN35 MOV #TTYON,R0 ;SET TTY ON/OFF FLAG TO OFF TTIN40 = . MOVBIwòpÿ€àtÿ„àrÿ‚àvÿ†à˜9¤9°9¼9È9Ô93º~ž9à9òA3à9òA0á9š@0á9š@3â96B3â9J÷*â7f¦æ&fæ—þÿ €ÝM7 æúJ‚À 3ç*8€ ß•àþÿœß3  Âå*9ð•ß3Ÿ“þÿ�.*8Bœ  ƒ3.K v¶ö…„Æe\æ T*üdÀ ÀÖ w "    å Ì ö õ* e eŽm ö Îe€eÎe€ŽmL¯”Ôª€p@š©€p@v©€p@~÷VªgOu¯”(vW«Psh¯”Ôª€p@³©,@š©¨p@#Mó.gÏh¯”(S«€4h¯”(÷æZ6Bÿÿ~::: : :::::w v÷ ¶ ÷ b÷ ìñ‹å9.·•ºÅ¬OC ÄÃû(ß•àþÿW""ò 3A*R8 r3 ò3ò2²`ò2L4ò2É1 ç*v80Šß3Ÿ•þÿv…„ƒ‚�€‡… … òP£DeÔ Œ6iÔ M6 M)\e¦¦6 6 w¹*le& � f Â�6ŠÃÄþ cÀÊþ •VA AOT NCEVIDE; D ANT BIE USN ICEVIDEE ATRNTEALT SE; ) R4V(DEHY,P000012 # IS B . =6 O2TY T2 O2TY T R B O. NITUNL CAGILOE ATRNTEALT GE, ES Y ; R42, R OV M O N ; 6 O2TY T EQ B E?USN IDYEALR AEV DTENAERLT AIS; ) R4V(DEHY,P000002 # IT B O N ; 0 O5TY T NE B ? IDAL VPETYE ICEV DIS, ES Y);R2V(DEHY,P0074 # IT B O N ; 0 O5TY T NE B ? LEABILVA AEV DLT Aqþ˜ R1,(R0)+ .IFZ MSGBUF CMP R0,#OLSTAD .ENDC .IFG MSGBUF CMP R0,#NXTSEC .ENDC BLO TTIN40 .IFG MSGBUF MOV #DAVAIL,R0 ;SET DISC FILE AVAIL FLAGS TO AVAIL TTIN50 = . MOVB R1,(R0)+ CMP R0,#DBFULL BLO TTIN50 .ENDC JSR R5,POPR ;RESTORE REGISTERS RTS PC ;RETURN .PAGE .CSECT ; Y„ƒ‚�ö އö—þÿæ[.9÷ ýwŽ Ž Ž 6 äŠþÿ7 öÿ÷ ¸ùa÷ ¤ø�*09^İùÄ  Ã÷ ÚÿíÂ`ò 3!( *Þe €Ý�ÝÁ�݂݂݃ÝÃö „*f8v  „Ý áö±6 ¶� ¶� �*&f¶� ¶� [>¡g=¯”(„W«¨9h¯”Ôª@8@š©€p@÷VÀR�Ư”(xIØš\ææ@a\¬ó.Ϋ$¯”(Ϋ@h¯”ø]@;}¸G@_.’è€@ €` @(† :Khthh€ÀÁhZ .€pÆh@€˜Æh¼€ÀÆh4 €èÆhº €ÇhV ^÷—!j">.T9áß•àþÿ÷ ¶ÿÛ�3wrù²33²ò2‡*|9òe3ò2 EÜW­ß3ŠþÿØw‘DùµŠß3‚ n* 9·�_w \އœ&& && ÷ èÖ ,ˆ ëœ ôЇJ¬âw ö�~Ž:nÅ& ÷ ¼wƱŠå95þ9ñ‹ã9Ë€ñ•ã9·•JÅ÷ 2Åw `hQX\h€QÀÁh¶RÀÁh¯”™«@E©€p@Á÷>œSXÀ¯”("œSh¯”Ôª@8@IS; ) R2V(DEHY,P000010 # IT B E ICEV*D 2 =EXND I ; 2 R SL A R BEUM NCEVIDEL CAGILO. LT AET G ; R2),R4V(DELT A OV M4:O2TY TO N ; 0 O5TY T MP J 4 O2TY T NE B ? STXI ECEVIDEE ATRNTEALS OE D ;4)(REVYDPH0,0040#0 T BI ESBLTAD OR WNGXIDEINR FO2 .*NOG LO; R4 L AS . = 22YOTT O. NCEVIDEL CAGILOT GE; 4 ,R0)(RCEVIDE VBMO +6ODRMER R CL LEDUMOR ROERN IO. NITUNT NCFUDET PU; 4 D+MOmþœ; ; PRTINT -- TTY PRINTER INTERRUPT ROUTINE ; ; CONDITIONS UPON ENTRY -- ; ; TTY UNIT NO. IS CONTAINED IN BITS 0-3 OF PS ; AS PROVIDED BY INTERRUPT VECTOR FOR ; INTERRUPTING UNIT ; ; ROUTINE IS ENTERED AT PRIORITY LEVEL OF UNIT VECTOR ; ; PRTINT = . JSR R5,SAVE ; SAVE ENVIRONMENT MOV @#PS,R1 ; GET PS PROVIDED BY INT. VECTOR BIC #177760,R1 ;UNIT NO. IS IN BITSiüŠ é9üÀû9P� þ9üÀ:Á:PÑ W :ûw T‡‰Á�žÄÁEðÿEÅ ÷ ºñ‹õ9D�9ô•·•<~~;~Äñ•é9Dœó9Ä |˜;1Šõ9w*´;È€ÿABZò’&"þ”j&Zò’& ""þ$”&j™.Hf@¼4 º V î m ˆø×-„ødÁqŠ:3¹3$$t:¹¤:0œ»:§40Šß3á À  ð‡È:d;,’:<À´>ðœ:Z?@¨@2A>;hnØ<ä<ò< ==,=:=N=V=h=v=‚=±Šë9W¬ë9H@þ9 ´  -m=�|9­ hý• |9ñ• ó9af"~ö;�9÷ ÔÖ =Šp9=Št9 oc÷Nϯ”(Hh¯”º«@Ôª@v©@i© Z@F÷pææN v ŽUN \wó.*«=¯”(*«RR,ER3 V MO LEDUMOR ROERO TDECOR ROER; +2ODRMERO,OTRR#E V MO STLIN IAGFLR ROERT OUMETIT SE; ) R0R(ROERO,OTRR#E V MO . =0 O2TY T DCEN . S ESDRADT IS LSE UAN CWEO S ; R5PA$K),R55(ARLP I OV M C 11KT $ NZIF . S ESDRADT IS LUTNP INTREUR CET G ; R0),R5D(TALS I OV M . = 10YOTT 20YOTT BR C ND.E B LSF OFP RIST; R01,0000#0 C BI UFGBMS FG.I C ND.E SSREDD ASTLIiþ  0-3 OF PS MOV R1,R5 ;USE UNIT NO. AS INDEX TO ASL R5 ;WORD TABLES MOV #200,-(SP) ; RELEASE TO LEVEL 4 TSTB TOFLAG(R1) ;HAS TIMEOUT ALREADY OCCURRED? BNE PRTA05 ;YES, IGNORE THIS INTERRUPT MOV OTIMER(R5),R4 ;GET ADDRESS OF TIMER FOR THIS UNIT MOVB #TTOTIM,TCNTR(R4) ;PUT COUNT INTO TIMER MOVB (SP)+,@#PS ; RELEASE LOCKOUT MOVB #NTRYS,TTORPT(R1) ;Syš©€p@v©@ì¨@I÷^ÉÏ�¯”(”É sh¯”³©,@š©€p@v©€p@쨀p@z¯”(«@8h¯”Y÷ææ N \<{;}¸G;}¸G9.¶& ˆÎæˆÎæˆÎ æ<<ˆÎ*   (*A,ÜæVÿˆÎ0æLÿ| ˆµþ;æ& & & ˆÖ ˆ-<¢<2†*„<’< TASK # 4 æ„< ˆ³}ó9âñ‹ù9ý• |9ñ•ó9Ø1Šù9ý•U|9ñ•ó9±Šë9Ìý•^|9ñ•ó9ö}œï9|9ñ•ó9ﱊë9ý• |9ñ• ó9å1Šó9wjþý• |91Џ~zy}@êÀv@ ÷FzyÏ�¯”(bzy}h¯”š©€p@v©€p@쨀p@Á÷ó.ä©$¯”(™©hÝ©h·÷ææ"€ˆÎ ˆÎ ˆÎ" ˆÖ ’ 0""‡1.’E USN CAE WSO; 5 ARKP,$5)(RR5PAOL V MO 1CT1$K Z FN.I SSREDD ASTLIT PUUT ONTREUR CET G ; R0),R5D(TALS O OV M T PUIN; 10YOTT Q BE ? UTNP IHOECR OUTTPOUR FOT OUE IM TIS; 3)(RRTYPTT TBTS . = 05YOTT O ER ZOT NIST ;I 40YOTT P JM O ER ZIST ;I 05YOTT E BL T UNCOT EAEP RCRDE; 3)(RPTORTT CBDE .)NOT NI UINS ORR METI (TEBYG LA FROZE; FBIMOT RBCL UTeþ¤ET REPEAT COUNT TO NO. OF TRYS MOVB CHTYPE(R1),R4 ;GET CHARACTER TYPE ASL R4 ;MAKE INDEX FOR BRANCH TABLE = 2*CHTYPE JMP @PRTA10(R4) ;BRANCH ON CHAR TYPE PRTA05 = . CLRB TOFLAG(R1) ;CLEAR TIMEOUT FLAG JMP PRTA93 ;GO RETURN ; ; ; BRANCH ON CONTENTS OF CHTYPE ; PRTA10 = . .WORD PRTA15 ;INTERRUPT FROM CHAR OF OUTPUT MSG .WORD PRTB10 ;ECHO OF INPUT ‰ææ  …\Î Îe€\w \ š©€pžó.­dÏhЬh¬ÿ,¬÷^ÿæ ˆæ. ˆ×-@ÿæRæŠÿˆ  . R#.ÐÖ õæ:ÿ÷‹æ& & æˆÖ ôí>ª>2p*Œ>š> TASK # 7 æŒ> ˆ’ °>ˆû�Œ ñ•ó9îý•^|9ï~N>ñ•ó92 ïò äò Ê Þ�à ñ‹í9 ±Ší9Ä•\ñ•ó9ñ’ï9ÐÄ’Î1Ší9²  ‘1‘ï9Ä•\ñ•ó9Áñ‹ñ9À±Šñ9f� ÷Va O\¯”(´a €Whza €\h¯”º«€p@Ôª€p@v©€p@쨀p@»÷ޝ”š©€p@7ª@@7ª€%@€÷ææ,fΊÖ …@Ί*AΊ� 4ÿæ(ˆ÷&ÿæ ˆˆnØ( (nîö 4 B¥,B�´>H?21**?8? TASK # 8 æ*? ˆ´N?æ& ˆÖ ÷ÊZ?î?TPOUT AS LARCHT GE; R1),R5R(DBTO@T VBMO R5 L AS NGXIDEINE BLTAD OR WOR F*2ITUN; 5 ,RR3 V MO E INUTRO. NT IOR FAGFLT OUMETIT SE; 3)(RAGFLTO CBIN E YT BAGFLR METIM RO FO. NITUNT GE; 3 ,RFBIMOT VBMO . =O OTTY T ;T NI UTY T ;M TEYS SHE TOND UEUE QIST OUNTRI PDECOR ROERN A ; D.TEECEL SIS, LEABILVA AIF, CEVIDEY TTE ATRNTEALN A ;S PTEMTT AYSTR NERFT AEDRRCUOCT NOS HAT UPaþ¨CHAR .WORD PRTB30 ;ECHO OF LF .WORD PRTB40 ;ECHO OF CR .WORD PRTB50 ;ECHO OF "U" .WORD PRTB60 ;ECHO OF "^" .WORD PRTB80 ;ECHO OF 1ST "^" .WORD PRTB90 ;ECHO OF "\" .WORD PRTC10 ;ECHO OF EOM CHAR .WORD PRTC20 ;INT FROM OUTPUT OF LF .WORD PRTC30 ;INT FROM OUTPUT OF CR .WORD PRTC40 ;ECHO OF CR AFTER EOM ™ˆ· ìÿÎèÿæeˆæB ˆe$Bþ�ˆ5Kâç,âš*x@†@ TASK # 10 æx@ ˆ¾œ@æˆˆÖ ˆˆ¨@A2 [A7 ›°8ìAº8°÷ >÷ †<:4:·•RÀ‡&÷ &÷ »~¶?n:ü:4:Àe:4:·•(À€‡fÁ Á �`D`Ä �‡‚ñ•é9ñ‹û9CD”9ô•œ¯”(®àdh¯”º«@Ôª@,ª@š©¨p@v©@i©@ì¨@ó÷f Ïh�&š©€p„‰„‰Ž –²Š8I8)(4G15.7)(3D22.14)  I  Ö \ž ò TASK 3 ACTIVE  ò¼, XXXXXXæÞÿæˆæâ ˆˆ± ‡ØÑŸ € ·  ˆúL2A¨A2 D$¨A7  � ·  æ æˆÖ õÄ*ÆAÀôAÂÒáÒâ ð1Š÷9ñ‹ã91Šó9@þ9 4 �¡ ñ• ó9=‘›~.@|9f�9æýÕ@t9÷ Ö J@: 3 1Šñ91Ší9ñ•ó9DŸx9ÄAË5@RRTEINF I ; ; --T XI EONUPS ONTIDION C ; ; TEBYG LA FERIM TUTTPOUN IEDINTAON CIS. NOT NI U ; ;- -RYNT EONUPS ONTIDION C ;; TOYOTTC, P SR J ;; --E NCUEEQ SNGLIAL C ;; NETIOU RUTEOIM THOECT PUINR OUTTPOUY TT- -TOYOTT ; ;; GEPA . 5 O4OI T R B P)(S,-IMWTTT # OV M ERIM TITWA UEUE;Q) SP-(),R5R(METI W OV M T OUUB RST 1UTTPOU ;5)(RBRODTT,@RO # B OV M E YP TARCH]þ¬.WORD PRTC50 ;ECHO OF LF AFTER EOM,CR .WORD PRTC60 ;INT FROM OUTPUT OF RUBOUT TO TURNON TTY .IF NE,ASR37 .WORD PRTC70 ;INT FROM DC3 AFTER RECIEVING CR .WORD PRTC80 ;INT FROM DC3 AFTER RECEIVING EOMCH .ENDC ; ; ; PROCESS INTERRUPT FROM CHAR OF OUTPUT MSG ; PRTA15 = . INCB TTCURS(R1) ;INCREMENT CURSOR CMPB TTCURS(R1),#LINELN ;END OF LINE? BHIS PRTA30 ©*8Bò2ò*& ¦÷ äïwÎöZ„\BZì.pBß„Bßà÷~‡ß´B·ªÄ ô5@°8sº8 ò5€°8lò5°8hô5 °8„êôU °8=Št9=Šp9�œ°8õ~Ap� w`ø÷ ¶B   Âe:Å Å @Àe:Åe:Ä÷ Ú:«(ŠïÀ+hï¶0h¯”º«@Ôª@,ª@š©€p@v©@ì¨@÷N¯�0¯”¬¯”(º+ªÀ]h«À]h÷ææ,ÀvÀl&ƒ­:ºÐD,Ðæv ˆæ” ˆÀ¼ÿÁÒ ‘‘4v”ÒÁ,ô‘!®n·!VðƒÆPð[*˜Bw Àé· ZÀ,#& 4#ü‡·Nþß„Bßo*¼B@fÿÆ:À4#¨ ,#ü‚÷(.÷ *æC *àB¯JÒ  Ä ÷·•œ¾÷ Àñ‹ã9!ñœã9ã9ñœå9å9ñœç9ç9 EÅ µþ9þ9µ::·•h¾ô~–Aæ÷ Nþƒó•ÿÿã93Šå93Šç9 ·•L¾õ}�|9f�9æ°(L¯À+h¯”³©,@êÀv@a €\@/À+@ª÷>º«�{¯”(Jº«˜{hº«À{hT SE ;1)(RPETYCH.,13 # B OV M S ARCHP MUAR WO. NET;G) R1N(YOTTH,UCNW # B OV M DCEN . . =0 T2OI TB LSF OFP RIST ; 0 ,R010000 # IC B SSREDD ASTLIT GE ; R0),R5D(TALS O OV M NO ; 0 T2OI T EQ B D?TEIAITINE BTOT PUUT OIS ; ) R1T(PRTY T B ST T F BUSG M G IF . . =0 T1OI T5 O4OI T R B ) SP-(M,TITI#T V MO ERIM TSEONSPRER TORAPE OUEUE;QP)(S,-5)(RERIMIT V MO USATSTD ARBOEY KYþ° ;YES PRTA17 = . MOV OLSTAD(R5),R0 ;NO, GET CURRENT LIST ADDRESS .IFNZ $KT11C MOV OLPAR5(R5),$KPAR5 ; GET ASR .ENDC .IFG MSGBUF BIT #000001,R0 ;IS DATA IN WORKING OUTPUT BUFFER? BEQ PRTA20 ;NO, DATA IS IN USERS BUFFER DEC R0 ;STRIP OFF LSB MOV R0,R4 ;TO GET LIST ADDRESS ADD #DATA,R4 ;SET POINTER TO MSG DATA IN OUTPUT BUF¹÷Õàʽ‡f&Á�¤÷Á � ±Šû9„�‡æ &€¶6À ˜À  &‚6zB€ ù‡xBPKMÜNM$N‚~†BJMPYÐYØ^_&:º:xB G˜FHHº(¹© Xh¯”˜÷.´rV¯”(`‘«-Xh¯”Ó÷.™’Ï�»òó.c©�b¯”(ªc©À]h ‹©À]h"#÷æ¼ ž<,²ED· ÖÿÀÒÿÀ ÀeÆxÎÔÚî÷µÿßìÆÎÔÚî,ÖÐæ½àd¼w ¾èM*žC€È%ð•ÿÿÈ%ÿÿœÁEðÿÁ Cw Ü*ÂC ·  ÁejEBA  ûJ³ŠEÉr*æC6 ¾ŠH&æ¦f&MÖ €�‚ƒ„…‰æ& æ & ÷ †Ö wøpC~þB¿¯”(Žj¬e;h¯”Â÷.Iqϯ”(¢•«àh¯”÷Àæ,ÀE €�‚ƒÎD&„6 À,$Eƒ�‚æ& & f& & ¦)¶m€|,HЕ 6 TY TET;S 5)(RSRICTT,@R4 VBMO . = 20IITO T BIE BLNA EERADRET PARLE CO,;N R4 C DE . = 15IITO ES;Y 20IITO E BN C ND.E R DEEA RPT7 R3AST ARST, ES;Y5)(RBRODTT,@C1#D VBMO O ;N 15IITO Q BE 37SR,ANE F .I ? ERADRET PTY TOMFRT PUINS ;I 3)(R0,0040#0 T BI S IT BLEABENR RDT P &NT IRDOAYBKED OA;L 4 ,R01#1 V MO EDARLE CSR COF" IT BNEDO "ATTHE URNS;I R4),Uþ´ BR PRTA25 .ENDC PRTA20 = . .IFZ $KT11C MOV DATA(R0),R4 ;SET POINTER TO MSG DATA IN USERS BUF .ENDC .IFNZ $KT11C MOV ODBFAD(R5),R4 ; SET SVA TO MSG DATA IN MOV ODPAR6(R5),$KPAR6 ; USER'S BUFFER .ENDC PRTA25 = . INC CHCNT(R4) ;INCR CHAR COUNT CMP CHCNT(R4),(R4) ;HAVE ALL CHAR BEEN OUTPUT? BHIS PRTA40 ;YES ADD É&÷.´rˆ¯”(Z¶pHh¯”Þ÷>ó«=¯”(ó«ÊA ö ÷W,´÷ ¦¶ öåîW ÌÌ †—-ýÿ÷ 1,ØPö öe÷ ´¶ ì ÷ 4÷ ®À ,Ë|· úÿæöÿæuˆæN ˆˆP´uNÉ  9 ä,äÌ& ‹€÷ ìó & Â5@Î& ÷ LðÖ Û*ÂDÂŒ€Ó ÂŒ€ûÜÓ$ÂŒ€û A¼÷“ê÷ *æDè±ÁjE`BA«W,ÿúJÍ÷ vëÅpDDÄå�Ä ÃNCS# Ó Ë û÷ªDVæ`D÷ ö×Ë ÓÕ Û Å Ñ÷¸D:ñW¥,Ä ! ‚÷ –Å 7!^ôÄ ôE °8‡ ‡œÎhó«@8hó«€ph ¯”)÷./xO\¯”(/x€Wh¯”š÷6Ïüö ÷ö‹ 6Œ L†ö I¶-E6Š2,  öå¶í6 ……m…m÷  …´,D…íö‹ ¶mÐ2ò 7-GO X9ƒ ÷•Í2ò¤,1ñÿæä ˆæþæêÿˆÖ ÷•2Ùÿ·Š¿ÿæäWR5R(DBTI@T VBMO HOECL MAOR NOR FPETYR HA CET;S ) R1E(YPHT,C#1 VBMO CHITSWT OUUB RST 1ARLE;C 1)(RROSTFR RBCL G LA FEDEDCEEXR HA CAX MARLE;C ) R1H(XCMA RBCL ERNTOU CARCHE IZALTINI;I ) R3T(CNCH R CL C ND.E E USE URUT FOR FVESA; ) R56(ARDP,IR6PA$K V MO R FEUF BTADAF OVA SVESA; ) R5D(FADB,IR3 V MO E OVABR FOR AS; R6PA$K),R02(TADA V MO R FEUF BTADAF OSSREDD AALTUIR VEMSTSY; Qþ¸ CHCNT(R4),R4 ;ADD CHAR COUNT TO POINTER MOVB MSGDAT(R4),@TTODBR(R5) ;OUTPUT NEXT CHAR CMPB MSGDAT(R4),#CR ;IS CHAR A CR? BEQ PRTA35 ;YES BR PRTA37 ;NO, GO RETURN PRTA30 = . MOVB #CR,@TTODBR(R5) ;OUTPUT A CR PRTA35 = . MOVB #10.,CHTYPE(R1) ;SET CHAR TYPE TO OUTPUT MODE CR PRTA37 = . JMP PRTA85 ; ; DO POST PROCESSING FOR A REQUEST ; PRTA40 = . Ù,°ö À…… ÷ "……íÅå÷ xvø,Ô¶m÷ Ž¶íƒ“� „ Ó•-:,øÓ• Ú & ˆÖ ˆXP¿  Xqt:: º)ºÈdìÛ ËEåÐEâ*ÒE÷ X$÷P÷ J· DfÁðìñ‹é2] öE¦Á B3¹ò2±ò2±39 ò2NÜ&7!Ü#¬ºyE»~VE÷ࢺô¥#J4Š#J·’º‡÷àŠºô‹#J­#J ·xº÷ÆDàþæ`D÷ ’ô ‡ô•#J·\º‡&& & & ÷  Ö ñèݯ”š©€p@%÷6ÔªOu¯”(Ôª€ph¯”š©¨p@÷6ÔªÏÞË•0Äå ‹ŠûÄe:3‘Æe…„c,¶¶–%V ‡f¦æ&÷ h÷ dD C B [,@A „eC B A @ ƒeB A @ ‚eA @ �eßÈ0Ï,0> INPUT LONG MESSA¬ >› TGE êà*F‚��æÂì÷ æð÷ŠP7Š’&fÀtIÄ*4FЕ<ˆŠ¢<9·ŠzŠˆŠ¢<2ŠˆŠ¢-3*XFŠˆ "Á R3),R01(TADA V MO STLIR FOR AST GE; 5 ARKP,$5)(RR5PAIL V MO 1CT1$K Z FN.I C ND.E SSREDD AERFFBUA AT DRSSE UET;G 3 ,R0)(RTADA V MO 1CT1$K FZ.I S ESDRADT IS LUTNP INTREUR CET;G 0 ,R5)(RADSTIL V MO . =0 I1OI TN URET;R 2)(R P JM . =0 O5OI T CKTA SFF ODECOR ROERP PO ; )+SP ( ST T E IMQTC, P SR J T UPRRTEINR TEINPRY TTE BLNA;E) R5R(CSTO@T0,10 # B IS B Mþ¼ MOV OTIMER(R5),-(SP) ;DEQUEUE TIMER MODULE FOR THIS UNIT JSR PC,DQTIME TST (SP)+ CLRB @TTICSR(R5) ;DISABLE KBD INTERRUPT CLRB @TTOCSR(R5) ;DISABLE PRT INTERRUPT PRTA41 = . MOVB LEVEL(R0),R2 ;GET LEVEL MOV #2,R4 ;SET REGISTER FOR INPUT DEQUEUING TSTB TTYPRT(R1) ;DID UNIT JUST FINISH INPUT? BEQ PRTA42 ;YES .IFG MSGBUF ;ASSEM FOLLOWé THIS MESSAGE DOEe Ä,ÚS NOT CONTAIN AN IMBEDDED CARRIAGE R’,þETURN; HOWEVER, ê*ÈFm7.¹&÷ Þ·£Ÿb ·­‘]·­¸*ìF†X÷à¹"Æeßq È7î¸d*GB1€fë‡æ w ü�¶ Ñ‹À D”Ä¥ À ù•~¾FD”Äå0�¡ ‚CÂà à Â`‚`a…À ïñ¥-úÿ v6 w ´û‡6ú'èdì(é8@Qh¯”š©€p@±÷6j8�{¯”(j8Àvh¯”š©€p@ií ÷ Rÿ÷ Œ÷ ˆ÷ ù,„ô „eC B A ƒeB A ‚eA �e@ €eÀ% ¡,<¶ ‡Àe÷v!6 †Í•-… ‡6 °îIT SHOULD AUTOMATICAâ,"LLY JUMP TO A NEW LINEæ¶ ˆˆ´O¶$´2F ï÷ –…Åe•e•e•eÍ%<Íå *4G<¥ Õ å%ÍåŽ Ã�0ÜgIÎ ÎàÎÎ *XGÎ Î ö¶ ¶ ŽUŽU±Ñ &÷ Ö Â‹ð w ’û„…ÀGÄ �Õ•+Á•  â€d Á08~6GB`•�È ôÄe0 ‘¶ w ^û–%‡Õ•- äÒ‹åÿÿ·ôÿ·îÿ· . =5 O4OI T) SP-(M,TITO#T V MO ITUNR FOR METIT PUUT OUEUE Q ;P)(S,-5)(RERIMOT V MO G MSF OARCHT 1ST PUUT;O 5)(RBRODTT,@R4 VBMO . = 42IOTO ES;Y) R1E(YPHT,C0.#1 VBMO O ;N 42IOTO E BN R C AITS ;I CR,#R4 PBCM SG MOFR HA CST 1ET;G 4 ,R4)(RATGDMS VBMO ERNTOU CARCHE IZALTINI;I ) R4T(CNCH R CL . =0 O4OI T DCEN . SE URETUFUR FOE AV S ; 5)(RR6PAODIþÀING FOR MSG BUF SYSTEM BIT #000001,OLSTAD(R5) ;WAS DATA IN WORKING BUFFER? BNE PRTA43 ;YES, DEQUEUING NOT REQUIRED .ENDC CLR R4 ;NO, SET REGISTER FOR OUTPUT DEQUEUING PRTA42 = . JSR PC,DQLIST ;DEQUEUE LIST JUST PROCESSED PRTA43 = . CMPB TYPE(R0),#2 ;BRANCH ON EXIT TYPE BHI PRTA44 ; TYPE 3 .IFG MSGBUF BLO PRTA47 ; TYPE 1 ùàÿöÅ… … … ÅEàÿv‡÷จ*îGÀJÙ÷åBÈð5ô7ô·&÷ ¤ÿ’*HÎ Î�a—-ö�Q—-?ö�ú÷ rÿÆvÿ÷ hí÷ êw^æö·æ÷ 67 wJ÷øÿ‡"H ~&HÿÿI6H) ERROR XXXXX SXXXXX SXXXXX SûÀvh¯”¦÷.\$¯”(\@h¯”ö÷6r©XÀ¯”üæ,€ �@`Ž& 6 C”ÃÅ€× T × š"$F×  @ òN V ‡v û´ó.+ª=V8}4dGA ¾ ›8}^GL o ›8}¡KGt ~ ›* ç Ps ›* ó  ›* ÷  ›* D m ›þB*6HÁö·£=  ·­/·­$Ñ B\*ZHÆe�‚¦÷ JÿŽ-ô ¶-ï,~H¶- êÿXXXXX SXXXXX @HGHNHUH\H·øÿŽw ú¦Åêÿ w ú…æh·÷àb·Í f~žH €ÿw|ÿ· zÿ·L·w öùއ� ø7 ®ÿÅ\ÿ((r©h¯”š©€p@‹÷6i©XÀ¯”( i©h¯”™«@¨÷6,ARKP $ OV M ERFFBUA AT DOFA SVE AV S ; 5)(RADBFOD4, R OV M VEBO AOR FSR A ; 6 ARKP,$0)(RA2AT D OV M SSREDD AALTUIR VEMSTSYA AT D ; 4 ,R0)(RA1AT D OV M T IS LOR FSR AET G ; R5PA$K),R55(ARLP O OV M C 11KT $ NZIF . DCEN . S ESDRADR FEUF BTADAS ERUST GE ; R4),R0A(AT D OV M C 11KT $ Z IF . . = 30IOTO DCEN . 0 O4OI T R B T IS LSTPAR TEINPOE OV;M R4A,AT#D D AD EþÄ TSTB TTYPRT(R1) ;TYPE 2, DID UNIT JUST FINISH INPUT? BEQ PRTA4A ;YES, GO UNSUSPEND TASK BIT #000001,OLSTAD(R5) ;WAS DATA IN WORKING BUFFER? BNE PRTA47 ;YES, TASK ALREADY UNSUSPENDED .ENDC .IFZ MSGBUF BLO PRTA46 ;TYPE 1 .ENDC .IFG MSGBUF PRTA4A = . .ENDC JSR PC,TUNSPN ; TYPE 2, UNSUSPEND CALLING TASK .IFG MSGBUF JILINIPIRITIVIXIM~ŽI š©€p@ã÷6v©Ï¯”(¼v©h¯”š©¨p@Ù÷Vv©�¯ ,l…ö‹àÀ …À …€à…v á ‡ …Ñ"�¡‚�V 6€‡Ö v ôPó.c©=  ’ E*¨ O MINUTES æ„ ˆˆ, ?2„ ,  à'  >IåhIGÿ|*~I&€öv¶ <†—-‡€÷à\¶÷*¢I7�Ðÿ·�Ëÿ÷Âÿ6 ðª~J”(v©Àh¯”º«€p@Ôª€p@š©€p@v©€p@쨀p@À÷.E©Ou¯”(.E©€p¯”(c©@8h“«@8hØ÷ææ,& Ž & &f¦æSTLIF ONGNIINEG BTOR TEINPOT GE ; R40, R OV M B LSF OFP RIST ; 0 R EC D R FEUF BRSSE UINS ITADA, NO ; 0 O3OI T EQ B R?FEUF BNGKIOR WINT IS LIS ; 0 ,R010000 # IT B F BUSG M G IF . S ESDRADT IS LUTTPOUT ENRRCUT GE ; R0),R5D(TALS O OV M T PUUT OOR FPETYR HA CET;S 1)(RPETYCH RBCL . =0 O2OI TS YE ; 0 I1OI T EQ B ? EDATTINI IBEO TUTNP IIS ; ) R1T(PRTY T B ST T CHITAþÈ BR PRTA47 .ENDC .IFZ MSGBUF BR PRTA46 .ENDC PRTA44 = . JSR R5,PUSHR ;SAVE REGISTERS .IFG MSGBUF MOV R1,R4 ;MOVE UNIT NO. TO TEMP REG TSTB TTYPRT(R4) ;IS INPUT BEING PROCESSED? BEQ PRTA45 ;YES ASL R4 ;SET INDEX TO 2*UNIT BIT #000001,OLSTAD(R4) ;NO, OUTPUT. IS LIST IN WORKING BUF? BEQ PRTA45 (X쨀phº«€ph¯”š©€p@ÿ÷.£XÀ¯”(£h¯”÷,lÄ0¡0LÀ Á  à ¡9Qö v,�¶ Äå0÷ $÷ FaB A @ v!$Ö9,´NÀ „~ÎTÞT TASK # 7 æÐT ˆˆûŒU2ÁuI& H” H” H”¦)€�@*‚JÀ@E7´úÁ% Á ýÀˆEÁ1ŠEà Á Á ´(¦JúÀºEÁ1˜»EÁ ü÷•ÿÿû÷•ÿÿ¹þ7Šûf¦æ&×þÿ&  „Ý6 Ä c7¡�6¶Ï�¯”(R¶}h6ªÐh¯”6÷>ì¨Ï¯”( ì¨hº«Á  à /…#¶í ö Ž,Ø Ží¶ã cw& 23 ‚÷ Ò¶ ö Û,üöw÷ šöeõ¡.ö  Ž~FU|U TASK SWT OUMETIT 1SR EACL ; ) R1O(TTRS F B LR C 4)(RTRCN,TIMWTTT # B OV M ERIM TITWAT SERE ; R4),R5R(METI W OV M NO ; 0 T1OI T NE B N? OEDRNTUT NI UIS ; 1)(RONTY T B ST T T NI UOR FNTOU CATPERET SE ;1)(RPTORTTS,RYNT # B OV M K ACSTP POD ANS ESDRADN URET RET;G R2+,P)(S V MO . =T NIOI T; 1CT1$KF IAR PSSREDD ASTLIS INTAON CR5PA$K ; EDORSTRET NOD AND SE URE AR43,,RR2 ; O. NITUN2*=þÌ ;NO MOV (R0),R1 ;YES, ORIG LIST ADDRESS IS IN THREAD WRD .ENDC PRTA45 = . MOV R0,-(SP) ; LIST ADDRESS TO STACK MOV SYSTEM(R0),-(SP); TASK NUMBER TOO JSR PC,IOCOMX ; CALL I/O COMPLETE SUBROUTINE ;WITH LIST ADDR IN R1 JSR R5,POPR .IFNZ $KT11C MOV OLSTAD(R5),R0 ; RESTORE LIST MOV OLPAR5(R5),$KPAR5 ; ADDRESS .ENDC)hD•ÄE€ÿ¡ Ä0¡0Ñ¡9ÎÄå0à Ä`Ò,Œà à av!$èö  ö` ƒ"w ÿÀ ,°ö ÷ 4û€Ä÷ 4æ*"V TASK # 9 æVF~6V ˆææˆÖ öÚV2 +B†LM¾MRNNO*PÀP–Qï,tK’RlSèS`TæT`\‚UVßlU4*šK À3Á§4Âß3ÀefÁe3Âe3ÃdKÄ„K„,¶æ—þÿß•àþÿ|~^L÷ ÄüL7 ¾üŸ•þÿæ¦f�v¤ü ‚ZI²� 6 ²€6 „Ü×þÿß•àþÿÆ~ü&ò¼ 7 ¶Ê-2÷.vÏ�¯”(Ni© Zh¯”F÷6¹wÏO¯”(œw.¦f&÷ (¡÷ ",ÔÅ¡÷ ƒmB A @ ‚mA @ �m@ €cã,øÅ ïÄ åÆeöå¶ Îö ÷ Ôû†öeî/’~®VÊV TASK # 0*¾KÅЕŠÅ û×-çB÷B çæ3& & Ù,âK& ˆÎ,KæˆÎ2KæˆÎ8Kæ<<ˆÎVK»*LæVÿˆÎ\KS INTAON CR5 ; O. NITUNS INTAON CR1 ; ;- -ITEXN PO UNSIOITNDCO ; ; LYULTFECSPRET PUUT OORT PUINR FO1 R O 0NSAINTCOT PRTY T ;S ESDRADT IS LUTNP INTREUR CNSAINTCOD TALS I ; SSREDD ASTLIT PUUT ONTREUR CNSAINTCOD TALS O ;T NI*U 2NSAINTCO5 R ;. NOT NI UHE TNSAINTCO1 R ;; --Y TRENN PO UNSIOITNDCO ; ITINTOC, P SR J ;; --E NCUEEQ SNGLIAL C ;; 9þÐ PRTA46 = . MOV SYSTEM(R0),R4 ; WAS REQUEST MADE BY TASK? BEQ PRTA47 ;NO, BY SYSTEM DECB IOSTAT(R4) ;YES, DECR TASK I/O STATUS IN TASK TABLE .IFNZ OVRLAY BNE PRTA47 MOV R4,-(SP) ;TASK NO. TO STACK JSR PC,RELTSK ;RELEASE TASK .ENDC ; ; SEARCH QUEUES FOR NEXT REQUEST TO BE PROCESSED ; PRTA47 = . CLR R4 ;SET Q POINTER FOR PRIO97  € ·  ˆúìW2 @~žW:3�ØL”K°3W*ØL÷^ÿæ.L ˆæZL ˆ×-@ÿæ~LæŠÿˆÉ,üLÖ õæ:ÿ÷ 4ÿæTLˆ÷&ÿæ.L ˆˆšM;1 7 €û7 Æ7 jú�Áe Ætûffffffð•:~ÆM#JÂ�NW"Âåø1f÷ ŠúŸ•þÿ‚�€Ž‡cc<@jh¯”½«¸j@¬÷6ã�b¯”(£ªÀ]h¯”š©¨p@{÷>=f¦æ÷ õ,Ð÷ ƒeB A @ ‚eA @ �e@ €e‡Ã B A @ 1ô‡    ‡®ó.ž:=¯>7  � ·  æ æˆÖ õÀ8XÂÒ~XáÒâ’$Òä?"M 4’*nM|M TASK 2 MESSAGE Xú ’MXXXXX]*˜Mæ8& & æˆ@cúMNN&f¦æ&fæ—þÿ €ÝM ~>N7 æúJ‚À ZI€ ß•àþÿœ#J  Âå*9ð•#JŸ“þÿBœ  ƒHI.C UTTPOUR OUTNP IZELIIAITINO TNETIOUBRSU- -ITINTO ; ;; GEPA . 4 RINX DEINH IT WRNTURE ; C P TS R R TEISEG RRETOES;R R1+,P)(S V MO 4 D AD; + 4)(R+,4)(R P CM R4 L AS R4 L AS R41, R DD A 1 ,RR2 D AD X)+ L VELE+ T NI*U(42* ; R1 L AS EXND ICTRUSTON;C R1 L AS ERSTGIREE AV;S P)(S,-R1 V MO . = QXET G; ESEUQUT PUIN5þÔRITY OUTPUT MOV #1,R2 JSR PC,GETQX CLRB TTYPRT(R1) ;SET UNIT STATUS FLAG TO INPUT JSR PC,LOCOUT ;LOCKOUT INTERRUPTS .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM PRTA49 = . MOV R5,R3 ;SET UNIT LEVEL INDEX TO PRIORITY INC R3 TSTB DAVAIL(R3) ;IS PRIORITY DISC FILE FOR UNIT AVAIL? BEQ PRTA50 ;NO, GO CHECK PRIORITY OUTPUT CORE Q CIÞÿæ4NˆæN ˆˆ± ‡OøVN(6×#¢N°N PRIORITY (ÀNÎNJ17¡2ú.‚ß•àþÿ­#J)ô•#JÄ ZI„ Ê �œ Á ¹6I±6I´Š#Jß�þÿ¶ß~.O „ƒ‚�ö އö—þÿæ÷ ýwŽ Ž Ž 6 K÷6ã=¯”(£ª@8h¯”š©¨p@Å÷>£=¯”(L%\#ó.¹©�b¯”c©@8@c©À]@‹©À]@V÷æM:Àx9¨ p9ü‚÷(.÷ *æDY÷ bï×'xÿÿÿw�ßw téÆ[檦÷द&×-"¬[‚€È ÷e? ßU@fÿð bN´)ØNæN TASK 4 COMPLETEQ*üNæ¢N ˆæÀN ˆÀ¼ÿÁþN ‘‘]* O‘!œÑNÀ üOäŠþÿ7 öÿ÷ ¸ùa÷ ¤ø^İùÄ  Ã÷ ÚÿíÂ`ò HI!÷—!®8 áß•àþÿ~¦O÷ ¶ÿÛ�HIwrù²HIHI²6IòeHI6I EÜW­Pc©@8h“«@8h¯”š©¨p@÷~š©Su¯”(úš©€phš©¨ph¤«Àvh~¯”ò«@R FO2 = ;S UEUE QUTTPOUR FO0 = X E ERWH ; +4X)L+VELET+NI*U(44*S LEABQTO TEXND INSAINTCO4 R ;; --T XI EONUPS ONTIDION C ;; LYVETIECSPRET PUINR OUTTPOUR FO2 R O 0NSAINTCO4 R ;L VELES INTAON CR2 ; O. NITUNS INTAON CR1 ; ;- -RYNT EONUPS ONTIDION C ;; QXET,GPC R JS ; ;- -CEENQUSEG INLLCA ; ;S LEAB TSTLA QND ASTIRQF ;1þØMPB NXTMSG(R3),NXTSEC(R3) ;ANY MESSAGES IN PRIORITY FILE? BNE PRTA95 ;YES, GO READ DISC TSTB DBFULL(R3) ;MAYBE, IS DISC FILE FULL? BGT PRTA95 ;YES, GO READ DISC BR PRTA55 ;NO, GO CHECK FOR PRIORITY INPUT .ENDC PRTA50 = . MOV QFIRST(R4),R0 ;ANYTHING IN PRIORITY OUTPUT Q? BNE PRTA65 ;YES PRTA55 = . ADD #8.,R4 ; NO-SET Q POINTER FOR PRY7 äø7 ÿÀàøÀ 0 HIðHI6I0`6IÀåöÀdÁÈ1 ZIð•#J0ЇJ0ŠëJá À ôÀÁNÙÀ ü‡Â ~–PÀ ÷e ˆø×-„ødÁZ¸j@ñª¸Q@Ï÷fó`Oޝ”(&š©#th  ©Xzh ñª¸Qh,«0zh½«¸jh¯”7ªÎ@š©øp[Á¥/Á¥TDÁ%' w,wœw`N,´wþwxwœõ¥, òõ¥) ðA Á¥(',ØíÁ¥/ìÁ¥'ëÁåAÞ�Á%Û \¬ÿÿôœÁEðÿ~nZW íÁ 9Î[1Î[ æ7x¥ ðŠÿ[ÔÀ À À `Á®[`÷à\¥7�lBA<W¬ÿùñŠöCEqœJ°Î[]&P� ýªPP8O*zPˆP TASK 6 MESSAGE NÞžPO. XXXXXXU*¨P· ^qÎPZI¹ZI¹èP0œÿPëJ0Š#Já À  ð‡ Q¨QRRS®SZTøTžUFVìVvW‚QRÈRzS$TÐTnUV¼V¼V¼V?~Q Q2_@e©¢Œ@ ÷>""’¯”(:š©øph¯”¤«Àv@ ©`;@«÷> #�@œ2À À 3 "2›,ü`wÖwúwÔwÚwØwÖwÖwÖwX, æwÐw4wHwŽG INEXND IOR FERNTOI PCTRUSTON CTOE INUTROUB S--X TQGE ; ;; GEPA . N URET;R PC S RT ERSTGIREE ORSTRE; R3+,P)(S V MO T OUCKLOE ASLERE; PS@#+,P)(S VBMO E"BLEAEUQU "STLID UEUE-QDET SE; ) R0,(#1 V MO: 10LIDQ E EUQUY PTEMR FOY RLPERO PTEDAUP; 4)(RSTLA,QR3 V MO C ND.E SSREDD AALICYSPH ; R3 R RO C CL EDCKPAE ATULLCCA; R3 R RO C CL -þÜIORITY INPUT MOV QFIRST(R4),R0 ;ANYTHING IN PRIORITY INPUT Q? BNE PRTA75 ;YES .IFG MSGBUF ;ASSEM FOLLOWING FOR MSG BUF SYSTEM DEC R3 ;SET UNIT/LEVEL INDEX TO NORMAL TSTB DAVAIL(R3) ;IS NORMAL DISC FILE FOR UNIT AVAIL? BEQ PRTA60 ;NO, GO CHECK NORMAL OUTPUT CORE Q CMPB NXTMSG(R3),NXTSEC(R3) ;ANY MESSAGES IN NORMAL FILE? BNE PRTA95 ;YES, GO READ DISih,«0zh½«¸jh¯”7ªÎ@š©øp@e©¢Œ@ ÷.=;Ñ�¯”(d7ªœwh¯”_jï¶- êÆeÆe ˆª¦ö ¡&÷à¡×-”ª_†€ðEÈ Èe÷et?p6 È €¦öT~_Þ w zã€÷àk{~Ö[dd÷ X$÷l  Q:ÈæQôQd*\RjR INPUT LONG MESSAà €RGE xm,R TASK # 3 æR ˆæ& & & ˆÖ ˆæR2}n÷.„T¯”(6e©¢Œh¯”÷.š:O*¯”(¦7ªÎhoΠÈ%È%ÿÿÅÁ|_BA  ûJÉ6 w PãÁ~_Å ïøðUòv_|_~_|_‚_~–_pP÷ J· Dæ"Iß JM& æbOBHI¹6I±6I±…~N\HI9 6I‚��æÂì÷ æð÷ŠP7Š’&fÀ¸_Е<ˆŠ¢<9·ŠzŠˆŠ¢ 1CT1$K Z FN.I T ASQLR FOT RSFI QOFS ESDRAD; 3 ,RR4 D AD R3T,RSFI#Q V MO EDTIMP E'TSNWAE EUQU; 10LIDQ E BN E EUQUN IADHEW NET SE; ) R4T(RSFI,Q0)(R V MO TSUPRRTEINT OUCKLO ; UTCOLOC, P SR J 4 RTOR TEINPOE BLTAQ T GE ; X TQGEC, P SR J ERSTGIREE AV S ; ) SP-(3, R OV M . = STLIDQ ;T PUINR FO2 = ;T PUUT OOR F 0 = XREHE W ; )þàC TSTB DBFULL(R3) ;MAYBE, IS DISC FILE FULL? BGT PRTA95 ;YES, GO READ DISC SUB #12.,R4 ; ADJUST Q POINTER BR PRTA70 ;GO CHECK FOR NORMAL INPUT .ENDC PRTA60 = . SUB #12.,R4 ; SET Q POINTER FOR NORMAL OUTPUT MOV QFIRST(R4),R0 ;ANYTHING IN NORMAL OUTPUT Q? BEQ PRTA70 ;NO, GO CHECK FOR NORMAL INPUT PRTA65 = . MOV (SP)+,@#PS yîŸ üÿ× 0‚÷•�ÿ÷m|üÁ5·Š}ÿ· nü³ «_‡Âœ«_æÀ¬_ à ”Daû„`ü_÷࢟‹÷v_ÿÓµ÷eÿ“�K�6 w .âÖ ¡Azµ‰!Àjm7ê¢&÷ Þ·£Ÿb ·­‘]·­†X÷à¢"Û~>]Æeßq È7ª¢B1€f÷ –…Åe•e•e{rS <Ð.¼SÊS TUESDAY 1400 XEQæ¼S^äS ˆˆXT =‡*8T|×~fSˆS TASK # 5 æzS ˆæ& & & ˆÖ õBT2}ææ,““““\ûœ\œ•„ \CaÃðæ$CaÃîbó.Cz~~†`±ærŸ÷àlŸÆå VÖ €$Á¾_Î5Á¹_& H” H” H”¦)€�À„[7´úÁ% Á ýÀÌ[Á1Î[à Á Á úÀþ[Á1˜•eÍ%<Íå<¥ Õ å%ÍåŽ Ã�0Ü«_Î ÎàÎÎ Î Î ö¶ ¶ ŽUŽU±Ñ µ~¶]&÷ Ö Â‹ ¦�& &  €NÑ & ÷ xíÖ Â ”€@FT 5-TH AT 0830æ8T^\T ˆˆÞT >‡*°T¾T TASK 12 EVERY TW^ 4 )++XELEV+LITUN4**( 4 =R4 ; ;- -ITEXN PO UNSIOITNDCO ; ;A SVT IS LOR FUEAL VNSAINTCO5 ARKP $ ;Y ELIVCTPEES R ; S,STLIT ESQURET PUINR OUTTPOUR FO2 R O 0NSAINTCO4 R ;L VELES INTAON CR2 ; O. NITUNS INTAON CR1 ; E EUQUS ITN ISTIR FBET US-MSSREDD ASTLIS INTAON CR0 ; ;- -RYNT EONUPS ONTIDION C ;; STLIDQC, P SR J ;; --E NCUEEQ SNGLIAL C %þä ; RELEASE LOCKOUT INCB TTYPRT(R1) ;SET UNIT PRIORITY TO OUTPUT .IFNZ $KT11C MOV R0,-(SP) JSR PC,PPASV5 ; GET SYSTEM VIRTUAL ADDRESS MOV (SP)+,R0 MOV $KPAR5,OLPAR5(R5) ; SAVE .ENDC MOV R0,OLSTAD(R5) ;SAVE CURRENT OUTPUT LIST ADDRESS BR PRTA80 ;GO INIT OUTPUT PRTA70 = . CLRB TTO1ST(R1) ;CLEAR 1ST OUTPUT REQUEST FLAG ADD #8.,R4 ‰®8®8RGÄ8HtÌ:¸~®8@€€@÷à2ÇÆ®8÷ºBÎÇ÷€ÊÇßjG ßà÷LB*Ç÷à&Ç÷´qFÇ÷Š´ Ä H.Ä Á–@`Á ý€ BƒÄf—%ˆæ¦  (¦ ê ˆˆ\ BA †¦ ›@×E+›=¼QL ›Œ; STANDARD REGISTER DEFINITIONS R0 = %0 R1 = %1 R2 = %2 R3 = %3 R4 �®k ÀZIÁëJÂ#JŠ~îaÀefÁe3Âe3èaÄÈaÅЕŠÅ û×-çB÷B çæ3& & & ˆÎpaæˆÎvaæˆÎ|aæ<<ŽàBÇÁ€÷š=&Çw$Ç÷Z; ÇwÇ� ÷š=ÀÇw¾Ç÷é~&9Z;ºÇw¸Ç÷ ¸÷ ÷ X÷ ˆ'÷ r÷ Ä÷ Ž(Áñ•ëJ1Š#JÁ ñÐBZI      � \ > *%> L T16 ERROR­L \ .\ Á–@`Á ý€ BƒÄf ;; UEUE QELEV/LCEVIDE ; TEIAPRROPP AHE TOFP TON OLYNTREUR C ;T IS LSTUEEQ RTY THE TUEUEEQ DTOE INUTROUB S--T ISQL D ;; ;E AG.P RNTURE ; C P TS R UTKOOC LSEEAEL R ; S #P,@)+SP ( B OV M DCEN . ERNTOI PSTLAE ATPD U ;4)(RSTLA,Q)+SP ( OV M A PPD EAHR T ; )+SP@(),SP.( 2 OV M ALTUIR VEMSTSYO T ; V6ASPPC, P SR J R TEINPOT AS LRTVEON C ;P)(S,-4)(RSTLA Q OV M !þè ; SET Q POINTER TO NORMAL INPUT MOV QFIRST(R4),R0 ;ANYTHING IN NORMAL INPUT Q? BEQ PRTA90 ;NO PRTA75 = . MOVB (SP)+,@#PS ; RELEASE LOCKOUT .IFNZ $KT11C MOV R0,-(SP) JSR PC,PPASV5 ; GET SYSTEM VIRTUAL ADDRESS MOV (SP)+,R0 MOV $KPAR5,ILPAR5(R5) ; SAVE .ENDC MOV R0,ILSTAD(R5) ;SAVE CURRENT INPUT LIST ADDRESS PRTA80 = . ™®8®8RGÄ8HtÌ:¸~®8@€€@÷à2ÇÆ®8÷ºBÎÇ÷€ÊÇßjG ßà÷LB*Ç÷à&Ç÷´qFÇ÷š5m5-ƒ5t4-‡,,°w5 5 wÆþõ w µ õ ',Ôùtm4-ƒwê÷ :þ› ; XXXXXXXX ;NPRIOR MUST BE GREATER THAN ZERO .ENDC MXTASK =100. ; MAœ ˆæžb ˆ×-@ÿæÂbæŠÿˆÖ õæ:ÿ÷ 4ÿæ˜bˆ÷"~Vc&ÿærb ˆˆÞc 4�w \އœ&& && ÷ èÖ ,ˆ ëœ ôЇJ¬âw ö�~Ž:nÅ& ÷ ¼wƱŠå95þ9ñ‹ã9Ë€ñ•ã9·•JÅ÷ 2Åw žàBÇÁ€÷š=&Çw$Ç÷Z; ÇwÇ� ÷š=ÀÇw¾Ç÷é~&9Z;ºÇw¸Ç÷ ¸÷ ÷ X÷ ˆ'÷ r÷ Ä÷ Ž(Áñ•ëJ1Š#JÁ ñÐBZI      ŸwÐþõ wt,øÞA"B´`4-ƒw¼� ô "´, ”P’ ÷u"÷ öýwŒþõ wš5-A X. NUMBER OF CORE TASKS IN SYSTEM QUEU NLTASK = 1 ; LARGEST TASK # OF TASKS LOADED WITH SYSTEM A PPO T ; A PPSVC, P SR J S ESDRADT IS LRTVEON C ; ) SP-(0, R OV M C 11KT $ NZIF . DCEN . ) R4T(ASQL0, R OV M 0 RBYO TEDNTOI PSTLIE EUQU ; 4)(RSTLA@Q0, R OV M C 11KT $ Z IF . S PTRUERNT IUTKOOC;L T OUOC,LPC R JS R4O TERNTOI PLEAB T QET;G QXET,GPC R JS . = STLI Q; UTNP IOR F 2 ; UTTPOUR FO0 = X E ERWH ; +4X)L+VELET+NI*U(44*= 4 þì JSR PC,TOINIT ;INIT NEXT INPUT OR OUTPUT FOR UNIT PRTA85 = . JMP RESTOR ;RESTORE REGS. & RETURN FROM INTERRUPT PRTA90 = . CLRB TTI1ST(R1) ;CLEAR 1ST INPUT REQUEST FLAG DECB TTYPRT(R1) ;SET UNIT TO NOT BUSY PRTA93 = . MOVB (SP)+,@#PS ; RELEASE LOCKOUT BR PRTA85 ;GO RETURN .IFG MSGBUF PRTA95 = . MOVB (SP)+,PS ;RELEASE LOCKOUT ©ñ¥'ô "� ë1Šèu"4Œ,¬÷ týw þõ wµ õ ùõ o,Ðõ% ‚Àwâu"uªS MXTASK+1 OVTMIN = MXTASK+1 ;FIRST OVERLAY TASK NUMBER OVRLAY = 0 ;SYSTEM OVERLAY OPTION« XXXXXXæÞÿæxdˆæRd ˆˆ± ‡He(6Š~¾d¬Ø<ä<ò< ==,=:=N=V=h=v=‚=±Šë9W¬ë9H@þ9 ´  -m=�|9­ hý• |9ñ• ó9af"~ö;�9÷ ÔÖ =Šp9=Št9 ­w \އœ&& && ÷ èÖ ,ˆ ëœ ôЇJ¬âw ö�~Ž:nÅ& ÷ ¼wƱŠå95þ9ñ‹ã9Ë€ñ•ã9·•JÅ÷ 2Åw ®µ �,ôuµ ÷ $ýwÊýu"uðõ K,wºõ% ‚õ u"÷ îüw„ýÁ,¯ ;0 = NO OVERLAY, 1 = OVERLAY .IFNZ OVRLAY ; MAXOVR = 20 °ôd PRIORITY e*e TASK 4€~6e COMPLETEææd ˆæe ˆÀ R ;; --T XI EONUPS ONTIDION C ;; TSIS LSTUEEQ RUTNP IOR F 2T,PUUT OOR F 0NSAINTCO4 R ;L VELES INTAON CR2 ; O. NITUNS INTAON CR1 ; EDEUQUE BTOT IS LOFS ESDRADS INTAON CR0 ; ;- -RYNT EONUPS ONTIDION C ;; STLI,QPC R JS ; ;- -CEENQUSEG INLLCA ; ;E EUQUL VELEE/ICEV DTEIAPRROPP AHE T ;O TSTLIT ESQUREY TTE EUQUO TNETIOUBRSU- -STLI Q ;; ; þð INCB TTYPRT(R1) ;SET UNIT STATUS FLAG TO OUTPUT MOV TTOBUF(R5),R4 ;GET OUTPUT BUFFER ADDRESS FOR UNIT MOV DRLIST(R5),R0 ;GET DISC READ I/0 LIST ADDR FOR UNIT ASL R3 ;ADJUST INDEX FOR WORD TABLE USAGE MOV FILEID(R3),(R4) ;PUT FILE ID INTO BUFFER HEADER ASR R3 ;RESTORE INDEX TO BYTE TABLE USAGE MOVB NXTMSG(R3),RLSECT(R4) ;PUT REL SECT ADDR IN BUFFER HDR MOV R0,-(SP) ;MAK¹ ; MAXOVR = 0 ;SET TO ZERO ONLY IF NO OVERLAYS .ENDC TASMAX = MXTASK+MAXOVR ;Mºòef I/O LIST CHANGED· p~&fÖÿÀÒÿÀ Àe6fx»ó9âñ‹ù9ý• |9ñ•ó9Ø1Šù9ý•U|9ñ•ó9±Šë9Ìý•^|9ñ•ó9ö}œï9|9ñ•ó9ﱊë9ý• |9ñ• ó9å1Šó9wjþý• |91Џ¼Ø<ä<ò< ==,=:=N=V=h=v=‚=±Šë9W¬ë9H@þ9 ´  -m=�|9­ hý• |9ñ• ó9af"~ö;�9÷ ÔÖ =Šp9=Št9 ½Âõÿÿ™7ª-!°,ð÷õ õúõöm"ò,m"5d õ w¾AXIMUM NUMBER OF TASKS (INCL OVERLAYS .IFLE MXTASK ; XXXXXXXX ;MXTASK MUST BE GRE¿>fDfJf^f÷µÿß@òæâe ˆ÷ –ÿæf ˆE7 œÿ  @`� ýìfP8~žfÀ~^=ë9ñ• ó9§ý• |9ñ• ó9 1Šë9@:wrþñ‹û9w&ÿý•|9ñŠû9wÿÁ�^ÂÁEðÿEÅ DŒ9ô•@: Ê €f�9æ÷ †Ö DŸGEPA . RNTURE ; C P TS R CKTA SFF ODECOR ROERP PO ; )+SP ( ST T NDPEUSNS ULLCA ; NDSPUNC, P SR J R)LLCAO TRNET(RK ACSTO NT ORNRT ISHPU ; P)(S - LR C NDPEUSNS UOF# K AS T);SP-(),R0M(TEYS S OV M . =N SPUN T ; STLIF OSSREDD ANSAINTCO0 R ; ;- -RYNT EONUPS ONTIDION C ; ; PNNSTUC, P SR J ; ; --E NCUEEQ SNGLIAL C ; ;K AS TNGLIAL CNDPEUSNSþôE DISC READ REQUEST JSR PC,DISCIO TST ERROR(R0) ;ANY REQUEST ERRORS? BEQ PRTA85 ;NO CLRB DAVAIL(R3) ;YES, CONVERT TO CORE Q FOR UNIT/LEVEL BR PRTA47 ;GO EXAMINE Q'S .ENDC ; ; ; PROCESS INTERRUPT FROM ECHO OF INPUT CHAR ; PRTB10 = . INCB TTCURS(R1) ;INCR CURSOR FOR THIS TTY UNIT PRTB20 = . MOV OTIMER(R5),-(SP) ;DEQUEUE ECHO TIMER JSR É g`g 7-GO X9ƒ ÷•1ñÿæRg ˆælgæêÿˆÖ ÷•-ʉ’  ƒ$hf€pù,¶¦ö�þÿ÷Õàþÿ‡f&Á�¤÷Á � ±Š‹„�¢þÿþÿ"‹# Ë ñ•ó9îý•^|9ï~N>ñ•ó92 ïò äò Ê Þ�à ñ‹í9 ±Ší9Ä•\ñ•ó9ñ’ï9ÐÄ’Î1Ší9²  ‘1‘ï9Ä•\ñ•ó9Áñ‹ñ9À±Šñ9fÌ@8+ªÀ],‚ô wÆþ&f´c4-l.+ª@8£ªÀ]£ª@8 «À] «@8ïÍ QTAB XXXXXXXX ;NTASK MUST BE <= MXTASK .ENDC ; ; THE FOLLOWING IS A LIST OF PRIÎ~Žg2Ùÿ·Š¿ÿæRg ˆˆæ9& ˆÖ ‡÷•3¹ÿ÷ŠŸÿæRg ˆæ:& & & ˆÎ;& & & ˆÖ ˆÆhP:ÏÚ‡‰óÐ�9÷ Ö ¸½Šp9½=‘|9ñ• ~Æ>ó9fŒ9÷ Ö ²Ä•=‘|9ñ•ó9ò€÷ :È 6·• Áœ8w °ù5Á W<°84ñ5€°8<Aœ°8p� ¬ UTOE INUTROUB S--N SPUN T ; ;E AG.P CEVIDEE ATRNTEALT AOKLOO ;G 02QARE BR . NOE ICEV DTENAERLT AET;G 1 ,R1)(REVTDAL V MO O ;N 25QARE Q BE T?ISEXE ICEV DTENAERLT AESDO ;1)(REVYDPH0,0040#0 T BI . = 50QARE N URET;R PC S RT L VELED LIVAINR FOE OD CORRR EET;S) R0R(ROERV,LERR#E V MO . =0 A4EQ R RNTURE ; C P TS R E YP TITEXD LIVAINR FOE OD CORRR EET;SþøPC,DQTIME TST (SP)+ MOV ILSTAD(R5),R0 ; GET ADDR OF CURRENT INPUT LIST .IFNZ $KT11C MOV ILPAR5(R5),$KPAR5 ; SET UP ASR5 .ENDC .IFZ $KT11C MOV DATA(R0),R2 ; GET DATA BUF ADDRESS .ENDC .IFNZ $KT11C MOV IDBFAD(R5),R2 ; DATA BUFFER SVA MOV IDPAR6(R5),$KPAR6 ; SET UP ASR6 .ENDC MOV (R2),-(SP) ; STRIP OFF BITS 13,14,15 OF 1ST WORD OF Ùææ,fD ²Ã1‚ °C*‚À  F#‡Æåî,$Äe&&&&æñæ\)æ;ªæ¸@7 FÚ°8ìAº8°÷ >÷ †<:4:·•RÀ‡&÷ &÷ »~¶?n:ü:4:Àe:4:·•(À€‡fÁ Á �`D`Ä �‡‚ñ•é9ñ‹û9CD”9ô•Ûw0û@ š©¨p‚,Z‚€ †€`ÀàÂP” ý wºÿÖ ‚�^,~ ñ‚�`ÁàÂìÀ`ƒàà•ÜVEL 1 PRIP02 = 0 ; PRIORITY PROPERTY LEVEL 2 PRIP03 = 1 ; PRIORITY PROPERTY LEVEÝ;õ~öh2ip THIS MESSAGE DOES NOT Þj7$Ôª&j—H"0já*i©",ª º« 0jdTßð1Š÷9ñ‹ã91Šó9@þ9 4 �¡ ñ• ó9=‘›~.@|9f�9æýÕ@t9÷ Ö J@: 3 1Šñ91Ší9ñ•ó9DŸx9ÄAË5@à à ü€à  ¢äfó.7ªO*¯”š©¨p@ ©`;@7ª q@�÷) R0R(ROERT,REER # OV M . = 35QARE N URET;R PC S RT ORRR EPETYE ICEV;D ALICYSPHR FOE OD CORRR EET;S) R0R(ROERT,PDRR#E V MO . =0 A3EQ R RNTURE ; C P TS R R BEUM NCEVIDEL CAGILO ; IDALNV IOR FDECOR ROERT SE ;0)(RORRR,EDNRLER # OV M . = 25QARE N URET;R PC S RT DECOR ROERE BLEAEUQUT NOT SE ;0)(RORRR,EQLRR#E V MO þü BIC #160000,(SP) ; BUFFER TO GET NO. CHARS TO BE INPUT BIT #020000,(R2) ; STOP INPUT AFTER NO. CHARS SPECIFIED ; IN BUFFER ARE RECEIVED? BEQ PRTB22 ; NO CMP CHCNT(R2),(SP) ; YES, HAVE NO. OF CHARS REQUESTED ; BEEN INPUT BHIS PRTB24 ; YES, GO TERMINATE INPUT PRTB22 = . TST (SP)+ ; REALIGN STACK BR PRTA85 éÄ ô5@°8sº8 ò5€°8lò5°8hô5 °8„êôU °8=Št9=Šp9�œ°8õ~Ap� w`ø÷ ¶B   Âe:Å Å @Àe:Åe:Ä÷ Ú:êó7ªàƒ7ª qÿ,HÆe(\Àà Àw Ã%Œ š©¨pl,l÷ ë PRIP08 = 1 ; PRIORITY PROPERTY LEVEL 8 PRIP09 = 1 ; PRIORITY PROPERTY LEVEL 9 ì =ž~^jˆj 5-TH AT 0830æzjíyæš‚æ¦B7 ñκF|š.ì¨F Ôª ì¨Ôª|)(ÜXæÅ®îJÒ  Ä ÷·•œ¾÷ Àñ‹ã9!ñœã9ã9ñœå9å9ñœç9ç9 EÅ µþ9þ9µ::·•h¾ô~–Aæ÷ Nþƒó•ÿÿã93Šå93Šç9 ·•L¾õ}�|9f�9æï6ü w ÷ (÷ 8Æe(l ©`;ó,�ò\÷ "Æe(\ñ ùÃÀP©´w ðPRIP10 = 0 ; PRIORITY PROPERTY LEVEL 10 PRIP11 = 0 ; PRIORITY PROPERTY LEVEL 11 PR T OUCKLOE ASLERE; PS@#+,P)(S VBMO RDWOD EAHR TRETOES;R 0)(R C IN . =5 A1EQ R2 T*NI U =R5 ; ELEV L +*2ITUN= 3 R ; T ESQUREF OELEV LTYRIIOPR= 2 R ; . NOT NI UTY T =R1 ; SSREDD ASTLI= 0 R ; H IT WRNTURE ; C P TS R S ORRR ENOR FOE OD;C þ ; GO EXIT PRTB24 = . MOV ITIMER(R5),(SP) ; DEQUEUE OPERATOR RESPONSE TIMER JSR PC,DQTIME TST (SP)+ JMP PRTA40 ; GO DO REQUEST POST PROCESSING ; ; ; PROCESS INTERRUPT FROM ECHO OF FORMATTING LF ; PRTB30 = . .IF NE,ASR37 TSTB PADCH ;HAS PAD CHAR BEEN OUTPUT BNE PRTB35 ;YES MOVB #NUL,@TTODBR(R5);NO INCB PADCH ;SET PAD OUTPUùææ,&÷ Á à wÂô xñµ > ¾©Þ7ª""ú14 = -1 ; PRIORITY PROPERTY LEVEL 14 PRIP15 = -1 ; PRIORITY PROPERTY LEVEL 15 PRIP16û†k TRAP XXXXXX æøÿæ‘kˆæxk ˆˆ· äÿæ8& & & ˆÖ Mÿ~Æk2l Aü¶‹,h\¦¦¦¦\À¦À ü\Ö Ô*Œ\µ@óù3eÞ˜@ð7�Q©¸‹@Á•êã׋…@êÌg{HØóýŠH&æ¦f&MÖ €�‚ƒ„…æ& æ & ÷ †Ö wøpC£~þBþ7ªÎQ,$ ÷ ÷ à à Ãewñµ ü7ªœw («p!7ª"",H wñ¥ÿ = 0 ; PRIORITY PROPERTY LEVEL 16 .PAGE ; ; QUEUE SYSGEN EQUATE CARDS ; DPRTY = 1 "l T15 ERROR Á–@`Á ý\~>l€ BƒÄf—%ˆæl ˆˆ TOD OR WORRR EITINO SS,ORRR ESTLIO ;N ) R0R(ROER R CL L VELE+ T NI*U 2 =R3 ; 3 ,RR2 D AD T NI*U 2 =R5 ; 5 ,RR3 V MO ELEV L +.)NOT NI U *(2= X DEIN; R3 L AS E.I.; ESBLTAO TEXND IELEV/LITUNA E AK;M 3 ,RR1 V MO . =0 A1EQ RE BLTAK AS TINS TUTA S/O ISKTAT ENEMCRIN ; ) R4T(TAOS I B NC I ERLLCAE THS IOS R ; 0 A1EQ R EQ B . NOK AS TVETIACE AV S ; 0)(REMSTSY4,þT FLAG BR PRTA85 ;RETURN PRTB35 = . CLRB PADCH ;CLEAR PAD OUTPUT FLAG .ENDC MOVB #1,CHTYPE(R1) ;SET CHAR TYPE FOR NORMAL ECHO CLRB TTCURS(R1) ;SET CURSOR TO BEGINNING OF LINE BR PRTB20 ;GO DEQUEUE ECHO TIMER ; ; ; PROCESS INTERRUPT FROM ECHO OF FORMATTING CR ; PRTB40 = . MOVB #LF,@TTODBR(R5) ;OUTPUT A FORMATTING LF MOVB #2,CHTYPE(R1) ;SET CHAR T R OV M 7:A0EQ R ERMBNUK AS TET G ; R4K,ASCT $ OV M NO ; 7 A0EQ R NE B K?AS TBYD LEAL;CPCK.TS,#P)(S1CT1$K4*6+ 1 MP C O. NSKTAR EACL ; 4 R LR C . = 05QARE ELEV LIDALNV IO,;N 40QARE I BH L?VELED LIVAA T IIS; 1 ,#R2 P CM ESBLTAD ANS UEUE QNGXIDEIN ; R FOL VELEY ITORRI PSTUEEQ RET;G R2),R0L(VELE VBMO O ;N 35QARE I BH þYPE FOR FORMATTING LF BR PRTA85 ;GO RETURN ; ; ; PROCESS INTERRUPT FROM ECHO OF "U" ; PRTB50 = . TSTB TOIFLG(R1) ;DOES TIMEOUT FLAG INDICATE AN BNE PRTB55 ;ABORT OF INPUT REQUEST PROCESSING MOVB #CR,@TTODBR(R5) ;NO, OUTPUT A FORMATTING CR MOVB #3,CHTYPE(R1) ;SET CHAR TYPE FOR FORMATTING CR BR PRTA85 PRTB55 = . CLRB TOIFLG(R1) ;RESET INPUT TIMEOUT FLAG BEAY;M 3 ,#0)(RPETY PBCM O ;N 35QARE O BL D?LIVAE YP TITEXS ;I 1 ,#0)(RPETY PBCM RDWOM TEYS SOFE YT BIN. NOT NI UVESA; ) R0K(TSRR,ER1 VBMO S LEAB TNGXIDEINR FO. NOT NI UTY TET;G 1 ,R1)(REVYDPH VBMO O ;N 50QARE E BN E?BLLAAIAVE ICEV DIS ;1)(REVYDPH0,0000#1 T BI NO ; 0 A3EQ R NE B D?LIVAE YP TCEVIDES ;I0 40#7),R1V(DEHY P IT B ESBLTAD OR WOR FEXND IKEMA ; ýý  BR PRTC15 ;GO CR, LF, AND DO END PROCESSING ; ; PROCESS INTERRUPT FROM ECHO OF "^" ; PRTB60 = . MOVB #'U,@TTODBR(R5) ;OUTPUT A "U" MOVB #4,CHTYPE(R1) ;SET CHAR TYPE FOR ECHO OF "U" PRTB70 = . INCB TTCURS(R1) ;INCR CURSOR BR PRTA85 ;GO RETURN ; ; ; PROCESS INTERRUPT FOR ECHO OF "^" ; PRTB80 = . MOVB #'^,@TTODBR(R5) ;OUTPUT A 2ND "^" MOVB #5,CHTYPE(R1) ;SET C 1 R SL A S YE ; 5 A2EQ R HI B ? GEAR LOO TITS ;I X MAOG,LR1 P CM . = 02QARE . NOE ICEV DALICOG LET;G 1 ,R0)(RCEVIDE VBMO T OUCKLOE ASLERES-YE; PS@#+,P)(S VBMO 1E..ND OR WADRETH, NO ; 5 A1EQ R NE B E BLEAEUQUT IS LIS ; ) R0 ( EC D D OR WADRETH ; G INSTTEE ILWHS PTRUERNT IUTKOOC;L T OUOC,LPC R JS K ACSTM RO FDD ASTLIT GE; R0),SPùýHAR TYPE FOR ECHO OF 2ND "^" BR PRTB70 ; ; PROCESS INTERRUPT FOR ECHO OF "\" ; PRTB90 = . MOVB SLSHCH(R1),@TTODBR(R5) ;OUTPUT NEW OR DELETED ;CHAR AFTER BACKWARD SLASH MOVB #1,CHTYPE(R1) ;SET CHAR TYPE FOR NORMAL ECHO BR PRTB70 ; ; PROCESS INTERRUPT FOR ECHO OF EOM CHARACTER ; PRTC10 = . .IFZ EOMOPT INCB TTCURS(R1) ;INCR CURSOR BR PRTC55C(11KT*$+420 V MO . = P QPRE ; S.ESDRADL UARTVIM TEYS SSTLI ; R FOD SE UBEL IL WR5AS, ONTIOPC 11KTF I ; ITUN2*S INTAON CR5 ; L)VELE+ T NI*U(2S INTAON CR3 ; ELEV LTYRIIOPRS INTAON CR2 ; O. NITUNY TTL CASIHY PNSAINTCO1 R ;S ESDRADT IS LNSAINTCOO R ;; ROZE ; NSAINTCOT ISEWIERTH OE;OD CORRR EANS INTAON CSTLI ; OFD OR WORRR EHE Tõý ;CR, LF NOT OUTPUT AFTER EOM .ENDC PRTC15 = . MOVB #CR,@TTODBR(R5) ;OUTPUT A CR MOVB #11.,CHTYPE(R1) ;SET CHAR TYPE FOR ECHO OF A ;CR FOLLOWING AN EOM BR PRTB70 ; ; INTERRUPT FROM OUTPUT OF LF IN OUTPUT MODE ; PRTC20 = . .IF NE,ASR37 TSTB PADCH ;HAS PAD CHAR BEEN OUTPUT BNE PRTC25 ;YES MOVB #NUL,@TTODBR(R5);NO IR,ROERR TEMERAPAD HAT IS LIF ; ; O. NITUN ; L CASIHY PTY TNSAINTCOT IS LOFD OR WEMSTSYF O 1TEBY ; ; R LEAL CAS WEMSTSYF IROZES ICHHI WO. NSKTA ; NGLIAL CNSAINTCOT IS LOFD OR WEMSTSYF O 0TEBY ; ; Y TRENN O 1E..NN HE WPTCEEX ; 1,Y BEDNTMEREEC DIST IS LOFD OR WADRETH ; ;- -ITEXN PO UNSIOITNDCO ; ;S ERSTGIRED VESAE OVABK ACSTN OISS ESDRADT IS LSTUEEQ R ñýNCB PADCH ;SET PAD OUTPUT FLAG BR PRTA85 ;RETURN PRTC25 = . CLRB PADCH ;CLEAR PAD OUTPUT FLAG .ENDC CLRB CHTYPE(R1) ;SET CHAR TYPE TO OUTPUT MODE JMP PRTA17 ;GO CONTINUE OUTPUT OF MSG ; ; PROCESS INTERRUPT FOR OUTPUT MODE CR ; PRTC30 = . MOVB #LF,@TTODBR(R5) ;OUTPUT A LF CLRB TTCURS(R1) ;RESET CURSOR TO BEGINNING OF LINE MOVB #9.,CHT ;; --RYNT EONUPS ONTIDION C ;; PPEQ,RPC R JS ; ;- -CEENQUSEG INLLCA ; ;S STLIT ESQURES ESOCPRRE PTOE INUTROUB-S -PPEQ R ;; GEPA . ; 60DBKB BR OM EOFO CH EOR FPETYR HA CET;S 1)(RPETYCH.,#8 VBMO O CH EOR FARCHM EOT PUUT;O 5)(RBRODTT,@R4 VBMO C ND.E D OECH EOT NOM EIFT OUUB RSE;U R4O,#R VBMO RTMPEO FZ.I C ND.E 60DBKB BR ) R1E(YPHT,C5.#1 VBMOíýYPE(R1) ;SET CHAR TYPE FOR OUTPUT MODE LF BR PRTC67 ;GO RETURN ; ; PROCESS INTERRUPT FOR ECHO OF CR FOLLOWING AN EOM ; PRTC40 = . MOVB #LF,@TTODBR(R5) ;OUTPUT A LF MOVB #12.,CHTYPE(R1) ;SET CHAR TYPE FOR ECHO OF LF ;FOLLOWING AN EOM BR PRTC67 ;GO RETURN ; ; PROCESS INTERRUPT FOR ECHO OF LF FOLLOWING AN EOM ; PRTC50 = . .IF NE,ASR37 TSTB PADCH R DEEA RPT7 R3ASF OFN UR;T5)(RBRODTT,@C3#D VBMO 37SR,ANE F .I . =0 B7BD KN URET RGO ; 0 A3BD K R B )+SP ( ST T METIDQC, P SR J ERIM TSEONSPRER TORAPE OUEUEEQ;D) SP-(),R5R(METI I OV M . = 60DBKB CRF OHOECR FOE YP TARCHT SE ;1)(RPETYCH.,11 # B OV M HOECR FOR CUTTPOU ;) R5R(DBTO@T4, R B OV M DCEN . 0 B6BD K R B C3 DOFT INR FOE YP TARCHT SE ;1)(RPETYCH.,14 # B OV Méý  ;HAS PAD CHAR BEEN OUTPUT BNE PRTC52 ;YES MOVB #NUL,@TTODBR(R5);NO INCB PADCH ;SET PAD OUTPUT FLAG BR PRTC67 ;RETURN PRTC52 = . CLRB PADCH ;CLEAR PAD OUTPUT FLAG .ENDC CLRB TTCURS(R1) ;RESET CURSOR TO BEGINNING OF LINE PRTC55 = . MOV ILSTAD(R5),R0 ;GET CURRENT INPUT LIST ADDRESS .IFNZ $KT11C MOV ILPAR5(R5),$KPAR5 ERADRET P37SR AFF ORNTU);R5R(DBTO@T3,DC # B OV M 7 R3ASE, N IF . . = 50DBKB ; ERCTRAHA CM)EO (GESAES MOFD ENS ESOCPR ; ; 30DAKB BR E AP TEDCHUN POFE AMFRA D EA;R ) R5R(CSTI@T CBIN K ACSTN IGALRE; + P)(S T TS . = 42DBKB T PUINE ATINRMTEO GS,YE; 24TBPR P JM NO; 42DBKB O BL UTNP IENBE; EDSTUEEQ RRSHA COF. NOE AV HS,YE; P)åý$ ; SET UP ASR TO USE FOR LIST .ENDC JMP PRTA40 ;GO DEQUEUE ECHO TIMER ; ; ; PROCESS INTERRUPT FOR ECHO OF RUBOUT FOR TTY TURNON ; PRTC60 = . TSTB TTYON(R1) ;IS TTY UNIT WARMUP COMPLETE BNE PRTC65 ;NO JMP PRTA80 ;YES PRTC65 = . MOVB #RO,@TTODBR(R5) ;OUTPUT ANOTHER RUBOUT DECB TTYON(R1) ;DECR COUNT PRTC67 = . JMP PRTA85 (S),R2T(CNCH P CM NO; 42DBKB Q BE ? EDIVCEREE ARR FEUF BIN; EDFICIPE SRSHA CO. NERFT AUTNP IOPST; 2)(R0,0020#0 T BI UTNP IBEO TRSHA COF. NOT GEO TERFFBU; P)(S0,0060#1 C BI OFD OR WST 1OF5 ,1143, 1TSBIF OFP RIST; P)(S,-2)(R V MO . =0 B4BD K ;T PUINE AP TEDCHUN P ; ;R METIT PUINT SEO ;G 20DAKB BR + P)(S T TS E IMQT,DPC R JS ERáý(;RETURN .IF NE,ASR37 ; ; ; PROCESS INTERRUPT FROM OUTPUT OF DC3 AFTER RECEIPT OF CR ; PRTC70 = . MOVB #CR,@TTODBR(R5) ;OUTPUT ECHO OF CR INPUT MOVB #11.,CHTYPE(R1) ;SET CHAR TYPE FOR ECHO OF CR BR PRTC67 ;GO RETURN ; ; ; PROCESS INTERRUPT FROM OUTPUT OF DC3 AFTER RECEIPT OF EOMCH ; PRTC80 = . .IFZ EOMPRT MOVB #RO,@TTODBR(R5) ;ECHO RUBOUT FOR EOMCH BR PRTC85 IM THOECE EUQUDE ;P)(S,-5)(RERIMOT V MO AGFLD DEEEXC EARCHX MAT SE, NO ; 1)(RCHAX M B NC I S YE ; 0 A2BD K NE B ? EDEDCEEXY SLOUVIRE PARCHX MAS WA ; 1)(RCHAX M B ST T . = 30DBKB ; EDEDCEEXT UNCOR TEACARCHM MUXIMA ; ; \" "UTTPOUO ;G 15DAKB BR \" "OFO CH EOR FPETYR HA CET;S ) R1E(YPHT,C#7 VBMO T PUUT OOR F\" " AET;G R4\,#' VBMO R HA CUTBORUN-NOT 1SE AV;S ) R1H(HCLS,SR4 VBMOÝý, .ENDC MOVB #EOMCH,@TTODBR(R5);ECHO EOMCH CHAR PRTC85 = . MOVB 8.,CHTYPE(R1) ;SET CHAR TYPE FOR INT OF EOMCH ECHO BR PRTC67 .ENDC .PAGE ; ; KBDINT -- TELETYPE KEYBOARD/PT READER INTERRUPT ROUTINE ; ; CONDITIONS UPON ENTRY -- ; ; TTY UNIT NO. IS CONTAINED IN BITS 0-3 OF PS ; AS PROVIDED BY INTERRUPT VECTOR FOR ; INTERRUPTING UNIT ; ; ROUTINE IS ENTERED AT P R FEUF B'SERUSO TARCHE OV;M ) R3,(R4 VBMO NTOU CARCHR NC;I ) R2T(CNCH C IN 1)(RROSTFR RBCL . =0 B2BD K ARCHT PUUT OGO ; 5 A1BD K R B EDETEL DNGEI BARCHT GE ; R4),R3 ( B OV M . =0 B1BD K" "\T PUUT OGO ; 5 A1BD K R B D TELEDER HA CST 1VESA ;1)(RCHSHSL),R3 ( B OV M " "\F OHOECR FOE YP TARCHT SE ; 1)(RPETYCH7, # B OV M UTTPOUR FO" "\A T GE ; 4 ,R'\ # B OVÙý0RIORITY LEVEL OF UNIT VECTOR ; ; KBDINT = . JSR R5,SAVE ; SAVE ENVIRONMENT MOVB PS,R1 ;GET UNIT NO FROM BITS 0-3 OF PS .IFZ $1145 MOV #200,PS ; SET LEVEL 4 .ENDC .IFNZ $1145 SPL 4 ; SET LEVEL 4 .ENDC BIC #177760,R1 MOV R1,R5 ASL R5 ;UNIT * 2 USED AS INDEX TO WORD TABLES MOV ITIMER(R5),R4 ;GET M H TCWI SUTBORUT 1ST SE, ES;Y 1)(RROSTFR CBIN NO ; 0 B1BD K NE B ? UTBORUT 1SS HI TIS ; ) R1O(TRRS F B ST T ERFFBUO TUTNP IARCHT AS LTOT INPO ; 3 R EC D NO ; 5 A1BD K MI B D IEIFECSPO CH EIS ; ) R2 ( ST T T UNCOR HA CCRDE ; 2)(RNTHC C EC D T OUUB RRENOIG, ES;Y 20DAKB Q BE O?ER ZNTOU CARCHS ;I ) R2T(CNCH T TS . =0 A8BD K ; N)IOETÕý4ADDRESS OF OPERATOR RESPONSE TIMER MOVB #TTITIM,TCNTR(R4) ;PUT COUNT INTO TIMER MOV ILSTAD(R5),R0 ;GET ADDRESS OF LIST CURRENTLY ;BEING PROCESSED .IFNZ $KT11C MOV ILPAR5(R5),$KPAR5 ; SET UP ASR5 .ENDC .IFZ $KT11C MOV DATA(R0),R2 ;GET DATA BUFFER ADDRESS .ENDC .IFNZ $KT11C MOV IDBFAD(R5),R2 ; DATA BUFFER SVA MOV IDPAR6(R5),$KPAR6EL DERCTRAHA(CR TEACARCHT OUUB RSSCERO P ; ;N URET RGO ; 0 A3BD K R B UTNP IOFT ARSTRER FOT UNCOR HA CROZE ; 2)(RNTHC C LR C " "^F OHOECR FOE YP TARCHT SE ; 1)(RPETYCH5, # B OV M " "^A T PUUT;O) R5R(DBTO@T^,#' VBMO . =0 A7BD K ; ERCTRAHA CRTTAES RGESAES MSSCERO P ; ; CRT PUUT OGO ; 5 A1BD K R B R COFO CH EOR FPETYR HA CET;S ) R1E(YPHT,C#3 VBMO UTTPOUR FOR CET;G R4R,#C VBMO Ñý8 ; SET UP ASR 6 .ENDC TST (R2) ;IS ECHO SPECIFIED BY USER BUFFER BPL KBDA10 ;NO MOV OTIMER(R5),-(SP);YES, QUEUE ECHO TIMER MOV #TTOTIM,-(SP) JSR PC,QTIME TST (SP)+ ;POP ERROR CODE OFF STACK KBDA10 = . MOVB @TTIDBR(R5),R4 ;GET CHAR WHICH WAS INPUT BEQ KBDA20 ;PUNCHED TAPE LEADER OR "HERE IS" KEY? BICB #200,R4 ;STRIP OFF CHAN . =0 A5BD K ; ERCTRAHA CNELIF OND ESSCERO P ; ;N URET;R ORSTRE P JM . =0 A3BD KS YE ; 0 B4BD K NE B PETAD HENCPUN OUTNP IIS ; ) R2,(000004 # IT B R METIT SE ;3)(RTRCN,TIMITTT # B OV M ERIM TSEONSPRER TORAPE OOFS ESDRADT GE ; R3),R5R(METI I OV M . = 20DAKB HOECR FOR HA CUTTPOU, ES;Y 5)(RBRODTT,@R4 VBMO . = 15DAKB R HA CHOECG INNTRI-PON NET GO,;N R4H,OCCH#E V MO Íý<NEL 8 OF TTY INPUT CHAR CMPB R4,#EOMCH ;NO, IS IT THE EOM CHAR? BNE KBDA11 ; NO 5/20/73 JMP KBDB70 ;YES KBDA11 = . ; 5/20/73 CMPB R4,#CR ;IS IT AN EOM CR? BEQ KBDB50 ;YES CMPB R4,#EOLCH ;IS IT THE END OF LINE CHAR? BEQ KBDA50 ;YES CMPB R4,#MRCH ;NO ES;Y 20DAKB E BN E?AP TEDCHUN PONT PUINS ;I 2)(R0,0040#0 T BI . = 14DAKB ES;Y 15DAKB L BP ? EDFICIPE SHOECS IO,;N 2)(R T TS R FEUF B'SERUSO TARCHE OV;M ) R3,(R4 VBMO T UNCOR HA CNTMERENC;I ) R2T(CNCH C IN ES;Y 30DBKB ISBH ? UTNP IENBER HA CNYMAO TOE AV;H+ P)(S),R2T(CNCH P CM UTNP IBEO TRSHA COF. NOT GEO TERFFBU; P)(S0,0060#1 C BI ÉýÅý, IS IT THE MSG RESTART CHAR? BEQ KBDA70 ;YES MOV R2,R3 ;GET POINTER TO CHAR SLOT IN DATA BUFFER ADD #MSGDAT,R3 ADD CHCNT(R2),R3 CMPB R4,#RO ;IS CHAR A RUBOUT (DELETE A CHAR)? BEQ KBDA80 ;YES TSTB FRSTRO(R1) ;IS IT 1ST CHAR AFTER SOME RUBOUTS? BNE KBDB20 ;YES KBDA13 = . MOV (R2),-(SP) ; STRIP OFF BITS 13,14,15 OF 1ST WORD OF