ooooo~oG& <- DPRTY = 0, THE ALL TASK PRIORITIES QUEU ; WILL BE RETRIEVED FROM TASK TABLE. Q <6 j\.p@ (wwEe  (  WILL BE RETRIEVED FROM TASK TABLE. ; IF DPRTY = 1, THEN CALLING PRO ԏ76 w e  0m~hp|5} noœoo Da`  UEU ; IF DPRTY = 1, THEN CALLING PROGRAM QUEU ; CAN SELECT r,  Հ  i.``e  d g =|GRAM ; CAN SELECT PRIORITY. ARG = 1 ;ARGUMENT OPTION; IF ARG = 1, THENp^oӵeK6 w . .( V w~p$p5o& H H H)PRIORITY. QUEU ARG = 1 ;ARGUMENT OPTION; IF ARG = 1, THEN QUEU ; &  d g (( = = =E.   ; THE CALLING PROGRAM CAN PASS AN ; ARGUMENT TO THE QUEUED TASk7% l1l Bl1Cl 77 bo~Xq^od7 P7 q THE CALLING PROGRAM CAN PASS AN QUEU ; ARGUMENT TO THE QUEUED TASK.    "& C UAXC.    X K. RGSAVE = 1 ;REGISTER SAVE OPTION. 1 = SAVE ;REGISTERS, 0 = DON'T SAYZM[  -&&qwqw=~q QUEU RGSAVE = 1 ;REGISTER SAVE OPTION. 1 = SAVE QUEU . a w  *  a[qj(,DVE 'EM. ; ; ***** NOTE: IF DPRTY = 0 OR ARG = 0, THEN THE CORRESPONDING ; ---- ARGUMENT SHOULD BE OMITTED FR@~Hr.:X@Hv}  ;REGISTERS, 0 = DON'T SAVE 'EM. QUEU ; QUEU ;!  5x ,h& wŀ"OM THE CALLING LIST. .IFL DPRTY ; XXXXXXXX ;CREATE ASSEMBLY ERROR IF DPRTY ISNT#~r$@HM:@HN.}@H\!p@H&@@2@H8C @H.:D~@HE:@H:Kht@Hf:@HkK@H% ***** NOTE: IF DPRTY = 0 OR ARG = 0, THEN THE CORRESPONDING QUEU ; ---- ARGUMENT SHOULD BE OMITTED FROM TH&9mH},5@ !% , 4e 4' .ENDC ;ZERO OR ONE. .IFG DPRTY-1 ; XXXXXXXX ; (O~8s).imR@H=sL"@Hv@@Hu~"@H@HU. ` @H)X@H(4h :h&_MQ*E CALLING LIST. QUEU .IFL DPRTY ; QUEU XXXXXXXX +5 0,-   F2 ,lm l m 44 }, .ENDC ; .IFL ARG ; XXXXXXXX ;CREATE ASSEMBLY ERROR IF -.hYehyh.7 / ;CREATE ASSEMBLY ERROR IF DPRTY ISNT QUEU .ENDC ;ZERO OR ONE. 0,e  f B,@ 5? @E(1ARG IS NO .ENDC ;ZERO OR ONE .IFG ARG-1 ; XXXXXXXX 2~s||||==IfYiZl>H@JD.......3"&=sL"(,& @64 QUEU .IFG DPRTY-1 ; QUEU XXXXXXXX ; 5"*dwa C2 [qj a ",6; .ENDC ; .IFL RGSAVE ; XXXXXXXX ;CAUSE AN ASSEMBLY7..b~(tx 7r ww 7ts~~w  7^w 8 v@ \!p $u~"&@.JB0w24w6 6BE:9 QUEU .ENDC ; QUEU :ARD 5w@VeW R ,& N & @@DFC; ERROR IF .ENDC ;RGSAVE ISN'T 0 OR 1 .IFG RGSAVE-1 ; XXXXXXX <w >ĝ\~t7Z70 , Z"{Rw.& d^@ D A  &DCc  w 2w =02f:4 6&E:(&pww 2 f: v> .IFL ARG ; QUEU XXXXXXXX ;CREATE ASSEMBLY ERROR ?4f @ "FA, `` c  @ ; .ENDC ; $ABMES = 3 ; THREE ABORT MESSAGE BUFFERS ABRT A w  ' 7~u  &w \w wXw w  fw |t w 7 wtwhw B} )XP" .kK 8C X:Kht,CIF ARG IS NO QUEU .ENDC ;ZERO OR ONE QUEU .IFG ARG-1 D $,^ B Wf  ^:<},@ L& aE .IFL $ABMES ; $ABMES MUST BE => 0. XXXXXX ; F %-E es wh~u6 ~ =w F6 / w :( w 2! w * w "w * 7 w 7G1 R& `  :D~2&@& e W #   H ; QUEU XXXXXXXX ; QI  L)2 L M: a" &L,:$w5w@B  J ABRT .ENDC ; PSTP ; THE SKw 77~~ Jw7p~v  ww (b ww w A B` r%L   w }MUEU .ENDC ; QUEU .IFL RGSAVE ; N [qj ,^``Bmj L " H@ u^w j "OYSGEN PARAMETER '$PST CONTROLS THE EXECUTION PATH*PSTP ; DURING A TASK ERROR. P w| 7twrjwhg E j~v7tpwhP E ttP tIw -QR QUEU XXXXXXXX ;CAUSE AN ASSEMBLY ERROR IF QUEU .ENDCS^.w~@ 525d U&   d (,BX T PSTP ; = -1 ROS + USER ROUTINES PSTP ; = 0 ROS U% w  =w 7 t=w ~ve0w ,w %@w ~ke=[W ;RGSAVE ISN'T 0 OR 1 QUEU .IFG RGSAVE-1 ; XE w" tXt X X $.B2q2rXr  +Y PSTP ; = +1 USER PSTP ; Zw @w Xwww=w  w  dw *A~pwe0w v,w nHBFw 6- .* CkCDf D8}KD!j 8}KD\ QUEU XXXXXXX ; QUEU .ENDC ]&  X ("",Uw Ja w_^ PSTP $PST = 0 ; _27t, ( B:8w ?w 7 w 77~w7     w %0 %7E `a ; QUEU $ABMES = 0 ; TWO ABORT MESSAGE BUFFERS ABRT b  a"0B@ aARD g Un.  a R "gc PSTP ; PSTP .PAGE ;FOLLOWING Ad`  1 W ֆ m7 yDx|xxxxjuzxvxNyrvyz zq~`x`yz$v,vVvvwHwwwPwuttef .IFL $ABMES ; $ABMES MUST BE => 0. ABRT ****** ; g *R0>  1f& f&  imR*m f hRE SYSGEN PARAMETERS FOR THE TIMER AND CALENDAR ROUTINES ; NORMALLY THE BASE PERIOD FOR THE TIMERS IS THE INTERRUPT PERIOD, iZ7U<D 2 7.7(%  w %=w H~xw  w w wjk ABRT .ENDC ABRT .PAGE ;FOLlmAND ; IF THAT PERIOD IS DESIRED FOR USE BY ANY TIMER MODULE, "RESO" MUST BE ; SET TO 1, AND THAT RESOLUTION (ZERO) SPECIFnw   7mw w %/w \ ~Pyz \pppLOWING ARE SYSGEN PARAMETERS FOR THE TIMER AND CALENDAR ROUTINES ; NORMALLY THE BASE PERIOD FOR THE TIMERS IS THE INTERRUPrIED BY THOSE MODULES. ; IF IT IS DESIRED TO MAKE THE BASE PERIOD COARSER THAN THE INTERRUPT ; PERIOD, "$TMBAS" MUST BE SEs.  L et  ! tB ! t=L !64t4 $t .!4t6t4 $t %~y w t^,OWEBP@>SRC-FI!XASPMCFRB.G*s}uT PERIOD, AND ; IF THAT PERIOD IS DESIRED FOR USE BY ANY TIMER MODULE, "RES0" MUST BE ; SET TO 1, AND THAT RESOLUTION (ZEv==8B=Ht:z~=7 =RWRq.wT TO THE DESIRED RATIO OF BASE PERIOD TO ; INTERRUPT PERIOD. $TMBAS = 0 ;DE-SELECT ALTERNATE BASE PERIx  @w @ % % w  ww  D  &C@AEPA&~@zt}=zRO) SPECIFIED BY THOSE MODULES. ; IF IT IS DESIRED TO MAKE THE BASE PERIOD COARSER THAN THE INTERRUPT ; PERIOD, "$TMBAS" {*Mw Kw MwK~@>wG84 " x" 2 /[1gZ SY>B|OD OPTION ; THE FOLLOWING PARAMETERS SPECIFY THE MULTIPLIERS THAT WILL BE LOADED ; INTO THE RESOLUTION COUNTER TABLES FO}fw w /w w :w   ` E ` H 8 wFLw 7~ 7~rnE~} w   w ׭4 ^w Uw swMUST BE SET TO THE DESIRED RATIO OF BASE PERIOD TO ; INTERRUPT PERIOD. $TMBAS = 0 ;DE-SELECT ALTERNATER e W #      w ?4?~>2R DETERMINING THE PERIOD OF EACH ; RESOULTION. THE PERIOD OF A GIVEN RESOLUTION LEVEL DEPENDS ON ALL ; THE PRECEDING LEV~zU4E(w T76  p$tw V׭脷U nj  7,tXRt-P ~}Dw@ 78 %(!  %? BASE PERIOD OPTION ; THE FOLLOWING PARAMETERS SPECIFY THE MULTIPLIERS THAT WILL BE LOADED ; INTO THE RESOLUTION COUNT>~0?%2%*"/[0gZ >YELS (WITH LOWER NUMBERS), WHICH ACT AS SUCCESSIVE ; MULTIPLIERS IN COUNTING TO THE GIVEN RESOLUTION LEVEL. ; THUS, FOR " ~0{7w @ŝŝwt wt!t w w J~~w @eZ?~~w N%w 77w C~~Z e0w ,w w pER TABLES FOR DETERMINING THE PERIOD OF EACH ; RESOULTION. THE PERIOD OF A GIVEN RESOLUTION LEVEL DEPENDS ON ALL ; THE P @p?~?7 ~?RES4", ITS PERIOD WOULD BE: ; RES4*RES3*RES2*RES1*RES0 --- IN UNITS OF THE BASE PERIOD RES0 = 1 %ĕtt72T~{ $t$tw Bw .e` w ;w ĝtw wsf&f  Cå å$ נA   ~x~ e` ~  ËנRECEDING LEVELS (WITH LOWER NUMBERS), WHICH ACT AS SUCCESSIVE ; MULTIPLIERS IN COUNTING TO THE GIVEN RESOLUTION LEVEL. ;  b? . -k7u7 xb?  Z~?-\~ @  R-Nb? &   ;1/60 RES1 = 15. ;1/4 RES2 = 2 ;1/2 RES3 = 2 ;1 RES4 -~ |4t6tt 0.7$7$ w r5ge ee e ѐ  @(CC@ ODT-11R V~~002ABEH@CC *;/\ $G _<^,OWEBP@>SRC-F THUS, FOR "RES4", ITS PERIOD WOULD BE: ; RES4*RES3*RES2*RES1*RES0 --- IN UNITS OF THE BASE PERIOD RES0 = 1 L@N@P@R@T@`@b@d@f@h@j@l@|@~@@L@`@|@V@n@@c~@@0A = 5 ;5 RES5 = 2 ;10 RES6 = 3 ;30 RES7 = 2 bV  <6tt !8~|%& &e N @ e0w &  tI!XASPMCFRB=))eL x  N N Ê|~h <%! ,c  ;1/60 RES1 = 15. ;1/4 RES2 = 2 ;1/2 RES3 = 2 A\~A ;60 RES8 = 3 RES9 = 5 RES10 = 100. RES11 = 2 RES12 = 2 RES1 7~rnE~} w   w ׭4 ^w Uw swѐhˋÜ`E $  P   L&wZ ɋr ;1 RES4 = 5 ;5 RES5 = 2 ;10 RES6 = 3 ;30 RES7 0~A3 = 2 RES14 = 2 RES15 = 2 ; IN SYSTEMS WHERE THE BASE PERIOD IS GREATER THAN ONE MILLISECOND,  nj  7,tXRt-P ~}Dw@ 78 %(!  %? p= = 2 ;60 RES8 = 3 RES9 = 5 RES10 = 100. RES11 = 2 RES12 = ~B; "MSECR" WILL NECESSARILY HAVE A PERIOD GREATER THAN ONE MILLISECOND. MSECR = 0 ;NORMALLY 1 MSEC: HERE IS = ?~~w N%w 77w C~~Z e0w ,w w p  * :*  @d d d *$ @d 7 d 5 2 RES13 = 2 RES14 = 2 RES15 = 2 ; IN SYSTEMS WHERE THE BASE PERIOD IS GREATER THAN ONE MI@s16.7 MSECS SECR = 3 ;"RES3" IS THE ONE-SECOND RESOLUTION $NRES = 16. ;USE MAX # O Cå å$ נA   ~x~ e` ~  Ëנ@b *H *!  Hd*l ߵy*!  V* dLLISECOND, ; "MSECR" WILL NECESSARILY HAVE A PERIOD GREATER THAN ONE MILLISECOND. MSECR = 1 ;NORMALLY 1 MSEC~xBF RESOLUTIONS .IFLE $NRES XXXXXXXX ;$NRES MUST BE FROM 1 TO 16 .ENDC e ee e ѐ  @(4@4@*@ ODT-11R V~~002ABE>ii *;/\ $G _<^,OWEBP@>SRC-F rd hdv )* T@dxE7^`7 N_fJ* d ,5xb 4 x 4: HERE IS = 16.7 MSECS SECR = 3 ;"RES3" IS THE ONE-SECOND RESOLUTION $NRES = 16. ~B.IFG $NRES-16. XXXXXXXX ;COME ON! MUST BE LESS THAN 17 .ENDC ; THE BASE PERIOD FOR THEI!XASPMCFRB=))eL x  N N Ê4~h <%! ,c @d* d `  5@b ! ;USE FULL COMPLEMENT OF RESOLUTION LEVELS .IFLE $NRES XXXXXXXX ;$NRES MUST BE FROM 1 TO 16O~hC TIME-OF-DAY CLOCK, ABORT, AND TIME-SLICE IS ; NORMALLY THE INTERRUPT PERIOD, AS SPECIFIED BY "TICRES". ; IF A MULTIPLIER FѐhˋÜ`E $  P   L&wZ ɋr .ENDC .IFG $NRES-16. XXXXXXXX ;COME ON! MUST BE LESS THAN 17 .ENDC ; B*B4B0W~C2468CDDbIbIOR THIS INTERRUPT IS DESIRED TO PRODUCE A COARSER ; BASE PERIOD, USE THE PARAMETER "$ABMPL" TO SPECIFY THE RATIO DESIRED. p=p :{*@d &d d *@d 7 j fd 5ss sHt8}*s       s.Ht THE BASE PERIOD FOR THE TIME-OF-DAY CLOCK, ABORT, AND TIME-SLICE IS ; NORMALLY THE INTERRUPT PERIOD, AS SPECIFIED BY "TICRETICRES = 60. ;# OF T-O-D CLOCK TICKS PER SECOND $ABMPL = 6 ;CLOCK BASE PERIOD = 1/10 bId"D,D6D&@&~XD& f&f 1 z ^r D7!2T =ŊN @b i*P Ld  <7 @7 6 <*,2 j H *P x 7r w*ptw 7ts~~w  7^w w `,t>ĝ\7Z70 , ZS". ; IF A MULTIPLIER FOR THIS INTERRUPT IS DESIRED TO PRODUCE A COARSER ; BASE PERIOD, USE THE PARAMETER "$ABMPL" TO SPESECOND C1COMD = 177546 ;DEVICE ADDRESS FOR HIGH-SPEED CLOCK C1CBIT = 100 ;BIT TO CONTROL BI F BBH@? D E~D (5 01 4 @ @ @@ `kK ZP w  @du*txE7`7 jfd ^5B*xb  x @d"{RZ*tw.& d^@ D!*t A  &DCc  w 2w 4*u w CIFY THE RATIO DESIRED. TICRES = 60. ;# OF T-O-D CLOCK TICKS PER SECOND $ABMPL = 6 ;FAST CLOCK INTERRUPT $TMSLC = 1 ;SYSTEM OPTION FOR INCLUDING TIME-SLICING $SWATZ = 20. ;NUMBER OF E Z @غ @5@&@D X$ w<w@~HEwDwx@p@D Jp2 C-e  BC  dS* x# jB  C  *Ԡ!._ee  *w B v>v>@v>8}.v>?  75? ?*>??7vCLOCK BASE PERIOD = 1/10 SECOND C1COMD = 177000 ;DEVICE ADDRESS FOR HIGH-SPEED CLOCK C1CBIT = 4 NTRIES IN SCHEDULER "WAIT" TABLE $TWATZ = 20. ;WORDS IN TIMER'S "WAIT" TABLE .PAGE ; ; NDISCS =  e 1 lD t@ <@~E (wwCEeC  Հ @Lj B  j*()B  T   *L `&  N   $???e*>e 5 5?? *> 2ȋ _ ;BIT TO CONTROL FAST CLOCK INTERRUPT $TMSLC = 1 ;SYSTEM OPTION FOR INCLUDING TIME-SLICING $SWATZ =  0 ; DISC OPTION, 0=NONE ; ACTSIZ = 20. ; MAXIMUM NO. OF ENTRIES IN AUTH. CODE   ``e>B  @ @ =C C= C=C~8FC =C CC CCUA@C@D8}KD* ?8} .? .? Q.?v>E 20. ;NUMBER OF ENTRIES IN SCHEDULER "WAIT" TABLE $TWATZ = 20. ;WORDS IN TIMER'S "WAIT" TABLE .PA .IFL 20.-ACTSIZ XXXXXXXX ; ERROR-ALLOCATE MORE LOCATIONS XXXXXXXX ; C @ w  p  5FD%~F@& wŀ">>@>8}0X.>?  7e5[? 7f$?e*>??H ' 7  *&u&w \w wXw w  .Jufw |t w 7 wtwhGE ; ; NDISCS = 3 ; ACTSIZ = 20. ; MAXIMUM NO. OF ENTRIES IN AUTH. CODE TABLE .IFL 20.- FOR AUTHORIZATION CODES .ENDC ; .IFNZ NDISCS DRESDI = 1 ; DISC RESIDENT DIRECT5@ !% 4e 45 - j~(G  F2 l???e*>e 5 5??0* ?8} .? .? Qw R*ru %-E es wh9*u6 ~ =w F6 / w :( w *u2ACTSIZ XXXXXXXX ; ERROR-ALLOCATE MORE LOCATIONS XXXXXXXX ; FOR AUTHORIZORY OPTION .IFL 3-NDISCS XXXXXXXX ; PRESENTLY CODED FOR MAX. OF 3 DISCS .ENDC m l m 44 e  f 5? @~GZTEFD.?>!! w * w "w * 7 w z*u7w 77~~ JX*vw7  ww (b ATION CODES .ENDC ; .IFNZ NDISCS DRESDI = 1 ; DISC RESIDENT DIRECTORY OPTION ; NDPRT1 = 5 ; NO. OF PRIORITY LEVELS IN DISC 1 QUEUES .IFL NDPRT1-3 XXXXXXXX DwN@ C@Dp*A@D 5Cw@VeW& N &  @@D@C~H `` طc99 |9919U|999^|99}9|999 |9 919wj |91ww *&vw A B` r%*Jv w| 7twrjR*nvwh .IFL 3-NDISCS XXXXXXXX ; PRESENTLY CODED FOR MAX. OF 3 DISCS .ENDC ; NDPRT1 =  ; MUST BE AT LEAST THREE .ENDC ; .IFG NDISCS-1 NDPRT2 = 7 ; NO. OF P  H@@ B ZWf @ @&@D ! @ ~ @$w5FD~Hjw~^=9 9 |9 919@:wr9w&|99w^EE D9@: f9  Dg E 7tpwhP *vE ttP tIw *v-% w  =w  5 ; NO. OF PRIORITY LEVELS IN DISC 1 QUEUES .IFL NDPRT1-3 XXXXXXXX ; RIORITY LEVELS IN DISC 2 QUEUES .IFL NDPRT2-3 XXXXXXXX ; MUST BE AT LEAST THREE @B  ``Bm@ L " H@ u@ww~@ 52C5C@ UCB@ E w" ~Ix9+ŀ~=| n *-el.9BE,I  5@ =|9C95@@w ĕ *v7 t=w e0+*vw ,w %@w ~k*"wMUST BE AT LEAST THREE .ENDC ; .IFG NDISCS-1 NDPRT2 = 7 ; NO. OF PRIORITY LEVELS.ENDC .ENDC ; .IFG NDISCS-2 NDPRT3 = 3 ; NO. OF PRIORITY LEVELS IN DISC 3 QUEUEt@tCBD2q2r@rC  UCw J@ wB@ FD@A@D @ 9^|9~N>92    ށ 9 9ĕ\99Ē19  19ĕ\999fe=w @w Xwwp*Fww=w  w  dZ*jww *Ae0w v,w nHB IN DISC 2 QUEUES .IFL NDPRT2-3 XXXXXXXX ; MUST BE AT LEAST THREE .ENDC S .IFL NDPRT3-3 XXXXXXXX ; MUST BE AT LEAST THREE .ENDC .ENDC NCFILE~I UC   1f& f&  ptrvIIIJ JJ3$J6R3$J 9  p9=|9 ~>9f9  ĕ=|99 : 6 8w 5 W<8458<A8p  F*ww 6- .27t, E*w( B:8w ?-*ww 7 w  .ENDC ; .IFG NDISCS-2 NDPRT3 = 3 ; NO. OF PRIORITY LEVELS IN DISC 3 QUEUES .I = 40. ; NO. OF CORE RESIDENT FILE ID'S ERRPRT = 1 ; PRINT-OUT DISC ERROR MESSAGES OP 6R0~I%JP0%JP3&JzR3&JzRJJLJNJ] ,( &0  ~>? 0 JC `0  5@ 777     w =*w%0 %7E `  1f,x W ֆ m7 y FL NDPRT3-3 XXXXXXXX ; MUST BE AT LEAST THREE .ENDC .ENDC NCFILE = 40.  TION .ENDC .PAGE ; ; TTYIO SYSGEN PARAMETERS ; NTTYS = 2 ;NO. OF TTY UN PJRJTJVJXJw v ~pJ b )J.vw \&& &&  ,  Zw  Y*p  ҃ȕj  *5x bj  *5x DxDx|xxxxjuzxvxNyXxrvyz z`yz$v,vVvv*lxwHwwwPwuttZ7U< ; NO. OF CORE RESIDENT FILE ID'S ERRPRT = 1 ; PRINT-OUT DISC ERROR MESSAGES OPTION ITS ;IN SYSTEM SYSTTY = 0 ;LOGICAL UNIT NO. OF SYSTEM  *& w)J5BJ~J'Jˀ'J 2w  "  V+J+J5FJ'J1'Jw I  I  7  .*ܻ N ʂЕ r  5G*@b 5 \ *xD 2 7.7(%  *xw %=w 2*xw  w  .ENDC .PAGE ; ; TTYIO SYSGEN PARAMETERS ; NTTYS = 2 ;NO. OF TTY UNITS (NTTYS .LE ;TTY DEVICE MSGBUF = 0 ;MESSAGE BUFFERING OPTION: IF 1,  w~IHe  $J'J ZJ8~`K'J )J -J?JP BJZJJJP W ZJw TZEE  t*$ ( 7 *&f&S(HM *%@Z{[lP w ww *x  7mw * yw %/w  . 8) ;IN SYSTEM SYSTTY = 0 ;LOGICAL UNIT NO. OF SYSTEM  ;DISC MESSAGE BUFFERING VERSION IS ;ASSEMBLED. IF 0, CORE VERSION IS  9JDI:-JD7J |K19J~Kw*K MM(M6MPMbMpM~MMMMMM/JW/JH@BJ  -m=I }M]\Nk`Kaz^L~nE"o| *Dy\ z \pp. *hy L et  ! tB ! t=.yL ! ;TTY DEVICE MSGBUF = 0 ;MESSAGE BUFFERING OPTION: IF 1,  ;ASSEMBLED. DISCUN = 1 ;LOGICAL UNIT NO. OF DISC TO BE USED   h I 7JafI  =I=I r~PL&& & 2 'J z &  &    64t4 $t .!4t*y6t4 $t % w  *y @w @ % %  ;DISC MESSAGE BUFFERING VERSION IS ;ASSEMBLED. IF 0, CORE VERSION IS ! ;FOR MESSAGE BUFFERING DBUFSZ = 1 ;NO. OF 64 WORD DISC SECTORS ALLOCATED " w N w P Z  j1'J JJ %JJ~LJJ&'J5BJ 1)J%JJ 5FJ 4w 1# $ w *y ww  * zD  &C@AEPA&f*Dzw w % ;ASSEMBLED. DISCUN = 1 ;LOGICAL UNIT NO. OF DISC TO BE USED & ;FOR BUFFERING OF ONE MESSAGE ON DISC FILESZ = 20*DBUFSZ ;NO. OF SECTORS PER FILE NTRYS = 3 ' +J'J/JfI  7J1/J I7J=J ~@MI7J1=JUI7J/J^I7J( ) /w w :w -*hz  ` E a,z` H 8 wF* ;FOR MESSAGE BUFFERING DBUFSZ = 1 ;NO. OF 64 WORD DISC SECTORS ALLOCATED + ;NO. OF TRYS TO OUTPUT A CHARACTER ;TO TTY TTOTIM = 15. ;MIL, }3JI7J/J I 7J17Jwj I1/J 7J I 7J~M1/J@FJwr?Jw&I?Jw. Ln*zw 7U4E(w T76.z  p$t*zw V׭/ ;FOR BUFFERING OF ONE MESSAGE ON DISC FILESZ = 20*DBUFSZ ;NO. OF SECTORS PER FILE NTRYS = 3 0 LISECOND COUNT FOR TTY ;OUTPUT TIMERS TTITIM = 15. ;SECOND COUNT FOR TTY 1 EE DI@FJ fI  DI+ŀ| n *~0N-el.1JBE,88R8Ht:x~8@@28BjG LB*&qF3 脷UB*"{7w @ŝ*F{ŝwt4 ;NO. OF TRYS TO OUTPUT A CHARACTER ;TO TTY TTOTIM = 250. ;MIL5 INPUT/OPERATOR ;RESPONSE TIMERS TTWTIM = 240. ;SECOND COUNT FOR WAIT TIMER6 I  5@ =ICI5@@w ĕ 7J^I7J2   ~N ށ 1J 1Jĕ\B=&w$Z; wǁ =w~&9Z;w   X ' r  (J1#J BZI   8 w*j{t!t w w J~~w ,{@eZ%ĕtt72 $t$t*{w 9 LISECOND COUNT FOR TTY ;OUTPUT TIMERS TTITIM = 15. ;SECOND COUNT FOR TTY : NWUCH = 5 ;NO. OF CHARS TO BE OUTPUT FOR ;WARMUP OF A TTY UNIT EOMC; 7J3JĒ11J  13Jĕ\7J5J5JfI  I=I 7JfI  ĕ=I~ O7J :wptrv9999993|~99A39A09@09@396B39= Bw .e` w ;w *{ĝtw wsf&\*{f > INPUT/OPERATOR ;RESPONSE TIMERS TTWTIM = 360. ;SECOND COUNT FOR WAIT TIMER? H = 33 ;ALTERNATE EOM CHAR (ALT KEY) EOMOPT = 0 ;EOM CHAR OPTION WHERE @ 6ư8w 5 W<=45=<A=p ,( &0   0 ZC ~O`0 6B~::: : :::::w v  b 9.B . |4t6tt 0.#,H|7$7$ w r5*n|C NWUCH = 5 ;NO. OF CHARS TO BE OUTPUT FOR ;WARMUP OF A TTY UNIT EOMCD ; 1 = EOM IS FOLLOWED BY CR AND LF ; 0 = NOT FOLLOWED BY CR AND LF E X5@=A= > <ZJ4ZJ& & nJJJJ4JJe~Pw \&& &&  ,  Jw ~:n& w9599ˀ9J 2w G gbV  <6tt !.*|%& &e*| N @ e0w &  H H = 33 ;ALTERNATE EOM CHAR (ALT KEY) EOMOPT = 0 ;EOM CHAR OPTION WHERE I EOMPRT = 0 ;EOM PRINT OPTION WHERE ; 1 = EOM IS PRINTED J JJ4ZJ䯀f `D` -J?JCDI1;J'J17J@BJ 4   7J=IfI@I  J "  V995:919w p9  x9w~9,~;He  99 :9 9L t*| 7~r7*|nE w *"}M ; 1 = EOM IS FOLLOWED BY CR AND LF ; 0 = NOT FOLLOWED BY CR AND LF N ; 0 = EOM IS NOT PRINTED EOLCH = 12 ;CHAR BEING USED FOR END OF LINE ON O ~PJ@FJ 3 15J11J7JDIA5@ =IfI?J 7JIfIw Ý?9J AI7/ 99P 9::P W :w TEE 9D9~~;~9D9 |;19w*; <:4:R& & ~?n::4:e:4:(f `D` 99CD9c =J7@FJ^I7Jw ~hRf& ?J &6  &6R99 |9919U|999^|99}9|999 |9 919wj |91e  Ëנe ee o~e ѐ  @(_*~ ODT-11R V005 ;TYPED IN A LINE .PAGE g 19919@9 4   9=~.@|9f9@t9  J@: 3 19199Dx9A5@h R[L] _Z]h^]ijo^ojJJZDNWV^X~RHXX&f&M & &  wS~^=9 9 |9 919@:wr9w&|99w^EE D9@: f9  Dj  ~2ABE*~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB.Gk 88R8Ht:x~8@@28BjG LB*&qFl =p9f99 9|9f9w Ý?9?~@ A|97/9~9@9@:7 m n~XS ENZUDSx9+ŀ~=| n *-el.9BE,I  5@ =|9C95@@w ĕ*s}t}sp B=&w$Z; wǁ =w~&9Z;w   X ' r  (J1#J BZI   q  5@8s8 58l58h5 8U8=t9=p98~Ap w` B e: @e:e: :r ^UQUdUXXjUTMTVDTVRExTEXTT T~ST ( %7 zvrbS  hS$ 9^|9~N>92    ށ 9 9ĕ\99Ē19  19ĕ\999ft aVaLa a~fb a bb INPUu wptrv9999993|~99A39A09@09@396B39v J   9!999999 E 99::h~A N93939 L}|9f9w  wH T PT7 T vTD `~HTSS#  TVT   T:9  p9=|9 ~>9f9  ĕ=|99 : 6 8w 5 W<8458<A8p y T ON TTY # 13ca3~b^rbz 6B~::: : :::::w v  b 9.{   39w 99 -9 w E =p997@:~B^|99w ҽ| W, ! 7!4 E= ~TT AC: ,( &0  ~>? 0 JC `0  5@~ b -@b : 4b"~Vc&rb c4 w \&& &&  ,  Jw ~:n& w9599ˀ9J 2w ʽf& 9 &6  &6zB xBPKMNM$N~BJMPYY^_&::xB GFHH ? ILL CMD! ILL PAR! NON-QUIESCENT 7 7 7 a"Uc~8U U   UUU8A8 > <:4:R& & ~?n::4:e:4:(f `D` 99CD9 c TASK 2 M#~cESSAGE XXXXXX8& &  cc ~d  "  V995:919w p9  x9w~9,~;He  99 :9 9 H&f&M & &  wpC~B U W,2 0!- )!&7!#hyRU^gZ4gZN~UFgZgZ 19919@9 4   9=~.@|9f9@t9  J@: 3 19199Dx9A5@ 5~Fddbd TASK 3 ACTIVE  99P 9::P W :w TEE 9D9~~;~9D9 |;19w*;<  ENEDSEQU EXX&ETMFDTBFRE4DEXD~vC`D 4 UT  gZ&& & &  &  HH:MM:SS MM/DD/YY V,~(VVV#V VV =p9f99 9|9f9w Ý?9?~@ A|97/9~9@9@:7  XXXXXXxdRd  He(6~d <<< ==,=:=N=V=h=v==9W9H@9  -m=|9 h |9 9af"~;9  =p9=t9  nD`D ( %7 zvrC  $C$ wH D PnD7 `D ~C &e I W, !  p&V Vw*xW, ! [~Vp 5@8s8 58l58h5 8U8=t9=p98~Ap w` B e: @e:e: : d PRIORITY e*e TASK 4~6e COMPLETEd e  && & 2 9 z &  &  w N w P J  ]~nfDfJf^f@e f E7  @` fP8~f ~^=9 9 |9 919@:wr9w&|99w^EE D9@: f9  D &7!#yE~VE#J4#J#J#J xD`D  #J\&& & &   f&~X  4 rv h w^ 67 wJfXH&f&M & &  wpC~B f TASK 6 MESSAGE NO. XXXXXX ff tgP9 ~g x9+ŀ~=| n *-el.9BE,I  5@ =|9C95@@w ĕ &  HH:~EMM:SS MM/DD/YY EEEEEE &e I W, ! JYzX) E#~XRROR XXXXX SXXXXX SXXXXX SXXXXX SXXXXX XXXXXw  w $ ENEDSEQU EXX&ETMFDTBFRE4DEXD~vC`D g`g 7-GO X9 1Rg lg - 9^|9~N>92    ށ 9 9ĕ\99Ē19  19ĕ\999f  `EEw*x<~FFW, ! `EE E DԝDԝA  `D w| zw ~X 7 \'wVfXPXf& &  R lX ( n fnD`D ( %7 zvrC  $C$ wH D PnD7 `D ~C ~g2Rg 9&  3Rg :& & & ;& & &  hP: 9  p9=|9 ~>9f9  ĕ=|99 : 6 8w 5 W<8458<A8p  w  ы Dĥ  ~FD0 C ``a - v6 w 6'd  ~pYYYYYYYYY vpDD NCS#  DV`D   D:W, ! 7!^ E8  ~h6hd ,( &0  ~>? 0 JC `0  5@ w G Օ+  d 08~6GB` e0  w ^%Օ- ҋ F~Y~fDD AC:  ? ILL CMD! ILL PAR! NON-QUIESCEN ~~hh INPUT LONG MESSAGE h (h i 8A8 > <:4:R& & ~?n::4:e:4:(f `D` 99CD9     Gh~Gxf&f&0  4 @~`ZT ~~D7 7 7 aDc D   VEnEEE W,2 0!- )! ;~h2ip THIS MESSAGE DOES NOT 19919@9 4   9=~.@|9f9@t9  J@: 3 19199Dx9A5@  rv h w^ 67 wJ"H ~&HI6H) ERROR XXXXX SXXXXX SXXXXX S ~Z&7!#yE~VE#J4#J#J#J xD`D  #J\&& & &   CONTAIN AN IMBEDDED CARRIAGE RET~niURN; HOWEVER, IT SHOULD AUTOMATICALLY JUMP TO A NEW LINE$i "j < =p9f99 9|9f9w Ý?9?~@ A|97/9~9@9@:7  XXXXX SXXXXX @HGHNHUH\Hw  w hb f~H w| zLw  7 \ O~P[&  HH:~EMM:SS MM/DD/YY EEEEEE &e I W, ! ~i j TUESDAY 1400 XEQi j  5@8s8 58l58h5 8U8=t9=p98~Ap w` B e: @e:e: : 'wV"HP&dHf& &  R (H ( n fF~I ޶ f&×&  6  c7`ߕgZ gZU~[YZU Y "MgZߐ  `EEw*x<~FFW, ! `EE E DԝDԝA  `D =~^jj 5-TH AT 0830zj J   9!999999 E 99::h~A N93939 L}|9f9 JILINIPIRITIVIXIM~I /[Wr ߕ 4 zYzYgZ4Z2  ߐ~@\  e w  ы Dĥ  ~FD0 C ``a - v6 w 6'd  k >~jk TASK 12   39w 99 -9 w E =p997@:~B^|99w ҽ ~J e *w4 6 ߕ L7 f^~\v Y 6 w G Օ+  d 08~6GB` e0  w ^%Օ- ҋ EVERY TWO MINUTES j k ?~Nk ʽf& 9 &6  &6zB xBPKMNM$N~BJMPYY^_&::xB GFHH 1~~J 6 ×ߕ~& 7 gZ gZߐgZ <YY0~0]YzY0YYߐ    Gh~Gxf&f&0  4 k TRAP XXXXXX kxk  8& & &  M ~k2l A H&f&M & &  wpC~B ~J & 4wLߕ 1gZ7 7 :7 0 w&f L7Iߕ~]gZ rv h w^ 67 wJ"H ~&HI6H) ERROR XXXXX SXXXXX SXXXXX S "l T15 ERROR @` \~>l Bf%l   ENEDSEQU EXX&ETMFDTBFRE4DEXD~vC`D f&×&  6  c7 y]0^^]]^^0^0^0^& -ߕ1 7 7 7 jmtffffffgZb^W"~ ^XXXXX SXXXXX @HGHNHUH\Hw  w hb f~H w| zLw  7 \ l BA~ll T16 ERROR  nD`D ( %7 zvrC  $C$ wH D PnD7 `D ~C ~nK`ߕ#J #JYJU ZI "M#JߐJWr ߕ 4 6I6I 1f ccc>^J^V^&f&f M7J Y ߕI'wV"HP&dHf& &  R (H ( n fF~I ޶ @`  Bf%l    o5~.m vpDD NCS#  DV`D   D:W, ! 7!^ E8  #J4J;~K2  ߐ  ee *w4 6  ~^gZ *9gZB Y.C (ߕW"" Y rY YzY`zYL4zY1 0gZJILINIPIRITIVIXIM~I o:o B~m ~fDD AC:  ? ILL CMD! ILL PAR! NON-QUIESCEN ߕ|~^L L7 fv ZI 6 6 ×ߕ~& 7  v~_ f&×&  172.ߕgZ)gZ Y zYzYgZߐ ~J fo!to"B~n T ~~D7 7 7 aDc D   VEnEEE W,2 0!- )! #J #Jߐd~L#J <HIZI0ZI6I0ZIHIߐ& 4wLߕ 1#J  ~_ w 6 7 a ^   ` Y!!=ߕ1~~J o#o$ &7!#yE~VE#J4#J#J#J xD`D  #J\&& & &   7 7 :7 0 w&f~NM L7Iߕ#J yrMMMMMMMMMM& -ߕ YwrYY~`zYeYzY EWgZwDgZ <@  F F`ewj& fw \~J ~no%o& &  HH:~EMM:SS MM/DD/YY EEEEEE &e I W, !  1 7 7 7 je tffffff:~M#JNW"1f cc F 6 v z~x`7 7 7 7  0 YYzY0`zYd1 YgZ0Z0/[ f&×&  6  c7 ~o q o p (q p 6q Dq Rq 4p R Xp   `EEw*x<~FFW, ! `EE E DԝDԝA  `D  cMNN&f&f M ~>N7J ZI ߕ#J *9#JB HI.C  b^  e -d]~`qaYY,a0Ca/[0gZ  PaabHccd~jk TASK 12   rv h w^ 67 wJ"H ~&HI6H) ERROR XXXXX SXXXXX SXXXXX S #JwD#J <_r  F F`ewj& fw \F 6 >~P v 7 7  & & &  *c2~b fpTASK #33 AR~vpG= pTASK #34 ARG= pTASK #35 ARG=  EVERY TWO MINUTES j k ?~Nk XXXXX SXXXXX @HGHNHUH\Hw  w hb f~H w| zLw  7 \ 7 7  0 HIHI6I0`6Id1 ZI#J0J0J N  ~P e -d! c TASK # 4  c & &  O~Hcc2" pTASK #36 ARG= ~ppTASK #37 ARG: !qqSq"#qq# k TRAP XXXXXX kxk  8& & &  M ~k2l A$ 'wV"HP&dHf& &  R (H ( n fF~I ޶% qPZIZIP0PJ0#J   QQRRSSZTTUFVVvWQRRzS$TTnUVVVV?~QQ2& \~cc TASK # ' !q"q#q"p~fqq#qqT ( "l T15 ERROR @` \~>l Bf%l ) JILINIPIRITIVIXIM~I* ~Q+ 5 c & & &  d2(~8d, 12345qwqwJ~q,I_O- l BA~ll T16 ERROR . ~J/ Q TASK # 2 Q  R ~R& &  S2? ~ee TASK # 8 e &  vf2 @ ~s|A o#o$B ~nK`ߕ#J #JYJU ZI "M#JߐJWr ߕ 4 6I6IC ~fSS TASK # 5 zS & & &  BT2D ~fff TASK # 9 Xf E |||88p9"IPY\paB.........~6tF ~no%o&G #J4J;~K2  ߐ  ee *w4 6 H ~S2T I  g~f2 J x 7r ww 7ts~~w  7^w w >ĝ\7Z70 , ~tZK ~o q o p (q p 6q Dq Rq 4p R Xp L ߕ|~^L L7 fv ZI 6 6 ×ߕ~& 7 M TASK # 6 $T & & ~VT T2N J~gg TASK # 10 g  g2 O "{Rw.& d^@ D A  &DCc  w 2w  w  ' 7  ~&uP ~"|p p~o8p  q q (q 6q Dq p `q nq p `q nqQ #J #Jߐd~L#J <HIZI0ZI6I0ZIHIߐ& 4wLߕ 1#JR ~TT TASK # 7 T U2S }~g7   0h2 T &w \w wXw w  fw |t w 7 wtwhw  %-E es wh6 ~ eU o-~oTASK #30 ARG= pTASK #31 ARG= BpTASK #32 ARG= V 7 7 :7 0 w&f~NM L7Iߕ#J yrMMMMMMMMMM& -ߕW ~FU|U TASK X ~g7   Y ~u=w F6 / w :( w 2! w * w "w * 7 w 7w 77~~ Jw7  Z fpTASK #33 AR~vpG= pTASK #34 ARG= pTASK #35 ARG= [ 1 7 7 7 je tffffff:~M#JNW"1f cc\ # 8 nU &  2V2 ~U]  |h$7 P~ph7b7jtEnhb \  h"^ ww (<~vb ww w A B` r% w| 7twrjwhg E_ pTASK #36 ARG= ~ppTASK #37 ARG: !qqSq"#qq` cMNN&f&f M ~>N7J ZI ߕ#J *9#JB HI.C a "V TASK # 9 VF~6V  V2 b h" 2*&  wZZ~h i~~P v 7 7 u 7     8X~X$v w z02lCl 2l"$0(EW  9l1l 7~j4 Cl `k`w yDx|xxxxjuzxvxNyrvyz z`yz$v,vVvvw~nxHwwwPwuttZ7U<D 2 7.7(% x A~Fsy 7 7  0 HIHI6I0`6Id1 ZI#J0J0J N  ~P e -dz 7 7b7jtEnhb \  X"X" 2*&  ~Xw{ 7lBA<WCEqJl7œ& ‹ & 5@~@k& L Œ |  w %=w w  w w~x ww   7m} ~s|~ qPZIZIP0PJ0#J   QQRRSSZTTUFVVvWQRRzS$TTnUVVVV?~QQ2 ZZX~Xn!VPw Zp9& x9NX@f=~Y Œ$Œ A k`BAW,Jl kV   .~kD w w %/w \ z \pp^~^y.  L et  ! tB ! t=L |||88p9"IPY\paB......... ~6t ~Q :x9 p9(. *DY b'xww t[&-"[ e? U@f b wFk ~0l  !64t4 $t .!4t6t4 $t % w  ~y @w @ % % w  x 7r ww 7ts~~w  7^w w >ĝ\7Z70 , ~tZ Q TASK # 2 Q {ŝŝ R ~R& &  S2 7&œ~Z& ‹ & 5@& L Œ Œ$Œ A [`BAW, q 7f~mB1f eeee%<< % Ý0Üo    UU ~u=w F6 / w :( w 2! w * w "w * 7 w 7w 77~~ Jw7  wt wt!t w w J~~w @eZ%ĕtt72 $t$tw |~{Bw ~fSS TASK # 5 zS & & &  BT2 J[ [~^[   wF[ &  ‹ & & ~nN & x yeʑw E E E ww (<~vb ww w A B` r% w| 7twrjwhg E .e` w ;w ĝtw wsf&f 4t6t~.| ~S2T {~[dd X$ vJB5J~n7l& Νa-Q-?B=  / 7tpwhPb~v E ttP tIw -% w  =w 7 t t 0.7$7$ w r5gbV  <6tt !%& TASK # 6 $T & & ~VT T2 P J D"I JM& bOBHI6I6I~N\HI9 6I P7&f_Е<<9z $ Be J- -~o- ee ܐ&Ґ-oE e =w e0w ,~ww %@w ~ke=w @w Xwww=w  w ~| &e N @ e0w &  t 7~rnE ~TT TASK # 7 T U2 <2- "PPPmȵ p~\ _@p_ ɕv_e~ et?p6  w z%n~xo%oBA  J6 w Po U  dw *Ae0w v,w ~~wnHBFw 6- .27t, ( B:8w  w ~}  w ׭4 ^w Uw sw nj  7,tXRt-P ~FU|U TASK !jm7& b ]X¢"a~>]eq 7B1f eee ooooo~oG& <- ?w 7 w 777     v~ww %0 %7E `  1 W ֆ m7 Dw@ ~}78 %(!  %??~~w N%w  # 8 nU &  2V2 ~U e%<< % Ý0Ü_    UU ~]&  ‹ & & N & x ԏ76 w e  0m~hp|5} noœoo Da` yDx|xxxxjuzxvxNyrvyz z`yz$v,vVvvw~nxHwwwPwuttZ7U<D 2 7.7(%  77w Z e0w ,~~,w w p Cå å$ נA  "V TASK # 9 VF~6V  V2 yew E E Ev ~.^̡JB57 p^oӵeK6 w . .( V w~p$p5o& H H H)  w %=w w  w w~x ww   7m  e` r~~~  Ëנe ee e ѐ  @(d9d9 ~VV TASK # & Νa-Q-?B=  /$ BeB~^ J- - k7% l1l Bl1Cl 77 bo~Xq^od7 P7 q w w %/w \ z \pp^~^y.  L et  ! tB ! t=L @ ODT-11R V002ABE8d9d9~~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB=)) 10 V  bW2 ~&W - ee  &-_E eet?p6  T~_ޠw z YZM[  -&&qwqw=~q  !64t4 $t .!4t6t4 $t % w  ~y @w @ % % w  eL x  N N Ê <%~v! ,c ѐhˋÜ`E $  7   W2 @~W Π%%|_BA  J6 w P~_ Uv_|_~_|__~_ @~Hr ww  D  &C@AEPA&fw w ~Nz/w w :w   P   LwZ <~ɋr p 7     8X~X$ G&2 <-76 w e~` ~r  ` E ` H 8 wFLw 7U4~zE(w T76 ~f 7 7b7jtEnhb \  X"X" 2*&  ~Xw  0m|5} n_œ__ Da`_v_ӵeK6 w . A O~8s   p$tw V׭脷U7w @~>{ŝŝ ~ހ ZZX~Xn!VPw Zp9& x9NX@f=~Y ~`rl V $_5_& H H H)[7% [1[ [1 wt wt!t w w J~~w @eZ%ĕtt72 $t$tw |~{Bw #~V :x9 p9(. *DY b'xww t[&-"[ e? U@f b [ ~`77 bv_^_d7 P7 ^aIAJ K  -&&mH@JD....... .e` w ;w ĝtw wsf&f 4t6t~.| ~΁ ~~Y6  exMQI& ( w % m$n^nnn4~va59ABbbcddelfgghi*jj(kkk\l ..f~(tx 7r ww 7ts~~w  7^w t 0.7$7$ w r5gbV  <6tt !%& 2~F %~YE Cw   e[BA  J[6 w z0[[ ["$0( k ZIJ#J~aefe3e3aa -BB 3& & & pava|a<< w >ĝ\~t7Z70 , Z"{Rw.& d^@ D A  &DCc  w 2w  ~| &e N @ e0w &  t 7~rnE ~ E~nZW  9[1[ 7x [ `[`\7lBA<WCEqJ[ aVaLa a~fb a bb INPU  w  ' 7~u  &w \w wXw w  fw |t w 7 wtwhw  w ~}  w ׭4 ^w Uw sw nj  7,tXRt-P A~6 7&œ~Z& ‹ & 5@& L Œ Œ$Œ A [`BAW, T ON TTY # 13ca3~b^rb  %-E es wh~u6 ~ =w F6 / w :( w 2! w * w "w * 7 w 7 Dw@ ~}78 %(!  %??~~w N%w  J[ [~^[   wF[ b -@b : 4b"~Vc&rb c4 w 77~~ Jw7p~v  ww (b ww w A B` r% 77w Z e0w ,~~,w w p Cå å$ נA  ~ {~[dd X$ c TASK 2 M#~cESSAGE XXXXXX8& &  cc ~d w| 7twrjwhg E j~v7tpwhP E ttP tIw -  e` r~~~  Ëנe ee e ѐ  @(ee& P~& P J D"I JM& bOBHI6I6I~N\HI9 6I P7&f_Е<<9z 5~Fddbd TASK 3 ACTIVE  % w  =w 7 t=w ~ve0w ,w %@w ~ke= @ ODT-11R V002ABEpa<\l~~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB=)) ~ <2- "PPPmȵ p~\ _@p_ ɕv_e~ XXXXXXxdRd  He(6~d w @w Xwww=w  w  dw *A~pwe0w v,w nHBFw 6- . eL x  N N Ê <%~v! ,c ѐhˋÜ`E $  _~ !jm7& b ]X¢"a~>]eq 7B1f eee d PRIORITY e*e TASK 4~6e COMPLETEd e  27t, ( B:8w ?w 7 w 77~w7     w %0 %7E P   LwZ <ɋr p8 ~ e%<< % Ý0Ü_    UU ~]&  ‹ & & N & x  Be !e Be 5&&  e $f 7~e `  1 W ֆ m7 yDx|xxxxjuzxvxNyrvyz zq~`x`yz$v,vVvvwHwwwPwutt ~ n~ yew E E Ev ~.^̡JB57 ef I/O LIST CHANGED r~&f e6fx r{KiL m* @ j* A k* L w I sB Jd BU   Z7U<D 2 7.7(%  w %=w H~xw  w w w ~~ & Νa-Q-?B=  /$ BeB~^ J- - >fDfJf^f@e f E7  @` fP8~f A~. w   7mw w %/w \ ~Pyz \pp }~ - ee  &-_E eet?p6  T~_ޠw z f TASK 6 MESSAGE NO. XXXXXX ff tgP9 ~g ~! .  L et  ! tB ! t=L !64t4 $t .!4t6t4 $t %~y w " ~n# Π%%|_BA  J6 w P~_ Uv_|_~_|__~_$ g`g 7-GO X9 1Rg lg -% P~&   @w @ % % w  ww  D  &C@AEPA&~@z' ~( G&2 <-76 w e~`) ~g2Rg 9&  3Rg :& & & ;& & &  hP:* ~+ fw w /w w :w   ` E ` H 8 wFLw 7, ~^-  0m|5} n_œ__ Da`_v_ӵeK6 w . A. ~h6hd/ _~0 ~zU4E(w T76  p$tw V׭脷U1 ~ֈ2 ~`rl V $_5_& H H H)[7% [1[ [13 ~~hh INPUT LONG MESSAGE h (h i4 ~5  ~0{7w @ŝŝwt wt!t w w J~~w @eZ6 #~N7 [ ~`77 bv_^_d7 P7 ^aIAJ K  -&&mABbbcddelfgghi*jj(kkk\l= CONTAIN AN IMBEDDED CARRIAGE RET~niURN; HOWEVER, IT SHOULD AUTOMATICALLY JUMP TO A NEW LINE$i "j <> ~v? -~ |4t6tt 0.7$7$ w r5g 2~>o k ZIJ#J~aefe3e3aa -BB 3& & & pava|a<< ~i j TUESDAY 1400 XEQi jD }~ybV  <6tt !8~|%& &e N @ e0w &  t7 7 :7 0 w&f~NM L7Iߕ#J yrMMMMMMMMMM& -ߕ~G H @uuR @xąe */." +%$#('&0uUPDATE V005A *uI ~f1 7 7 7 je tffffff:~M#JNW"1f cc_~M u END uS200 >&vv # ZZ00000* G vR"vR6vN ~ޏcMNN&f&f M ~>N7J ZI ߕ#J *9#JB HI.C ~vQ 88F8Ht:~8@@28BjG LB*&qFR J+ FwR*wvyy *wMMS ~V(ߕW"" HI rHI HI6I`6IL46If~N1 0#Jv f&×&  n~V B=&w$Z; wǁ =w~&9Z;w   X ' r  (J1#J BZI   W EO*wE* x*.xX ~ΐ172.ߕ#J)#J ZI 6I6I#Jߐ~.O   w 6 ~f[ wptrv9999993|~99A39A09@09@396B39\ uww,Rx6xw(xwuw*xxw7 87 &7 >7 7 7 ] #~F7 a ^   ` HI!!8ߕ~O HIwrHIHI6IeHI6I EW}~ޞ` 6B~::: : :::::w v  b 9.a 7 .x7 7 -xJvwwv*xww%0v. ,x*b #JwD#J <_r  F F`ewj& fw \F 6 >~P v 7 7 ~Ve w \&& &&  ,  Jw ~:n& w9599ˀ9J 2w f  JՕ?Օ Օ vwvw,ywwf7wl*4ywhw/wg ~7 7  0 HIHI6I0`6Id1 ZI#J0J0J N  ~P e -dj  "  V995:919w p9  x9w~9,~;He  99 :9 9k  w,Xy& \  w7 t2w"*~yww/w -~n l 2~6qPZIZIP0PJ0#J   QQRRSSZTTUFVVvWQRRzS$TTnUVVVV?~QQ2~Οo  99P 9::P W :w TEE 9D9~~;~9D9 |;19w*;w~ww P~~vRR TASK # 4 ~ 99 |9919U|999^|99}9|999 |9 919wj |91 K,{w -   wG*6{7xwww T*Z{ ~R ~R& &  S22~& ~^=9 9 |9 919@:wr9w&|99w^EE D9@: f9  D  xwww ֵQ,~{5@ www7\w*{w =  v8b0׭ _~~fSS TASK # 5 zS & & &  BT2~ x9+ŀ~=| n *-el.9BE,I  5@ =|9C95@@w ĕ =*{Rw< ^-DF   D) ;*{n .w-&*   & w/*|   ~~~S2T A~ 9^|9~N>92    ށ 9 9ĕ\99Ē19  19ĕ\999f . w X 4*4| $w |Awwd*X|ww .vvw n~TASK # 6 $T & & ~VT T2~ 9  p9=|9 ~>9f9  ĕ=|99 : 6 8w 5 W<8458<A8p  w*||a lY|xL 0 &r.|f"(vwwZpww*| ~n~TT TASK # 7 T U2P~ ,( &0  ~>? 0 JC `0  5@ wwvwwo*| :ww ww*}wl   " 1,1, }~~FU|U TASK ~~ 8A8 > <:4:R& & ~?n::4:e:4:(f `D` 99CD9 1,0*4}v"vwwf*X}vww& *|}Ν ~^# 8 nU &  2V2 ~U_~ 19919@9 4   9=~.@|9f9@t9  J@: 3 19199Dx9A5@ 0vww,}R TX& Ν 0Fwwq*}ww  Fww ~֗"V TASK # 9 VF~6V  V2 ~n =p9f99 9|9f9w Ý?9?~@ A|97/9~9@9@:7  w,}T 6 & ΝC 20Fw*~ww)& Ν ;*4~0 ~N~VV TASK # n~  5@8s8 58l58h5 8U8=t9=p98~Ap w` B e: @e:e: : 7 7  Mw 0 *X~W 4 ` C`@9*|~# : 10 V  bW2 ~&W~^ J   9!999999 E 99::h~A N93939 L}|9f9 *~~ v-rjj-d^F*~D> jFwww0*l*~  ~Ƙ7   W2 @~W}   39w 99 -9 w E =p997@:~B^|99w ҽ@ą E505152535455* 565758597071727374- >@xA #~>7     8X~X$~֦ ʽf& 9 &6  &6zB xBPKMNM$N~BJMPYY^_&::xB GFHH Bzzbv|{L}*/." +%$#(!'&0 zLIST V002A *z  z ~7 7b7jtEnhb \  X"X" 2*&  ~Xw~N H&f&M & &  wpC~B  END S200 {  #  {~,{00000* { 2~.ZZX~Xn!VPw Zp9& x9NX@f=~Y~Ƨ  ENEDSEQU EXX&ETMFDTBFRE4DEXD~vC`D Jv*|{NENE*y/*,|{LM*P| ~:x9 p9(. *DY bww t[&-"[ e? U@f w~> nD`D ( %7 zvrC  $C$ wH D PnD7 `D ~C *t|z|!||P||*|B||z||  A~~~Y6  exMQI& ( w %~ vpDD NCS#  DV`D   D:W, ! 7!^ E8  ${x,|7 h7 `{||{| *||0{.  8.}  ~%~YE Cw   e[BA  J[6 w z0[[ ["$0(#~. ~fDD AC:  ? ILL CMD! ILL PAR! NON-QUIESCEN Օ?Օ Օ {w{||*.}wp.|l||/Nu*R}Na wT - P~E~nZW  9[1[ 7x [ `[`\7lBA<WCEqJ[~ T ~~D7 7 7 aDc D   VEnEEE W,2 0!- )!  *v} -   -*} t.| zl|.|,} ~7&œ~Z& ‹ & 5@& L Œ Œ$Œ A [`BAW,2~ &7!#yE~VE#J4#J#J#J xD`D  #J\&& & &   ֵ5@P$ wl|.|=*}l|.|7 $|^| |/,~"w w$| _~J[ [~^[   wF[~ &  HH:~EMM:SS MM/DD/YY EEEEEE &e I W, ! ^|$|.*.~  {$|$| @p*R~% w &f"{*v~ ~v{~[dd X$A~  `EEw*x<~FFW, ! `EE E DԝDԝA  `D .|.|d ,~\wR$|$|$| v {.|h,~.|w$.|.| n~P J D"I JM& bOBHI6I6I~N\HI9 6I P7&f_Е<<9z~ w  ы Dĥ  ~FD0 C ``a - v6 w 6'd .|z|,~|w7 6z"z|* |DEM515255707172 ~f<2- "PPPmȵ p~\ _@p_ ɕv_e~P~ w G Օ+  d 08~6GB` e0  w ^%Օ- ҋv| }~ޞ!jm7& b ]X¢"a~>]eq 7B1f eee~v     Gh~Gxf&f&0  4ISC CLEAR MOV R2,-(SP) MOV TDELAY,-(SP) ; RE-THREAD TIMER JSR PC,QTIME TST ~Ve%<< % Ý0Ü_    UU ~]&  ‹ & & N & x _~  rv h w^ 67 wJ"H ~&HI6H) ERROR XXXXX SXXXXX SXXXXX S (SP)+ ; IGNORE ERROR MOVB #-1.,CALLED(R0) ; SET CALLED BY TIMER TIME-OUT BR DIHC15 ;  yew E E Ev ~.^̡JB57~f XXXXX SXXXXX @HGHNHUH\Hw  w hb f~H w| zLw  7 \ ; REPORT TIME-OUT ERROR-STOP DISC I/O ; RECOVERY NOT YET ESTABLISHED ; TOTA10 = . MOV #ERR ~Ο& Νa-Q-?B=  /$ BeB~^ J- -n 'wV"HP&dHf& &  R (H ( n fF~I ޶012,R0 ; REPORT ERROR TYPE 12 BR DIHC25 .PAGE ; ; ; ; ERR IS AN INTERNAL SUBROUTINE TO D ~F- ee  &-_E eet?p6  T~_ޠw z~ޭ JILINIPIRITIVIXIM~IISCIO THAT WILL ; SET AN ERROR CLASSIFICATION IN SYSTEM AND IF REQUESTED, ; WILL QUEUE AN ERROR TASK WITH I/O ~Π%%|_BA  J6 w P~_ Uv_|_~_|__~_~V ~J LIST ADDRESS AS ARG. ; THE CALL IS: ; JSR PC,ERROR ; WHERE R0  #~6G&2 <-76 w e~`}~ή 1~~J= ERROR TYPE ; R1 = I/O LIST ADDRESS ; ERR = . MOV R0,ERROR(R1) ; SET I/O NO ~  0m|5} n_œ__ Da`_v_ӵeK6 w . A~F ~JT SUCESSFUL MOVB ERRTSK(R1),-(SP) ; QUEUE AN ERROR TASK? BEQ ERRA50 ; NO-POP AND RET 2~&~`rl V $_5_& H H H)[7% [1[ [1~# f&×&  6  c7URN .IFNZ DPRTY CLR -(SP) ; USE PRIORITY IN TASK TABLE .ENDC .IFNZ ARG % ~[ ~`77 bv_^_d7 P7 ^aIAJ K  -&&mABbbcddelfgghi*jj(kkk\l~- #J4J;~K2  ߐ  ee *w4 6 DIATE RETURN REQUESTED JSR PC,QUEUE ; QUEUE ERROR TASK ERRA50: TST (SP)+ ; POP ERROR PARAME/ ~k ZIJ#J~aefe3e3aa -BB 3& & & pava|a<<#~&2 ߕ|~^L L7 fv ZI 6 6 ×ߕ~& 7 TER AND IGNORE RTS PC ; ; .ENDC ; MATCH FOR .IFNZ NDISCS .END 4 P~aVaLa a~fb a bb INPU~7 #J #Jߐd~L#J <HIZI0ZI6I0ZIHIߐ& 4wLߕ 1#J9 ~~T ON TTY # 13ca3~b^rb2~< 7 7 :7 0 w&f~NM L7Iߕ#J yrMMMMMMMMMM& -ߕ> _~ b -@b : 4b"~Vc&rb c4~A 1 7 7 7 je tffffff:~M#JNW"1f ccC ~nc TASK 2 M#~cESSAGE XXXXXX8& &  cc ~dA~F cMNN&f&f M ~>N7J ZI ߕ#J *9#JB HI.C H n~5~Fddbd TASK 3 ACTIVE ~~K (ߕW"" HI rHI HI6I`6IL46If~N1 0#Jv f&×&  ; PRIORTY .WORD 0 ; CURRENT TIMER .IFNZ ARG ; .WORD M ~^ XXXXXXxdRd  He(6~dP~Q 172.ߕ#J)#J ZI 6I6I#Jߐ~.O   w 6 0 ; PASSED ARGUMENT .ENDC .BYTE 0 ; CPU STATUS .BYTE 10. R }d PRIORITY e*e TASK 4~6e COMPLETEd e ~nV 7 a ^   ` HI!!8ߕ~O HIwrHIHI6IeHI6I EWW ~֦Be !e Be 5&&  e $f 7~e_ ; TASK NUMBER .WORD 0 ; STACK POINTER .=.+RES+RES ; TASK STACK AREA LIST[ #JwD#J <_r  F F`ewj& fw \F 6 >~P v 7 7 \ ~Nef I/O LIST CHANGED r~&f e6fx~10 =. ; .WORD 1 ; TREAD WORD .BYTE 0 ; DEVICE (TTY) ` 7 7  0 HIHI6I0`6Id1 ZI#J0J0J N  ~P e -da ~Ƨ>fDfJf^f@e f E7  @` fP8~f~^ .BYTE 2 ; EXIT TYPE .WORD 0 ; .BYTE 0 ; ERROR RETUe qPZIZIP0PJ0#J   QQRRSSZTTUFVVvWQRRzS$TTnUVVVV?~QQ2f ~>f TASK 6 MESSAGE NO. XXXXXX ff tgP9 ~gn~ֵRN TASK NUMBER .BYTE 0 ; I/O PRIORITY LEVEL .WORD 0,0 ; RESERVED .WORj ~Qk ~g`g 7-GO X9 1Rg lg -~ND DATA10 ; BUFFER ADD DATA10 =. ; .WORD 12. ; NO. CHARACTERS IN MESSo Q TASK # 2 Q  .BYTE 40,15 ; ; EN10 =. ; MOV #LIST10,-(SP) ; EMT TTy ~vRR TASK # 4 z 2~ ~~hh INPUT LONG MESSAGE h (h i~YOUT ; GO PRINT MESSAGE MOV #7,-(SP) ; EMT FRETSK ; EITHER DEQUEUE OR DEAC~ R ~R& &  S2 ~;~h2ip THIS MESSAGE DOES NOT ~.TIVATE TASK #7. EMT FRETSK ; TST (SP)+ ; EMT EXIT .PAGE ~fSS TASK # 5 zS & & &  BT2 A~CONTAIN AN IMBEDDED CARRIAGE RET~niURN; HOWEVER, IT SHOULD AUTOMATICALLY JUMP TO A NEW LINE$i "j <~ .CSECT TASK11 ; HEAD11 =. ; .WORD 1 ; THREAD WORD ~S2T ~ ~i j TUESDAY 1400 XEQi j#~ .WORD EN11 ; ENTRY POINT .WORD 0 ; INITIAL ENTRY POUNT .WORD 0 TASK # 6 $T & & ~VT T2 P~ =~^jj 5-TH AT 0830zj~ ; MAX TIME .BYTE RES ; ST SIZE .BYTE 7 ; PRIORTY .WORD 0 ~TT TASK # 7 T U2 ~v  k >~jk TASK 12 2~ ; CURRENT TIMER .IFNZ ARG ; .WORD 0 ; PASSED ARGUMENT ~FU|U TASK _~EVERY TWO MINUTES j k ?~Nk~.ENDC .BYTE 0 ; CPU STATUS .BYTE 11. ; TASK NUMBER .WORD 0 # 8 nU &  2V2 ~U ~fk TRAP XXXXXX kxk  8& & &  M ~k2l AA~ ; STACK POINTER .=.+RES+RES ; TASK STACK AREA ; EN11 =. ; "V TASK # 9 VF~6V  V2 n"l T15 ERROR @` \~>l Bf%l ~vCLR CN11 ; CLR R0 ; EN11A: INC R0 ; INC CN11 ~VV TASK # ~ޭl BA~ll T16 ERROR P 10 V  bW2 ~&W ~V@`  Bf%l    o5~.m~; ******************************************************************** ; * MODULE IDENTIFICATION: T I M 7   W2 @~W }~ή o:o B~m~fE R S * .TITLE TIMERS ; ******************************************************************** ; 7     8X~X$ ~Ffo!to"B~n_~޼* Q T I M E * ; * PROGRAM IDENTIFICATION: "QTIME" 7 7b7jtEnhb \  X"X" 2*&  ~Xw ~o#o$~V * ; * TIMER MODULE QUEUEING SUBROUTINE * ; * ZZX~Xn!VPw Zp9& x9NX@f=~Y ~6~no%o&n~ν * ; * PURPOSE: LOADS TIMER MODULES ONTO "WAIT" STACK FOR "TIMER" * ; * :x9 p9(. *DY bww t[&-"[ e? U@f w ~~o q o p (q p 6q Dq Rq 4p R Xp ~F "TMNSRT" IS RESPONSIBLE FOR UNLOADING FROM THE STACK * ; * AND STRINGING ONTO PROPER THREAD ~~Y6  exMQI& ( w % #~&~"|p p~o8p  q q (q 6q Dq p `q nq p `q nq}~ * ; * * ; * USAGE: CALLED BY ANY ROUTINE WISH %~YE Cw   e[BA  J[6 w z0[[ ["$0( ~ o-~oTASK #30 ARG= pTASK #31 ARG= BpTASK #32 ARG= X~6z¿0)eL x  N N Ê <B e E~nZW  9[1[ 7x [ `[`\7lBA<WCEqJ[ 2~ fpTASK #33 AR~vpG= pTASK #34 ARG= pTASK #35 ARG= %! ,c ѐhˋÜ`E $X  P   LING TO ACTIVATE A TIMER * ; * MODULE. CALLING SEQUENCE: * ; * MOV 7&œ~Z& ‹ & 5@& L Œ Œ$Œ A [`BAW, ~pTASK #36 ARG= ~ppTASK #37 ARG: !qqSq"#qqwZ ɋr p8#MODULE,-(SP) ;STACK MODULE'S ADDRESS * ; * MOV TIME,-(SP) ;STACK TIMER-RESET WORD * J[ [~^[   wF[ A~!q"q#q"p~fqq#qqT <2- "PPPmȵ p~\ _@p_ ɕv_e~ ; * EMT QTIME ;REQUEST TO QUEUE MODULE * ; * OR {~[dd X$ ~~12345qwqwJ~q,I_O!jm7& b ]X¢"~>]eq 7B1f eee * ; * JSR PC,QTIME * ; * TST (SP)+ P J D"I JM& bOBHI6I6I~N\HI9 6I P7&f_Е<<9z P~~Vre%<< % Ý0Ü_    UU ~]&  ‹ & & N & x ;TEST ERROR RETURN CODE * ; * * ; * <2- "PPPmȵ p~\ _@p_ ɕv_e~ ~n~ryew E E Ev ~.^̡JB57 THE MODULE MUST BE SET UP, PRIOR TO THE CALL, AS DESCRIBED * ; * IN THE ROS USER'S MANUAL. NOTE THAT CALLS FOR MODU !jm7& b ]X¢"a~>]eq 7B1f eee _A~Fs& Νa-Q-?B=  /$ BeB~^ J- -LES HAVING * ; * THE "S" SUSPEND OPTION SET WILL CAUSE TRANSFER TO THE * ; * DISPATCHER, AND WILL NOT RET e%<< % Ý0Ü_    UU ~]&  ‹ & & N & x ~~s|- ee  &-_E eet?p6  T~_ޠw zURN UNLESS THE CALL IS IN ERROR. * ; * ON THESE CALLS THE MODULE'S TASK NUMBER IS AUTOMATICALLY SET * ; * TO THE yew E E Ev ~.^̡JB57 ~^|||88p9"IPY\paBX.........~6tΠ%%|_BA  J6 w P~_ Uv_|_~_|__~_ CURRENTLY ACTIVE TASK'S NUMBER. * ; * IF THE "WAIT" STACK IS FULL, "QTIME" WILL EXIT WITH THE ER & Νa-Q-?B=  /$ BeB~^ J- - n~ֵx 7r ww 7ts~~w  7^w w >ĝ\7Z70 , ~tZG&2 <-76 w e~`ROR * ; * CODE WORD ON THE STACK NON-ZERO. THE MODULE WILL NOT BE QUEUED* ; * "QTIME" TAKES ITS ERROR EXIT IF THE  - ee  &-_E eet?p6  T~_ޠw z ~N"{Rw.& d^@ D A  &DCc  w 2w  w  ' 7  ~&u  0m|5} n_œ__ Da`_v_ӵeK6 w . AREQUESTED MODULE IS ALREADY* ; * IN EITHER A TIMER THREAD OR THE "WAIT" STACK, AND HAS NOT BEEN * ; * FLAGGED FOR DE Π%%|_BA  J6 w P~_ Uv_|_~_|__~_ }~ƶ&w \w wXw w  fw |t w 7 wtwhw  %-E es wh6 ~ e~`rl V $_5_& H H H)[7% [1[ [1-QUEUEING. GOOD RETURNS ARE MADE WHEN THE MODULE* ; * IS FOUND INACTIVE OR MARKED FOR DE-QUEUEING IN THE "WAIT" STACK*  G&2 <-76 w e~` ~>~u=w F6 / w :( w 2! w * w "w * 7 w 7w 77~~ Jw7  [ ~`77 bv_^_d7 P7 ^aIAJ K  -&&mABbbcddelfgghi*jj(kkk\lE "WAIT" STACK. * ; * * ; * PROGRAMMER: 52  ~`rl V $_5_& H H H)[7% [1[ [1 ~. 7tpwhPb~v E ttP tIw -% w  =w 7 tk ZIJ#J~aefe3e3aa -BB 3& & & pava|a<< * ; * VERSION:003.001 * ; *  [ ~`77 bv_^_d7 P7 ^aIAJ K  -&&mABbbcddelfgghi*jj(kkk\l$ #~ dw *Ae0w v,w ~~wnHBFw 6- .27t, ( B:8w T ON TTY # 13ca3~b^rb * ; * G U L F E L E C T R O N I C S Y S T E M S * ; * ( k ZIJ#J~aefe3e3aa -BB 3& & & pava|a<<) ~?w 7 w 777     v~ww %0 %7E `  1 W ֆ m7 b -@b : 4b"~Vc&rb c4 * ; ******************************************************************** .DEF - aVaLa a~fb a bb INPU. 2~ yDx|xxxxjuzxvxNyrvyz z`yz$v,vVvvw~nxHwwwPwuttZ7U<D 2 7.7(% c TASK 2 M#~cESSAGE XXXXXX8& &  cc ~d QTIME .DEF TIMER .DEF TWAITB,TTBPTR,TFIRST,TLAST,RESTAB,CURTAB,TIMBSY,BASCNT .REF UNSP2 T ON TTY # 13ca3~b^rb3 ~ w %=w w  w w~x ww   7m5~Fddbd TASK 3 ACTIVE ND,QUEUE .REF $CTASK,$PRIOR,SUSPND .REF PUSHR,POPR,RESTOR .PAGE QTIME: ;ROUTINE7 b -@b : 4b"~Vc&rb c48 A~w w %/w \ z \pp^~^y.  L et  ! tB ! t=L XXXXXXxdRd  He(6~d TO PUT TIMER MODULE IN "WAIT" STACK MOV PS,-(SP) ;SAVE USER'S PS MOV #340,PS ;RAISE< c TASK 2 M#~cESSAGE XXXXXX8& &  cc ~d= ~v !64t4 $t .!4t6t4 $t % w  ~y @w @ % % w d PRIORITY e*e TASK 4~6e COMPLETEd e  CPU LEVEL TO PROTECT ROUTINE MOV R0,-(SP) ;SAVE USER'S CMP TTBPTR,#TMTBND ;SEE IF STACK ISA 5~Fddbd TASK 3 ACTIVE B P ww  D  &C@AEPA&fw w ~Nz/w w :w  Be !e Be 5&&  e $f 7~e FULL BHI QTIM50 ;YES: ERROR EXIT MOV 10(SP),R0 ;ADDRESS OF MODULE DEC F XXXXXXxdRd  He(6~dG ~ ` E ` H 8 wFLw 7U4~zE(w T76ef I/O LIST CHANGED p~&f e6fx(R0) ;IS TIMER MODULE INACTIVE? (T/W=0?) BNE QTIM30 ;NO: SEE IF ACTIVE OR IN "WAIT" STATE K d PRIORITY e*e TASK 4~6e COMPLETEd e L ~f  p$tw V׭脷U7w @~>{ŝŝ>fDfJf^f@e f E7  @` fP8~fQTIM20: ;HERE WHEN CLEARED TO STACK UP MODULE ADD #2,TTBPTR ;PUSH "WAIT" STACK POIP Be !e Be 5&&  e $f 7~eQ _~޼wt wt!t w w J~~w @eZ%ĕtt72 $t$tw |~{Bw f TASK 6 MESSAGE NO. XXXXXX ff tgP9 ~gNTER MOV R0,@TTBPTR ;ENTER MODULE ADDRESS INTO "WAIT" STACK BIS #C1CBIT,C1COMD ;START UP CLOCU ef I/O LIST CHANGED r~&f e6fxV ~V.e` w ;w ĝtw wsf&f 4t6t~.|g`g 7-GO X9 1Rg lg -K IF IT WAS OFF TST 2(R0) ;CHECK OPTION FLAG FOR "SUSPEND" BMI QTIM60 ;"SUSPEND"Z >fDfJf^f@e f E7  @` fP8~f[ n~νt 0.7$7$ w r5gbV  <6tt !%&~g2Rg 9&  3Rg :& & & ;& & &  hP: SELECTED QTIM40: ;THIS IS THE "SUCCESSFUL" EXIT CLR 10(SP) ;PREPARE ERROR RET_ f TASK 6 MESSAGE NO. XXXXXX ff tgP9 ~g` ~F~| &e N @ e0w &  t 7~rnE~h6hdURN CODE TO SHOW O.K. QTIM45: ;HERE WHEN EXITING TO "SUSPEND". AVOID CLEARING 10(SP) MOV 6(SP),4(R0) d g`g 7-GO X9 1Rg lg -e }~ w ~}  w ׭4 ^w Uw sw nj  7,tXRt-P ~~hh INPUT LONG MESSAGE h (h i ;LOAD NEW TIMER/RESET WORD INTO MODULE ; THIS SERVES AS NORMAL INIT FOR TIMER MODULE, AND ALSO RESETS ; THE i ~g2Rg 9&  3Rg :& & & ;& & &  hP:j X~6z¿0)eL x  N N Ê < Dw@ ~}78 %(!  %??~~w N%w ;~h2ip THIS MESSAGE DOES NOT "RESET" BYTE IN CASE MODULE IS BEING RE-QUEUED AFTER BEING ; DE-QUEUED, ALL WHILE REMAINING IN "WAIT" STACK. QTIM50: n ~h6hdo %! ,c ѐhˋÜ`E $X  P   L77w Z e0w ,~~,w w p Cå å$ נA CONTAIN AN IMBEDDED CARRIAGE RET~niURN; HOWEVER, IT SHOULD AUTOMATICALLY JUMP TO A NEW LINE$i "j < ;HERE WHEN EXIT IS TO LEAVE NON-ZERO ERROR CODE ON STACK DEC (R0) ;SET T/W=-1 TO SHOW IN "WAITs ~~hh INPUT LONG MESSAGE h (h iwZ ɋr p8  e` r~~~  Ëנe ee e ѐ  @(.Y.Yz ~i j TUESDAY 1400 XEQi j" STATE... ;...OR TO RESTORE MODULE'S T/W IF IT IS FOUND ALREADY ACTIVE... ; ...OR ALREADY IN "WAIT" STATE x ;~h2ip THIS MESSAGE DOES NOT TO A PROTECTED * ;* FILE. * ;* 11= DISC @ ODT-11R V002ABEX.Y.Y~~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB=)) =~^jj 5-TH AT 0830zjMOV (SP)+,R0 ;RESTORE USER'S MOV (SP)+,2(SP) ;MOVE OLD [PS] IN PREP FOR RTI RTI } CONTAIN AN IMBEDDED CARRIAGE RET~niURN; HOWEVER, IT SHOULD AUTOMATICALLY JUMP TO A NEW LINE$i "j <I/O ERROR, I/O NOT COMPLETE * ;* NOTE: DCS WILL BE IN DATA BUFFER WORD 2 * ;* eL x  N N Ê <%~v! ,c ѐhˋÜ`E $   k >~jk TASK 12 ;ZAP! RETURN TO USER OR GO TO SUSPEND ;ON OLD CPU LEVEL QTIM30: ADD #2,( ~i j TUESDAY 1400 XEQi j DAE WILL BE IN DATA BUFFER WORD 3 * ;* 12= TIME-OUT ERROR DURING DATA TRANSFERP   LwZ <~ɋr pEVERY TWO MINUTES j k ?~NkR0) ;NOT INACTIVE. SEE IF ACTIVE OR "WAIT" BNE QTIM50 ;ACTIVE: TAKE ERROR EXIT CMPB =~^jj 5-TH AT 0830zj OCCURRED * ;* 13= NO CKSAVE SPECIFIED ON CHKPIO. * ;* ~fk TRAP XXXXXXkxk  8& & &  M~k2l A 5(R0),#-1 ;IN "WAIT": IS IT FLAGGED FOR DE-QUEUE? BNE QTIM50 ;NO: ERROR EXIT BR  k >~jk TASK 12 * ;* AFTER AN ERROR TYPE 12, NO OTHER REQUESTS WILL BE * ;* PRO~ހ"l T15 ERROR @` \~>l Bf%l QTIM40 ;YES: LEAVE THERE AND REMOVE D-Q FLAG .PAGE QTIM60: ;HERE WHEN TASK IS TO BE SUSPENDED UNT EVERY TWO MINUTES j k ?~NkCESSED FROM THE DEVICE QUEUE. * ;* #~Vl BA~ll T16 ERROR IL TIMER EXPIRES MOVB $CTASK,2(R0) ;LOAD MODULE TASK # WITH CURRENT TASK MOV 4(SP),10(SP) ;SET k TRAP XXXXXX kxk  8& & &  M ~k2l A * ;* REGISTERS R0 THRU R5 WILL BE SAVED * ;* ~΁@`  Bf%l    o5~.m CALLER RTN TO LOOK LIKE "JSR" MOV #SUSPND,4(SP) ;SET STACK SO RTI WILL GO TO "SUSPEND" BR QTIM45 "l T15 ERROR @` \~>l Bf%l  * ;* PROGRAMMER 54 * ;* DATE 2~F o:o B~m ;INSTEAD OF RETURNING TO CALLER .PAGE ; ************************************** l BA~ll T16 ERROR  * ;* REVISION ~fo!to"B~n****************************** ; * * ; * @`  Bf%l    o5~.m* ;* * ;************************************************A~6o#o$ D Q T I M E * ; * PROGRAM IDENTIFICATION: "DQTIME" * o:o B~m*********************** .DEF DISCIO,CHKPIO,PFRITE,DINT .REF PHYDEV,ACTIVE,IOSTAT,RESTOR,QSAVE,DSPTCH ~no%o& ; * TIMER MODULE DE-QUEUEING SUBROUTINE * ; * fo!to"B~n .REF UNSPND,ERRTYP,QUEUE,LOGMAX,QTIME,DQTIME .REF $CTASK ; .CSECT DIO ; ; CHKPIO = ~~o q o p (q p 6q Dq Rq 4p R Xp  * ; * PURPOSE: * ; * REMOVES TIME o#o$ . MOV R0,-(SP) ; SAVE R0 MOV #40000,R0 ; CHKPIO ENTRY POINT MASK BR DIOP~&~"|p p~o8p  q q (q 6q Dq p `q nq p `q nqR MODULES FROM TIMER THREADS, IF ACTIVE * ; * AND IF FOUND IN ITS PROPER THREAD. IF ACTIVE BUT NOT * ; * ~no%o&A00 ; PFRITE = . MOV R0,-(SP) ; SAVE R0 MOV #100000,R0 ; PFRITE ENTRY POINT MAS~ o-~oTASK #30 ARG= pTASK #31 ARG= BpTASK #32 ARG= FOUND, ERROR EXIT IS TAKEN. IF STILL IN "WAIT" STACK * ; * IT IS MARKED FOR REMOVAL WHEN "TMNSRT" IS ~o q o p (q p 6q Dq Rq 4p R Xp K BR DIOA00 ; DISCIO = . MOV R0,-(SP) ; SAVE R0 CLR R0 ; _~ fpTASK #33 AR~vpG= pTASK #34 ARG= pTASK #35 ARG= RUN. * ; * IF MODULE IS ALREADY INACTIVE, NO ACTION TAKEN, AND * ; * GOOD EXIT IS TAKEN. ~"|p p~o8p  q q (q 6q Dq p `q nq p `q nqDISCIO ENTRY POINT MASK DIOA00: MOV R1,-(SP) ; SAVE R1 MOV R2,-(SP) ; SAVE R2 MOV ~pTASK #36 ARG= ~ppTASK #37 ARG: !qqSq"#qq * ; * * ; * USAGE: o-~oTASK #30 ARG= pTASK #31 ARG= BpTASK #32 ARG= R3,-(SP) ; SAVE R3 MOV R4,-(SP) ; SAVE R4 MOV R5,-(SP) ; SAVE R5 MOV n~!q"q#q"p~fqq#qqT CALLED BY ANY ROUTINE WISHING TO DE-ACTIVATE A TIMER * ; * MODULE. CALLING SEQUENCE: fpTASK #33 AR~vpG= pTASK #34 ARG= pTASK #35 ARG=  14.(SP),R1 ; R1 = ADDRESS OF DISC I/O LIST MOV 12.(SP),14.(SP) ; PUT CALLER'S PC IN PROPER POS. FOR RETU~~12345qwqwJ~q,I_O * ; * * ; * MOV #MODULE,-(SP) ;ST pTASK #36 ARG= ~ppTASK #37 ARG: !qqSq"#qqRN MOV R0,SYSTEM(R1) ; SET ENTRY POINT MASKS AND CLEAR OTHER MOV #ERR001,R0 ; USE R0 TO KEEP}~~VrACK MODULE'S ADDRESS * ; * EMT DQTIME ;REQUEST TO DE-QUEUE MODULE * ; * !q"q#q"p~fqq#qqT TRACK OF ERROR TYPES MOV PSR,-(SP) ; SAVE CPU STATUS MOV #PLOCK,PSR ; SET PRIORITY LOCK~n~r OR * ; * JSR PC,DQTIME ;DIRECT CALL WITH PROPER LINK * 12345qwqwJ~q,I_OOUT DEC (R1) ; DECREMENT FIRST WORD OF LIST BNE DIOA72 ; NON-ZERO-ERROR, CAN'T T~A~Fs; * TST (SP)+ ;POP ERROR RETURN CODE * ; * ~VrHREAD LIST MOV (SP)+,PSR ; RESET LOCKOUT INC R0 ; BUMP ERROR TYPE MOVB~^~s| * ; * NOTE THAT THE THREE ROUTINES: [TIMER], [QTIME], AND * ; * [DQTIME] ALLOW ~r DEVICE(R1),R4 ; GET LOGICAL DEVICE NUMBER CMP R4,LOGMAX ; IS IT WITHIN SPECIFIED RANGE BHI ~ֈ|||88p9"IPY\paB......... ~6t AN UNLIMITED NUMBER OF CALLS TO QUEUE * ; * OR DE-QUEUE THE SAME MODULE, REGARDLESS OF ITS STATUS * ; * A~Fs DIOA70 ; NO-ERROR TYPE 2 ASL R4 ; CONVERT TO INDEX MOV PHYDEV(R4),R5 ; GE#~Nx 7r ww 7ts~~w  7^w w >ĝ\7Z70 , ~tZ AT ANY GIVEN TIME. THE STATE UPON THE RETURN FROM A * ; * CALL TO [QTIME] OR [DQTIME], ASSUMING A ZERO ~s|T PHYSICAL DESCRIPTOR FOR THIS DEVICE SWAB R5 ; CHECK IF DEVICE AVAILABLE DECB R5 ~Ɖ"{Rw.& d^@ D A  &DCc  w 2w  w  ' 7  ~&u ERROR CODE* ; * ASSURES THAT THE MODULE IS IN THE MOST RECENTLY * ; * REQUESTED STATE. THE |||88p9"IPY\paBX.........~6t ; AND, DEVICE TYPE = 1 - DISC BNE DIOA70 ; OTHERWISE-ERROR TYPE 2 SWAB R5 2~>&w \w wXw w  fw |t w 7 wtwhw  %-E es wh6 ~ eONLY EXCEPTION IS WHEN A CALL TO * ; * [DQTIME] HAS BEEN MADE AFTER THE REQUESTED MODULE HAS * ; * x 7r ww 7ts~~w  7^w w >ĝ\7Z70 , ~tZ ; R5 NOW CONTAINS DISC CONTROLLER UNIT # INC R0 ; BUMP ERROR TYPE MOVB TYPE(R1),R2 ~u=w F6 / w :( w 2! w * w "w * 7 w 7w 77~~ Jw7  TIMED OUT AND BEGUN EXECUTION. STRICTLY SPEAKING, THE * ; * CALL IN THIS CASE CAME AFTER THE MODULE WAS RUN. "{Rw.& d^@ D A  &DCc  w 2w  w  ' 7  ~&u ; LEGAL EXIT TYPE? BLE DIOA70 ; NO-ERROR TYPE 3 CMP R2,#3. BGT DIOA70 ~ww (<~vb ww w A B` r% w| 7twrjwhg E * ; * * ; * G U L F E L E C T R O N I C &w \w wXw w  fw |t w 7 wtwhw  %-E es wh6 ~ e ; NO-ERROR TYPE 3 INC R0 ; BUMP ERROR TYPE MOVB LEVEL(R1),R2 ; SET LEVEL OF REQUEA~. 7tpwhPb~v E ttP tIw -% w  =w 7 t S Y S T E M S * ; * * ; ******************** ~u=w F6 / w :( w 2! w * w "w * 7 w 7w 77~~ Jw7  ST IN R2 BLE DIOA70 ; ERROR IF ZERO OR LESS-ERROR TYPE 4 CMPB R2,NDPRTY(R5) ; LEGAL DISC P~=w e0w ,~ww %@w ~ke=w @w Xwww=w  w ************************************************ .DEF DQTIME .PAGE DQTIME: ;SYSTEM SUBROUTINE Tww (<~vb ww w A B` r% w| 7twrjwhg ERIORITY LEVEL? BGT DIOA70 ; ERROR TYPE 4 INC R0 ; BUMP ERROR TYPE MOVP~ dw *Ae0w v,w ~~wnHBFw 6- .27t, ( B:8w O DE-QUEUE A TIMER MODULE MOV (SP),-(SP) ;MOVE RTN ADDR IN PREP FOR "RTI" AT END MOV PS,2(SP) 7tpwhPb~v E ttP tIw -% w  =w 7 t DATA(R1),R4 ; R4 = ADDRESS OF I/O BUFFER MOV (R4),R3 ; FILE ID OR IFD BPL DIOA10 ~?w 7 w 777     v~ww %0 %7E `  1 W ֆ m7 ;PLACE [PS] ALSO FOR "RTI" MOV #340,PS ;RAISE CPU LEVEL: PROTECT AGAINST "TIMER" JSR =w e0w ,~ww %@w ~ke=w @w Xwww=w  w ; FILE ID BIC #100000,R3 ; STRIP OUT IFD SIGNIFIER CMP R3,#NCFILE ; CHECK AGAINST N_~ yDx|xxxxjuzxvxNyrvyz z`yz$v,vVvvw~nxHwwwPwuttZ7U<D 2 7.7(%  R5, PUSHR ;SAVE ALL REGISTERS MOV 20(SP),R0 ;GET MODULE'S ADDRESS CMP #1,(R0)  dw *Ae0w v,w ~~wnHBFw 6- .27t, ( B:8w O. OF CORE RES. FILES BGT DIOA70 ; ERROR TYPE 5 DIOA10: INC R0 ; BUMP ERROR TYPE ~ w %=w w  w w~x ww   7m ;IS MODULE ALREADY INACTIVE? BEQ DQTM20 ;YES: TAKE GOOD EXIT MOVB #-1,5(R0) ;FLAG D-"?w 7 w 777     v~ww %0 %7E `  1 W ֆ m7 CMPB INOUT(R4),#3. ; IS FUNCTION LEGAL? BHI DIOA70 ; ERROR IF GREATER THAN 3-TYPE 6 CLn~w w %/w \ z \pp^~^y.  L et  ! tB ! t=LQ WITH "RESET" BYTE ALL ONES CMP #-1,(R0) ;IS MODULE STILL IN "WAIT" STACK? BEQ DQTM20 ' yDx|xxxxjuzxvxNyrvyz z`yz$v,vVvvw~nxHwwwPwuttZ7U<D 2 7.7(% R ERROR(R1) ; INITIALIZE ERROR INDICATOR CLR DUSE3(R4) ; INITIALIZE DUSE3 MOV R5,R0 ~v !64t4 $t .!4t6t4 $t % w  ~y @w @ % % w  ;YES: NO NEED TO REMOVE FROM THREAD MOVB 3(R0),R1 ;IS IN ACTIVE QUEUE: TAKE IT OUT BIC #1, w %=w w  w w~x ww   7m ; COMPUTE DISC CONTROLLER UNIT WORD INDEX ASL R0 ; DCUWX MOV DQLAST(R0)}~ ww  D  &C@AEPA&fw w ~Nz/w w :w  77760,R1 ;GET MODULE'S RESOLUTION ASL R1 ;USED AS WORD INDEX BELOW MOV R1,R3 1w w %/w \ z \pp^~^y.  L et  ! tB ! t=L,R3 ; GET ADDRESS OF DEVICE LAST LIST MOV PSR,-(SP) ; SAVE PROCESSOR STATUS ON STACK MOV #PL~f ` E ` H 8 wFLw 7U4~zE(w T76 ;SAVE RESOLUTION IN CASE NEEDED BELOW CMPB R1,CURRES ;DID WE INTERRUPT "TIMER"... 6 !64t4 $t .!4t6t4 $t % w  ~y @w @ % % w OCK,PSR ; SET PRIORITY LOCKOUT CMPB R2,HPRIRQ(R5) ; WILL THIS BE HIGHEST PRIORITY REQUEST BHIS ~ޏ  p$tw V׭脷U7w @~>{ŝŝ ;...WHILE IT IS ON THIS RESOLUTION? BNE DQTM05 ;NO: O.K. TO DE-QUEUE INC DQ; ww  D  &C@AEPA&fw w ~Nz/w w :w  DIOA50 ; NO MOVB R2,HPRIRQ(R5) ; YES - SET IN HPRIRQ DIOA50: ASL R2 ; CONVERT LEVEL T~Vwt wt!t w w J~~w @eZ%ĕtt72 $t$tw |~{Bw FLAG ;YES: FLAG "TIMER" TO RE-SCAN THREAD... BR DQTM20 ;...AND DO NOT REMOVE FROM THREAD NOW.@ ` E ` H 8 wFLw 7U4~zE(w T76O WORD INDEX ADD R2,R3 ; GET TO PROPER 'LAST' ADDRESS +1 MOV R1,@-(R3) ; INSERT PARA~ΐ.e` w ;w ĝtw wsf&f 4t6t~.| DQTM05: ADD #TFIRST,R1 ;ADDR OF RESOLUTION'S "FIRST" WORD DQTM10: ;LOOP RETURN POINT FOR THREAD E  p$tw V׭脷U7w @~>{ŝŝMETER LIST IN QUEUE MOV R1,(R3) ; SET LAST WORD IN DIRECTORY TST ACTIVE ; LOOK AT C#~Ft 0.7$7$ w r5gbV  <6tt !%&SEARCH MOV R1,R2 ;SAVE UPSTREAM MODULE'S ADDR MOV (R1),R1 ;ADDR OF DOWNSTREAM MODUJwt wt!t w w J~~w @eZ%ĕtt72 $t$tw |~{Bw URRENTLY ACTIVE TASK LOC. BEQ DIOA60 ; NO TASKS ARE ACTIVE MOV $CTASK,R3 ; R3 CONTAIN~| &e N @ e0w &  t 7~rnELE BEQ DQTM30 ;END OF THREAD: SEARCH FAIL ERROR CMP R0,R1 ;IS THIS THE MODULE TOO.e` w ;w ĝtw wsf&f 4t6t~.|S TASK NUMBER BISB R3,SYSTEM(R1) ; SAVE TASK NUMBER IN SYSTEM INCB IOSTAT(R3) ; SET I/O IN PRO~ w ~}  w ׭4 ^w Uw sw nj  7,tXRt-P BE DE-QUEUED? BNE DQTM10 ;NO: KEEP LOOKING MOV (R1),(R2) ;FOUND IT! BRIDGE OVER THTt 0.7$7$ w r5gbV  <6tt !%&GRESS FOR THAT TASK DIOA60: INC NODREQ(R0) ; BUMP NO. OF DISC REQUESTS MOV (SP)+,PSR ; RESTORE PR2~6 Dw@ ~}78 %(!  %??~~w N%w IS MODULE... BNE DQTM15 ;...AND EXIT IF NOT LAST MODULE MOV R2,TLAST(R3) ;...BUT UPDATEY~| &e N @ e0w &  t 7~rnEOCESSOR PRIORITY TST NODREQ(R0) ; WAS THIS THE FIRST REQUEST? BNE DIOA75 ; NO-EXIT AS ~77w Z e0w ,~~,w w p Cå å$ נA  "LAST" ENTRY IF WAS @ END DQTM15: MOV #1,(R1) ;FINALLY, FLAG MODULE INACTIVE DQTM20: CLR 20(SP) ;C^ w ~}  w ׭4 ^w Uw sw nj  7,tXRt-PSPECIFIED CLRB CALLED(R5) ; CLEAR EXIT TYPE FLAG-INT. OR T-OUT MOV TMTBL(R0),-(SP) ; ADDRESS OF A~&  e` r~~~  Ëנe ee e ѐ  @(HHLEAR RETURN ERROR FLAG FOR GOOD EXIT DQTM30: JSR R5,POPR ;RESTORE SAVED REGISTERS... RTI c Dw@ ~}78 %(!  %??~~w N%w TIMER MODULE TO STACK MOV TDELAY,-(SP) ; THREAD A 100 MSEC TIMER FOR THIS DISC JSR PC,QTIME ~@ ODT-11R V002ABEpa r r~~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB=)) ;...AND RETURN TO CALLER WITH HIS PS .PAGE ; ************************************************************h77w Z e0w ,~~,w w p Cå å$ נA  ; SET TIMER MODULE IN THREAD TST (SP)+ ; IGNORE ERROR BR DIOB00 ; START QUEUE P~eL x  N N Ê <%~v! ,c ѐhˋÜ`E $  ******** ; * T I M E R * ; * PROGRAM IDENTIFICATION: "TIMER"m  e` r~~~  Ëנe ee e ѐ  @(.Y.YzSEARCH ; ; JMPS USED TO GET OVER BR RESTRICTIONS. TO: ; DIOD10, DIOD15, DIOD20, DIOE00 ; DIOA70: JMP DIOD~P   LwZ <ɋr p8 * ; * HIGH-RESOLUTION CLOCK PULSE SERVICE ROUTINE * ; * @ ODT-11R V002ABEX.Y.Y:~ *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB]810 DIOA72: JMP DIOD15 DIOA75: JMP DIOD20 DIOA80: JMP DIOE00 ; ; SEARCH APPROPRIATE DEVICE QUEUE FOR HIG_~ * ; PROGRAMMER: 53 * ; DATE: 29-S * ; * PURPOSE: --SERVICES ALL TIMER MODULES AT THEIR RESPECTIVE eL x  N N Ê <%~v! ,c ѐhˋÜ`E $  HEST ; PRIORITY REQUEST. ; R0 = DCUWX ; R5 = DISC CONTROLLER UNIT NO. ; DIOB00 = ~~EP-71 * ; REVISION: 0 * ; * ; * RESOLUTIONS, PROVIDING THE FEATURES OF TASK * ; * TIME-DELAY, PERIODIC OR ONE-P   LwZ <ɋr p8 . MOV DQFRST(R0),R3 ; GET APPROPRIATE DEVICE FIRST TABLE DIOB10: MOV (R3)+,R1 BEQ DIOB10 n~ CATALOGUE NUMBER: * ; SHOT QUEUEING, * ; * FLAG-SETTING,AND COMPLETION-ROUTINE CALLS. * ; * --KEEPS ;INIT OF PRIORITY IF NEEDED FOR [QUEUE]. TSTB R2 ;IS "SUSPEND" OPTION SELECTED? ; DIDN'T FIND ANYTHING AT THAT LEVEL MOV R1,CRQPTR(R0) ; SET UP CURRENT REQUEST IN DCT MOV D~n * ;*********************************************************************** .PAGE .DEF TRACK OF THE TASK-EXECUTION TIME (ABORT) * ; * COUNTER, AND CALLS FOR TASK ABORT IF TIME * ; BPL TIMB30 ;NO: GO DO QUEUEING JSR PC,UNSPND ;CALL TO "UN-SUSPEND" BR TIMBATA(R1),R4 ; ADDRESS OF I/O BUFFER TST DUSE3(R4) ; FILE DIRECTORY INFORMATION NEEDED? BNE }~DSPTCH ; DEFINE ENTRY POINT .DEF SBSYNA ; DSPT .R* RUNS OUT. * ; * --PROVIDES (OPTIONAL) TIME-SLICE FEATU50 ;GO POP ERROR WORD & CHECK FLAG OPTION TIMB30: ;HERE TO QUEUE A TASK. TASK # AND RETURN CODE DIOA80 ; NO MOV (R4),R0 ; GET FILE ID TO LOOK FOR. BMI DIOB80 ; DON'T SEAR~^EF STACK ; DSPT SBSYNA: .WORD 0 ; DEFINE FLAG FOR USE BY TRE BY * ; * PERIODICALLY ROTATING THE TASKS IN A QUEUE. * ; * ;(OR INITED PRIORITY) ALREADY PUSHED ONTO STACK. .IFNZ DPRTY ;DYNAMIC PRIORITIES OPTION CH. IT'S AN IFD MOV #-NCRLOC,R2 ; USED FOR AN INDEX THRU 'FILE' DIOB20: CMP R0,FILE+NCRLOC(R2) ; SE~֗HE DISPATCHER DSPT ; AND SAVE/RESTORE TO DETERMINE WHEN DSPT * ; * USAGE: ACTIVATED BY CLOCK INTERRUPT. ALL PROGRAMS HANDLE * ; * CLR -(SP) ;USE SYSTEM-ASSIGNED PRIORITY ; (ACTUALLY LEAVES ZERO AS PRIORITY AND PUSHES NEW RETURN CODE OF ZERARCH CORE DIRECTORY FOR MATCH BEQ DIOB50 ; FOUND IT DIOB25: ADD #10.,R2 ; BUMP INDEX ~N ; TO RESTART THE DISPATCHER'S SEARCH. DSPT ; WHEN IT IS EQUAL TO ZERO IT IS OFF. DSPT COMMUNICATION VIA "QTIME" AND "DQTIME". "TIMER" * ; * CALLS SYSTEM SUBROUTINES "QUEUE", "SAVE", "UNSPNO, ; POSSIBLY INITING STACK SPACE FOR PASSED ARGUMENT, IF OPTION IS ON.) .ENDC DPRTY .IFNZ ARG BNE DIOB20 ; TRY AGAIN .IFZ DRESDI ; CORE ONLY DIRECTORY MOV #ERR007,R0 ; WHEN IT IS EQUAL TO ONE IT IS ON AND DSPT ; THE DISPATCHD", * ; * AND "ABORT". * ; * ;SYSTEM OPTION TO PASS ARGUMENT ON QUEUE BIT #100,R2 ;DOES MODULE HAVE AN ARGUMENT TO PASS? BE ; ERROR TYPE 7 BR DIOB48 .ENDC ; ; IF DISC RESIDENT DIRECTORY - READ APPROPRIATE SECTOR FROM F~ƘER MUST RESTART ITS QUEUE DSPT ; SEARCH. THIS WILL HAPPEN WHEN EITHER DSPT * ; * G U L F E L E C T R O N I C S Y S T E M S * ; * Q TIMB40 ;NO MOV @TIMARG(R3),(SP);YES: REPLACE THE ZERO WITH ACTUAL ARG TIMB40: CLR -(SP) ILE ; R0 = FILE ID TO SEARCH FOR ; R1 = I/O LIST ADDRESS ; R4 = ADDRESS OF I/O BU#~> ; A NEW LEVEL IS SEARCHED OR WHEN A DSPT ; TASK IS FOUND (BUT BEFORE IT I * ; ******************************************************************** ;MUST PUSH RETURN CODE SINCE ARGUMENT .ENDC ARG ;USED UP LAST ONE. JSR PC,QUEUE FFER ; R5 = DISC CONTROLLER UNIT NO. ; .IFNZ DRESDI ASL R5 ; R5 BECOMES D~S DSPT ; DISPATCHED). THE FLAG IS SET BY SAVE DSPT ; ; FOLLOWING ARE OFFSET PARAMETERS FOR TIMER MODULE REFERENCES SAVE = 3 ;OP-CODE FOR TRA ;CALL QUEUE TIMB50: ;HERE AFTER [QUEUE] OR [UNSPND] TST (SP)+ ;POP ERROR RETURN CODECUWX MOV DODADD(R5),R2 ; ADDRESS OF APPROPRIATE DOD DEC R0 ; CALCULATE (FILE ID#-1)/12~.WHEN NO TASKS ARE ACTIVE ON THE FIRST DSPT ; INTERRUPT. THE FLAG IS CLEARED AT THEDSPT P TO "SAVE" SUBROUTINE TASKNO = 2 ;TASK NUMBER BYTE OPTION = 3 ;OPTION FLAGS BYTE TIMB54: ;HERE WHEN NOT TASK-RELATED ASLB R2 ;MOVE "ARG" OPTION INTO SIGN B2 CLR R3 ; USE R3 TO CONTAIN QUOTIENT DIOB30: SUB #12.,R0 ; DIVIDE BY 12 TO FIND ~ ; BEGINNING OF DSPTCH. DSPT DSPTCH =. ; ENTRY POINT TIMBYT = 4 ;MODULE TIMER BYTE RESET = 5 ;TIMER RESET BYTE TIMARG = 6 IT BPL TIMB56 ;"A" NOT SET TST (R3)+ ;PASS POINTER OVER ARG, WHETHER USED OR NOT TIMB56: BMI DIOB35 ; RELATIVE SECTOR OF DIRECTORY INC R3 ; ACCUMULATE RELATIVE SECTOR A~ CLRB @#PS ; ALLOW ALL INTERRUPTS DSPT CLR SBSYNA ; CLEAR FLAG (SEE AB ;ARGUMENT (FOR QUEUEING) ADDRESS WORD TMFLAG = 6 ;FLAG ADDRESS WORD (DYNAMIC OFFSET) TIMAASLB R2 ;GET "FLAG" OPTION BIT INTO SIGN BPL TIMB60 ;NO FLAG OPTION BISB TI BR DIOB30 ; NOT FINISHED DIOB35: ADD #12.,R0 ; BUMP BACK REMAINDER BISB R0,SYSTEM~OVE). DSPT TST ACTIVE ; ANYTHING RUNNING? BNE DSPERR ; YES. BAD, BSK = 8. ;FLAG MASK WORD (DYNAMIC OFFSET) JSTARG = 6 ;USER ROUTINE ADDRESS WORD (DYN MASK(R3),@TMFLAG(R3) ;"IOR" MASK INTO FLAG LOCATION CMP (R3)+,(R3)+ ;BUMP SECONDARY MODULE POINTER FOR FLAGS+1(R1) ; SAVE AS INDEX INTO FILE BUFFER CMP R3,LGTH(R2) ; LENGTH OF DIRECTORY EXCEEDED? BLE DIOBP~AD, BAD TST MFLAG ; RUNNING UNDER TASK LOCKOUT? BNE DSPERR ; YES. JUST AS BAD.OFFSET) .PAGE TIMA00: RTI ;RETURN USED IF CLOCK IS RE-ENTERED ;TO PROCESS QUZ2?|224 ? |w' 7( F 33   6 : d4xd4 e d4؄ +   Å  &f00 0 7 &^4   ~3 3 ~3W # 33333333344444"4+424A4G4N4T4Z4^4SUBROUTINEFUNCTIONBLOCKDATAEXTERNALDEFINEFILETYPEDIMENSIONCOMMONEQUIVALENCEDATAIMPLICITENDLOGICAL*1LOGICALINTEGER*2INTEGERDOUBLEPRECISIONDOUBLECOMPLEXREAL*8REAL*4REAL33|4L3F3?ɋ ,00 $0 07 >7w b ɥ( 8%5EaU@EǡB w \6 F  ~ w b6& b= V 8ɥ,$ɥ)! 6E $ U0 0  6ɥ,ɥ)S hɥ=P ɋ]Ep]&  t6     Ee0 07171  w {6 ml2 2  F w 67^^_ $TR,: JSR %4,$POLSH $POPR .+2 RTS %5 : wjɅ0$  n3-0-) $)&f 7W  W)    !w-t ( t {&E P p7 ,O$4   4&gU$ eu#CEE"BPBeᷣPBCCBEE P f @  0Q PRT!f8 1  w  0Q PBE@Cr%FK n  (  Vww&&f:VR n)"  T)"   :)" U77& & wEpU  ,&f& (  #Frf 2  ,5$ ~,)0‹% + EP   ` !  U&  & H `5\p5V> ݙ `E b1  @uuE P   '5#> 0;+3# R l < A ` CF P F P : 0 CE Z;Z;ĕ ĕ$ Z; ĜZ; 1111 BIIRDC5h5f5d& 7 7^ `ĕ$ XE > H> @ ' C EĜZ; Z; 1111 & @  8 Mw Z; 1111 EwAA > 턜Z; 1x1p E<7`j< RZMRE t ^ CF wD $SVSP[p= Ee0 7171 " < @E  A &   5>  w> e0 췼1e1] w $SBSf&@ N5@w > ^ w > Pw n>E e  ` ,w N> w&@E%@5 w J+  CEF w > w > w >7 w >-> e0 뷼1\1T w~  .+2 JSR %5, BR .+: 0 ADD #,%6 JSR %4,$POLSH .GLOBL $GET $PSHR $SVA $SVP $SVE $CMORANNTADSBMLDVPWNGLTGTEQNELEGE&f5 \?, ,W ? `? B?E8P *v ؚ-\@N&?dd++0WWvGv ss<p< (( ( ( ( ( (  8 w4 ? Vw??FILEZ2D2?2 L w' 6 B . 2  @3. ؅ x@3222223 333333#3(3-333<3@3ENDFORMATDOASSIGNCALLCONTINUERETURNGOTOIF(PAUSESTOPREADPRINTWRITEREWINDBACKSPACEFINDTD=B@f3XCRC??wJ & W) W= EW!N H5 L v 5 < f F Z P 2 R! eF3@3 @37   $F:   7 f b 4 4e      . :  pe W, ~Se   ! U P  .GLOBL $TSI .GLOBL $TSR .GLOBL $TSD 444 .GLOBL $TRTST wʅ0$  3-F0-B) $)&f 7tW  W)  R T v!wv- p( ft {&E P Jp7 O$4   4&gU{$ eu#CEEBPBeᷣW[PBCCBEE Pb f @  0Q PRT!f6 p1  f w  0Q PBE@C%FK   (  ww&&f n)"  T)"   :)" U7z7V& & wEpU  j,&f84& F(  #Ff 2  5$ ,)0‹% + EP   ` ! f bUrlH&  & H `5\5VX= # 8 R " E 1  @uuE   '5#R= ݵ ~A p CF  ^P CE 99ĕ Lĕ$ D9 <Ĝ9 41111 B \ , TBIIRDC5h5f5d& 77^ ĕ$ E i= j=  ' C EĜ9 9 ﳼ1111 Mw 9 \ 1111 h R zEwAA d= 9 ﷼11 * D  <E5;7`.;   CF wD $SVSP[; Ee0 71a71Y @E X BA F h 5^= 0>, X r BwE= e0 11 ( B w $SBSf&@ 5@w <= w = w =E e w += w@E%@5 Tw + T" rCEF w =F w z= w n%=7 .w d+=-K= e0 11  8  0w~  .+2 JSR %5, BR .+: 0 ADD #,%6 JSR %4,$POLSH .GLOBL $GET $PSHR $SVA $SVP $SVE $CMORANNTADSBMLDVPWNGLTGTEQNELEGE "? BN=F5 d ~ N F p fw |$w T0 *? > 6 D;w 64? F 2 $ ! B  ^+ 1f 81 w 1 엠H: , )D+ ¥'" ~Dĥ' j1 Zw f1K bL d @?    1 ¥(¥) '? ( $TR^ .ASCII ^^ .EVEN DEFGIOL R  B-r% ^h `P ? Pe0 Z근1*1" h R z? *" B \ , T $RET $POPR8@R@l@   J P  D  I .GLOBL $RWIND $RWIND .GLOBL $BCKSP $BCKSP .GLOBL $ENDFL $ENDFL 1 T ɥ(= #wf @ $ : T $ w b.  4 4 $TR $TRX . $TRA 0 $TRAL f 8 B,)& ɥ, $хɋ :@ ~y݃q J P ߁ &wf 4 EP ~߇w pA ۛ lѥ, U@ ɋ'ɥ,9 2ɥ(3 A    ɥ)w AwA ݩ ww ɋ %  $<  N f fѥT \ѥO 4 fޢ ɋU@ <DCÝ.CJCÝ>C   w OC ̅ vJE   $ASP $AS,.DD B¥'E xP¥O¥Z7   ~?D 2 (>D bݢ @^, %¥1 <B ܅ D N & w 2D .GLOBL $PAUSE $PAUSE .GLOBL $STOP $STOP .ASCII ^^ .BYTE 0 .EVEN  w D :wb؆DDFILEZ2C22 L w' 6 B . 2  @3. ؅ x@3222223 333333#3(3-333<3@3ENDFORMATDOASSIGNCALLCONTINUERETURNGOTOIF(PAUSESTOPREADPRINTWRITEREWINDBACKSPACEFINDCf3D5*5H5N5wJ & W) W= EW!N l 5 L v 5 < f F Z P 2 R! eF3@3 @37   $F:   7 f b 4 4e      . :  pe W, ~Se   ! U P  .GLOBL $TSI .GLOBL $TSR .GLOBL $TSD 444 .GLOBL $TRTST D f(5 *4 f<55 &  B (  A B J# |,)¥'6 C D& ]EB: ~AD @7   w <:w X$ c: b:\ E%  w :v #  ,U•)  ),Fneg] C ` ` C f: 6w13w1+ X r B  )w V: A 2  wB: L +w N. " )w 40 ,B:  w .  )G w 0 p@ . : jygq_ z b7 ` n -( w T) '9Cנ נ= |  T J7  , ) 7 H X:   Cנ נ(   w :A bwZ f& ( , )  Bw  f T   D= * $1ӝ ą7 N  N 7 =[ )wZwJ  )w : Tv : L:: X1B1: f P x&  NwDR: 5P   , E  BLIRDCXAJ:N:R:END=ERR= $PSH $PSHR1 0 t:{:::::: $FIND $INRI $INI $INFI $OUTRI $OUTI $OUTFI0,0 $PSH, $IO $IOF 7 .; 5ĕP e0 1111  " 5  $POPwą0$ ~ 3-"0-) $)&f\ 7PW  W)  . 0 R!w- L( Bt {&E P &p7 O$4   4&gUW$[ eu#CEEBPBeᷣ37PBCCBEE P> f @  0Q PRT!f< L1  B w  0Q PBE@C%FK   헠(  ww&&f n)"  T)"   :)" U\7V72& & wEpU  F헠,&f& "헠(  #Ff 2  5$ 엠,)0‹% + EPt   ` ! B >UNH$&  & H `5\5V|C   . E 1  @uuE   '5#vC ݑ ZA L CF  :P CE ??ĕ (ĕ$ ꄜ? Ĝ? 과1111  8  0BIIRDC5h5f5d& 7k7o^ ĕ$ E C C  ' C EĜ? ~鄜? v鳼1111 n Mw ? 8 1111 D ^ . VEwAA C 脜? 跼11  EYA7`RA ݰ |CF wD $SVSP[B lEe0 r71=715 j@E 4 A " D n5C  4 N wiC e0 緼11   w $SBSf&@ z5@w `C w &C w 5CE e f w OC w@E%@5 0w + 0 NCEF vw d>C" w VBC w JIC7 w @OC-oC e0 淼11  ށw~  .+2 JSR %5, BR .+: 0 ADD #,%6 JSR %4,$POLSH .GLOBL $GET $PSHR $SVA $SVP $SVE $CMORANNTADSBMLDVPWNGLTGTEQNELEGE 4 L wH C jw CCFILEZ2A22>@ L w' 6 B . 2  @3. ؅ x@3222223 333333#3(3-333<3@3ENDFORMATDOASSIGNCALLCONTINUERETURNGOTOIF(PAUSESTOPREADPRINTWRITEREWINDBACKSPACEFINDA?=f3wJ & W) W= EW!N H5 L v 5 < f F Z P 2 R! eF3@3 @37   $F:   7 f b 4 4e      . :  pe W, ~Se   ! U P  .GLOBL $TSI .GLOBL $TSR .GLOBL $TSD 444 .GLOBL $TRTST w 0$  3-F0-B) $)&f 7tW  W)  R T v!wv- p( ft {&E P Jp7 O$4   4&gU{$ eu#CEEBPBeᷣW[PBCCBEE Pb f @  0Q PRT!f6 p1  f w  0Q PBE@C%FK   (  ww&&f n)"  T)"   :)" U7z7V& & wEpU  j,&f84& F(  #Ff 2  5$ ,)0‹% + EP   ` ! f bUrlH&  & H `5\5VX= # 8 R " E 1  @uuE   '5#R= ݵ ~A p CF  ^P CE 99ĕ Lĕ$ D9 <Ĝ9 41111 B \ , TBIIRDC5h5f5d& 77^ ĕ$ E i= j=  ' C EĜ9 9 ﳼ1111 Mw 9 \ 1111 h R zEwAA d= 9 ﷼11 * D  <E5;7`.;   CF wD $SVSP[; Ee0 71a71Y @E X BA F h 5^= 0>, X r BwE= e0 11 ( B w $SBSf&@ 5@w <= w = w =E e w += w@E%@5 Tw + T" rCEF w =F w z= w n%=7 .w d+=-=K= e0 11  8  0w~  .+2 JSR %5, BR .+: 0 ADD #,%6 JSR %4,$POLSH .GLOBL $GET $PSHR $SVA $SVP $SVE $CMORANNTADSBMLDVPWNGLTGTEQNELEGE( r$ "   ^ (& @& f $ W  ɋ &5 5U& w7 fB= x &  W  ɋW)C @ A 99ĕ hĕ$ `Ĝ9 X넜9 P1111 ^ x H p   <엠=(     w7 &  7 ^? Ee0 근1x1p  $PUT $POP7 b? X&5ĕP ^e0 P갼1111 ^ x H 5  $ R $POP1  ! 10 f1&   S @ L N=D >,< < :BW=5 9 7.W,2 / - ɋ hW,# l  Nɋ1f@ J1)./B?=0 1 BEP (  Lf NCF  0!1Ć eTTTTTTT $POP2Da<65ÜE ` x wt A w6۲AAFILEZ2<|282666(7<7 |w' 7( F 33   6 : d4xd4 e d4؄ +   Å  &f00 0 7 &^4   ~3 3 ~3W # 33333333344444"4+424A4G4N4T4Z4^4SUBROUTINEFUNCTIONBLOCKDATAEXTERNALDEFINEFILETYPEDIMENSIONCOMMONEQUIVALENCEDATAIMPLICITENDLOGICAL*1LOGICALINTEGER*2INTEGERDOUBLEPRECISIONDOUBLECOMPLEXREAL*8REAL*4REAL33|4L347F3<ɋ ,00 $0 0 < ^ɥ/ Rɥ/ ы6$2$27 F7 D7 B "ѥ/*22 7,7,7, e  e -J $2  7&2 J?<554U  (, 7- ^ ¥,¥/*ɋ  7f-bb+,-22    w 6 w 6 & fAB &m` w 6 a | &    D  za w 6e v =.+ .CSECT .=.+.$$$$.&f P  *e   m mD D D EE 2&f m\&f& 4 6 m<  @ T` @A @ 4` r "       f @a  b @2 & $   ‹¥, <l& ¥(&  & N ¥,& < ¥,¥)7e  =< &e7 " <   B B B E ``> +\ B<9 DmC D11 aw ;@  @2 7  .0 7 7 l9 6B D lDl7!7 e  J"& eLlL 9v &DB9 J"@ ?w 0;@ 7 4.2: ,Bm^< J @w ; w , D7.tm : f BmU2 E22   7;x (w :t;l w N+Xm "6 w*D7!8(mp5@"U@^ ~w u; pw +CZ j  Fb. =w ;FF ; pw ;m xF r w \p@64t7 |w' 7( F 33   6 : d4xd4 e d4؄ +   Å  &f00 0 7 &^4   ~3 3 ~3W # 33333333344444"4+424A4G4N4T4Z4^4SUBROUTINEFUNCTIONBLOCKDATAEXTERNALDEFINEFILETYPEDIMENSIONCOMMONEQUIVALENCEDATAIMPLICITENDLOGICAL*1LOGICALINTEGER*2INTEGERDOUBLEPRECISIONDOUBLECOMPLEXREAL*8REAL*4REAL33?j@|4@z>L36@8F3P?ɋ ,00 $0 0N e 6 6  F % E5 W( e e    E 2  e6 6 6  ! g { b `  eW,W)X    E?E2Q < 6 @6 4 A X  E & )& E    xen Ze& r >5 5 &E ww .GLOBL $ADJ  l6 v6ve  0   22 EE82Q \+ E8 E3QU ɋ ɋ W, e&  4m$" C C C E$ v3  7E E E Eve wa-  EE sQ e@w f RXl h8 jven] v 6F @B,¥/ Rɋ `ɥ, 8 J F \8 27 .CSECT $TR: c&f7 7 D7 D < v ,, v  ,  , / / ed ɥ//7 nv P  m27 &h<Ĝ E%22  :  z hww e<@U@ :  @ KFn : 4  R L5 =. . =. = b 5  f &+ j aC 7`gh L*B 7 <V; F  $mn V; +  P | . =  m*G7 ɥ(PɥOGɥZGɥ-=ɥ+ nD Bɥ*#%A ;7 7ɥ(*ɥ-ɥOɥZɥ+ " ZT 27    bi7 $jEE 0w6 k z%%z< 0    %%Ü2  E && & = 2E  e  .&, . .WORD & # > @ @ @ @a &  2 @ @ @ @ @a  05w(f! x@ >%; pѥ,6&& N' %%"ѥ)e44e E8U(  W( PC31 W- 6CD31 W,W)ɋM fI 6? j=? ^ hV <  `W( Z D  FW, @ *ᅗ  ,J? Dׅ ԅ   W)  z   .GLOBL $DEFIL ,U,F?I?  w |? >wf݂??FILEYB7 P y j70e ݃ fU  E8 PE 0 -~ ꗠ( 7 :Ue-( ꗠ,)  EUU7 vU7lTƩ 9678 pꗠ,) `  EUw X@ ( V 0ꗠ,  : .GLOBL  "7w-~zrww  ", 6& &Z2B6:<===@A$BJ)& !@!>-Z-*-65 5$5 Z.>->-׭ L.. ѕ?ѕ ѕ ѕ `.whZ.Z-& f,L-/ zrW 7 4F-/ D<W 7 R-/  d4W Z->-d- n-n4-n-7 x-~4-x-7 -d-0  1 w4 w 7 07 7 7  1Е 22Е 204w7 7 7 -n-7 -x-d-d- n-n- x-x->-Z-7 • !•S. 5   55 w.Z-# 0000 ERRORS 4d N(f     `A  w 0& \ 8FA P X5@ z E m C 6 6 @ @ @ EC n ,&  f 2 L5   2w &: "X { :  rw 9 @ 7 fg-7  ~ &P w :  NL$ w5  bw :w %:  5 @ Ee  R     & w 7t 55 :  ::  (wew # Lj @b :T3:5 w ng: 3:  w XE:CF Zw Hd: w b#  CF 8 .w  @: l"w 9w 9I *w , w 9O  w 9 X 2w 9 w \B7aR?& 7 w tk:>F t w ^L:w XL:  F L 7 7 w L:w L:w %: @ 7a& *7 $w y:F r7 w @E bw _:11Jw 9 Jw ,w 9 J w ,w r9 ~JJ .GLOBL $READ,$WRITE,$DC$IC$LC .END MAIN. .GLOBL $EXIT $EXIT : MOV MOV -(%0),-(%6) JMP @(%4)+ +10,%0 BR +4,%0 BR MOV -(%0),-(%6) (%5)-4,%0 ADD #10,%0 ADD #4,%0 . = .+: 0 : 0,0 : 0,0,0,0 -0&f&f 8 7 <<<0 <<  @ ! eW ..<- D ! ҕ^e@ - - x"W0Օ 7x7u  LeB5 82  a << < e@ -W!<.Օ Օ B le-xLJ-0- xɥ0  f  D z%ɋ3 .TITLE .CSECT .GLOBL : JSR %4,$POLSH .GLOBL $POLSH,$NAM,$SEQ $NAM,0,0, w A (- A \w A w Ae Rw , F އw V#Ffry Kyry7  K|pyry ~-v  -|ZR 4B, &',5 ee e "w 7lB&e, "7lee "7w-rww  yy "y& &ry&y& &7n77777 77U7g7K7j7g7m7j7g7g7d7a7^7[7X7V777K7Hw  yy "y& &ry&y& &7n77777 77U7g7K7j7g7m7j7g7g7d7a7^7[7X7V777K7H7E7=7D7B7*7$7!yyyyyyh!wwwDwwB!*(H zy/ 6 %Z &y/%Z \7? y/   Vw: y yPHw~@!e0wxw77 +%5wwB!*(H zy/ 6 %Z &y/%Z \7? y/   Vw: y yPHw~@!e0wxw77 +%5  EE UH0 0 e U0 w7-FFwJV\@.767 6e 7 ?µ 0l0µ 0 0  C ``77mw77 +%5  EE UH0 0 e U0 w7-FFwJV\@.767 6e 7 ?µ 0l0µ 0 0  C ``77m 7zw6-rx} :{*76{0L7.:{6N7mtE@{0L7 D{6N7m\H{{-{w4 ww/fL{L{,y@ɥ<>@B¥,杓y¥%$ %7 ~7rDe P zffgfXgg0.@ @ɥw ,  .6F72-,(@{ 76{d |7x֋5Vw%, b7nf}}}& &D,w2w.w."eEp!" e ewecee bEeE E!# e yee=gee EeE (=7\V7QKC  ɵ1a(, www"y xQxly"y`c!~ze r ~ P {gV-P.&~f~7O5e 7 (~ѕ ѕ J&~e 7 ݇h!ww"y xQxly"y`c!~ze r ~ P {gV-P.&~f~7O5e 7 (~ѕ ѕ J&~e 7 ݇h!7"y"y$gbgggg~MODULEѕ ѕ ѕ ~,g$g~ѕ<ѕ>ѕ ѕ Bѕ ѕ xwf7 @wJɥ<> $ "7&B@s%B%m% %l)wf7 @wJɥ<> $ "7&B@s%B%m% %l)w,y E@7nɥww ~v& p,y^z  R7&B@%9%/% %+wee z杋q  ww`oN(P@>eՔ &f"w 7w% P zgZffPgZfw"w"w@ :7ryyywww>wh:gPg7 hjif*k&P f^'w: k. Qɕ ?H*k^7 L77 7 7 7*g\2 7"w w vr~2g\ & w\w@g\7 77 + & w"g\ wg\7 "g\7 & w 3 hf2ih7 hff$i8f7 zw*B!e7370 E ! ! ! ! www7 w ww7 "-&&7 7 - 7 f/5& w B  E u  e "$""PA"TA  ĭ7"37h^h^h f@iffh^i^h^h^w,kh@i^khNi Nki\izkh$i4dkh2i4d PAL11R V004B  # wwwPwwwwNwb77 Uw 7 7 Õj. j7& wiD wwwPwwwwNwb77 Uw 7 7 Õj. j7& wiD i dHX 27 \7 t0D %?f 5 7 77 zHw$ 7  5 F 77b Xw  0w ,@j\ jwd @ 0 iD"w4 ti   JHw  @2 r, 2lh@idvjf `F  HH.,i i@Xʵ ZC!$@A(CH׭)NFi i̕`XZ zEHNFN~F   HN&@ACBEH׭V)NF`wwbwvwwwwlw   _wwbwvwwwwlw   _|:7@=rp ?!b5 ?TJg$tjͭ\ͭthgf^ͭ^"FNvjh ^H;h ͭ7!iwͭ$ \id7"^we  h$iZewghhw END &VT7}e D!_Bͽm%(c w],w; & Ji`wwwi7&f"e  ͵ R͵%͵ɕ= C͵͵@G**D`$ D!!e $͵@G*e*pw(wiE e8 *fQ$H  R qf   w&R (ga^Q ze     = qVg  ,g7urle& wVP wP O7 & ERRORS ww*wlww*wlwpwwxwwi@(p >m ßå U iʐ ï}ïy @ vheli<zw O +L. & J,& " JH*% sP<  P? m c;w Fßxנ0נ9å$ å.å  נAנZ נaנz  *E  8iDim7B h   ? (7 7   0  :77 7 T7 |w7 $7 f&P7.r:4@ w`B@f: @ε%,yw wɵeEHA%z/vn>r eV@@ww@ihi tixdPddddddfd g̕:ww@ihi tixdPddddddfd g̕: #(׭ZO׭RK'H   tlY P )&˕  S,* ˕7 7 NSvw& #%h )OLh2i|,w l  jV7wV hw  * , , + ) + - <<<{{{{{{<s9s9s9s9sN)RJ)RJ)c1c1c1c1c1c1c1!B!B!B!B!B!B!<llllllll l l l l lllllllllllllllllll l!l"l#l$l%l&l'l(l)l*l+l,l-l.l/l0l1l2l3l4l5l6l7l8l9l:l;ll?l@lAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl[l\l]l^l_l`lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~lll~l}l|l{lzlylxlwlvlultlslrlqlplolnlmlllkljlilhlglfleldlclblal`l_l^l]l\l[lZlYlXlWlVlUlTlSlRlQlPlOlNlMlLlKlJlIlHlGlFlElDlClBlAl@l?l>l“=lÓk?k@kAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk[k\k]k^k_k`kakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzk{k|k}k~kkk''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>uSUE!_Y-Vcx^]/s7d=cG(`[7SndMʘV6g/Go}[ K`lYH%t;_?f /?obH7.aom)H.b5*iªSB1A 'kz)շDyF[KSBu btCް)0 fV =CboƯ#2ލQXde"wĆ{BC[Rѻn9X›/}L2G;CY ,qC$0glLﺼlZF2gz;փdYv_~pyOR MB)sNH+,عyq'4 yOnV<4KUBP.A%;~=Rvg^%BZou ꤞ&ݎ /`>[#Yz"1|8A>otޯ מsVbE: ܷ]`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=ȟt Rַi.~#wRt5`]V1T;ePMb&glY9Nb{*hX {9/[.*WH;[תN\C2PA1 +[x{n7ky7,P}M.+vCD/b3laNBuc,( u`Ö<VUCϥx Çj}uGf,Z٩J-szְ!TPjRğ QRbŐ ߍmcVcjYaG<1bE)nTss淢uWf"Xr',lֈr&FmP)=>#ʶ2[[ϑ zEM E/KAs%.^yx|5Y6/<7''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>uSUE!_Y-Vcx^]/s7d=cG(`[7SndMʘV6g/Go}[ K`lYH%t;_?f /?obH7.aom)H.b5*iªSB1A 'kz)շDyF[KSBu btCް)0 fV =CboƯ#2ލQXde"wĆ{BC[Rѻn9X›/}L2G;CY ,qC$0glLﺼlZF2gz;փdYv_~pyOR MB)sNH+,عyq'4 yOnV<4KUBP.A%;~=Rvg^%BZou ꤞ&ݎ /`>[#Yz"1|8A>otޯ מsVbE: ܷ]`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=ȟt Rַi.~#wRt5`]V1T;ePMb&glY9Nb{*hX {9/[.*WH;[תN\C2PA1 +[x{n7ky7,P}M.+vCD/b3laNBuc,( u`Ö<VUCϥx Çj}uGf,Z٩J-szְ!TPjRğ QRbŐ ߍmcVcjYaG<1bE)nTss淢uWf"Xr',lֈr&FmP)=>#ʶ2[[ϑ zEM E/KAs%.^yx|5Y6/<7''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>uSUE!_Y-Vcx^]/s7d=cG(`[7SndMʘV6g/Go}[ K`lYH%t;_?f /?obH7.aom)H.b5*iªSB1A 'kz)շDyF[KSBu btCް)0 fV =CboƯ#2ލQXde"wĆ{BC[Rѻn9X›/}L2G;CY ,qC$0glLﺼlZF2gz;փdYv_~pyOR MB)sNH+,عyq'4 yOnV<4KUBP.A%;~=Rvg^%BZou ꤞ&ݎ /`>[#Yz"1|8A>otޯ מsVbE: ܷ]`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=ȟt Rַi.~#wRt5`]V1T;ePMb&glY9Nb{*hX {9/[.*WH;[תN\C2PA1 +[x{n7ky7,P}M.+vCD/b3laNBuc,( u`Ö<VUCϥx Çj}uGf,Z٩J-szְ!TPjRğ QRbŐ ߍmcVcjYaG<1bE)nTss淢uWf"Xr',lֈr&FmP)=>#ʶ2[[ϑ zEM E/KAs%.^yx|5Y6/<7''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>uSUE!_Y-Vcx^]/s7d=cG(`[7SndMʘV6g/Go}[ K`lYH%t;_?f /?obH7.aom)H.b5*iªSB1A 'kz)շDyF[KSBu btCް)0 fV =CboƯ#2ލQXde"wĆ{BC[Rѻn9X›/}L2G;CY ,qC$0glLﺼlZF2gz;փdYv_~pyOR MB)sNH+,عyq'4 yOnV<4KUBP.A%;~=Rvg^%BZou ꤞ&ݎ /`>[#Yz"1|8A>otޯ מsVbE: ܷ]`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=ȟt Rַi.~#wRt5`]V1T;ePMb&glY9Nb{*hX {9/[.*WH;[תN\C2PA1 +[x{n7ky7,P}M.+vCD/b3laNBuc,( u`Ö<VUCϥx Çj}uGf,Z٩J-szְ!TPjRğ QRbŐ ߍmcVcjYaG<1bE)nTss淢uWf"Xr',lֈr&FmP)=>#ʶ2[[ϑ zEM E/KAs%.^yx|5Y6/<7''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>u`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_Ԋ=oMk#PB_t+s{2gp"?ݱ)vF^hNZj~-SQ.%LSo:bp==/)>`N%yh/ ]v[GE G~y^U ֠0ѻ:&g#&Xu"\:Tޖ!D^C3|~RNW4Ua`/>{:FF-3+<)ZD˺]}/'0߸MW=+DكHc^1#Af~7'>=ȟt Rַi.~#wRt5`]V1T;ePMb&glY9Nb{*hX {9/[.*WH;[תN\C2PA1 +[x{n7ky7,P}M.+vCD/b3laNBuc,( u`Ö<VUCϥx Çj}uGf,Z٩J-szְ!TPjRğ QRbŐ ߍmcVcjYaG<1bE)nTss淢uWf"Xr',lֈr&FmP)=>#ʶ2[[ϑ zEM E/KAs%.^yx|5Y6/<7''1=?[lujW=^/m[:>V֫+ v;1Inn !B܂{e L!ε6uv^tz.:ϓ2#)9N0>@?i=>l&%tZE?ckݡY杞1e&)^$5#^{A,a?w|_A%nK*fZ~l^E¤LK@ s\On)'( } V*mC~[ |UĿn**Bnr>uSUE!_Y-Vcx^]/s7d=cG(`[7SndMʘV6g/Go}[ K`lYH%t;_?f /?obH7.aom)H.b5*iªSB1A 'kz)շDyF[KSBu btCް)0 fV =CboƯ#2ލQXde"wĆ{BC[Rѻn9X›/}L2G;CY ,qC$0glLﺼlZF2gz;փdYv_~pyOR MB)sNH+,عyq'4 yOnV<4KUBP.A%;~=Rvg^%BZou ꤞ&ݎ /`>[#Yz"1|8A>otޯ מsVbE: ܷ]`xo.UHBJ/=ћͰg^yfUƖ0Ru@Dn(XF.;YDӒƺJSvɔGDaN{O_zc:Ac\~thD?^ZU Z+fuZ 4ƒ˒FKC̝֫^??susVbr|WB=)>L8%$אwʦvR`"-v ٚcw=ϴ_;x >t{wrl;E-),c糠2HN!=^ΠRvR*ꚴU 4.tE7 3nM;0\D)nTr&mG.>sھm@k{|4{w4 HnL_ȭ~S¤~ɂSmDs!EV6g^ZM.!襾F?3d[2NP[IEn#+ +ФfM=MLꪖ{>SƒӘHD&N?mQ^*FJNkڼt޼E̚#K,zik뉪f*) `Յ´[cZ$ zf=8@J9:*$ P(Mr}FGd*y{,'8f0.kRU\B_|&:ᵩvVF(1@Caz~f=OCs`s2d,|w4\$OQ{t3W[˕z__FT|zrFj-K#{Ӝ;O,δg-@I:>'Z1%Ѣ,&8[Z tvt 66n^*v `V;TJFjR+Ґq-.{F>wں E18^<( ]`+&.C&ª.{UX-N.SڇvbIi6vv$žO 6<6X>@?|[3t-J<תzzvϑbA((-kYӉvFVmrvѸFG^/wհEot)% ?w?т0wEu-ׅ/a$, >yيHR$QX/;[eԒSWa}t:[ #g9*B(`n^GW$fZ% "mjMφЏ0G>.A)n'USWr+ҢEN }Kd]K)[dLF) IeM7 zn>osnsF1<^`9 >T}#ےׯjks6 <Q#Wͱv*UT,G=邺|I&%LI a=^iQi~A'ۧJyr+i{_m"THVu7Hǹ8[td5[ /"u<Mjƒ|G=kU = u-&aS#(}oR\uYLm Bvr71Fw^Fyo09t'"1kmMs V*Jj qBV?^` %&a',r4^FD8b U-0jҼ2_W&veUm\/@s=s^n4h'HgI"Ě%Kg6o4Vxmrk )k7Hu𫎪u&}^`U4^*:8|, SݣAϺڷ dKGs.kNr_