,¤ �vGAj½‚­•mØmôreé8²ìŸÂ'P¯YòeÅóY{ TK+}ΧÕÀƒ£õFÇnTóqãTЈ?þæHžñrÏ0M J$²Á×?r„oi?›÷%thst�h<�²¢õß”� œÄ—¬yØë€�„fW„ðÿ¹VZ/ç ç5�a[迱Gº÷̆3—[ëe�Ô�ë6‰%+{»Ù0¨Ü0¢üi¡ÌW�¦mœóH÷üï1€Ü†qÌVà ‹•ØX†ûNñ2.Ð?ezL$¥Á³Ô‡Ô˜~áé.˜U³LßðsÁé«,n ¢I\Ø|«ï’ªnŸñÁ³7°Síɤ®�¼{·¾r%?—ÇÖ´®môõþ% -çáÙêååäß ŸÜêÝ÷.])LñQ ÖÊo—º2ŽD«=+xYt¯aÛԙ̵Ýmøïp¡#x1ôrd¯*B¯=Ä¥y¯O2-FKo4 20uÁ×ÏäøuQ Øí8LtFZ×1ÉôfÇkk“ÕOøÔ¥`|ÁKTr&YDñ!×>rDjIÊšPìÝz¹¿’K´¹ÇÜ �ÄÀŸý°´›‰³xOˆ_ʤwh‘ˆ'Až—]âÐX2#{(<›ù—Û™6édL “Ø ‰£O®æ!¦4(ÐbDÀ_Ù¥\ .TITLE RSX11C ; ; RSX11C V005A ; JULY 10,1972 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; ; STANDARD REGISTER DEFINITIONS ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 .GLOBL PS ;ADDRESS OF PROCESSOR STATUS REGISTER. PS=177776 .GLOBL S.STAT ;PROCESSOR STATUS WORD. S.STAT=-2 ; ; REAL TIME HEADER SYMBOLIC DEFINITIONS ; .GLOBL CN ;RTH-CALL NUMBER. .GLOBL SN ;RTH-SYMBOLIC NAME(CHARS 1-3) .GLOBL SS ;RTH-SYMBOLIC NAME (CHARS 4-6) .GLOBL SA ;RTH-; ; EXECUTIVE TABLES AND DATA AREAS - PART 1 ; ; THE EXEC TABLES EXIST IN TWO PARTS TO ; FACILITATE PAPER TAPE HANDLING ; ; VERSION V005A ; 001 ; ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; ; GLOBAL DEFINITIONS ; .GLOBL BACKGD ;BACKGROUND ACTIVE FLAG .GLOBL CTICK ;TIME OUT AND CLOCK SCAN FLAGS .GLOBL COUNT ;TICKS COUNT .GLOBL CTOD ;SAME AS COUNT; CURRENT TICKS COUNT. .GLOBL ERMSGB ;ERROR MESSAGE TASK BUFFER .GLOBL ERMSGE ;END OF ERMSGB .GLOBL HASU ;;DEVICE DRIVER LIST ; VERSION V005A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; RESIDENT TABLE SHOWING AVAILABILITY OF ; DEVICE DRIVERS AND THEIR CURRENT ; LOCATION ;FORMAT:- ; 4 WORDS PER ENTRY (POSITION IMMATERIAL EXCEPT ; THAT THE DUMMY ENTRY MUST BE FIRST) ; GENERAL FORM: ; ; WORD 1: DEVICE NAME (PACKED RADIX 50) ; WORD 2: CORE LOAD ADDRESS OR 0 ; WORD 3: INTERRUPT VECTOR ADDRESS ; WORD 4: ADR OF DDB ; ; DUMMY ENTRY: ; WORDS 1 - 3: 0; ; ALTERNATE DEVICE TABLES FOR INIT ; ; VERSION V004A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD,MASS.01754 ; ; THESE THREE TABLES ARE ACCESSES BY A COMMON INDEX ; ; GLOBAL DEFINITIONS ; .GLOBL ALTD ;ALTERNATE DEVICE LIST .GLOBL ALTA ;ALTERNATE NAME DEVICES .GLOBL ALTU ;ALTERNATE DEVICE UNITS ; ; TABLE "ALTD" HOLDS A LIST OF DEVICES IN RAD50 FORM. ; THE TABLE IS TERMINATED BY A ZERO ENTRY. ; ALTD: 0 ;TABLE TERMINATOR ; ; TABLE "ALTA" HOLDS A LIST OF ALTE SUSPENDED STACK ADDRESS .GLOBL NP ;RTH-NUMBER PASSED IN CALL .GLOBL WL ;RTA-WAITING LIST HEAD(LOW BYTE)&TAIL(HIGH BYTE) .GLOBL SC ;RTH-START OF CODE(TRANSFER ADDRESS) .GLOBL IS ;RTH-INITIAL STACK SETTING. .GLOBL TR ;RTH-TRAP VECTOR SETTING. 0 IF NONE. .GLOBL MS ;RTH-MAXIMUM STACK ADDRESS (STACK LIMIT) .GLOBL IP ;RTH-INITIAL PRIORITY (LOW BYTE),#OF SHARED RESO .GLOBL SL ;MINUTES AT START(HI BYTE),SECONDS AT LAST UPDAT .GLOBL SM ;MAXIMUM LEVEL 1 RUN TIME(SECONDS) .GLOBL SR ;SECONDS SINCE HIGHEST ADDRESS SYSTEM USES .GLOBL HATU ;HIGHEST SLOT TIMER USE .GLOBL HOUR ;CURRENT TIME (HOUR) .GLOBL ISAD ;BOTTOM WORD OF SYSTEM STACK .GLOBL LAPU ;LOWEST SLOT TASKS USE .GLOBL LEV ;HEAD OF THE LINK LISTS .GLOBL LTDT ;LAST TIME IN TIMER .GLOBL MIN ;CURRENT TIME (MINUTES) .GLOBL NEWSA ;NEW PROGRAM ACTIVE FLAG .GLOBL PAN$ ;PANIC DUMP ADDRESS. .GLOBL PRIOR ;PRIORITY CONVERSION TABLE .GLOBL PRWT ;COUNT OF TASKS WAITING FOR PROCESSOR .GLOBL PSTB ;PRIORITY STATUS .GLOBL PTBK ;BACKWA ; WORD 4: ADDRESS OF LOCATION AFTER TABLE END ; (USED FOR SEARCH CONTROL) ;GENERATED AT SYSTEM BUILD TIME ;USED BY:- ; 1) .INIT ROUTINE TO FIND THE DDB & DRIVER ADDRESS. ; 2) CSI TO GET SYSTEM DEVICE. ; 3) INITIALIZATION CODE TO FIND DRIVER INT VECTORS. ; .GLOBL DDL. ;DEVICE DRIVER LIST ; ;SYSTEM DUMMY: DDL.: .WORD 0 ;NAME - DUMMY' .WORD 0 ;CORE ADDRESS .WORD 0 ;I.V. ADDRESS .WORD DDL.ND ;END OF TABLE .IFNZ DC.DSC .GLOBL DDL.DC ;DDL-RC11 .GLOBL DC ;RC11 DRIVER .GLOBLRNATES FOR THE ; NAMES IN TABLE "ALTD". THESE ENTRIES POINT TO THE ; PROPER DDL ENTRY. ; ALTA: ; ; ; TABLE "ALTU" HOLDS A LIST OF UNIT NUMBERS FOR TABLES ; "ALTD" AND "ALTA". LOW BYTE = UNIT NUMBER FOR ALTD, ; HIGH BYTE = UNIT NUMBER FOR ALTA. ; ALTU: ; .EVEN ; .END BEGINNING OF THIS RUN. .GLOBL WTCH ;WATCH DOG TIMER(LOW BYTE) .GLOBL FLBF ;DISPLACEMENT TO BUFFER ADDRESS ;STORAGE IN TASK RTH .GLOBL FLTB ;DISPLACEMENT TO FILE ENTRY ADDRESS ;STORAGE IN TASK RTH .GLOBL OTSV ;POINTER TO $OTSV (FORTRAN OTS IMPURE AREA VECTO CN=0 ;DISK CALL NUMBER REAL TIME LIBRARY SN=-2 ;SYMBOLIC NAME SS=-4 ;SECOND WORD OF 6 CHARACTER SYMBOLIC NAME SA=-6 ;SUSPENDED STACK ADDRESS NP=-8. ;NUMBER PASSED TO PROGRAM ACTIVATED WL=-10. ;LEFT BYTE LAST WAITRD POINTER LIST .GLOBL PTFW ;FORWARD POINTER LIST .GLOBL PWFLF ;POWER FAILURE FLAG( (COUNT OF FAILURES) .GLOBL QUTM ;QUANTUMS FOR LEVELS 1,2,3,4 .GLOBL SEC ;CURRENT TIME (SECONDS) .GLOBL SUTB ;SUSPEND STATUS .GLOBL SYAUA ;SYSTEM,USER ACTIVE FLAG .GLOBL TIC ;TIME IN COUNTER TO NEXT EVENT .GLOBL TSPW ;DELAYED CONSOLE WAIT FLAG .GLOBL UPSTK ;USER STACK AT ENTRY TO EXEC .GLOBL WDTB ;HEADER ADDRESS TABLE .GLOBL WTCHD ;WATCH DOG TIMER POINTER .GLOBL WTTS ;HEAD OF TIMER SLOT WAITING LIST  DCDDB ;RC11 DDB ;RC11 DDL.DC: .RAD50 'DC' ;NAME .WORD DC ;CORE ADDRESS .WORD 210 ;I.V. ADDRESS .WORD DCDDB ;DDB ADDRESS .ENDC .IFNZ DF.DSC .GLOBL DDL.DF ;DDL-RF11 .GLOBL DF ;RF11 DRIVER .GLOBL DFDDB ;RF11 DDB ;RF11 DDL.DF: .RAD50 'DF' ;NAME .WORD DF ;CORE ADDRESS .WORD 204 ;I.V. ADDRESS .WORD DFDDB ;DDB ADDRESS .ENDC .IFNZ DK.DSC .GLOBL DDL.DK ;DDL-RK11 .GLOBL DK ;RK11 DRIVER .GLOBL DKDDB ;RK11 DDB ;RK11 DDL.DK: .RAD50 'DK' ;NAME .WORD DK ;CORE ADDRESS .WORD 220  .TITLE KB ; ; VERSION V004A ; 001 ; ; KEYBOARD AND TELEPRINTER DRIVER - PART 1 ; ; THE KB DRIVER IS IN THREE PARTS TO FACILITATE ; PAPER TAPE HANDLING. ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; ; GLOBAL DEFINITIONS ; .GLOBL CMDST ;KB KEYBOARD TYPE-AHEAD BUFFER. .GLOBL KB ;KB DRIVER. .GLOBL KBDDB ;KB KEYBOARD DDB. .GLOBL K.ENFL ;KEYBOARD END-OF-FILE FLAG(BYTE). .GLOBL TPDDB ;KB TELEPRINTER DDB. ; ; GLOBAL REFERENCES ; .GLOBL DV.A2 ;CREATE A002 ING, RIGHT FIRST WAITING CALL SC=-12. ;INITIAL START OF CODE IS=-14. ;INITIAL STACK ADDRESS TR=-16. ;LEFT BYTE EMT TRAP STARTS RIGHT TRAP STATUS MS=-18. ;MAXIMUM STACK ADDRESS IP=-20. ;LEFT SHARED DEVICE COUNTS, RIGHT INITAL PRIORITY SL=-22. ;HIGH BYTE MINUTES AT START, LOW BYTE SECONDS LAST UPDATE SM=-24. ;MAXIMUM SECONDS BEFORE ERROR REPORT SR=-26. ;SECOND SINCE BEGINING OF THIS RUN WTCH=-28. ;WATCH DOG TIMER LOW BYTE FLBF=-30. ;FILE BUFFER STORAGE FLTB=-32. ;FIL(FREE SLOTS) ; ; GLOBAL REFERENCES ; .GLOBL CLOCK ;CLOCK SCAN ROUTINE .GLOBL ENDM ;END OF MONITOR .GLOBL ROBIN ;ROUND ROBIN SCHEDULER .GLOBL SPARTH ;SPARTA HEADER ; ; THIS FILE MUST BE ASSEMBLED FOLLOWING THE USER ; PARAMETER DEFINITIONS AND FOLLOWING THE EXECUTIVE ; DEFINITIONS. IT IS FURTHER ASSUMED THAT NO CODE ; OF ANY KIND IS GENERATED IN THE PREVIOUS FILES ; AND THAT RELOCATABLE 0 OF THIS MODULE WILL ; BE FORCED TO ABSOLUTE 0 WITH A "/B:0" LINKER ; SWITCH. ; ; SET ORIGIN FOR BA;I.V. ADDRESS .WORD DKDDB ;DDB ADDRESS .ENDC ; ; TC11 DECTAPE ; .IFNZ DT.DSC ; .GLOBL DDL.DT .GLOBL DT ;DRIVER ADDRESS .GLOBL DTDDB ;DECTAPE DDB ; DDL.DT: .RAD50 'DT' ;DRIVER NAME DT ;DRIVER ADDRESS 214 ;INTERRUPT VECTOR ADDRESS DTDDB ;DRIVER DDB ADDRESS ; .ENDC ; .IFNZ TPSZ+KBFSZ .GLOBL DDL.KO ;DDL-KB OUTPUT SIDE .GLOBL KB ;KB DRIVER. .GLOBL TPDDB ;KB TELEPRINTER DDB. ;TELEPRINTER: DDL.KO: .RAD50 'KB' ;NAME - PACKED 'KB' .WORD KB+16 ;CORE ADDRESS MESSAGE SUBROUTINE. .GLOBL HSASI ;HIGH SPEED ACTIVATE SUBROUTINE. .GLOBL KBBUF ;ADDRESS OF KB KEYBOARD EXEC BUFFER. .GLOBL OPERT ;OPERR TASK AND SLOT NUMBER. .GLOBL PAN$ ;PANIC DUMP ADDRESS. .GLOBL SRTI ;COMMON SYSTEM EXIT. .GLOBL STRG ;COMMON SYSTEM ENTRY SUBROUTINE. .GLOBL SY.DFL ;DDB-FLAG BYTE. .GLOBL SY.DPR ;DDB-PERMANENT DDB BIT. .GLOBL SY.DWN ;DDB-DEVICE IS DOWN FLAG (NOT READY). .GLOBL SY.MUD ;DRIVER MULTI-ACCESS BIT. .GLOBL SY.RES ;DDB-RESERVED FLAG. .GLOBL SY.RTN ;DDB-TAE TABLE SLOT STORAGE OTSV=-34. ;POINTER TO OTS ; ; PRIORITY LEVEL DEFINITIONS FOR PS ; .GLOBL PL7 ;PRIORITY LEVEL 7 .GLOBL PL6 ;PRIORITY LEVEL 6 .GLOBL PL5 ;PRIORITY LEVEL 5 .GLOBL PL4 ;PRIORITY LEVEL 4 .GLOBL PL3 ;PRIORITY LEVEL 3 .GLOBL SY.PLE ;PRIORITY LEVEL 4 .GLOBL SY.PLH ;PRIORITY LEVEL 7 PL7=340 ;PRIORITY LEVELS PL6=300 PL5=240 PL4=200 PL3=140 SY.PLE=200 SY.PLH=340 ; LINE FREQUENCY (50./60.CYCLE) .GLOBL CYCSEC ;LINE FREQUENCY IN TICKS PER SECOND. .GLOBL MCYC ;MINSE OF SYSTEM STACK AND FOR ; EXECUTIVE SCHEDULING TABLES. ; .WORD 100 ;EXECUTES AN ILLEGAL INSTRUCTION ;ON JUMPS TO 0 .=.+774 ISAD: .WORD 0 ;SYSTEM STACK TABORG=. .IFNDF NO.TIM .BYTE -N+2,-N+2 ;POINTERS FORWARD AND BACKWARD .BYTE -N,-N ; .BYTE 0,-N ;ONLY POINTER BACK .BYTE 0,-N+2 ; .ENDC .=TABORG+N PTFW: .BYTE 0 ;ZERO LOCATION IN FORWARD POINTER TABLE PTBK: .BYTE 0 ;ZERO LOCATION IN BACK POINTER BYTE TABLE .=TABORG+N+N ;START OF TIMER SLOT SUTB AND PSTB TABLES .IFNDF .WORD 64 ;I.V. ADDRESS .WORD TPDDB .ENDC .IFNZ TPSZ+KBFSZ .GLOBL DDL.KB ;DDL-KB INPUT SIDE .GLOBL KB ;KB DRIVER. .GLOBL KBDDB ;KB KEYBOARD DDB. ;KEYBOARD DDL.KB: 0 ;ILLEGAL NAME .WORD KB ;CORE ADDRESS .WORD 60 ;I.V. ADDRESS .WORD KBDDB .ENDC .IFNZ TK.NOU .GLOBL DDL.TO ;DDL-TT OUTPUT SIDE .GLOBL DDL.TT ;DDL-TT INPUT SIDE .GLOBL TODDB ;TT TELEPRINTER DDB. .GLOBL TT ;TT DRIVER. .GLOBL TTDDB ;TT KEYBOARD DDB. ;NON-CONSOLE TELEPRINTER DDL.TO: .RAD50 'TT' ;NAME .WOSK DDB RESERVED FOR (BYTE) .GLOBL SY.TO ;DDB-TIME OUT COUNT (0=NOT ACTIVE) .GLOBL TKI.CS ;ADDRESS OF LIST OF KB&TT INPUT STATUS REGISTERS .GLOBL TKO.CS ;ADDRESS OF LIST OF KB&TT OUTPUT STATUS REGISTER .GLOBL TPBUF ;ADDRESS OF KB OUTPUT EXEC BUFFER. .GLOBL TTOPT ;TT OPERATOR TASK SLOT NUMBER. .GLOBL UTILT ;UTILITY TASK SLOT. R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 ; ; KEYBOARD PREAMBLE ; KB: .WORD 0 ;DDB PTR .BYTE KB.BP ;FACILITIES .BYTE 1 ;TERMINAL DEVICE .BYTE US LINE FREQUENCY .IFNDF CYCSEC CYCSEC=60. .ENDC MCYC=-CYCSEC ; TIME-OUTS FOR LEVELS 3,2,1 (TICKS) ; .GLOBL TIMLV1 ;TIME-OUT FOR LEVEL1(TICKS). .GLOBL TIMLV2 ;TIME-OUT FOR LEVEL 2(TICKS). .GLOBL TIMLV3 ;TIME-OUT FOR LEVEL 3(TICKS). .IFNDF TIMLV3 ; .IFEQ CYCSEC-60. ; TIMLV3=6. .ENDC ; .IFEQ CYCSEC-50. ; TIMLV3=5. .ENDC .ENDC .IFNDF TIMLV2 ; .IFEQ CYCSEC-60. ; TIMLV2=30. .ENDC ; .IFEQ CYCSEC-50. ; TIMLV2=25. .ENDC .ENDC .IFNDF TIMLV1 ; .IFEQ CYCSEC-60 NO.TIM .BYTE 0,-N+4 ;POINTER TO "CLOCK" EXTENSION .BYTE 0,-N+6 ;POINTER TO "ROBIN" EXTENSION .WORD CLOCK ;CLOCK ACTIVATES TASKS ON TIME .WORD ROBIN ;L1 TIME SLICE ROUND ROBIN FOR BACKGROUND .ENDC .=TABORG+N+N+N SUTB: .BYTE 0 PSTB: .BYTE 0 ;PROGRAM STATUS TABLE ZERO WORD .=SUTB+N ;START OF TIMER SLOT WDTB TABLE CYCSEC ;CURRENT DELAY FOR CLOCK TASK TIMLV1 ;CURRENT DELAY FOR ROUND ROBIN CYCSEC ;REPEAT DELAY FOR CLOCK TASK TIMLV1 ;REPEAT DELAY FOR ROUND ROBIN .=SUTB+N+N RD TT+16 ;CORE ADDRESS .WORD 304 ;I.V. ADDRESS .WORD TODDB ;NON-CONSOLE KEYBOARD DDL.TT: .WORD 0 ;NO NAME .WORD TT ;CORE ADDRESS .WORD 300 ;I.V.ADDRESS .WORD TTDDB .ENDC .IFNZ PRSZ .GLOBL DDL.PR ;DDL-PR .GLOBL PR ;PR DRIVER. .GLOBL PRDDB ;ADDRESS OF PR DDB. ;P/T READER: DDL.PR: .RAD50 'PR' ;NAME PACKED 'PR' .WORD PR ;CORE ADDRESS .WORD 70 ;I.V. ADDRESS .WORD PRDDB .ENDC .IFNZ PPSZ .GLOBL DDL.PP ;DDL-PP .GLOBL PP ;PP DRIVER. .GLOBL PPDDB ;ADDRESS OF PP DDB. 4 ;BUFF SIZE/16 .BYTE KB.INT-KB ;INTERRUPT ENTRY .BYTE 200 ;PRIORITY=4 .BYTE KB.OP-KB ;OPEN .BYTE KB.TF-KB ;TRANSFER .BYTE KB.CL-KB ;CLOSE .BYTE 0 ;SPECIAL FCN .BYTE KB.TB-KB ;MISCELLANEOUS ENTRY KB.NM: .RAD50 /KB/ ;NAME ; ; TELEPRINTER PREAMBLE ; KBO: .WORD 0 ;DDB PTR .BYTE KBO.BP+SY.MUD ;FACILITIES .BYTE 1 ;TERMINAL DEVICE .BYTE 4 ;BUFF SIZE/16 .BYTE KBO.IN-KBO ;INTERRUPT ENTRY .BYTE 200 ;PRIORITY=4 .BYTE KBO.OP-KBO ;OPEN .BYTE KBO.TF-KBO ;TRANSFER .BYTE KBO.CL. ; TIMLV1=60. .ENDC ; .IFEQ CYCSEC-50. ; TIMLV1=50. .ENDC .ENDC ; ; SIZE OF SHEDULING TABLE ; .GLOBL N ;SCHEDULING TABLE SIZE .GLOBL MN ;-N .IFNDF N N=128. .ENDC MN=-N ;SET TO -N. ; ; EAE PARAMETERS ; .GLOBL EAEAC ;EAE AC REGISTER. .GLOBL EAEMQ ;EAE MQ REGISTER. .GLOBL EAESC ;EAE SC&SR. EAEAC=177302 ;AC EAEMQ=177304 ;MQ EAESC=177310 ;SC&SR ; ; THE FOLLOWING DEFINE THE SLOTS RESERVED FOR SYSTEM ; TASKS. THESE TASKS MUST BE LOADED INTO THE SLOTS ; INDICATE ;SUSPEND STATUS 0=WAITING FOR COMPUTER WDTB: .WORD SPARTH ;NULL TASK HEADER .=.+N LEV: ;LEVEL LIST START TABLE .IFNDF NO.TIM .BYTE -N ;START OF TIMER LIST .ENDC .IFDF NO.TIM .BYTE 0 ;START OF TIMER LIST .ENDC .BYTE 0 ;START OF LEVEL 1 LIST .BYTE 0 ;START OF LEVEL 2 LIST .BYTE 0 ;START OF LEVEL 3 LIST .BYTE 0 ;START OF LEVEL 4 LIST .BYTE 0 ;START OF TIME OF DAY LIST HASU: .WORD ENDM ;HIGHEST ADDRESS SYSTEM USES L UPSTK: .WORD 0 ;USER STACK SETTING FOR USER PROGRA;P/T PUNCH: DDL.PP: .RAD50 'PP' ;NAME - PACKED 'PP ' .WORD PP ;CORE ADDRESS .WORD 74 ;I.V. ADDRESS .WORD PPDDB .ENDC .IFNZ LPSZ .GLOBL DDL.LP ;DDL- LP .GLOBL LP ;LP DRIVER. .GLOBL LPDDB ;ADDRESS OF LP DDB. ;LINE PRINTER DDL.LP: .RAD50 'LP' ;NAME - PACKED 'LP ' .WORD LP ;CORE ADDRESS .WORD 200 ;I.V. ADDRESS .WORD LPDDB .ENDC .IFNE AF.CHN .GLOBL DDL.AF ;DDL-AFC .GLOBL AF ;AFC DRIVER .GLOBL AFDDB ;AFC DDB ;AFC DDL.AF: .RAD50 'AF' ;NAME .WORD AF ;CORE ADDRESS. .W -KBO ;CLOSE .BYTE 0 ;SPECIAL FCN .BYTE KBO.TB-KBO ;MISCELLANEOUS ENTRY KBO.NM: .RAD50 /KB/ ;MISCELLANEOUS ENTRY DISPATCH TABLE FOR KEYBOARD KB.TB: 0 0 0 KB.S ;CANCEL ;MISCELLANEOUS ENTRY DISPATCH TABLE FOR PRINTER KBO.TB: 0 KBO.TO ;TIME OUT 0 0 .IFNDF TK.NOU TK.NOU=0 .ENDC .IFNZ TK.NOU ; ; MULTI-KEYBOARD/TELEPRINTER DRIVER ; ; GLOBAL DEFINITIONS ; .GLOBL TODDB ;TT TELEPRINTER DDB. .GLOBL TT ;TT DRIVER. .GLOBL TTDDB ;TT KEYBOARD DDB. ; ; GLOBAL REFERENCES ; .GLO!D. THE SLOTS ARE DEFINED RELATIVE TO ; THE HIGHEST SLOT (N). ; .GLOBL POWFT ;POWER FAIL TASK SLOT. .GLOBL UDCT ;UDC TASK SLOT. .GLOBL TTOPT ;TT OPERATOR TASK SLOT NUMBER. .GLOBL ERMST ;ERROR MESSAGE TASK SLOT. .GLOBL OPERT ;OPERR TASK AND SLOT NUMBER. .GLOBL UTILT ;UTILITY TASK SLOT. .GLOBL GETT ;ON LINE LOADER TASK SLOT # .GLOBL SYSRT ;SYSTEM REPORT TASK CALL NUMBER POWFT=N-2 ;POWER FAIL TASK SLOT #. UDCT=N-4 ;UDC TASK SLOT # TTOPT=N-6 ;TT OPERATOR TASK SLOT #. ERMST=N-8. ;"M RUNNING SYAUA: .WORD 0 ;HIGH BYTE-=SYSTEM ACTIVE, LOW BYTE=USER ACTIV NEWSA: .WORD 0 ;NEW PROGRAM ACTIVE FLAG .IFNDF NO.TIM HATU: -N+6 ;HIGHEST TIMER SLOT USED .ENDC .IFDF NO.TIM HATU: .WORD -N .ENDC LAPU: .WORD 0 ;LOWEST TASK SLOT -SET BY INITIALIZATION LTDT: .WORD 1 ;LAST TIME IN TIMER TIC: .WORD 1 ;TIME IN COUNTER PRWT: .WORD 0,0 ;ERROR MESSAGE TASK ERROR BUFFER ERMSGB: .=.+ERRBSZ+ERRBSZ+ERRBSZ+ERRBSZ+ERRBSZ+ERRBSZ ERMSGE: WTCHD: .WORD QUTM ;WATCH DOG TIMER POINTER QUTM: ORD 134 ;I.V. ADDRESS. .WORD AFDDB ;DDB ADDRESS. .ENDC .IFNE AD.CHN .GLOBL DDL.AD ;DDL-ADC .GLOBL AD ;AD01 DRIVER .GLOBL ADDDB ;ADC DDB ;AD01 DDL.AD: .RAD50 'AD' ;NAME .WORD AD ;CORE ADDRESS. .WORD 130 ;I.V. ADDRESS. .WORD ADDDB ;DDB ADDRESS. .ENDC .IFNE UD.CHN .GLOBL DDL.UD ;DDL-UDC .GLOBL UD ;UDC DRIVER .GLOBL UDDDB ;UDC DDB ;UDC DDL.UD: .RAD50 'UD' ;NAME .WORD UD ;CORE ADDRESS. .WORD 234 ;I.V. ADDRESS. .WORD UDDDB ;DDB ADDRESS. .ENDC DDL.ND: .EOT $BL TKBUF ;ADDRESS OF TT KEYBOARD EXEC BUFFER. .GLOBL TOBUF ;ADDRESS OF TT OUTPUT EXEC BUFFER. ; ;PARAMETER TK.NOU DEFINES THE NUMBER OF UNITS ; ; ; KEYBOARD PREAMBLE TT:TK: .WORD 0 ;DDB POINTER ON ENTRY .BYTE TK.BP ;FACILITIES .BYTE 1 ;TERMINAL DEVICE .BYTE 4 ;STD BUFF SIZE .BYTE TK.INT-TK ;INTERRUPT ENTRY .BYTE 200+TK.NOU-1 ;PRIORITY 4 PLUS MAX UNIT NUMBER. .BYTE TK.OP-TK ;OPEN .BYTE TK.TF-TK ;TRANSFER .BYTE TK.CL-TK ;CLOSE .BYTE 0 ;SPECIAL FCN .BYTE TK.TB-TK ;MISCELLANEO%ERROR MESSAGE TASK OPERT=N-10. ;OPERATORS CONSOLE TASK UTILT=N-12. ;UTILITY TASK GETT=N-14. ;ON LINE LOADER TASK SLOT #. SYSRT=-1 ;REPORT TASK CALL NUMBER ; ; NUMBER OF ITEMS FOR ERROR MESSAGE BUFFER ; .GLOBL ERRBSZ ;ERROR MESSAGE BUFFER SIZE (# OF ITEMS) .IFNDF ERRBSZ ERRBSZ=10. .ENDC ; ; SYMBOLIC ERROR MESSAGE NUMBERS AND CLASSES. ; .GLOBL SHORT ;SHORT CALL SEQUENCE ERROR. .GLOBL ABSENT ;TASK CALLED BY NUMBER NOT PRESENT. .GLOBL UNITS ;ILLEGAL TIME UNITS. .GLOBL SIZE ;IL&.BYTE 0 ;TIME QUANTUM LEVEL 1 .BYTE TIMLV2 ;TIME QUANTUM LEVEL 2 .BYTE TIMLV3 ;TIME QUANTUM LEVEL 3 .BYTE 0 ;TIME QUANTUM LEVEL 4 SEC: .BYTE 0 ;PRESENT TIME OF DAY SECONDS MIN: .BYTE 0 ;MINUTES HOUR: .BYTE 0 ;HOURS WTTS: .BYTE 0 ;WAITING LIST OF TIMER SLOTS COUNT: .WORD 0,0 ;INCREMENTED 60/SECOND FOR TICKS TRAP CTOD=COUNT TSPW: .BYTE 0 ;FLAG SET TO BACKGROUND TASK # ; ON A CONSOLE WAIT. BACKGD: .BYTE 0 ;NUMBER OF BACKGROUND TASK 0=NONE K PWFLF: .BYTE 0 ;POWER FAIL MESSA' .TITLE OFF ; VERSION V005A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; ; STANDARD REGISTER DEFINITIONS ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 ; THIS FILE IS CONDITIONALLY ASSEMBLED ON THE FOLLOWING ; SWITCHES: ; IF IO.XTH=0, MUST REASSEMBLE ; IF NO.TIM IS DEFINED, MUST REASSEMBLE. .IFNDF IO.XTH IO.XTH=7 ;DEFAULT VALUE .ENDC ; ; GLOBAL DEFINITIONS ; .GLOBL EOFF ;OFF HANDLER .GLOBL ESTART ;START HANDLER .GLOBL EXRUN ;EXI(US ENTRY TK.NM: .RAD50 /TT/ ;NAME ; TELEPRINTER PREAMBLE TKO.TF=TT.TF ;TRANSFER TKO.INT=TT.INT ;INTERRUPT TKO: .WORD 0 ;DDB PTR .BYTE TKO.BP+SY.MUD ;FACILITIES .BYTE 1 ;TERMINAL DEVICE .BYTE 4 ;STD BUFF SIZE .BYTE TKO.INT-TKO ;INTERRUPT ENTRY .BYTE 200+TK.NOU-1 ;PRIORITY 4 PLUS MAX UNIT # .BYTE TKO.OP-TKO ;OPEN .BYTE TKO.TF-TKO ;TRANSFER .BYTE TKO.CL-TKO ;CLOSE .BYTE 0 ;SPECIAL FCN .BYTE TKOTB-TKO ;MISCELLANEOUS ENTRY TKO.NM: .RAD50 /TT/ ;NAME ;MISCELLANEOUS ENTRY D)LEGAL TIME VALUE .GLOBL SLOT ;NO SLOT AVAILABLE. .GLOBL TIMER ;MAX RUN TIME EXCEEDED. .GLOBL COMMAN ;ILLEGAL OR UNRECOGNIZED COMMAND. .GLOBL REPORT ;ILLEGAL SYSTEM REPORT NUMBER. .GLOBL BUSY ;BACKGROUND BUSY. .GLOBL SYMBLE ;SYMBOLIC TASK NAME NOT FOUND. .GLOBL SYNTAX ;COMMAND SYNTAX ERROR. .GLOBL TURN.O ;ILLEGAL TURNON TIME. SHORT=1500 ;SHORT CALL SEQUENCE ABSENT=1101 ;TASK CALLED NOT PRESENT UNITS=1102 ;ILLEGAL TIME UNITS SIZE=1103 ;ILLEGAL TIME VALUE SLOT=1104 ;NO SLOTS AV*GE REQUEST FLAG .BYTE 0 ;ZERO PRIORITY PRIOR: .BYTE 40,100,140,200 ;PRIORITY CONVERSION CTICK: .WORD 0 ;TIME OUT,CLOCK FLAGS ; SYSTEM VECTOR TABLE (SVT) ; THIS TABLE CONTAINS SYSTEM CONSTANTS ; AND POINTERS TO VARIOUS MAJOR SYSTEM AREAS, ; ALL NAMES OF SVT ELEMENTS WILL BE ; EXTERNALLY DEFINED. ; ; ; GLOBAL DEFINITIONS ; .GLOBL SVT. ;SYSTEM VECTOR TABLE .GLOBL CSA ;TOP OF CORE .GLOBL BAT ;POINTER TO ASSIGNMENT TABLE .GLOBL DCO ;HEAD OF DDB CHAIN .GLOBL RSA ;BACKGROUND TASK RE+T .GLOBL OFFCL ;DELETE HANDLER .GLOBL XIT ;EXIT ; ; GLOBAL REFERENCES ; .GLOBL BACKGD ;BACKGROUND ACTIVE FLAG ; .IFDF RSX11B .GLOBL BFTAB$ ;BUFFER ADDRESS FOR RSX11B .ENDC ; .GLOBL BUSY ;BACKGROUND BUSY. .IFNE IO.XTH .GLOBL CL.SER ;SEARCH FOR NEXT USER OF A DEVICE .ENDC .GLOBL COMMAN ;ILLEGAL OR UNRECOGNIZED COMMAND. .IFNDF NO.TIM .GLOBL CONV ;ROUTINE TO CONVERT MILLISECONDS TO TICKS .ENDC .GLOBL CUTI ;CUT A SLOT(ALT ENTRY TO CUTSL) .GLOBL CUTSL ;CUT A SLOT .GLOBL DC,ISPATCH TABLE FOR TT KEYBOARD TK.TB: 0 0 0 TT.S ;CANCEL ;MISCELLANEOUS ENTRY DISPATCH TABLE FOR TT PRINTER TKOTB: 0 TKO.TO ;TIME OUT 0 0 .ENDC ; TRANSFERS TO KB KB.INT: JMP KB.INA ;INTERRUPT KB.OP: JMP KB.OPA ;OPEN KB.CL=KB.OP ;CLOSE KB.TF: JMP KB.TFA ;TRANSFER .IFNZ TK.NOU ; TRANSFERS TO TT KEYBOARD TK.INT: JMP TK.INA ;INTERRUPT TK.OP: JMP TK.OPA ;OPEN TK.CL: JMP TK.CLA ;CLOSE TK.TF: JMP TK.TFA ;TRANSFER .ENDC ; ; PARAMETERS ; .IFNDF KBSZ KBSZ=80. ;KEYBOARD-AILABLE TIMER=1105 ;EXCEEDED MAXIMUM RUN TIME COMMAN=1106 ;ILLEGAL OPERATOR COMMAND REPORT=1107 ;ILLEGAL REPORT NUMBER BUSY=1110 ;BACKGROUND ALREADY BUSY SYMBLE=1111 ;SYMBOLIC TASK NAME NOT FOUND SYNTAX=1113 ;SYNTAX ERROR TURN.O=1114 ;ILLEGAL TUNRON TIME ;DISTANCE FROM USERS PC, ON HIS STACK, TO THE ; TOP OF HIS STACK .GLOBL SY.DTS ;DISTANCE FROM USER PC TO STACK TOP. SY.DTS=-16 ;SIZE OF DDB (IN BYTES) .GLOBL SY.DDS ;SIZE OF DDB (BYTES). SY.DDS=56. ;28 WORDS ;OFFSE.START ADDRESS. .GLOBL DATE ;JULIAN DATE WORD ; SVT.: CSA: .WORD 77470 ; LAST ADDRESS IN AVAILABLE CORE BAT: .WORD LAT ; POINTS TO DYNAMIC ASSIGNMENT TABLE DCO: .WORD 0 ; CHAIN OF INITED DDBS RSA: .WORD 0 ; RESTART ADDRESS DATE: .WORD 0 ; DATE IN JULIAN - 70,000 ; .IFNDF NO.TIM ; .GLOBL SCALE ;SCALE MULTIPLIER TABLE DEFINITION ; ; SCALE MULTIPLIER TABLE FOR 50/60 CYCLE POWER. ; CONVERTS TIME VALUE TO TICKS IN "CONV" ROUTINE ; SCALE: .IFEQ CYCSEC-60. ; 1 ;TICKS 7534 ;MIL/O ;HEAD OF DDB CHAIN .GLOBL DV.STS ;ROUTINE TO FAKE AN INTERRUPT .GLOBL FLBF ;DISPLACEMENT TO FILE BUFFER ADDRESS ;STORAGE IN TASK RTH .GLOBL FLTB ;DISPLACEMENT TO FILE TABLE ADDRESS ;STORAGE IN TASK RTH .IFNE IO.XTH .GLOBL FREEI ;ROUTINE TO FREE A DDB (ALT ENTRY TO FREE) .ENDC .GLOBL HSASI ;HIGH SPEED ACTIVATE SUBROUTINE. .GLOBL IENT ;LINK LIST ENTER ROUTINE .GLOBL INITLS ;INITIALIZE STACK ROUTINE .GLOBL IP ;RTH-INITIAL PRIORITY (LOW BYTE),#OF SHARED RESO .GLOBL ISAD ;BOTTOM0 TYPE AHEAD BUFFER SIZE .ENDC .IFNDF EBSZ EBSZ=10. ;ECHO BUFFER SIZE .ENDC S.STAT=-2 ;ADDRESS OF STATUS REGISTER KBO.BP=322 ;FACILITIES=OUTPUT, ASCII, OPEN, CLOSE TKO.BP=322 KB.BP=324 ;FACILITIES=INPUT, ASCII, OPEN, CLOSE TK.BP=324 ; ; CONSOLE OUTPUT OPEN ENTRY ; KBO.OP: ;USE CLOSE ENTRY. ; ; CONSOLE OUTPUT CLOSE ENTRY KBO.CL: MOV #-2,R5 ;UNIT # .IFNZ TK.NOU BR TKO.CA ; ; NON-CONSOLE OUTPUT CLOSE AND OPEN. TKO.OP: TKO.CL: CLR TKO ;NOT BUSY JSR PC,TT.GU ;GET UNIT #1TS FROM BASE OF DDB TO PARTICULAR ELEMENT ; .GLOBL SY.DVL ;DDB-SUSPEND LEVEL COUNTS. .GLOBL SY.SPN ;DDB-SUSPEND NUMBER (BYTE) .GLOBL SY.BFS ;DDB-BUFFER SIZE .GLOBL SY.PTB ;DDB-POINTER TO TOP OF BUFFER. .GLOBL SY.PTI ;DDB-BUFFER INPUT POINTER. .GLOBL SY.PTO ;DDB-BUFFER OUTPUT POINTER. .GLOBL SY.PIC ;DDB-CURRENT INPUT CHANGE BLOCK POINTER. .GLOBL SY.RTN ;DDB-TASK DDB RESERVED FOR (BYTE) .GLOBL SY.DFL ;DDB-FLAG BYTE. .GLOBL SY.SCB ;DDB-STORE FOR CURRENT CHANGE BLOCK. .GLOBL SY.TO ;DDB-2LISECONDS 60. ;SECONDS 3600. ;MINUTES ; .ENDC ; .IFEQ CYCSEC-50. ; 1 ;TICKS 6314 ;MILLISECONDS 50. ;SECONDS 3000. ;MINUTES ; .ENDC .ENDC ; ; ; LOGICAL ASSIGNMENT TABLE ; ; ; THIS TABLE IS POINTED TO BY BAT IN THE SVT. ; ; ITS SIZE (IN WORDS) IS DEFINED BY LATSZ. ; ; ; .IFNDF LATSZ LATSZ=12. ;DEFAULT SIZE = 4 SLOTS .ENDC ; LAT: .WORD LATEN ;PTR TO END OF TABLE .WORD 0 ;FIRST ENTRY IS 0 (END OF LIST) .=.+LATSZ+LATSZ-2 ;AREA FOR TABLE LATEN: .WOR3 WORD OF SYSTEM STACK .GLOBL LAPU ;LOWEST SLOT TASKS USE .GLOBL LEV ;HEAD OF THE LINK LISTS .GLOBL LEVEX ;SHIFT TASK TO ORIGINAL PRIORITY .GLOBL LEVEXA ;ALTERNATE ENTRY TO LEVEX .GLOBL MN ;-N .GLOBL NEWSA ;NEW PROGRAM ACTIVE FLAG .GLOBL NP ;RTH-NUMBER PASSED IN CALL .GLOBL OFFS ;INITIALIZE ROUTINE FOR EOFF AND OFFCL .IFNE IO.XTH .GLOBL OP.GB ;ALT ENTRY TO OP.GB .ENDC .GLOBL PL4 ;PRIORITY LEVEL 4 .GLOBL PL7 ;PRIORITY LEVEL 7 .GLOBL PRWT ;COUNT OF TASKS WAITING FOR PROCESSOR .G4 .ENDC TKO.CA: MOV #-2,R4 ;PREPARE TO OUTPUT CR,LF. MOV #KBO.CR,TKO.BF(R5) ;SET DATA POINTER BR TKO.A ;CONTINUE AS NORMAL TRANSFER. ; ; CONSOLE OUTPUT TRANSFER ENTRY ; KBO.TF: MOV #-2,R5 ;UNIT # .IFNZ TK.NOU BR TT.TFA ;JOIN NON-CONSOLE ENTRY. ; NON-CONSOLE OUTPUT TRANSFER ENTRY ; TT.TF: CLR TKO ;NOT BUSY JSR PC,TT.GU ;GET UNIT # .ENDC TT.TFA: MOV 6(R0),TKO.BF(R5) ;SET INTERNAL DATA POINTER. MOV 10(R0),R4 ;GET WORD COUNT. ASL R4 ;CHANGE TO BYTE COUNT TKO.A: MOV R4,TKO.CT(5TIME OUT COUNT (0=NOT ACTIVE) .GLOBL SY.INH ;DDB-TIME OUT MESSAGE INHIBIT COUNT .GLOBL SY.QLK ;Q LINK TO ACTIVE DDB'S ; SY.DVL=-6 ;SUSPEND LEVEL CTRS. SY.SPN=31 ;SUSPEND # (BYTE) SY.BFS=32 ;BUFFER SIZE (WORD) SY.PTB=34 ;POINTER TO TOP OF BUFFER (WORD) SY.PTI=36 ;INPUT PTR TO BUFFER (WORD) SY.PTO=40 ;OUTPUT PTR FROM BUFFER (WORD) SY.PIC=42 ;PTR TO CURRENT INPUT CHANGE BLOCK (WORD SY.RTN=44 ;RESERVED TASK # (BYTE) SY.DFL=45 ;DDB FLAGS (BYTE) SY.SCB=46 ;STORAGE FOR CURRENT 6D 0 ;END OF TABLE ; ; ADDRESSES OF CLOCK AND KEYBOARD STATUS REGISTERS ; ; THIS TABLE IS USED BY THE CONSOLE AND NON-CONSOLE DRIVERS TO ; ACCESS THE DEVICE REGISTERS AND IS REFERENCED BY LABEL TKI.CS. ; ; POWER FAIL AND SYSTEM INITIALIZE USE IT TO ENABLE INTERRUPTS ON ; THE CLOCK AND KEYBOARDS ; .IFNDF TK.NOU TK.NOU=0 ;DEFAULT # OF TT UNITS =0 .ENDC .GLOBL TKI.CS ;ADDRESS OF LIST OF KB&TT INPUT STATUS REGISTERS .GLOBL TKO.CS ;ADDRESS OF LIST OF KB&TT OUTPUT STATUS REGISTER ; .WORD 17LOBL PS ;ADDRESS OF PROCESSOR STATUS REGISTER. .GLOBL PSTB ;PRIORITY STATUS .GLOBL PTBK ;BACKWARD POINTER LIST .GLOBL PTFW ;FORWARD POINTER LIST .GLOBL REACTA ;ALTERNATE ENTRY TO REACT .GLOBL RSA ;BACKGROUND TASK RESTART ADDRESS. .GLOBL SA ;RTH-SUSPENDED STACK ADDRESS .GLOBL SHORT ;SHORT CALL SEQUENCE ERROR. .GLOBL SL ;MINUTES AT START(HI BYTE),SECONDS AT LAST UPDAT .GLOBL SLOT ;NO SLOT AVAILABLE. .GLOBL SM ;MAXIMUM LEVEL 1 RUN TIME(SECONDS) .GLOBL SRTI ;COMMON SYSTEM EXIT. .IFNDFGR5) ;SET INTERNAL COUNT. MOV R0,TKO.TS(R5) ;SAVE THE DDB POINTER. MOVB #-2,SY.TO(R0) ;ENABLE TIME OUT BIS #100,@TKO.CS(R5) ;ENABLE INTERRUPT RTS PC ; ;CONSOLE OUTPUT TIME OUT KBO.TO: MOV #-2,R5 ;UNIT # .IFNZ TK.NOU BR TT.INC ;NON CONSOLE TIME OUT TKO.TO: JSR PC,TT.GU ;GET UNIT # .ENDC BR TT.INC ;TRY AGAIN ; ; CONSOLE OUTPUT INTERRUPT ENTRY ; KBO.IN: JSR R5,STRG ;SAVE REGISTERS SUB PC,R5 ;SET CONSOLE UNIT NUMBER .IFNZ TK.NOU BR TT.INB ;JOIN NON-CONSOLE ENTRY ; ; NON-CEOUTPUT CHANGE BLOCK SY.TO=52 ;TIME OUT COUNT (0=NOT ACTIVE) SY.INH=53 ;TIME OUT MESSAGE INHIBIT COUNT SY.QLK=-12 ;Q LINK TO ACTIVE DDB'S ;FLAGS IN DDB POSITION SY.DFL .GLOBL SY.LOC ;DDB-LOCKED FLAG. .GLOBL SY.RES ;DDB-RESERVED FLAG. .GLOBL SY.WDC ;DDB-WAITING FOR DEVICE COMPLETION FLAG .GLOBL SY.DPR ;DDB-PERMANENT DDB BIT. .GLOBL SY.TWR ;DDB-THE OWNER IS WAITING. .GLOBL SY.WIW ;DDB-.WRITE OR .READ IS WAITING FOR ROOM OR DATA .GLOBL SY.DWN ;DDB-DEVICE IS DOWN FLAG (NOT READY). ; F77546 ;CLOCK STATUS REGISTER .WORD 177560 ;CONSOLE GOES HERE TKI.CS: ;NON CONSOLE UNITS 0-N GO HERE .IFNDF TTCS TTCS=176500 .ENDC .IFGE TK.NOU-1 .WORD TTCS .IFGE TK.NOU-2 .WORD TTCS+10 .IFGE TK.NOU-3 .WORD TTCS+20 .IFGE TK.NOU-4 .WORD TTCS+30 .IFGE TK.NOU-5 .WORD TTCS+40 .IFGE TK.NOU-6 .WORD TTCS+50 .IFGE TK.NOU-7 .WORD TTCS+60 .IFGE TK.NOU-8. .WORD TTCS+70 .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .WORD 0 ;END OF TABLE. ; ; ADDRESSESH NO.TIM .GLOBL STCT ;ROUTINE TO START A COUNTER .ENDC .GLOBL SUTB ;SUSPEND STATUS .GLOBL SYAUA ;SYSTEM,USER ACTIVE FLAG .GLOBL SY.DFL ;DDB-FLAG BYTE. .GLOBL SY.DPR ;DDB-PERMANENT DDB BIT. .GLOBL SY.DVL ;DDB-SUSPEND LEVEL COUNTS. .GLOBL SY.RES ;DDB-RESERVED FLAG. .GLOBL SY.RTN ;DDB-TASK DDB RESERVED FOR (BYTE) .GLOBL SY.SPN ;DDB-SUSPEND NUMBER (BYTE) .GLOBL SY.TWR ;DDB-THE OWNER IS WAITING. .IFNE IO.XTH .GLOBL S.ED ;ROUTINE TO ENTER A DRIVER AT MISCELLANEOUS ENTR .ENDC .GLOBL """"""" """DDDDDDD@DDDDDDDDDˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ """ """"""""""DDDDDDDDDDDDDDDDDDDD """"""""""""ˆˆˆˆˆˆDDDD ""€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆDDDDDDDD """"""""""""""DDDDDDDDDDD """"€ˆˆˆˆˆˆˆˆADDB B B C�s›Æ4d~ àa›#€ 4d~ Í!Ž›¬4d~ ö›4Þ4d~ !›E4d~ á @›¶^4d~ ¾#!°›$"s4d~ Âe�›O „!4d~ Ú…�› 4d~ é‘Ù›¸4d~ ¯’ΛirX^Å{´›ir€^~ cÒ.›ir¨^~ �ÝA›irÐ^~ ó l›irø^~  K›ir ^~ 2N›Xq¤`^~ ©EY›�s¶R¡K~ ËO"Ó›é÷�^~ ýRŽ›4dµz^~ …]e›4dªÆ^~ siÑ›;M¶R^~ µpà›;M¶R¡K~ E’ê›t^ªÆ^~ ëÕ õ›4dµz4d~ £×›$DÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿﮪˆˆˆˆÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÅ{´¶B›ŠË¼Ë8ŽÅaå €�Í‹æÄ,L ƒÖ Bw&ÄB“Œ ýƒàÇ` % &ˆÄ‚— ýÿ}†&*ˆCÒ$’$ŽÎ’Âe ¦’ÎEÀÿ—%>k†ŽŒ †—£Î a€Ê‹a�ÊÕ€ŠŠ¦¦˜æ×$Ž & *ˆÖ PÓ$â ΋ÎŠË  ìË Î‹ ¡Î €Ó óËdË ÎŠ Î �(ˆÍ 1�£'ˆuÊ �÷ ÂQ$f €$Ë5@ ðU ‘C΋ Î �Cb÷ ŽM΋ÍðU@ ððU€ &„ ¥¥„ „ Ñ B"‘â‹Ã Å.&0 æM I SY.LOC=200 ;LOCKED SY.RES=100 ;RESERVED SY.WDC=40 ;WAITING FOR DEVICE COMPLETION SY.DPR=20 ;THIS IS A PERMANENT DDB SY.TWR=10 ;AN OWNER IS WAITING SY.WIW=4 ;.WRITE IS WAITING FOR ROOM. SY.DWN=2 ;DEVICE IS DOWN ; ;SUSPEND REASONS ; ;THESE ARE PUT ON THE TOP OF THE USER STACK AND ;INDICATE WHY THE TASK IS SUSPENDED. ; .GLOBL SY.WL ;SUSPEND-WAIT, LOCKED .GLOBL SY.OR ;SUSPEND-OPEN, RESERVED .GLOBL SY.OL ;SUSPEND-OPEN, LOCKED FOR ANOTHER TASK .GLOBL SY.OF ;SUSPEND-OPEN, BUFJ OF TELEPRINTER STATUS REGISTERS ; .WORD 177564 ;CONSOLE TKO.CS: ;NON-CONSOLE UNITS 0-N GO HERE. .IFGE TK.NOU-1 .WORD TTCS+4 .IFGE TK.NOU-2 .WORD TTCS+14 .IFGE TK.NOU-3 .WORD TTCS+24 .IFGE TK.NOU-4 .WORD TTCS+34 .IFGE TK.NOU-5 .WORD TTCS+44 .IFGE TK.NOU-6 .WORD TTCS+54 .IFGE TK.NOU-7 .WORD TTCS+64 .IFGE TK.NOU-8. .WORD TTCS+74 .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ;DOES NOT REQUIRE A 0 TABLE TERMINATOR ; ; STORAGE AREA FOR POWER DOWNKONSOLE OUTPUT INTERRUPT ENTRY ; TT.INT: MOV S.STAT,TT.TMP ;SAVE CURRENT STATUS TO GET UNIT #. JSR R5,STRG ;SAVE REGISTERS. MOV (PC)+,R5 ;GET UNIT # TT.TMP: 0 JSR PC,TT.GUA ;GO SAVE UNIT # .ENDC TT.INB: MOV #SRTI,-(SP) ;DRIVER EXIT ADDRESS MOV TKO.TS(R5),R0 ;DDB ADDRESS CLR SY.TO(R0) ;NO TIME OUT TT.INC: MOVB #200,S.STAT ;DROP PRIORITY CLR @TKO.CS(R5) ;DISABLE INTS. MOV TKO.TS(R5),R0 ;GET PROPER DDB POINTER. TKO.J: TSTB TKO.FF(R5) ;FF OUTPUT IN PROGRESS? BNE TKO.K ;YES- TSTB TKOLS.RRES ;SYSTEM REGISTER RESTORE ROUTINE/ .GLOBL S.RSAV ;SYSTEM REGISTER SAVE ROUTINE/ .GLOBL S.STAT ;PROCESSOR STATUS WORD. .GLOBL TACKW ;TACK A SLOT TO WAITING LIST .GLOBL TFILE ;ROUTINE TO FILE AWAY A TASK .GLOBL TR ;RTH-TRAP VECTOR SETTING. 0 IF NONE. .GLOBL TSLOT ;ROUTINE TO FIND A TIMER SLOT .IFNDF NO.TIM .GLOBL UNCLK ;ROUTINE TO UNCLOCK A TASK .ENDC .GLOBL UPSTK ;USER STACK AT ENTRY TO EXEC .GLOBL WDTB ;HEADER ADDRESS TABLE .GLOBL WL ;RTA-WAITING LIST HEAD(LOW BYTE)&TAIL(HIGHMFER FULL. .GLOBL SY.OLT ;SUSPEND-OPEN,LOCKED FOR THIS TASK .GLOBL SY.CR ;SUSPEND-CLOSE, RESERVED. .GLOBL SY.CL ;SUSPEND-CLOSE, LOCKED FOR ANOTHER TASK. .GLOBL SY.CF ;SUSPEND-CLOSE, BUFFER FULL .GLOBL SY.CLT ;SUSPEND-CLOSE, LOCKED FOR THIS TASK .GLOBL SY.WRR ;SUSPEND-WRITE, LOCKED FOR ANOTHER TASK .GLOBL SY.WRL ;SUSPEND-WRITE, LOCKED FOR ANOTHER TASK .GLOBL SY.WLT ;SUSPEND-WRITE, LOCKED FOR THIS TASK .GLOBL SY.RLT ;SUSPEND-RELEASE, LOCKED FOR THIS TASK .GLOBL SY.SPL ;SUSPEND-SPECIAL FCNN SEQUENCE. ; .GLOBL PF.S ;POWERFAIL SAVE AREA. .GLOBL PF.SA ;POWERFAIL SAVE AREA. .WORD 0 ;EXTRA WORD FOR REG RESTORE CALL. PF.SA: .=.+14 ;STORE FOR R0-R5 PF.S: .=.+2 ;STORE FOR R6 ;*-; .END ; ; DATA AREAS FOR UDC DRIVER. ; .GLOBL UD.CHN ;UDC-NUMBER OF CHANNELS .IFNDF UD.CHN UD.CHN=0 .ENDC .IFNE UD.CHN .GLOBL UD.NIM ;UDC-NUMBER OF INTERRUPTING MODULES. .IFNDF UD.NIM UD.NIM=0 .ENDC .GLOBL UDNIM2 ;UDC-UD.NIM*2 UDNIM2=UD.NIM+UD.NIM .GLOBL UD.GEN ;UDC-GENERIC CODES TABLEO.TP(R5) ;TAB OUTPUT IN PROGRESS. BEQ .+6 JMP TKO.T ;YES- MOVB @K.MPTR(R5),R2 ;SOMETHING IN SPECIAL OUTPUT STRING? BNE TKO.JI ;YES- MOVB CCTMP(R5),R2 ;CONTROL CHARACTER TO OUTPUT? BNE TKO.JJ ;YES- TKO.JA: TSTB EF(R5) ;ECHO IN PROGRESS? BMI TKO.JB ;YES- TKO.JH: INC TKO.CT(R5) ;COUNT THIS CHARACTER BGT TKO.B ;DONE- MOVB @TKO.BF(R5),R2 ;GET CHARACTER FOR OUTPUT. INC TKO.BF(R5) ;ADVANCE DATA POINTER. TKO.JG: MOV #KO.MA,R4 ;GET POINTER TO CHECK STRING CMPB R2,(R4)+ ;CR? BEQ TKO.P BYTE) .GLOBL WTCH ;WATCH DOG TIMER(LOW BYTE) .GLOBL WTCHD ;WATCH DOG TIMER POINTER ; ; DELETE REQUESTS FOR A TASK FROM BOTH THE TASK ; REQUEST QUEUE AND THE TIMER LIST. IF A DATA ; WORD IS SPECIFIED, THEN ONLY THOSE ENTRIES ; THAT MATCH ARE DELETED. OTHERWISE ALL ENTRIES ; THAT REFERENCE THE DESIGNATED TASK ARE DELETED. ; THIS ROUTINE CORRESPONDS TO THE FORTRAN ; CALL "CALL DELETE(PRG,...)". ; OFFCL: JSR PC,OFFS ;OFF INITIALIZE SUBROUTINE 06 BGE CLRSC ;BRANCH IF DATA 07 CLR R4 ;IQ, LOCKED FOR ANOTHER TASK .GLOBL SY.SPR ;SUSPEND-SPECIAL FCN, RESERVED .GLOBL SY.SPT ;SUSPEND-SPECIAL FCN, LOCKED FOR THIS TASK .GLOBL SY.TRL ;SUSPEND-XFR FCN, LOCKED FOR ANOTHER TASK .GLOBL SY.TRR ;SUSPEND-XFR FCN, RESERVED .GLOBL SY.TRT ;SUSPEND-XFR FCN, LOCKED FOR THIS TASK SY.WL=1 ;WAIT, LOCKED SY.OR=2 ;OPEN, RESERVED SY.OL=3 ;OPEN, LOCKED FOR ANOTHER TASK SY.OF=4 ;OPEN, FULL SY.OLT=5 ;OPEN, LOCKED FOR THIS TASK. SY.CR=6 ;CLOSE, RESERVED SY.CL=7 ;CLOSE, LOCKED R .GLOBL UD.PRV ;UDC-PREVIOUS STATUS TABLE UD.PRV: .=.+UD.CHN+UD.CHN UD.GEN: .=.+UD.CHN .EVEN .GLOBL UD.COS ;UDC-CHANGE OF STATE TABLE .GLOBL UD.IMD ;UDC-INT MODULE DATA UD.COS: .=.+UD.NIM+UD.NIM UD.IMD: .=.+UD.NIM .EVEN .ENDC ; ; SET DUMMIES FOR AD, AF ; .GLOBL AD.CHN ;NUMBER OF AD01 CHANNELS .IFNDF AD.CHN AD.CHN=0 .ENDC .GLOBL AD.PRI ;ALTERNATE PRIORITY FOR AD01 .IFNDF AD.PRI AD.PRI=240 .ENDC .GLOBL AF.CHN ;NUMBER OF AFC CHANNELS .IFNDF AF.CHN AF.CHN=0 .ENDC .IFNSD ; CMPB R2,(R4)+ ;LF? BEQ TKO.H ; CMPB R2,(R4)+ ;NULL? BEQ TKO.JA ;YES-IGNORE CMPB R2,#177 ;R/O? BEQ TKO.JA ; YES-IGNORE. CMPB R2,(R4)+ ;OVER 40 (PRINTING?) BHIS TKO.C ;YES-GO PRINT CMPB R2,(R4)+ ;TAB? BEQ TKO.T CMPB R2,(R4)+ ;VT? BEQ TKO.FB ;YES- CMPB R2,(R4)+ ;FF? BEQ TKO.KA ;YES CMPB R2,(R4)+ ;BELL? BEQ TKO.F ;YES- PRINT IT CMPB R2,(R4)+ ;BACKSPACE? BEQ TKO.F ;YES-PRINT IT ;CONTROL CHARACTER FOUND-PRINT ^ CHAR. ;PUT ASSOCIATED CHARACTER INTO CCTMP FOR OTNDICATE NO DATA 07 CLRSC: MOV R1,-(SP) ;HEADER ADDRESS 08 MOV R0,-(SP) ;TASK NO 08 .IFNDF NO.TIM ;CONDITIONAL TIME DEPENDENT SCHEDULING RESLS: MOVB LEV,R1 ;START OF TIMER LIST 09 BEQ WLEND ;IF EQ NO MORE ENTRIES TBSLP: CMPB (SP),SUTB(R1) ;IS THIS REFERENCE TO TASK BEING CLEARED 010 BNE WLSTP ;IN NE SKIP OVER ENTRY CMPB PSTB(R1),#MN ;CHECK FOR WAIT. BEQ WLSTP ;OFF CODE WILL TAKE CARE OF WAIT TST R4 ;DATA TO TEST? BEQ CUTHR ;IF EQ NONE TO CHECK MOVB PSTB(R1),R2 ;GET EUFOR ANOTHER TASK SY.CF=10 ;CLOSE, FULL SY.CLT=11 ;CLOSE, LOCKED FOR THIS TASK. SY.WRR=12 ;WRITE, RESERVED SY.WRL=13 ;WRITE, LOCKED FOR ANOTHER TASK SY.WLT=14 ;WRITE, LOCKED FOR THIS TASK SY.RLT=15 ;RELEASE, LOCKED FOR THIS TASK. SY.SPR=16 ;SPECIAL FCN-RESERVED SY.SPL=17 ;SPECIAL FCN-LOCKED FOR ANOTHER TASK SY.SPT=20 ;SPECIAL FCN-LOCKED FOR THIS TASK SY.TRR=21 ;XFR FCN, RESERVED SY.TRL=22 ;XFR FCN, LOCKED FOR ANOTHER TASK SY.TRT=23 ;XFR FCN, LOCKED FOR THIS TASK ; ; ERVDF DC.DSC DC.DSC=0 .ENDC .IFNDF DF.DSC DF.DSC=0 .ENDC .IFNDF DK.DSC DK.DSC=0 .ENDC .IFNDF DT.DSC DT.DSC=0 ;NUMBER OF DECTAPE UNITS .ENDC ; ; DEFAULT LINE PRINTER WIDTH .GLOBL PRSIZE ;COLUMN WIDTH OF LINE PRINTER. .IFNDF PRSIZE PRSIZE=80. .ENDC ; ; DEVICE BUFFERS ; .GLOBL KBBUF ;ADDRESS OF KB KEYBOARD EXEC BUFFER. .GLOBL LPBUF ;ADDRESS OF LP BUFFER. .GLOBL PPBUF ;ADDRESS OF PP BUFFER. .GLOBL PRBUF ;ADDRESS OF PR BUFFER. .GLOBL TPBUF ;ADDRESS OF KB OUTPUT EXEC BUFFEWUTPUT NEXT. ; ADD #100,R2 ;CONVERT CONTROL CHARACTER TO REAL CHARACTER MOVB R2,CCTMP(R5) ;AND SET IT FOR OUTPUT NEXT. MOVB #'^,R2 ;GET AN UP ARROW BR TKO.C ;GO PRINT. TKO.KA: INCB TKO.FF(R5) ;SET FF FLAG. TKO.K: MOVB #12,R2 ;GET A LINE FEED DECB TKO.FC(R5) ;REDUCE FF COUNT. BIT #7,TKO.FC(R5) ;AT A FF STOP? BNE TKO.FA ;NO-GO PRINT LF. CLR TKO.FC(R5) ;YES-RESET FLAG AND COUNT. BR TKO.FA ;GO PRINT. ;OUTPUT NEXT ECHO CHARACTER TKO.JB: DECB EC(R5) ;ANY CHARACTER TO OUTPUT? BMI TXXTENSION INDEX BNE OFFCLA ;GO CHECK EXTENSIONS ; NO EXTENSION MEANS THE DATA IS 0. TST @(R5) ;CONDITIONAL ON 0? BR OFFCLB OFFCLA: CMP @(R5),SUTB(R2) ;DATA MATCH? OFFCLB: BNE WLSTP ;NO-DON'T CUT. CUTHR: MOVB PSTB(R1),-(SP) ;GET EXTENSION INDEX JSR PC,CUTSL ;CUT TIMER SLOT MOVB (SP)+,R1 ;GET EXTENSION INDEX BEQ RESLS ;IF EQ NO EXTENSION JSR PC,TACKW ;RELEASE EXTENSION SLOT BR RESLS ;GO AGAIN FROM START WLSTP: MOVB PTFW(R1),R1 ;NEXT IS TIMER LIST 011 CMPB R1,LEV ;IS THIS THE ENYROR CLASSES *(2^8) ; .GLOBL S.EINF ;INFORMATIONAL CLASS MESSAGE .GLOBL S.EACT ;ACTION CLASS MESSAGE .GLOBL S.EWAR ;WARNING CLASS MESSAGE .GLOBL S.EFAT ;FATAL CLASS MESSAGE .GLOBL S.ESYS ;SYSTEM PROGRAM CLASS MESSAGE .GLOBL S.EREL ;REAL TIME ERROR(ILLEGAL ACTION) ; S.EINF=0 ;INFORMATIONAL S.EINF=0 ;INFORMATIONAL S.EACT=400 ;ACTION S.EWAR=1000 ;WARNING S.EFAT=1400 ;FATAL S.ESYS=2000 ;SYSTEM PROGRAM S.EREL=2400 ;REAL-TIME ONLY (ACTION FATAL) ; ;COMMANDS FOR OUTPUT CIRCUZR. ; ; SET DUMMY BUFF SIZES FOR KB,PR,PP,LP ; .GLOBL KBFSZ ;KB&TT KEYBOARD EXEC BUFFER SIZE. .IFNDF KBFSZ KBFSZ=0 .ENDC .GLOBL TPSZ ;SIZE (BYTES) OF KB&TT OUTPUT EXEC BUFFER. .IFNDF TPSZ TPSZ=0 .ENDC .GLOBL PRSZ ;SIZE(BYTES) OF PR EXEC. BUFFER. .IFNDF PRSZ PRSZ=0 .ENDC .GLOBL PPSZ ;SIZE (BYTES) OF PP EXEC BUFFER. .IFNDF PPSZ PPSZ=0 .ENDC .GLOBL LPSZ ;SIZE (BYTES) OF LP EXEC BUFFER. .IFNDF LPSZ LPSZ=0 .ENDC .EOT ; EXECUTIVE TABLES AND DATA AREAS - PART 2 ; ; VERSI[KO.JC ;NO-DONE WITH ECHO MOV EPO(R5),R1 ;GET A CHARACTER FROM THE BUFFER MOVB (R1)+,R2 BMI TKO.JD ;BRANCH TO OUTPUT A BACKSLASH CMPB R2,#15 ;IS IT A CARRIAGE RETURN? BEQ TKO.JE ;YES- JSR PC,K.CWR ;CHECK PTR FOR WRAP AROUND TO MOV R1,EPO(R5) ;AND PUT BACK. BR TKO.JG ;CONTINUE AS NORMAL CHARACTER. ; ;ECHO DONE-SEE IF TRANSFER IN PROGRESS. TKO.JC: CLR EF(R5) ;NO ECHO NOW. ALSO CLEAR ECHO COUNT TST TKO.CT(R5) ;ANY NORMAL OUTPUT TO DO? BLE TKO.JH ;YES-GO DO IT. RTS PC ;NO-EX\D OF LIST? BNE TBSLP ; 012 .ENDC WLEND: MOV #WL,R3 ;DISPLACEMENT OF TASK LINKED LIST 014 ADD 2(SP),R3 ;ADDRESS OF LINKED LIST WAITING 014 ; ; THE FOLLOWING SCAN OF THE WAITING QUEUE OF REQUESTS ; FOR A TASK MUST BE EXECUTED WITH INTERRUPTS OFF ; SO THAT NO REQUESTS MAY BE MADE VIA "HSASI" THAT ; REFERENCE THE SAME SLOT WHILE THE SCAN IS IN PROGRESS. ; MOV #PL7,PS ;LOCK OUT INTS DURING SCAN MOVB (R3),R1 ;INDEX OF FIRST WAITING CALL BEQ OFCLX ;IF EQ NONE TO WORRY ABOUT MOV R3,]LAR BUFFER ; .GLOBL SY.OPN ;CMD-OPEN .GLOBL SY.CLS ;CMD-CLOSE .GLOBL SY.TRA ;CMD-TRANS .GLOBL SY.WR ;CMD-WRITE .GLOBL SY.CLI ;CMD-INPUT CLOSE .GLOBL SY.WAP ;CMD-WRAP AROUND SY.OPN=2 ;OPEN SY.CLS=4 ;CLOSE SY.TRA=6 ;TRANS SY.WR=10 ;WRITE SY.CLI=12 ;SPECIAL INPUT CLOSE. SY.WAP=14 ;WRAP AROUND ; ;FLAG IN USER LINE BUFFER TO CONTROL ATTACH/DETACH ;STAY ATTACHED UNLESS=1 ; .GLOBL SY.DET ;FREE BIT SY.DET=40 ;BIT 5 OF MODE BYTE ; .GLOBL SY.MUD ;DRIVER MULTI-ACCESS BI^ON V005A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD, MASS.01754 ; KBBUF: .=.+KBFSZ TPBUF: .=.+TPSZ ;TELEPRINTER PRBUF: .=.+PRSZ ;PAPER READER PPBUF: .=.+PPSZ ;PAPER PUNCH LPBUF: .=.+LPSZ ;LINE PRINTER .IFGE TK.NOU-1 .GLOBL TKBUF ;ADDRESS OF TT KEYBOARD EXEC BUFFER. TKBUF: .=.+KBFSZ .IFGE TK.NOU-2 .=.+KBFSZ .IFGE TK.NOU-3 .=.+KBFSZ .IFGE TK.NOU-4 .=.+KBFSZ .IFGE TK.NOU-5 .=.+KBFSZ .IFGE TK.NOU-6 .=.+KBFSZ .IFGE TK.NOU-7 .=.+KBFSZ .IFGE TK.NOU-_IT ; ;OUTPUT A "\" FOR RUBOUT ECHO. PUT OUT CURRENT CHARACTER NEXT TIME. TKO.JD: BIC #-177-1,R2 ;SAVE LOW 7 BITS OF CHARACTER. MOVB R2,-(R1) ;PUT BACK INTO ECHO BUFFER. MOVB #'\,R2 ;GET A BACKSLASH. TKO.JF: INCB EC(R5) ;FUDGE COUNT BACK. BR TKO.JG ;NORMAL FROM HERE. ; ; FOUND A CR TO ECHO. CHANGE CHARACTER IN ECHO BUFF TO A LF. TKO.JE: MOVB #12,-(R1) BR TKO.JF ;GO FUDGE COUNT. ; ; OUTPUT CHARACTERS FROM SPECIAL STRING FOR CNTRL-U AND ; CNTRL-C ; ; TKO.JI: INC K.MPTR(R5) ;ADVANCE `R0 ;SAVE LIST HEADER ADDRESS CLR -(SP) ;CLEAR LST SLOT INDEX WLLRT: MOVB PTFW(R1),R2 ;GET INDEX OF NEXT SLOT TST R4 ;ANY DATA TO CHECK? BEQ WLTAC ;IF EQ NO-GO CUT SLOT CMP @(R5),WDTB(R1) ;COMPARE DATA ENTRIES BEQ WLTAC ;IF EQ CUT IT OUT MOV R1,(SP) ;SAVE LAST SLOT INDEX ADD #PTFW,R1 ;MAKE REAL ADDRESS MOV R1,R0 ;LAST HEADER ADDRESS BR WLENR ;GO TO END TO CHECK FOR MORE WLTAC: JSR PC,TACKW ;ADD SLOT TOMWAITING LIST MOVB R2,(R0) ;STORE NEW FORWARD POINTER CMPB 1(R3),R1 ;IS TaT. SY.MUD=1 ; INDEXES INTO DDB USED BY AD/AF/UDC DRIVERS ; AND SUBROUTINES. ; .GLOBL PI.FCN ;DDB-SPECIAL FCN CODE STORE .GLOBL PI.ADR ;DDB-ADDRESS OF MUX ARRAY .GLOBL PI.NUM ;DDB-NUMBER OF POINTS .GLOBL PI.DAT ;DDB-ADDRESS OF DATA ARRAY .GLOBL PI.ERR ;DDB-ADDRESS OF FINAL STATUS .GLOBL PI.FST ;DDB-FIRST CHANNEL NUMBER FOR SEQUENTIAL OPS. .GLOBL PI.FAD ;DDB-ADDRESS OF # OF POINTS PI.FCN=20 ;STORAGE FOR FUNCTION CODE. PI.ADR=4 ;STORE FOR ADDRESS OF CONNECTION DATA ARRAY PI.NUM=6 b8. .=.+KBFSZ .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .IFGE TK.NOU-1 .GLOBL TOBUF ;ADDRESS OF TT OUTPUT EXEC BUFFER. TOBUF: .=.+TPSZ ;NON-CONSOLE PRINTER .IFGE TK.NOU-2 .=.+TPSZ .IFGE TK.NOU-3 .=.+TPSZ .IFGE TK.NOU-4 .=.+TPSZ .IFGE TK.NOU-5 .=.+TPSZ .IFGE TK.NOU-6 .=.+TPSZ .IFGE TK.NOU-7 .=.+TPSZ .IFGE TK.NOU-8. .=.+TPSZ .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; ; IF NO IO REQUESTED, TURN OFF FILE ROUTINES AND DEVICE ; cTHE POINTER BR TKO.JG ;GO PROCESS FOR OUTPUT. ; OUTPUT SECOND CHAR OF CNTRL-CHAR. CLEAR CURRENT CHARACTER. ; ; TKO.JJ: CLRB CCTMP(R5) ;CLEAR THE CHARACTER STORAGE. TSTB EF(R5) ;IS ECHO IN PROGRESS? BPL TKO.JG ;NO - GO PRINT JUST THE CHARACTER. CMPB R2,#125 ;YES - CHECK FOR CNTRL-U. BEQ TKO.JK CMPB R2,#103 ;MAYBE A CNTRL-C? BNE TKO.JG ;NO - GO PRINT .IFNZ TK.NOU TST R5 ;MUST ALSO BE CONSOLE. BPL TKO.JG ;NOT CONSOLE- .ENDC MOV #KO.MB,K.MPTR(R5) ;SET PTR TO SPECIAL STRINGdHIS LAST SLOT? BNE WLENR ;IF NE DON'T STORE NEW LAST MOVB (SP),1(R3) ;STORE NEW LAST INDEX WLENR: MOV R2,R1 ;NEXT TO R1 BNE WLLRT ;IF NE MORE TO SCAN TST (SP)+ ;POP OFF LAST INDEX OFCLX: MOV #PL4,PS ;LOWER PRIORITY CMP (SP)+,(SP)+ ;ADD 4 TO STACK POINTER CMP -(R5),-(R5) ;SUBTRACT 4 FROM R5 ; ; OFF REAL TIME EMT ; EOFF: JSR PC,OFFS ;OFF INITIALIZE SUBROUTINE 031 BLT OFFA ;IS DATA SPECIFIED BRANCH IF NONE 032 CMP NP(R1),@(R5)+ ;IS DATA IN HEADER EQUAL TO DATA 033 BNE EXRUNB ;STORE FOR NUMBER OF POINTS. PI.DAT=10 ;STORE FOR ADDRESS OF DATA ARRAY PI.ERR=24 ;STORE FOR ADDRESS OF TRANSFER STATUS. PI.FST=22 ;STORE FOR FIRST CHANNEL NUMBER. PI.FAD=34 ;STORE FOR ADDR OF # OF POINTS. .EOT f TIME OUT AND STATUS REQUEST. ; .IFDF IO.XTH ;MUST BE DEFINED .IFEQ IO.XTH ; AND 0. NO.FIL=1 ;NO FILE ROUTINES NO.DTO=1 ;NO DEVICE TIME-OUT NO.STT=1 ;NO STATUS REQUEST. .ENDC .IFLE IO.XTH-3 ;IF PROCESS AND/OR XFR ONLY NO.FIL=0 ;SUPPRESS FILE ROUTINES .ENDC .ENDC ; ; THE FOLLOWING GENERATES DUMMY ROUTINES ; AND OR 0 GLOBAL VALUES TO CONTROL ; LINKING OF NON-DESIRED ROUTINES. ; ; ; DUMMY ROUTINES FOLLOW ; .IFDF NO.DTO ;NO DEVICE TIME-OUT .GLOBL TIMOUT ;DEVICE TIMOUT Cg. BR TKO.JG ;FOR CNTRL-C ; TKO.JK: MOV #KO.MA,K.MPTR(R5) ;SPECIAL STRING FOR CNTRL-U. BR TKO.JG ; ; TKO.C: DECB TKO.TB(R5) ;REDUCE TAB COUNT. TKO.F: MOV TKO.CS(R5),R1 ;GET ADR OF TELEPRINTER STATUS REGISTER MOVB #-2,SY.TO(R0) ;ENABLE TIME OUT BIS #100,(R1)+ ;ENABLE INTERRUPT MOVB R2,(R1) ;OUTPUT CHARACTER. TKO.EX: RTS PC ; ; OPERATION DONE. ; TKO.B: CLR @TKO.CS(R5) ;DISABLE INTERRUPTS. JMP @14(R0) ;COMPLETION EXIT ; ; CONVERT TAB TO MOD -8 SPACES. ; TKO.T: INCB TKO.TP(R5) ;SEh;IF NE NO MATCH OFFA: MOVB PSTB(R0),R3 ;IS TASK ACTIVE 034 BPL STATCK ;BRANCH IF ACTIVE 034 BIC #177700,R3 ;CLEAR ALL BUT PRIORITY 035 MOV R0,R2 ;TASK NUMBER FOR KILL CHECK 035 MOV WDTB(R0),R0 ;HEADER ADDRESS TO R0 035 OFFX: JMP KILLT ; 035 STATCK: INCB NEWSA ;CAUSE SCAN AFTER TASK TURNED OFF MOVB SUTB(R0),R3 ;STATUS OF SUSPEND 036 BLE OF.SA ;SKIP SCAP OF DDB'S IF 0 OR NEGATIVE STATE. .IFNE IO.XTH ;CHECK IF ANY IO AT ALL. ; ; SCAN THE DDB'S FOR THIS SUSPEND NUMBER.i .TITLE ERTRP ; VERSION V005A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD MASS. 01754 ; ; ; STANDARD REGISTER DEFINITIONS ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 ;ERROR TRAP AND ; UNINITIALIZED VECTORS SERVICE ROUTINE ; ALL SUCH ARE SET TO TRAP TO THIS ROUTINE WITH A CODE IN ; BITS 1,2,3 OF THE STATUS WORD AS FOLLOWS: ; ; 1 -- ERROR TRAP 4 ; 2 -- RESERVED INSTRUCTION TRAP 10 ; 3 -- TRACE TRAP 14 ; 4 -- POWER FAIL TRAP 24 ; 5 -- TRAP INSTRUCTION TRAjODE TIMOUT: ;FALL INTO RTS PC .ENDC .GLOBL TDS ;TIME DEPENDENT SCHEDULER .IFDF NO.TIM ;NO TIME DEPENDENT SCHEDULING TDS: ;FALL INTO RTS PC .ENDC .GLOBL PAND ;PANIC DUMP SWITCH-DEFINE=DEVICE CSR FOR DUMP .IFNDF PAND ;NO PANIC DUMP PAND=0 .ENDC .IFEQ PAND ;NO PANIC DUMP PDMP$: ;FALL INTO RTS PC .ENDC ; DUMMY RTS PC RTS PC ;ALWAYS GENERATED. .GLOBL PAN$ ;PANIC DUMP ADDRESS. .IFEQ PAND ;NO PANIC DUMP PAN$: HALT ;SYSTEM HALT .ENDC ; ; CREATE REQUIRED GLOBALS =0 ; kT TAB IN PROGRESS FLAG MOVB #40,R2 ;GET A SPACE. DECB TKO.TB(R5) ;REDUCE MOD -8 COUNT. BIT #7,TKO.TB(R5) ;AT A STOP? BNE TKO.F ;NO- TKO.D: CLR TKO.TB(R5) ;RESET COUNT AND FLAG. BR TKO.F ;GO PRINT. ; ; LF COUNT FOR FF EMULATION. ; TKO.H: DECB TKO.FC(R5) ;REDUCE FF COUNT. ; LF,FF COME HERE. SET ECHO GOING IF SOME TO DO. TKO.FA: NEGB EF(R5) ;IF 0, STAYS 0. IF +1, TURNS TO -1. BGT .-4 ;IF -1, STAYS -1. BR TKO.F ;GO PRINT. ; ; VT COMES HERE TKO.FB: NEGB EF(R5) ;SET ECHO FLAG. l ; IF FOUND, DECREMENT THE PROPER LEVEL COUNTER. ; ; MOV DCO,R5 ;GET PTR TO HEAD OF DDB CHAIN OF.SC: BEQ OF.SA ;DONE - CMPB R3,SY.SPN(R5) ;IS THIS THE DESIRED SUSPEND #? BEQ OF.SB ;YES - GO DECREMENT COUNTER MOV -10(R5),R5 ;NO - CONTINUE SCAN BR OF.SC OF.SB: MOVB PSTB(R0),R4 ;GET PRIORITY LEVEL ADD R5,R4 ;ADD TO DDB ADDRESS. DECB SY.DVL-1(R4) .ENDC OF.SA: .IFNDF NO.TIM ;TIME DEPENDENT SCHEDULING. CMPB R3,#376 ;IS IT WAIT SUSPEND 037 BNE ACTOF ;BRANCH IF NOT WAIT 042mP 34 ; ; GLOBAL DEFINITIONS ; .GLOBL PF.CL ;INSTUCTION TOBE MODIFIED IF NO ;NO CLOCK IN THE SYSTEM .GLOBL RM.SOV ;EXEC ERROR-SYSTEM STACK OVERFLOW HALT .GLOBL RM.T ;EXEC ERROR TRAP ROUTINE FOR TRAP TRAP .GLOBL RM.TRP ;EXEC ERROR TRAP ROUTINE ; ; GLOBAL REFERENCES ; .GLOBL PAN$ ;PANIC DUMP ADDRESS. .GLOBL PF.S ;POWERFAIL SAVE AREA. .GLOBL PF.SA ;POWERFAIL SAVE AREA. .GLOBL PL7 ;PRIORITY LEVEL 7 .GLOBL PS ;PROCESSOR STATUS WORD .GLOBL PWFLF ;POWER FAILURE FLAG( (COUNT OF FAILn.IFDF NO.FIL ;NO FILE MANAGEMENT .GLOBL ALO ;ALLOCATE HANDLER .GLOBL APP ;APPEND HANDLER .GLOBL DEL ;DELETE HANDLER .GLOBL DIR ;DIRECT HANDLER .GLOBL PRO ;PROTECT HANDLER .GLOBL REN ;RENAME HANDLER ALO=0 APP=0 DEL=0 DIR=0 PRO=0 REN=0 .ENDC .IFDF NO.STT ;NO STATUS EMT .GLOBL STT ;STATUS HANDLER STT=0 .ENDC .IFDF NO.CSI ;NO CSI .GLOBL CSM ;SI-SEMANTI .GLOBL CSX ;CSI-SYNTAX CHECKER CSM=0 CSX=0 .ENDC .IFDF NO.GUT ;NO GENERAL UTILITIES .GLOBL GUT ;GENERAL UTILITIES o BGT .-4 JMP TKO.JA ;IGNORE VT .IFNZ TK.NOU ; ; COME HERE ON CNTRL-X FROM NON CONSOLE KEYBOARD. ; ; HALT ANY TASK INITER TO THE KEYBOARD ; AND CLEAR INPUT BUFFER. ; KB.CX: TST R0 ;ANY DDB POINTER? BEQ KB.CXA ;NO-CAN'T BE INITED. BITB #SY.RES,SY.DFL(R0);ANYONE INITED? BEQ KB.CXA ;NO-SKIP TASK HALTING. MOVB SY.RTN(R0),R2 ;GET TASK # SWAB R2 ;PUT IN HIGH BYTE CLRB R2 INCB R2 ;OFF REQUEST IN LOW BYTE. MOVB #UTILT,R0 ;TASK INSEX TO R0 JSR R5,HSASI ;ACTIVATE TASK BR KB.Cp MOVB LEV,R4 ;START OF WAIT LIST 038 OFFL: CMPB SUTB(R4),R0 ;IS THIS TIMER SLOT USED FOR 039 BEQ WTTST ;BRANCH IF SLOT USED BY THIS TASK 039 NWSLT: MOVB PTFW(R4),R4 ;NEXT ON LIST 040 CMPB R4,LEV ;IS THIS END OF LIST 041 BEQ ACTOF ;BRANCH NO TIMER SLOT 042 BR OFFL ;RETURN FOR CHECK 039 WTTST: CMPB PSTB(R4),#MN ;IS THIS A WAIT? BNE NWSLT ; 040 MOV R0,-(SP) ;SAVE TASK NUMBER 043 MOV R4,R1 ;INDICATE SLOT TO CUT 043 JSR PC,CUTSL ;REMOVE SLOT 043 MOV (SP)+,R0qURES) .GLOBL STRG ;COMMON SYSTEM ENTRY SUBROUTINE. .GLOBL SYAUA ;SYSTEM,USER ACTIVE FLAG .GLOBL S.EFAT ;FATAL CLASS MESSAGE .GLOBL S.RRES ;SYSTEM REGISTER RESTORE ROUTINE/ .GLOBL S.RSAV ;SYSTEM REGISTER SAVE ROUTINE/ .GLOBL S.STAT ;PROCESSOR STATUS WORD. .GLOBL TKI.CS ;ADDRESS OF LIST OF KB&TT INPUT STATUS REGISTERS .GLOBL TKO.CS ;ADDRESS OF LIST OF KB&TT OUTPUT STATUS REGISTER .GLOBL UPSTK ;USER STACK AT ENTRY TO EXEC ; RM.TRP: BR RM.ER ; BUS ERROR, SP OVERFLOW. BR RM.RE ; RESERVrHANDLER GUT=0 .ENDC ; .IFNDF RSX11B ; .GLOBL FPMT FPMT=0 ;FILE PROCESSOR EMT'S ; .ENDC .IFDF NO.TIM ;NO TIME DEPENDENT SCHEDULING .GLOBL CLOCK ;CLOCK SCAN ROUTINE .GLOBL ETRNON ;TURNON HANDLER .GLOBL EWAIT ;WAIT HANDLER(RSX WAIT) .GLOBL ROBIN ;ROUND ROBIN SCHEDULER .GLOBL TOD ;TIME OF DAY HANDLER .GLOBL UNCLOC ;UNCLOCK HANDLER CLOCK=0 ETRNON=0 EWAIT=0 ROBIN=0 TOD=0 UNCLOC=0 .ENDC .IFDF NO.OPR ;NO OPERATOR TASK OPHED=0 .ENDC .IFDF NO.GET ;NO ON-LINE LOADER sXB ;ERROR KB.CXA: JSR PC,KB.RES ;RESTORE INPUT POINTERS,FLAGS. MOVB #30,R2 ;PUT CNTRL/X IN R2 BR KB.INI ;GO ECHO CNTRL-X KB.CXB: JSR PC,PAN$ ;SYSTEM ERROR .EOT ; KEYBOARD AND TELEPRINTER DRIVER - PART 2 ; ; VERSION V004A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD, MASS.01754 ; ; NON-CONSOLE INPUT INTERRUPT ; TK.INA: MOV S.STAT,#0 ;SAVE CURRENT STATUS TK.INB=.-2 JSR R5,STRG ;SAVE REGISTERS MOV TK.INB,R5 ;GET STATUS JSR PC,TT.GUA ;SAVE UNIT # BR TK.INC t ;READ TASK NAME 043 MOV WDTB(R0),R1 ;RECALL HEADER ADDRESS. .ENDC ACTOF: MOVB SYAUA,R4 ;ACTIVE PROGRAM USER LEVEL 042 MOV WDTB(R4),R4 ;HEADER OF PROGRAM 042 JSR PC,TFILE ;FILE AWAY THE TASK 042 ACTOFA: MOVB R0,SYAUA ;MAKE TASK TO TURN OFF ACTIVE TASK 042 ;FOR EXIT ROUTINE WHICH FOLLOWS 042 MOV SA(R1),UPSTK ;MAKE SAVED USER STACK CORRESPOND 042 ADD #WTCH,R1 ;CALCULATE WATCHDOG ADDRESS MOV R1,WTCHD ;SET NEW ADDRESS ;PROGRAM AT USER LEVEL GET TO HERE WHEN DONE BY TRAP XIT: uED INST BR RM.TT ; TRACE TRAP BR RM.PW ; POWER FAIL RM.T: ; TRAP TRAP RM.RE: RM.TT: MOVB S.STAT,RM.TMP ; SAVE CURRENT STATUS RM.TTA: JSR R5,STRG ; STORE REGS AND FIX STACKS TST (SP) ; WHERE DID WE COME FROM? BLT RM.XE ;IF LT BAD NEWS FELLOW MOV UPSTK,R0 ; USER ERROR. GET USER'S STACK. MOV 16(R0),-(SP) ; PUSH ERROR PC MOV #S.EFAT,-(SP) ;PUSH ERROR CLASS MOVB RM.TMP,(SP) ;INCLUDE ERROR # MOVB SYAUA,-(SP) ; TASK # IOT ; GO PRINT ; ;BUS ERROR OR SP OVERFLOW ; RM.ER: MOVv LODHED=0 .ENDC ; ; I/O CONTROL REFERENCES. ; ; THE FOLLOWING SELECTS A SET OF GLOBALS DEPENDENT ON ; THE VALUE OF THE SWITCH IO.XTH AS ; FOLLOWS (SET BY THE USER). ; ; IO.XTH =0 NO I/O. ; =1 PROCESS I/O ONLY. ; =2 XFR I/O ONLY. ; =3 PROCESS AND XFR I/O. ; =4 CHARACTER I/O ONLY. ; =5 PROCESS AND CHARACTER I/O. ; =6 XFR AND CHARACTER I/O. ; =7 ALL TYPES OF I/O. ; ; ; IF THE USER DOES NOT DEFINE IO.XTH, THE ASSUMED ; VALUE IS 7. ; ; .IFNDF IO.XTH IO.XTH=7 ;DEFAULT VALUE w;JOIN CONSOLE .ENDC ; ; CONSOLE INPUT INTERRUPT ENTRY ; KB.INA: JSR R5,STRG ;SAVE REGISTERS SUB PC,R5 ;#-2 TO R5 TK.INC: MOVB #200,S.STAT ;DROP PRIORITY MOV #SRTI,-(SP) ;DRIVE EXIT ADDRESS MOV TKI.TS(R5),R0 ;GET DDB POINTER MOV TKI.CS(R5),R2 ; GET ADDRESS OF STATUS REQ MOVB 2(R2),R2 ;GET CHARACTER FROM KEYBOARD CMPB EC(R5),#EBSZ ;ECHO BUFF FULL? BGE TKO.EX ;YES-DROP THE CHARACTER BIC #-177-1,R2 ;SAVE LOW 7 BITS + IGNORE NULLS. BEQ TKO.EX ;IGNORE NULLS. MOV #KO.MA-1,R1 ;SETxEXRUN: MOVB SYAUA,R2 ;TASK # MOV WDTB(R2),R0 ;HEADER ADDRESS .IFNE IO.XTH ;IO SWITCH. TSTB IP+1(R0) ;SHARED RESOURCES IN USE? BNE EXRUNC ;YES,GO RELEASE THESE .ENDC TSTB SUTB(R2) ;TASK RUNNING NOW? BEQ EXRUNA ;YES - JSR PC,REACTA ;NO - GO TALLY PRWT EXRUNA: CLR R4 ;INDICATE ZERO SUSPEND STATE FOR LEVEX X1 CLR R5 ;INDICATE NO TABLE MARKED BY LEVEL X X1 JSR PC,LEVEX ;SHIFT TO ORIGINAL PRIORITY IF CHANGE TOOK PLACE X1 MOV R1,R2 ; X1 MOV WDTB(R2),R0 ;ADDRESS OF HEADER X1 yB S.STAT,RM.TMP ; SAVE CURRENT STATUS CMP SP,#400 ; SP OVERFLOW? BHIS RM.TTA ; NO - TREAT AS NORMAL ERROR. RM.SOV: HALT ;HALT ON SYSTEM STACK OVERFLOW. RM.XE: MOV RM.TMP,R0 ; EXEC ERROR! TROUBLE! MOV #RM.EMA+3,R2 ; PTR TO ERR MSG. BR RM.XEA RM.XEB: ASR R0 ASR R0 ASR R0 RM.XEA: MOV R0,R1 BIC #-7-1,R1 ; SAVE LOW 3 BITS ADD #60,R1 ; CONVERT TO ASCII MOVB R1,(R2) ; PUT INTO MESSAGE TSTB -(R2) ; DONE? BPL RM.XEB ; NO- MOV #RM.EM,R2 ; PTR TO MESSAGE MOV TKO.CS-2,R3 ;ADDRESSz.ENDC ; ; GLOBALS OF INTEREST ; .GLOBL CLS ;CLOSE HANDLER .GLOBL CL.E ;CLOSE-ACTIVATE AFTER BUFFER FULL .GLOBL CL.F ;CLOSE-ACTIVATE AFTER DDB LOCKED .GLOBL CL.G ;CLOSE-ACTIVATE AFTER DDB RESERVED .GLOBL CL.M ;CLOSE-ACTIVATE AFTER DDB LOCKED(THIS TASK) .GLOBL INR ;INIT HANDLER .GLOBL OPN ;OPEN HANDLER .GLOBL OP.H ;OPEN-ACTIVATE AFTER DDB RESERVED .GLOBL OP.J ;OPEN-ACTIVATE AFTER BUFFER FULL .GLOBL OP.K ;OPEN-ACTIVATE AFTER DDB LOCKED .GLOBL OP.M ;OPEN-ACTIVATE AFTER DDB LOCKED(THIS{ ADR OF CHECK STRING .IFNZ TK.NOU TST R5 ;CONSOLE? BMI KB.INN ; YES- CMPB R2,#30 ;CNTRL-X? BEQ KB.CX ;YES-GO TURN OFF CURRENT TASK CMPB R2,#32 ;CNTRL-Z? BNE KB.INC ; NO- INCB K.ENFL(R5) ;YES, SET END OF DATA FLAG. BR KB.INI ; AND GO ECHO. KB.INN: .ENDC CMPB R2,(R1) ;CNTRL-C? BNE .+6 JMP KB.INB ;YES- TSTB (PC)+ ;COMMAND MODE? K.CCF: .WORD 0 BEQ KB.INS ;NO- ; COME HERE IF IN CNTRL-CMODE MOV #-4,R5 ;SWITCH TO UNIT -2 BR KB.INC KB.INS: BITB #SY.RES,SY.DFL(R0);IN| CLR TR(R0) ;INDICATE NO "TRAP" DESIRED X1 BR EXRES EXRUNB: BR SHSRT ;EXIT TO SRTI EXRUNC: JMP SCHLR ;AUX JUMP TO RELEASE DEVICES EXRES: MOV #PL7,PS ;LOCK OUT INTS ; .IFDF RSX11B ; TST FLTB(R0) ;FILE TABLE SLOT TO BE RELEASED? BEQ KILLT2 ;BRANCH IF NOT CLR @FLTB(R0) ;YES, CLEAR SLOT ENTRY... CLR FLTB(R0) ;... AND ADDRESS IN TASK RTH KILLT2: MOV FLBF(R0),R5 ;FILE BUFFER BEING USED? BEQ KILLT3 ;BRANCH IF NOT CLR FLBF(R0) ;CLEAR ADDRESS IN TASK RTH MOV BFTAB$,(R5) ;ADDRESS OF} OF CONSOLE TELEPRINTER RM.XEC: TSTB (R3) ; TTY DONE? BPL .-2 ; NO - WAIT. MOVB (R2)+,2(R3) ; OUTPUT TSTB (R2) ; END OF MESSAGE? BNE RM.XEC ; NO MOVB #7,-(R2) ; GET A BELL. ; COUNT # OF BELLS USING # IN R1 DECB R1 ; DONE? BPL RM.XEC ; NO - GO PRINT THE BELL MOV 20(SP),R0 ; ELSE, GET ERROR ADDRESS MOV RM.TMP,R1 ; ERROR # TO R1 RM.SER: JSR PC,PAN$ ;SYSTEM ERROR BR RM.XE ; IF CONTINUE, PRINT AGAIN. RM.EM: .BYTE 15,12 .ASCII /?F/ RM.EMA: .BYTE 200,1,1,1,0 ; ROOM FOR ERROR # ~ TASK) .GLOBL RLS ;RELEASE HANDLER .GLOBL RWN ;READ-WRITE HANDLER .GLOBL RW.K ;RWN-ACTIVATE AFTER DDB LOCKED(THIS TASK) .GLOBL RW.M ;RWN-ACTIVATE AFTER DDB LOCKED .GLOBL RW.N ;RWN-ACTIVATE AFTER DDB RESERVED .GLOBL SPC ;SPECIAL FCN HANDLER .GLOBL SP.G ;SPC-ACTIVATE AFTER DDB LOCKED .GLOBL SP.H ;SPC-ACTIVATE AFTER DDB RESERVED .GLOBL SP.I ;SPC-ACTIVATE AFTER DDB LOCKED(THIS TASK) .GLOBL STT ;STATUS HANDLER .GLOBL TR.G ;XFR-ACTIVATE AFTER DDB LOCKED .GLOBL TR.H ;XFR-ACTIVATE AFTER DDITED? BEQ KB.EX ;NO-EXIT KB.INC: JSR PC,KB.CRP ;GET POINTERS TSTB K.TRM(R5) ;HAVE A TERMINATOR IN THE BUFFER? BNE KB.EX ;YES-DROP THE CHARACTER CMPB R2,-(R1) ;CNTRL-U? BEQ KB.INH CMPB R2,-(R1) ;RUBOUT? BEQ KB.ING MOV #KBSZ-1,-(SP) ;CREATE POINTER TO END OF BUFFER. ADD K.BUF(R5),(SP) CMP (R4),(SP)+ ;ROOM FOR ONE CHARACTER? BHI KB.EX ;NO-DROP CURRENT CHARACTER. MOVB R2,@(R4)+ ;PUT CHARACTER INTO BUFFER INC -(R4) ;UPDATE POINTER. ; ECHO THE CHARACTER KB.INI: TSTB K.ESF(R5) ;E€ NEXT TO CURRENT BUFFER MOV R5,BFTAB$ ;STORE CURRENT BUFFER AS FIRST KILLT3: ; .ENDC ; MOVB WL(R0),R1 ;FIRST WAITING X3 BEQ TRNFF ;BRANCH IF NONE X3 MOV WDTB(R1),NP(R0) ;PASS DATA TO PROGRAM CALLED X3 MOVB PTFW(R1),WL(R0) ;MOVE NEXT INDEX TO HEADER BNE ADTLT ;IF NE MORE IN LIST CLR WL(R0) ;INDICATE NONE WAITING X5 ADTLT: MOV #PL4,PS ;DROP LEVEL MOVB SUTB(R1),-(SP) ;SAVE INDEX OF TASK IN STACK JSR PC,TACKW ;RELEASE QUEUE SLOT JSR PC,INITLS ;INITIALIZE STACK MOVB (SP�AND NULL TERMINATOR. .EVEN RM.TMP: .WORD 0 ; TEMP STORAGE ; ;POWER FAILURE ; ; POWER DOWN SEQUENCE RM.PW: MOV SP,PF.S ;SAVE CURRENT SP MOV #PF.S,SP ;SET NEW SP JSR R5,S.RSAV ;SAVE R0-R5 MOV #PF.B,24 ;CHANGE VECTOR TO POWER-UP SEQUENCE. RM.PWA: HALT ;WAIT FOR POWER TO FAIL. BR RM.PWA ;DON'T CONTINUE! ; ; POWER-UP SEQUENCE PF.B: INCB PWFLF ;TALLY THE FAILURE. MOV #PL7,PS ;LOCK OUT INTERRUPTS PF.CL: MOV #TKI.CS-2,R1 ;ADDRESS OF CLOCK AND TTY CSR'S PF.BB: MOV (R1)+,R2 ;ADR O‚B RESERVED .GLOBL TR.I ;XFR-ACTIVATE AFTER DDB LOCKED(THIS TASK) .GLOBL XFR ;XFR FUNCTION HANDLER .GLOBL WAI ;WAIT HANDLER .GLOBL WAR ;WAITR HANDLER ;**NEW** ; ; DEFINE, AS 0, THOSE ROUTINES NOT NEEDED. ; .IFEQ IO.XTH ;IF NO IO CLS=0 CL.E=0 CL.F=0 CL.G=0 CL.M=0 INR=0 MS.HED=0 LODHED=0 OPHED=0 OPN=0 OP.H=0 OP.J=0 OP.K=0 OP.M=0 RLS=0 RWN=0 RW.K=0 RW.M=0 RW.N=0 SPC=0 SP.G=0 SP.H=0 SP.I=0 TR.G=0 TR.ƒCHO SUPPRESS? BNE KB.INM ;YES- MOVB K.ROM(R5),R1 ;ADD RUBOUT MODE INTO CHARACTER FOR ADD R1,R2 ;PROPER ECHO. CLR R3 ;SET RUBOUT MODE PROPERLY ADD R2,R1 ;DEPENDING ON ORIGINAL MODE, TSTB R1 ;AND CURRENT CHARACTER. BPL .+6 MOV #200,R3 MOVB R3,K.ROM(R5) MOV R5,-(SP) ;SAVE CURRENT R5 BPL .+6 ;SKIP IF POSITIVE MOV #-2,R5 ;ELSE, CHANGE -4 TO -2. MOV EPI(R5),R1 ;PUT CHARACTER INTO ECHO BUFFER MOVB R2,(R1)+ ;-ADVANCE POINTER. JSR PC,K.CWR ;CHECK FOR WRAP AROUND. MOV R1,EPI(R„)+,R1 ;RETRIEVE TASK INDEX .IFNDF NO.TIM BEQ SHSRT ;IF EQ NONE MOVB PSTB(R1),R4 ;GET EXTENSION INDEX MOV WDTB(R4),R0 ;GET CYCLE TO R0 JSR PC,STCT ;START COUNTER COUNTING X8 .ENDC SHSRT: BR CSCAN1 ;RETURN TRNFF: CMPB R2,BACKGD ;BACKGROUND TASK? BNE KILLT0 ;NO, CONTINUE EXIT PROCESSING BITB #100,SL+1(R0) ;YES, IS RESTART BIT SET? BEQ KILLT1 ;NO, CONTINUE EXIT PROCESSING BICB #100,SL+1(R0) ;YES, RESET THE BIT MOV #PL4,PS ;SET EXEC LEVEL JSR PC,INITLS ;REACTIVATE THE BACKGROUF STATUS REG. BEQ PF.BA ;DONE - BISB #100,(R2) ;ENABLE INTERRUPTS. BR PF.BB ;DO NEXT ONE PF.BA: ;REFERENCE LABEL .IFDF UD.CHN .IFGT UD.CHN MOV #36,171776 ;ENABLE UDC INTERRUPTS .ENDC .ENDC MOV #RM.PW,24 ;RESET VECTOR ADDRESS MOV #PF.SA,SP ;GET TEMPORARY SP JSR R5,S.RRES ;RESTORE REGISTERS 0-5 MOV PF.S,SP ;RESTORE ORIGINAL SP RTI ;RETURN TO INTERRUPTED PROGRAM. ; .END B$$BB$$BB$$B†H=0 TR.I=0 XFR=0 WAI=0 WAR=0 .ENDC .IFNE IO.XTH .IFLE IO.XTH-3 CLS=0 ;NO CLOSE CL.E=0 CL.F=0 CL.G=0 CL.M=0 LODHED=0 MS.HED=0 OPHED=0 OPN=0 ;NO OPEN OP.H=0 OP.J=0 OP.K=0 OP.M=0 RWN=0 ;NO READ/WRITE RW.K=0 RW.M=0 RW.N=0 .IFEQ IO.XTH-1 TR.H=0 TR.G=0 TR.I=0 XFR=0 .ENDC .IFEQ IO.XTH-2 SPC=0 SP.G=0 SP.H=0 SP.I=0 .ENDC .ENDC .ENDC .IFEQ IO.XTH-4 SPC=0 ;NO SPECIAL FUNCTION SP.G=0 SP.H=0 SP.I=0 TR.G=0 TR.H=0 TR.I=0 XFR=0 .ENDC .IFEQ IO.XTH-5 ‡5) INCB EC(R5) ;COUNT THE CHARACTER. CMPB EC(R5),#EBSZ ;ECHO BUFFER FULL? BGE KB.INV ;YES-FORCE ECHO OUT TSTB EF(R5) ;ECHO FLAG SET? BNE .+6 ;YES- INCB EF(R5) ;NO-SET IT TO +1. TSTB TKO.CT(R5) ;XFER INPROGRESS? BLE KB.INJ ;YES-- KB.INV: MOVB #-1,EF(R5) ;NO-START ECHO OUT MOVB #100,@TKO.CS(R5) ;AND START PRINTER. KB.INJ: BIC #-177-1,R2 ;GET ORIGINAL CHARACTER. MOV (SP)+,R5 ;GET ORIGINAL R5 KB.INM: TSTB K.OPF(R5) ;OPEN CALL? BNE KB.INR ;YES- CMPB R2,#15 ;NOW CHECK FOR LˆND TASK BR CSCAN1 ;GO TO COMMON SYSTEM EXIT KILLT1: CLRB BACKGD ;CLEAR BACKGD SLOT # CLR RSA ;CLEAR THE RESTART ADDRESS KILLT0: DECB PRWT-1(R3) ;ONE LESS TASK ON THIS LEVEL BIS #100377,SUTB(R2) ;SET TASK INACTIVE KILLT: MOV #PL7,PS ;LOCK OUT INTS TSTB SL+1(R0) ;TEST FOR KILL BPL CSCAN ;NO- BICB #200,SL+1(R0) ;REMOVE KILL MARK CLR SUTB(R2) ;CLEAR TASK DEFINITION CLR WDTB(R2) ; MOV #PL4,PS ;ALLOW INTS MOV R3,-(SP) ;SAVE LEVEL INDEX MOV R2,-(SP) ;SAVE TASK SLOT INDEX .IFNDF N‰ .TITLE BEGENT ; ; VERSION V004A ; 001 ; ; LIST OF TASKS TO ENTER INTO THE SCHEDULING TABLE. ; ; THE TASKS IN THIS LIST ARE THE TASKS LINKED ; DIRECTLY TO THE EXEC AT SYSTEM GENERATION TIME. ; ; FORMAT OF AN ITEM IN THE LIST: ; ; .BYTE SLOT #,PRIORITY ; .WORD REAL TIME HEADER ADDRESS ; ; THE LIST IS TERMINATED BY A WORD 126.(DECIMAL) ; ; NEW ENTRIES IN THE LIST SHOULD BE INSERTED BEFORE ; THE TERMINATOR. THE SLOT NUMBER CHOSEN MUST BE ; AN EVEN NUMBER IN THE RANGE "2 THRU N-4" WHEREŠ TR.G=0 TR.H=0 TR.I=0 XFR=0 .ENDC .IFEQ IO.XTH-6 SPC=0 SP.G=0 SP.H=0 SP.I=0 .ENDC .IFEQ IO.XTH-7 ; KEEP EVERYTHING .ENDC ; ; IF KB OR TT NOT PRESENT, CREATE DUMMY GLOBAL VALUES ; TO KEEP READ/WRITE AND OPEN HAPPY. ; .IFEQ TK.NOU ;NO TT? .GLOBL DDL.TO ;DDL-TT OUTPUT SIDE .GLOBL DDL.TT ;DDL-TT INPUT SIDE .GLOBL TT ;TT DRIVER. DDL.TO=0 DDL.TT=0 TT=0 .ENDC .IFEQ TPSZ+KBFSZ ;NO KB? .GLOBL DDL.KB ;DDL-KB INPUT SIDE .GLOBL DDL.KO ;DDL-KB OUTPUT SIDE .GLOBL KB ;KB DRI‹INE TERMINATORS BHI KB.EX ;NO- CMPB R2,#12 BLO KB.EX ;NO- INCB K.TRM(R5) ;SET TERMINATOR INDICATOR .IFNZ TK.NOU TST R5 ;CONSOLE? BPL KB.INW ;NO-SKIP CNTRL-C TEST. .ENDC TSTB K.CCF ;COMMAND MODE? BNE KB.INK ;YES-GO START OPERATOR TASK KB.INW: TST K.BC(R5) ;ELSE-CHECK IF A TRANSFER IS REQUESTED. BLE KB.TFB ;GO DO TRANSFER ; IF A NON-CONSOLE UNIT,CHECK IF INITED. ; IF NOT,SCHEDULE A TASK(USER SUPPLIED) .IFNZ TK.NOU TST R5 ;CONSOLE? BPL KB.INU ; NO-GO CHECK. .ENDC ŒO.TIM MOV R2,R0 ;TASK SLOT TO R0 CLR R4 ;SPECIFY NO TIME ARRAY JSR PC,UNCLK ;REMOVE TIME OF DAY ENTRIES .ENDC MOV (SP)+,R1 ;TASK SLOT TO R1 MOV (SP)+,R0 ;LEVEL INDEX TO R0 JSR R5,CUTI ;REMOVE SLOT X4 CMP R1,LAPU ;IS THIS HIGHEST SLOT? X4 BNE CSCAN ;NO - X4 KILLTA: ADD #2,R1 ;CALCULATE NEW LOWEST TASK BEQ KILLTA ;SLOT INDEX TST WDTB(R1) ;THIS SLOT EMPTY? BEQ KILLTA ;IF EQ YES MOV R1,LAPU ;STORE NEW LOWEST SLOT INDEX CSCAN: INCB NEWSA ;CAUSE EXECUTIVE SCAN X4� "N" ; IS THE SIZE OF THE SCHEDULING TABLE. IT MUST NOT ; CONFLICT WITH SLOT NUMBERS CHOSEN FOR OTHER TASKS ; IN THE LIST. IF THE SLOT NUMBER IS 0, THE INITIAL- ; IZATION CODE WILL FIND AN APPROPRIATE SLOT. ; ; THE PRIORITY LEVEL MUST BE IN THE RANGE 1-3. ; ; THE REAL TIME HEADER ADDRESS MUST BE A GLOBAL DEFINITION ; IN THE USER TASK. ; ; GENERAL REGISTER DEFINITIONS ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 ; ; GLOBAL DEFINITIONS ; .GLOBL ENTERL ; ; GLOBAL REFERENCES ŽVER. DDL.KB=0 DDL.KO=0 KB=0 .ENDC ; DDL INITIALIZATION LOADS ONLY IF IO.XTH NOT ZERO. .IFNE IO.XTH .GLOBL BEGDDL ;DDL INITIALIZATION CODE .ENDC ; ; FORCE DISK DUMP/RESTORE ROUTINE TO LINK ; .GLOBL D.READ ;DISK DUMP/RESTORE ROUTINE ; ; ; FORCE EMT HANDLER AND MRT TABLE TO LINK ; .GLOBL EMT. ;EMT HANDLER .GLOBL MRT. ;MONITOR RESIDENCE TABLE ; FORCE SYSTEM TASKS TO LINK(UNLESS ALREADY SUPPRESSED) .GLOBL LODHED ;ON-LINE LOADER HEADER .GLOBL MS.HED ;ERROR MESSAGE TASK HEADER .GL�KB.EX: RTS PC ; KB.INH: MOV K.BUF(R5),(R4) ;CNTRL-U SEEN - RESET BR KB.INI ;INPUT PTR. ; KB.ING: DEC (R4)+ ;RUB OUT SEEN - BACK UP INPUT POINTER MOVB @-(R4),R2 ;AND GET CHARACTER FOR ECHO. BEQ KB.INL ;IF NULL, THIS IS BEGINNING OF BUFF - IGNORE R/O. BIS #200,R2 ;ELSE, SET HIGH BIT FOR "\" ECHO. BR KB.INI ; KB.INL: INC (R4) ;RESTORE INPUT PTR. RTS PC ; KB.INK: CLRB K.CCF ;EXIT FROM COMMAND MODE. DEC (R4)+ ;BACK UP INPUT PTR CLRB @-(R4) ;TERMINATE COMMAND LINE WITH NULL. JS� CSCAN1: JMP SRTI ;RETURN TO SYSTEM .IFNE IO.XTH ;IO SWITCH ; ;THIS ROUTINE SCANS THE DDB CHAIN TO FIND ALL DEVICES THIS ;TASK IS INVOLVED WITH. ; IT SUSPENDS THE TASK AS OWNER OF DDB IF A DATA ; XFER IS IN PROGRESS. ; FOR RESERVED DDB'S, IT FREES THE DDB AND ; REMOVES IT FROM THE CHAIN IF NECESSARY. ; ON ENTRY, R2=TASK#; HEADER ADR IN R0 SCHLR: MOV R0,R1 ;HEADER TO R1 MOV #DCO,R5 ;GET PTR TO FIRST POINTER SCHLG: MOV (R5),R0 ;GET PTR. BEQ SCHLA ;DONE IF PTR=0. CMPB R2,SY.RTN(R0) ; ; .GLOBL UTILT ;UTILITY TASK .GLOBL UTILHD .GLOBL ERMST ;ERROR MESSAGE TASK .GLOBL MS.HED .GLOBL OPERT ;OPERATOR TASK .GLOBL OPHED .GLOBL GETT ;ON LINE LOADER .GLOBL LODHED ; ENTERL: .BYTE UTILT,4 ;UTILITY TASK .WORD UTILHD ; .BYTE ERMST,4 ;ERROR MESSAGE TASK .WORD MS.HED ; .BYTE OPERT,4 ;OPERATOR TASK .WORD OPHED ; .BYTE GETT,3 ;ON LINE LOADER .WORD LODHED ; .WORD 126. ;LIST TERMINATOR ; .END B$$BB$$BB$$BL_OBL OPHED ;OPERATOR TASK HEADER .GLOBL UTILHD ;UTILITY TASK HEADER ; FORCE BEGIN CODE TO LINK .GLOBL ENTERL ;INITIALIZATION LIST OF TASKS TO ENTER .GLOBL BEGB1 ;INITIALIZATION CODE-PART 1 .EOT “R PC,KB.RES ;RESET INPUT POINTERS CLR R2 ;NO DATA TO PASS MOVB #OPERT,R0 ;TASK INDEX TO R0 KB.IND: JSR R5,HSASI ;ACTIVATE TASK. RTS PC RTS PC ; DATA FOR OPERATOR START CALL & NON CONSOLE OPERATOR TASK ; KB.INB: MOVB #-1,K.CCF ;CNTRL-C SEEN-SWITCH TO MOV #-4,R5 ;COMMAND MODE. JSR PC,KB.RES BR KB.INI ; OPEN CALL KB.INR: CLRB K.OPF(R5) BR KB.TFI .IFNZ TK.NOU ; KB.INU: BITB #SY.RES,SY.DFL(R0);INITED? BNE KB.EX ;YES-EXIT TO WAIT FOR A READ. ASR R5 MOV R5,R2 ;DATA TO R2 ”THIS TASK? BNE SCHLC ;NO - MOVB SY.DFL(R0),R3 ;GET DDB FLAGS. BPL SCHLB ;NOT LOCKED - ;CALL DRIVER TO CANCEL OPERATION. ON ; RETURN, IF STILL LOCKED, SUSPEND. ELSE ; GO ON TO NEXT PART OF SCAN (AT SCHLB) ; JSR R5,S.RSAV ;SAVE REGS MOV #6,R1 ;FUNCTION IS CANCEL JSR PC,S.ED ;CALL DRIVER MOV #PL4,PS ;DROP PRIORITY LEVEL JSR R5,S.RRES ;RESTORE REGS MOVB SY.DFL(R0),R3 ;GET DDB FLAGS AGAIN BPL SCHLB ;NOT LOCKED MOVB #-3,R4 ;SET EXIT INDICATOR INCB NEWSA ;CAUSE A NEW SCAN JM• .TITLE DT ; ; VERSION V001A ; 001 ; ; COPYRIGHT 1971,DIGITAL EQUIPMENT CORP. ; MAYNARD,MASS.01754 ; ; DECTAPE DRIVER ; ; GLOBL DEFINITIONS ; .GLOBL DT .GLOBL DTDDB ;DDL ENTRY ; .IFNDF DT.DSC DT.DSC=2 .ENDC ; ; ; ; GLOBL REFERENCES ; .GLOBL DV.A2 ;ROUTINE TO GENERATE A002 MESSAGE .GLOBL SY.QLK ;QUEUE LINK TO ACTIVE DDB'S .GLOBL SRTI ;COMMON EXIT TO SCHEDULER .GLOBL STRG ;COMMON REGISTER STORE ROUTINE .GLOBL SY.DFL ;DDB FLAG BYTE .GLOBL SY.DWN ;DEVICE DOWN BI– .TITLE DK ; ; VERSION V005A ; 001 ; COPYRIGHT 1971 DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ; ; RK11 DISC DRIVER ; ; GLOBL DEFINITIONS ; .GLOBL DK .GLOBL DKDDB ; ; GLOBAL REFERENCES ; .GLOBL DV.STS ;ENTRY TO FAKE INTERRUPT .GLOBL SRTI ;COMMON SYSTEM EXIT .GLOBL STRG ;COMMON SYSTEM ENTRY .GLOBL SY.DPR ;DDB-PERMANENT DDB BIT .GLOBL SY.TO ;DDB-TIME OUT COUNT (0=NOT ACTIVE) ; ; STANDARD REGISTER DEFINITIONS ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 R6=%6 PC=%7 .IFNDF DK.D—MOVB #TTOPT,R0 ;TASK INDEX TO R0 BR KB.IND ;GO START THE TASK ; ; NON-CONSOLE INPUT TRANSFER ; TK.TFA: CLR TK ;NOT BUSY JSR PC,TT.GU ;GET UNIT # BR TK.TFB ;JOIN CONSOLE .ENDC ; ; CONSOLE INPUT TRANSFER ENTRY ; KB.TFA: MOV #-2,R5 ;UNIT # TK.TFB: MOV R0,TKI.TS(R5) ;SAVE DDB POINTER MOVB 12(R0),R4 ;GET ECHO SUPPRESS BIT BIC #-10-1,R4 MOVB R4,K.ESF(R5) ;PUT INTO FLAG. MOV 10(R0),R4 ;SET BYTE COUNT ASL R4 MOV R4,K.BC(R5) MOV 6(R0),K.DP(R5) ;SET DATA POINTER TSTB K.TRM(R5)˜P OP.GB ;FINISH IN OPEN SCHLB: BITB #SY.RES,R3 ;DDB RESERVED? BEQ SCHLD ;NO- JSR PC,FREEI ;YES-FREE THE DDB. BICB #SY.TWR,SY.DFL(R0) ;TASK IS NOT WAITING NOW. MOV #SCHLD,-(SP) ; FROM SCHLD JSR R5,DV.STS ;FAKE AN INTERRUPT MOV -2(R0),R2 ;DEVICE ADR MOVB 6(R2),S.STAT ;DROP TO DEVICE PRIORITY JMP CL.SER ;GO SEARCH FOR SOMEONE TO USE DDB. ; ; COMES BACK HERE AFTER TRYING TO START SOMEONE ELSE. ; SCHLD: BITB #SY.DPR,R3 ;PERMANENT DDB? BEQ SCHLF ;NO - TSTB IP+1(R1) ;YES - ANY MORE™T .GLOBL SY.DPR ;PERMANENT DDB BIT .GLOBL SY.LOC ;LOCK BIT IN DDB FLAG .GLOBL SY.RTN ;TASK # DDB RESERVED FOR .GLOBL SY.SCB ;TASK # DDB RESERVED FOR .GLOBL SY.TO ;DDB TIMEOUT COUNT .GLOBL S.CDB ;ENTRY ADDRESS TO DDB QUEUER .GLOBL S.CDQ ;ENTRY ADDRESS TO DDB DEQUEUER ; ; STANDARD DRIVER TABLE: ; DT: .WORD 0 ;BUSY FLAG (DDB ADDR WHEN BUSY) .BYTE 37,300 ;FACILITY INDICATOR .BYTE 16. ;STD BUFF SIZE/16. .BYTE DT.INT-DT ;POINTER TO INT SVCE .BYTE 340+DT.DSC-1 ;INT SVCE PRIORIšSC DK.DSC=1 .ENDC ; ; PROLOGUE ; DK: .WORD 0 ;0 IF IDLE, DDB PTR OTHERWISE .BYTE 37 ;STANDARD FACILITY INDICATOR .BYTE 200 ;(NORMAL & FILE BASED) .BYTE 20 ;STD BUFFER SIZE IS 256. WORDS .BYTE DKINT-DK ;OFFSET TO INTERRUPT HANDLER .BYTE 240+DK.DSC-1 ;LEVEL & MAX # OF RK DRIVES .BYTE 0 ;NO OPEN ROUTINE .BYTE DKSTRT-DK ;OFFSET TO TRANSFER HANDLER .BYTE 0 ;NO CLOSE ROUTINE .BYTE 0 ;NO SPECIAL FUNCTIONS .BYTE DK.TB-DK ;MISC ENTRY DKNAM: .RAD50 /DK/ ;DEVICE NAME .WORD RKDIR› ;LINE AVAILABLE FOR TRANSFER? BNE KB.TFB ;YES-GO TO IT. TSTB K.ENFL(R5) ;CHECK FOR END OF DATA. BNE KB.SC ;YES- RTS PC KB.TFB: MOV #K.OUT,R4 ;YES-SET POINTERS MOV #K.BC,R3 MOV #K.DP,R1 ADD R5,R4 ;ADJUST FOR UNIT #. ADD R5,R3 ADD R5,R1 KB.TFH: MOVB @(R4)+,R2 ;GET A CHARACTER INC -(R4) ;ADVANCE POINTER CMPB R2,#15 ;CR? BNE KB.TFC ;NO- DEC (R4)+ ;YES-BACK UP THE POINTER AND MOVB #12,@-(R4) ;CHANGE IT TO A LF. KB.TFC: MOVB R2,@(R1)+ ;GIVE CHARACTER TO REQUESTOR. INC -(œ SHARED RESOURCES? BEQ SCHLA ;NO-DONE SCHLC: SUB #10,R0 ;MOVE R0 TO NEXT POINTER. MOV R0,R5 ; BR SCHLG ;TRY NEXT DDB. SCHLF: MOV -10(R0),(R5) ;REMOVE THIS DDB FROM CHAIN. TSTB IP+1(R1) ;ANY MORE SHARED RESOURCES. BNE SCHLG ;YES - KEEP GOING. SCHLA: JMP EXRUN ;GO CONTINUE EXIT .ENDC ; ; ERROR DESIGNATION ENTRY POINTS ; COMDER: MOV #COMMAN,R1 ;COMMAND ERROR BR ERXIT ; SHRTM: MOV #SHORT,R1 ;SHORT CALL SEQUENCE BR ERXIT ; NSLOT: MOV #SLOT,R1 ;NO SLOTS AVAILABLE BR ERXIT ; �TY AND MAX UNITS .BYTE 0 ;DESPATCH TABLE .... .BYTE DT.TFR-DT ;...FOR TRANSFER ONLY! .BYTE 0 .BYTE 0 .BYTE DT.TB-DT ;MISCELLANEOUS TABLE ENTRY DT.NAM: .RAD50 'DT' .WORD DT.DIR ;FIXED MFD BLOCK ; ; MISCELLANEOUS ENTRY TABLE ; DT.TB: 0 ;POWER FAIL DT.TO ;TIMEOUT ENTRY DT.CO ;CONTINUE ENTRY DT.CA ; CANCEL ENTRY ; ; REGISTER ASSIGNMENTS: ; R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 ; ; SYMBOL DEFINITIONS ; DTUFD=102 ;STARTING UFD BLOCK DT.DIR=100 ;STž ;FIRST MFD BLOCK .WORD 0 ;BIT MAP POINTER ; ; MISC ENTRY TABLE ; DK.TB: .WORD 0 ;NO POWER FAIL .WORD DK.TO ;TIME OUT .WORD 0 ;NO CONTINUE .WORD 0 ;NO CANCEL ; ; TRANSFER INITIATE ; DKSTRT: MOV @PC,DKREPT ;CLEAR RETRY INDICATOR DKRTRY: MOVB #-10,SY.TO(R0) ;SET TIME OUT COUNT CLR R1 ;UNIT IS ZERO CMP (R0)+,(R0)+ ;POINTER DDB+BLOCK MOV (R0)+,R2 .IFDF LOWDEN ASL R2 .ENDC CMP R2,#4800. ;IS BLOCK WITHIN BOUNDS? BLO DKIN20 ;YES - BRANCH SUB #6,R0 ;POINT TO DDB MOV #ŸR1) ;ADVANCE POINTER CMP (R4),K.IN(R5) ;ALL CHARS GONE? BHIS KB.TFE ; YES- KB.TFD: INC (R3) ;NO - IS REQUEST DONE? BLT KB.TFH ;NO - GO GET ANOTHER CHARACTER. BR KB.TFI ;YES - TAKE COMPLETION EXIT. KB.TFF: CLRB @(R1)+ ;GIVE A NULL TO REQUESTOR INC -(R1) ;ADVANCE POINTER KB.TFE: TSTB K.ENFL(R5) ;END OF DATA FROM KEYBOARD? BNE KB.SC ;YES-GO TERMINATE NOW. INC (R3) ;COUNT THE CHARACTER. BLT KB.TFF ;NOT DONE YET - KB.TFG: MOV #1,K.BC(R5) ;DON'T LEAVE A 0 COUNT JSR PC,KB.RES K BKBUSY: MOV #BUSY,R1 ;BACKGROUND BUSY ERXIT: MOV #ISAD,SP ;CLEAN ALL GARBAGE OFF STACK MOV R5,-(SP) ;OPTIONAL INFO IS R5 ADDRESS MOV R1,-(SP) ;CLASS,NUMBER MOVB SYAUA,-(SP) ;TASK INDEX IOT ;OUTPUT ERROR MESSAGE GSTRT: JMP SRTI ;RETURN TO SYSTEM ; ; START TASK REAL TIME EMT ; ESTART: CMP (R5),#404 ;CHECK FOR ENOUGH PARAMETERS STRT1: BLT SHRTM ;IF LT ERROR MOV #2,@10(R5) ;ASSUME BAD CALL JSR PC,OFFS ;GET HEADER ADDRESS AND TASK INDEX MOV R0,-(SP) ;TASK INDEX TO STACK MOV SM(R1),-¡ARTING MFD BLOCK DT.TST=177340 ;DECTAPE UPPER PAGE REGISTERS DT.CCM=177342 DT.CBA=177346 DT.CDT=177350 ; ; CONTINUE ENTRY ; DT.CO: MOVB SY.QLK-1(R0),R1 ;SET ENTRY TO PROLOGUE TABLE JMP S.CDB ;GO QUEUE THE REQUEST ; ; SET UP INITIAL TRANSFER ; DT.TFR: MOV @PC,DT.RTC ;SET RETRY COUNT DT.PR1: MOVB #-2,SY.TO(R0) ;ENABLE TIMEOUT MOV #DT.CBA,R1 ;... & OF HWR BLOCK CLR @R1 CMP (R0)+,(R0)+ ;SKIP USER LINE IN DDB MOV (R0)+,DT.BRQ ;SAVE BLOCK NO FOR LATER MOV (R0)+,@R1 ;SET READY ME¢RKCS+2,R5 ;GET ADDR OF WC REGISTER MOV 10(R0),(R5) ;SET WORD COUNT REGISTER CLR SY.TO(R0) ;DISABLE TIME OUT JSR R5,DV.STS ;FAKE AN INTERRUPT TO AVOID POSSIBLE... ;...PROBLEM IF CALLED FROM DEQUEUE BR DKHR06 ; DKIN10: ADD R2,R1 ;ADD IN VALID QUOTIENT ASR R2 ;ADJ REMAINDER FOR DIV BY 12 ASR R2 ADD R4,R2 DKIN20: MOV R2,R4 ;DIVIDE BY 16 - SAVE REMAINDER BIC #177760,R4 BIC R4,R2 ;EXTRACT QUOTIENT ... BNE DKIN10 ;... IF ANY BUILD RESULT CMP R4,#12. ;CHECK REMAINDER BLT .+6 £B.TFI: JMP @14(R0) ;COMPLETION EXIT. .IFNZ TK.NOU ; ;NON CONSOLE INPUT OPEN ; TK.OPA: CLR TK ;NOT BUSY JSR PC,TT.GU ;GET UNIT # BR TK.OPC ;JOIN NORMAL OPEN/CLOSE ; ; NON-CONSOLE INPUT CLOSE ; TK.CLA: CLR TK ;NOT BUSY JSR PC,TT.GU ;GET UNIT # BR TK.OPB ;JOIN CONSOLE .ENDC ; ; CONSOLE INPUT OPEN/CLOSE ; KB.OPA: MOV #-2,R5 ;UNIT # TK.OPB: JSR PC,KB.RES CLR K.TRM(R5) ;NO TERMINATOR & CLEAR RUBOUT MODE. TK.OPC: MOV #1,K.OPF(R5) ;SET OPEN FLAG AND CLEAR ECHO SUPPRESS FLAG. ¤(SP) ;BACKGROUND FLAG TO STACK BGE STRT3 ;IF GE NOT BACKGROUND TSTB BACKGD ;TEST IF BACKGROUND BUSY BNE BKBUSY ;IF NE BUSY STRT3: MOV @(R5)+,R1 ;GET DELAY MOV @(R5)+,R4 ;GET DELAY UNITS .IFNDF NO.TIM JSR R5,CONV ;CONVERT DELAY BR ERXIT ;BAD TIME UNIT OR VALUE MOV R0,-(SP) ;MOVE DELAY TO STACK .ENDC CLR -(SP) ;CLEAR DATA WORD CMP -10(R5),#405 ;DATA SPECIFIED? BLT STRT5 ;IF LT NO MOV @2(R5),(SP) ;MOVE DATA TO STACK STRT5: .IFNDF NO.TIM CLR -(SP) ;CLEAR CYCLE WORD CMP ¥MORY ADDR ... MOV (R0)+,-(R1) ;... & WORD COUNT DT.PR2: CLRB DT.INT ;SET INT'RUPT SW. TO SRCH MOV DT.BRQ,DT.BCK ;SET BLK CTRL FOR SRCH MOV #100,R3 ;USED IN NEXT SEQUENCE MOV R3,DT.TAC ;SET TURN AROUND COUNT MOV @R0,-(SP) ;GET UNIT, DIRECTION & FUNC BIC #170341,@SP ;CLEAR POSS. GARBAGE BIS R3,@SP ;ADD IN INT ENB BIT BITB @SP,@PC ;WRITE REQD? BEQ .+6 ;(READ O.K. ALRDY)***** ADD #12,@SP ;IF SO GET DECTAPE EQUIV. MOVB @SP,DT.FRQ ;SAVE FUNC FOR LATER MOVB @PC,@SP ;RESET FUNC TO ¦ ;IF BETWEEN 12 & 15 ... ADD #4,R4 ;... CAUSE SURFACE INCR. ADD R4,R1 ;PUT SECTOR INTO REST MOV #RKDA,R4 MOV R1,@R4 ;SET UP DISK ADDRESS MOV (R0)+,-(R4) ;SET UP MEMORY ADDRESS MOV (R0)+,-(R4) ;SET UP WORD COUNT MOV (R0)+,R1 ;PUT IN THE FUNCTION MOV R1,R2 ;GET DRIVE UNIT NUMBER ASL R2 ;SHIFT DRIVE NUMBER... ASL R2 ;...TO HIGH ORDER BITS ASL R2 ASL R2 ASL R2 BIC #17777,R2 ;CLEAR EXTRANEOUS BITS BIS R2,4(R4) ;SET UNIT # IN DISK ADDRESS BISB @PC,R1 ;SET I.D.E. AND GO BIT§CLRB K.ENFL(R5) ;NO END OF DATA MOV #15,R2 ;GET A CR TO PUT INTO ECHO BUFF. .IFNZ TK.NOU CMPB EC(R5),#EBSZ ;ECHO BUFF FULL? BLT TK.OPD ;NO- JMP KB.INR ;YES-SKIP OUTPUT OF CR,LF .ENDC TK.OPD: JMP KB.INI ;GO ECHO CR,LF ; COME HERE IF END OF DATA SEEN. KB.SC: MOV K.BC(R5),R1 ;GET REMAINING BC CLRB K.ENFL(R5) ;CLEAR END OF DATA FLAG. BR KB.SB .IFNZ TK.NOU ;NON CONSOLE CANCEL TT.S: JSR PC,TT.GU ;GET UNIT # BR KB.SA .ENDC ;CONSOLE CANCEL KB.S: MOV #-2,R5 ;UNIT # KB.SA: MOV K¨-10(R5),#406 ;CYCLE SPECIFIED? BLT STRT7 ;IF LT NO MOV @4(R5),R1 ;GET CYCLE JSR R5,CONV ;CONVERT CYCLE TO TICKS STRT6: BR ERXIT ;BAD UNITS OR VALUE MOV R0,(SP) ;MOVE CYCLE TO STACK STRT7: MOV (SP)+,R4 ;CYCLE TO R4 .ENDC MOV (SP)+,R2 ;DATA TO R2 .IFNDF NO.TIM MOV (SP)+,R3 ;DELAY TO R3 .ENDC MOV (SP)+,R1 ;BACKGROUND ERROR .IFNDF NO.TIM MOV R4,R0 ;TEST FOR CYCLE OR DELAY BIS R3,R0 ;OR WORDS TOGETHER BNE STRT9 ;IF NE CYCLE OR DELAY SPECIFIED .ENDC MOVB (SP),R0 ;TASK I©SRCH (INT ENB) ASL R3 ;(NOW CONTAINS 200)***** BIT @SP,#4000 ;TRAVEL FORWARD? BNE .+4 INC R3 ;IF SO R3 NOW 201 & SO ... MOVB R3,DT.SSW ;MAKING BPL OR BMI AS REQD MOV (SP)+,-(R1) ;SET DECTAPE CONTROL DT.RTS: RTS PC ;RETURN TO CALLER FOR NOW ;***** CARE USED AS LITERAL BY PREVIOUS INSTRUCTION!!! ; ; TIMEOUT ENTRY ; DT.TO: CLR SY.TO(R0) ;DISABLE TIMEOUT COUNT BICB #40,177776 ;DROP PRIORITY LEVEL MOV #DT.CCM,R1 ;ADDRESS OF WORD COUNT REGISTER BR DT.STE ;GO TO COMMON EXIT ; ; INªS BIC #177460,R1 ;CLEAR GARBAGE -*****- MOV R1,-(R4) ;SEND FUNCTION TO CONTROL DK.RTS: RTS PC ;RETURN ; ; TIME OUT ENTRY ; DK.TO: CLR SY.TO(R0) ;DISABLE TIME OUT MOVB DK+6,177776 ;LOWER TO DEVICE LEVEL MOV #RKCS+2,R5 ;GET ADDRESS OF WC REGISTER CLR R1 ;CLEAR STATUS INDICATION BR DKHER ;CLAIM HARD ERROR ; ; INTERRUPT ENTRY ; DKINT: JSR R5,STRG ;SAVE REGS MOV #SRTI,-(R6) ;SAVE REGS MOV DK,R0 ;GET DDB ADDRESS BEQ DK.RTS ;IF EQ IGNOR UNSOLICITED INTERRUPTS MOVB DK+6,177776 ;«.BC(R5),R1 ;TRANSFER IN PROGRESS? BGT KBO.SX ;NO - RETURN KB.SB: SUB #6,R1 ;INSURE A NON-ZERO VALUE ASR R1 ;CONVERT REMAINING BC TO WORD COUNT MOV R1,16(R0) ;RETURN RESULT TO CALLER BR KB.TFG ;EXIT. ; PUT POINTERS TO IN AND OUT POINTERS INTO R4 AND R3 KB.CRP: MOV R5,R4 ;CREATE POINTERS TO BUFFER POINTERS MOV R5,R3 ADD #K.IN,R4 ADD #K.OUT,R3 KBO.SX: RTS PC ;SUBROUTINE TO GET PTRS TO BUFF PTRS ; AND TO RESET BUFF POINTERS, ; TERMINATOR FLAG AND ECHO SUPPRESS FLAG ; KB.RES: JSR PC¬NDEX TO R0(LEAVE ON STACK) MOV R1,-(SP) ;SAVE BACKGROUND FLAG. JSR R5,HSASI ;ACTIVATE TASK BR NSLOT ;MAKE LIKE NO SLOTS AVAILABLE TST (SP)+ ;BACKGROUND? BGE STRT8A ;NO- MOVB (SP),BACKGD ;SET BACKGROUND BUSY. STRT8A: TST (SP)+ ;DISCARD TASK INDEX. STRT8: DEC @(R5)+ ;SET SUCESSFUL STATUS BR GSTRT ;RETURN .IFNDF NO.TIM STRT9: TST R1 ;TEST FOR BACKGROUND BMI COMDER ;IF NEG ERROR JSR R5,TSLOT ;GET A SLOT STRT10: BR NSLOT ;NO SLOT AVAILABLE MOV (SP)+,SUTB(R1) ;SET TASK INDEX I­TERRUPT SERVICE (A) - SEARCH IN PROGRESS ; DT.SIP: MOV R0,-(SP) ;STORE R0 MOV DT,R0 ;GET CURRENT DDB MOVB #-2,SY.TO(R0) ;ENABLE TIMEOUT DURING SEARCH MOV (SP)+,R0 ;RESTORE R0 TST @#DT.CCM ;CHECK STATUS BMI DT.SER ;IF ERROR GO INVESTIGATE CMP @#DT.CDT,DT.BRQ ;CHECK BLOCK FOUND BEQ DT.BFD ;IF ONE REQD, GO ACTION BMI DT.SXT ;GET TO BLOCK THIS WAY? DT.SSW=.-1 ;(BPL IF TRAVEL BACKWARD) DT.TA1: BICB #40,@#177776 ;DROP PRIORITY ASRB #0 ;HOW MANY TURNS? DT.TAC=.-2 BCS DT.BER ;IF®LOWER TO DEVICE LEVEL CLR SY.TO(R0) ;DISABLE TIME OUT MOV #RKDS,R5 MOV (R5)+,R1 ;SAVE RKDS AND RKER FOR LATER MOV (R5)+,R2 MOV (R5)+,R4 ;SAVE RKCS BMI DKERP ;YES - BRANCH BIT #10,R4 ;WAS LAST FCN A DRIVE RESET? BNE DKER00 ;YES - BRANCH DKXIT: CLR -(R5) ;DISABLE DEVICE INTERRUPTS JMP @14(R0) ;TAKE COMPLETION EXIT ; ;ERROR PROCESSOR: ; DKERP: ASL R4 ;HARD ERROR? BMI DKHER ;YES - BRANCH DKER00: ROL (PC)+ ;TRIED 8 TIMES? DKREPT: .WORD 0 BCC DKRTRY ;IF CC TRY AGAIN BIS #¯,KB.CRP ;GET PTRS TO POINTERS. MOV K.BUF(R5),(R3);RESET BUFF POINTERS. MOV (R3),(R4) CLRB K.TRM(R5) ;NO TERMINATOR CLRB K.ESF(R5) ;NO ECHO SUPPRESS RTS PC ; ; CHECK FOR WRAP AROUND OF ECHO POINTER ; CALL WITH ;R5=UNIT # ; JSR PC,K.CWR ;R1=PTR OF INTEREST ; ;BLOWS R3 ; K.CWR: MOV R1,R3 ;FORM DIFFERENCE BETWEEN CURRENT SUB EBP(R5),R3 ;PTR AND BEGINNING OF BUFF. CMP R3,#EBSZ ;GONE TOO FAR? BLT .+4 ;NO - SUB R3,R1 ;YES - BACK UP THE POINTER RTS PC ; ; ROUTINE TO FETCH UNI°N SLOT CLRB PSTB(R1) ;CLEAR EXTENSION INDEX MOV R4,R0 ;TEST FOR CYCLE OR DATA BIS R2,R0 ;OR WORDS TOGETHER BEQ STRT12 ;IF EQ NONE MOV R1,-(SP) ;SAVE TIMER SLOT INDEX JSR R5,TSLOT ;GET A SLOT BR STRT13 ;NO SLOTS AVAILABLE MOV R4,WDTB(R1) ;SET CYCLE BEQ STRT11 ;IF NO CYCLE GO NOW TST R3 ;MUST BE A DELAY BNE STRT11 ;IF NE OKAY INC R3 ;MAKE DELAY 1 TICK STRT11: MOV R2,SUTB(R1) ;STORE DATA IN EXTENSION SLOT MOV (SP)+,R0 ;GET TIMER SLOT INDEX MOVB R0,PTBK(R1) ;SET BACKWARD P± 6 CAN'T FIND BLOCK MOV #4000,-(SP) ;OTHERWISE MUST TURN AROUND MOV #2,-(SP) ;ASSUME TRAVEL NOW FWD RORB DT.SSW ;CHECK DIRECTION BCS DT.TA2 ;IF FWD OMIT NEXT NEG 2(SP) ;IF BWD, REVERSE EVERYTHING NEG @SP DT.TA2: SUB (SP)+,DT.BRQ ;ALLOW 2 BLKS FOR 2ND TURN ADD (SP)+,@#DT.CCM ;SWITCH STATUS ROLB DT.SSW ;RESET DIR SW (C BIT REVERSES) DT.SXT: INCB @#DT.CCM ;CONTINUE SEARCH RTI ;WAIT NEXT BLOCK ;BLOCK FOUND - CHECK TRAVEL CORRECT: DT.BFD: CMP #0,#0 ;TRAVEL AS ORIGINALLY STORED? D²100000,12(R0) ;SET PARITY ERROR BR DKHR07 ; DKHER: MOV #1,-(R5) ;CLEAR THE CONTROL DKHR00: TSTB @R5 ;DONE YET? BPL DKHR00 ;NO - LOOP BIT #1000,R1 ;IS IT SEEK INCOMPLETE? BEQ DKHR05 ;NO - BRANCH MOV R1,4(R5) ;REPLACE DRIVE # MOV #115,@R5 ;SET UP FOR DRIVE RESET RTS PC ;RETURN DKHR05: TST (R5)+ ;ADJUST R5 DKHR06: BIS #10000,12(R0) ;SET UNRECOVERABLE ERROR DKHR07: MOV (R5),16(R0) ;SET UNTRANSFERED WORD COUNT BR DKXIT ;TAKE COMPLETION RETURN ; DKNT=0 ;RK DRIVE UNIT # DKSPN=40³T #*2 FROM DDB ; ; ALTERNATE ENTRY AT TT.GUA WILL FETCH ; UNIT #*2 FROM R5 ; ; CALL JSR PC,TT.GU ;R0=DDB ADDR. ; ; OR CALL JSR PC,TT.GUA ;R5=UNIT # ; TT.GU: MOVB 13(R0),R5 ;GET UNIT # FROM DDB TT.GUA: BIC #-7-1,R5 ;SAVE LOW 3 BITS ASL R5 ;CONVERT TO UNIT #*2 RTS PC ; ; ; ; ; DATA AREAS FOR CONSOLE AND NON-CONSOLE TELEPRINTERS ; ; INTERNAL BYTE COUNT .WORD 1 ;CONSOLE COUNT TKO.CT: .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNOINTER OF EXTENSION SLOT CLRB PTFW(R1) ;CLEAR FORWARD POINTER MOVB R1,PSTB(R0) ;SET EXTENSION POINTER IN TIMER SLOT MOV R0,R1 ;SET TO CORRECT SLOT STRT12: MOV R3,R0 ;DELAY TO R0 JSR PC,STCT ;SET COUNTER UP PROPERLY CLR R2 ;SET TIMER LIST INDEX JSR R5,IENT ;ENTER TIMER SLOT IN LIST BR STRT8 ;EXIT STRT13: MOV (SP)+,R1 ;TIMER SLOT TO R1 JSR PC,TACKW ;RELEASE SLOT BR STRT10 ;RETURN .ENDC .END B$$BB$$BB$$BLµT.BRQ=.-4 DT.BCK=.-2 BNE DT.TA1 ;IF NOT MUST TURN AGAIN INCB DT.INT ;RESET INT'RUPT SW FOR TFR MOVB #0,@#DT.CCM ;MOVE IN CORRECT FUNC DT.FRQ=.-4 BR DT.SXT ;... & GO SET UNDERWAY ;INTERRUPT SERVICE (B) - TRANSFER COMPLETE (?): DT.INT: BR .+2 ;INTERRUPT SWITCH .... BR DT.SIP ;FOR SRCH COMES HERE! JSR R5,STRG ;SAVE REGISTERS MOV #SRTI,-(SP) ;SET RETURN ADDRESS MOV DT,R0 ;GET DDB ADDR BEQ DT.RTS ;IGNORE UNSOLICITED INTERRUPT BICB #40,177776 ;DROP PRIORITY LEVEL CLR SY.TO(R0) ¶ ;RK UNIT SUSPEND NUMBER ; ; RK11 DDB ; 0,0 ;ACTIVE DDB CHAIN .WORD 0 ;CHAIN LINK .WORD 0,0 ;LEVEL COUNTS .WORD DK ;DRIVER ADDRESS DKDDB: .WORD 0,0,0,0,0,0,0,0,0,0,0,0; .BYTE 0 ; .BYTE DKSPN .WORD 0,0,0,0,0 ; .BYTE 0 ;TASK RESERVED FOR .BYTE SY.DPR ;FLAGS(PERMANENT DDB) .WORD 0,0 ;SCB .WORD 0 ;TIME OUT COUNTS ; .IFGE DK.DSC-2 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ·ITS. .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNITS. .WORD 1 ;OTHER UNITS. .=TKO.CT+TK.NOU+TK.NOU ; INTERNAL BUFFER POINTER .WORD 0 ;CONSOLE TKO.BF: .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .=TKO.BF+TK.NOU+TK.NOU ; TAB COUNTERS AND FLAGS .WORD 0 ;CONSOLE TKO.TB: TKO.TP=.+1 .WORD 0 ;OTHER UNITS .WORD 0 ;OTHE¸ ì¾$T¯”¥U€QH_©Uà_H(À$T¯h¯”|—@—@ú�@ñ�@s…[M@\@ôy@Cy@&t@sr@Vq@ßf@N`@¶^ @‚:@/@Ú~ (}@Ù"`;@r"æY@i"‹@L"$ @ž!€%@á(}@z@Ô@D@Ð@Å@³@Ð@/@+÷žAy s¯”(ŽAy¡sh Ay¨sh6{~€ph2¯”ã’ 2@k~@©zhƒ@òyÀ+@¤y@8@ g€ @øf@f@_Xèv@+FÀD@éx@- Z@Y÷¹;DISABLE TIMEOUT COUNT MOV #DT.CCM,R1 ;GET STATUS ADDR MOV #10,R3 ;SET MAGIC CONSTANT TST @R1 ;ERROR CAUSE INT'RUPT? BMI DT.TER ;IF SO GO & SEE WHY MOVB R3,@R1 ;OTHERWISE STOP TAPE ... DT.TXT: JMP @14(R0) ;... & TAKE COMPLETION RETURN ; ; ENTER HERE FOR REQUEST TO DOWN DEVICE. THIS CAN ONLY ; HAPPEN WHEN INITIATING IO RUNDOWN. ORIGINAL TRANSFER ; REQUEST CAUSED AN "A002" AND INSTEAD OF OPERATOR ; TYPING "CONTINUE", THE OPERATOR HALTS THE TASK ; DT.CA: BITB #SY.DWN,SY.DFL(R0) ;º ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-3 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 »R UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .=TKO.TB+TK.NOU+TK.NOU ; FF COUNTER AND FLAG .WORD 0 ;CONSOLE TKO.FC: TKO.FF=.+1 .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .=TKO.FC+TK.NOU+TK.NOU ; STORE FOR DDB POINTERS .WORD 0 ;CONSOLE TK¼¾¶^¯”(ªž!€%h¤L"$ hà#p…h:¶^ h|—h:¯”ã’ 2@ã’2@ ‘@t�€ @Ó…¸~@s…¸L@€à`@Ð@ù}ÈK@+}XH@3{<}@2{þv@2{[q@%{@ð¾Äzª€@ÄzNy@Äz®s@Äz[q@Äz|@Äz’@Äzü@©zhƒ@z€ @ãy}@¤y@8@Èx@¯x}@ x@x s@èv@ys@Iqá@&gÀ�@"gÀD@ g€ @øf@çf}@|¾f@f@\`,@¶^Àv@Z@_Xèv@pS@ÞK#@ÞK#@ÞK@8K@ƒ@9;@À:@y:ó~@9}@½IS DOWN BIT SET? BEQ DTCX ;BRANCH IF NOT BICB #SY.LOC+42,SY.DFL(R0) ;CLEAR LOCK AND DOWN DTCX: RTS PC ;EXIT ; ; SEARCH ERROR - DETERMINE CAUSE ; DT.SER: TST @#DT.TST ;IN END ZONE? BMI DT.TA1 ;O.K. MEANS TURN AROUND JSR R5,STRG ;SAVE REGISTERS MOV #SRTI,-(SP) ;SET ADDRESS RETURN BICB #40,@#177776 ;DROP PRIORITY MOV DT,R0 ;GET DDB ADDRESS CLR SY.TO(R0) ;DISABLE TIMEOUT COUNT MOV #DT.TST,R1 ;GET DECTAPE STATUS DT.EXT: BIT #14000,(R1)+ ;.... ASSUMING H-W FAILURE BEQ DT.STE ;¾ ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-4 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER¿O.TS: .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .WORD 0 ;OTHER UNITS .=TKO.TS+TK.NOU+TK.NOU ; ; KEYBOARD DATA AREAS ; ; ; STORE FOR DDB POINTERS .WORD 0 TKI.TS: .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .=TKI.TS+TK.NOU+TK.NOU ; ECHO FLAG/ECHO COUNT .WORD 0 ;CONSOLE EF: EC=.+1 .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE Àù4(x@U(¨ @t'€ @b'€%@Œóy@‡@ x@@8@O.&€‰@%vQ@¼šw@Û@œ@« ÜE@¸÷.­d¯”rlH(¯”[÷>6dÀ¨¯”(<6dÀ¨h ­d8hhf¯”6d@•÷~­s}¯”(6á(}h("`;h$i"‹hxh ¯”t�€ @©zhƒ@¤y@8@x s@Z@9;@- Z@0÷¾@w¯”(ü¤y@8h¤y@=hŒ¤y�=hž¯”ã’ 2@ã’2@t�€ @Ó…¸~@Ð@m}@ù}ÈK@³}@Á.... IF SEL OR ILO MOVB #10,(R1) ;STOP TAPE MOVB SY.RTN(R0),SY.SCB+1(R0) ;MOVE TASK # FOR DV.A2 ROUTINE JSR R5,DV.A2 ;SET UP A002 MESSAGE NOP ;EXIT TO DEQUEUER WHETHER... JMP S.CDQ ;...BACKGROUND OR NOT DT.STE: BIS #10000,12(R0) ;SET UNRECOVERABLE ERROR DT.STP: MOVB #10,@R1 ;STOP TAPE IN CASE MOV 2(R1),16(R0) ;STORE UNTRANSFERRED WORD COUNT BR DT.TXT ;AND TAKE COMPLETION EXIT ; ; BLOCK NOT FOUND IN SEARCH ; DT.BER: JSR R5,STRG ;STORE REGISTERS MOV DT,R0 ;GET DDB ADDRESS  0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-5 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNTà .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .=EF+TK.NOU+TK.NOU .EOT ; KEYBOARD AND TELEPRINTER DRIVER - PART 3 ; ; VERSION V005A ; 001 ; ; COPYRIGHT 1970,1971 DIGITAL EQUIPMENT CORP. MAYNARD, MASS.01754 ; ECHO BUFFER INPUT POINTER .WORD EB ;CONSOLE EPI: LOC=EB LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+Ä%{¼%@©zhƒ@òyÀ+@èv@¤r}@œm@Q@øf@çf}@´^Ùf�`@f@f@_Xèv@8T@À:@„:@@m8w@mèS@m¸@éx@$÷¾°}Àv¯”(Ô¯xhäÚrp:hx³}h¯”t�€ @€À�@u~"@k~@+}XH@2{þv@2{[q@z€ @�y@Èx@ x@‹w@&gÀ�@"gÀD@ g€ @çf}@Àn_Xèv@€W@pS@¶R@$N}@ÞK@ù4(x@m4€p@«‹w@¿x@ x@- Z@« ÜE@e÷¾u~\!¯”ÅCLR SY.TO(R0) ;DISABLE TIMEOUT COUNT BICB #40,177776 ;DROP PRIORITY MOV #SRTI,-(SP) ;SET ADDRESS RETURN MOV #DT.CCM,R1 ;GET CONTROL ADDRESS BR DT.STE ;TRANSFER ERROR: DT.TER: BIT #34000,-(R1) ;TAPE FAILURE/OPERATOR FAULT? BNE DT.EXT ;IF SO PRINT & WAIT RECOVERY BIT #100400,(R1)+ ;END ZONE/N.E.M? BNE DT.STE ;IF SO, TREAT AS UNRECOVERABLE ;RECOVERABLE ERRORS (TIMING OR PARITY): ASL #0 ;RETRIED 8-9 TIMES ALRDY? DT.RTC=.-2 BCC DT.RXT ;IF NOT TRY AGAIN .... BIS #100000,12(R0) ;OTHEÆ .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-6 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,ÇEBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON CONSOLE .=EPI+TK.NOU+TK.NOU ; ECHO BUFFER OUTPUT POINTER .WORD EB ;CONSOLE EPO: LOC=EB LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LÈ(r"æYh¢Ù"`;h*\hs…[Mh¯”t�€ @s…¸L@Z€ï[@€à`@©zhƒ@z€ @ãy}@¤y@8@Èx@¯x}@x s@ g€ @çf}@¶^Àv@_Xèv@±N€W@pS@ÞK#@9;@9}@m4€p@&€‰@%vQ@Û@œ@q÷Vm}¯”($m}h¯”u~a@%{ú�@žgðK@of (@ù4(x@Ë÷fu~a¯”(Fu~ah¯”%{ú�@%{@ÄzX@Äz:w@Äzx:@øf@‡@r÷ñ.$T¯”/@Ð@³ÉRWISE SIGNAL ERROR BR DT.STP ;GO TO COMMON ERROR EXIT DT.RXT: JMP DT.PR1 ;RETRY TRANSFER AFTER ERROR MESSAGE ; ; DECTAPE DDB'S ; UNITD=0 ;UNIT NUMBER DTSPN=50 ;DECTAPE SUSPEND NUMBER ; ; DECTAPE UNIT 0 DDB ; 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS DTDDB: 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFÊ0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-7 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,ËOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE LOC=LOC+EBSZ .WORD LOC ;NON-CONSOLE .=EPO+TK.NOU+TK.NOU ; TYPE AHEAD BUFFER INPUT POINTERS .WORD KC.BUF ;COMMAND .WORD KI.BUF ;CONSOLE K.IN: LOC=KI.BUF LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOÌ@Z÷ææ.ú�ñ�&t &t‚:�Ø.sr Cy ôyz/£Ì.N`³Vq Ô Ð‹,(¨ßf/ D¢,L„ÐÅ|—º,p`”J.\á(}i"‹ÍGE DT.DSC-2 ; ; DECTAPE UNIT 1 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFGE DT.DSC-3 ; ; ; DECTAPE UNIT 2 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVÎ0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 0 ;TIMEOUT COUNT ; .IFGE DK.DSC-8 ; ; RK11 DDB ; DKNT=DKNT+1 ;UNIT NUMBER DKSPN=DKSPN+1 ;SUSPEND NUMBER ; 0,0 ;ACTIVE DDB QUEUE 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DK ;DRIVER ADDRESS 0 0 ;TRAN BLOCK ADDRESS 0 ;DEVICE BLOCK NUMBER 0 ;CORE TRANSFER ADDRESS 0 ;WORD COUNT .BYTE 0,DKNT ;UNIT #,TRANSFER FUNCTION 0,0,0,0,0,0 .BYTE 0,DKSPN ;SUSPEND NUMBER 0,0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0 ÏC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE .=K.IN+TK.NOU+TK.NOU ; TYPE AHEAD BUFFER OUTPUT POINTER .WORD KC.BUF ;COMMAND .WORD KI.BUF ;CONSOLE K.OUT: LOC=KI.BUF LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .ÐÙ"`;L"$ uª@.r"æYs…[M¶^  ž!€% —T´4 (}2ó.Ay s¯”- Z@éx@+FÀD@ ÷æ ò  É" ÿ w ÷®*    òyÀ+f(:ß fÿÎ ÿ‹ÿŠ·ŠÁ�@œ£.øfã’ 2ã’ 2_Xèv ©zhƒ:,Zæl&Î   wÀÐeH à5·Š6" g€ l+FÀD- Zt~÷ ·Šw¨ÑER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFGE DT.DSC-4 ; ; DECTAPE UNIT 3 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT 0 ;TIMEOUT COUNT .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; ; DEFINITIONS ; RKDS=177400 RKCS=177404 RKDA=177412 RKDIR=1 .END B$$BB$$BB$$BLÓWORD LOC ;NON-CONSOLE .=K.OUT+TK.NOU+TK.NOU ; TERMINATOR FLAG/RUBOUT MODE .WORD 0 ;COMMAND .WORD 0 ;CONSOLE K.TRM: K.ROM=.+1 .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .=K.TRM+TK.NOU+TK.NOU ; INTERNAL BYTE COUNT .WORD 1 ;CONSOLE K.BC: .WORD 1 ;NON-CONSOLE .WORD 1 ;NON-CONSOLE .WORD 1 ;NON-CONSOLE .WORD 1 ;NON-CONSOLE .WORD 1 ;Ô&éxk~éx¤y@8þó.¶^¯”« ÜE@Û@œ@¼šw@÷æ,÷  f&Á�!±£W¬Ä ).¶^ÀvÞKz€  g€  pSí,$Bœý r/ fœ÷ �•ä÷ . g€ z€  g€  x&+}XHˆ,HáAœw ßÃm÷Á’À& Bœ­.&gÀ� ÞK ‘føfW,lÄ q/NÁe@÷ ˆ�Á¬z&&gÀ�t�€ &gÀ�+}XHê,�³“�éÖ ÷Õ DDB 0,0,0 ; .IFGE DT.DSC-5 ; ; ; DECTAPE UNIT 4 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFGE DT.DSC-6 ; ; DECTAPE UNIT 5 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEÖ ì¾#€ ¯”(D@8h xh6¿xh8ŒóyhBù4(xhð9}hZy:ó~hŽ„:@hÄ+FÀDhtÞK#h`ÞK#hd”T}h¨µW@h¾¶^ÀvhøIqàh(IqáhDòyÀ+hxzÀghž2{[qh^2{þvhl„¾+}XHhÎù}ÈKhøù}ÉKh€à`h¯”ô’Àv@ã’2@ ‘@t�€ @Ó…¸~@€À�@©zhƒ@z€ @¤y@8@�y@ x@x@‹w@8w@èv@ys@œm@Q@&gÀ�@y®"gÀD@ g€ @øf@çf}@Ùf�`@f@Z@_Xèv@€W@pS@ÞK@8K@ƒ@9;@8;×NON-CONSOLE .WORD 1 ;NON-CONSOLE .WORD 1 ;NON-CONSOLE .WORD 1 ;NON-CONSOLE .=K.BC+TK.NOU+TK.NOU ; INTERNAL DATA POINTER .WORD 0 ;CONSOLE K.DP: .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .WORD 0 ;NON-CONSOLE .=K.DP+TK.NOU+TK.NOU ; BUFFER POINTERS .WORD KC.BUF ;COMMAND .WORD KI.BUF ;CONSOLE K.BUF: LOC=KI.BUF LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOCØ–%e)÷ ],[œº.føf¶^Àv Z& g€ Ç,´€ÃEÀÿw·ŠœÅ õ ’.t�€ _Xèvz€  ‡&ÄzNyÂ,ØEøÿùœDaôŠÿÿ× þÄ�­�™& g€ Äz|ÿÿÞK"z€ @&ü7¡ ÷­ö&÷ €E.&gÀ�ÞK g€ pS xWÄ�÷ 7�wé.t�€ ©zhƒ t�€ ù}ÈK©zhƒ°.ÁewÂ�€ .èvÓ…¸~ ã’2ã’ 2©zhƒ•&@ð‹ÙL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFGE DT.DSC-7 ; ; ; DECTAPE UNIT 6 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .Ú@À:@<2@ƒ@("`;@m8w@mèS@m¸@£„!@L÷¾u~ z¯”(ª&€‰hãy}h4s…¸Lh`¯”t�€ @y…ø@k~@z€ @Bx@@9wÈK@&gÀ�@ g€ @øf@f@f@”T}@ÑQÀ@$N}@ÞK@¿x@9÷¾³¯”(̳h¼@h°¼€%h¶¼À+h¼¼@Qh¯”%”€p@3{<}@Äzª€@Äz®s@Äz[q@Äzåe@Äz3@Äzü@Äz�@Äz´@Äz³@Äz©@Äz @Äz°@ev©zhƒ@¤y@8@[q&"@Iqà@øf@Û=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE LOC=LOC+KBSZ+1 .WORD LOC ;NON-CONSOLE .=K.BUF+TK.NOU+TK.NOU ; PTR TO SPECIAL OUTPUT STRING .WORD KO.MA+2 ;CONSOLE K.MPTR: .WORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .Üò‹÷   ÷ B€z.t�€ À:z€ IqáÞK#¿$^0 "wÆ÷œpˆ.t�€ Ðføf ‘Šzpœ0 ÷.t�€ Z &gÀ�  ‘ ‘ZŒfœ÷ ÷ �•DœP.føf z€ +}XHy:ó~)&¢÷ @· ðµ@ ðÅ@„. g€ t�€  ãy}« ÜE xÀ÷÷ 07Š7 ß. xf øfy:ó~« ÜEžÔóŠÿÿòUÿ€÷ð‹CBYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .IFGE DT.DSC-8 ; ; DECTAPE UNIT 7 DDB ; UNITD=UNITD+1 DTSPN=DTSPN+1 0,0 ;QUEUE OF ACTIVE DDB'S 0 ;MONITOR CHAIN LINK 0,0 ;LEVEL COUNTS DT ;DRIVER ADDRESS 0,0,0,0,0 .BYTE 0,UNITD ;UNIT NUMBER 0,0,0,0,0,0 .BYTE 0,DTSPN ;SUSPEND NUMBER DTUFD ;RSX UFD POINTER 0,0,0,0 .BYTE 0,SY.DPR ;PERMANENT DDB 0,0,0 ; .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; .END w 'Þf@\`z@\`èD@\`Ð>@\`è+@U(@@o"€ @¼šw@¼€>@}÷FÁ¯”(ÄÅhÐhÖ¯”¤y@8@¬¯@6÷ND¯”(ŽDh¯”%{¼%@Äz3@©zhƒ@¤y@8@\÷†\!¯”(T\!¯h¯”t�€ @Ó…¸~@3{<}@%{¼%@Äzåe@Äz3@©zhƒ@òyÀ+@èv@¥U€Q@$T¯@p÷¶ñ�}¯”(dñ�hú�h,!”Àh¯”%”€p@3{<}@Äz ‘@Äz®s@Äz[q@Äzèe@Äzåe@ßWORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .WORD KO.MA+2 ;NON-CONSOLE .=K.MPTR+TK.NOU+TK.NOU ; ECHO BUFFER POINTERS .WORD EB ;CONSOLE EBP: LOC=EB LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NON CONSOLE LOC=EB+EBSZ .WORD LOC ;NOà.ysçf}ÿÿz€ føfÓè€ðÅ€2 2 ÷›. x  xz€ t�€ f,þ榀 ÷ �€w w Áeýñ &øfs…¸L@88K@ƒ+$"úw·ŠwÅ@<° «.t�€  8K@ƒ_Xèv¤y@8‡K">0œ€w Á÷ ÷Í.Äz®s Äzü2{þv%{fl"Xw œ€Ä•ýÿ·ŠwõV.øf2{[q Äzü_Xèv\`,1r÷ ðÅæ–w ‘*Äz[qá ì¾&t¯”(ô&th&tбh²4tÀDh¢4t@Qh”4t€Wh¬¯”%”€p@Ó…¸~@ €@3{<}@%{¼%@Äz¢’@Äzœ’@Äz´‘@Äz?‘@Äzª€@Äz®s@Äz[q@Äzåe@Äz[M@ѾÄz3@Äzü@ÄzÜ@©zhƒ@z€ @¤y@8@@wÀN@yq€ @[q&"@Iqà@6dÀ¨@\`z@\`èq@\`èD@\`Ð>@\`è+@E@U(@@o"Ð @o"¨ @¬4²@¬/²@¬ǰ@¬º°@¼šw@¼€>@v÷¾Cy¯”(ìCyh\yÀ+hÖ\y2hà\y@8h比%”âÄz3@Äzü@©zhƒ@¤y@8@Iqà@\`Ð>@\`è+@¼šw@H÷nô&@¯”(z/hÐh(Ôhzh:ßfh.Vqh(¯”%”€p@Äz3@¤y@8@@÷¦/¯”(Ü/h¯”t�€ @Ó…¸~@Ð@%{¼%@Äz3@©zhƒ@¤y@8@ys@Ùf�`@ó`€‰@8T@À:@<@@ï@« ÜE@Ö÷~‚:¯”( ‚:h¯”%{Tq@%{Ì@Äz3@©zhƒ@zÀg@¤y@8@Œ:�@¬¯@¼ @« ÜE@2÷ãN CONSOLE .=EBP+TK.NOU+TK.NOU ; OPEN CLOSE FLAG/ECHO SUPPRESS FLAG .WORD 0 ;ALWAYS 0 .WORD 0 K.OPF: K.ESF=.+1 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .=K.OPF+TK.NOU+TK.NOU ; STORE FOR CONTROL CHARACTERS/EOD FLAG .WORD 0 CCTMP: K.ENFL=.+1 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .WORD 0 .=CCTMP+TK.NOU+TK.NOU ; COMMAND BUFFER .WORD 0 ;CMDST MUST START ON EVEN BOUNDRY . CMDST: KC.BUF: .=.+KBSZ ; NORMAL BUFFER .ä U(¨ Äzª€Äzü–Ù,†þÿ·œwõñ‹ ÀåÇÈ.Œóy3{<}¼šwÄz’À:,ª øÿñ‹Âw‚þÁÁÁÁb. À:%vQx s ¯x}&Û@œ6,ÎÆffæ�wW#ìý÷ &x&9;©zhƒ¤y@8$¶^Àvø,òf÷‹æADw ã&& W-øÿNwÈx « ÜE&€‰H,& W-øÿAw Ñ„‚ƒ�ÀP¥&€‰�,: €“fw ¿Ö ·“Ö Ý ÄÁ °�w ³Í ù4(x« å€p@#{¨@#{P@Äzc�@Äzª€@ÄzTy@ÄzRy@ÄzLy@Äz®s@Äz[q@Äzåe@Äz[M@Äz3@Äzü@©zhƒ@vz€ @¤y@8@@wÀN@[q&"@Iqà@øf@„e&@\`z@\`èD@\`Ð>@\`è+@U(@@¼šw@¼€>@÷¾—¯”(>ìÀ+h(ì2h2ì@8h8—h¯”%”€p@#{¨@#{P@Äzc�@Äzª€@Äzä@Äzâ@ÄzÜ@Äz®s@Äz[q@Äzåe@Äz[M@Äz3@Äzü@©zhƒ@Œnz€ @¤y@8@@wÀN@[q&"@Iqà@øf@\`z@\`èD@æ¾N`¯”(LN`h\`2h2\`€>h,\`ÀDh8\`@Qh&¯”%”€p@ €@3{<}@%{¼%@Äzª€@Äz®s@Äz[q@Äzåe@Äz�`@ÄzN`@Äz´_@Äz _@Äz°^@Äz3@ŸžÄzü@©zhƒ@¤y@8@[q&"@Iqà@øf@f@\`z@\`èq@\`èD@\`Ð>@\`è+@E@o"€ @¬4²@¬/²@¬ǰ@¬º°@¼€>@E÷¾sr¯”(xsrh|r@hj¯”%”€p@3{<}@Äz®s@Äztr@Äz[q@Äz3@Äz’@Äzü@©zhƒ@¤y@8@Iqà@øf@çBYTE 0 KI.BUF: .=.+KBSZ .IFGE TK.NOU-1 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-2 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-3 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-4 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-5 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-6 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-7 .BYTE 0 .=.+KBSZ ;NON CONSOLE .IFGE TK.NOU-8. .BYTE 0 .=.+KBSZ ;NON CONSOLE .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; EèÜE$€à`,^±1Š€Pfw 1à ƒ ±�&z€  g€ €à`t�€ $‚€1�1Šp�À÷  w Õ.z€  "gÀD&gÀ� g€ ãy}ž×�÷ Ùÿ9} +}XHµó.­d¯”rlH(¯”[÷比“ è,÷"÷À81˜À5($ÈÈ‹þ€È €Üþ0ÿÀ6ÿ8ÿçó.6dÀ¨¯”6d@(<6dÀ¨h ‡÷æé\`Ð>@\`è+@U(@@¼šw@¼€>@u÷Nôy¯”(:ôyh¯”%”€p@Ó…¸~@Äz3@¤y@8@ã÷¾«:€ ¯”z,gH((¨¼€>h¼šwhŒ@ h6U(@h`U(¨ hhŒ:�hê\`è+hŽ\`,h’\`Ð>hœ\`èDh¸\`èqh¼\`zh|[q&"hÜz ghpz8gh˜#{Phô#{¨h0%{hJ%”€phœz¾¯”!”À@t�€ @ì@8@ì2@ìÀ+@%{¼%@%{Ì@Äzª€@ÄzNy@Äz:w@Äz®s@Äz[q@Äz+l@Äz"g@Äz¦@Äz|@Äz3@Äz’@Äzü@Äz³@©zhƒ@ê\`Ð>@\`è+@U(¨ @‡@¼šw@©÷ñ.#€ ¯”£„!@m¸@mèS@‡÷ææ÷p pœ°.øf f øfÞK&gÀ�D"Bœ� @œ2�°�0Š".ÞK&gÀ�"gÀD"gÀD&gÀ�q,.·… w Äÿ÷ އ¦¶ö÷•¸ÞKøf"øf¹Rwæ÷ƒœÉ.føføfføfƒ fr�q�q�Üœs�+.ÞK ÞK&gÀ�ëCHO BUFFER EB: .=.+EBSZ ;CONSOLE .IFGE TK.NOU-1 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-2 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-3 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-4 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-5 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-6 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-7 .=.+EBSZ ;NON-CONSOLE .IFGE TK.NOU-8. .=.+EBSZ ;NON-CONSOLE .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; CHARACTER CHECK STRING .BYTE 177,25,3 KO.MA:KBO.CR: .BYTE 15,12,0,40ì  É, ÷þÿÚÿ7ØÿÀP�ÐP�Æ æÉþÿ$ ‰,DxÿæxÿÀÁ÷ �€ÀE÷ ê÷ ¶xÿ xÿ³,ht&÷ @€Ä ÷ ²Ä üÄ÷ d3,Œ÷ `÷ œ Ä õ÷ >÷ Œâ÷ 4÷ ‚‡g,°÷ J÷ v÷ rÄ÷ 8÷ d÷ ` ¾,ÔÄ õ÷ ‡Â ÷ J ÷ B‡ à B à Ú,øB Å  à B Å à B à B à B Âe(0÷ Å ó ÷ ‡÷‹ý€·�‡b6d 6d7ó.­s}¯”- Z@9;@Z@è÷ízÀg@S¾¤y@8@\y@8@\y2@\yÀ+@èv@4t€W@4t@Q@4tÀD@|r@@øf@f@6dÀ¨@\`@Q@\`ÀD@\`€>@\`2@À:@„:@@Œóy@‡@¼@Q@¼À+@¼€%@é.¼@@« ÜE@4@ƒ@4@4@@Ÿ÷~yq€ ¯”(Âyq€ h¯”3{<}@#{¨@#{P@Äzc�@Äz)g@Äzü@Äzƒ @¤y@8@&tб@Œóy@'÷¾o"€ ¯”(„o"€ ho"¨ ho"Ð h¯”t�€ @3{<}@2{þv@2{[q@#{¨@#{P@Äz�’î"gÀD"gÀD& ~r�ñ�±�Ñ" œá."gÀD&gÀ� &gÀ�"gÀD8;1–Jœÿÿð�0 "c.À:Ùf�`ÿÿ ‹w x�y1,¨Âå °Á�@,·‡Àeà‹Ý.8wèv©zhƒt�€ Ó…¸~#,Ìþ€à € œƒ�¬‚œƒ ù…Õ …gÞKz€ &gÀ�e ðæ÷ð‹ðEÿðœ†.øf f øf g€ z€ &±Šÿÿpœÿÿ°º. g€ çf}ÿÿ t�€ œm@Qÿÿã’2äï,11,13,14,7,10 KO.MB: .BYTE 15,12,'.,0 .EVEN ; DDB'S ; KB (KEYBOARD) 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN AND LEVEL COUNTS. +KB ;DVR ADR. KBDDB: +0,0,0,0,0,0,0,0,0,0,0,0 ;STANDARD DDB .BYTE 0 ;TEMP FOR .READ/.WRITE .BYTE 1 ;SUSPEND # +KBFSZ ;BUFFER SIZE IN BYTES. +KBBUF ;PTR TO BUFFER. +KBBUF,KBBUF ;IN,OUT CIRCULAR PTRS +0 ;PTR TO INPUT CHANGE BLOCK .BYTE 0 ;RESERVED TASK # .BYTE 0 ;FLAGS +0,+0 ;ROOM FOR CURRENT CHANGE BLOCK .WORD 0 ;TIME OUT ðæ,W% Ä�W%Ý Á. ©zhƒt�€ Z - Z&x sn$Æffæ�wø9;©zhƒ¤y@8tó.@w¯”éx@m¸@mèS@=÷æ"÷€i÷ &÷÷‹ñ.føféxføfH"7Š÷ ì÷Š÷ ç÷‹.éx éxm}éx³}/ 4N&7Š÷ Àw ô._Xèv _Xèvføfçf}­"Lñ@Äz?‘@Äzc�@Äzø�@Äzª€@Äz:w@Äz®s@Äz/g@Äz)g@Äz"g@Ý®Äzke@ÄzN`@Äz°^@Äz[M@Äzü@Äz©@Äz @Äz°@Äzƒ @z€ @z,g@z g@òyÀ+@¤y@8@@wÀN@èv@&tб@øf@6dÀ¨@Œóy@¼€>@ð÷¾$"s¯”(Ò e h°¤r.yh8¤r}h¤ràh¯”Ó…¸~@Ç~‹¯@Á~‹¯@3{<}@2{þv@2{[q@%{¼%@©zhƒ@òyÀ+@žgðK@øf@f@ eèv@ eÀv@6dÀ¨@^÷¶à¯”(ÊàhäPhž¯ò,÷ nÿ ·ŠÕ ·…üw Üù±1 y.Z_Xèvøf"t�€ &&gÀ� ">1 €œr�r�èp�0.z€  t�€  ‘ ‘ ‘#Xr�ãÁ�@œB¦œÄ.&gÀ� ‘©zhƒ g€ t�€ Æ,n  ðŠÿÿw „þ‚“w Øþ‚“²Šÿÿ±�1‘ƒ•U.À: çf}ÿÿçf}ÿÿ g€ $z€ ™,’BòœÿÿÅ Å`µŠÿÿ‡ ÃðÿÀ A †€`Bt�€  œm@Qÿÿ ã’2ã,¶A ƒ ù‡Â�ÃþÿÁ C B Á5@x8K@ƒ€Wþÿ ,Ú.óCOUNT/INHIBIT ; ; KB (TELEPRINTER) 0,0 ;ACTIVE DDB CHAIN +0,0,0 +KB+16 TPDDB: +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE 2 +TPSZ +TPBUF,TPBUF,TPBUF +0 .BYTE 0 .BYTE SY.DPR +0,0 +0 ;NON CONSOLE DDB'S ; KEYBOARD .IFGE TK.NOU-1 LOC=20 LOCA=0 TTDDB=.+14 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES. +TKBUF+LOCA ;BUFFER POINô À�ü < æŠ.„:@ ©zhƒt�€ 8T8T•fæ€÷w & æH*øf€ føfòyÀ+„$z&�÷ €Áåww&.%{¼% ù}ÈKt�€ èvmèS¢–wÑ œ÷œÿÿ7B*m¸m8wÀ:Ùf�`ÿÿ® ª÷÷êÀe·�f*Ð ¤r}ã’2Š ÂÀ7w–7ŠÆ7.©zhƒ œm@Qã’ 2Ó…¸~©zhƒÞ*Ú…•€�‚ƒ„Äea %%„F…õ”ÄzX@Äz’@òyÀ+@¤y@8@øf@„eFy@„eÕZ@„eœ,@„eŒ(@„e&@„e¬%@„e""@„e<@„eò@üÙf@ü@î÷®0¯”(º0h4Phޝ”ÄzX@Äz’@òyÀ+@¤y@8@øf@„eFy@„eÕZ@„eœ,@„eŒ(@„e&@„e¬%@„e""@„e<@„eò@L@W÷ñ.&t¯”¼€>@¼šw@¬º°@p÷æ,ó•@w¦EAÂ�þÿ þ¥ßÄz3%”€p©zhƒV,$ÊÃ!Äö €. Àeý÷Õ …W¥-t�€ t�€ §,þW¥Aw ´ÿDW-üÿ‡EÁwt�€ $£„!Å$"wò‹—¬üÿ ·  2Š=.("`;x z€ z€ €À�\$>·Š&€œ°Šÿÿ€‡ò•üÿ7Šn.z€ _Xèv g€ çf}ÿÿz€ K,Z‡Ö €�‚ƒ„…&æ¦f&M&æ¦Õ€À� ,~f&& ÷ ·Ææ÷•ÿÿM�ò‹Û. ©zhƒÓ…¸~9;©zhƒ ©zhƒú,¢ 2‘Å €œ@a°Šÿÿ÷ ¦þAœñŠÿÿƒ.÷TER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ ;**NEW** +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-2 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES. +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER Lø2Ó…¸~Uó.°}Àv¯”« ÜE@- Z@ x@ç÷æ*Ã�næœæœÄÅÿÿÂVáM‚w Û.ÞK "gÀD&gÀ�$N}t�€ O$"ÀœÄœüƒÄœ Äœo.2{þvz€  g€ z€  g€ ,>!w .Ä &ô Á 3 A. g€  pSz€ ù4(xt�€ " bñ�3!÷‹ 7 .t�€ z€ t�€ t�€ €À�Ê"zð•üÿ7Š 0Šœ´Šr.« ÜE z€ ùÄ%Äw =È. €¬/²E¬ǰ"\`èqQ,H!ÄÄ%Äw .æf�È. € ¬4²E¬º°\`èq[,lƒÓõ%ÃÅüÿ– †Ž Îeà �ÎeÍg(�Ö ÅÃcÃåþÿ7�œ€Á•° é. Ó…¸~Äz3þÿ3{<}Äzü Äzœ’ "°ó•w–%æ¦�Á5(.Äz®s Äz´‘ Äz3\`è+%{¼%« ʰ Á•w÷ ðÕ.Äz[q Äz®sÄz¢’\`z[q&";â÷•÷ Åì.Äz[Múz€  z€  g€ " g€ &çf}ÿÿBÆ·Šwæ÷w º._Xèv ¤y@8øfføf›"Úñ�w�÷åü·².<2@ƒ ô’Àv &gÀ�ô’Àv<2@ƒ¸ ô‡Åtå ååå.øf Ó…¸~èvm8wm¸™ ‡æ÷Á�wœÁ.mèS øfføfô’ÀvÆ&" ÁÁeýw wÕ ·Ð.&gÀ�ô’Àv <2@ƒ8K@ƒ<2@ƒ( @…(øf…ó.u~ z¯”ûOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-3 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-4 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL Cü€À�z€  g€ p&”ÿÿ·Š÷ Á÷ w ó….çf}ÿÿ_Xèv+}XH x2{[q|(²w ³s!ƒÅö ƒ•朩.t�€ 2{[qt�€ t�€ t�€ ¶,Ò –%wwa�‡Á‰ŠÉ¥<Šú÷¥X&&gÀ� $N}k~‹wÑ"ö7Š7 7 Å�3C�ð.m4€p m4€p- Z- ZÞK—$Ãåõ�E�w¡õÅ�%f�ú. g€  g€ &gÀ�ÞKÞK.,f�w­ w­>."gÀD&gÀ�ýÄzü Äzåe 3{<}Iqà«,öþÿpÀeÅeH Aa(p”ŠÀåöÄz3þÿZ,Ã¥÷ ´Íåà z�& ÷ 9=„•Ã5Tyq€ U,> ÄE€ÿôÄ¥Ã5îfüÿåΠ ;,b¡ä‡ Ö ñÕÿÿR—#‡‰#Î =‘™,†� %a¥ U%Ö ÷ 6Ã5q-üÿüÿÆIüÿ8Ö ,ªñÕ@ÿÿøå�÷ .C�ÿÿ¸Ë¡ ‡¡ êƒ ,Îq-üÿüÿ¬‡ñÕÿÿðµÍ £Düÿ!ž‡_,ò ! ‚Äå1!üÿ—ƒêËÎõ‹þÿñÕÿÿÉå ,1œþÿw6É :Ã¥ÉeñþÿDŸŠ,:Ã5ÄE€ÿæ&÷ /<þ¿x@ÞK@$N}@°÷æ,!ƒÁ…Ä ÷ „ Ä%@À%& y…ø9wÈK”T}&ÑQÀÑ,$ƒÕ …Á ùÁ…÷ÄÃ`Ì “.Bx@føfk~ $N}*Hã †÷ ñ÷‡Á� ñ . $N}t�€ føf ÞKÒ,jÄ B@œÀ%À倢 Ò €À€b3z€  g€ ¦$Ž1 À÷ âAœw à‡Ó&t�€ ¿x&gÀ�ÞKvó.³¯”¼€>@ÿOUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-5 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF g€ m4€pt�€ í*@w­ @� w AÀ÷ ¢.¶R t�€ ‹wz€ ù4(xÜ,bv¡…•f�à–%wºþÁ�ûEE�E l&¿x&gÀ�ÞK$&gÀ� $†õ‹ùw‘ñ‹î·ŠÀ�BW. g€ ÞK g€ _Xèv‹w,¢ƒå„œ2�áßÀe<Âe `ƒ"ׇ.t�€ Èx x x �y_Ʀ æfÐ  u~"¹ó.u~\!¯”Û@œ@%vQ@&€‰@-÷愃� %a¥ U%÷ þo"¨ Ž,^jËE¡ ¡ 3ðµuüÿæÃv,‚& „æ÷ Î ú–%ƒ*K¥•÷ BæÿS o"Ð n,¦C�ÿÿëÖ ¥•÷ 4C�ÿÿÃUÿ¼÷ "æÿ ÷ 3,Ê÷ Ãÿ¡ ææ÷ ëïÖ ƒr6dÀ¨o"¨ p,îI-üÿ¡‡‚× æfþÿ‹÷ áÞõ ºo"¨ †,üÿÖ µÉåËED™¡ ‡¡ ƒñÕb,6ÿÿ$Ì5æ& ÷   Ö ƒ1œþÿðÅÂo"¨ Œ$Z€—¬ýÿwà €á5÷ Ó.Äz?‘€Äzü z€ @wÀNÄzܼšw@o"€ @U÷æ,@wó•Â�þÿwœœ €Áç. %”€pÄz3©zhƒ3{<}"ÄzüE $°  ó•1Á5° O.Äz Äz®sÄz´Äz3Äz[q…<Áw÷ ÷B.Äz®s Äz�\`z[q&"ÄzåeR,PðÅ€ & Åæ$Ë5΃æ¶�23{<}Äz³ Äz©0(t„÷  –%÷ ÷ w–%õ•<. o"€ U(@Iq༚w"Äz°²”w–%ðµ÷ wõ.Äz3+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-6 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 ,÷  ÷ wW%5EēЙŠÉ&¶^Àvs…¸L¤y@8m4€p,$™ Š:W%(ADÝw )í À -� w &€‰‰Hí ñ•ñ� w á.€à` pS g€ ©zhƒz€ ¸&^÷  Äþ ÷ óŠÿÿ·ŠÁâ.9}ãy}ÞK#çf}ÿÿ_XèvŽ&|ÁÁÁÆffæ�{.%vQ x s¯x}Û@œ9;Ô,šwW#ìý÷ ñ êÁB.©zhƒ ¤y@8¶^ÀvÈx$Z€ï[ö,¾„!xvðµwðµ£.U(@Äzª€ Äzü¼€>Äz[qIˆwwæÈ÷ œ*Äzü ¼šw¤y@8È\`èDü,ž‡÷ æÈøæÜófAQ$Åeœî&Äzü \`Ð>ÈÜ&Äz®sM,ÂðŇנ W-üÿðµe‡ŽWÄz?‘Äzül授ðÕw� Äz?‘ Äzü¤y@8±ó.Cy¯”¼€>@¼šw@U(@@¡÷æ,@wó•Â�þÿ7�œ €Á . %”€pÄz\`è+Äzª€ÄzüIqà«"ªw÷ Ë÷ ÷ Ã÷ #.¤y@8¼€> \`Ð>\`èD\`èD°Äœ´Ö\`Ð>Äzü±ó.Á¯”¬¯@¤y@8@(Ä÷æ,f& & ACB’$2Š„… Ä  AÁeÕ,$ ! ! ! ! ! À`Ã0ƒ .ƒ ÷ H1ž,Hà ÷ ,ý Ѥ÷ 1�Ó¥,Á ÷Ë¥,çD,lË¥<Ë¥ ¶ Ë¥.ÞË¥[åà ÷ ìH,�Ë¥*MŽŠ„¾D`Ì%Ö Ê õ,´Œ%Œœÿÿ %2“ÿÿÖ wƒ & Á .IFGE TK.NOU-7 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .IFGE TK.NOU-8. 0,0 ;ACTIVE DDB CHAIN +0,0,0 ;MONITOR CHAIN & LEVEL COUNTS +TT ;DRIVER ADDRESS +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 傃× ;á‚—";ނÃbw ÔÝ 1�Ÿ €à`,âñ1‘Å%¡ Ãå Ãå ñek&z€ t�€  g€ m4€pVÂw wòz€ 9}¤y@8#ó.m}¯”ù4(x@of (@žgðK@•÷æ,Â� 7ЦæèæÀ•w  w,žgðK žgðK%{ú�èof ( ù4(x&u~aÇó.u~a¯”‡@øf@Äzx:@J÷æ,Àþÿwœð‹°ŠðŠ ð•¯.‡øf 3©zhƒøf"ÄzüN$°  ó•wÁ5g.ÄzLyÄz®sÄzTyÄz3\`è+« 8° Áw÷ ÷ ô.Äz[q Äz®sÄzRy\`z[q&"¤,PþÿÁpÁ5ÿp�0ðe0ž™Iqà„e&"„e&´*tô5 ð˜ Á ðÕ€÷ w¯*„e&˜Äzc�€Äzü"#{P�–Ö ÷ ðÅ€œ—¬S.¤y@8 #{¨Äzc�€ÄzüÄz®s ªýÿwð‹€÷ ðµ.z€  @wÀN„e&U(@Äz Î’÷ µ¤y@88,Ø ö’÷ –ýË¥:æŽ � öË¥.óË¥f,ü$ðDà UÁ •üÄ ª ¨Á F`ÎÕ£°, æ÷ TýË¥: ƒ÷ X ÷ R1„ƒ÷ ó,D4ýKŠƒ÷ : Ó‹‡cŠ÷ 2�ÿÿwöþ v,hÓ¥*@ ‡ã¨÷ û& Î’Îå0À À À €eô³,Œ&fË¥*À”Ä à ÷ Ô Å”Åå@¨,°Å”Åå@aÄ À À À À À @aé…„‡6,ÔfC Ó À ËÓeËÓ  Ãe& Ȭ¯Y,ø ÄÅL•Ì¥ üÌ¥ ùÌ¥öÌ‹ôÌ¥ �,Ì¥ L„ ìƒ wì ÷ H„ ûË¥*m÷ ‰,@& 0 .BYTE LOC ;SUSPEND # LOC=LOC+1 +KBFSZ ;BUFFER SIZE IN BYTES +TKBUF+LOCA ;BUFFER POINTER +TKBUF+LOCA ;IN POINTER +TKBUF+LOCA ;OUT POINTER LOCA=LOCA+KBFSZ +0,0,0,0 ;PIC, FLAGS, CURRENT CHANGE BLOCK +0 .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC .ENDC ; TELEPRINTER .IFGE TK.NOU-1 LOC=30 LOCA=0 TODDB=.+14 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +ÄzXÄzX"Äzx:.*$f æ&œÁ÷ øÿá‡ø&Äzx:%{ú�Äz:w%{ºó ª€"Âwðµáw÷ ¡.Äzü ¼€>Äz[qÄzü¼šwQØœ«÷ ²÷ ÷&\`èDÄzü\`èD\`Ð>£ó.—¯”¼€>@¼šw@U(@@Ä÷æ,@wó•Â�þÿ7�œ €Á . %”€pÄz3©zhƒøf"ÄzüN$°  ó•wÁ5g.ÄzÜÄz®sÄzäÄz3\`è+ 8° Áw÷ ÷ ô.Äz[q Äz®sÄzâ\`z[q&",P$Áj  ÷ .„ ûË¥,  [‚ Ä òW­,d–%wË¥*÷ ôîË¥]K IÄ Gƒ H”¤y@8J,ˆÎ CŽ ƒ ÈB&   „ ÷ ÚÎ ù‚ øÉ,¬Ž öÖ Ë¥:0< Ë¥,²U%à ÷ °ä"Ë¥Ã,Ð* ÷ ŽÕ Ë¥.¤Õ Ë¥[¬Õ Ë¥/'ë,ôÕ Ë¥<ÆÕ Ë¥ ƒ Ë¥ Ë¥ þ¦Û,ÁaÁe†AbE¤÷É‹üAÅ%Å™!í ëz,<å ƒ ë÷ 4å÷ .ýË¥:â÷ "ýË¥.ú�,`Ë¥$÷óÄ Ö Ñ÷ ΄ ‡& ƒ Ë¥0 ‚�,„Ë¥Z‡Ë¥9†Ë¥A‚Ž Ž Î Ö ‡Ý#¨ÿÿÿÿÿ ÿ« 0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-2 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-3 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-4 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 ìVx¯”(Öxh|Phª¯”ÄzX@Äz’@òyÀ+@¤y@8@Q÷Vð¯”(ÚðhôPh®¯”ÄzX@Äz’@òyÀ+@¤y@8@á÷^¸¯”(@¸h¼Ph¯”ÄzX@Äz’@òyÀ+@¤y@8@Œóy@X÷ž ¯”( h$Ph¸¯”#{¨@#{P@ÄzX@Äz:w@Äz®s@Äz+l@Äz[M@Äz¦@Äz’@Äzü@òyÀ+@¤y@8@Œ@ @–÷¾E¯”(dÌÓ SSSK1 Ì .€EÅEùÿ˜Iqà4,tÉE÷L1'ÅåÅå!ËEÿøSTÓ¬  ÙÏ  ¬$&˜ÁðÕ€÷ w÷ €ðÅ:. Äzc�€Äzü#{P¤y@8#{¨R,¶€œ—¬ýÿwÉEðÑU Áe£.Äzc�€Äzü Äz®sz€ @wÀN1,Ú ÃEÿÑP  ñU@þÿùá5ð¨*þùÉ5 ÷ ðµwðµÐ.U(@Äzª€Äzü ¼€>$Äz[qù" Âw÷ œ‚÷ ‰÷ Ô.Äzü ¼šw\`èDÄzü\`èD Ä"ó.D¯”¤y@8@©zhƒ@Äz3@÷æ,EáECDæÎe>× `‚Ã5ñ•þÿà ÷$Äz3þÿ:,$Ç`$\nYw@ÃÞ  ƒ þÿ Àåý,H  ƒÀåßÿñÀåÀýÿÀe€ èÉÕM,lä‹ ã¦f €ÀÓ ‚ €àÀEà € àó,� `—#'ð‚� � � à éW£'‚Í‹ W£ÉU¶,´W£‚Íe ÍeÍe Íe T“�[�éŽ�,Øææ�'ƒ Þ  ‚W#™‚‡ ‚‹%{¼% ©zhƒ9,üÎeò‰Š‰Šä‹1Â’$ 'èd €Š�âý†Ã, ��dÀ0Ê  +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-5 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-6 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+Làyh8EhEPh%I|Xh7„Ph8¯”i† N@/€ g@‚0„@Ç~‹¯@Á~‹¯@ÄzX@Äz®s@Äz[q@ÄzŒT@Äz¦@Äz’@Äzü@òyÀ+@¤y@8@.6dÀ¨@E` s@E0„@ù4(x@Œ@ @÷÷Ž€M¯”(@€Mh„MPh¯”ÄzX@ÄzŒT@Äz¦@Äz’@Äzü@òyÀ+@¤y@8@ãfU<@“M€¢@‚M0„@Œ@ @ð÷†€f¯”(ê€fh„fPh¾¯”ÄzX@ÄzŒT@Äz¦@Äz’@Äzü@òyÀ+@¤y@8@“f€¢@‚f0„@Œ@ @G:÷½\`Ð>ó.ôy¯”¤y@8@Äz3@Ó…¸~@‹÷æ,@wÁeúÿB¢(à Rà ý÷åÑ Ø %”€pÄz3úÿ"Ó…¸~Õ$RRCÒà à à à Òw4¤y@8:ó.«:€ ¯”4@@4@4@ƒ@a÷æ,&œÀew €ƒÃÜÃ × ý.ÄzNy Äz|„:@t�€ èvq,$(‡÷ {pÖ wæ fþÿv �æ 6dÀ¨p¤y@8Ÿ"H&œðÕ÷‹Õ …ø.�@c÷ã Þ  ä‚W3ààÍ Z,DÎeõå % •ÀE€ÿÀå0Þ Í Í Í @cÍ Í `,hà ñV% wÀ˜Í @Œý†�ŠÀÕÀ ÷†Ö þ¤y@8D Œñsó.\!¯”$T¯@¥U€Q@èv@Û÷æ"w ÷•�Ñ ÁÃ�Ã6.òyÀ+ Äzåe 3{<}Ó…¸~©zhƒƒ,sÁåCÅþÿBÑ „!ˆ ‡!ˆ‚Ä &&t�€ èv Äz3"¥U€Qˆ¹>ÄeðL¦ææ�æ$T¯ð%{¼%©zhƒ÷ó.ñ�}¯”¼šw@\`è+@\`OCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-7 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .IFGE TK.NOU-8. 0,0 ;ACTIVE DDB CHAIN +0,0,0,TT+16 +0,0,0,0,0,0,0,0,0,0,0,0 .BYTE 0 .BYTE LOC LOC=LOC+1 +TPSZ,TOBUF+LOCA,TOBUF+LOCA,TOBUF+LOCA LOCA=LOCA+TPSZ +0 .BYTE 0,SY.DPR +0,0 +0 .ENDC .ENDC .EN÷vÐf¯”(ôÐfhÔfPhȯ”ÄzX@Äz¦@Äzü@òyÀ+@¤y@8@ãf€¢@Òf0„@Œ@ @D÷¾àƒ¯”üƒ«HúóüƒÊHþóüƒJwHüó(|àƒhäƒPhP¯”üƒæf@üƒõX@üƒL:@üƒ–,@üƒ+@üƒ@îƒh:@ãƒ}@Äz¦@Äz’@Äzü@òyÀ+@¤y@8@øf@ff@„eFy@„eÕZ@„eŒ(@„e&@„e¬%@„e""@„e<@„eò@ù4(x@Œ@ @O àƒ@÷–ßf˜:¯”(”„eœ,hn„eFyh¯”%{¼%@Äz:w@òyÀ+@ðµu.%{ÌÄz:wÄz¦Äzü« ÜEæb ðŦ‚òŠí.Äz’Äzü Äz[qÄzüt�€ Q&v‚‡s�œÅewÄ•ÿÿðÕË.À: Äz3ÄzNyÄz|zÀgC” ÷œðŃS.Äzª€ÄzüÄz®sÄzª€Äzü¡*¨Ã3ŠÃå‡ÌŠõfÂ�° ð‹l.t�€ èvÄz3©zhƒ Äz®ss,Ê �fˆ&œ ÎEøÿ÷ Îe……& Ô Äzü‘,î[@�ÀEøÿ€­T‚W=Å L)o ‡Ð>@1÷æ"ó•÷ ,ó•Â�w÷ Å.Äz3Äz ‘Äz3©zhƒ\`è+ñ÷ ðµwó•.\`Ð>Iqà Äz[qÄzü¼šwÀ&0æT@þÿ·œð‹€ð­Ø*Äz3T3{<}Äzü ©zhƒµN‡KwÖ üÖ wùÄz®s¤y@8%”€pó.ô&@¯”¤y@8@Äz3@%”€p@d÷æ,ñÿÿÅ•s‘@wD$ŠÅ¥D$ŠÄz3%”€p|,$wÅ•DC .ENDC .ENDC .ENDC .ENDC .ENDC ; VECTOR SET UP FOR UNITS 1-N OF NON-CONSOLE ; TELETYPE ; ; .IFNZ TK.NOU .ASECT .IFNDF TT1VCT TT1VCT=310 ;DEFAULT .ENDC .=TT1VCT TK.VCT: .WORD TK.INT,341,TKO.INT,341 ;TT01 .WORD TK.INT,342,TKO.INT,342 ;TT02 .WORD TK.INT,343,TKO.INT,343 ;TT03 .WORD TK.INT,344,TKO.INT,344 ;TT04 .WORD TK.INT,345,TKO.INT,345 ;TT05 .WORD TK.INT,346,TKO.INT,346 ;TT06 .WORD TK.INT,347,TKO.INT,347 ;TT07 .ENDC .CSECT .END øf@f@„eÕZ@„eŒ(@„e&@„e¬%@„e""@„e<@„eò@«÷¾¬:¯”(út!@Qhú@wÀNhÆ%{Psh¯”i† N@Ó…¸~@3{<}@Äzª€@Äzåe@Äz3@Äzü@©zhƒ@zÀg@òyÀ+@¤y@8@øf@f@6dÀ¨@ù4(x@#p…@Q&"ày@"Ýw@"Úw@« ÜE@5÷ñ.x¯”¤y@8@òyÀ+@Äz’@A÷æ,€R xB÷dð•øÿQB&ÄzXN,$$Â"ÿ Ê Âe "ÁÓÁE8ÿb‡0 ',f� ÎEøÿ¶¥DEúÿô>& €�À  ,6Îeû€@aðµ· Î . 0þÿðE“&Äz³Äz¦Äzü« ÜEK,Z °Ý ðµÅeMU  ÷ ^lÄz’ÄzüÄz"g�,~°�ðEÿø Å@!Eøÿûðøÿ7ã&Äz:w‡ ‡&‡’,¢öeÖ Ž‡ f-þÿ µ­Nô4"4@ƒQ,ÆÄ„v�ŒÕ ìÖ »°�ðÕ¦‚C.4@ 4@ƒÄz®s Äz[q"Äzü&겊‚‡ƒæ÷Ä ·'.îDôÕ€æE@éBƒBs¤y@8L,H"Š à  $A ð‹ €ÄU Þ� � Ål†ÄU…� ÷†ÄU/ó./¯”« ÜE@ï@<@@´÷æ, DÄ !‚| !€‡!Ž ‚|¦ÿB $¦ÿ&B�$j~ŒŒž¤ÈÈ̦æk*j~Œ Œ ž¤ÈÈ̾ :æ�Â�‚Q$wr~*%{¼%©zhƒ©zhƒt�€ )R‚œ·œÿÿÅs‘w¤*ÐÀ: Ùf�`ÿÿÄz3]$h÷­â ì^"Øw¯”(ZTTÌ2hX¯”t�€ @Z@€W@pS@m4€p@"ày@#÷Fi†K¯”(~i†DLh|¯”t�€ @i† N@øf@ž÷¾E`Ps¯”(H`àhþ¯”t�€ @i† N@Z€ï[@€À�@k~@%{@Äz¦@Äzü@»z s@¶z@}@µze@z€ @¸y@ðx@ x@x s@‹w@ys@¾Xq¤`@ g€ @øf@çf}@f@f@E` s@µW@@€W@”T}@pS@$N}@ÞK#@8K@ƒ@%I ÷�\$ÄzX¯,H¼ÿþÿÁ(ÿ w æÀ¢ÿð÷�¢ÿþÿ0 Á„&þÿòyÀ+¤y@8 þÿ$ÄzXW,l$ÿCÖ�B�! x  €× ̆à €ðU€ \,�ðU pì` Ô*´ …Äz’^ó.𯔤y@8@òyÀ+@Äz’@É÷æ,€\ ðL÷lß“1ÿð• LŒ,$øÿ$Â:ÿÓÄ CŒý†â"""ÁÓÁE8ÿjÄzXÍ,Hb‡0 ÷�²ÿþÿÁ2ÿw æÀ!t�€ À:øfføf®,p�ÿÿ Á`DÒaKÄe t�þÿ·‡&øfÄz+lÿÿÄz+l$øf,,„ôþÿ ‡œþÿ0 À Õþÿ ’Äz+lÄz+lþÿÄz+l,P„Ü „`D`Ì w ·œæ\‡˜I*Œóyøf¤y@8$˜&!”Àütt.\`2\`ÀD\`€> \`@Q ¼À+\~j.¼€%¼@¼@Q 4t€W 4t@Qψ`.4tÀD|r@\y2 \yÀ+ \y@8˜’"wÅòÂ�‰~.¤y@8©zhƒ « ÜEys©zhƒö$„ÉeëÂ�‚‰ÉeâÉŸ.t�€ ó`€‰©zhƒt�€ 8T[, ßÁeüÿÄBá ‘Ä ýÑÉã ÷åú&<@ Äz3üÿï ïü ÄÍ ËÂ�‚‰Ä­U&Ó…¸~©zhƒt�€ ó`€‰ýó.‚:¯”« ÜE@¼ @¬¯@Ø÷æ,ó•AÄñ !†Ì 1#ÔÄz3¼ o,$Äeöú&� ñ‹fææ�·£“#|X@ù4(x@"ày@‡@«‹w@- Z@%vQ@Ìày@¼ @q« ÜE@Ô÷¾œ,¯”(h\MÌ2hf¯”ô’Àv@t�€ @z€ @8w@&gÀ�@ g€ @øf@f@f@€W@8T@pS@8K@ƒ@8;@À:@9}@<2@ƒ@;2@ƒ@·œ,}@¹@M÷ñ."Øw¯”"ày@m4€p@pS@.÷æ ò 4µ,4ÃB÷• É ÄÜÀœ7œ0¬Æå€&± 0£,X&æ"ˆÖ �ÁÂýR�$˜ÿð÷�x" ÄzXþÿòyÀ+¤y@8w,l˜ÿþÿ0 Á0ÿB�! x Â5× È†ðUþÿ ÄzX¿,�€ ðU píÕ  Ð,´ …#Äz’Z Øó.¸¯”Œóy@¤y@8@òyÀ+@×÷æ,€  ¸Ž÷¸ð•øÿŽ&ÄzX,$ $— À‡ÀåÅÿ 0 w [�`†ÄzX"Œóyq,H‚ ‚ a„ÄEðÿA÷! ÄeaÄ ÿL$ñ,%÷ ¦ææ�.ì2ìÀ+ì@8 6dÀ¨%{¼%* ¤F©zhƒÕó.yq€ ¯”Œóy@&tб@¤y@8@n÷æ,w AwœÅeM% v—¥ öeöe„Œóy3{<}Äz)gW,$wÅå÷ÿÕµ@åÅ@öÕˆ Åe A¿ ¤y@8Äz)g÷ÿˆ¾,Hæ�Œ€Î N ðÅ °Õ A�  pM ,lMpÁðÕ÷ ðŽ ÍÎΜ&Äzc�Äzü#{PŽ"2,�÷ ðÅÅeÁ ðÕ@ D Ó.& %{Tq$©zhƒ ,HËå6ŠöU3Š‚“ Ä•üÿw« ÜE%{ÌÄz3Ä,lBfœÄ Œ Äe!úÖ 6zÀg¬¯–�ÕÂ�÷ Ðwשzhƒ Œ:�¤y@8›ó.N`¯”¼€>@¬º°@¬ǰ@÷æ,@w󕦿 þÿBA‚"Šâ‹Ž¬ %”€pÄz3Š,$—¢!‡—¢ Î æ�Î ‹ù–%^9%{¼% ©zhƒ%{¼% `,H!Ä!Äw çð‹ é�Ò.'’Á’W Å÷•3ý$Ÿ,|‰Efææ"ˆfææ"ˆæ t�€  ,  æ æ"ˆæò榈ˆ0ˆÆå€› òš,ÄÂ�`Ã&…Ä& ™&¦"ˆS”S’S¨Å Ï&m4€pèö–%Î à  ?² ¸  ± à  © Ø |qof""E & (À (:� +½ +:� .º,. IAWFSR44R 4"4 RØw"  (l$B     ÂEÿ´PÁÓÁE0ÿd‡0 ”,�÷�pÿþÿÅÿ !w æÀTÿï÷�Tÿþÿ³&ÄzX þÿòyÀ+¤y@8&þÿa,´0 ÅÿABD�Ä5% x Ä �W ÄzXÍ,Ø¢†ðU€ åÍ‹þ€Á5uÍM‡Õ ,üðU pá Ö(  “…Äz’`ó. ¯”Œ@ @¤y@8@òyÀ+@Ž÷æ,Àèá  @tœÿÿw÷x4"tÄz+lÿÿ"#{P)&tб#{¨ Äzc�ÄzüÄzƒ «´D AeAeM‡‡ó.o"€ ¯”¼€>@Œóy@6dÀ¨@ç÷æ,„Ô Ãw þÿwœ× ‡÷ {µ& Äz�’Œóy3{<}$6dÀ¨‹$$&26626÷ ðµ *Ã¥<*&26 6 266dÀ¨7,@'þÿñ‹8€ÀeÈ5Š  ±Š@Äz©Äz)gú,dfæ÷ (�1€A 0ÁåüÈ@å,ˆöew˜ÅeMU ðØ Â€Á‚Äz"gØ,¬$× * € ¬4²E¬º°\`èq[,l!Ä!Äw ÕÔ �Á‹. € ¬/²E¬ǰ\`èqo,�€ÁEù�¿Ë–%7�Â�ð‹-�ðµî.3{<}©zhƒÄzü$Äz[q&Äzüõ ´° Á•w÷ ÷•l.Äz®sÄz�`\`z[q&"Äzåeó,ÌÅW­þÿðEÿø ðU„ & ÅÃæ43{<}$ÄzN`_,ð¶�„÷  –%÷ wÁ•° ×ó•š. o"€ Iqà¤y@8Äz _"Äz®s8–%õ•w÷ +"àyFó.i†K¯”øf@i† N@t�€ @#÷æ ò Ë,ÀRÀ‹0ˆÀŠ À�7<Å>XˆtÓt�€  >&t<,B0ˆÀŠðææ(÷·" øf(øfX fKi†ü i† Nó.E`Ps¯”« ÜE@¼ @Ìày@g÷æ ò *¿,*ĘŤ% !ý÷HÀÜÁŬAŽ˜ ¤ÜÌày4,,Æ,$ð•þÿÁæþ $7  !7Šª÷””Ã@-ÄzXË,H÷^&ÎEáðÎP�³Îe ·“‚Γà —3ƒ ,l÷�1¡‡0 ÷Å þÿÁâþn&Àvÿð•þÿ-ÄzXþÿ&ÄzXe,�€ß âþG�÷'èþ8�ßÅ þÿ—Œb‡ææ^,´7Œçÿ‡6  ·åŸeâþwŒÓÿŸŠâþ×%,Øã·Šß•âþóÌw æÀÿ¼÷ÅÚòyÀ+¤y@8·,ü þÿ0 ÁâþÃÉ ?�É�x ðµðÅ"þÿ ÄzX Äz¦"Äzü, "‡ß àþ»�w æßÅ þÿÀÂþ0 Á.Äz[M"ÄzüòyÀ+¤y@8-‚ Q¤Œ0öeÍU€öe‰ ÄzN`…!Äzc�€“Ð÷ wÖ ðÅ€÷ œã.#{P ¤y@8Äzc�€Äzü#{¨h æ—¬ýÿwðµw.Äz®sz€ @wÀNÄzª€Äzül,þw&Àe&œöÿŽ ÎN *ɥɥO&¼€>¤y@8Äzke"ÄzN`f,"$± ð5üÿ±£Î÷ TÖ Ç¡Äz�’„,F€ @Û (•  ±Š–ð5üÿ8Šüÿ° üÿ¸,j±Š‚•æ÷ Ö ¬üÿHÑ�œÑ•‘�[,Ž•püÿáw & €ÂECƒàÝ..Äz´_Äz3Äz°^Äz3\`è+ï$(Á÷ Ë÷ Æ÷ ¸–%ðµA.\`Ð> \`Ð>\`èD\`èDÄzª€’DÜwQÄzü ¼€>ëó.sr¯”¼šw@‡@U(¨ @ý÷æ,@w) ó•Â�þÿwœ° !=. %”€pÄz3©zhƒ 3{<}$Äz®s1 $œ€ó•wÁµ÷ .Äzü ÄztrÄz3\`è+Äz[q�,<ÁµwÁµ ÁB �Áå~.U(¨ Äz’¼šw/NÉ‹ 0ˆ (  ¾÷ Á& f0ˆ  š¾%vQô,rÈ‚Âäÿ`ņZÑ B”r— Aû†C”— 'Ȇ�,– ûã•,ø Úè†fW¢AJ& "ˆ‚ "ˆÃõ Ú,ºþÿÅB-7Ãå÷ õÁ–%ÆÁºÜ.€Wþÿt�€ ðx8K@ƒµze¯,Þw ÀŠÅ®W!ƒÅ@ÑÀŒÀŒÀŒ×-xµW@t,–ƒæŽæ0ˆ7`‚÷z7 |Å*ïXq¤`»z s&*D,&Tˆ0ˆ˜ž šN-ÆN Ž —¯#¸" ˜ ž š¸y¤,JæŽ æ0$ÄzX,DàþÑ5 É•0œw  wðU É•û&Äz®sÄz:wŒ@ #{¨À,hpÐw À†þ0 ÷Å þÿæÁâþM"òyÀ+ÄzXþÿ"¤y@8a,Œéá58ÙÑ5�ã× †ðU€ ßwxþ»,°(Bµ  æ,Ôû… Äz’M,ø)Bk…!Äz’\ó.E¯”Œ@ @ù4(x@E0„@ˆ÷æ,Ô,€04012{þvÄz)gÄz/gÈ,²ÄàÄþÿÄà6!—#ƒ°6  òÄzƒ  Äz)g,Ö¶Ö v w Ž‡Ã ólCàm2{[q Äz"g$Äzƒ g,úÃåö  ç—#†Ž É0ÀÎ hÄzø� Äz"g"Äz)g,N pèðµwœW ‡÷ ÿ. Äz)gÄzc�Äzü¤y@8Äz:wsByHVŽÂ@æ@‚.6dÀ¨H V ŽÂ@æ@‚["X,pƒ°°°,Î.Äz/gÄz)gÄz:wÄz:wÄz/gÄz’‡Ò `ø øÿw÷ œ÷ Þt& ¤y@8\`Ð>ÄzüIqàó3"ˆ„…”þ‹!¢ì‡Ö … < ¢,,n Îû‡TÁ®Ä Á�øw Äš‡&&Îx s« ÜEt�€ $šã,’÷ æÿÁXˆ-ÁÂ�ê÷ ç€ðÕ@Ä.%vQ« ÜEys t�€ & xÀ,¶·ÜÄšê÷ ¶ÿÁÎw Á Ð³*t�€  šµW@ %vQ$"ày,Ú ÍðՀĚÁWˆÄ À!šƒ� ]&i† N t�€  xš"š&,þÔKKÅTˆ0ˆ˜ž šœ À••&”˜ž š œ1,"w  0ˆÄœw ¬Q4EÒf€*:*E²Û…ÄzŒTÒ&²„,$nw¤wVwÒÅþÿÄþÿõæ On"æ$ 4,HÅþÿ5 Ä 55ð•þÿýU@•"  ÄzX&Ç~‹¯ˆ,l‡Åþÿ w Åáæ@0 ÷•€þÿ= à.òyÀ+¤y@8ÄzX"þÿ&Ç~‹¯†,�@õ‹5õ‹ wBŸ.XB�6Xõ‹  . 6&›,´2�µ pBŸ µ Äæ” v” w” î— s  æ‘,Øë” T†” a” r”  ” N” LÂe@µ�6•4 $6’,ü^CµŠ5rà0ðeÚ0Î.Äzke ÄzkeÄz:wÄzkeÄz"g’,†0 Ôþÿò‹€ð® ÁðÕ÷ ®*Äz/gÄz:w®"Äzc�$Äzü[ªNÖ ÷ ðÅð•Ê.#{P #{¨Äzc�ÄzüÄz�’,¾º$Ê5@ ðØ Á åÖ ÷ ðÅt"Äz:wØ"#{¨&Äzc� ,âќ¥,ÁeÑÿÿÉE Ü Äzü Äz:wÄz/gŒ,ñ&ÁÇÂe,´0 ±Ö ÷ *Äz:w&Äz:wÄzke Äzke:"*ðÅ6 ìnO „!¯”(„!"h¯”i† N@i†DL@H`à@E` s@TTÌ2@\MÌ2@œ,}@"ày@Å÷¾O X¯”(¦O Xh´ ¦ h¯”t�€ @Á~‹¯@{~€p@ù}ÉK@%{Ps@z€ @¤y�=@¤y@=@¤rà@ g€ @øf@ e @€W@TTÌ2@pS@8K@ƒ@9;@Ìv9}@ù4(x@<2@ƒ@"Ýw@"Úw@„!"@\!¯@m¸@¬¯@¹@´ äf@O (È@O ¬@O €@ã÷^O ¬¯”(NO ¬h´ 9qh:¯”Äz7Ábw ¸ÁVw ¬"àyù4(xœ´,F®ÁJW  ƒÁåw šÁ6Áåw Œ÷"jæ÷÷&÷"À.øf føf- Z- Z¿„ÀeÁÁe Ä�ÁÈ*t�€ pS t�€ pS�3,š™Ä ™Ä ™÷÷·0ˆÁVˆ!&‹wk~$N}øf6,¾šžÁUˆÅŒÄžw “Áw†ý# šŒž Z€ï[�,â;‚);‚)‚Õ …DÂ÷ Ä Ô«‹w ”T}v,øÃ S` `c …É‹w8• õŠõ5W5 TõŠ �‡ $, AB”�—  ÷ ¸uÆ5 õ º‡©"',DÂE€ÿ¡�•\µŠ¸á• úµ .²5Š6õ‹`."6&Ð,h­€— U— C§õï.£õæ.ŸõŠ Aûï.æ.$ ,Œð•þÿÑU@‰�‡= x µŠ • õŠ š&Ç~‹¯ ÄzXÇ~‹¯ & (,°õ5 é5 æõŠ5‹ýà5‹ýwÜþD   ,Ôw Åá÷•€þÿæ@B‚œW­ Ñã*òyÀ+þÿ¤y@89ðeðåÓÂe».#{¨Äzc� ÄzüÄz/gÄz:wÍ DŠŠœðµwðµõ.Äz"g Äz®sÄz?‘Äzü&tбÇ \w‚‚‚œ— p.Äzª€Äzü ¤y@8t�€ èv;t— ò zôÄz°^ Äz°z gEó.$"s¯”6dÀ¨@ eÀv@ eèv@w÷æ,D÷�€w Î À&æÎ�Y&3{<}òyÀ+Ó…¸~$%{¼%�,$hæ�÷�\—!ë†ÀP‹€ € ø:³@©zhƒ@øf@f@¬¯@÷ŽO àƒ¯”(®O àƒh¯”üƒJw@üƒæf@üƒõX@üƒL:@üƒ–,@üƒÊ@üƒ+@üƒ«@üƒ@¤rà@¬L²@´ äf@g÷nO €¯”(@O €hO (Èh´ äfh"(<Ç~‹¯@Á~‹¯@Ay¡s@øf@´ 9q@´ ¦ @*÷ñ.O „!¯”"ày@œ,}@\MÌ2@#÷æÞ.…i† Ni†DL…"ày TTÌ2… E` s: ~aH`à…œ,};Zþšw |W¤,d š…,*f& "ˆ†þ‹·ZÀ˜ A¼ "˜@,NË Ê$���0ˆÁwþüË Àe€¶z@}ã,rCàÃåéìwÞüÄ úCàÃå÷��G,–� ᆠ0ˆW¢,$fC”× 9‚× 0‡áÕÀÉ,º× Aó†& "ˆ’þ‹ €þÅÀæ"ˆ²“Ù,Þ—¥‚�W¢:Ñ‹Õ …Á�÷ñ‹›&« ÜE f"øf&z€ z& ÷Ä•üÿ ÷ AœñŠÿÿ0ˆw�=.f øfÞK# g€ çf}ÿÿ{" 0ˆÁ�ñ¥üÿ ÷w ·<Á~‹¯"´,øÂE€ÿÎÁ剠wê׋ÅüÿðµL å$Äz[q&Äzü:,R÷ ¦õ‹$M¡ L¡ MæONm,#C‚œ�¤ ‘ $,i,@õ‹5-A�%B` �`Á‹€Ã€õ�%f€Åþÿk5 %%+,dA‘�÷ |uµŠW­ õ‹µŠ7 &¹,ˆõ‹õ•ÿÿý•@ÂE€ÿ…õ‹4/—  ‚aÇ~‹¯4¸,¬—  ‡µŠ$÷‹Rÿõ &=‡L,»Ô ›< $&,$,ÐÂU€µŒ ‡7Š.ÿÔ ,Š÷ ð À•w ‡‡3E` s"ù4(x,=©zhƒ3{<} ‹ž,H€ ÁEøÿÁe0J�â‹õ€Â„ÃþÿË‹þ€³”Ê‹2„Ç~‹¯þÿ®)lúâ•ÁŠö€€Á÷ Û ?F€–6dÀ¨Ž3&Ž·Æw ÷¦þ·Š÷. eÀv eÀv2{þv¦žgðKÝ&¬ÁþÿBÊÕ@û÷�Æw .føf Á~‹¯þÿ� eèvžÊÆ=2{[q eÀv­ó.௔ü@üÙf@„eò@|÷æ,! àDÅ÷ w Ï"… üÙf>\MÌ2©ó.O X¯”O €@O ¬@O (È@‰÷æ,Æßàþÿßßàß6ßà9;\!¯6¯,$Á@W à†É Áe ùÁåÈww ÷"×¹ $TTÌ2&"�,H÷^ß fÿ÷å÷å÷j÷ ÷v.^ e O (Èj"m¸�&l‡ÁÁå� Áew÷”À±.ù}ÉK ¤y�=¤y@=¤y@=”,ŠÉ ü ÀÁÂâ‘$‘$ØÁ~‹¯¤rà×,®‘ÑÑ?.€À� « ÜEz€ føfÅ:7Š÷Àðµ9.€À� €À�føf‡\PðÅÁ÷ ÷•e.Äz¦Äzü Äz¦Äzü%{$føÿï0ˆ1ŠAœ±Šÿÿä·Š».føfz€  g€ çf}ÿÿ¸,‚þÿ0ˆ˜š˜š¢ˆ0ˆ$ &%I|Xþÿ ˜ š˜š¢&$Ò¦Tœ€ò’Â,.Tœ€ ò ’Â,,ºÄÚCO REENWAHAKITIDESCUNCLSYAS|@ô÷•ÿÿÿÅüÿ÷ Ôž5Š4>Åþÿ5œ ÄEÜ4 g,÷ÿ5‘5Ä 5&5(õ‹$õ‹77‡¬5&($"7z,<Ä Ã&Á(DaCaAa—¤ —  Ô ì• ™�ƒ  &(N,`¡ 5#†‹ ñ Š¡ õ‹7‹ ùõ&÷ <7$&,„Px Åþÿ÷ D5 $õ45Š7 w˜þÅ$47ÿ,¨A&5Š7ÅþÿA& Áå� pÚDCá& 7&3,ÌÄeÃe ‡÷ îÿK,Ì5Š$5Š5‡CCí0e ,$5&0L,ð× Áà‡œ ÅEøÿÅ ‡AD „eFy&òyÀ+`&$÷�ÞÿæÀÎÿ%0 øúýðe×*øf ¤y@8ÄzXúý„e<,B÷Å@øý�ð ÷ BÂEü— †Á5@*„e< øý„eÕZ„eœ, üE,f Á�ŒÁEÀÀÁUEwøýð•þÿ‡øøøýÄzX"„e""M,Šx Á„e""š$®$…Äz’dó.0¯”L@„eò@„e<@Ý÷æ,! €0DÅ÷ w Bà$‘Q$$‘÷@÷à %{Ps {~€p"@ü ÒBÀ  ü‡ÀÄ•þÿ7¬*B"Úw"Ýw„!"€WþÿX,ê4 4 Äåý7!ö’ÁÁåC.8K@ƒt�€  z€ <2@ƒ 8K@ƒô,ýw $ñ È‹õBЋw w”:&<2@ƒt�€ 8K@ƒ"8K@ƒ,21ä±�ñUÿ€…ÂE€ÿw Å5€× @ &t�€  g€ z€ 9},Vw  ÑÂhw ILLEGAL SLOT NUMBEÔù4(xh´ äfm,zR ENCOUNTERED WHILE ENTERINGCÄÚ*Þ**PsE`0**$E` sió.œ,¯”¹@œ,}@;2@ƒ@�÷æ ò *¿,* ÷‹+f÷5"bw œ,ÐfÕ ],Nfa(ˆ0ˆˆfÎåÔ ò&Äw Ê,rÊÿˆóˆ÷‹ñÿ÷‹ÓTÄÕÃÉ,–âÿÀ`ÃEÿ…„ ‡ˆÅÅeÀÿ Îxÿ ‡ 5,º¡N N Í ÃŠüÍ ÷ ØÂåÂ%0,ÞwÜ÷ Ä„c÷‹q ÷ ¶¡*&æx€,Á—C7!ª†&æ!næœÎmœŽ Žm&D¢ Ö ÝÖ  Û Ô  Ù Ò ×Ð ÕÎ ÓÌ ÑÙãí÷ )˜.Ùãí ÷  )Ùãí÷ )–.Ùãí ÷  )8‰Ú+|ÍoÀ#.8‰Ú + |ÍoÀ  þD „eFy&òyÀ+8&$÷�ÞÿæÀÎÿ0 øzõðeg*øf ¤y@8ÄzXzõ„e<¤,B7 xõð ÷ BÂEü— †÷U@xõw±.„e<xõ „eÕZ„eœ,L$xõò,f|õð•þÿ‡øøx J"|õ ÄzX„e""„e""­,Š? ê®:… Äz’tóF TASKS-FyžATAL ó.O ¬¯”¬¯@f@øf@J÷æ$À÷•ÿÿÀe7 ÷7Š.¬¯ ©zhƒ¬¯føf�,w, DÜD`Êàè RSX-ì©zhƒÔ@11C V005A • N›ó.O àƒ¯”´ äf@¬L²@¤rà@¦÷æ,÷ˆ÷ ×%üÂw ILLEGAL Ž*ˆ üƒÊüƒ´ äf¨,$NUMBER OF UDC-11 MODULES SPECIFIED §G›8K@ƒœ,&Ž`Î –%ð‚Í À‹Ç÷Õ;ÿ&ö�5ÿæTQ,JÑ�ð÷ X7`÷ PÄå7X7R·R÷ H•,n1Î T÷•Á—À�Ü  þÿfæW& føf8K@ƒ €Wþÿ‘,’. ùÁåý1 1 @ ÷[ð °& <2@ƒ8K@ƒt�€ z€ F,¶êWÀøÿ ð Àåý÷ Ï &t�€  €Wøÿt�€ &<2@ƒX(Ú= À—^ œø÷•À—. ô’Àv<2@ƒ&gÀ�f øf±,úð Àeýù 2œÂ×.HÉ8‰Ú+|ÍoÀ.8‰Ú + |ÍoÀ   Å ¼ $Á$± &¿&¸ (½(8‰Ú+|ÍoÀ.8‰Ú + |ÍoÀ  ,¹,èèèèèèèèèf.èèè è èèèèè.Ò.Ùãããããããã›.Ùãã ã ããããã00¬ 4±4I.Xq¤`¯”¼ @‡@m4€p@â.8K@ƒ@ÞK@pS@8T@€W@ç. g€ @&gÀ�@Xq¤`@z€ @»z s@j.Äzü@Äz|@Äz¦@Äz[q@Äz®s@ê.ÄzNy@Äzª€@t�€ @(ÈXqÌ2hƯ”‘÷æ ò *¿,*Â��„ÄEøÿ!&æ0ˆ7 ,7 Î7Š¥Xq¤`,NÌÄ &‚ ÂE€ÿ‚ ‚ ·�\À�YÂÂaa’t�€ :,r# wžwæwtÀ VÁ N÷ „w w,–˜  (  ) J H« JŸ,J ÃÄÅà ÃÄ ÄÅ ÷Œ,nÀ@á÷ À û÷UÀá÷ üƒÊüƒ«üƒÊ�,’À û÷UÀÀà÷ À ûÀÁ1&üƒ«üƒÊüƒ«"üƒJwU,¶ÀEÿ ÂÈw UDC-11 SCAN REGIST È´ äfïÚER ERROR · æ,æÁE€ÿp�À 0 ‚ — ®  œÂEðÿ— & üƒ–,üƒæfüƒ üƒ–,ƒ, Â%&W 1�B 2 � Â4S"üƒõXüƒL:üƒ+&4š,.w K8K@ƒt�€ 8K@ƒ &gÀ�"&gÀ�|,ÄÔ w ä ÂåýŸ *„÷ñâ&€W;2@ƒ8K@ƒ"t�€ š*Bw,ÿœßåü 0 0 ƒ. &gÀ�ô’Àv<2@ƒ8K@ƒ"t�€ §,d7�ô÷•ÄB„cw ”7�ßÀ2ÂPz€  føfÈ,ˆ2w þæ(æ­&æ ©ææ¤Í ‚8K@ƒ„,¬ÄÍ ÃÄP‡÷ èÿÍ À‹wjþÃêÿe,ÐÄâÿaÄ ƒc³c³c³c; Á�nœi.8w8T8;8T&À:ú,ô±�Lª 6¯ 6¸ ˆ] ˆg Ù  ãã  .» ôñ,ôØ â,�"E0„ E0„ E0„"Z,<P=&‚0„‚0„ ‚0„…%Äz’¸ `‹d}ó.€M¯”Œ@ @‚M0„@“M€¢@c÷æ,Ò<€*€MND÷ÿÿôÿ÷gM) E“,ºw r&%:":@f&&¹"t�€ 6,ÞÎEÿð‹Ò•AÒ•Iw8& œïfì g€ "z€ Œ,Q$fÀ& ˜w"w Ú×<8Tm4€p¥,& …‡Àåý Àþÿ7 ’0ˆœÃEZ8K@ƒ€Wþÿ$ g€ g,J€ÿÃU0Ò�Ò• Ò• …w XqEÕ ÷ TnVP · Æ",ƃÃeÂà£Âffˆˆfˆ÷ŠÜ2…„‡cd,ê.ŸwšwÐ÷ tÿÅ—!Å—üÞK¡,À @­ @�!NINSUFFICIENT UDC-11 INTERRUPT ë´ äfÖ,RTABLE SPACE €  ̇W ñ•ÿBüƒüƒõX$üƒL:,v 2 � ô÷7 –w UDC _*üƒ+üƒÊ¬L²– ´ äfÉšNOT PRESENT ÷ì¤rà>ó.O €¯”´ ¦ @´ 9q@øf@~÷æ,Âw ÀþÿÉ@ûÆ7 wÃå.´ 9qÁ~‹¯þÿAy¡s øf$Ay¡sc$$þÿw ³”ùw …Ë‹þ€…wÇ~‹¯þÿ´ ¦ ÇñUÿ€ñw 7 Twšýèÿaß Æ. g€  z€ t�€ 9}&¹ ,‚!ƒÀ—!‚ñ †Àeý ,&;2@ƒ8K@ƒt�€ 8Të,<òÕ …*.Ý€W *".H`œ,Á œ,}™óP…ÄzŒTÒND¬,$ðÿ7èÿ7àÿ÷ Üÿ _ æÀ¸ÿIòyÀ+"¤y@8Ÿ,HE0 ß�´ÿþÿÅLÿ ðµ=Í 8�Á¬ÿ8eÄzXÄz¦Äzü,,l¨ÿÍ‹'€ÄÔ¢>”¢”¢-”¢8”¢9°,�”¢4”¢”¢Ó• Ë•ƒ Ë‹(µ”ËŠãŠfãfU<÷,´Ë•� ÙÍ‹ �wPÿ·NÿÍU@ð•þÿ‡w �"ÄzX±,؇ x Ë‹ õ• ƒ Ë‹ˊ㊼Ë•õŒ@ ð,ü‚ Ý • Ö( Qa"E�$.ÞKz€ z€ t�€ &&gÀ�p,2„!_¡· 0ÿwþ0ˆ_¡ø÷‹Èù4ÞKÞKX,VÒNOÒNEŽ Îe0’Ò 7 Pwêþ÷ ¢þw ¶,z 2 D R %:�AœÂ,ž& Á¥÷•WÍÿ& Bf÷• ¿ÿ<9 g€ pSz€ º,Â�f8�AœÁ¥f.�fœ^.t�€  g€ pSt�€ $ g€ e,æ¦6Š&÷ &þw : :: î§, w@þ�& Nœ�& Nœ �& Nœâ g€ t�€ &t�óSî7ê7�s›Æ1@·þøå0Å@<<<<¿PÖÈ b�+ðÿÏ*¸º @`€8ÚôrÜôfÿpÿtÿ°&‡>Er#4”(d#0`(Ðf¦)Ü28j*€fÀ(<z)<,@÷ Œ f&Ãöÿƒm÷à¤ûÁ’À& Bœ“*fÄ q/PNÁe@÷ &ˆ�Á¬³“©(Š�éÖ ÷€fû–%e)÷ 0],øÿBœ1à*¬€ÃEÀÿPwà·Š®ýœ0Å þ õ ˆ$ÐEøÿùœ1DaôŠùÿÄ�†ýP÷ â€î7�zýwúÿrýÁeäÿw¸ýwT®.“M€¢‚M0„‚M0„‚M0„…Äz’Mó.€f¯”Œ@ @‚f0„@“f€¢@÷æ,Ú@€  €fRN7øÿ7ž…ÄzŒTÚRN–,$ðÿ÷ ìÿ÷•äÿßU@lÿð•þÿ‡_ æ ÄzX"òyÀ+&¤y@8j,HÀ´ÿ0 ß�°ÿþÿðµß lÿ�÷ ®ÿ ÄzXÄz¦Äzü,,l· ¨ÿߟ¦ÿnÿ÷‹œÿ· šÿßU@lÿð•þÿ‡w ˆ"ÄzX±,�‡ lÿ0 x 7Šrÿ÷pÿ÷`ÿhÿÀŒ@ ÄzX‹,U€ Z,.Õ ·ŠæuþÿR• ¦C•æ"ˆæPÎaÎ`„—v,R„`C•Äàa!•üR•å ãÀ À•þÿ+"€Wþÿ&t�€ /,vÁ s÷ œÅ· ’œ 5¡EøÿúJ‡z€ ÄzNyÁ,šÅwv Å ZõµEøÿø5 úI&‡Äz[qÄzü$Äz®s *¾ÁÁeZõµA�A÷ @ýÒ•Sõµ1. Äz[qÄzüÄz®st�€ $Äzª€–,àò•-ÿÿw Bÿ9 ;:B  …DÄzü‘,T%ÕIÌ5ÕOÌ5ÕBÒ�Ò• ÕUÀ,(õµÕDÒ�w V&é÷�¯”( (‰÷ææ,ß@pÿ þÿÆÀøÿ7B7@Àå@747 œøÿÐ,$¦7 ú7 �7 :7 š7 4÷*7 $7 üï.H7 î÷Îf÷&Æ÷n÷ÀTæ:ˆæDÓ Î&nÀ":(DJ,nˆæ–æ:ˆæœæDˆæòæ!ˆwò– :œDòÒ.’w @ ª÷e òÿ)7 w . žæÈæ:ˆæ:¥ªžÈ":(:«.¸ˆ×-ïæº.ˆ�I� Ñ•?Ñ• Ñ• ÁåÎvº(Î,ÞwêæÈæDˆæDˆWÂ�hý€Pð‹íÿlò‹0÷ –"  ÷ B€P0 ðÿ÷àÊúN4œöÿpPøÿpœöÿF0 öÿ÷€¬úfœ0÷ L®,ZÁÿÿ÷ ú�•>· ]ýðµ@ëÿ ðÅ@ëÿ÷€~úÇ"€Áÿÿ÷ Ô,7Š9ý7 DýóŠwòUÿ€0œ÷à\úð‹ëÿ€ðÅ€ëÿ2 0s ²2 P÷€Búæ¦�€w w ¦ü8&ÌÁeýñ Púw”ü·ŠŒüw~ÅÔó(ì@<° $0œ%€w DÁ÷ ä÷€ðù@ w $œ%€Ä•ýÿ·ŠNüwHõ@j$(÷ ðÅ%æJw Ôþÿ·œ¸ùÇ*Fw�õñ‹íÿ ÀåÇ øÿñ‹íÿÂw"j”þÁFÁ@ÁDÁHÆþ|*†ffæ�ÞûX´  äØ .“f€¢‚f0„‚f0„ ‚f0„…Äz’/ó.Ðf¯”Œ@ @Òf0„@ãf€¢@(÷æ,œ8€�ÐfJž¬7øÿ7KJž¬,$ðÿ÷ ìÿð•þÿßUAhÿ‡_ æÀ¼ÿ0 œÄzXòyÀ+¤y@8ˆ,Hß�¸ÿþÿß hÿ�ÿ—jÿ¼ÿ· ¸ÿ· ²ÿð•þÿGÄzX&ÄzX‡,lßUAhÿ‡Šhÿ0 Á–ÿÁå� px ñÄzXÁ(�÷ hÿû€w ‡‡ß hÿYöþ&  ; = HÄz¦Äzüz,LÁÊW ƒ÷ ¾üwôüE5„& $—¨ ·,p‚ „&� ÎEüÿ„&�„Äe Á"ÄzNy Äz|Ä,”& ™—# ƒÎ à æà à ƒeƒeÁ ñæw‚þK,¸„& �ù„&ô×-J ‡÷>„ Äzü‹,ÜÅw‚ûEøÿû7 ,Å„7 Ç Àåý–‡‡}% í÷‹µÀ•øÿçw:ýƒ8K@ƒ€Wøÿ€,÷øÿöÿ÷ Lü· FüÅÕ Í DÅe¼ ,Bøw èý: …· ºÿî�ÅeZ7 67 <ÃPÄZ£ ÈDD"P&ZK,w JÃ^Ähw >ÃlÄvw 2ÃzĄ ^hlv"z&„‰,&w &7 æ7 ð7 æ7 Ô7 è7 î7 &7 ;,J7 ¨ Ä ý…º÷öÿ÷PòÿæXmº P&Xã.n/ˆ÷  · ò—3& æƒ´Ö ÷&Æÿ && 0”÷zÂÿæX/ˆ—%& æ…¡÷÷žÿÕz X(µ,¼÷^šÿæX/ˆ÷ Væ—3 & æƒ^ X,à‡æ—ƒÖ ÷0dÿ÷l`ÿæX/ˆ—% 0l"X•,[wÐW#ìý÷ ,&fèÿX,ª÷‹üæAD& W-øÿN‚�€“fw ô˜ÐÓÖ ·“íûÖ Ý Ø…àºŽ¬¬H´î4 ,ò¬üè ø^* l¬U*,¾ê Ù*P~t.B”NŠ@œn P ÀÿÀ ÀÀÀw z÷À‹&Ú"øß fÿÎ ÿ‹ÐúÿŠÊú·ŠzúÁ�tú@œw*ú1æ &Î   w@ÀÂÐeH à5·Š²¯ú÷ Rú·Š¤úw6=\ù�ðÅððµ¼*hÿ Œ@ Äz¦Äzü"Äz¦¢,°ø÷ ^ÿÜÜ Äzür(Ôý&ãf€¢Òf0„Òf0„Òf0„>ó.àƒ¯”O àƒ@Œ@ @ù4(x@Æ÷æ,!àƒwFÅ?÷ ðµP— §&… f„eFy Äz¦"Äzüs,$S†ð GC”ÃEÿ× B†Ã D”pÁÒ& „eÕZ„eòüƒ$„eòî,H Â5ÅEðÿ� � � ÁEáÿD„ Da!áÊ,f÷‹²ÿfwàû„& —¨ ‚ „&�,Цw¨ýÍ „£wtÿP"®**¤`Xq **»z sùó^& æ„wÞþ÷ ÷-÷-TDk,( ÷-N>÷-H8æÒ÷-èÜ÷-.,L ÷-( ÷-$æ¿÷-ªÊ÷-,pÞø÷-Øò ÷-Òì÷ âæ©÷-Õ,”Œž÷-ÀÌ ÷-ºÆ÷-´Àæ–X,¸÷-Xn÷-Œ´÷-†® ÷-€¨÷ �O,Üæ€æˆ÷ ~æˆ÷  ×-U‘,B& æƒwâý· T÷-ü-÷­óÿ)E,$÷-(4%÷-".!÷-(÷-"· "0H÷é÷j ÷æ^æ ˆÖ Ö5€æ^Ñ^*^¤,pæˆæ^æ_*÷"÷À81˜À:&$ÈÈ‹þ€È €Üþ0ÿÀ6ÿ8ÿì*.W% Ä�4úPøÿW%Ývú Á@¹RÆþffæ�úwÀ d÷à”÷€l÷ \ú&÷€‚÷÷‹Í ~Nú7ŠIú÷ Üì÷Š>ú÷ ~ûç÷‹¡˜ÔùQ&7ŠÌù÷€V÷ Àxw ± °æ À�´ùPü îÿ< îÿæ`Ê2÷æä÷à(÷w v& æÔ$Þ&�ô úÿ÷ â€PúÿÁåwüÆõwÀõwÂõÑ œìÿ÷œÉà" ÷7ðÿ÷÷˜"üö÷êøöÀeäÿ·�‘, >ùÀº7€ùw.ù“7Š+ùÆ(D $ù…•€�‚ƒ„Äea %%„F…§&f Â�^ù 7ŠXù¦`,l)‚Â5A$D@A Å Á Ä ûs@$„e<&üƒæf],�3QóòðeÃÄò3Å „ üDL—&üƒæf üƒæf„e<üƒæfä,´$8ïÁÁxx 1ø�"$„e<„e""$„e¬%6,Ø R b$W ù‡÷ÿÿ2÷Uþóâ1 [*„e< üƒ+îƒh: þó&üƒ+”,ü� AœÁEÿCœÄÄŠDP8Á ÃEðÿø·&üƒL:üƒ–,„eò&„e¬%†, × ‡RòÈRÅð ¾C”ÃEö&üƒæf„eò„e< „eÕZY,a.4dµz¯”; ¨9@= à@|@@–.½à@t!@t!À@¬!@µ"€W@>.¯-`@49€%@79@79@@<9@l.<9@@>9ð@>9€¢@J9@uL`;@°.¬ppß@|~ÈK@*’@(¢µzR}h Þµzd}h¯” ÷æ,§² q)²å~ѱ–é°¼Rn°�& *’|~ÈK¬ppß"uL`;À,$€¢n°�[n°HXn°&Xn° N{.J9>9€¢>9€¢>9ð&<9œ,Hn°ÈKn°Kn°à.n°ˆ,bˆ÷ èæPæˆ÷ ˜ ^P v.”æ&ˆæzæ&ˆ÷ Œæ0ˆælæ0U&z&0$l(0›,ºˆ7 ×-^ gw ü 7 üæB!ˆ·‚÷e@‰.Þ|æØæ!ˆ7бÀj7h7hÆ^÷,dÙØ&,™,æ w p:a,(�:'a9€E €EL,Lx,pT” # ô ª;,ªEDIT-11 V004A LSP OFcæèæÀ•w @w]† h*ˆ ÀHùþÿwœföð‹*°Š*ðŠ+ ð•(¬ +f æ&œ'Á÷ &øÿá‡ßÎ æ,ö÷à&öp bpœJ â bBœ� @œ2�°�0Š¢*ü b·üõ… w Äÿ÷ ˜‡¦¶öâõ÷•° àÚõw(æÒõ÷àÌõƒœÕ4 br�bq�q�Üœs�X L r�ñ�±�Ñòÿf" œ[f ìÿJœÉ�âbøð�7öêÿ0 ü*~ æÿ"ôÿÂå °úÿÁ ·Ô÷‡Àeà‹þ#*¢ €à € œbƒ�¬0‚œƒ ù…Õ …æâÆ 6õ÷à0õð‹1ðEÿð0œÜ 1±ŠwPpœ¹äÿ°B*î øÿÁ÷ dÿdDÿ× »†ÑœÃ Òñw ÷�¦þÅþóÍ5³.üƒüƒ–,üƒæfòyÀ+ øfí,hÀÀPw  SÍ5 A¦�ÁU€AÁE_ PŒ@ …,Œ€ × ë†Á¬ƒ øà EÅEÿBµ�Ð üƒõXüƒL:&üƒ–,|,°ÂEðÿÅ — ‡³ BòDµ€A@°üƒ+üƒæf üƒæf+,Ô„PA Á5`Á5@@ @3QA Á €÷EDüƒ+ ,øþó· $À• w  7 · þóõ ò÷E@þóãƒ}ù4(xþóö,þówÿÿþÿüÿøÿðÿàÿÀÿ€ÿÿþüøðàÀÐþó¤yen°ª& <9@<979"79@á,lÀ+n°è!n°ð$°^Þ¯p!Ÿ.79J949€%¯-`&µ"€WI,�ׯ}Ö¯xÖ¯‹¯Ìi¯$& ¬!t!Àt!"½àÙ,´È};¯Ì;¯1ñ�} €À f|@= à; ¨9Y,ØÑd‰`Yz€ À zà ¢w´žwµ,ü²–w¸‹w±;w¿w€ $, ³s€0©sêr är@ [q²,D`"èY OX ®S!ŠA[,hP˜@@¬:fF?Ž Î ô ÒÒ * Í Ü Ü(ä ,¸,pv|¶ú � lv h h û.pv| ¶ ú � lv h h �@º  Ô : R – . †¬x —.º  Ô  :  R – . †¬x =TR   , D:¨†à".R     , D:¨†àÜ,hWHPMXROF0BEMRIFVUHGTNSPCDWLAKXJ012342'Œ56789/+@-  ¬8¬/ Û ä R‘Rg ·Šp÷Õ ·úô…üw Üù±Pq 1 1 0P€œ÷ÿr�öÿr�ˆ* ÷ÿèp�r�÷ÿãÁ�0÷@œ1Bí*B P¦œìÿ  ðŠww zþ‚“w Îþ‚“²Šw±�11‘*f 0ƒ•BPòœ¹äÿÅ Å`µŠÿÿ‡ ÃðÿÀ A •*Š †€`A ƒ ù‡Â�ØöÃÁ C B Á5®*® @.P €.P Àeý÷Õ …W¥s*Ò W¥Aw ´ÿPDW-üÿ‡EÁF ö AwVüwNüò‹0—¬0üÿ · w$ ´ö 2Š0·ŠRö&€œ1°Šw€‡ò•üÿº*. 07Š’ö‡Ö €�‚ƒ„…&æ¦f&M&-*R æ¦f&& ÷ ö·öÆæþõ÷•ÿÿùõMˆ*v �ò‹0 2‘0Å €œ1@a°Šÿÿ÷ ¦þh@8N,@€ Þ dn…Äz’hó.ßf˜:¯”„eò@„e<@„e""@E÷æ,B”ÂE€ÿW¤‡ƒÄà Ä ü1!pË$ppppø™.„e¬%„eÕZ „eò„e<„e""Z:0‡Î& ÷Š.„e""„eò „eŒ(øff,Pw &æv&œùx ðeu.øfòyÀ+%{¼%vÄz:w$„eòâ(tðµs:€ 42}\!],Œˆ`ËÀ %@  ¬Ø 0,°!º¤¶¢² ®¨£,Ô¡;¯…@ó„@P_,ø@ €@µ@‘�@t@o,Àvƒ@o‡@e@ü 0!û P ,@!ë @!É Àv†@É ‚@¬ @� ,d@Y @ ‡@û †@J € ò"ˆD À ä` ã@ fój‰ f},fÀèÿ…Àäÿ…7âÿ·Šàÿ…÷ œýn,Š æ&ˆæzæ&ˆ…& æÏÖ w¾ ‹&z&ì,®Á À¨ÿ� À¤ÿ …Á ó÷ èþ @à ö,Ò†7 „ÿ ‚À~ÿ…@` ƒÀ-tÿ‚Ànÿ…Ám¾þB,öæ÷ ¶þ ¨ ¢ ú7 Lÿ‚ÀFÿ ¤e, ¬ÿÿ À-4ÿö‚À.ÿ Á â€e…÷ òü,>æ0ˆæ0ˆ÷ Öüæ&ˆæ&ˆ÷ ÿ¤00& &Õ,b÷ ÿÀîþÁÿÿw ¸· T7Š þw –÷‹¾,†þ÷w Œ7 >æˆæˆw `æˆ÷ Ã"H,ªÀþækAœ1Kš ñŠw·ŠÌõw¾ûæTó÷àã® Nów ¼õñ�öw�ö÷å Æ ¨õü·0ó‡Å–õtúÿå åêñåAà àñåÞñ‡æó÷à óÁ�$ô ËõwœÃõ ÁlõÁeýw dõwH \õÕ ·äò…x* @wó•òÿÂ�>õþÿwœÆòœ% €Á—@ ° $ ó• óÿ1Á5@° ÆX $Áwò÷ N÷€*l �òðÅ€ & Åæ$Ë5Î ƒæ¶�~&� „÷ | –%÷ ˜÷ Zþw0–%õ•G° óÿw²–%ðµ%÷ <þw¹ Æ œúw"÷ ¦Ë÷ ¼÷ ¶Ã÷ ÷à ”œ%´ë*è f& & ACB’$2Š„… Ä  AÁeå*  ! ! ! l ° ÁEÿ�ÂEü�P‡ä&„eò „e&„eŒ(„eŒ(Wó.¬:¯”« ÜE@"Úw@"Ýw@Ç÷æ,÷ ¦¶ö�w …Õ Î ÅÝ&©zhƒ©zhƒòyÀ+&Ó…¸~c,$÷•w�Í•ÅåüÿB“w ’"PW­w&Äzåe3{<}3{<}Äz3üÿ«,H Í¥ð­þÿõ•PHW©ƒð•ý« ÜEÿ,lÿÿ¦�¢(ÅåÀw ‚•D�„Œ† ˆ"àyù4(xI,�Î Ä�üÿ ÆewЊ‚ŠÀ•w " üÿzm.4dªÆ¯”µzR}@µzd}@(~# .; ¨9h= àhÎ|@h½àhÊt!hä.t!Àhü¬!hÚµ"€Wh¯-`hÒ49€%hö^.79hê79@hì<9hî<9@hð>9ðhø—.>9€¢hèJ9hòuL`;hà¬ppßh|~ÈKhÖÊ*’h€(Lˆ÷ææ,悈÷‹æH¦ˆæ^¦ˆ7 ¦ºH^ò,$ˆæø�ˆæ¶fˆÀN&ÐS fˆ^‰Œø¶N‰,H÷µ'æüwXæ@.ˆ� Q¤É• á•?é @ˆ,làHæNnˆæDˆæDˆæ:ˆæ:ˆw DD:":P0Î0ø& æÏÖ wŠ ÷ Šþö÷ ‚þæˆæ$*k,öˆ· rþw …÷ dþ1÷ \þæPæˆ!ðP"E,÷2ühü÷.üdü÷³ `ü÷&ü\üæˆæ ˆÖ ¬ˆ" .>Ö5€æˆæˆæˆæPæˆæPæ^¡" ˆˆP$P(^Ö,d戅· Dý w 7 :ý� æDˆww ÉD_,ˆlæDˆÄý÷-ýý†…÷ ýw 7 ý© D 0¬f7 ýÃ$Å 7!ðü‚•� w#X øÓ• � æ   o! ! À`Ã0ƒ .ƒ ÷ H1­*0à ÷ ,ý Ѥ÷ 1�Ó¥,Á ÷Ë¥,çS*TË¥<Ë¥ ¶ Ë¥.ÞË¥[åà ÷ ìH%*xË¥*MŽŠ„¾D`Ì%Ö Ê *œŒ%Œœÿÿ %2“ÿÿÖ w°ùƒ & ÁÎ’÷ *À ö’÷ –ýË¥:æŽ � öË¥.óË¥u*ä$ðDà UÁ •üÄ ª ¨Á F`ÎÕ£¿*æ÷ TýË¥: ƒ÷ X ÷ R1„ƒ÷ *,4ýKŠƒ÷ : Ó‹‡cŠ÷ 2�ÿÿwöþ …*PÓ¥*@ ‡ã¨÷ û& Î’Îå0À À À €eôÂ*t&fË¥*À”Ä à ÷ Ô Å”Åå@·*˜Å”Åå@aÄ À À À À À @aé…„Àg"i† N&ù4(x~(´Æeww÷ ðÅÆåêÀ¬. ¤y@8#p…6dÀ¨Äzª€ÄzüÓ*Ôæ÷È Àe ù‡Õ ˆ ·ð."Úwøf føf"Ýw( ö…uøf…óq¦ˆÎ�^‰7 r7ŠA÷•!7 °²  N†,�7 ê7 è7ŠYÁ8\‰2 7‘jwhw`. 8£,´Ã ÷´À÷°¼Á@\‰õà & æ…q @•,ØwjwN·Š÷VÁ \‰Ä7‘Và �  µ,ü7Š:7Š^+à & æ†w0÷$Á × & §, \‰ôà òwÔþÁ(\‰Ä7‘à áÁ0p(&0U,D\‰Ä7‘à & æ„wè÷F÷‹Ô,h÷�?:÷•6÷‹{ æ"ˆ÷òæ~ß" &~®,Œæ"ˆ7 äÁ fˆ÷(Èæp·€fˆl" r$* I,ÔæDˆæDˆèæ æDˆæDˆ……w D D DD,,ø²ý÷ ¶ü7®üÄ 7¢ü…7 üÀ 7–ü… , wŠü÷-ŒüŒü ƒÃ‚üƒ Ä&ýä˜÷ züü‚…Ãrü%,@ ÄlüÔ”÷ ýü‡7ŠOü…÷‹Wüwžw šÁ À,d ÷ LüÀHü×­(üôÁ &w &ý÷ Ø ´,ˆ *ü#€1£/ôD „ 7¶ü…#Ô ´#,¬ w Bý!Âí¤üÄ¢üà÷ òûB ‡�#@à�,Ð D ‡#K` À-‚ü‚#Àzüãtü÷íÈûnü,ô #ãdüw ÿ÷m®ûZü÷íªûTü÷ ¦ûÀm¦û7Jüd0 …÷ ú7÷&ˆ·Š}û÷ öù.÷s‡E*¼fC Ó À ËÓeËBôÓ  Ãe& ¡*à ÄÅL•Ì¥ üÌ¥ ùÌ¥öÌ‹ôÌ¥ �*Ì¥ L„ ìƒ wì ÷ H„ ûË¥*m÷ ˜*(&j  ÷ .„ ûË¥,  [‚ Ä òW¼*L–%wøË¥*÷ ôîË¥]K IÄ Gƒ H™*pÎ CŽ ƒ ÈB&   „ ÷ ÚÎ ù‚ øØ*”Ž öÖ Ë¥:0< Ë¥,²U%à ÷ °ä"Ë¥Ò*¸* ÷ ŽÕ Ë¥.¤Õ Ë¥[¬Õ Ë¥/'ú*ÜÕ Ë¥<ÆÕ Ë¥ ƒ Ë¥ Ë¥ þ¦ê*ÁaÁe†AbE¤÷É‹üAÅ%Å™!í ë‰*$å ƒ ë÷ 4å÷ .ýË¥:â÷ "ýË¥.úž*HË¥$÷óÄ Ö Ñt&vL·I¯”( '(î¢÷ææ&÷ Œ!#÷(à!æŠ!ˆ÷ Þ!÷Ö!� (Š!Ô ¡Kì Ë&æð!æŠ!ˆ7 À!·Š"÷ À!÷¸!ð! Š!8Û 8¡KÎ <­,<÷¬!æð!æŠ!ˆ ‰ÈæÌ!×-Ä! † C ð!Š!,`×-Ò!‡ÎÊ!Îå‘ÑѨ!÷‹Ý!ñíà!Š,„þÿñåþÿÑŽ!÷‹Ç!÷‹Â!ñmØ!þÿÑü"ѱ,¨# Â\!‘‘÷‹£!÷‹ž! ÷‹ž!wüÿ !ÿ,Ìwþÿœ!ñ”!üÿñ�!þÿ7Šx!BÑÃ$!÷ f,ð!'†,üÿu(p�,°7 ¸wræB!ˆÎeȆ·V7ŠY7ŠVÀ:ô,ÔÁ8 ÈEÀåù ! ! ! ! w&w$Ä,øwî÷¯,7 *‰wìá wTw€7 `÷-,d&³7 \°7 @÷-D ¸7 <µf/ˆƒ6,@Ã5& æƒwö Bò Ä ‡E-,dõ uÍ ÍõÅÄ �œù,ˆÂeÁ æ�â—"â—$Ó¦æ"ˆŽ€ ,¬Ì—"PA—"TAÆÒ æ ÀÄ­á÷7‘×,ÐÛô—"37¶·Šé îÁ ^‰Á"^‰ÁFÉ L ""Fî.ôfˆæŒfˆfˆÁ2^‰ÁZ^‰Á^‰ÁøN Œ2Z"v&v÷nç& &(*,@ ·Šbû÷ &üw^fÁÿÿw ÖÁw º�÷•,d 2ûÂw <ûw 6û7 @û÷Ràû…7Š û& { R_,ˆ æÇ& æÏÖ wÎÿ•ÿÿ¼û„̢  Â,¬ ƒ „ ûÌ‹#Ë‹€ î×­Öú Ý÷  ûà÷ ì,Ð œûwÔfÁ· îüw 47 æü�÷5@x Ôæ,ô ÷-fûbûÐÂ7ŠžúÀÁ ÊÃ × Rüƒ7ŠŽú} RK, …÷ Nû·÷ Jûw‚f÷‹vú7 .û÷È $¬,< Àû7ûÁÿÿw âÿ¥ \úw Œw û7þú,` ÷ Bú×-D&w 6w >÷5@ì÷-ÚúÅ w÷ ΄ ‡& ƒ Ë¥0 ‚œ*lË¥Z‡Ë¥9†Ë¥A‚Ž Ž Î Ö ‡ì!�ÿÿÿÿÿ ÿº*¬EáECDæÎe>× `‚Ã5ñ•ðÿà M*ÐÇ`$\nYw@ÃÞ  ƒ þÿ ÀåE*ô  ƒÀåßÿñÀåÀýÿÀe€ èÉÕ•*ä‹ ã¦f €ÀÓ ‚ €àÀEà € à:*< `—#'ð‚� � � à éW£'‚Í‹ W£ÉUý*`W£‚Íe ÍeÍe Íe T“�[�éŽÈ*„ææ�àï'ƒ Þ  ‚W#™‚‡ ‚*¨Îeò‰Š‰Šä‹1Â’$ 'èd €Š�âý† *Ì��dÀ0Ê ø.�@c÷ã Þ  ä‚W3ààÍ ¢*ðÎeõå xó5 ÑÊeÈeĉ÷åÐ, ø êÃe ç"‰÷‹ò wr7lüÿð Ñì BV,8ÑÈÖ&Îe,üÿ "‰÷‹Ä é7lüÿÆ ¾,\Ñ ÈeÈe "‰÷‹¨ Û7® w¬ ÷À 6!¥,€÷-Ž Š n‰wâ÷ ” æ&!¦ˆˆæ0!¦‡&!$0!.¤ˆˆ÷ ˜‰À:!÷‹� &ˆÈ &ˆÀŠ!N:!(Š!«,Ê÷‹{ &ˆæð!&ˆÈ &ˆ÷‹m æ”!Õð!&”!ï,îˆ÷  æ”!ˆ7Š 7Š* 7Š: 7ŠG 7Š3 7 ª ”!-,˜!7Š, 7Šý7Š 7Šó7Š 7Š 7Š 7Š 7ŠÉ,6 7Š 7Š 7Š 7Š 7Šf 7Šc 7Šü7Šù7йy(øõ(^‰w2@FŒ^@2š N@Z¨µz@Î. @ FŒ@2š@Z¨"@¥,: p4d@"~4d PAL11R V005A v p @ "~^ # / j|,j7а 7‹Ç À�l À¥üÿÀ¥ûÿ ‰f‰‰÷‹® ',Ž÷‹¤ ·ŠI w$7 Ž 7 Œ Õ÷d < .÷‡,²² ¬ ÿÕ < 7& æ€w~Á-D‰� Ä û-$F,ÖÂ6 Ã< X‰ ÷ 7 P 7 F ‰÷å$ à Á,úÃíì ƒ ƒ ƒ ƒ Ã%þÙ÷‹ ÏÁP à  Þ {,ƒÁ5� Ð Àº 7È à 7À 7‚ ÷�ß /,BÁè Âz&¸,„ ÖúÎ ØŽ¥…÷n÷ Ôúà w > w S ¾,¨ 8…& æÑÖ w°÷D÷ ªúÖ ñ×-W ¸,Ì Tø g×-Lø€fw Á ì…w ÷ÎÄ´,ð ( w êÄ ûw l÷¶…÷% gø÷ ¤ùÆ. w ®· šù…÷ øG÷0Ø÷ <ú¼÷Ê=0&Y,: w Êÿw ´üÄlùÄ-dù†…•w Ž÷5@b37!e,^ Nùöƒÿ• P· Ræºæ�ˆæŠˆ÷5@:ä º,‚ ÷À.7 0×-r0æ0ˆæ0ˆælìÀ00 0&l€,¦ æ0ˆæ0ˆ…& æÏÖ w¨ÎöÎEÿ{% •ÀE€ÿÀå0Þ Í Í Í @cÍ Í `a*à ñV% wDõÀ˜Í @Œý†�ŠÀÕÀ ÷†Ö 8ñº :w ù÷•€ºì�Ñ ÁïÃ�ïé*TPsúÿÁåòÿCÅþÿBÑ „!ˆ ‡!_ˆ‚Ä CxÄeàöL¦ææ�àîç Žó•òÿ÷ ,ó•óÿÂ�ÊîwÂ÷ ĨÌ÷ Røðµ@%w ó•¼$¾òÿæâ@þÿ·œ,ìð‹%€ð­�îïÜ$‡Kw|ôÖ üÖ wL s*òñÿÿÅ•s‘òÿ@w6 D$ŠÅ¥D$Šä*wJôÅ•îDôÕ€æE@éBƒB4*:"Š à  $A ð‹ €ÄU Þ� � Ä^†ÄU…� ÷†ÄU.*l DÄ !‚|Œ!€‡!|,Zö7Šî7Š& 7Š$ 7ŠÞ7ŠØ7ŠÕ7ŠÞ7ŠÛ7Š ,~Õ÷ú÷ö÷êl÷æh7ŠÂ7Š¿7Š`,¢¼7й7ж7Š­7 `7Š£7Š ÷¨7 ¢ü,Æ7 œ÷Œ”7 ¤7 ”7 ’7 "7Šp7Šp7Šô,êm7Šj7ŠÈæ&!ˆ÷¶æ¸!æ&!ˆæ0!º&!¸! &!&0!·.ˆ÷®æÆ!æ0!ˆææ!ˆÀx‰À�GÆ!0!"x(�º,4‰w æB!ˆ·p÷nRÿfæœ!/ˆ÷  "œ!,X6·ŠRÎ%X‰– #‡÷F0æ¢!/ˆ÷‹Ä£  ¢! ,|·Š•Î%X‰– ‡÷$æ®!/ˆ÷ ü ®!,}æ ê ó�Ï À•Ãd ÄH‰w^¡,f7‹Ï ÷‹³ Áò ‚  € ƒÁ5� r 7,Š÷Ô 0 ÿÅ b 7Ї Á¯Â”Ó÷•ÿÿt 7Š4 Ž,®‰f‰À�, À¥üÿ À¥ûÿ‰÷‹r ·Š wî¬,Òwî÷‹\ ·Š ÷¥ýÿü åwÔÿÕø ‰ûð,ö÷Õ@6 ‰ØÁä ÷µ( ·ŠÓ ñÕÿ÷¥Ê,ýÿÄ ÉÃ6w˜ÉÕ@‰f‰‰÷‹þ ·Š£ ”  6�,> Á-D‰÷ä  ÷à  ÷ŠÈ wjÅÀ  Q-"À³,bÄ÷ š J‰H‰÷¨ wJƒ  ‡@,†2 úÿ r,üÿ “€Â�2 Âå9,ªç·: À‡ÁFÃŒb‰Àæ~0 0q.Ê Îæ‚wôw÷ Úøw ä7 ÐøææDú (D€,ð ˆæDˆ…ĬT "÷Rù ø÷íRùšø×-–øHZD¬Ú, ‚w Ì@ùÔ Ã4ùà Ãí4ù`Ì” 7~ø(,8 w àûÄå(7ù…Ôù ¤÷mhø ùÀ- ù ‡×-d,\ <ø·üø÷mNøôø€w ¨û…ÄÞøÃÜøáM,€ ZÄíØø!RƒÄÐøÃÆø#™!ý‚÷67øÃ´ø¹,¤ Д÷ °øü‡Ã"Ô”÷  øü‡÷-ê÷žø‡Ä 7–ø,È ÷-’øˆø+†…w ûÃÒ÷ÃíÒ÷…÷rønøÄ‹,ì jøÄíløÃ Ä †Ã²÷ƒ ÄVøä˜÷ ª÷ü‚7JøÄåê,@7@ø7!Dø‡…& æÃ & æÐ& æÈV,4& Ž ‚|®#�Öêøø 448¦æk¦æ�ÀíÂ�ºí‚PQ$w`ër+¾ðÿ‚œìÿ·œÉTëÅs‘òÿwp"ÔŽó÷­’íëíâwòíÅòÂ�~í‰á"ðPÉeÞÿëÂ�pí‚P‰îÿÉeâÉY* ÊíßÁeîÿÄBá ‘Ä ýÑœíÉšíã ÷åÇ08íÍ ËÂ�0í‚P‰ÞÿÄ­h*Hó•òÿAÄ~íñ !†Ì 1# *lÄeöú&� ñ‹fææ�Þì·£l*�5íËå6ŠöU3Šòÿ‚“ Ä•üÿw¢*´ÀöBfœÄ Œ Äe!úÖ ØÕÂ�Žì÷ âÐw|ò¯*è@wNó•òÿ¦æ þÿBA‚"Šâ‹Žm* —¢!‡€ ·Š³Î%X‰– ‡Z‰÷‹ü7Šö·Šó÷‹ïÑ,Ä7Šé·Šˆ? ä÷àÐæ¨!/ˆ÷ h – ‡Ò ¨! ,èT‰÷‹hwN 8‰÷ –Àð!È Áâ!PHRð!"â!›, wÆ æ@!ˆæÐŽåÎe·w¼ ·Š!b‰7й,0ÀØ7Ø7 Ò†ðE ðUHð•0 Ç,T0 Àe í÷-¨¨w¨ ÷•º÷À¤!,x7 ¢÷‹Û÷Þ–÷e�÷‹š÷íÌ‚÷åi,œ|÷m¾t÷enÀZ7dÀe 7 NÅ,ÀD†œœÁ¥ôÁ¥Á¥íµ $,äÃ8ð0lá0ݵ 0 ó,0 æƒ ƒC ÷`�®fˆÀ ØFŒ ®í,Îú÷. F‰Àx Áv   ÄH‰À¯Á”d,òÂH‰Â à Á ÄÌ@X‰ʵ ds,Z‰Âå÷Åì ÷•í Ãì ÄC!$@úÿ4,:AüÿÂ(CH‰×­´ )N‰F‰ÂÄ Ã Á¦ &§,^ ÄÌ•`X‰Z‰ÂåúÅå·Š› ÖÂÒ Á,‚À¯Á”÷‹” Àl Áj ÂÕ ÃH ÂE—H‰$,¦N‰÷V F‰N‰÷L F‰  À• ÄH‰Ò,ÊN‰‡&‰…@úÿAüÿCþÿÄÂBÓÂE—H‰,î×­ )N‰F‰`‰ ‰÷8 ä Ä" ´ ÷‹ä ],÷‹% ÷¥ÿÿ ·Š¿‚æÆÖ w&÷ \&à ø÷ ø†×¤ l,XúÃíú÷× HÃð÷ľԔע üÔ• ·Š(G ¾,|·Š%w"…& æÆ& æÄ& æÅÖ ë, wÆ÷ zõ:÷&ú ÷ ²÷3÷ ®÷wö &²,Äæü÷âÂŽ÷· ÎöÀ€÷Àå‚€ †w ¾÷5@Í Ö,è€$× ÷à õÒ�· b÷ ‡×  +×  , é· D÷æ‡#w B& æÐw 6& æÏÖ Ì,0w6w $÷ ”ø & æÉæ:ˆæ–æ: :"–&:l0Tˆ·ŠFö…Àüö7þö7 :ö…÷-^X÷ V æÈ’ *Èë,|æ:ˆæ:ˆ÷Î*÷ :ß"· ƒ—¢ Î æ�JìÎ ‹ù–%^*0!Ä!r#Ä&w Lçð‹ é�Ö*T!Ä!d#Äw (ÕÔ �Á‹C*x€ÁEù�¿Ë–%7�réÂ�Üëð‹%-�ðµ@%Iœ° $Á•wª÷ ÷•€*´HéÅW­þÿðEÿø ðU„ & ÅÃæ*ض�„÷ 2 –%÷ õwtñÁ•° $×ó•Òüóÿ–%õ•óÿwZ÷ Æ"dÁ÷ ^Ë÷ tÆ÷ n¸–%ðµˆ,%Üwºu*4@w) ó•òÿÂ�$ëþÿwœ¬è° $!6Xœ%€ó• óÿwÁµ@÷ h*pÐÁµw^Áµ ÁÔB �Áå ”ø øÿwÆð÷ Ôœ%÷ Vô„À-ò‚÷P÷‹Ñ,,ðê÷`ä÷àÞðÚ7Ø·÷‹Þ È,P÷‹÷mÂ÷íº÷‹Õ7ŠÏ÷í¬Ä÷mE,t¾÷‹°7Šªæ°Îí”·Ž÷‹ÉÎmÌu,˜Îe·‚wÔþ÷-Žt†·Š ÷‹z÷æ:,¼÷‹„÷‹ ÀÄž#(‰7ÈÄš#ƒž#&š#/,à.‰J‰70Äž#4‰L‰7mª÷‹GĤ#.‰ßž#$¤#/,J‰7Ĩ#4‰L‰7m’÷îúÀ~Áj#á¨#&j#_,(‰Àô÷‹)Àí,ÀåÁ}#‰Àð÷‹ }#6.LÀÌ7Àm Á‘#‰w<‰÷‹æUb‰÷°#<g‘#&°#,…÷¾ ÷º � 7Š ÷•¢,6@ ÷‹ç ·Š�‰ÆÒ·Ð÷‹Ï Ä ?!%,Z  ƒÄ5„ ?’ Ĉ ÃÄ Â$‰Å¬Í­Ä $¬",~¼Í­ÊÁ2æ¶ fˆ^‰Í­´÷ú2¶ Á.¢` F‰N‰Äæ®æF�ˆÄ ø^‰÷•Hy ®F(s0È·öÊ ¦ˆÍ­Ó 7Š_ ÁZwÜÍ­z èWZ*¨ƒ,ðb‰7Šn"‰¦ˆî^‰�Šw£§ æˆ÷ö,÷ ô ÷  ÷p÷îèæP¦ˆ¦ˆ  pP¶,8wP æ¶ æˆæˆwø  END? ¶ Ö,\†…·Šþõ@: :Îe, …÷ Æ æhæˆæøÿˆ÷n¨ߤ· :hnÁ,Ä …æÚæ:ˆæ:ˆ…‚÷-ØÒŠ Ú::U,è ÷ ÊׯÆ ׯ¾ æºæˆæøÿé º, ˆ÷À¤7 ¦ÿ�œ· ˜· š…· Žö÷ï À,08ô7 2ôwhü÷¾j7 h¦÷ bõ"· ZׯV  ¾,T ׯN ÷ŸFH7 Põ· <÷¯8:ׯÐ,x0 $ׯ( ÒŸ · ,õí7 87$õw Îþw,œ÷‹þô×  R×­ºõ I÷ øôÅàôwj& y,ÀæÊ& æÎ& æÃI7 Þô7ŠÄý‡Þ1*¬ó•òÿ@w„¦EAÂ�¨êþÿ þ¥*ÐÊÃ!ÄÄ%d#Äw ¦=·*ô!ÄÄ%r#Ä&w ˆ.æf�Í*ƒÓõ%ÃÅüÿ– †Ž Îeà �Îeͨ&<Ö ÅÃ&êcÃåðÿ7�®çœ%€Á• ° c \$ó• óÿwþ–%æ¦�Á5Dv@° $Á• wÎ÷ *ðÕðŽ€%÷•€fç÷ dóÅÃ$*¢ðÿpÀeÅeH Aa(p”ŠÀåE*ÆÃ¥÷ ´Íåà z�& ÷ j9=„•Ã5'*ê ÄE€ÿôÄ¥Ã5îfüÿåΠ }*¡ä‡ Ö ñÕÿÿR—#‡‰#Î =‘Ú*2� %a¥ U%Ö ÷ 6ˆ,ræ°#æD!ˆ‰ðµ@ÿÿAÉ¥ w É¥R°# D!£,–:‰ñ¥<‰ðµ@ÿÿ/·Š¦BÈåÂ¥K:,º÷‹�Â¥8÷‹”w’掖 †· †;,Þ÷‹€w „w"| ÷‹Xæ�3ÖÝA,Â¥‰÷‹@‰‡÷‹t‰°÷%pˆ,&À„$Ñ ÷ `¤÷%X÷Pj7 L7ŠÝ,J@‰©ÈåðDÁe�— N‰Â zn® &nU,nxÔP2†7ŠÝ.‰„÷†�,‰á·",°xÔP 2 †;,’·,& ÷-jj÷‹·Šé7Š>‰,¶÷‹_ ‰ðµ@ÿÿ¡É¥÷wªþš‰ &‰Å¶Ä´7Š»Åe‰Àå ÷•þÿ¾Ååf,€D!÷‹�Bͽ«õ%(‰÷‹¡ wŠ›Ån,¤jÄpwŠy÷ dÝ÷  æZˆ`‰·ŠQW Zh,ÈwúÿDwüÿ@w>Â7Š\&‰…Á Âåz ±,ìÀ¦fæ"ˆÁeÀ ÷� ͵ ñ•R/, ͵ñ•%͵É•=Ñ C͵͵ ,4 @ñ•Gæ**‰±±Dþÿƒ`Ù,X $‰ DÝ!!ÿÂÃe $‰Íµ@‰,| ñ•G*‰÷eh·Š®wêþ(‰wÖþÀòÈE¦ $òÊ,  ø Èe8 ÁhÁåfQ$Hà æe,Ä ˆ‡ R‰÷ jqŠß@+,äpÿ7 âÆnõÆåÀÆô÷ ¨ô7 lÀXõ7Zõ§,7 °÷À¤w ¼ûÒƒ÷‹}ôw Òû¾ˆ ÀÒ&¾1,,ÄšŠ!Tü÷"õwøþ÷ fôwàÂ-õ£š T½.PƒÒ�÷�õ· ^ô�& æÃ€7 róľÃâ¼$¾(âö,v÷ 2Í7!*•· XóùÓ•?Ó• Ó• ÷e.šDów 6ûÜ7Šþü·„ Àp £ hû& kÀ Üph(kI,ÀÁ $÷ êó% hÁ $÷ ÚóÁ ÷‹¸ón hq,ä· Êó� ÅåhÅ €7°7¾ó} Xw0& ¡h Xñ,æÏ & æÍ& ‹Ã5q-üÿüÿÆIüÿ8Ö E*VñÕ@ÿÿøå�÷ .C�ÿÿ¸Ë¡ ‡¡ êƒM*zq-üÿüÿ¬‡ñÕÿÿðµÍ £Düÿ!ž‡ *ž ! ‚Äå1!üÿ—ƒêËÎõ‹þÿñÕÿÿÉåM*Â1œþÿw6É :Ã¥ÉeñþÿDŸÌ*æÃ5ÄE€ÿæ&÷ /<„ƒ� %a¥ U%÷ '* jËE¡ ¡ 3ðµuüÿæÃ·*.& „æ÷ ØÎ ú–%ƒ*K¥•÷ Bæÿ¸*RC�ÿÿëÖ ¥•÷ 4C�ÿÿÃUÿ¼÷ "æÿ ÷ t*vœé÷ Ãÿ¡ ææ÷ zëïÖ ƒ°*šI-üÿ¡‡‚× æfþÿ‹÷ XáÞõ Ÿ*¾üÿÖ µÉåËED™¡ ‡¡ ƒñÕ¤Œ*‰æ,Úôµ ‰÷å &„÷,‰F­_6,þ÷‹V÷‹L·ŠK7ö2-4†÷‹;7!�,"致*t‰(÷‹ ·ŠÂ¤# ÷‹ÿ•  ¤# ,F7Šù·ŠÞ÷‹ØÂš#úÒÒÔ £ š#,jæ�Ò7ŠÎÖ‹â5·Š¬wÊþòµ’,ŽT*‰ôµ‰÷å l÷‹±÷-Z\‡r,²„^‰åv‰ã7àÀV7"ö!7,ð÷-4½,Ö47#à7-Ú×-зŠÈÌ­Ü,ú.‰r‰Ì­À˜ÍfÁm&‰Áf&Àü=m&"f&�, ‰�À^&‰ÀÂ& &Àj¥*‰¢„0‰ì�Ô   ï Ô ,è ·Š8÷•ÿÿ*wÌ ÀR‰ æ ‰÷‹*   ¨, ‰þ÷µa^Q À�¸Àe Â,0 € € € Ö ·Š�  qL ÐÍÌÍ% L |,T Á ÔÁ Òæ" Ñ÷н·Šs7г÷‹°»¼ " ´,x ÷Šª¸·Š£& æ�w¸÷‹”·ŠŽÖ w7,œ PÿÀ ‰÷‹L÷‹�7 †‡ ÍÀ ERRORS ý Ð ,Ð ÷-(@‰·ŠD÷XÄTf‰‰>‰·Šûd‰å-T%,ô úßÃ¥ ÃU ÂâÊ�d‰Ã¯ü}Ãïôt âè$ŽæÌ& æË w<ÿ�0,Ò�&  7 |ó7Š`óÄjÀ˜ £ qûÛÀ%†š˜"q*†â,TÀ%‘$À%•52Ä%¾ÎÀ%‘À%“)ö‘•¾‘"“Q,x· 8ó%ÁþÿÎ-Üó ‚· (óÁ Å ¸£E‡,œwÿÁ5ð²Å ¸&“·ŠèòÎEðÿÁ fÁ Á ™0À�e�e¤�£…„ º!¾š×­èò f£ ôÅ ‘Ååpؾ*pw,èW!W!Á �÷ ¸òˆÁ ‚÷ ®òwúþµ, Á ÷‹ˆò· šò� 7 ˜ò€7‚w‘nòÅ 7V,0Šò} *÷‹kû÷¾h7Š_ûwäþ÷ ^ò0÷‹Yòn*¾ß,T-÷‹Pò*· J· HׯB �*âÿÿ$Ì5æ& ÷   Ö ƒ1œþÿðÅê"„%—¬0ýÿwFà €á5 ÷ C"ðµ%w¾ðµ@¢4%wžw$íæt÷ Jœ_*J%‡÷ $ætøæˆófAQ$Åeœ$9*nðÅ%‡×  W-üÿðµe‡Žo’ŽˆðÕ%wÄìé* @w–ÁeìÿB¢(à Rà ý÷åªæÑ ÄRRCÒà à à à ÒwŠì*Ú&œÀeúÿw °î€ƒPÃúÿÜÃ × *þ(‡÷ è{Ö wTìæ fþÿv �æ  "&œ'ðÕ%÷‹“æÕ …ðµ½<% ðÅ@%¦‚PòŠ$Píÿ‚‡s�óÿœÅeúÿwðÄ•ÿÿðÕî�  ^&b,B ŸÃf÷VÀZÂFÂeÁ°E!é,f Î Ãe Âew†BÀeÃÁ„ú,Š EêÁeEæE!Ãe Âe(:,® ÀeÃêÁPEÐÁeE (Ê7”Ì&,Ò ÷µÆ 7”Á÷¥»÷¥³à ×à‹Õ¿,ö ÷®÷¦‡‰·(Âúæ:!ˆ·Š.·  :!u ÷ º÷² " ½ " xQý & ¹,& ÷¦æÔ!æ:!ˆæ æ!ˆÀò&‰÷‹ Ô!:!  ò&,J ÀÚ ‰ÀP#‰Âe · ° †ƒœÁŽ&× Ú P#$Ž&‹,n N‰Ã ‘ yÃÁþ Áÿ@‰ ÄäÃ8ä2 �,2 üûÂ:ÀÁe÷ŠÜÅâ<‰÷‹ê·Š�wÇ:â‘,V l O Ì Î+÷‹¼. &‰Ä÷�J‰Áf,z ¾Ä&‰÷|÷¥ÿÿ’÷ nÄJ‰ã,ž ØÄÁVÂTH‰·ŠT*‰·œ3·Šc, -ÎÎ% ÷‹R÷¥ÿÿJ·ŠP‰À<‰u,æ ÷‹4 ÷ HO?Š÷ >·ŠþöÁ¼Î a& "¼ÿ, ÷Š·ŠÍw¬ ÷‹EÀßè× 0× 9Ÿ,. ÃåÃ¥$Ãå Ã¥.ôÃ¥  ",R × A× Z × a× z ÃÅ ÿ�šÃEÀÿ6.v ÿ�„· €·Š· :ùׯ4 �.xׯ, w¨þ÷‹û ÷ û7Šû÷¾ ñ &¾,žwŒþwpý€îw’üw°ý�ÂP³ ·@z fofJ ¸¸JÆ  Êó“n% ÷œ$ðÅ%ƒä(‚PÃúÿ3ŠÃåòÿ‡ÌŠõfÂ�Ðå° $ð‹f*¤% �fˆ&œ ÎEøÿ÷ Îe……& Ô ÿ*È[@�ÀEøÿ€­T‚W=Åîå L)«*ìf� ÎEøÿ¶¥DEúÿô>& €�À 0*Îe4û€@aðµ%· ¡åÎ . 0þÿðEÁ*4 °Ý ðµ%ÅeMU  ÷ ^**X°�'ðEÿø Ånå@!Eøÿûð^åøÿ7Xåù*|öeÖ Ž‡ f>-þÿ µ­@N}* @Ä„v�AŒÕ ìÖ »°�$ðÕ@%¦‚A*ÄP²Šíÿ‚‡ƒÄ Á`DÒaK÷ 0æþÿŸ*è ‡þÿ „Ü „`D`Ì w ì·œôáæ†”{ À”À-Ž.&Àv&‰‰ÀÖ& v&&Ö&í,’ ‰€7Š�ð5Àe 7 f÷‡ÁŽ&‰Ñ•P "Ž&,¶ Ñ• ÷Ê&Àˆ&÷‹]‰‰€Àe è ˆ&..Ú 7 2݇ææ!ˆ‰÷‹97ŠRæ:!ˆæ:!G ":!(:!¶, ˆ‡ R z z | Æ"æÀv&‰ÑMOÑDUѦ  R  z z | v&Ø,$ LEÑ• €‰÷XÑ• Ñ• Àˆ&‰×,  ˆ&$ & ¢,H ˆÀ'‰„Ñ•<€‰Ñ•>Ñ• €‰Ñ• _ '½,l €‰÷Ý@‰Ñ• €‰Ñ• €‰÷ü,� øÏ÷‹ÂF‰ÿ&€•]´d‰Å€÷ ª©Á-D‰Â.ò"-(.$.œ Á¼÷x·r·7Šl‰B‰÷ væ2z¼(2¬, ˆ÷å(d‰á �? ’ÿ(7 „7 &À*–,æ ·â ·Á$ 0 þÿÀåù÷•}, ÷ ±D÷Œ:@Àÿÿ7�‰÷7 7 ÈÃ,. w„7 š7 ÀÞ&ÐSÐ7¦Ài‰�,R æÔˆæÎˆÀ¸ÀåЀ wJæºæ\,v ¸ænf‰·Š² ‰·ŠQ·Š_ÎÝÐް|,š εöÕÿ·Š9‰·8·z·tÖ%¯q,¾ ,÷‹0÷‹X·ŠwìwŠaɵ×ÿ·Šÿy,â öEÀ•ÁLÄH‰A÷‹'%–lW60IZgvLÀDâ$lW÷ Œ!#÷”Wà!æöxˆ÷ Þ!÷Ö!K†W¡K.$ŠWæ\yæöxˆ7 À!·Š"÷ À!÷¸!½¤W¡K*¨W÷¬!æ\yæöxˆ ‰ÈæÌ!×-Ä! † þ*ÌW×-Ò!‡ÎÊ!Îå‘ÑѨ!÷‹Ý!ñíà!Ì*ðWþÿñåþÿÑŽ!÷‹Ç!÷‹Â!ñmØ!þÿÑü"Ñó*X# Â\!‘‘÷‹£!÷‹ž! ÷‹ž!wüÿ !@*8Xwþÿœ!ñ”!üÿñ�!þÿ7Šx!BÑÃ$!÷ §*\X!'†,üÿó5 ÑÊeÈeĉ÷å*€X ø êÃe ç"‰÷‹ò wr7lüÿð Ñì B˜*¤XÑÈÖ&Îe,üÿ "‰÷‹Ä é7lüÿÆ *ÈXÑ ÈeÈe "‰÷‹¨ Û7® w— d\‡:¦ ùØ Ò Ì Ê$Þ X@NžÖ.£8÷ Ö妿æ�$ä“*Jw ÂëAwœ¦áÅe M% v—¥ öeöeÏ*nwîéÅåÕµ@åÅ@öÕÒ Åe Aþ*’æ�Œ€Î N ðÅ °Õ A�  pM©*¶MpÁðÕ %÷ ÿðØ ÍÎNÎ!*Ú^÷ ÿðÅ %ÅeÁ ðÕ@ D •þD AeAeM‡$* „Ô Ãw øêþÿwœÚà× ‡÷ æä{!"02>BB> B÷ Òäðµ *Ã¥3*L 'þÿñ‹8€ÀeÈ5Š  ±Šò*pfæ÷ (�1€A 0ÁåüÈ@˜ÄÅz Ä ýå ,´ ÷‹¨Íª7ŠžÍZõ þÿõœüÿ7ŠŠh,Ø õÆôÿõ@òÿæ:ÎíxÎåµîÿõrìÿõ,ü hèÿÄt"(‰5ÞÿõbÜÿ"‰÷‹w€ 7'  t"P, w‰ÀøÁöÈÉj"‰÷‹ÚwZ G,D ÷ H7ŠûæŠ!¦ˆˆæ&!¦ˆˆæ0!¦›Š!&!$0!U,h ˆˆw¤÷‹Úg‰7 Àðµ@ÿÿwRÉ¥d,Œ :‰ñ¥<‰Â|Ñ ‘$!‰"7Š£&‰ÈåF,° Bðµ@ÿÿÂ%CÂ%nÂ%· jÂ%!,Ô ê÷•J¦)w_æD! ˆÖ €·Š[÷‹!ƒ D!s,ø ‰ðµ@ÿÿ7ŠGÉ¥ô™÷‹"åÿ4S,òÿ/ZîƒÿRæ÷‹ØÙñ¥ÿ‰Þ,*‰°‰ÉÅ÷‹êÉÉÕ ñ�ÝÉÕV‰Áq,N@£À@£‡æâ@‰Å Ä:à ŠÂÀÀ�û :$À ,rÊxxºFþ† Ð ‰·ŠSÌ•ÿÿ:Ä&x º Fþ† Ðè,–÷‹ˆ÷÷‹}óÌï¼ÌåŒ 퇓#ê(#,º×­$ûÿO×­üÿK·ŠH ‰÷ �·Š,Þ ÷‹>÷¥ÿÿ6·Šñ÷�EùP‰ú ‰¥,·ŠÙ‰Ó)‰&·ŠËÍË• ‰÷,&·Š·‰ÌŒ Œ Sÿ¥,Òë‰ç·Šôä‰ Ð,J·Š“Í×Ë•š¬ ÷À 6!ç*ìX÷-Ž Š n‰wâ÷ ” æ’x¦ˆˆæœx¦C,Yˆˆ÷ ˜‰À¦x÷‹� &ˆÈ &ˆÀöx *6Y÷‹{ &ˆæ\y&ˆÈ &ˆ÷‹m æyŽ*ZYˆ÷  æyˆ7Š 7Š* 7Š: 7ŠG 7Š3 7 '*~Y˜!7Š, 7Šý7Š 7Šó7Š 7Š 7Š 7Š 7Š *¢Y 7Š 7Š 7Š 7Š 7Šf 7Šc 7Šü7Šù7Šû*ÆYö7Šî7Š& 7Š$ 7ŠÞ7ŠØ7ŠÕ7ŠÞ7ŠÛ7Šb*êYÕ÷ú÷ö÷êl÷æh7ŠÂ7Š¿7Š¢*Z¼7й7ж7Š­7 `7Š£7Š ÷¨7 ¢=*2Z7 œ÷Œ”7 ¤7 ”7 ’7 "7Šp7Šp7Š5*VZm7Šj7ŠÈæ’xˆ÷¶æ$yæ’xˆæœxî,zZˆ÷®›¿*”öew˜ÅeMU ðä €Á*¸$× ‚ Q¤Œ0öeÍU öeAÜ÷ îýw€èÖ ðÅ %÷ ôýœ4ò$—¬0ýÿw\ ðµ%w * âûwTè&Àe"&œöÿŽ ÎN *ɥɥë*. $± ð5üÿ±£Î÷ TÖ Çs*R € @Û (•  ±Š–ð5üÿ8Šüÿ° üÿ’*v ±Š‚•æ÷ Ö ¬üÿHÑ�œÑ•‘�5*š •püÿáw žë& € ÂECƒàð*¾ ÄàÄþÿÄà6!—#ƒ°6  ”*â ¶Ö v w B뎇à ólCàä*!Ãåö  ç—#†Ž É 0ÀÎ û**!œwÐwÀÀA, üÁp'‰Àh'‰÷€& æzæD!¦ˆˆp'h'"D!#,@ ˆ–‰˜ÂÂ"¦ ÒåÈåÒÀ¦Ñ È ü Â"þ,d R”ü7м&‰BÈåðµ@ÿÿÂ%<Â%2û,ˆ Â%· ªÂ%è÷•Š/wÂÂrÂeÊ,¬ Âe · Z†—¢øÂå·V÷‹†æ�aÖÝ+,Ð G ÷ d÷‹pà‰w<‰w�þ÷•6·o,ô $÷ Þ÷¥$]ƒ‚ÄÅÕþÿC,ÌeÕ”Œ Ê ü&f÷‹/=÷-âæ9å ææ¸,<Îí$Îåµîÿ7Š÷‹õèÿ7Š÷‹,`Í7Šö÷‹óõöìÿ7Šç÷‹äõè¯,�7 j7 dNS‹Š‹Š·XwX÷‹è,n…#÷%"²÷ –)榈÷‹Œ÷­‘  "´,’æ’ˆ÷"Š÷~†÷„h÷¥úwû"~ ,¶þ÷ X · 4÷ 7Šm‰w:æTˆw‘,ÚÐLPQARDMBINTU,@,þEEGxð,"Hxð\M€MU,FÜ€f¤x€Mµ,jô&µW4dô&µW4dô&¶,޵Wö ô&µW Nô&µWµzJ,²%p: žæ2yæœxˆæ€gæ!ˆÀäu‰Àüu¹* Z‰w æB!ˆ·p÷nRÿfæy/ˆ÷ ˜*ÄZ6·ŠRÎ%X‰– #‡÷F0æy/ˆ÷‹Ä!*èZ·Š•Î%X‰– ‡÷$æy/ˆ÷ üŽ* [·Š³Î%X‰– ‡Z‰÷‹ü7Šö·Šó÷‹ï*0[7Šé·Šˆ? ä÷àÐæy/ˆ÷ h – ‡O*T[T‰÷‹hwN 8‰÷ –À\yÈ ÁNyPH *x[wÆ æ@!ˆæÐŽåÎe·w¼ ·Š!b‰7Šû*œ[ÀØ7Ø7 Ò†ðE ðUHð•0 *À[0 Àe í÷-¨¨w¨ ÷•º÷À¤c*ä[7 ¢÷‹Û÷Þ–÷e�÷‹š÷íÌ‚÷å«*\|÷m¾t÷enÀZ7dÀe ŸN pèðµ %w"çœ&W ‡÷ GN!ÄâyT!b!š!Î!L!ò!L!Ž!ù d! ,pƒ°&°(° ,þ~!"à0"ðe&"Ú0*’! 0 &Ôþÿò‹€ðº! ÁðÕ %÷ Ò¶!üNÖ ÷ $üðÅ %ð•%*Ê!&º$Ê5@ ðä! Á åÖ ÷ úûðÅ è*î!%Ñœ(Â¥,Áe ÑÿÿÉE Ü{*")ñ2"ÁÇÂe&,"´0 "±Ö ÷ " 6"¬ûðÅ %ðe ðå(ÓÂecP"ŠŠœ$ðµ%wøøðµvh"%wòå‚P‚úÿ‚œ— û€"— ò z’*�"D÷�bÝ€w ®éÎ ÀÀß&æÎ�4*´"hæ� „þÿõäüÿ7ŠÒõôÿõˆòÿÄt"(‰5Þÿ‹ t"<,¨"‰÷‹jwê 7lwj�€–%Â�b— »,ÌN‰Â zÔ¬ H ¤ ¬ È ·o6‡B”C”÷:§ Ô ¬ H ¤ ¬ >.ð÷å4ƒmÃeüÿ¦ÂE€ÿÅ— N‰Â z< (£4BRZn~”¨È.4B R Zn~”¨È‹,*BZn~DDm ‰ÈåÍDQ$(‰D‰ ‰Èå BZ n ~Ó,NÅ ‰ Ddð ‰7ÌDQ$(‰D‰ÄíÀîD(‰ñ,rD‰Q$DdÈåæ ‰7¨DQ$(‰D‰DdÈåêD[,–Q$4‰H‰7€ÈåDDd7¡PAÖGE Í â÷,†P,ÎNÿz µzR}µzd}ÎN8*¢ B–Bú" rH(âäæ²®–.ú" r H (âäæ²®JV¶J ` Ä!ìT^F &C.¶J  `  Ä!ìT^F & jš 8¬"ÚlŠb* b#ÿ.š 8¬" Ú lŠb* b#Û~NZâðf"~"N#¶è"÷.NZ â ðf"~"N#¶¢7 N*,\D†œœÁ¥ôÁ¥Á¥íµ e*P\Ã8ð0lá0ݵ 0 4*t\0 æƒ ƒC ÷`À-ò‚÷P÷‹*˜\ðê÷`ä÷àÞðÚ7Ø·÷‹Þ  *¼\÷‹÷mÂ÷íº÷‹Õ7ŠÏ÷í¬Ä÷m‡*à\¾÷‹°7Šªæ°Îí”·Ž÷‹ÉÎmÌ·*]Îe·‚wÔþ÷-Žt†·Š ÷‹z÷æ{*(]÷‹„÷‹ ÀÄ {(‰7ÈÄ{<*L].‰J‰70Ä {4‰L‰7mª÷‹GÄ{.‰˜*p]J‰7Ä{4‰L‰7m’÷îúÀ~ÁÖzœ*”]‰Àô÷‹)Àí,ÀåÁéz‰Àð÷‹š,¸]ÀÌ7Àm Á£²ß÷�>Ý\—!ë†ÀPÂ#€ € ì*Ø"€ ÁEøÿÁe0J�â‹õ€Â#à àË‹þ€³”Ê‹å'ü"úâ•ÁŠö€€Á÷ áÛ ?F€&#·è߯ w é÷8#âÜþ·ŠŒß÷½$>#à¼ÜÁöBÊÕ@û÷ #¾ÜÆw ¶\#ØèƪßD*d#Ô,€040EÓf€*:*E'Ð*ˆ#Ò#w¤wVwÒÅþÿÄþÿõJ(n'7*¬#Åþÿ5n'Ä 5l'5t'ð•þÿ*ýU@þT*Ð#‡Åþÿ w tèÅáæd@t'0 *÷•€Ü= þø*ô#@t'õ‹s'5õ‹q'wBŸ’'XB�š'Xõ‹x'Ó*$2�µ l'pBŸn'µ n'ÄJ(” v” w” î— Ó*<$ë” T†” a” r”  ” N” LÂe¤jÖ Èå–‚,ºÉ¥ŽÉ¥‹F‰ÄV¦ ‰Äb÷‹ƒ÷‹~ÞÄí” ‰Èåwîþ÷îé,î7 47 N7 @7 Œ7 ’7ŠO7Š>7Š;÷•ÿ�,?Æ&·ÆåÈ·ì·â·â·Üæ®& þ $®,6æ!ˆwNñæîÎådÎ-Ä‡Ö V‰·Ü·\,Z¦Îe·T�ÑP À°‰€‰.ˆÎ "þ¥  ° ,~ ŽŠþ•?ŽŠþ• À¸"°&Îe© ¸"ú,¢°å‰ð ð‰‰æúw’ÿÖ ÷‹P¹,Æ÷‹xwhòwb‰‰æ¶".ˆw,ó÷‹Gû ¶"þ,ê÷ Ba? Â÷‹L÷¸¨æ¨!/ˆ÷ @¥è"ç’¾"~ °šzÎ:D,õ.¾"~ ° š zÎ:D,ù&¦   𠯦 Ì  Í  Ó Ô '° 1¦ =š >™>ž F‘ L‹ MŠ S„ Tƒ @— @ž N‰N PAL11R.OVR � Tƒ §0 ±& ½ ¾¾ øß øé úÝ úæ¦ýz‰w<‰÷‹æUb‰÷{<"*Þ]æ{æ°xˆ‰ðµ@ÿÿAÉ¥ w É¥ *^:‰ñ¥<‰ðµ@ÿÿ/·Š¦BÈåÂ¥K{*&^÷‹�Â¥8÷‹”w’掖 †· †|*J^÷‹€w „w"| ÷‹Xæ�3ÖÝ‚*n^Â¥‰÷‹@‰‡÷‹t‰°÷%pÊ*’^À„$Ñ ÷ `¤÷%X÷Pj7 L7Š*¶^@‰©ÈåðDÁe�— N‰Â zÚ^-*Ú^ä^@_¼^ž_ò_7ŠÝ.‰„÷†�,‰á·","*þ^·,& ÷-jj÷‹·Šé7Š>‰G*"_÷‹_ ‰ðµ@ÿÿ¡É¥÷wªþš*‰'*F_ôµ ‰÷å &„÷,‰F­_w§@µ�š'•**`$^CµŠs'• õŠr'õ5r'W5 r'TõŠy' �a*„$A|'B”�—  ÷ ¸u|'Æ5 x'õ l'º‡ *¨$ÂE€ÿ¡�•\µŠy'¸á• úµ ’'²5Šš'õ‹x'Â*Ì$­€— U— C§õS(’'£õJ(’'ŸõŠp'AÔ*ð$þð•þÿ*ÑU@‰�‡= þx µŠq'• õŠp'à*%õ5p'é5 p'æõŠr'5‹x'ýà5‹x'ýwÜþ*8%w çÅá÷•€ºÚæd@v'Bú‚œW­y' ÑX*\%ÂE€ÿÎÁI(‰ wê׋Åüÿðµ@%Ü*€%R÷ ¦õ‹ˆ'M¡ L¡ MæONm�'#C‚œ�¤ *¤%õ‹™'-A�‰'B` �`Á‹€Ã€õ�‰'f€ÅþÿT*È%Az'‘�÷ |uz'µŠy'W­y' õ‹x'µŠx'‹*ì%õ‹l'õ•ÿÿ¨R‰Ï ¨! ,– ‡R‰ÿœ÷˜ˆæ¨!/ˆ·�÷ ÷ d ¨!,2– ‡T‰÷‹7Š÷ 4÷,Àz'„ &z'),V‰æZwòþ—%ƒX‰7ŠÃ7 À÷%ÐfÔ·Š¹,z³÷®ÁL!É À~\‰À È fÎ �eÑ ‹L!~Ê,žó7Šª7Ї7 „Bwäù÷‹¦÷‹Zøwpá,Â÷‹P$÷ŠŒ ·Šˆ÷‹Y÷ Tô÷‹K‰,æ÷‹p7Šj÷ < 7Š5 7Š/÷ ¶wæþò, ·Š60÷‹:Å÷‹üwŽ$‰÷‹ ÷ ¡,.7Šý7ŠãÁL!É ÀJ\‰À X‰È fÎ ùL!Jù,R�eÑ ñ÷ ^w© 5¡ 6 ,6¶Îå¦ÎeBˆ‡w”ï÷•ÿ×ýƺý7 ²üÉ Bˆ.Z7 Äü7 äü7 Ìü7 ðü7 Šü7 �üæHæ!ˆæ65H(6,€& æ!ˆwtìæœüæ–üˆ×­¶ü÷­®üþ4,¤L‰w$ùæ|üævüˆwxù7 ý7Šaý7Š\ý7Š,Èü7Šü7ŠNý7Šü7Šü7Šü÷•Uý‰�&Ðm,ìSÐ æ2üˆñµ@wfûñµ·Š,ËûÄ• Q$BB`@ KËåá• wÞü÷•I ý,4Ê¥ ÷e<üÊ• 2¡ÿÿŠ”2‘ÿÿ2‘·Žü@,X ¤þÀ  ·Šyû‰À�tüÀe÷‹®ür,|wÎ÷‹ üð÷‹ªü·ŠOûÀ éw&&‰ª*j_÷‹V÷‹L·ŠK7ö2-4†÷‹;7!Î*Ž_致*t‰(÷‹ ·ŠÂ{ ÷‹ÿ*²_7Šù·ŠÞ÷‹ØÂ{úÒÒÔ !*Ö_æ�Ò7ŠÎÖ‹â5·Š¬wÊþòµÔ*ú_T*‰ôµ‰÷å l÷‹±÷-Z\‡´*`„^‰åv‰ã7àÀV7"ö!7,ð÷-4þ*B`47#à7-Ú×-зŠÈÌ­*f`.‰r‰Ì­À˜ÍfÁÙ}‰ÁÒ}Àüø*Š`‰�ÀÊ}‰ÀÂ& &Àj¥*‰¢„0‰k*®`ŸÃf÷VÀZÂFÂeÁ°E!+*Ò`Î Ãe Âew†BÀeÃÁ„<*ö`EêÁeEæE!«x'ý•@þÂE€ÿ…õ‹˜'/—  ‚J*&—  ‡µŠˆ'÷‹Rÿõ Š'=‡L�'»Ô ›$*4&ÂU€µŒ ‡7Š.ÿÔ ,Š÷ ð À•w p䇇V*X&÷•ÿÿÿÅüÿ÷ Ôž5Š˜'>Åþÿ5v'œ ÄEK*|&÷ÿ5‘™'Ä 5Š'5Œ'õ‹ˆ'õ‹›'7‡‡* &Ä„'Ê'ÁŒ'DaCaAa—¤ —  Ô ì• ™�l*Ä&¡ 5#€'†‹ ñ Š¡ õ‹›'‹ ùõŠ'÷ %*è&Px Åþÿ÷ D5 ˆ'õ˜'5Š›' w˜þ®* 'AŠ'5Š›'ÅþÿAŠ' Áå� pÚDCÉ*0'Äe€'Ãe„'‡÷ îÿK�'Ì5Šˆ'5Š™'‡CCí”'¸*T'× Áà‡œ ÅEøÿÅ ‡ x'Tl'T¬‚þ·ŠÞ÷‹¬wÐý÷åd@ ,væ<wøýTöB LLOD8TRÖTAºCC²è"ö L8Ö"º&²­,šRT&ÿÿ·Š´÷‹¬p‰"‡ÃXÉ¥ É¥ê &±,¾ r‰æb·#fƒV‰Ñ ÎåÎ ‚Sü‰Ö ñ,âé‰÷"÷ ÷‰‡÷‹f‰fæ`,"ˆ·Š.7Š+·"– †X‰Ö fÎ N` ‡BEV.*W!N‰Å }8¢Ü²‚rbFÃd"÷b <.8¢Ü²‚rbF"d"&b,.Pz‰·Šæ – †· Ãf"÷rz‰·ŠíÃh"Sf"r(h"ó,v÷‚ôz‰·ŠÞÃj"÷’äz‰·ŠÏó þÿó%­ ñ, ‰Á4ÂÃ:Ö‹w¸øÿÕ,ü¥ 4:@,Ä·ŠûñÕÿ×-\ü¯·Šû8À ×­Èü,è·Šóú/ËtûÉÕ÷‹'ü ÉÕ ñ¥ÿñ�üÓ, ÉÕV‰×­’ü ɵñ¥ÿáñÕÿ$,0‰ÞɵÖñ¥ÿôÿ-öúûÎwÿ÷‹æû8,T€ŠÀe ÷Šºû/÷‹Ìû‰ ÷‹²ûõ·Š?0x¾û÷‹¨ûðwžõ÷µªû÷‹–û×-¨úèã×- úü›"è*ü‘, ß –ú÷‹zûÙw¦ø·Š3úÀ0û þÿ‡÷üú,ĉwðýwœíw”îwÎîwTï÷Š@ûòwvïwñ,èQ$Q$Q$Q$Q$wÒóQ$wüówdôwÌôwÚôwõž, w®Ãe Âe(|*aÀeÃêÁPEÐÁeE (Ê7”Ìg*>a÷µÆ 7”Á÷¥»÷¥³à ×à‹Õ*ba÷®÷¦‡‰·(Âúæ¦xˆ·Š.5†a÷ º÷²YŽaxQ?*’a÷¦æ@yæ¦xˆæzbæ!ˆÀ^~‰÷‹:*¶aÀFx‰À¼z‰Âe · ° †ƒœÁú}× *ÚaN‰Ã {pbÀ”À-Ž.&Àâ}‰‰ÀB~*þa‰€7Š�ð5Àe 7 f÷‡Áú}‰Ñ•Ï*"b Ñ• ÷Ê&Àô}÷‹]‰‰€Àe f,Fb7 2݇æ€gæ!ˆ‰÷‹97ŠRæ¦xˆæ¦x?*lbˆ‡€b¾bæbæbèbÆ"æÀâ}‰ÑMOÑDUÑV*�bLEÑ• €‰÷¯n'Rp'Pr'Nt'Lv'Jx'=(G(Q([(e(o(y(ƒ(�(Sz'=(G(Q([(e(o(y(ƒ(�(Q|'œ'í'>(�(à(1)‚)Ó)$*u*X€'œ'í'>(�(à(1)‚)Ó)$*u*T„':ˆ'/Š'6Œ'œ'í'>(�(à(1)‚)Ó)$*u*H�'L(L(L(L(L(L(L(L(L(’'=(G(G(G(G(G(G(G(G(Q”'*˜'(š'6ì'åG(  .8*X(d#°.‚j"’ò,šþÿ x‰À  ‰Ö æw üÃl"ù¥: Š  l"q,¾fæ"ˆ“æ"ˆ“Ö ·ŠŠ·Š�·Š{÷ ‹,âþ  æF!ˆ·%X ·Šb÷$x÷‹z,÷÷‹Ká 7ŠCQ$ ‡÷‹ò f‰f‰,*æ"ˆ·Š7Š·ú – †X‰w†wÐþ·Šd,Nú ·Šú wNd‰·J÷‹´ æD!ˆ÷ x ÷O D!o rp í rc r^ô v_0v÷d æâ!æD!ˆab‰÷°#æ°#æD!ˆæD!Z â!D!°# °#$D!*D![2žˆ÷‹¦ 7Š  æÎeà—%�$ ƒæ°#æD!ˆ÷°#æ!±6ñ@‰7ŠÕùwªÿ÷Hú úÿ5@ú¿ :ú· �ú×,0·Š·ù7‹û&‰À•Á$úÄH‰*‰‰÷•çú‡Ö0TÍŸ´ú‡×¯®ú`ÿ¥ ¤úÿ•?œú‡Â�Ãò^$*òp,| ÷ °ùæ2ˆ€ ÷ ÊùæZˆ€ À ñµj2Z, @óÿ ñÅ@óÿfòÿÎEÿÎæ‚wˆüB‰Áå¡,ÄÀyÑ KÀ ‰€¦¢·<ú‡&‰À ú»,èÀå&$&`  Šæˆæˆ7 êù`‰n‘. Àmâù€ à• 7 Øùû‚‡É fˆfˆ‡ó<üÿŽ &<w,2fˆæfˆ3 üÿæfˆ‡&‰Å-w¬ùŠ  -”,V ŠÄà7ŠØùÃ6 Š7 ²XÑ• Ñ• Àô}‰×,pb€b»*´bˆÀp~‰„Ñ•<€‰Ñ•>Ñ• €‰Ñ• Þ*Øb€‰÷Ý@‰Ñ• €‰Ñ• €‰÷>*übøÏ÷‹ÂF‰ÿ&€ÄÅz Ä ýå E* c÷‹¨Íª7ŠžÍZõ þÿõœüÿ7ŠŠ©*DcõÆôÿõ@òÿæ:ÎíxÎåµîÿõrìÿõT*hchèÿÄày(‰5ÞÿõbÜÿ"‰÷‹w€ 7¥*Œcw‰ÀøÁöÈÉj"‰÷‹ÚwZ ‰*°c÷ H7Šûæöx¦ˆˆæ’x¦ˆˆæœx¦”*Ôcˆˆw¤÷‹Úg‰7 Àðµ@ÿÿwRÉ¥¦*øc:‰ñ¥<‰Â|Ñ ‘$!‰"7Š£&‰Èåˆ*dBðµ@ÿÿÂ%CÂ%nÂ%· jÂ%b³¹*|(r#i& (P"""@*À(Û@€  €f))7øÿ7è*ä(ðÿ÷ ìÿ÷•äÿßU@lÿð•þÿ*‡_ P æd7*)À´ÿ0 *ß�°ÿþÿðµ%ß lÿ�÷ ®ÿÎ*,)· ¨ÿߟ¦ÿnÿ÷‹œÿ· šÿßU@lÿð•þÿ*‡w z*P)¾ò‡ lÿ0 *x 7Šrÿ÷Ö(pÿ÷`ÿhÿÀk*t)À(PÂ7˜)ÂÂ�*¦)œ8€�Ðfð)D*R*7øÿ7*Ê)ðÿ÷ ìÿð•þÿ*ßUAhÿ‡_ P ædÀ¼ÿ0 à*î)*ß�¸ÿþÿß hÿ�ÿ—jÿ´�$ °#$D!*°#š,Èæ�$æD!ˆ÷�$ÔæD!ˆÀÊ$j‰7° á�$ D!�$D!q,ì7 ¬ È%,È%×Àe7”› ×­— 7úÿÊ,| 7üÿx ÷’t ·Šh Ð ÷er 7~ æÞ æä,4Ø Žå·r 7 n `‰÷ d wØw¼÷‹4 ^,X7Š. ·Š, ÷. ¡÷‹ ž7Š ›÷‹ G÷‹Â0| æ(÷ "· ;w ¨÷‹• ~‰‰æD!  *D!a¤ˆ÷ < ÷4  ®& ®^· ²".²÷( æâ!æD!ˆæ°#æD!ˆæD!ˆ÷°#Ö j â!D!°#D! D!&°#m,ØÀÒ $j‰7¸ 7 ´ Ð%êµÒø7 Þø7 Þø7ŠNù‰Ÿ à6‰,zf‰‰÷‹½ùÄ0Ì f‰Ì ·Š¤ùÀ ·ŠOø0 0‘,ž>‰Ä%0êÄ%àÂ’Â ·Š3øKŠÄ0Ý¢ 0à$0 0Â*‰À�rù‡Å-0ù÷ *ù‹ŠÄÊÐÀ 7 ZøèÄFvÊ*FY,êÈ7ŠOùd‰ÿ¥ ùÿ¥ ù‡·Š7ùó· þøÞ,÷Š.ùׯôø ÷‡÷ êø·Šù‡&‰Á-Åðž"-&ðe.2 É‹� 5À�úø    ¬,0Š,n ,(,),XÀ äÉ‹D‰� ¤øÃ¢øT‰Í wc¶ø V äô,|÷µ²øñ÷U€´÷Ä�¦ø„ „ „ ÄEáÿ7‘¢ø*‰À , ‡¶*@dê÷•J¦)w_æ°x ˆÖ €·Š[÷‹!*dd‰ðµ@ÿÿ7ŠGÉ¥ôwÐwÀÀ‚*ˆdüÁÜ~‰ÀÔ~‰÷€& æzæ°x¦ˆ�*¬dˆ–‰˜Â.z¦ ÒåÈåÒÀ¦Ñ È z*ÐdR”ü7м&‰BÈåðµ@ÿÿÂ%<Â%2=*ôdÂ%· ªÂ%è÷•Š/wÂÂrÂe *eÂe · Z†—¢øÂå·V÷‹†æ�aÖÝl*Õw�6ÕÍ•ÅåîÿB“w ’"PW­,*Þ* Í¥ð­Û×þÿõ•PHW©ƒð•�*+ÿÿ¦�¢(ÅåÀw ¬ß ‚•D�„Œ† 9*&+Î Ä�ÎÔ Æew>áЊ‚ŠÀ•w zß1&J+ÆewÝw¨Ù÷ ¸ØðÅ%ÆåêÀÅ(j+|æŽÔ÷àˆÔÈ Àe ¸ù‡Õ ˆ ·^ Œ+pÔ…u�+<¸7$œ ç7$˜ äЋá,ü7”Ÿ ×­› Ý$‰wÌþw ,‰ÁŽ fÎ N` [, ΄ ‡÷‹ 7Š ÷°#x æ°#æD!ˆæD!e°#°# D!&D!ù.DˆÀd $j‰Ð È%íæ°#æD!ˆ÷°#H æD!i°#D!"°#(D!ó,jˆÀ> Àe7”' ÷µ@! Ç÷µ@ P‰Ð È%á,ŽâÁ„ Ð $Ý$ÛЋ7”ù ×­õ Ôw¾õ+,²·Šc d‰ f‰fæ"ˆ·Še ·b wHüwFüç,ÖW"(‡f‰÷‹4 ÷W®A‡fæ"ˆ·¤ Œ,úæ"ˆ·œ ·Š? ·Š" àfæ"ˆ·† – ¢,†X‰·Š ·Š Ñ÷‹æ Ð·Š Í·Š ÷‹Ö È«,Bd‰·Šú ÄEˆUX$ÿÿ¹Í èÂp÷Ãn÷T‰À ó  ÃÝwøÃ¥ÿ,Ä à à à Á@øÁàÑ w(øw&øß×½Rø@Û×½#,èJø×ò&‰Å0Ä.  B’ƒ`ŠE à à ^0.G, à æà à ƒeòÔÅeW!3ë`‰&æ¦f¦© 3”,0v ‡…�‚ƒ„…Ö *‰‡&‰ÀÌöÄ ,Táw Âö †‚დ· ´öü‡7á®öæB!ˆÖ R,xw öÂj÷ · p÷‡7áj÷7áÔö€ ý†*‰À·,œL÷È’÷à”öà†÷à€÷‡€Àà€ 7 ‚ö7 t÷C,À÷&÷À ‡ÀE€„à -úÿ 1-üÿ 7þÿZö8,ä7L÷€ 7üöê‡ß0Äå!ׂ {,×&‰Å  7Š÷ÄÃâ ºìÿ7Šç÷‹äõèñ*ðeþÿõäüÿ7ŠÒõôÿõˆòÿÄày(‰5Þÿ *f"‰÷‹jwê 7lwj�€–%Â�b— ü*8fN‰Â z@fd´dedÈ ·o6‡B”C”÷:,\f÷å4ƒmÃeüÿ¦ÂE€ÿÅ— N‰Â z‚fº‚fzf f®f¾fÆfÚfêfgg4g¦*–f®fzfÆfÚfêfDDm ‰ÈåÍDQ$(‰D‰ ‰Èå*ºfÅ ‰ Ddð ‰7ÌDQ$(‰D‰ÄíÀîD(‰3*ÞfD‰Q$DdÈåæ ‰7¨DQ$(‰D‰DdÈåêD�*gQ$4‰H‰7€ÈåDDd7jÖ Èå–Ã*&gÉ¥ŽÉ¥‹F‰ÄV¦ ‰Äb÷‹ƒ÷‹~TJgÄí” ‰Èåwîþ8*Zg7 47 N7 @7 Œ7 ’7ŠO7Š>7Š;÷•ÿ»*Ä+ÃB÷• É ÄÜÀœ7œÀ,¬Æå€&@*è+&æ"ˆÖ �ÁÂ�,R�’Á’W Å¦,÷•* ,‰EPfæ’,æ"ˆfæ•,æ"ˆæ–*0, æš,æ"ˆæ‚,æ¨,¦ˆˆ0ˆÆå€²*T,Â�`ö,…ÄÁ& ™&¦"ˆS”S’S¨Å ›x,ö–%ΰ,à  ?@�, û˜, ó , |qof""E p¸,:Ú»,:×*¾, IAWFSR�+Ä+Ä+kâ,Øw"Mê,á*-ÀRÀ‹0ˆÀŠ À�7P<Å(-Xˆ^-A*,-0ˆÀŠðæÈÒæ-÷ØÒ¾ÒÐÒBP-ê,--Ki†¢h-¼d‰&fÀ¬ À-yˆX$k,f¨ ÷ �€w®û·Š¯ ‰ÀÖ&‰@w&ód‰‹ Ö&Ø,ŠÖ ÷‹† w’ìwüówŠì÷‹u ‰÷‹m ÷‹Æ,®« ÀÚ ‰ÀP#‰÷‹• `÷æ0 æ”!ˆ÷  Ú P#æ"”!jÒ. ÷& ˆ Øú Øây¨ Üö&Üæþ!æ”!ˆ7  ·Šg ÷  ÷ 4þ! ”!öî öâyŠ úØ,ú÷ü æþ!æ”!ˆ ‰Âú · ú .†Ñ ˆ ˆ  þ!”!û,‘‘‘‘‘Èe &Îe —%z‚¦Îe ·%Ì R,B‚ì"‰÷‹Ì wL¦Îe ·%² ܃Ñ ˆ ˆ ?,½& ×¢ïÿÍÕV â¼,,.‰ Á’W îÿ.‰_ ‰Îöõ0‰‰wî,PÂÝæõw²‰·Š…õ2‰·Šyõ<  ÂÕ@0‰þ,tw2‰·Š_õD·ŠWõæW ÷ÿΣ,˜W øÿ µ ·Š5õÂÅÂÕ ‚Õ÷‹hö \,¼÷�böaö÷¥óÿö·Šõ7ŠPö0‰.‰ ‰·ŠM,àÿô2‰‰ÐÈ·Šïô‰Ð.‰Á’ ‰ÅÎ6õ¾,W îÿ"¦µ@6µwðµwìµÁ,(€æ�³�Õi�Õ ͵&÷‹õ#ÍÕÛ,LÍÕÔ 7‘Ìõ÷‹ÆõP÷• õ-÷˜õ×­5,p°õþÿ3÷ Šõ/ÍÕ0÷��õšõ7Š—õ4‰áÍÕ7Z,”Ô 7‘Šõ÷¥ÿÿ‚õ¾Î*~g?Æ&·ÆåÈ·ì·â·â·Üæp& |*¢gæ!ˆwNñæîÎådÎ-Ä‡Ö V‰·Ü·\P*Æg¦Îe·T�ÑP Àv‰€‰.ˆÎ "þ¥*êg ŽŠþ•?ŽŠþ• À$z°&Îe'*h°å‰ð ð‰‰æúw’ÿÖ ÷‹Pú*2h÷‹xwhòwb‰‰æ"z.ˆw,ó÷‹Gx*Vh÷ Ba? Â÷‹L÷¸¨æy/ˆ÷ @R‰L*zh– ‡R‰ÿœ÷˜ˆæy/ˆ·�÷ ÷ â*žh– ‡T‰÷‹7Š÷ 4÷,Àæ~*Âh‰æZwòþ—%ƒX‰7ŠÃ7 À÷%ÐfÔ·Šû*æh³÷®Á¸xÉ Àêi\‰À È fÎ �eÑ G* ió7Šª7Ї7 „Bw¿b*’-Ä2Å 2% !ý÷HÀD2Áœ'ŬAy*¶-É‹ 0ˆ (  &2÷ ÁF& f0ˆ  ,*Ú-02‚Âäÿ`Åî1ZÑ B”r— Aû†C”— l*þ- ûã•,ø B2è†fW¢AJ& "ˆ‚ "ˆÃÏ*".ÅPB-þÿ7Ãå÷ :ÔõÁI–%ÆÁº’*F.w JÝ ÀŠÅ®W!ƒÅ@ÑÀŒÀŒÀŒ×-À*j.–ƒæŽæG0ˆ7`‚÷ÿÿz7 |Å’.ƒ*Ž.Tˆ0ˆ22„/22N-üÿÆN Ž —¯#@*².æŽ æ"ˆ„…”þ‹! 2ì‡Ö … *Ö. 62û‡TÁ@®Ä Á�ÛÓøwP Ä2‡'*ú.÷ æÿÁXˆ-ÁFÂ�»Óê÷ ÄÓç€PðÕ@ëÿŒ*/·PÜÄ2ê÷ ¶ÿÀf"‰÷‹¬ w,æ”!¦ˆˆ7ŠÕ 7ŠÓ À ‰Ó”!$ B,Š÷‹Â l‰·Š€ 7Šª wbç÷�v û À "·Š¦ P‰s   "*®¶Îå¦Îe¾�‡’@$èæ !».¾�’@$è "æ $!tÐN.âö š@L‚Þþ.N.â ö  š@L‚ÞGäÔ¬VÔ ºš¸Ö.Ô¬V Ô ºš¸Öeøâ(2PZt€Œ˜¤ù.â(2 P Zt€Œ˜¤j °¼Þêö  æø<8.°¼Þ ê ö  æÁ€Îï¾ôá÷‹tõ%÷‹mõ$Îo€,¸¬ôa÷Dõ�J‰ÄH‰÷•2õ÷•*õ.ÜJ‰ƒÄ·‚ôÁõÂõH‰Âtô· õÄ�&õ´¾– (¾ú,÷eõÍÕÍÕ 4‰ÃâÖ Â5ÿ·Š  ââ,&¹ó·Šõ0‰×­øô·Š¥ó*‰÷Šêô‡Í Í Í l,JÍ Í Í .‰7ŠÌô7 ¦ô7 ¤ôw¼ý¦�ÎEøÿ�Õ‡æŸ,n×¢ýÿ×¢ûÿ×¢üÿÎ Î Ö ‡Â& ×¢óÿ^,’×¢ôÿЊŽ ‚ŠÂÂÕ€Ö ‡ ÀÝ´ó7,¶À€ó ÷‹^ôÀ ·Šó7 hó‡À€‡m.Ú‰÷ P‡À À € &‰Á7ŠIô7Šró Å:Ä>>$:(>,à 7Šô Š7ŠÐóŠÂäù÷‹¦÷‹Zøwp"*.i÷‹P$÷ŠŒ ·Šˆ÷‹Y÷ Tô÷‹KÊ*Ri÷‹p7Šj÷ < 7Š5 7Š/÷ ¶wæþ3*vi·Š60÷‹:Å÷‹üwŽ$‰÷‹ ÷ Âã*ši7Šý7ŠãÁ¸xÉ À¶n\‰À X‰È fÎ µ*¾i�eÑ ñ÷ ^w‚þ·ŠÞ÷‹¬wÐý÷åd@L*âiæ<wøýTbjBŒkL¸kOD¤nTRBnTA&nCCnÑ*jRT’jÿÿ·Š´÷‹¬p‰"‡ÃXÉ¥ É¥h**j r‰æb·#fƒV‰Ñ ÎåÎ ‚Sü‰Ö 2*Njé‰÷"÷ ÷‰‡÷‹f‰fæ¡*rj"ˆ·Š.7Š+·"– †X‰Ö fÎ N` ‡BE˜,–jW!N‰Å }¤jkHkkîjÞjÎj²jÃÐy÷Îj ÝÃÁÎw `Ü ÁF Ð®*B/ ÍPðÕ€ëÿÄ2ÁWˆÄ À!2ƒ� a*f/Ãü1KKÅv/Tˆ0ˆ22„/222 À•W*Š/w 4Û 0ˆÄ2w ¬QÁbw ¸ÁVw o*®/®ÁJW  ƒÁåw šÁ6Áåw Œg Ò/æ&Ð÷à Ð÷&àÒ÷"ØÒÀaì/PÀeôÿÁPÁeðÿ Ä2Á *0¾™Ä ™Ä ™÷bÒ÷ZÒ·àÏ0ˆÁVˆ!¸*&02žÁUˆÅô1Ä2w “ÁLw†ý#j*J0;‚);‚)‚Õ …DÂ<÷ ÛÄ *n0øÃ2S` `c …É‹wZþÂ2w |W¤,¨*’0f& "ˆ†þ‹·ZÀ&ÒÂ2 #*¶0Ë Ê$���0ˆÁKÄø<¾ Vrxn‚ , 6 B N @.Vrx n ‚ , 6 B N Ú,4X n x � b ÷‹í‰æD!ˆðµ@ÿÿø…‰±X n x  �  b D!b,X÷Ö( ÷í®" ÷¨ ·á ÄžÁ @`� ,| ‚ Á F`w`~w`|w`zw`zw`tw`z, w`dw`l‰‡  ýç÷%,7 7 n,Ä"÷÷‹yêæD!ˆ÷‹q ÷¶ö¡D!$¶{ è÷ ö÷t^î÷ î÷æ üÔ ü^e Ï,÷Úæâ!æD!ˆ7 Ê7Š9æB!ˆ·’÷e â!D!g,$dŒ·Å÷‹"ô 7Šô÷‹ô.·ŠÄ  Í,$ô÷‹ôoVf‰‰SÀ�ªóÀe,Àe3Àe‚,H Àe&Àe÷• óè6‰æÀ d‰ Û,lÌžÀ d‰÷žÃòd‰7Š´ó *Á‹6‰ŠŠ,��ŠÀ ÐÌÁ5ÿÁ5ÿ 6‰d‰²·�Bò÷¥_,´jó·Š%ò÷‹ó÷­óWó÷•þÿPó*‰÷‹cóP,؇·Š]ó÷‹Tó*‰ ÷µDó÷•<ó‰¶,ü‰·ŠïñÂU•À�'óÀ¥ÿ·ŠÏñÂUÀ�óä, Àµ@ ÀµêÀµ÷•0òÁ‹6‰&‰€�Á�,DîòÀ xLT²æ÷‹Þò*÷‹ÄòÁµ Áµ‚ L T²æÃ,h!Áµ@÷‹¬òI÷•ÿÿ¤ò=÷‹\òÆ,¼jz‰·Šæ – †· ÃÒy÷Þjz‰·ŠíÃÔyL*âj÷îjôz‰·ŠÞÃÖy÷þjäz‰·ŠÏó þÿó%'*kþÿ x‰À x‰Ö æw üÃØyù¥: D**kfæ"ˆ“æ"ˆ“Ö ·ŠŠ·Š�·Š{÷ Ì*Nkþ  æF!ˆ·%X ·Šb÷$x÷‹»*rk÷÷‹Ká 7ŠCQ$ ‡÷‹ò f‰fË*–kæ"ˆ·Š7Š·ú – †X‰w†wÐþ·Š¦*ºkú ·Šú wNd‰·J÷‹´ æ°xˆ÷ x ÷Î Þkp /Þk^6.âk÷d æNyæ°xˆab‰÷{æ{æ°xˆæ°x0 lˆ÷‹¦ 7Š  æÎeà—%ü{ ƒæ{æ°xˆ÷{æT*4læü{æ°xˆ÷ü{Ôæ°xˆÀÊ$ÇwþüË Àe£*Ú0CàÃåéìwÞüÄ úCàÃå÷��·*þ0� ᆠ0ˆW¢,$fC”× 9‚× 0‡áÕÀ9*"1× Aó†& "ˆ’þ‹ €þÅÀæ"ˆ²“H*F1—¥‚�W¢:Ñ‹Õ …Á�iÑ÷à˜Îñ‹0X$j1 ÷àŒÎÄ•üÿ ÷ ÀÙAœ1ñŠw0ˆw�, ˆ1<Ñ0ˆÁ�7Ññ¥üÿ0 ÷à^Îw Ô¢1"Ñ7ŠÑ÷€NÎÀ Ñðµ<¸1%ðÅ%Á÷ ì÷•{"Î1€,Îøÿï0ˆ1Š0Aœ1±Šwä·ŠÑ*ê1­õ0ˆ2222 2ˆ0ˆŒ1T2¼-/è1Z1ú.*/”/V/n/ 0/*"2,0B.|0CO REENWAHAKITIDESCUNCLSYAS*(F2h-’-’-ÈZ÷í„T†V‰„ÁH@àFàwàÄwà«,HÂwàÀwà¾wàÄwà®wà¶� Â$‚  ,lý‰‡W"W"X‰‡&œÿÿÖEüÿP‰ðµs,�@ÿÿP‰‡÷°# æD!ˆ÷‹§ ÷î,÷ °#D!"î^´,÷t^$÷ $÷n Æ  Æ^š Ê,Ê÷æâ!æD!ˆ7 7Šoæ°#æD!ˆ Š â!D!°#"D!å,î÷%ô7 ä7 êè÷âä¦Â €$ˆ,Ñ Âeà— �$ƒÂ°#·†¦æD!ˆœÿÿÂE{�$°#D!º,6ØÿP‰‚‡æD!¦ˆˆ‡7Š‹ ÀR%7ø $ÉD! R%ß.ZÉ÷�«òTò2,Œ÷­£òLò:·Šˆò Áµ 4ÁµÁµ@. c,°$÷‹€òÁµÁµ@#Áµ ÷­òeò÷‹/,ÔLò÷ŠFò7Šþñ ã  S÷‹JòÁµ Áµ Ï,ø*‰ŠAŠw þL Cï*‰·ŠÓðw þ·ŠÉðÂU2,‡#@% ()"'+-!&; ,:=8‰Àîÿ7¨ñs¬0a &0{,@p€ ø8‰ Ì‹òÀ× 0× 9 Ã¥.ç˜,dÌÕ€÷Å�ð& ÃEðÿE¦ÅEÿÎEÿÉ Ê ¦ë,ˆÉ É É`Ê Ê Še Ê` ÃE÷ÐMðÌÐ&“ÎE�ÿŽUq,¬ÌÕp̵ˆ…�w~ðV/·Š)ð,8‰€ × ß,Ð0× 9Ãå8‰€ Ã¥$Ãå Ã¥.Ü,ôò× A¦× Z × a Êj‰7° *Xl7 ¬ È%,È%×Àe7”› ×­— 7úÿ *|l| 7üÿx ÷’t ·Šh Ð ÷er 7~ æÞ æ&* lØ Žå·r 7 n `‰÷ d wØw¼÷‹4  *Äl7Š. ·Š, ÷. ¡÷‹ ž7Š ›÷‹ G÷‹.èl æ(÷ "· ;w ¨÷‹• ~‰‰æ°xŠmˆ÷ < ÷4 Em^ø,m÷( æNyæ°xˆæ{æ°xˆæ°xˆ÷{Ö *DmÀÒ $j‰7¸ 7 ´ Ð%ê7$œ ç7$˜ äЋ"*hm7”Ÿ ×­› Ý$‰wÌþw ,‰ÁŽ fÎ N` œ*Œm΄ ‡÷‹ 7Š ÷{x æ{æ°xˆæ°x™,°mˆÀd $j‰Ð È%íæ{æ°xˆ÷{H æ°x�*ÖmˆÀ> Àe7”' ÷µËPsE`Úh2]*’2 ÷‹+f÷5"bw œ,ÐfÕ È*¶2fa(ˆ0ˆˆfÎåÔ ò&Äw 5*Ú2Êÿˆóˆ÷‹ñÿ÷‹ÓTÄÕÃ4*þ2âÿÀ`ÃEÿ…„ ‡ˆÅÅeÀÿ Îxÿ ‡  *"3¡N N Í ÃŠüÍ ÷ ØÂåÂ%š*F3wÜ÷ Ä„c÷‹q ÷ ¶¡*&æxê*j3Á—rC7!ª†&æ!næœÎmœŽ Žm&’*Ž3Ž`Î –%ð‚Í À‹Ç÷Õ;ÿ&ö�5ÿæT¼*²3Ñ�ð÷ X7`÷ PÄå7X7R·R÷ H*Ö31Î T÷•àÌÁ—rÀ�Ü  fæu*ú3. pùrÁåý1 P1 0@ ÷[ð ±*4PÌ Ñ ÷‹ó÷0÷”!÷÷Š!Š”!&Š!M,€‡ÀÊ 7ŠŽ R% ÷ îæØ%ææˆ÷�± R%Ø%K,¤r ÷ ÖæR%æÎˆ÷� Z÷ŘÿTÀe†\ R%i,È7„  Ø%þ‰É¥ü‡w€êw î‰fÎ ÿ  Ø%é,ì�e P"Ð È û€‰‡üf&æ¦f&~o, ¶ €�‚ƒ„…‡æ˜À NŒý†‘“ΕS,4Î ø†Ö ‡wí‰ÅþÿÄýÿ C”Ã¥ Ã¥$,X × A‡Ãå ÃåÃå Ãå    ¦  q.|‚eÂ`„ ä�… Þv‰‡‰ÄþÿÅýÿÂââ (âÊ,¢ ‡€âƒ ûË× Í× z�ÃÅ ÿ�öðÃEM, Àÿÿ�àð· Üð*‰7�ñ‡€&‰&ÀÁNÂR/"N&Rã,< ßÌðÄÆ‡#‘ËÅøËÕ0„ ÄE€„ „  ô‡Ž  Æ,` &‰ÅŒðwU%f w~ðDÔ À‰ ÂÜ@ &Üß,„ Ê ŠÃD!†•œÒ— ôó‡÷`Tð÷�NïQ ôÓ,¨ ÅeĶïCÂ÷‹dð· ~ï($‰‰ÀÀì &Àú,Ì ÅeC”ÄE÷‹?ð À ÷Š2ð$‰· j,ð Nï÷Š(ðÃêïƒ Ë• Ãe ÷ÜïË• ã• ßT,!ÃÎïã• ƒ Ë• ÷F¾ïƒãà Þ÷­zðï3÷ ,8!øîÁ2Úb‰÷‹¾ïW£ Õ‹M•Å u™‘ 2šÎ@! Ç÷µ@ P‰Ð È%#*úmâÁ„ Ð $Ý$ÛЋ7”ù ×­õ Ôw¾õm*n·Šc d‰ f‰fæ"ˆ·Še ·b wHüwFü(*BnW"(‡f‰÷‹4 ÷W®A‡fæ"ˆ·¤ Í*fnæ"ˆ·œ ·Š? ·Š" àfæ"ˆ·† – ã*Šn†X‰·Š ·Š Ñ÷‹æ Ð·Š Í·Š ÷‹Ö Èí*®nd‰·Šú ÄEônUÄn�jÿÿd‰&fÀ¬ À-r*Òn¨ ÷ �€w®û·Š¯ ‰ÀB~‰@w&ód‰ *önÖ ÷‹† w’ìwüówŠì÷‹u ‰÷‹m ÷‹*o« ÀFx‰À¼z‰÷‹• `÷Ro0 æyˆ÷ 6>o. ÷& ÉDoâyé$Hoæjyæyˆ7  ·Šg ÷  ÷ íboâyË*fo÷ü æjyÏêWÀ ð PÀåý÷ Ï pS&B4= À—Á^ pœø÷•àžËÀ—ñ*b4rð PÀeýùr 2œÂã*†4ÄhÔ w ä ÂåýŸ r*„P÷ñ (ª4w,ÿœÁßåpü r0 P0 á*Ì407�ô÷•`&ËÄB„cw ”7�ßÀ2Â8*ð42w þæ(æ­&æ ©æræ¤Í y*5ÄÍ ÃÄP‡÷ èÿÍ À‹wjþÃêÿÏ*85ÄâÿaÄ ƒc³côÿ³cîÿ³còÿ; îÿÁ�nœìÿ**\5±�1ñUÿ€0ñPw ºÔ7 Twšýèÿaß Ð*€5‚!hƒÀ—rP!‚ñ îÿ†Àeý z*¤5òÕ …h2’2–2ÐÃe ÃeÃe º,ÆÃe Ñ�Ò … è€Ð „ ßv‰‡@(ö ,ê�‘Ä‘ö €ÄB‰Ž‡ÄÄm‡!,æ Îå Ö-ö‡6‰‡‰Àä7 䇉Îe,2‡ð¥Àe ò#û0-÷6‰‡P,V‰]À¦À°7 ¢‡‰‡#0-,z ð¥6‰Îe‡Àe è*‰‡™,žô¥ûÎe‡*‰‡Îe‡&ÀP,Â÷e B2‰€‡‰Ä2‰÷e *÷e¹,æ &””””2‰‰‡‰ÄÄe 7! †q, ­ #‚ô‡2-ðƒ7!ö‚÷e î×È,.‰ÀÜÁe  ‚‰‡!!!!Ñç0\!æ Îež Í•'ææ2ˆ×-Èî8ÄÂîÃݹ2*Ýz,„!Â$‰· ´î7 ®îæÈæ2ˆ7Šhï7 zï÷‹LîLÈ2¥,¨!÷­þïúï÷dï<ï÷e(ï7Š2î`‰&‰ÄÀ 7 $Àü,Ì!‰æ�Lï÷‹cï —".‹÷‹ï΋4·,ð!΋/÷%*ñW ð†÷‹ï%&:‰w.÷%£ ðÚ,"®ðæ¾æFˆæ®æFˆæFˆ,‰÷%ü ¾F®F Fß,8"ÂðN‰@‰÷‹ñî÷‹ºîÐ,‰Ö `‰� Š û,\"ŽŠ“&•‹eÀ&‰ÁúÑ3ÑÑшî`‰&‰µ úÒ,€"Å�zðaw‘tðáÅeÄå UÄåÒæyˆ ‰Âú · ú .†Ñ ˆ ˆ Ù*Šo‘‘‘‘‘Èe &Îe —%z‚¦Îe ·%Ì ”*®o‚ì"‰÷‹Ì wL¦Îe ·%² ܃Ñ ˆ ˆ �*Òo"‰÷‹¬ w,æy¦ˆˆ7ŠÕ 7ŠÓ À v‰�*öo÷‹Â l‰·Š€ 7Šª wbç÷�v û À z·Š¦ P‰ñ(p¶Îå¦Îe*ç‡þs¬s�sns~sTtptRx€x[Ä�\ÿŒŒŒ7‘þÿ7Š0 ÷•ÿÿ, ÷à÷T iþÿ"&T( ç,ìwæÆ.ÿ& ÷ ÿæ2æ0÷•@pÿà D‡20 pÿ¿,÷‹ü A „ &DCƒcà ÷Ú w 2w ΄p,4·ŠÜ w ð  '  7ŠÈ Ä´ „ ‚ ¦',X&w ¶„‚À•\w ¶wXw ºw ö�Ä Ý0|øfw |÷•Ú·†¦æ°xˆœÿÿÂEs*¢rØÿP‰‚‡æ°x¦ˆˆ‡7Š‹ À¾|7ø $…,Ær Ñ ÷‹ó÷0÷y÷÷öxE*ìr‡ÀÊ 7ŠŽ ¾| ÷ îæD}ææˆ÷�± Û*sr ÷ Öæ¾|æÎˆ÷� Z÷ŘÿTÀe†Ú*4s7„  D}þ‰É¥ü‡w€êw î‰fÎ |*Xs�e P"Ð È û€‰‡üf&æ¦f&~°*|s ¶ €�‚ƒ„…‡æ˜À NŒý†‘“Ε•* sÎ ø†Ö ‡wí‰ÅþÿÄýÿ C”Ã¥ Ã¥$]*Äs × A‡Ãå ÃåÃå Ãå    ¦  ³,ès‚eÂ`„ ä�… Þv‰‡‰ÄþÿÅýÿÂNt`*t ‡€âƒ ûË× Ãe ÃeÃe ûÛ .TITLE PALSYM ;THE PERMANENT SYMBOL TABLE (PST) ; ; VERSION LEVEL 2 ; PATCH LEVEL A ; ; COPYRIGHT 1971, DIGITAL EQUIPMENT CORP. ; MAYNARD, MASSACHUSETTS ; ;THE PST IS A SEPERATE OBJECT MODULE WHICH ;IS LOADED TO RESIDE IMMEDIATELY BELOW THE ;ASSEMBLER IN CORE MEMORY. ONCE ASSEMBLED, IT ;IS FIXED IN SIZE; HOWEVER, IT MAY BE ;EDITED, ASSEMBLED, AND LINKED TO SUIT THE ;SPECIFIC NEEDS OF CUSTOMERS. ;THE PST IS BOUNDED BY THE INTERNAL GLOBAL ;SYMBOLS SYMTBB AND SYMTBT, WHERE THE ;Ü0!:!:!=, !ô$·Š@P‰&æ&!ˆæ&!ˆ‡EE&!&!3&.!EExQ€M^Ðfi ˆ!@,ˆ!\M€fây€fŠ!ð!:!Ô!D!äŠ!ð! :!"Ô!&D!Í,¬!â!”!þ!,â!”! þ!ù,Ð!ß,ô!¹,"0?',<"r ä `"o d"c,d"Ýt €w „7Š€ wtwhw ŒÄO Ñ *O l,¤  Ä%_ û‚ÀEøÿÄ Äe‚ whÄåH ÷À; _ "H Ï,È6 Á ÷ æÀ=w F·Š6 À�/ w :À�( w %  Ì,ì2À�! w *À w "w *  7� w ·,7�þw 7Šø7�óÀ Á ÷ JÄÔ  �,4wð7ŠØ  wèw (‚b‚ ‚ ·®wúw ,X‚øw �A�Á � � B`ï÷ r÷%„D,|€…Ö w|÷‹„û 7Štwr÷•ÿÿj�, wh·Šg ÄEøÿÄ 74pwh÷‹P Z 4¤,ÄÄEøÿÄ Ã t4Pà õôÿÿ4Þ*2tÃe Ñ�Ò … è€Ð „ ßv‰‡@(ö T*Vt�‘Ä‘ö €ÄB‰Ž‡ÄÄm‡b*ztæ Îå Ö-ö‡6‰‡‰Àä7 䇉ÎeS*žt‡ð¥Àe ò#û0-÷6‰‡’*Ât‰]À¦À°7 ¢‡‰‡#0-G*æt ð¥6‰Îe‡Àe è*‰‡Û* uô¥ûÎe‡*‰‡Îe‡&ÀPS*.u÷e B2‰€‡‰Ä2‰÷e *÷eú*Ru &””””2‰‰‡‰ÄÄe 7! †²*vu­ #‚ô‡2-ðƒ7!ö‚÷e î× *šu‰ÀÜÁe  ‚‰‡!!!!!ö‰Æ*¾uÁ @`� 7 ²‡‰‡BßFORMER IS THE HIGHEST ADDRESS OF THE ;PST AND THE LATTER IS THE ADDRESS OF ;THE 1ST WORD BELOW THE PST. ;THE PST IS ORDERED (TO PERMIT BINARY ;SEARCHING) WITH THE SMALLEST SYMBOL (IN ;MOD40 PACKED NOTATION) HIGH IN CORE AND ;THE LARGEST SYMBOL (IN MOD40 PACKED NOTATION) ;LOW IN CORE. ;MOD40 CHARACTER REPRESENTATION ;A THRU Z : 1 THRU 26 RESPECTIVELY ; $ : 27 ; . : 28 ;0 THRU 9 : 30 THRU 39 RESPECTIVELY ;MOD40 PACKED NOTATION ;1ST PACKED TRIAD = CHAR1*40*40+CHAR2*40+CHAR3à,«0zÓ«… âyðÂ,ˆ"&"¬"qQà[ F#€,F#/E CC TRANSFER ADDRESS: R p#Vp# LOW LIMIT: R ƒ#Cƒ# HIGH LIMIT:  —#/ —# ! š#, ¤#" ®#®#Ú< Ä#Ä# LINK11.OVR  �$5�$Ú_ P%tP%€ö Ø%ìØ%€p ^&e^& / l&W l&,5 s&P s&áIw Y4 4Q,èÛ×-ÉÂ% w ’ ÿÿÀ=w ÀH, òÁê7Ä í4À=w øÀÀe0© 4¦,0w ìÀ,w äÂ%ÀÀ@w ~k÷‹¾&,TÄØüÂeÀ=÷–w ´@w Xwºüw­,x’·Š¬w¢À=w – w ü ÿÿÀd—,œw *AÀe0w vÀ,w næH÷BÀF),Àw ·6-À ÷.27ì4,€ â÷Ä 4¢,ä÷‹( ÀBüÄ:üÃ8üw Ö÷üðÀ?j,w 7 îw ò7Šø7Šó7Š     w y,,À%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 3 äâ ýö& æ<1*âu‡ LINK-11 V007A PA¾*vSS 1 PASS 2 # ÄåÀÀ**vZÁš~‰Á¡~‰À’~‰V‰÷£Ôh‰w2ñb,Nv÷‹Èh‰ÀNyÁý~‰÷ì¤7 ¢À zÁþ*tv‰7 ’÷8ŽÀ zÁö~‰Àî~‰wìð÷Œ¸*˜v‚h‰Ý€ÁÌ~‰ÀÄ~‰÷Àj& æd‡,*¼v÷ˆZh‰É‰ ‰Äå÷ÁH&æB‰‡o*àv÷‰6h‰wlÿ÷Š*h‰w`ÿ÷�h‰wTÿÓ*w÷Žh‰wpð÷�h‰wdð÷�úh‰wXð/*(w&þÿÎEÿÎæ‚÷‹‚wÿ7Šxw6ð÷*Lw–Ìh‰w*ð÷†Àh‰wð÷“´h‰wð÷‹*pwã ;2ND PACKED TRIAD = CHAR4*40*40+CHAR5*40+CHAR6 ; ;EACH ENTRY IS 4 WORDS WITH THE LOWEST WORD ;CONTAINING THE 1ST PACKED TRIAD, THE NEXT ;LOWEST CONTAINING THE 2ND PACKED TRIAD, THE ;NEXT LOWEST CONTAINING THE VALUE (WHICH FOR ;ASSEMBLER DIRECTIVES IS AN EXTERNAL GLOBAL ;TO BE LINKED TO THE APPROPRIATE PROCESSOR IN ;PAL-11R) AND THE HIGHEST WORD CONTAINING ;THE FLAGS IN THE LOW BYTE AND THE CONTROL ;SECTION ID (WHICH IS ALWAYS 0 FOR PST ;ENTRIES) IN THE HIGH BYTE. ; ;INTERNAL G B v&M v& ********** H% Ö&í,Ö&UNDEFINED REFERENCES Î,ú&LOAD MAP SECTION ENTRY ADDRES×'S SIZE  ¸ 4'Ž 4',l ;'‡ ;' y >'„*>' ?LOAD MODULE EOM ¦ f'\f'  z'Hz' ú �'2 �': —'+ —'. ž'$ ž' óå $3 Ž.P� W Ö†ø÷‹Ì ÷‹©Äm¼7ŠºÁ yv6 (vNv®¼ÆœÄ*D&€.®¼Æ  œÄ*D&€ZФô@<’V^ˆ¼}.¤ô@ < ’V^ˆ¼l,žNzÞü‚Æ ðƒ·ŠZ7ŠU´÷<Ì&NzÞ ü ‚Æ ð~,ÂD ÷2 7.7(÷% Ä„ Ê,æî‡ÀÀŸw Ô÷%‹À•=w ÀŸöo, w À• w wúþ÷ ÈwêþwÞþ·ŠÞ÷ Ð@,.ù÷ ²÷ Ð÷ÄÀ7ŠÄ÷m¶¶÷²²w ,R¬ææƒ¨h‰wð÷„œh‰wúïwôï÷•Šh‰\*”wwèï÷Ò~h‰‡÷¨th‰wÒï÷«hh‰wÀ*¸wÆï÷Ó\h‰‡÷ÔRh‰‡÷­Hh‰w¦ï÷|*ÜwÕ<h‰‡ù¥:Ó Ñ Ö æ|‰Ñ ‡f'*xæ"ˆ“Ö ‡33 /RT:NAME:PRIORIT–'$xY:CALL NO:MAX TIME:STACK SIZE/E ËFxRTH !*Rx&æœxˆæœxˆ‡&æ¦xˆæ¦xˆðµ@º*vxô$·Š@P‰&æ’xˆæ’xˆ‡EEÑ$šxEExQ€M^Ðf«*ôx\M€fây€föx\y¦x@y°xU*yNyyjy!* Àe7”' ÷µ@! Ç÷µ@ P‰Ð È%á,ŽâÁ„ Ð $Ý$ÛЋ7”ù ×­õ Ôw¾õ+,²·Šc d‰ f‰fæ"ˆ·Še ·b wHüwFüç,ÖW"(‡,v Äýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå0š Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂø J *ø Ä,  ‡€âƒ ûË× Ãe ÃeÃe ¬!æ Ãe Ñ�Ò … è€Ð ‡@(œ  Þ, ODT-11R V00q$ 2ABEÄ , ²,, *;/\ $G _<^,OWEBP@>SRC-FI!XAS<P PMCFRBÐ ` ~ ` „ Ó,ÿÿÿÿÿÿ¹:ÿÿÿÿÿÿÿÿÿÿº V“ h� zoóú— 7úÿ *|l| 7üÿx ÷’t ·Šh Ð ÷er 7~ æÞ æ&* lØ Žå·r 7 n `‰÷ d wØw¼÷‹4  *Äl7Š. ·Š, ÷. ¡÷‹ ž7Š ›÷‹ G÷‹.èl æ(÷ "· ;w ¨÷‹• ~‰‰æ°xŠmˆ÷ < ÷4 Em^ø,m÷( æNyæ°xˆæ{æ°xˆæ°xˆ÷{Ö *DmÀÒ $j‰7¸ 7 ´ Ð%ê7$œ ç7$˜ äЋ"*hm7”Ÿ ×­› Ý$‰wÌþw ,‰ÁŽ fÎ N` œ*Œm΄ ‡÷‹ 7Š ÷{x æ{æ°xˆæ°x™,°mˆÀd $j‰Ð È%íæ{æ°xˆ÷{ûECT .WORD ASMDIR ; .WORD 127551 ; .BYTE .WORD 076710 .WORD BYTE .WORD ASMDIR ; .WORD 127473 ; .ASECT .WORD 017714 .WORD ASECT .WORD ASMDIR ; .WORD 127473 ; .ASCII .WORD 012061 .WORD ASCII .WORD ASMDIR ; ; ; .WORD 107761 ;WAIT .WORD 076400 .WORD 000001 .WORD SCLAS0 ; .WORD 100014 ;TST .WORD 0 .WORD 005700 .WORD SCLAS1+BYTFLG ; .WORD 077721 ;TRAP .WORD 062000 .WORD 104400 .WORD SCLAS6 ; .WORD 075131 ;SWAB .WORD 006200 .WORD 000300 .üf‰÷‹4 ÷W®A‡fæ"ˆ·¤ Œ,úæ"ˆ·œ ·Š? ·Š" àfæ"ˆ·† – ¢,†X‰·Š ·Š Ñ÷‹æ Ð·Š Í·Š ÷‹Ö È«,Bd‰·Šú ÄEˆUX$ÿÿd‰&fÀ¬ À-yˆX$k,f¨ ÷ �€w®û·Š¯ ‰ÀÖ&‰@w&ód‰‹ Ö&Ø,ŠÖ ÷‹† w’ìwüówŠì÷‹u ‰÷‹m ÷‹Æ,®« ÀÚ ‰ÀP#‰÷‹• `÷æ0 æ”!ˆ÷  Ú P#æ"”!jÒ. ÷& ˆ Øú Øây¨ ÜöýÜ÷ Ä„c÷‹q ÷ ¶¡*&æxê*j3Á—rC7!ª†&æ!næœÎmœŽ Žm&’*Ž3Ž`Î –%ð‚Í À‹Ç÷Õ;ÿ&ö�5ÿæT¼*²3Ñ�ð÷ X7`÷ PÄå7X7R·R÷ H*Ö31Î T÷•àÌÁ—rÀ�Ü  fæu*ú3. pùrÁåý1 P1 0@ ÷[ð ±*4PêWÀ ð PÀåý÷ Ï pS&B4= À—Á^ pœø÷•àžËÀ—ñ*b4rð PÀeýùr 2œÂã*†4ÄhÔ w ä ÂåýŸ r*„P÷ñ (ª4w,ÿœÁþH æ°x�*ÖmˆÀ> Àe7”' ÷µ@! Ç÷µ@ P‰Ð È%#*úmâÁ„ Ð $Ý$ÛЋ7”ù ×­õ Ôw¾õm*n·Šc d‰ f‰fæ"ˆ·Še ·b wHüwFü(*BnW"(‡f‰÷‹4 ÷W®A‡fæ"ˆ·¤ Í*fnæ"ˆ·œ ·Š? ·Š" àfæ"ˆ·† – ã*Šn†X‰·Š ·Š Ñ÷‹æ Ð·Š Í·Š ÷‹Ö Èí*®nd‰·Šú ÄEônUÄn�jÿÿd‰&fÀ¬ À-r*Òn¨ ÷ �€w®û·Š¯ ‰ÀB~‰@w&ód‰ *önÖ ÷‹† w’ìwüówŠì÷‹u ‰÷‹m ÷‹*o« ÀFx‰À¼z‰÷‹• `÷Ro0 æyˆ÷ 6ÿWORD SCLAS1 ; .WORD 075012 ;SUB .WORD 0 .WORD 160000 .WORD SCLAS2 ; .WORD 073642 ;SEZ .WORD 0 .WORD 000264 .WORD SCLAS0 ; .WORD 073636 ;SEV .WORD 0 .WORD 000262 .WORD SCLAS0 ; .WORD 073626 ;SEN .WORD 0 .WORD 000270 .WORD SCLAS0 ; .WORD 073613 ;SEC .WORD 0 .WORD 000261 .WORD SCLAS0 ; .WORD 073473 ;SCC .WORD 0 .WORD 000277 .WORD SCLAS0 ; .WORD 073423 ;SBC .WORD 0 .WORD 005600 .WORD SCLAS1+BYTFLG ; .WORD 071663 ;RTS .WORD 0 .WORD 0&Üæþ!æ”!ˆ7  ·Šg ÷  ÷ 4þ! ”!öî öâyŠ úØ,ú÷ü æþ!æ”!ˆ ‰Âú · ú .†Ñ ˆ ˆ  þ!”!û,‘‘‘‘‘Èe &Îe —%z‚¦Îe ·%Ì R,B‚ì"‰÷‹Ì wL¦Îe ·%² ܃Ñ ˆ ˆ ?,f"‰÷‹¬ w,æ”!¦ˆˆ7ŠÕ 7ŠÓ À ‰Ó”!$ B,Š÷‹Â l‰·Š€ 7Šª wbç÷�v û À "·Š¦ P‰s   "*®¶Îå¦Îe¾�‡’@$èæ !».¾�’@$ßåpü r0 P0 á*Ì407�ô÷•`&ËÄB„cw ”7�ßÀ2Â8*ð42w þæ(æ­&æ ©æræ¤Í y*5ÄÍ ÃÄP‡÷ èÿÍ À‹wjþÃêÿÏ*85ÄâÿaÄ ƒc³côÿ³cîÿ³còÿ; îÿÁ�nœìÿ**\5±�1ñUÿ€0ñPw ºÔ7 Twšýèÿaß Ð*€5‚!hƒÀ—rP!‚ñ îÿ†Àeý z*¤5òÕ …h2’2–2jÈ5œ,*Ð5f-è,%Ú5f2Î5~Ä*â5Æþßàþÿß:ßàß6ßà§>o. ÷& ÉDoâyé$Hoæjyæyˆ7  ·Šg ÷  ÷ íboâyË*fo÷ü æjyæyˆ ‰Âú · ú .†Ñ ˆ ˆ Ù*Šo‘‘‘‘‘Èe &Îe —%z‚¦Îe ·%Ì ”*®o‚ì"‰÷‹Ì wL¦Îe ·%² ܃Ñ ˆ ˆ �*Òo"‰÷‹¬ w,æy¦ˆˆ7ŠÕ 7ŠÓ À v‰�*öo÷‹Â l‰·Š€ 7Šª wbç÷�v û À z·Š¦ P‰ñ(p¶Îå¦Îe*ç‡þs¬s�sns~sTtptRx€x[Ä�\ÿŒŒŒ7‘þÿ7Š0 ÷•ÿÿ, ÷à÷T iþÿ"&T( ç,ìwæÆ.ÿ& ÷ ÿæ2æ0÷•@pÿà D‡20 pÿ¿,÷‹ü A „ &DCƒcà ÷Ú w 2w ΄p,4·ŠÜ w ð  ' ˜ÿTÀe†Ú*4s7„  D}þ‰É¥ü‡w€êw î‰fÎ |*Xs�e P"Ð È û€‰‡üf&æ¦f&~°*|s ¶ €�‚ƒ„…‡æ˜À NŒý†‘“Ε•* sÎ ø†Ö ‡wí‰ÅþÿÄýÿ C”Ã¥ Ã¥$]*Äs × A‡Ãå ÃåÃå Ãå    ¦  ³,ès‚eÂ`„ ä�… Þv‰‡‰ÄþÿÅýÿÂNt`*t ‡€âƒ ûË× Ãe ÃeÃe û*2tÃe Ñ�Ò … è€Ð „ ßv‰‡@(ö T*Vt�‘Ä‘ö €ÄB‰Ž‡ÄÄm‡b*ztæ Îå Ö-ö‡6‰‡‰Àä7 䇉Îe .WORD 0 .WORD 000257 .WORD SCLAS0 ; .WORD 010003 ;BVS .WORD 0 .WORD 102400 .WORD SCLAS4 ; .WORD 007763 ;BVC .WORD 0 .WORD 102000 .WORD SCLAS4 ; .WORD 007520 ;BR .WORD 0 .WORD 000400 .WORD SCLAS4 ; .WORD 007414 ;BPL .WORD 0 .WORD 100000 .WORD SCLAS4 ; .WORD 007265 ;BNE .WORD 0 .WORD 001000 .WORD SCLAS4 ; .WORD 007221 ;BMI .WORD 0 .WORD 100400 .WORD SCLAS4 ; .WORD 007164 ;BLT .WORD 0 .WORD 002400 .WORD SCLAS4 ; .WORD 007157 ;BLO,6ØÿP‰‚‡æD!¦ˆˆ‡7Š‹ ÀR%7ø $ÉD! R%ß.Z Ñ ÷‹ó÷0÷”!÷÷Š!Š”!&Š!M,€‡ÀÊ 7ŠŽ R% ÷ îæØ%ææˆ÷�± R%Ø%K,¤r ÷ ÖæR%æÎˆ÷� Z÷ŘÿTÀe†\ R%i,È7„  Ø%þ‰É¥ü‡w€êw î‰fÎ ÿ  Ø%é,ì�e P"Ð È û€‰‡üf&æ¦f&~o, ¶ €�‚ƒ„…‡æ˜À NŒý†‘“ΕS,4Î ø†Ö ‡wí‰ÅþÿÄ 7ŠÈ Ä´ „ ‚ ¦',X&w ¶„‚À•\w ¶wXw ºw ö�Ä Ý0|øfw |÷•t €w „7Š€ wtwhw ŒÄO Ñ *O l,¤  Ä%_ û‚ÀEøÿÄ Äe‚ whÄåH ÷À; _ "H Ï,È6 Á ÷ æÀ=w F·Š6 À�/ w :À�( w %  Ì,ì2À�! w *À w "w *  7� w ·,7�þw 7Šø7�óÀ Á ÷ JÄÔ  �,4wð7ŠØ  wèw (‚b‚ ‚ ·®wúw ,X‚øw �A�Á � � B`S*žt‡ð¥Àe ò#û0-÷6‰‡’*Ât‰]À¦À°7 ¢‡‰‡#0-G*æt ð¥6‰Îe‡Àe è*‰‡Û* uô¥ûÎe‡*‰‡Îe‡&ÀPS*.u÷e B2‰€‡‰Ä2‰÷e *÷eú*Ru &””””2‰‰‡‰ÄÄe 7! †²*vu­ #‚ô‡2-ðƒ7!ö‚÷e î× *šu‰ÀÜÁe  ‚‰‡!!!!!ö‰Æ*¾uÁ @`� 7 ²‡‰‡B ýö& æ<1*âu‡ LINK-11 V007A PA¾S .WORD 073300 .WORD 101400 .WORD SCLAS4 ; .WORD 007157 ;BLO .WORD 0 .WORD 103400 .WORD SCLAS4 ; .WORD 007145 ;BLE .WORD 0 .WORD 003400 .WORD SCLAS4 ; .WORD 006774 ;BIT .WORD 0 .WORD 030000 .WORD SCLAS2+BYTFLG ; .WORD 006773 ;BIS .WORD 0 .WORD 050000 .WORD SCLAS2+BYTFLG ; .WORD 006753 ;BIC .WORD 0 .WORD 040000 .WORD SCLAS2+BYTFLG ; .WORD 006711 ;BHIS .WORD 073300 .WORD 103000 .WORD SCLAS4 ; .WORD 006711 ;BHI .WORD 0 .WORD 101000 ýÿ C”Ã¥ Ã¥$,X × A‡Ãå ÃåÃå Ãå    ¦  q.|‚eÂ`„ ä�… Þv‰‡‰ÄþÿÅýÿÂââ (âÊ,¢ ‡€âƒ ûË× Ãe ÃeÃe º,ÆÃe Ñ�Ò … è€Ð „ ßv‰‡@(ö ,ê�‘Ä‘ö €ÄB‰Ž‡ÄÄm‡!,æ Îå Ö-ö‡6‰‡‰Àä7 䇉Îe,2‡ð¥Àe ò#û0-÷6‰‡P,V‰]À¦À°7 ¢‡‰‡#0-,z ð¥6‰Îe‡Àe è*‰‡™ï÷ r÷%„D,|€…Ö w|÷‹„û 7Štwr÷•ÿÿj�, wh·Šg ÄEøÿÄ 74pwh÷‹P Z 4¤,ÄÄEøÿÄ Ã t4Pà õôÿÿ4Iw Y4 4Q,èÛ×-ÉÂ% w ’ ÿÿÀ=w ÀH, òÁê7Ä í4À=w øÀÀe0© 4¦,0w ìÀ,w äÂ%ÀÀ@w ~k÷‹¾&,TÄØüÂeÀ=÷–w ´@w Xwºüw­,x’·Š¬w¢À=w – w ü ÿÿÀd—,œw *vSS 1 PASS 2 # ÄåÀÀ**vZÁš~‰Á¡~‰À’~‰V‰÷£Ôh‰w2ñb,Nv÷‹Èh‰ÀNyÁý~‰÷ì¤7 ¢À zÁþ*tv‰7 ’÷8ŽÀ zÁö~‰Àî~‰wìð÷Œ¸*˜v‚h‰Ý€ÁÌ~‰ÀÄ~‰÷Àj& æd‡,*¼v÷ˆZh‰É‰ ‰Äå÷ÁH&æB‰‡o*àv÷‰6h‰wlÿ÷Š*h‰w`ÿ÷�h‰wTÿÓ*w÷Žh‰wpð÷�h‰wdð÷�úh‰wXð/*(w&þÿÎEÿÎæ‚÷‹‚wÿ7Šxw6ð÷*Lw–Ìh‰w*ð÷†Àh‰wð÷“´h‰wð÷‹* .WORD SCLAS4 ; .WORD 006654 ;BGT .WORD 0 .WORD 003000 .WORD SCLAS4 ; .WORD 006635 ;BGE .WORD 0 .WORD 002000 .WORD SCLAS4 ; .WORD 006531 ;BEQ .WORD 0 .WORD 001400 .WORD SCLAS4 ; .WORD 006413 ;BCS .WORD 0 .WORD 103400 .WORD SCLAS4 ; .WORD 006373 ;BCC .WORD 0 .WORD 103000 .WORD SCLAS4 ; .WORD 004512 ;ASR .WORD 0 .WORD 006200 .WORD SCLAS1+BYTFLG ; .WORD 004504 ;ASL .WORD 0 .WORD 006300 .WORD SCLAS1+BYTFLG ; .WORD 003344 ;ADD .WORD ,žô¥ûÎe‡*‰‡Îe‡&ÀP,Â÷e B2‰€‡‰Ä2‰÷e *÷e¹,æ &””””2‰‰‡‰ÄÄe 7! †q, ­ #‚ô‡2-ðƒ7!ö‚÷e î×È,.‰ÀÜÁe  ‚‰‡!!!!!ö‰„,RÁ @`� 7 ²‡‰‡B ýö& æ<ï,v‡ LINK-11 V007A PA|,šSS 1 PASS 2 # ÄåÀ,¾ZÁ.'‰Á5'‰À&'‰V‰÷£Ôh‰w2ñj.'5'&'º.*AÀe0w vÀ,w næH÷BÀF),Àw ·6-À ÷.27ì4,€ â÷Ä 4¢,ä÷‹( ÀBüÄ:üÃ8üw Ö÷üðÀ?j,w 7 îw ò7Šø7Šó7Š     w y,,À%0 ‚À%7‡ÀEøÿÄ Ä Ä `‚ ð 1 3 ä $3 Ž.P� W Ö†ø÷‹Ì ÷‹©Äm¼7ŠºÁ yv6 (vNv®¼ÆœÄ*D&€.®¼Æ  œÄ*D&€ZФô@<’V^ˆ¼}.¤ôpwƒ¨h‰wð÷„œh‰wúïwôï÷•Šh‰\*”wwèï÷Ò~h‰‡÷¨th‰wÒï÷«hh‰wÀ*¸wÆï÷Ó\h‰‡÷ÔRh‰‡÷­Hh‰w¦ï÷|*ÜwÕ<h‰‡ù¥:Ó Ñ Ö æ|‰Ñ ‡f'*xæ"ˆ“Ö ‡33 /RT:NAME:PRIORIT–'$xY:CALL NO:MAX TIME:STACK SIZE/E ËFxRTH !*Rx&æœxˆæœxˆ‡&æ¦xˆæ¦xˆðµ@º*vxô$·Š@P‰&æ’xˆæ’xˆ‡EEÑ$šxEExQ€M^Ðf«*ôx\M€fây€föx\y¦x@y°x0 .WORD 060000 .WORD SCLAS2 ; .WORD 003343 ;ADC .WORD 0 .WORD 005500 .WORD SCLAS1+BYTFLG ; ; ; SYMTBB=.-2 ;HIGHEST ADDRESS OF PST. .END â÷‹Èh‰Àâ!Á‘'‰÷ì¤7 ¢À "Á˜'Ìâ!‘'$ "(˜'5,‰7 ’÷8ŽÀ "ÁŠ'‰À‚'‰wìð÷ŒÀ "Š'‚'†,,‚h‰Ý€Á`'‰ÀX'‰÷Àj& æd‡p`'X'Ã,P÷ˆZh‰É‰ ‰Äå÷ÁH&æB‰‡-,t÷‰6h‰wlÿ÷Š*h‰w`ÿ÷�h‰wTÿ‘,˜÷Žh‰wpð÷�h‰wdð÷�úh‰wXðî,¼&þÿÎEÿÎæ‚÷‹‚wÿ7Šxw6ð÷×,à–Ìh‰w*ð÷†Àh‰wð÷“´h‰wð÷J, ƒ¨@ < ’V^ˆ¼l,žNzÞü‚Æ ðƒ·ŠZ7ŠU´÷<Ì&NzÞ ü ‚Æ ð~,ÂD ÷2 7.7(÷% Ä„ Ê,æî‡ÀÀŸw Ô÷%‹À•=w ÀŸöo, w À• w wúþ÷ ÈwêþwÞþ·ŠÞ÷ Ð@,.ù÷ ²÷ Ð÷ÄÀ7ŠÄ÷m¶¶÷²²w ,R¬æ¦÷ Àžw ®·”Ö%À/w Ë,v¨¯À\ú÷ zÔ÷ \÷íppÜÀ` Ä Ã � "` c,š… L‡Å ÄeD  !RB†Ô ù!R=‚U*yNyyjy!*'„*>' ?LOAD MODULE EOM ¦ f'\f'  z'Hz' ú �'2 �': —'+ —'. ž'$ ž' ó1?‘‡Ã1 Ã2 p"1 (2 (, Ä0 w Nÿ…÷%öw ªþ…÷Ú77õ 0 ¯,. Ðw ZÿÀ Àe0w àþÀ,w Øþæ²÷¬�,R À°w pþ· ÷ÊœÀÆ…ÀÀ÷ºŒÓ ,v Äýÿ C”Ã¥ Ã¥$ × A‡Ãå ÃåÃå0š Ãå    ¦  ‚eÂ`„ ä�‡ÅýÿÂø J *ø Ä,  ‡€âƒ ûË× Ãe ÃeÃe ¬!æ Ãe Ñ�Ò … è€Ð ‡@(œ  Þ, ODT-11R V00q ND.E  T.PSF OSSREDD ASTHEIG;H   -2=.BBMTSY ;; ;G FLYT+BS1LASC RDWO. 0 50050D OR.W  0D OR.W  DC;A  433300 RDWO. ; S2LASC RDWO. 0 00600D OR.W  0D OR.W  DD;A  443300 RDWO. ; LGTFBY1+ASCLSD OR.W  006300 RDWO. 0 RDWO. L AS; 4 50040D OR.W  ;G FLYT+BS1LASC RDWO. 0 20060D OR.W3R ; .WORD 127473  ; .ASECT .WORD 017714 .WORD ASECT .WORD ASMDIR ; .WORD 127473  ; .ASCII .WORD 012061 .WORD ASCII .WORD ASMDIR ; ; ; .WORD 107761  ;WAIT .WORD 076400 .WORD 000001 .WORD SCLAS0 ; .WORD 100014  ;TST .WORD 0 .WORD 005700 .WORD SCLAS1+BYTFLG ; .WORD 077721  ;TRAP .WORD 062000 .WORD 104400 .WORD SCLAS6 ; .WORD 075131  ;SWAB .WORD 006200 .WORD 000300 .WORD4 ;LINE AVAILABLE FOR TRANSFER? BNE KB.TFB ;YES-GO TO IT. TSTB K.ENFL(R5) ;CHECK FOR END OF DATA. BNE KB.SC ;YES- RTS PC KB.TFB: MOV #K.OUT,R4 ;YES-SET POINTERS MOV #K.BC,R3 MOV #K.DP,R1 ADD R5,R4 ;ADJUST FOR UNIT #. ADD R5,R3 ADD R5,R1 KB.TFH: MOVB @(R4)+,R2 ;GET A CHARACTER INC -(R4) ;ADVANCE POINTER CMPB R2,#15 ;CR? BNE KB.TFC ;NO- DEC (R4)+ ;YES-BACK UP THE POINTER AND MOVB #12,@-(R4) ;CHANGE IT TO A LF. KB.TFC: MOVB R2,@(R1)+ ;GIVE CHARACTER TO REQUESTOR. INC -($ 2ABEÄ , ²,, *;/\ $G _<^,OWEBP@>SRC-FI!XAS<P PMCFRBÐ ` ~ ` „ Ó,ÿÿÿÿÿÿ¹:ÿÿÿÿÿÿÿÿÿÿº V“ h� zoó  0D OR.W  SR;A  124500 RDWO. ; S4LASC RDWO. 0 00031D OR.W  0D OR.W  CC;B  736300 RDWO. ; S4LASC RDWO. 0 40031D OR.W  0D OR.W  CS;B  136400 RDWO. ; S4LASC RDWO. 0 40010D OR.W  0D OR.W  EQ;B  316500 RDWO. ; S4LASC RDWO. 0 00020D OR.W  0D OR.W  GE;B  356600 RDWO. ; S4LASC RDWO. 0 00030D OR.W  0D OR.W  GT;B  546600 RDWO. ; S4LASC RDWO. 0 00011D OR.W  0D OR.W  HI;B  116700 RDWO. Òý7 SCLAS1 ; .WORD 075012  ;SUB .WORD 0 .WORD 160000 .WORD SCLAS2 ; .WORD 073642  ;SEZ .WORD 0 .WORD 000264 .WORD SCLAS0 ; .WORD 073636  ;SEV .WORD 0 .WORD 000262 .WORD SCLAS0 ; .WORD 073626  ;SEN .WORD 0 .WORD 000270 .WORD SCLAS0 ; .WORD 073613  ;SEC .WORD 0 .WORD 000261 .WORD SCLAS0 ; .WORD 073473  ;SCC .WORD 0 .WORD 000277 .WORD SCLAS0 ; .WORD 073423  ;SBC .WORD 0 .WORD 0056008R1) ;ADVANCE POINTER CMP (R4),K.IN(R5) ;ALL CHARS GONE? BHIS KB.TFE ; YES- KB.TFD: INC (R3) ;NO - IS REQUEST DONE? BLT KB.TFH ;NO - GO GET ANOTHER CHARACTER. BR KB.TFI ;YES - TAKE COMPLETION EXIT. KB.TFF: CLRB @(R1)+ ;GIVE A NULL TO REQUESTOR INC -(R1) ;ADVANCE POINTER KB.TFE: TSTB K.ENFL(R5) ;END OF DATA FROM KEYBOARD? BNE KB.SC ;YES-GO TERMINATE NOW. INC (R3) ;COUNT THE CHARACTER. BLT KB.TFF ;NOT DONE YET - KB.TFG: MOV #1,K.BC(R5) ;DON'T LEAVE A 0 COUNT JSR PC,KB.RES KNI UCHET FTOE INUTRO; ;C PTS R ERNTOI PHE TUPK AC B -ES;Y R13, RUB S -NO ;4 .+T BL ? AR FOO TNEGO ;SZEB,#R3P CM . FFBUF ONGNIINEG BND ATR;P3 ,R5)(RBP EUB S NTREUR CENWEET BCEENERFFDIM OR;F R31, ROV MR:CWK. ;3 RWSLO;B ;T ESERNT IOFR PT1=;RR CWK.C, PSR J ;# T NI=UR5 ;H IT WLLCA; ERNTOI PHOECF ONDOUARP RA WOR FCKHE C ;; PCS RT S ESPRUP SHOECO ;N) R5F(ESK.B LR C ORATINRMTEO ;N) R5M(TRK.B LR C 4)(R),R3 (OV M S.ERNTOI PFFBUT SERE);R3,(5)(RUF.B KOV M S.ERNTOI PTOS TR PET;GP CRB.,K^ÿ; S4LASC RDWO. 0 00031D OR.W  003307 RDWO. S HI;B  116700 RDWO. ; LGTFBY2+ASCLSD OR.W  000004 RDWO. 0 RDWO. C BI; 3 75060D OR.W  ;G FLYT+BS2LASC RDWO. 0 00500D OR.W  0D OR.W  IS;B  736700 RDWO. ; LGTFBY2+ASCLSD OR.W  000003 RDWO. 0 RDWO. T BI; 4 77060D OR.W  ;4 ASCLSD OR.W  003400 RDWO. 0 RDWO. E BL; 5 14070D OR.W  ; 4 ASCLSD OR.W  003410 RDWO. 0 RDWO. O BL; 7 15070D OR.W  ;4 ASCLSD Îý; .WORD SCLAS1+BYTFLG ; .WORD 071663  ;RTS .WORD 0 .WORD 000200 .WORD SCLAS3 ; .WORD 071651  ;RTI .WORD 0 .WORD 000002 .WORD SCLAS0 ; .WORD 071352  ;ROR .WORD 0 .WORD 006000 .WORD SCLAS1+BYTFLG ; .WORD 071344  ;ROL .WORD 0 .WORD 006100 .WORD SCLAS1+BYTFLG ; .WORD 070533  ;RESET .WORD 021140 .WORD 000005 .WORD SCLAS0 ; .WORD 054750  ;NOP .WORD 0 .WORD 000240<B.TFI: JMP @14(R0) ;COMPLETION EXIT. .IFNZ TK.NOU ; ;NON CONSOLE INPUT OPEN ; TK.OPA: CLR TK ;NOT BUSY JSR PC,TT.GU ;GET UNIT # BR TK.OPC ;JOIN NORMAL OPEN/CLOSE ; ; NON-CONSOLE INPUT CLOSE ; TK.CLA: CLR TK ;NOT BUSY JSR PC,TT.GU ;GET UNIT # BR TK.OPB ;JOIN CONSOLE .ENDC ; ; CONSOLE INPUT OPEN/CLOSE ; KB.OPA: MOV #-2,R5 ;UNIT # TK.OPB: JSR PC,KB.RES CLR K.TRM(R5) ;NO TERMINATOR & CLEAR RUBOUT MODE. TK.OPC: MOV #1,K.OPF(R5) ;SET OPEN FLAG AND CLEAR ECHO SUPPRESS FLAG. PCR JS: ES.RKB ;G LA FSSREPPSUO CH END AAGFLR TONAMIER T ;, RSTEINPOF UF BETES RTOD AN; RSPTF UF BTOS TR PET GTOE INUTROUB;S PCS RT: SXO.KB R3T,OUK. #DD A R4N,.I#KD AD 3 ,RR5V MO S ERNTOI PERFFBUO TRSTEINPOE ATRE;C R45, ROV MP:CRB. K3 RND AR4O NT IRSTEINPOT OUD ANN ITOS ERNTOI PUT P ;. ITEX ;G TFB. KBR R LEAL CTOT ULES RRNTURE ;0)(R161, ROV M NTOU CRDWOO TBCG ININMARET ERNVCO ;1 RSR A UEAL VROZEN-NOA E URNS;I R16, #UB SB:.SKB RNTURE- O ;N SXO.KBT BG ? SSREOGPRN IERSFANTR ;R1),R5C(.BËýOR.W  001410 RDWO. 0 30730D OR.W  OSBL; 7 15070D OR.W  ;4 ASCLSD OR.W  002400 RDWO. 0 RDWO. T BL; 4 16070D OR.W  ;4 ASCLSD OR.W  000410 RDWO. 0 RDWO. I BM; 1 22070D OR.W  ;4 ASCLSD OR.W  001000 RDWO. 0 RDWO. E BN; 5 26070D OR.W  ;4 ASCLSD OR.W  000010 RDWO. 0 RDWO. L BP; 4 41070D OR.W  ;4 ASCLSD OR.W  000400 RDWO. 0 RDWO. R ;B  207500 RDWO. ; S4LASC RDWO. 0 00021D OR.W  0D OR.W  VC;B  637700 RDWO. Êý? .WORD SCLAS0 ; .WORD 054117  ;NEG .WORD 0 .WORD 005400 .WORD SCLAS1+BYTFLG ; .WORD 051656  ;MOV .WORD 0 .WORD 010000 .WORD SCLAS2+BYTFLG ; .WORD 040612  ;JSR .WORD 0 .WORD 004000 .WORD SCLAS5 ; .WORD 040230  ;JMP .WORD 0 .WORD 000100 .WORD SCLAS1 ; .WORD 035254  ;IOT .WORD 0 .WORD 000004 .WORD SCLAS0 ; .WORD 035163  ;INC .WORD 0 .WORD 005200 .WORD SCLAS1+BYTFLG ÇýCLRB K.ENFL(R5) ;NO END OF DATA MOV #15,R2 ;GET A CR TO PUT INTO ECHO BUFF. .IFNZ TK.NOU CMPB EC(R5),#EBSZ ;ECHO BUFF FULL? BLT TK.OPD ;NO- JMP KB.INR ;YES-SKIP OUTPUT OF CR,LF .ENDC TK.OPD: JMP KB.INI ;GO ECHO CR,LF ; COME HERE IF END OF DATA SEEN. KB.SC: MOV K.BC(R5),R1 ;GET REMAINING BC CLRB K.ENFL(R5) ;CLEAR END OF DATA FLAG. BR KB.SB .IFNZ TK.NOU ;NON CONSOLE CANCEL TT.S: JSR PC,TT.GU ;GET UNIT # BR KB.SA .ENDC ;CONSOLE CANCEL KB.S: MOV #-2,R5 ;UNIT # KB.SA: MOV K>%Á÷ ì÷•{"Î1€,Îøÿï0ˆ1Š0Aœ1±Šwä·ŠÑ*ê1­õ0ˆ2222 2ˆ0ˆŒ1T; S4LASC RDWO. 0 40021D OR.W  0D OR.W  VS;B  030001 RDWO. ; S0LASC RDWO. 7 25000D OR.W  0D OR.W  CC;C  731401 RDWO. ; S0LASC RDWO. 1 24000D OR.W  0D OR.W  LC;C  432201 RDWO. ; S0LASC RDWO. 0 25000D OR.W  0D OR.W  LN;C  562201 RDWO. ; LGTFBY1+ASCLSD OR.W  005000 RDWO. 0 RDWO. R CL; 2 26120D OR.W  ;0 ASCLSD OR.W  420200 RDWO. 0 RDWO. V CL; 6 26120D OR.W  ;0 ASCLSD OR.W  440200 RDWOÆýÂý; .WORD 031064  ;HALT .WORD 076400 .WORD 0 .WORD SCLAS0 ; .WORD 020534  ;EMT .WORD 0 .WORD 104000 .WORD SCLAS6 ; .WORD 014713  ;DEC .WORD 0 .WORD 005300 .WORD SCLAS1+BYTFLG ; .WORD 012445  ;COM .WORD 0 .WORD 005100 .WORD SCLAS1+BYTFLG ; .WORD 012412  ;CNZ .WORD 0 .WORD 000254 .WORD SCLAS0 ; .WORD 012330  ;CMP .WORD 0 .WORD 020000 .WORD SCLAS2+BYTFLG ; .WORD 012272  ;CLZ .WORD 0 . QÆA·ÀMv§a¯AFp~Déÿuj?ô8 �”~¾“½µ`÷´×d©(¼¦�wìHé•O¼Qß­½_½Ô ¹dØYhp&(ãUrMýÎô`ïǯlŠ ©Þ,½XMÒèõ·Ó4€8þSÐЦ7}e‘DbPTYÈpË£t=‚œö±0Q¨Îé`s¤ž¦ï¹|†Á$@5”� ¶KPDÓæ¥FyøK°éXY:÷áMOÔèI˜àÕL7”åé¤Ù8{D{2Áº;öŒÀOÐÎ<íŒPò©’Ù|²[Cç¥"Yò[Ùã¿\° <ª¯^c3)LJçØ^ËÏè]`{5Ã=t\CTçY™ÇÜKÍâƒ!¬9p„ ÃM|Cn Œexæ[£¡&¼?0�Ì×ßYR]°÷vm'´ó›gÉi$úÄd…×ûÜÎ0§èi¢¿axؘn\ˆ¡5ìwˆ°MáëvLdO@`p;$óÿ8LFâån´G@#…°6e–¶Ž»ìý)Áßñ¼ü¦ŽÙå«?´ ƒ,Zïé°m*•”9ì ™Ï6¦(Œ¹È³âà'¯=Š1)à‹>ÎÏÌóµ�Ó¹±Íìè‡P<¥ös�C,¾Ù©éí0Éšµ±õ*d¯$oÀ+®jI­C­ ÄR•Û3Ô“€™ƒ\ÍÑ{ä|™ã—­)d¦48è)Ykgîåq¯;•â4ÿE°(¤áU�–ylLÙ+?,qϤIí ¯¿®‰èÃû[îx³Oý�ã€Û[ટj@Å61}ý(Ùä…D;ˆ0u›Œ— ™,¤¹4Ó4ñÛœ¶+×[RÇK{äcž/Bì‚? 0XDòãu°*3¤»D6¬5mR©¹yvæÁ@lD¡"ŸN