IMD 1.16: 1/09/2008 11:01:43 84-93150-04 a00 f15004 oak simulator diskette #4 4of4    @0|)v1uo)  " }jA c MZOS4 MD5791001093456D1791008084348 791008084348(F15004 VOLOAK SIMULATOR DISKETTE # 4   ZZ M@jjggg@ o G`k򞽢_C# b# }B u[ ]e JRiCp@=<; G9P@ G=E 0E>E0E >D(D`>E 0E> ~  D@0DH>>|8 D@0DH> FD* pBD D)nH | DD)nJ | p D*D*D *H J | t~ t~; L #ENTER S TRING (40 CH ARACTERS PLEASE)  E0E>E 0E>E0E >D(D`>E 0E> ~  D@0DH>>|8 D@0DH> FD* pBD D)nH | D OVIC & EDo@@ S L, #ENTER STRING (40 CHARACTERS PLEASE) E0E>E0E>E0E>D(D`>E0E> ~ D@0DH>>|8D@0DH>FD* pBDD)nH |DD)nJ | pD*D*D*H J | t~ t~;mD6D6D6D6--D6D6 S L, #ENTER STRING (40 CHARACTERS PLEASE) E0E>E0E>E0E>D(D`>E0E> ~ D@0DH>>|8D@0DH>FD* pBDD)nH |DD)nJ | pD*D*D*H J | t~ tKEYSL8 24 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE];TO;TAMIDTO=TAADDRTO->TAARRAYTO[TO(TALEFTTO+TARIGHTTO/TN2TO)TO*TAKEY_SIZETO]L"  25 I = L$EFT; J = RIGHT;TO;TAITO=TALEFTTO;TAJTO=TARIGHTL 26 LOOP;TO;TALOOPL  27 BREAK IF I > J;TO;TABREAKTAIFTAITO>TAJL 28 LOOP;TO;TALOOPL7 29 BREAK IF ADDR->ARRAY[I*KEY_SIZE] = MID;TO;TABREAKTAIFTAADDRTO->TAARRAYTO[TAITO*TAKEY_SIZETO]TO=TAMIDL 30 I = * + 1;TO;TAITO=TO*TO+TN1L 31 REPEAT;TO;TAREPEATL 32  LOOP;TO;TALOOPL7 33 BREAK IF MID = ADDR->ARRAY[J*KEY_SIZE];TO;TABREAKTAIFTAMIDTO=TAADDRTO->TAARRAYTO[TAJTO*TAKEY_SIZETO]L 34  J = * - 1;TO;TAJTO=TO*TO-TN1L 35 REPEAT;TO;TAREPEATL 36 IF I <= JTO;TAIFTAITO<=TAJL4 37 THEN T = ADDR->ARRAY[I*KEY_SIZE];TATHENTATTO=TAADDRTO->TAAR RAYTO[TAITO*TAKEY_SIZETO]LH 38 ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE];TO;TAADDRTO->TAARRAYTO[TAITO*TAKEY_SIZETO]TO=TAADDRTO->TAARRAYTO[TAJTO*TAKEY_SIZETO]L2  39 ADDR->ARRAY[J*KEY_SIZE] = T;TO;TAADDRTO->TAARRAYTO[TAJTO*TAKEY_SIZETO]TO=TATL 40 I = * + 1;TO;TAITO=TO*TO+TN1L 41 J = * - 1;TO;TAJTO=TO*TO-TN1L 42 FI;TO;TAFIL 43 REPEAT;TO;TAREPEATL/ 44 IF LEFT < J THEN SORT(LEFT,J); FI;TO;TAIFTALEFTTO<TAJTATHENTASORTTO(TALEFTTO,TAJTO)TO;TAFIL2 45 IF I < RIGHT THEN SORT(I,RIGHT); FI;TO;TAIFTAITO<TARIGHTTATHENTASORTTO(TAITO,TARIGHTTO)TO;TAFIL 46 END SORT;TO;TAENDTASORTL 47 END QUICK;TO;TAENDTAQUICKTO;T'FIL2 45 IF I < RIGHT THEN SORT(I,RIGHT); FI;TO;TAIFTAITO<TARIGHTTATHENTASORTTO(TAITO,TARIGHTTO)TO;TAFG& _G& _G& _I@y G_I@%& G@QVB3)G& _GZJ @ 'g).G4& _I@GDJ @ '~g).G4& _I@j&m&m&] I^)gbI@)G]^I@+G)GORAV)G1J> G-)g*@K@)g$^ @^%'^ K^I& G:^& G4&m&m&]>JSAV>JRVBH&m>J @G JRVBLG & _>G$& _G& _G& _ J @G& _ I@y _ _I@c^QAVB^&m>J @IG>J @g^ @I %'>J @~g>J @G @%'~@>@JQVB >J @IQKG >J @GKGI&m&m&])Gc^I@1GG& _G& _Gs& _)GF& _ )G@& _ I@y GX_I@& GM&m&m&] I^)G!^I@G)GRAV,G^)g^ @%'^I@ ^^H`@^ @cQV^K^)> )GJ> G^& G&m&m&]>JSAV>JRVBH&m>JQAVB>J @g >J @G @>>>%'>JQV >J @GJQVBHG$& _>G$& _G& _J @G& _ >J @G& _ I@y2_ ^^>J @^GQAVBH^I^>J @IG I^>J @GKG^&m&m&] G2& _I@yI@ <)G^GN)GGI)GGD)GG?)GG:)GG5)G6G0)GhGX)GGS)GGN)GGI)GGD)GG?)G@G:I^^J @IQKG ^J @IG2^K^JRV)gI)I%') gA)I%')g9)I%')g1)I%' STDING& _)$g$).G4& _I@ STDOUT G& _)-~g).G4& _I@ MSGOUT#Gw& _)6~g).G4& _I@ &m&m&] I^I^I^G & __& _I@yG & __& _I@yG & __ & _I@yR1RRR[RVqee:q:qRL:qR<q9q1[OOR[lsegment headerLOCAL optionORIGIN specificationinitial symbol in a statementBREAK statement constructionPTR specificationINTERRUPT specificationHALT statementConditional construction / Unexpected FILOOP initiatorLOOP construction/ Unexpected REPEAT statementprocedure invocationstatement structureUnrecognised variable attributeBIT field length specificationIllegal value in an INITIAL listan INITIAL constructiondeclarationSTRUCTURE declarationDimension attribute specificationLIKE specificationMissing "("PROCEDURE headerFunction type specificationIDENTIFIER expectedstatement structureexpression"@" must be followed by or Unrecognizable expression elementexpression listCONDITIONAL structureEND statement structureUnexpected END statementprogram structureSymbol table hash table fullSystem Stack overflowProcessor Flag SyntaxLENGTH argumentLiteral table fullUnexpected EOFEND StatementSymbol table fullParameter list fullBlock pointer table overflowIllegally unsubscripted variableparameter declarationLOCAL stack nameSymbol table name pool fullUnexpected BREAK statementUnexpected REPEAT statementNARGS valid only in PROCEDUREspointer reference to non-BASED STRUCTUREREAL reference in a semaphore statementIllegal STRUCTURE referenceFunction return-value's type not specifiedAddress used as INITIAL value for BIT/BYTE/REALOFFSET specificationSTRUCTURE nesting table overflowundeclared ORIGIN identifier"[*]" may only be used with LIKECOPY OF specificationB=oooac==1Ol~ !5Ut!=Qep,I_u/@\wJz=  ̀ZZI..T:.T==T@PPCkkkTTTGTUWTTTՀ̀ՁP>ՀՁPEEՀQQMQOMSՀTĀ^\][iiii€{{{{v x{y{}~~{{ZYjjjm{YƁ̀[؀ـހр  **""$Z(Y0I244.77.SSSSSSsss.MMsKT2sTTTPTsgVss.sTTTskkimds.sV.TnopqsvvvTTՁTՁTTTTՁՁTTՁssՁ2s7sTssWTTՁՁՁՁVVVVVVVVVVVVVTTTTTTTTTTȀTTśPPՁՁʁԀ܁ށg'))''+ {|}tuvwyx    lvvggg"qr~|{sstuvwyxvvggg &# $%534..!01/2,,(--*p ㅩB[PPCIIIC1kIkIkIRkHGGG<%[Qg`ggg?gg??^<%[Qg`ggg?gg??^  1 SEGMENT QUICK; 2 3 PROC WRITEF EXTERNAL; 4 PROC READF EXTERNAL RETURNS (WORD,WORD); 5 PROC BEGINIO EXTERNAL; 6 PROC ENDIO EXTERNAL; 7 DCL KEYS[50] UNIV BYTE 8 INIT ('XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM'), ERROR AT STDIN 8 SYNTAX: '[]' 9 KEY_SIZE WORD INIT (4); 10 BEGINIO();  11 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); 12 SORT(0,9); 13 WRITEF(6,@KEYS); 14 WRITEF(6," END QUICK-SORT ^EOS"); 15 ENDIO(); 16 PROC SORT(LEFT,RIGHT); 17 DCL I,J,MID,T WORD, 18 LEFT,RIGHT,ADDR WORD, 19 ARRAY[] BASED DBL; 20 21 ADDR = @KEYS; 22 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE]; 23 I = LEFT; J = RIGHT; 24 LOOP; 25 BREAK IF I > J; 26 LOOP; 27 BREAK IF ADDR->ARRAY[I*KEY_SIZE] = MID; 28 I = * + 1; 29 REPEAT; 30 LOOP;  31 BREAK IF MID = ADDR->ARRAY[J*KEY_SIZE]; 32 J = * - 1; 33 REPEAT; 34 IF I <= J 35 THEN T = ADDR->ARRAY[I*KEY_SIZE]; 36 ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; 37 ADDR->ARRAY[J*KEY_SIZE] = T; 38 I = * + 1; 39 J = * - 1; 40  FI; 41 REPEAT; 42 IF LEFT < J THEN SORT(LEFT,J); FI; 43 IF I < RIGHT THEN SORT(I,RIGHT); FI; 44 END SORT; 45 END QUICK; EY_SIZE]; 32 J = * - 1; 33 REPEAT; 34 IF I <= J 35 THEN T = ADDR->ARRAY[I*KEY_SIZE]; 36 ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; 37 ADDR->ARRAY[J*KEY_SIZE] = T; 38 I = * + 1; 39 J = * - 1; 40  FI; 41 REPEAT; 42 IF LEFT < J THEN SORT(LEFT,J); FI; 43 IF I < RIGHT THEN SORT(I,RIGHT); SEGMENT QUICK; PROC WRITEF EXTERNAL; PROC READF EXTERNAL RETURNS (WORD,WORD); PROC BEGINIO EXTERNAL; PROC ENDIO EXTERNAL; DCL KEYS[50] UNIV BYTE INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM^NL^EOS"), KEY_SIZE WORD INIT (4); BEGINIO();  WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); SORT(0,9); WRITEF(6,@KEYS); WRITEF(6," END QUICK-SORT ^EOS"); ENDIO(); PROC SORT(LEFT,RIGHT); DCL I,J,MID,T WORD, LEFT,RIGHT,ADDR WORD, ARRAY[] BASED DBL; ADDR = @KEYS; MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE]; I = LEFT; J = RIGHT; LOOP; BREAK IF I > J; LOOP;  BREAK IF ADDR->ARRAY[I*KEY_SIZE] = MID; I = * + 1; REPEAT; LOOP; BREAK IF MID = ADDR->ARRAY[J*KEY_SIZE]; J = * - 1; REPEAT; IF I <= J THEN T = ADDR->ARRAY[I*KEY_SIZE];  ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; ADDR->ARRAY[J*KEY_SIZE] = T; I = * + 1;  J = * - 1; FI; REPEAT; IF LEFT < J THEN SORT(LEFT,J); FI; IF I < RIGHT THEN SORT(I,RIGHT); FI; END SORT; END QUICK; 33 0002 0324+ 0134 4902 0325 MAKE :0002,Q 0135 C440 0000 0326 STO R Q,0(Y) 0136 0783 0327 JSKE V10008 0137 FF47 007F 0328 * 44 END SORT; 00000138 0329 L1023 EQU $ 0330 * 45 END QUICK; 0138 266D 0331 RETURN 0000DE QUICK.INT,QUICK.ASM,QUICK.OUT DM1.ALS QUICK.INT=QUICK.ALM,TV DM1.ALC:1 QUICK.OUT=QUICK.INT,TV PAUSE DM1.ALC:2 QUICK.ASM=QUICK.INT,TV PAUSE MACRO QUICK(D=ALAMO495,MACH=490A,L=) PAUSE AS LO LP LINK QUICK+ALAMOLIB+STRING JO 791001093456791001093456791001093456OVIC & EDo%XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM /pPGFpBI@dI& _ ALAMO QUICK-SORT PROGRAM C G& _I@I^I ^I@'I& _G& _I@I& _  END QUICK-SORT k G& _I@I@; &]G^~ >ȄN G @.G6^>^^^_RVp~ ^ G @.G6~ ~n~&@QV^K^^ ~ ^^ Gr @.^& g4&@QV^J^^_RAVB/~ ^ GP @.G6^^ GG @.~>^ G? @.G6> ~ G7~ ^ G2 @.^ & G7^K^^J^>_SAVB >^^^I@[^>̄SAVB ^^>^I@G&m " o " " " " " " " " " " 7 " " " " " ">&] >GGG$^G^I@> ^ &}IGg @%'GGQV)GKGg @%'GGJRVB9MSGOUTGZ& _= WRITEF - FORMAT TOO LONG OR MISSING EOS  GY& _I@ D&mIGg_ @%'GIGIGIrg)C{IGyI gw)C{HGoGjQVGbJQAVBG/& _GT& _I@ ^GJKGGg @%'G>G;KG8g @%'G/QV|G'JQVBIlg#)C{GKGg @%'GQV[I@V^H`@^ @cQVJG& _I@"GJQVBIGGKGg @%'GQV I@^H`@^ @cQVGKGg @%'G.&m&] GJQVBI0g)C{GKGgl @%'GQVBH&mGJSVBG|JRAVB'GJ& _Go& _Gn& _I@ ,VG_g3 @%'GVQVBH&mGLJQVBNGDKGAg @%'G8QVG0JSAVG'JRVBH&mG& _G& _G& _I@ ,!Gg @%'GQVBH&mI&m&m&]G& _I@"!GJ^SAV^JRVBG& _G& _I@ GI^@^ @G^G& _G @.G_g)C~& _G& _ g)C~& _ G& _ G& _G& _I@>^GKG^&m&mI&]9>JQV >JQVBIE>Đ>G&__^^^I@#>& __& _& _& _ & _ & _ I@ 7I&m&m&]>& _I@"O>ĈI^RAVBI^>K& _I& _I@^I^>G&i_@`&  _\AVB>^ @I-%'^ K^>G&G'>G&i~i~\@QAVB%>G&g@~i~\V>G&gB ~i~\G'^J^ >G&gB ~i~\AV>G&gB ~i~\G'^K^>JQVB^ _^@I_ I^_ _I &  _\_ ^K^_ SV>G&__ _I&  _\_\G'gB ~i~\VB @I>G'^K^>JQVB@^SAVB9>^ @I0%'>^ K @I.%'^ K^^ SAVB^_ ^H^>^ @I0%'^ K^^J^_RAVI^>G& ^^ @^ K0%'^ K^>JQVB^_QVB >^ @I.%'^ K^>JQAVB^QVB >^ @I.%'^ K^^ &  _ >G& \G'gB ~i~\G'^K^_ SV>JQVB\^QAVBU>^ @IE%'^ K^^SAVB^@A^>^ @I-%'^ K^Id^^ _RAV^ & GG^^ RAV>^ @^& _ K0%'^ K^^& _ @^^ & G$^>^ @I%'&m&]>G&g$&AVB>G&&m>G&&m&m &]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@x&m&m&]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@=&m&m&]>GmQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@&m&m&]>^>G&_G& _I@`@^@c^>g$)C~JQVB+>& _^ & _g$ )C~& _I@ =>^G&_G& _^I@.)>^G&_G& _^I@>& _^ & _g$ )C~& _I@ ~I&m&m&]>G&AV>G&_ G&i~n~&_  &@QAVB>^G&xqDjn0c O_G&_^I@>G&_ G&i~n~&_  @AG'i ~n~& @QVB>& _G&i0~n~& _I@ >& _G&i ~n~& iA~n~& _I@ g&m&]>G&AVB >G&@A Q _ I^>G&_ I^^ ^_ _I & _I@`@^@b^>_ ^>^G&_I@>g$)C~JQVB%>& _^ & _g$ )C~& _I@ 1>^_ _I@(#>^_ _I@>& _^ & _g$ )C~& _I@ PI&m&m&] >G&AV>G&i ~n~& @QAVB>^G&i ~n~ __I@>& _G&i ~n~ Li0~n~& _I@ &m&]>G&AVB>& _I-& _I@ &m&]I^>G&g$>G'@QV^K^^&m&m&] )&] )? _@1B )1ߠA1RQ O3A !D @AQ .*+_G? 1A@& _Q? 1GV@? 1@@N_H_ @AQ _GH @AQ _)??) J `h_O6Bk|__O_&*__O_t? 1__?1D @AQ &m !&]>& _& _I@ I&m&m 6 &]>& _I@P^>RVB >_ SAVB>^ @%' )C{>^ @I%'H^>_ ^g$)C~JQVB>& _^ & _g$ )C~& _I@ ,>^^I@;>g$)C~JQVB>& _^ & _g$ )C~& _I@ =^ SVB>^ @~> )C~> ~%'I&m&m&] I^>^ @%'QV>& _^ @%'& _I@ ^K^&m  &]>& _& _I@ z&m&]>R  AV>^g$)C~^I@>JĄ&m&m&]IGG @Ig%'GJGQV&m&m&]GJRAVBG @>>g$)C~>g%'I^GKGH^^&m&m&]GRVBG{JGx> @~gp%'~@I^H^^&m&m&] >^I@^H`@^ @cQVB>& _& _I@ ^I^^&m&m&]>g$)C~^I@z^&m&m&] I^>^_^I@^QAV0^JQAVB^JQAVB^JQAVB ^JQAVB^JQAVB>^@^&m&m&]>~ @%'J~@>KĄ @%')C{JSAV)C~JRV>~@ G^)C~J`@^@b~@>&m&m  y&] >NpĄ>& _G$& _I& _I@ z&m&m&] rSTDOUT 'G^>^I@&m&m&]>& _& _I& __ & _ I@ 8^QVB>@Nx@^ &m&m&] vSTDIN G^>^I@&m&m &]I & _>& _I@f&m&m&] I& _>& _& _I@f&m&m&]I& _>& _I@f&m&m&] IU& _>& _& _& _ I@f&m&m&]Id& _>& _& _& _ & _ I@f"&m&m&]>G&Ix& _>& _& _^ & _ G&_ I@f&m&m&] I& _>& _& _& _ I@f&m&m   P)R{-V#,e&]I^^ @> @.?G&>G*^K^JRVH& G=>JQVBI@jd>JQVBI@S>JQVBI@B>JQVBI@1>JQVBI@^ >JQVBI@N>JGQVBI@}G&m&m&])G^I@jGWTGRQVB-G & _GF& _I@y G_I@/& GG.J @ 'g)I%'I& G{&m&m&] )IGP)GM& _G\& _I@G& _)G7& _GF& _I@y GJ_I@& G?&m&m&])G& _G$& _I@GG & _G& _I@y G_I@%& G &m&m&] )G^I@G)G& _G& _I@G& _G& _G& _I@y G_I@%& G@QVB3)G& _GZJ @ 'g).G4& _I@GDJ @ '~g).G4& _I@j&m&m&] I^)gbI@)G]^I@+G)GORAV)G1J> G-)g*@K@)g$^ @^%'^ K^I& G:^& G4&m&m&]>JSAV>JRVBH&m>J @G JRVBLG & _>G$& _G& _G& _ J @G& _ I@y _ _I@c^QAVB^&m>J @IG>J @g^ @I %'>J @~g>J @G @%'~@>@JQVB >J @IQKG >J @GKGI&m&m&])Gc^I@1GG& _G& _Gs& _)GF& _ )G@& _ I@y GX_I@& GM&m&m&] I^)G!^I@G)GRAV,G^)g^ @%'^I@ ^^H`@^ @cQV^K^)>  )GJ> G^& G&m&m&]>JSAV>JRVBH&m>JQAVB>J @g >J @G @>>>%'>JQV >J @GJQVBHG$& _>G$& _G& _J @G& _ >J @G& _ I@y2_ ^^>J @^GQAVBH^I^>J @IG I^>J @GKG^&m&m&] G2& _I@yI@ <)G^GN)GGI)GGD)GG?)GG:)GG5)G6G0)GhGX)GGS)GGN)GGI)GGD)GG?)G@G:I^^J @IQKG ^J @IG2^K^JRV)gI)I%') gA)I%')g9)I%')g1)I%' STDING& _)$g$).G4& _I@ STDOUT G& _)-~g).G4& _I@ MSGOUT#Gw& _)6~g).G4& _I@ &m&m&] I^I^I^G & __& _I@yG & __& _I@yG & __ & _I@y&m&m&]I^>& _I@JRVBH^I&m>& __& _I@ _& _I@jI^_& _^J @ ',gj).G4& _I@QV^J^RAVBH^I^^^^&m&m &]I^>^ @I ^K^JQV>)II^>^ @%'JQV>^ @%'QV ^^IJ`@^@cSV>^ @>>~ @%'>~^K^>^ @%'JQVB7^K^IJ^>^ @%'QV^JSV>^ @>>~^ @%'>~^K^^K^I^ >^ @%'QVBI^^^IJ`@^@cSVBH^^&m&m&]>G&^GQVBH^^GQVBIE^I^^&m&m''y;&]'DFHJLNPRTV'] &m~@ `+j@@kbUE@+kz )gHǙP@Np+H@@+kGr @‡@kGzav;  Ay GJGGt'} C2‚' C3Aj'' kg@SQEkGcy @Vn⃢@{ ) 'S*x '''⾢@ۂⷢ@Ԃ'l'z:_⦢@ 0FLR::: ~}|>3@ SOSILO  CIB£ :h:m \~{ÿvH::zhh{x'* 9~r{qÿpnvnnVm㘀@B: 0:ZXUZ{wy  ~DEEI 1C:$>n:o| {,,\v Fr@qAnk: Ӏ^Ѐ ‚yYv {OzNyMxKoCI ' y~:#B t}  j}.|*%'r \|.{*z%'q'X1@PX2@PX3@PX4@PSI@PSO@PLO@Pyy2 y  No more available units File not found--job aborted^&]I^H^>^ @%'QV>^ @%'>g$)c~@cQVBI^^K^^&m&m&] I^H^>^ @%'Q  V^QV>^ @%'^>^I@^^K^^&m&m&]> @%'^> @%'^^_SAVBH&m ^_RVBI&m^QV >KĄKĈI&m&m&] >^I^^I^I@&m&m&] >^^^^I@QAVBH&mI&m&m&] >^I^^I^I@&m&m&]>^I@>ĂJSVB>^IA^IF^I ^I@^>^I0^I9^I^I@m^^ >̂QVBH^I^^ ^^ &m&m&] >^IA^IZ^Ia^I@F>Ă&m&m&] > @%'QV#> @~>> @%'^IA^IZ^Ia^I@> ~ %'>KĄ&m&]>^I^I@&m&m&]>̂RAVB>̆RAVB>̄ȈĂ>&m&m&]> @%'^> @^%'^QV >KĄKĈ&m&] >^I^^I^I@&m&m&]I^> @%'QV >KĄ^K^^&m&m&]>^I^I@&m&m&] >^Ia^Iz^IA^I@p>Ă&m&m&] > @%'QV#> @~>> @%'^Ia^Iz^IA^I@E> ~ %'>KĄ&m&]>^I^I@&m&mmD4D2D1D1--D1D14I@> ~ %'>KĄ&m&]>^I^I@&m&m&]>̂RAVB>̆RAVB>̄ȈĂ>&m&m&]> @%'^> @^%'^QV >KĄ 1 SEGMENT QUICK; 2 3 PROC WRITEF EXTERNAL; 4 PROC GETCRT EXTERNAL RETURNS (WORD); 5 PROC BEGINIO EXTERNAL; 6 PROC ENDIO EXTERNAL; 7 DCL KEYS[80] UNIV BYTE 8 INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM^NL^EOS"), 9 A WORD, 10 KEY_SIZE WORD INIT (4); 11 BEGINIO(); 12 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); 13 WRITEF(6," ^NL INPUT STRING ^NL ^NL ^EOS"); 14 A=0; 15 LOOP; 16 BREAK IF A > 75; 17 KEYS[A] = GETCRT(); 18 BREAK IF KEYS[A] = '^CR'; 19 A = * + 1; 20 REPEAT; 21 KEYS[A] = '^CR'; 22 KEYS[A+1] = '^NL'; 23 KEYS[A+2] = 0; 24 IF (A+1) > 8 THEN 25 SORT(0,9);  26 FI; 27 WRITEF(6,@KEYS); 28 WRITEF(6," END QUICK-SORT ^NL^EOS"); 29 ENDIO(); 30 PROC SORT(LEFT,RIGHT); 31 DCL I,J WORD, 32 LEFT,RIGHT,ADDR WORD, 33 MID,T DBL, 34 ARRAY[] BASED DBL; 35 36 WRITEF(6,@KEYS); 37 ADDR = @KEYS; 38 MID = ADDR->ARRAY[(LEFT+RIGHT/2)]; 39 I = LEFT; J = RIGHT; 40 LOOP; 41 BREAK IF I > J; 42 LOOP; 43 BREAK IF ADDR->ARRAY[I] >= MID; 44 I = * + 1; 45 REPEAT; 46 LOOP; 47 BREAK IF MID >= ADDR->ARRAY[J]; 48 J = * - 1; 49 REPEAT; 50 IF I <= J 51 THEN T = ADDR->ARRAY[I]; 52 ADDR->ARRAY[I] = ADDR->ARRAY[J]; 53 ADDR->ARRAY[J] = T; 54  I = * + 1; 55 J = * - 1; 56 FI; 57 REPEAT; 58 IF LEFT < J THEN SORT(LEFT,J); FI; 59 IF I < RIGHT THEN SORT(I,RIGHT); FI; 60 END SORT; 61 END QUICK; 47 BREAK IF MID >= ADDR->ARRAY[J]; 48 J = * - 1; 49 REPEAT; 50 IF I <= J 51 THEN T = ADDR-  OVIC & EDoO%)XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM O /pPGpBI@I& _ ALAMO QUICK-SORT PROGRAM _ G& _I@I& _ INPUT STRING  n G& _I@IGGJRV&G @>I@[>g%'G @g%'JQVGKGG @I gt%'GK @I gj%'GK @Ig`%'GKJRVB I^I ^I@'I& _GC& _I@I& _ END QUICK-SORT  G*& _I@I@ &]I& _G& _I@G^~ >ȄN @.G6_ >^^^_RV]~ ^ @.G6 &V^K^_ ~ _^ @._g4&V^J^^_RAVB$~ ^ @.G6_ ^ @.~>^ @.G6>~G7~ ^ @._ G7^K^^J^>_SAVB >^^^I@a^>̄SAVB ^^>^I@M&m ' ~~  b ~  >&] >GGG$^G^I@> ^ &}IGg @%'GGQV)GKGg @%'GGJRVBMSGOUT[GZ& _ WRITEF - FORMAT TOO LONG OR MISSING EOS ` GY& _I@ YD&mIGg_ @%'GIGIGIrg)C{IGyI gw)C{HGoGjQVGbJQAVBG/& _GT& _I@ ^GJKGGg @%'G>G;KG8g @%'G/QV|G'JQVBIlg#)C{GKGg @%'GQV[I@V^H`@^ @cQVJG& _I@GJQVBIGGKGg @%'GQV I@^H`@^ @cQVGKGg @%'G.&m&] GJQVBI0g)C{GKGgl @%'GQVBH&mGJSVBG|JRAVB'GJ& _Go& _Gn& _I@ VG_g3 @%'GVQVBH&mGLJQVBNGDKGAg @%'G8QVG0JSAVG'JRVBH&mG& _G& _G& _I@ !Gg @%'GQVBH&mI&m&m&]G& _I@!GJ^SAV^JRVBG& _G& _I@ GI^@^ @G^G& _G @.G_g)C~& _G& _ g)C~& _ G& _ G& _G& _I@>^GKG^&m&m}I&]9>JQV >JQVBIE>Đ>G&__^^^I@#>& __& _& _& _ & _ & _ I@ I&m&m&]>& _I@O>ĈI^RAVBI^>K& _I& _I@^I^>G&i_@`&  _\AVB>^ @I-%'^ K^>G&G'>G&i~i~\@QAVB%>G&g@~i~\V>G&gB ~i~\G'^J^>G&gB ~i~\AV>G&gB ~i~\G'^K^>JQVB^ _^@I_ I^_ _I &  _\_ ^K^_ SV>G&__ _I&  _\_\G'gB ~i~\VB @I>G'^K^>JQVB@^SAVB9>^ @I0%'>^ K @I.%'^ K^^ SAVB^_ ^H^>^ @I0%'^ K^^J^_RAVI^>G& ^^ @^ K0%'^ K^>JQV  B^_QVB >^ @I.%'^ K^>JQAVB^QVB >^ @I.%'^ K^^ &  _ >G& \G'gB ~i~\G'^K^_ SV>JQVB\^QAVBU>^ @IE%'^ K^^SAVB^@A^>^ @I-%'^ K^Id^^ _RAV^ & GG^^ RAV>^ @^& _ K0%'^ K^^& _ @^^ & G$^>^ @I%'&m&]>G&g$&AVB>G&&m>G&&m&m &&]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@x&m&m&]>GQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@=&m&m&]>GmQVB >G&i~h~@AG'>^G&_g$)C~^>^g$ )C~^I& _ I^I@&m&m&]>^>G&_G& _I@`@^@c^>g$)C~JQVB+>& _^ & _g$ )C~& _I@ =>^G&_G& _^I@.)>^G&_G& _^I@>& _^ & _g$ )C~& _I@ ~I&m&m&]>G&AV>G&_ G&i~n~&_  &@QAVB>^G&xqDjn0c O_G&_^I@>G&_ G&i~n~&_  @AG'i ~n~& @QVB>& _G&i0~n~& _I@ >& _G&i ~n~& iA~n~& _I@ g&m&]>G&AVB >G&@A Q _ I^>G&_ I^^ ^_ _I & _I@`@^@b^>_ ^>^G&_I@>g$)C~JQVB%>& _^ & _g$ )C~& _I@ 1>^_ _I@(#>^_ _I@>& _^ & _g$ )C~& _I@ PI&m&m&] >G&AV>G&i ~n~& @QAVB>^G&i ~n~ __I@>& _G&i ~n~ Li0~n~& _I@ &m&]>G&AVB>& _I-& _I@ &m&]I^>G&g$>G'@QV^K^^&m&m&] )&] )? _@1B )1ߠA1RQ O3A !D @AQ .*+_G? 1A@& _Q? 1GV@? 1@@N_H_ @AQ _GH @AQ _)??) J `h_O6Bk|__O_&*__O_t? 1__?1D @AQ &m &]>& _& _I@ I&m&m  &]>& _I@P^>RVB >_ SAVB>^ @%' )C{>^ @I%'H^>_ ^g$)C~JQVB>& _^ & _g$ )C~& _I@ ,>^^I@;>g$)C~JQVB>& _^ & _g$ )C~& _I@ =^ SVB>^ @~> )C~> ~%'I&m&m&] I^>^ @%'QV>& _^ @%'& _I@ ^K^&m  &]>& _& _I@ &m&]>RAV>^g$)C~^I@>JĄ&m&m&]IGG @Ig%'GJGQV&m&m&]GJRAVBG @>>g$)C~>g%'I^GKGH^^&m&m&]GRVBG{JGx> @~gp%'~@I^H^^&m&m&] >^I@^H`@^ @cQVB>& _& _I@ $^I^^&m&m&]>g$)C~^I@z^&m&m&] I^>^_^I@^QAV0^JQAVB^JQAVB^JQAVB  ^JQAVB^JQAVB>^@^&m&m&]>~ @%'J~@>KĄ @%')C{JSAV)C~JRV>~@ G^)C~J`@^@b~@>&m&m  &] >NpĄ>& _G$& _I& _I@ &m&m&] STDOUT 'G^>^I@&m&m&]>& _& _I& __ & _ I@ ^QVB>@Nx@^ &m&m&] STDIN OG^>^I@&m&m ]&]I & _>& _I@&m&m&] I& _>& _& _I@&m&m&]I& _>& _I@&m&m&] IU& _>& _& _& _ I@&m&m&]Id& _>& _& _& _ & _ I@"&m&m&]>G&Ix& _>& _& _^ & _ G&_ I@&m&m&] I& _>& _& _& _ I@&m&mC  P~"Kt&Ox&]I^^ @> @.?G&>G*^K^JRVH& G=>JQVBI@jd>JQVBI@S>JQVBI@B>JQVBI@1>JQVBI@^ >JQVBI@N>JGQVBI@}G&m&m&])G^I@jGWTGRQVB-Gl & _GF& _I@ G_I@%/& GG.J @ 'g)I%'I& G{&m&m&] )IGP)GM& _G\& _I@dG& _)G7& _GF& _I@ GJ_I@%& G?&m&m&])G& _G$& _I@dG & _G& _I@ G_I@%%& G &m&m&] )G^I@G)G& _G& _I@dG<& _G& _G& _I@ G_I@%%& G@QVB3)G& _GZJ @ 'g).G4& _I@aGDJ @ '~g).G4& _I@&m&m&] I^)gbI@)G]^I@+G)GORAV)G1J> G-)g*@K@)g$^ @^%'^ K^I& G:^& G4&m&m&]>JSAV>JRVBH&m>J @G JRVBLG & _>G$& _G& _G& _ J @G& _ I@ _ _I@%c^QAVB^&m>J @IG>J @g^ @I %'>J @~g>J @G @%'~@>@JQVB >J @IQKG >J @GKGI&m&m&])Gc^I@1GG& _G& _Gs& _)GF& _ )G@& _ I@ GX_I@%& GM&m&m&] I^)G!^I@G)GRAV,G^)g^ @%'^I@ ^^H`@^ @cQV^K^)>)GJ> G^& G&m&m&]>JSAV>JRVBH&m>JQAVB>J @g >J @G @>>>%'>JQV >J @GJQVBHG$& _>G$& _G& _J @G& _ >J @G& _ I@2_ ^^>J @^GQAVBH^I^>J @IG I^>J @GKG^&m&m&] G& _I@I@ )G^GN)GGI)GGD)GG?)GG:)GG5)G 6G0)GhGX)GGS)GGN)GGI)GGD)GG?)G@G:I^^J @IQKG ^J @IG2^K^JRV)gI)I%') gA)I%')g9)I%')g1)I%'STDINvG& _)$g$).G4& _I@aSTDOUTG& _)-~g).G4& _I@aMSGOUTGw& _)6~g).G4& _I@a &m&m&] I^I^I^Gl & __& _I@Gl & __& _I@Gl & __ & _I@&m&m&]I^>& _I@JRVBH^I&m>& __& _I@a _& _I@I^_& _^J @ ',gj).G4& _I@lQV^J^RAVBH^I^^^^&m&m c&]I^>^ @I ^K^JQV>)II^>^ @%'JQV>^ @%'QV ^^IJ`@^@cSV>^ @>>~ @%'>~^K^>^ @%'JQVB7^K^IJ^>^ @%'QV^JSV>^ @>>~^ @%'>~^K^^K^I^ >^ @%'QVBI^^^IJ`@^@cSVBH^^&m&m&]>G&^GQVBH^^GQVBIE^I^^&m&m'';&]'DFHJLNPRTV'] &m~@ `+j@@kbUE@+kzL )gHǙP@Np+H@@+kGr @‡@kGza;  Ay GJGGt'} C2‚' C3Aj'' kg@SQEkGcy @Vn⃢@{ }) 'S*x '''⾢@ۂⷢ@Ԃ'l'z:H_⦢@ 0FLR: :(:0 ~}|>3@: HSOSILO CIB£ :Hh:Hm:JL \~{ÿvH:=:Dzhh{w'L 9~r{qÿpnvnnVm㘀@B:8 0:ZXUZ{< 8 ~DEEI 1C:$>n:o| {,,\v Fr@qAnk: Ӏ^Ѐ ‚yYv {OzNyMxKoCI: ' y~:D#B t}  j}.|*%'r \|.{*z%'qL'X1o@PX2q@PX3s@PX4u@PSIw@PSOy@PLO{@P2   No more available units File not found--job aborted^&]I^H^>^ @%'QV>^ @%'>g$)c~@cQVBI^^K^^&m&m&] I^H^>^ @%'QV^QV>^ @%'^>^I@^^K^^&m&m&]> @%'^> @%'^^_SAVBH&m ^_RVBI&m^QV >KĄKĈI&m&m&] >^I^^I^I@&m&m&] >^^^^I@QAVBH&mI&m&m&] >^I^^I^I@&m&m&]>^I@>ĂJSVB>^IA^IF^I ^I@^>^I0^I9^I^I@m^^ >̂QVBH^I^^ ^^ &m&m&] > ^IA^IZ^Ia^I@F>Ă&m&m&] > @%'QV#> @~>> @%'^IA^IZ^Ia^I@> ~ %'>KĄ&m&]>^I^I@&m&m&]>̂RAVB>̆RAVB>̄ȈĂ>&m&m&]> @%'^> @^%'^QV >KĄKĈ&m&] >^I^^I^I@&m&m&]I^> @%'QV >KĄ^K^^&m&m&]>^I^I@&m&m&] >^Ia^Iz^IA^I@p>Ă&m&m&] > @%'QV#> @~>> @%'^Ia^Iz^IA^I@E> ~ %'>KĄ&m&]>^I^I@&m&mp p* V +p 䁢?6A"`p@p`# mD4D2D1D1--D1D1Pm&]>̂RAVB>̆RAVB>̄ȈĂ>&m&m&]> @%'^> @^%'^QV >KĄKĈ&m&] >^I^^I^I@&m&m&]I^> @%'QV >KĄ^K^^&m&m&]>^I^I@&m&m&] >^Ia^Iz^IA^I@p>Ă&m&m&] > @%'QV#> @~>> @SEGMENT QUICK; PROC WRITEF EXTERNAL; PROC GETCRT EXTERNAL RETURNS (WORD); PROC BEGINIO EXTERNAL; PROC ENDIO EXTERNAL; DCL KEYS[80] UNIV BYTE INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM^NL^EOS"), A WORD, KEY_SIZE WORD INIT (4); BEGINIO(); WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); WRITEF(6," ^NL INPUT STRING ^NL ^NL ^EOS"); A=0; LOOP; BREAK IF A > 75; KEYS[A] = GETCRT(); BREAK IF KEYS[A] = '^CR'; A = * + 1; REPEAT; KEYS[A] = '^CR'; KEYS[A+1] = '^NL'; KEYS[A+2] = 0; IF (A+1) > 8 THEN SORT(0,9); FI; WRITEF(6,@KEYS); WRITEF(6," END QUICK-SORT ^NL^EOS"); ENDIO();  PROC SORT(LEFT,RIGHT); DCL I,J WORD, LEFT,RIGHT,ADDR WORD, MID,T DBL, ARRAY[] BASED DBL;  WRITEF(6,@KEYS); ADDR = @KEYS; MID = ADDR->ARRAY[(LEFT+RIGHT/2)]; I = LEFT; J = RIGHT; LOOP; BREAK IF I > J; LOOP; BREAK IF ADDR->ARRAY[I] >= MID; I = * + 1; REPEAT; LOOP; BREAK IF MID >= ADDR->ARRAY[J]; J = * - 1; REPEAT; IF I <= J THEN T = ADDR->ARRAY[I];  ADDR->ARRAY[I] = ADDR->ARRAY[J]; ADDR->ARRAY[J] = T; I = * + 1; J = * - 1;  FI; REPEAT; IF LEFT < J THEN SORT(LEFT,J); FI; IF I < RIGHT THEN SORT(I,RIGHT); FI; END SORT; END QUICK; K IF I > J; LOOP; BREAK IF ADDR->ARRAY[I] >= MID; I = * + 1; REPEAT; LOOP; BREAKDE QUICK.INT,QUICK.ASM,QUICK.OUT DM1.ALS QUICK.INT=QUICK.ALM,TV DM1.ALC:1 QUICK.OUT=QUICK.INT,TV PAUSE DM1.ALC:2 QUICK.ASM=QUICK.INT,TV PAUSE MACRO QUICK(D=ALAMO495,MACH=490A,L=) PAUSE AS LO LP LINK QUICK+ALAMOLIB+STRING+GETCRT JO 791001093456791001093456791001093456 $+2:AGLRUZ^`egiqu}  FI; IF zero = 0 THEN zero = 1; BREAK; FI; ## # # # #  hex(); out(1, @BRNCH_F); ########## IF zero = 0 THEN BREAK; FI; # # $$$$$$$$) ath( @in_str[symcur], incur-symcur); ; $$ $ $ $ $ $ BREAK; lcl0 = outcur; $$$$$$$$$$$ REPEAT; out_str[outcur] = X:00; $ %%%%%%%%END hexormac; _str[outcur+1] = X:00; %%% % % % % % % outcur = *+2; %%%%%%%%%%%PROC semproc; n(); % % % &&&&&&&&& FI; &&&&&&&& & & & & & &&&&&& lcl1 = semid(); outcur - lcl0; &&&&&& & & &  IF zero = 0 THEN RETURN; FI; h SLR 8; '''''''' skip('TH', ' '); lcl0+1] = lngth; ' ' ' '''''' match(1, @"("); ''''''''' ' ' ' ': IF zero = 0 THEN error(" SEMPROC looking for '('"); FI; ((((( LOOP; match(1, @")"); ( ( ( ( ((((((( arg(); zero = 0 THEN error(" COND looking ')'"); FI; ( ( ( ( * IF zero = 0 THEN zero = 1; BREAK; FI; ))))))) LOOP; )) ) ) ) ) ) ))))))) skip('TH', ' '); ))))))) ) ) ) ) ) match(1, @","); ************, IF zero = 0 THEN zero = 1; BREAK; FI; ******* arg(); 1, @SKP_TLL); ***** * * * * * > IF zero = 0 THEN error(" SEMPROC looking for ARG"); FI; ++++ REPEAT; zero = 0 THEN error(" COND looking for '>' SUBRANGE");  ___CRk<g<P<{gk<I}[kOph4L:96\f"5UR}R:-RLRL:RRk{kgkkRikikIRH1"RRGZGZ<GW<G<G<GZGZGGZG)ZGGQA<g<gn<gJJJZZn<A<AA<??GZ<ZZR[%Z<Q`K77gggQg`g7g`7gQgg`Qg`<<<<^<<<33W<<<ZZ}< R^RRR^RR<<g<gZZ <QQA<g<gQ`K77gggQg`g7g`7gQgg`Qg`<<A<AA<?^*^*?**?**GvZ<)Z))Z)Z)Z)RsZ<W<Qiyyi[aa1aaaaa.<R<<pZppQgQg`gaaV<K7 gJ<p.#J7g7<<#<Z#m6<Z<ZR4o4oR4<Z<Zf<ZR]R5o5<Z5oR<<RUR<ZQ`<\<<<bZbbR  |RRRaR7Ku 0=$&a64f5SZZ<S<R<R^W<<<ZZW******Qg`ggg?gg??***vvvvvv<)))s**ya<pyb#64o4f5o5<SZybR |mmmmmmmmmmmmmSR1[eeqqe1[O:ـe$n]:Lh}- fu" 0{n94 3k6OoU\V#_A.}5ePTHEN DEQUEUE  XOR INIT SIGNAL  BEFORE AFTER  IF FI ELSE HALT ENABLE  PROC INSERT WORD BIT  STRUCTURE BASED INTERRUPTS RTNS INSERT_BEFORE SLL REPEAT TO   COPY REAL ROTR FOR AND LOCAL  MOD RETURN NEXTPAGE INITIAL  DBL ROTL NARGS  ELIF ENQUEUE INITSEMA RETURNS  OF BYTE  CALL BREAK  UNIV DECLARE ORIGIN NEXTQ  INITQE END DCL INSERT_AFTER ON WAIT INITQH LOOP  NOT UNIVERSAL OR  SAR LIKE EXTERNAL  OFFSET DELETE SLR SEGMENT STR MOVE  DOUBLE PTR  DISABLE LENGTH AJP L 1 SEGMENT QUICK;TASEGMENTTAQUICKL 2TO;L 3 PROC WRITEF EXTERNAL;TAPROCTAWRITEFTAEXTERNALL0 4 PROC READF EXTERNAL RETURNS (WORD,WORD);TO;TAPROCTAREADFTAEXTERNALTARETURNSTO(TAWORDTO,TAWORDTO)L 5 PROC BEGINIO EXTERNAL;TO;TAPROCTAB EGINIOTAEXTERNALL 6 PROC ENDIO EXTERNAL;TO;TAPROCTAENDIOTAEXTERNALL 7 DCL KEYS[50] UNIV BYTETO;TADCLTAKEYSTO[TN250TO]TAUNIVTABYTELH 8  INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM^NL^EOS"),TAINITTO(TC*XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM TO)L# 9 KEY_SIZE WORD INIT (4);TO,TAKEY_SIZETAWORDTAINITTO(TN4TO)L 10 BEGINIO();TO;TABEGINIOTO(TO)L= 11 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS");TO;TAWRITEFTO(TN6TO,TC ALAMO QUICK-SORT PROGRAM TO)L 12 SORT(0,9);TO;TASORTTO(TN0TO,TN 9TO)L 13 WRITEF(6,@KEYS);TO;TAWRITEFTO(TN6TO,TO@TAKEYSTO)L/ 14 WRITEF(6," END QUICK-SORT ^NL^EOS");TO;TAWRITEFTO(TN6TO,TC END QUICK-SORT TO)L 15 ENDIO();TO;TAENDIOTO(TO)L 16 PROC SORT(LEFT,RIGHT);TO;TAPROCTASORTTO(TALEFTTO,TARIGHTTO)L 17 DCL I,J WORD,TO;TADCLTAITO,TAJTAWORDL& 18  LEFT,RIGHT,ADDR WORD,TO,TALEFTTO,TARIGHTTO,TAADDRTAWORDL 19 MID,T DBL,TO,TAMIDTO,TATTADBLL# 20 ARRAY[] BASED DBL;TO,TAARRAYTO[TO]TABASEDTADBLL 21TO;L 22  WRITEF(6,@KEYS);TAWRITEFTO(TN6TO,TO@TAKEYSTO)L 23 ADDR = @KEYS;TO;TAADDRTO=TO@TAKEYSL8 24 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE];TO;TAMIDTO=TAADDRTO->TAARRAYTO[TO(TALEFTTO+TARIGHTTO/TN2TO)TO*TAKEY_SIZETO]L " 25 I = LЀ 16 PROC SORT(LEFT,RIGHT);TO;TAPROCTASORTTO(TALEFTTO,TARIGHTTO)L 17 DE QUICK.INT,QUICK.ASM,QUICK.OUT DM1.ALS QUICK.INT=QUICK.ALM,TV DM1.ALC:1 QUICK.OUT=QUICK.INT,TV PAUSE DM1.ALC:2 QUICK.ASM=QUICK.INT,TV PAUSE MACRO QUICK(D=ALAMO495,MACH=490A,L=) PAUSE AS LO LP LINK QUICK+ALAMOLIB+STRING JO 791001093456791001093456791001093456IL 46 END SORT;TO;TAENDTASORTL 47 END QUICK;TO;TAENDTAQUICKTO;T'FIL2 45 IF I < RIGHT THEN SORT(I,RIGHT); FI;TO;TAIFTAITO<TARIGHTTATHENTASORTTO(TAITO,TARIGHTTO)TO;TAFINITTO(TC*XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM TO)L# 9 KEY_SIZE WORD INIT (4);TO,TAKEY_SIZETAWORDTAINITTO(TN4TO)L 10 BEGINIO();TO;TABEGINIOTO(TO)L= 11 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS");TO;TAWRITEFTO(TN6TO,TC ALAMO QUICK-SORT PROGRAM TO)L 12 SORT(0,9);TO;TASORTTO(TN0TO,TN 9TO)L 13 WRITEF(6,@KEYS);TO;TAWRITEFTO(TN6TO,TO@TAKEYSTO)L/ 14 WRITEF(6," END QUICK-SORT ^NL^EOS");TO;TAWRITEFTO(TN6TO,TC END QUICK-SORT TO)L 15 ENDIO();TO;TAENDIOTO(TO)L 16 PROC SORT(LEFT,RIGHT);TO;TAPROCTASORTTO(TALEFTTO,TARIGHTTO)L 17 DCL I,J WORD,TO;TADCLTAITO,TAJTAWORDL& 18  LEFT,RIGHT,ADDR WORD,TO,TALEFTTO,TARIGHTTO,TAADDRTAWORDL 19 MID,T DBL,TO,TAMIDTO,TATTADBLL# 20 ARRAY[] BASED DBL;TO,T AARRAYTO[TO]TABASEDTADBLL 21TO;L 22  WRITEF(6,@KEYS);TAWRITEFTO(TN6TO,TO@TAKEYSTO)L 23 ADDR = @KEYS;TO;TAADDRTO=TO@TAKEYSL8 24 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE];TO;TAMIDTO=TAADDRTO->TAARRAYTO[TO(TALEFTTO+TARIGHTTO/TN2TO)TO*TAKEY_SIZETO]L" 25 I = LЀ 16 PROC SORT(LEFT,RIGHT);TO;TAPROCTASORTTO(TALEFTTO,TARIGHTTO)L 17  the user program. . *** NOTE *** All Oak programs must be assembled on the OS4 MACRO Assembler using OAK.MAC as the definition file. . . 0 0 0 0 0 0 0 0 0 0 SECTION 4 -- Writing Oak programs for the Simulator 1 .  OAKSIM Reference Manual page 25 0 4.1 DESCRIPTION OF OAK DIRECTIVES . The following is a list of Oak Assembler Directives. Some of these directives directly replace those used in NM4 assembler  programs. . OAK STACK BYTE or TEXT  STRING HALF WORD FINI . 4.1.1 OAK Directive . The OAK directive must be the first mnemonic in the user program. This directive is used to pass the addresses of the Stack Pointer (STK:PTR), the Frame Pointer (FRAME), the Global Pointer  (GLOBAL), the beginning of the stack (LO:STACK), and the end of the stack (HI:STACK) to the Oak Loader used in this Simulator. . The OAK directive has no parameters. . 4.1.2 STACK Directive . The STACK directive is used to allocate space to the user's stack area. In addition, this directive is used to specify the relative position from the beginning of the stack, that the Stack, Frame, and Global pointers are to point. The size of the stack is also specified here. . SYNTAX: STACK (size),(global),(frame),(stack) .  Any or all of the STACK parameters may be omitted. If size is omitted, the stack defaults to :100 32-bit words. If any of the last three parameters are omitted, then they default to the beginning of the stack (LO:STACK). . As an example, let the STACK directive follow the OAK directive, this puts the stack before any executable code. If one were to code the following: . STACK :40,,:20 0 Oak Dir ectives 1 . OAKSIM Reference Manual page 26 0 The assembly listing will then appear as follows: . STACK :40,,:20 GLOBAL EQU G:::PTR FRAME EQU F:::PTR STK:PTR EQU S:::PTR LO:STACK EQU $ HI:STACK EQU $ . The value of the labels will be assigned as follows: . LO:STACK = :00000000 GLOBAL = :00000000  FRAME = :00000080 (byte address) STK:PTR = :00000000 HI:STACK = :00000100 (byte address) . To initialize the Global stack area one must re-org to GLOBAL, specify the global contents, and then re-org back to HI:STACK or to the current position of the program. . 4.1.3 DATA DIRECTIVES .  The Data directives are used to enter data constants into an OAK assembly program. . The BYTE or TEXT directives are the same. These directives produce 8-bit data items. The parameters can be byte values or a string of any length. Up to 10 parameters may be entered. . The STRING directive is used to enter ASCII characters only. Only one parameter is allowed. . The HALF directive is used to enter up to 10 16-bit data items. Up to two ASCII characters may be entered in one parameter. . The WORD directive is used to enter up to 10 32-bit data items. Up to four ASCIi characters may be entered in one parameter. . 4.1.4 FINI DIRECTIVE 0  Oak Directives 1 . OAKSIM Reference Manual page 27 0 The FINI directive must be the last mnemonic that appears in the assembly listing. The FINI directive has an optional parameter which is the execution address of the program. . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Oak Directives 1 . OAKSIM Reference Manual page 28 0 APPENDIX A . OAKSIM Command Summary 0 Ba,b,c,d,e Set temporary breakpoints (up to 5) at a, b, c, d and e. Re-enter user program according to Program_ptr contents. Cs,e,n Copy memory from s to e inclusive, into new area  starting at n. E Enter user program according to Program_ptr contents. Terminate Simulator if TRAP 0 inst. is executed. Fa,v Fill location a with value v. Fs,e,v Fill memory from s to e inclusive with constant value v. Fs,e,v,d Fill memory from s to e inclusive, using d as an  increment/decrement to build a pattern. G List all General Registers. Gg  Display General Register g, (where g= 0-9, A-Z). Ggv Change General Register g to value v. Ia or I.a Inspect memory at location a. If the period is included, then the address is a  byte address (as on the program listing) and the word pointed to is displayed. After value is displayed, commands are: space or + inspect next location.  - inspect previous location. * inspect indirect / display value/2 X display value x 2. Consecutive memory locations can be altered by providing new values separated by commas. (Up to 4) Ia,A or I.a,A Inspect (as above) but show ascii equivalent of contents. J Re-enter user program according to the Program_ptr. 0 APPENDIX A -- OAKSIM Command Summary 1 . OAKSIM Reference Manual page 29 0 Jt  Re-enter user program at location t. Jt,a,b,c,d Set temporary breakpoints at a, b, c, and d.  Re-enter user program at location t. Ls,e List memory from s to e inclusive (s <= e). Ls,e,A  List memory from s to e inclusive with ASCII equivalents. (s <= e). Ls,n List memory from s for :n locations (s > n). Ls,n,A List memory from s for :n locations with ASCII equivalents  ( s > n ). R Display all user Pointers, Status Flags(Condition Codes) and top 4 entries on the Stack. Rr Display user pointer or flag where r = P,F,S,G,Z,C,N,V Rrv Change user pointer or flag to value v. Flags are affected by bit 31 (LSB) only. RR* Reset all Simulator counters. RR List all Simulator Counters on the Standard-Output. Ss,e,v Search memory from s to e ( s <= e ) for value v. Ss,e,v,m Search memory from s to e (s <=e) for value under mask m,  where zero bits of m are don't care bits. Ss,e,v,- Search memory from s to e (s <=e) for non-match of value v. T Terminate Simulator. U List operators for the calculator. Uexp Calculate expression. Evaluation is strictly left to right. The expression consists of any number of values separated by operators as listed below: + addition - subtraction 0 APPENDIX A -- OAKSIM Command Summary 1 . OAKSIM Reference Manual page 30 0 * multiplication / division  ^ exponential & logical and | logical inclusive or  ! logical exclusive or (XOR) W Initiate the OAK binary loader. Y Single Step. Re-enter user program according to the Program_ptr and return after execution of one instruction. . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 APPENDIX A -- OAKSIM Command Summary 1 . OAKSIM Reference Manual   page 31 0 APPENDIX B OAK Instruction Mnemonics .  opcode mnenomic format(s) 00 NOP 1 01 NOT 1 02 AND 1 03 OR 1 04 XOR 1 05 INC 1 06 DEC 1 07 NEG 1 08 ADD 1 09 SUB 1  0A CMP 1 0B MULT 1 0C DIV 1 0D DEL 1 0E DUP 1 0F DUPD 1 10 EXC 1 11 EXCD 1 12 ZERO 1 13 ONE 1 14 ONES 1 15 SXTB 1 16 SXTH 1 17 SXTW 1 18 SAR 1  19 SHR 1 1A SHL 1 1B ROR 1 1C ROL 1  1D CIRC 1 1E ADDC 1 1F EXCWD 1 20 EXCDW 1 21 - - 22 - - 23 - - 24  - - 25 - - 26 - - 27 - - 0  APPENDIX B -- OAK Instruction Mnemonics 1 . OAKSIM Reference Manual page 32 0 28 -  - 29 SCMP 1 2A MOVE 1 2B TXLT 1 2C SRCH 1 2D ENQ 1 2E RQE 1 2F DEQ 1  30 LDSI B 1 31 LDSI H 1 32 LDSI W 1 33 LDSI D 1  34-35 FORI 2,3 36-37 FORD 2,3 38-39 ENTR 2,3 3A-3B  EXIT 2,3 3C SGNL 1 3D WAIT 1 3E TRAP 2  3F LCXT 1 40 STSI B 1 41 STSI H 1 42 STSI W 1  43 STSI D 1 44-46 LDI 2,3,5 47 WCS 2 48-49 ADDI 2,3 4A-4B SUBI 2,3 4C-4D CMPI 2,3 4E-4F RESS 2,3  50-51 RELS 2,3 52-53 EXT 1,2 54-55 INS 1,2 56 JSI  1 57 CASE 2 58-5A LDPA 2,3,5 5B SPIN 1 5C-5D EXTS 1,2 5E - - 5F 2X INSTS. 2X 60-61 BPL 2,3  62-63 BMI 2,3 64-65 BNE 2,3 66-67 BEQ 2,3 0 APPENDIX B -- OAK Instruction Mnemonics 1 . OAKSIM Reference Manual page 33 0 68-69 BNO 2,3   6A-6B BOV 2,3 6C-6D BNC 2,3 6E-6F BCY 2,3 70-71  BGT 2,3 72-73 BLE 2,3 74-75 BGE 2,3 76-77 BLT 2,3  78-79 BHI 2,3 7A-7B BLS 2,3 7C-7D JMP 2,3 7E-7F JAL 2,3 80-8F LDL 1A,2,3 90-9F STL 1A,2,3 A0-AF ZRL 1A,2,3  B0-BF INL 1A,2,3 C0-C1 LDG 2,3 C2-C3 STG 2,3 C4-C5 LDGD 2,3 C6-C7 STGD 2,3 C8-C9 LDLA 2,3 CA-CB LDGA 2,3  CC-CD LDLD 2,3 CE-CF STLD 2,3 D0-D1 LDGX B 2,3 D2-D3  LDGX H 2,3 D4-D5 LDGX W 2,3 D6-D7 LDGX D 2,3 D8-D9 STGX B 2,3  DA-DB STGX H 2,3 DC-DD STGX W 2,3 DE-DF STGX D 2,3 E0-E1 LDLI B 2,3 E2-E3 LDLI H 2,3 E4-E5 LDLI W 2,3 E6-E7 LDLI D 2,3  E8-E9 STLI B 2,3 EA-EB STLI H 2,3 EC-ED STLI W 2,3 EE-EF STLI D  2,3 F0-F1 LDLX B 2,3 F2-F3 LDLX H 2,3 F4-F5 LDLX W 2,3  F6-F7 LDLX D 2,3 0 APPENDIX B -- OAK Instruction Mnemonics 1 . OAKSIM Reference Manual page 34 0 F8-F9 STLX B 2,3 FA-FB STLX H 2,3 FC-FD STLX W 2,3  FE-FF STLX D 2,3 2X INSTRUCTIONS 5F00 CDI 2X 5F01 CFI 2X  5F02 CID 2X 5F03 CIF 2X 5F04 DADD 2X 5F05 DCMP 2X 5F06 DSUB 2X 5F07 FADD 2X 5F08 FCMP 2X  5F09 FDIV 2X 5F0A FMULT 2X 5F0B FSUB 2X 0 0 0 0 0 0 0 0 0 0 0 0 0 0  APPENDIX B -- OAK Instruction Mnemonics F STLI D 2,3 F0-F1 LDLX B 2,3 F2-F3 LDLX H 2,3 F4-F5 LDLX W 2,3 F6-F7 LDLX D 2,3 F8-F9 STLX B 2,3 FA-FB STLX H 2,3 FC-FD STLX W 2,3 FE-FF STLX D  :4F List segment names(list location counters) :6D Note record :6F List segment attributes .bp 3.14 SINGLE STEP (Y) .sp .fo " Single step (Y) .fi The Y command allows the user to single step through his program. Only one instruction (as pointed to by the Program Pointer), is executed, and control is returned to OAKSIM for new commands. Since OAKSIM does not modify the user's machine code during a breakpoint, the user never need worry about any of an instructions operands being modified. .sp .in +15 .rm -14 .ce *** NOTE *** The Y Command (Single Step) is the only command that executes without a carriage return. .nf .in -15 .rm +14 .bp .ce 2 SECTION 4 .sp Writing Oak programs for the Simulator .sp .fo " SECT ION 4 -- Writing Oak programs for the Simulator .fi Writing Oak programs is essentially the same as writing assembly language programs for NM4 family of computers. Oak programs can use all the MACRO assembler directives with exception to the END directive, which has been replaced by FINI, and has the same syntax. .sp All Oak programs must contain the following list of directives: .sp .nf OAK This directive signifies the beginning of the program. STACK This directive specifies the user's stack space and relative positions of the Stack Pointer, Frame Pointer and the Global Pointer from the start of the Stack. FINI This directive must be the last mnemonic in the user program. .sp .fi .in +15 .rm -14 .ce *** NOTE *** All Oak programs must be assembled on the OS4 MACRO Assembler using OAK.MAC as the definition file. .sp .rm +14 .in -15 .sp .bp 4.1 DESCRIPTION OF OAK DIRECTIVES .sp .fo " Oak Directives .fi The following is a list of Oak Assembler Directives. Some of these directives directly replace those used in NM4 assembler programs. .sp .nf  OAK STACK BYTE or TEXT STRING HALF WORD  FINI .sp .fi 4.1.1 OAK Directive .sp The OAK directive must be the first mnemonic in the user program. This directive is used to pass the addresses of the Stack Pointer (STK:PTR), the Frame Pointer (FRAME), the Global Pointer (GLOBAL), the beginning of the stack (LO:STACK), and the end of the stack (HI:STACK) to the Oak Loader used in this Simulator. .sp The OAK directive has no parameters. .sp 4.1.2 STACK Directive .sp The STACK directive is used to allocate space to the user's stack area. In addition, this directive is used to specify the relative position from the beginning of the stack, that the Stack, Frame, and Global pointers are to point. The size of the stack is also specified here. .sp SYNTAX: STACK (size),(global),(frame),(stack) .sp Any or all of the STACK parameters may be omitted. If size is omitted, the stack defaults to :100 32-bit words. If any of the last three parameters are omitted, then they default to the beginning of the stack (LO:STACK). .sp As an example, let the STACK directive follow the OAK directive, this puts the stack before any executable code. If one were to code the following: .sp .nf  STACK :40,,:20 .sp .fi The assembly listing will then appear as follows: .sp .nf STACK :40,,:20 GLOBAL EQU  G:::PTR FRAME EQU F:::PTR STK:PTR EQU S:::PTR LO:STACK EQU $ HI:STACK EQU $ .sp .fi The value of the labels will be assigned as follows: .nf .sp LO:STACK = :00000000 GLOBAL = :00000000 FRAME = :00000080 (byte address) STK:PTR = :00000000 HI:STACK = :00000100 (byte address) .sp .fi To initialize the Global stack area one must re-org to GLOBAL, specify the global contents, and then re-org back to HI:STACK or to the current position of the program. .sp 4.1.3 DATA DIRECTIVES .sp The Data directives are used to enter data constants into an OAK assembly program. .sp .in +5 The BYTE or TEXT directives are the same. These directives produce 8-bit data items. The parameters can be byte valu es or a string of any length. Up to 10 parameters may be entered. .sp The STRING directive is used to enter ASCII characters only. Only one parameter is allowed. .sp The HALF directive is used to enter up to 10 16-bit data items. Up to two ASCII characters may be entered in one parameter. .sp The WORD directive is used to enter up to 10 32-bit data items. Up to four ASCIi characters may be entered in one parameter. .sp .in -5 4.1.4 FINI DIRECTIVE .sp The FINI directive must be the last mnemonic that appears in the assembly listing. The FINI directive has an optional parameter which is the execution address of the program. .sp .nf .bp .ce 2 APPENDIX A .sp OAKSIM Command Summary .nf .fo " APPENDIX A -- OAKSIM Command Summary .sp 2 .in -5 Ba,b,c,d,e Set temporary breakpoints (up to 5) at a, b, c, d and e. Re-enter user program according to Program_ptr contents. Cs,e,n Copy memory from s to e inclusive, into new area starting at n. E Enter user program according to Program_ptr contents. Terminate Simulator if TRAP 0 inst. is executed. Fa,v Fill location a with value v. Fs,e,v Fill memory from s to e inclusive with constant value v. Fs,e,v,d Fill memory from s to e inclusive, using d as an increment/decrement to build a pattern. G List all General Registers. Gg Display General Register g, (where g= 0-9, A-Z). Ggv Change General Register g to value v. Ia or I.a Inspect memory at location a. If the period is included, then the address is a byte address (as on the program listing) and the word pointed to is displayed. After value is displayed, commands are: space or + inspect next location. - inspect previous location. * inspect indirect / display value/2  X display value x 2. Consecutive memory locations can be altered by providing new values separated by commas. (Up to 4) Ia,A or I.a,A Inspect (as above) but show ascii equivalent of contents. J  Re-enter user program according to the Program_ptr. Jt Re-enter user program at location t. Jt,a,b,c,d  Set temporary breakpoints at a, b, c, and d. Re-enter user program at location t. Ls,e List memory from s to e inclusive (s <= e). Ls,e,A List memory from s to e inclusive with ASCII equivalents. (s <= e). Ls,n List memory from s for :n locations (s > n). Ls,n,A List memory from s for :n locations with ASCII equivalents ( s > n ). R Display all user Pointers, Status Flags(Condition Codes) and top 4 entries on the Stack. Rr Display user pointer or flag where r = P,F,S,G,Z,C,N,V Rrv Change user pointer or flag to value v. Flags are affected by bit 31 (LSB) only. RR* Reset all Simulator counters. RR List all Simulator Counters on the Standard-Output. Ss,e,v Search memory from s to e ( s <= e  ) for value v. Ss,e,v,m Search memory from s to e (s <=e) for value under mask m, where zero bits of m are don't care bits. Ss,e,v,- Search memory from s to e (s <=e) for non-match of value v. T Terminate Simulator. U List operators for the calculator. Uexp Calculate expression. Evaluation is strictly left to right. The expression consists of any number of values separated by operators as listed below: + addition - subtraction * multiplication  / division ^ exponential & logical and | logical inclusive or ! logical exclusive or (XOR) W Initiate the OAK binary loader. Y Single Step. Re-enter user program according to the Program_ptr and return after execution of one instruction. .sp .in +5 .bp .ce 2 APPENDIX B OAK Instruction Mnemonics .sp .fo " APPENDIX B -- OAK Instruction Mnemonics opcode mnenomic format(s) 00 NOP 1 01 NOT 1 02 AND 1 03 OR 1 04 XOR  1 05 INC 1 06 DEC 1 07 NEG 1 08 ADD 1 09 SUB 1 0A  CMP 1 0B MULT 1 0C DIV 1 0D DEL 1 0E DUP 1 0F DUPD 1  10 EXC 1 11 EXCD 1 12 ZERO 1 13 ONE 1 14 ONES 1 15 SXTB 1 16 SXTH 1 17 SXTW 1 18 SAR 1 19 SHR 1 1A SHL 1 1B ROR 1 1C ROL 1 1D CIRC 1 1E ADDC 1 1F EXCWD 1 20 EXCDW 1 21 - - 22 - - 23 - - 24 - - 25 - - 26  - - 27 - - 28 - - 29 SCMP 1 2A MOVE 1 2B TXLT  1 2C SRCH 1 2D ENQ 1 2E RQE 1 2F DEQ 1 30 LDSI B 1 31  LDSI H 1 32 LDSI W 1 33 LDSI D 1 34-35 FORI 2,3 36-37 FORD 2,3 38-39 ENTR  2,3 3A-3B EXIT 2,3 3C SGNL 1 3D WAIT 1 3E TRAP 2 3F LCXT 1 40 STSI B 1 41 STSI H 1 42 STSI W 1 43 STSI D 1 44-46 LDI 2,3,5 47 WCS 2 48-49 ADDI 2,3 4A-4B SUBI 2,3 4C-4D CMPI 2,3 4E-4F RESS 2,3 50-51 RELS  2,3 52-53 EXT 1,2 54-55 INS 1,2 56 JSI 1 57 CASE 2 58-5A LDPA 2,3,5 5B SPIN 1 5C-5D EXTS 1,2 5E - - 5F 2X INSTS. 2X 60-61 BPL 2,3 62-63 BMI 2,3 64-65 BNE 2,3 66-67 BEQ 2,3 68-69 BNO 2,3 6A-6B BOV 2,3 6C-6D  BNC 2,3 6E-6F BCY 2,3 70-71 BGT 2,3 72-73 BLE 2,3 74-75 BGE 2,3 76-77 B  LT 2,3 78-79 BHI 2,3 7A-7B BLS 2,3 7C-7D JMP 2,3 7E-7F JAL 2,3 80-8F LDL  1A,2,3 90-9F STL 1A,2,3 A0-AF ZRL 1A,2,3 B0-BF INL 1A,2,3 C0-C1 LDG 2,3 C2-C3 STG 2,3 C4-C5 LDGD 2,3 C6-C7 STGD 2,3 C8-C9 LDLA 2,3 CA-CB LDGA 2,3 CC-CD  LDLD 2,3 CE-CF STLD 2,3 D0-D1 LDGX B 2,3 D2-D3 LDGX H 2,3 D4-D5 LDGX W 2,3 D6-D7 LDGX D 2,3 D8-D9 STGX B 2,3 DA-DB STGX H 2,3 DC-DD STGX W 2,3 DE-DF STGX D 2,3 E0-E1 LDLI B 2,3 E2-E3 LDLI H 2,3 E4-E5 LDLI W 2,3 E6-E7 LDLI D 2,3 E8-E9 STLI B 2,3 EA-EB STLI H  2,3 EC-ED STLI W 2,3 EE-EF STLI D 2,3 F0-F1 LDLX B 2,3 F2-F3 LDLX H 2,3 F4-F5 LDLX W 2,3 F6-F7 LDLX D 2,3 F8-F9 STLX B 2,3 FA-FB STLX H 2,3 FC-FD STLX W 2,3 FE-FF STLX D 2,3 2X INSTRUCTIONS 5F00 CDI 2X 5F01 CFI 2X 5F02 CID 2X 5F03 CIF 2X 5F04  DADD 2X 5F05 DCMP 2X 5F06 DSUB 2X 5F07 FADD 2X 5F08 FCMP 2X 5F09 FDIV  2X 5F0A FMULT 2X 5F0B FSUB 2X BEQ 2,3 68-69 BNO 2,3 6A-6B BOV 2,3 6C-6D  BNC 2,3 6E-6F BCY 2,3 70-71 BGT 2,3 72-73 BLE 2,3 74-75 BGE 2,3 76-77 B FBR: O0SEGMENTBLANK IOS: o KI:SIV I:SDIO I:ECTT KI:RET I:STAT I:VCNT KI:RST I:NEOB I:STUP KI:FINI I:WAIT I:DIO iig DIBK̈́JSC DIFF I ED؞ҞОсKy  D5 ΠC FK ICD EKnC CFF DBK CILUCC IDGKC Ȟ{wtt t tttttt؞g DIBK̈́JFGF b0 DCIĐ IK  ֠CKD@yNq āJIpGFCDEK ?CC9`DI6 6݀FF DCB K Ā#"I! I G}wDI @lJ_6D/6Bht tt )KF@6+%'6*  6|EK+D@*l# JCR:WRT CR:FUN CR:RD O0SEGMENTBLANK IOS: o KI:VCNT I:OPCL I:ECTT KI:EMEM I:RET I:NEOB  KI:RST I:TRLT I:STAT KI:TRLL I:WAIT I:STUP KI:FINI I:DIO iig EDрF PDIB NCDIEKמ؞ٞ DIDBJ1B 6GBK' B /6yF  ̠BǀII  F ^D DBP KDB ā BKB6À  }J/6wurt tt tt t t"tt ttttg cg @ SjB TtJI:TRLT O0SEGMENTBLANK IOS: o 3iig C )@aE+ 6֤ N 6LN 6 # F D# F J `+ K D`y # N I#  PARITY (Y/N) ? ttLtttJAC:FIO O0SEGMENTBLANK IOS: o  KI:TRTB I:VCNT AC:RSB KAC:SNDCKAC:SNDSQAC:SNDQ KAC:RDCK AC:T6AX AC:SNDFNKAC:OPNCKAC:STUP AC:MEMTSiig FND֠N.8 *E %E'JQ  DOPE JB6݁EN @6Ar@N@6AEOJO + - 1 0GG K DJ ODGNFEKJPI # t t t tttV @FNP LDOE jjjLOKD JNFLzO LDELN6@F@6A   KJ➑OLVttOt @6I_LLL L =L 9LȞ5 L L I> \\\ \ SL4EOON GOLǠLP E% 'LOOI PE %r+' #  # /*`AOL`# tttJMT:FUN MT:POS MT:WRT JMT:RD O0SEGMENTBLANK IOS: o KI:RATE I:SRTC I:VCNT KI:ECTT I:EMEM I:RST KI:DIO I:RET I:FINI KI:NEOB I:WAIT I:RPF KI:STUP iig CBJꞋg CBJ脘 ęAٞО@B @6EC àBܐ҈D I @o6@6@6DAJ DC?6T@_6R N@ w@ BC?6CBJ,BJtut(tuttg nFXM MBgf ㄕCXJQH݄B XĘWęTKJ@B рF @60ǠC  D@6:@6[:: B/65A'.% B /6@$$ߠBCH F E@6@6R@6@ 6M CZ@b2&:FVg €F   EDB# DA # p܀# BWX GC/C CC C Aq@BĚC# nt ttt tt BWXCGJ đK@6@6@/6CO # ܑ # ĕ #  @KQN85@ 6C%x p܀ p܀# C BJ@@/6# @O6<EK # t t t t D DI# C #  C?6 CBJPB t2p4(JDP:FUN DP:WRT DP:RD O0SEGMENTBLANK IOS: o +KI:SRTC I:DEOF I:USEC KI:HARD I:RATE I:DCAL KI:ECTT I:OPEN I:EMEM KI:RST I:RET I:FINI KI:NEOB I:WAIT I:RPF KI:SIV I:STUP iigg EDCBڟDA ֟ҠBK *1# Bž ̟̠B C DJ BG!KĩF N9XKQA CC BC KC  IĀ  J.a'C I C  C BQ̪ĩRICđttt ttt t ̪ĩRDICđ   C C @AC ֔GBCC Hĕɞ!t%tt  @6]vCBD CDN EBEK IDJ CI  @Eޟޟ @ *1J @*1y @* 1Br @*13@68C @*1/HB @*1[g /Cĕ+C C  BC  C C  C  C CBC  CH @JQ# tt )tt*tt t  C# A# KEK# B G # JI:OPCL I:OPEN I:VCNT JI:ECTT I:COMP I:EOB JI:EMEM I:RPF I:SIV JI:SDIO I:DIO I:TRTB JI:TRLL I:RST I:STAT O0SEGMENTBLANK IOS: o KI:RET R:RE12 R:SSIG iig B@SA# g  @`E%  }*19' `@# Eg g  JCC H # g C lF0 A@ ĀfDK@A A@ āF6܂# gC݄g # g C B@.y$B8%# g CC # g  "&$@&@## # gܗ+g A !@ )A G֏@'G# gC# g jtttg BF ?@@ā6F @ā6C # GMENTBLANK IOS: o +KI:SRTC I:DEOF I:USEC KI:HARD I:RATE I:DCAL KI:ECTT I:OPEN I:EMEM KI:RST I:RET I:FINI KI:NEOB I:WAIT I:RPF KI:SIV I:STUP iigg EDCBڟDA ֟ҠBK *1Bž ̟̠B C DJ BG!KĩF N9XKQA CC BC KC  IĀ  J.a'C I C  C BQ̪ĩRICđttt ttt t ̪ĩRDICđ   C C @AC ֔GBg# JR:DCHK O0SEGMENTBLANK RTX: o iig JO@ 1LJIq# # JR:NOPF O0SEGMENTBLANK RTX: o \KR:FATL R:EMPI R:HIGH KR:INIT R:INI1 R:BGINI KR:RINT R:RIWAL R:SSIG KR:WLKS  ii g ǃdžzƆyu‚tJ* +$hg DB$ @ @Ģ$@ĪHIf )% JS `k z &DI tttttttt ttJR:RINT O0SEGMENTBLANK DUMMY: o iig # JR:UINI O0SEGMENTBLANK DUMMY: o iig # JI:INIT O0SEGMENTBLANK DUMMY: o iig # JR:EMUL O0SEGMENTBLANK DUMMY: o KR:UIRTN iig# tJR:EX R:DBUG R:ODOR JR:IDOR O0SEGMENTBLANK RTX: o =KDEBUG4 R:USTREXR:DOOREXKR:SERL R:SERB iig C @ð+`pF @6 @6@6R 6D 6ƨE6 !F66 DXʎ`@@g gAc # gtttttJR:SERB R:SERL O0SEGMENTBLANK RTX: o $KR:EX R:RFB R:AFB KI:LD410SI:LOAD F:DMNT KR:SATD R:GATD F:CFNO KF:MONT F:CONN F:DELE KF:CREA R:CWAL R:MTIC KR:CTIC R:IWAL R:AWAL KR:GTOD R:STOD R:RBUF KR:ABUF R:PAUS R:ITIC KR:RECV R:SEND R:CINT KI:IO R:GPRI R:SPRI KR:END R:BGIN R:WAIT KR:SIG R:STR0EXiigt"t!t ttttttttttttttttttt t t t t tttttttttg#O0SE$ GMENTBLANK oiJDEBUG4 O0SEGMENTBLANK DUMMY: o KR:FAT1 iigtJR:SPRI O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:GPRI O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJI:IO O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:CINT O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:SEND O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:RECV O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:ITIC O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:PAUS O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:ABUF O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:RBUF O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:STOD O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:GTOD O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:AWAL O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:IWAL O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:CTIC O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:MTIC O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:CWAL O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:CREA O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:DELE O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:CONN O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:MONT O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:CFNO O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:GATD O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:SATD O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJF:DMNT O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJI:LOAD O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJI:LD410SO0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:AFB O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:RFB O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:DUMMY O0SEGMENTBLANK DUMMY: o KR:STR0EXiigtJR:HIGH O0SEGMENTBLANK R:HIGH o iigJG:P E:INIT O0SEGMENTBLANK oKE:MONE I:IO R:BGIN KPCI:INITI:ERTD E:UATP KR:LOW  E:HIGH E:LOW iim*** OS4AUX.LIB - REV D0m ***gg  `0_ pP !@@BK@+kU:3:&tttttt OC .1OS4 (D0) tJPCISEMA4PCI:TDB CONSINT:LPCI:INITO0SEGMENTBLANK OS4: OTABLE: o KR:WAIT R:ITIC I:IO KR:CINT E:HIGH E:LOW KE:MONE R:BGIN NR:SL R:TDBL iifgh:# digkdd/i ABORT? OC OC  OC "ATdi k% g>i/ ԆT:цQ:::# ay X  >! q>B|{ôC F +E: +:d hC IC @ Ý㘣f&!1E ǐc 1>/Ljc htttJCONSINT:PCI:INITO0SEGMENTBLANK OS4: o iifgg# K DUMMY: o KR:DUMMY iigJI:LD410SO0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:AFB O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:RFB O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:DUMMY O0SEGMENTBLANK DUMMY: o KR:STR0EXiigtJR:HIGH O0SEGMENTBLANK R:HIGH o F# O0  0/x# & END OF FILE  I/O HALTED NOT READY  WRITE PROTECT TIME OUT POWER FAILDDT NOT AVAILABLE VOLUME NOT ON UNITVOLUME NOT FOUND LOGICAL UNIT NOT RELEASED A BAD CHECK SUM BUNASSIGNED DEVICE CLUN NOT IN UATDREACHED END OF MEDIAEHARDWAREF!ILLEGAL OPERATION FOR THIS DEVICE GNON-EXISTANT MEMORY ADDRESS HMEMORY ADDRESS IN SYSTEM AREA IDIRECTORY FULLJDISK NOT LABELEDKFILE ADDRESS OVERFLOW L ILLEGAL AUM AU NOT FOUNDNWRITE DIRECT HIT END OF FILEONOT EXTENDABLEPILLEGAL FILE ADDRESSQALLOCATION TABLE FOULED UPRSYSTEM USAGE ONLY S FCB CHAIN BAD T FILE OPEN U FILE NOT OPEN VOLD OR NEW WRONGVILLEGAL FILE POINTERWUNIT NOT GIVENXUNASSIGNED FCBYBUFFER HAS WRITE PENDINGZNO MORE FREE SPACE[ BAD TYPE CODE \ABORT RTX ACCESSFORMATINVALID TRAILING COUNTUNABLE TO BACKSPACE PAST EOFTOO MANY UNITSREAD AFTER WRITECANNOT BACKSPACE NEW UNIT FILE ALREADY OPEN INVALID FILE NAME FILE NOT FOUNDINVALID LEADING COUNT NON-EXISTANT UNIT FILE ALREADY EXISTS CANNOT DELETE PHYSICAL UNIT LOGICAL UNIT (UF) NOT ASSIGNEDILLEGAL INPUT CHARACTER CANNOT DELETE UNNAMED FILEILLEGAL CHARACTER IN FORMAT %TOO MANY NESTED PARENTHESES IN FORMAT %UNMATCHED RIGHT PARENTHESIS IN FORMAT ILLEGAL REPEAT COUNT IN FORMATHOLLERITH INPUT NUMERIC/LOGICAL TYPE MISMATCH ILLEGAL MAG TAPE ACCESS OR FORM Aß A` ED @E , DAE@6CE@/6@E6Ǡ@@ @FtFt@# FFE/-E6B Gl/8Bz@ ̂B O0ߞ  0BwE?6GPF AG ' C# '>BB|# H%'H# J%'JC# )6  #  ERROR AT : LINE  CALLED FROM : IN SL #t1` yNzO$ ` SO+Nq M# 逆 LCK ZށCB! Z  ЁCB!ǁC B!@# A L B@GĄC JB!JC!L BGQٞ kQ CB!9XĄˁC B! ! IФL  K y ZK@#  IͤL  BĄK LR$TCJL RB!L H@KKĄB!@#  LR$TLJ KC!L B̄QA  Z d @#   EŸHJDED  EHEGE   FBF LI 'J+R` yz+KS@# @J G G'!P@-ć# @Ĉ\J G G'!R@,ć#   I)J I*@KQL@<ć@#  @6   @6   @o6 @<@?6 @_6À?6I 6 # !T @6ɀ    !J IЂG' G!AKĈ@ć !V HĀ#  kQ G !Kŀ< K# !  G !K# G !K# 6H/6-!JI I# @/6Ÿ!J# 6B/6 ,!R# zyGIHSDIIH@QM+GuHLI ERG$T# IG'  !wGLG& Ў+G{L6E/6!JG&G' = # K K# @SBBI# ` A# L@M@}ć#rѠ1OALx D M@|@LćL# I8 I)e;791001093456791001093456791008084539e@791001093456791001093456791001093456e:' 791001093456791001093456791001093456e791001093456791001093456791001093456791001093456791001093456791001093456e 77910080844527579100808445875791008084458de 7910080845080079100808451275791008084512de !7910080845235079100808452825791008084528d em7910041318037579100413180825791004131808d(  e7910041123067579100411231300791004113221 e7910041124007579100411240550791004112642 eB7910041139027579100411390700791004113907d eC [7910041139175079100411392425791004113924dePOD7910041139450079100411400525791004114005d) * + , - . / 0 . QSORT ASMQSORT OBJQSORT BINQUICK JCLQUICK ALMQUICK BAKQUICK JCLQUICK ASMPAT495 BIN 1 SEGMENT QUICK; 2 3 PROC WRITEF EXTERNAL; 4 PROC READF EXTERNAL RETURNS (WORD,WORD); 5 PROC BEGINIO EXTERNAL; 6 PROC ENDIO EXTERNAL; 7 DCL KEYS[50] UNIV BYTE 8 INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMM1 MMEEEELMLM^NL^EOS"), 9 KEY_SIZE WORD INIT (4); 10 BEGINIO(); 11 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); 12 SORT(0,9); 13 WRITEF(6,@KEYS); 14 WRITEF(6," END QUICK-SORT ^NL^EOS"); 15 ENDIO(); 16 PROC SORT(LEFT,RIGHT); 17 DCL I,J WORD, 18 LEFT,RIGHT,ADDR WORD, 19 MID,T DBL, 20 ARRAY[] BASED DBL; 21 22 WRITEF(6,@KEYS); 23 ADDR = @KEYS; 24 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE]; 25 I = LEFT; J = RIGHT; 26 LOOP; 27 BREAK IF I > J; 28 LOOP; 29 BREAK IF ADDR->ARRAY[I*KEY_SIZE] = MID; 30 I = * + 1; 31 REPEAT; 32 LOOP; 33 BREAK IF MID = ADDR->ARRAY[J*KEY_SIZE]; 34 J = * - 1; 35 REPEAT; 36  IF I <= J 37 THEN T = ADDR->ARRAY[I*KEY_SIZE]; 38 ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; 39 ADDR->ARRAY[J*KEY_SIZE] = T; 40 I = * + 1; 41 J = * - 1;  42 FI; 43 REPEAT; 44 IF LEFT < J THEN SORT(LEFT,J); FI; 45 IF I < RIGHT THEN SORT(I,RIGHT); FI; 46 END SORT; 47 END QUICK; EY_SIZE]; 34 J = * - 1; 35 REPEAT; 36  IF I <= J 37 THEN T = ADDR->ARRAY[I*KEY_SIZE]; 38 ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; 39 ADDR->ARRAY[J*KEY_SIZE] = T; 40 I = * + 1; 41 J = * - 1;  42 FI; 43 REPEAT; 44 IF LEFT < J THEN SORT(LEFT,J); FI; 45 IF I < RIGHT THEN SORT(I,RDE QUICK.INT,QUICK.ASM,QUICK.OUT DM1.ALS QUICK.INT=QUICK.ALM,TV DM1.ALC:1 QUICK.OUT=QUICK.INT,TV PAUSE DM1.ALC:2 QUICK.ASM=QUICK.INT,TV PAUSE MACRO QUICK(D=ALAMO495,MACH=490A,L=) PAUSE AS LO LP LINK QUICK+ALAMOLIB+STRING JO ,Y ADDR 00F0 5E07 0250 LOADSS V10011,Q I 00F1 0900 0251 MAKE :0000,A 1PAGE 0010 MACRO (D0) 1979/10/04 11:35:28.75 00F2 4780 0252 MUL V10007,AQ 00F3 FF40 0034 00F4 2040 0253 MOVE Q,X 00F5 2* 1 SEGMENT QUICK; * SEGMENT QUICK UNIV KEYS UNIV QUICK LEXT WRITEF LEXT READF LEXT BEGINIO LEXT ENDIO * * QUICK EQUATES: * * SORT EQUATES: V10009 EQU 2 LEFT(param) V10010 EQU 4 RIGHT(param) V10011 EQU 7 I V10012 EQU 8 J V10013 EQU 9 ADDR V10014 EQU 10 MID V10015 EQU 12 T V10016 EQU 0 ARRAY CSTR RES 26 * 2 * 3 PROC WRITEF EXTERNAL; * 4 PROC READF EXTERNAL RETURNS (WORD,WORD); * 5 PROC BEGINIO EXTERNAL; * 6 PROC ENDIO EXTERNAL; * 7 DCL KEYS[50] UNIV BYTE * 8 INIT ("XXXXSSSSXYXYTTTTAAAAHHHHCCCCMMMMEEEELMLM^NL^EOS"), KEYS EQU $ V10006 EQU $ WORD :5858 WORD :5858 WORD :5353 WORD :5353 WORD :5859 WORD :5859 WORD :5454 WORD :5454 WORD :4141 WORD :4141 WORD :4848 WORD :4848 WORD :4343 WORD :4343 WORD :4D4D WORD :4D4D WORD :4545 WORD :4545 WORD :4C4D WORD :4C4D WORD :0A00 WORD :0000 WORD :0000 WORD :0000 WORD :0000 * 9 KEY_SIZE WORD INIT (4); WORD :0000 V10007 EQU $ WORD2  :0004 * 10 BEGINIO(); QUICK EQU $ V10001 EQU $ SIN 3 MOVE L,K LOADE SF:::1,Q ADD Q,K CEAS :0002,Y MAKE :0000,Q STOR Q,0(Y) JSKE BEGINIO * 11 WRITEF(6," ^NL ALAMO QUICK-SORT PROGRAM ^NL^EOS"); MAKE :0006,Q CVTD DSTORSS AQ,3 CS0 EQU $ ORG CSTR BYTE 32,10,32,65,76,65,77,79,32,81,85,73,67,75,45,83 BYTE 79,82,84,32,80,82,79,71,82,65,77,32,32,10,0,0 ORG CS0 CEA CSTR,Q CVTD DSTORSS AQ,5 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE WRITEF * 12 SORT(0,9);  MAKE :0000,Q STORSS Q,4 MAKE :0009,Q STORSS Q,6 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE V10008 * 13 WRITEF(6,@KEYS); MAKE :0006,Q CVTD DSTORSS AQ,3 CEA V10006,Q KEYS CVTD DSTORSS AQ,5 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE WRITEF * 14 WRITEF(6," END QUICK-SORT ^NL^EOS"); MAKE :0006,Q CVTD DSTORSS AQ,3 CS16 EQU $ ORG CSTR+16 BYTE 32,69,78,68,32,81,85,73,67,75,45,83,79,82,84,32 BYTE 32,10,0,0 ORG CS16 CEA CSTR+16,Q CVTD DSTORSS AQ,5  CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE WRITEF * 15 ENDIO(); CEAS :0002,Y MAKE :0000,Q STOR Q,0(Y) JSKE ENDIO * 16 PROC SORT(LEFT,RIGHT); * 17 DCL I,J WORD, EXIT SF:::1 WORD :03E0 * PROCEDURE SORT V10008 EQU $ ENTER SF:::2 * 18 LEFT,RIGHT,ADDR WORD, * 19 MID,T DBL, * 20 ARRAY[] BASED DBL; * 21 *  22 WRITEF(6,@KEYS); MAKE :0006,Q CVTD DSTORSS AQ,3 CEA V10006,Q KEYS CVTD DSTORSS AQ,5 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE WRITEF * 23 ADDR = @KEYS; * 24 MID = ADDR->ARRAY[(LEFT+RIGHT/2)*KEY_SIZE]; CEA V10006,Q KEYS STORSS Q,V10013 ADDR LOADSS V10013,Y ADDR LOADSS 1,X LOAD V10009(X),Q LEFT ADD V10010(X),Q SHIFT Q,R,1 MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 * 25 I = LEFT; J = RIGHT; DLOAD V10016(X,Y),AQ ARRAY DSTORSS AQ,V10014 MID LOADSS 1,X LOAD V10009(X),Q LEFT STORSS Q,V10011 I * 26 LOOP; LOAD V10010(X),Q RIGHT STORSS Q,V10012 J * 27 BREAK IF I > J; L1001 EQU $ LOADSS V10011,Q I * 28 LOOP; SUBS V10012,Q RBIT 0,S JLE Q,$+2 SBIT 0,S JF CY,$+3 L1003 EQU $ JMPE L1002 L1004 EQU $ * 29 BREAK IF ADDR->ARRAY[I*KEY_SIZE] = MID; L1006 EQU $ LOADSS V10013,Y ADDR LOADSS V10011,Q I MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 DLOAD V10016(X,Y),AQ ARRAY * 30 I = * + 1; CEAS V10014,Y MID SUBD 0(Y) RBIT 0,S OR A,Q JNE Q,$+2 SBIT 0,S JF CY,$+3 L1008 EQU $ JMPE L1007 L1009 EQU $ LOADSS V10011,Q I * 31 REPEAT; ADD =1,Q STORSS Q,V10011 I * 32 LOOP; JMPE L1006 L1007 EQU $ * 33 BREAK IF MID = ADDR->ARRAY[J*KEY_SIZE]; L1011 EQU $ DLOADSS V10014,AQ MID LOADSS V10013,Y ADDR DSTORSS AQ,16 LOADSS V10012,Q J MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 DLOADSS 16,AQ * 34 J = * - 1; CEA V10016(X,Y),Y ARRAY SUBD 0(Y) RBIT 0,S OR A,Q JNE Q,$+2 SBIT 0,S JF CY,$+3 L1013 EQU $ JMPE L1012 L1014 EQU $ LOADSS V10012,Q J *  35 REPEAT; SUB =1,Q STORSS Q,V10012 J * 36 IF I <= J JMPE L1011 L1012 EQU $ LOADSS V10011,Q I3  * 37 THEN T = ADDR->ARRAY[I*KEY_SIZE]; SUBS V10012,Q RBIT 0,S JGT Q,$+2 SBIT 0,S JT CY,$+3 JMPE L1017 L1016 EQU $ LOADSS V10013,Y ADDR LOADSS V10011,Q I MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 * 38  ADDR->ARRAY[I*KEY_SIZE] = ADDR->ARRAY[J*KEY_SIZE]; DLOAD V10016(X,Y),AQ ARRAY DSTORSS AQ,V10015 T LOADSS V10011,Q I MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 STORSS Y,15 STORSS X,14 LOADSS V10012,Q J MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 * 39 ADDR->ARRAY[J*KEY_SIZE] = T; DLOAD V10016(X,Y),AQ  ARRAY LOADSS 14,X LOADSS 15,Y DSTOR AQ,V10016(X,Y) ARRAY LOADSS V10013,Y ADDR LOADSS V10012,Q J MAKE :0000,A MUL V10007,AQ MOVE Q,X SHIFT X,L,1 * 40 I = * + 1; DLOADSS V10015,AQ T DSTOR AQ,V10016(X,Y)  ARRAY LOADSS V10011,Q I * 41 J = * - 1; ADD =1,Q STORSS Q,V10011 I LOADSS V10012,Q J * 42 FI; SUB =1,Q STORSS Q,V10012 J * 43 REPEAT; L1017 EQU $ * 44 IF LEFT < J THEN SORT(LEFT,J); FI; JMPE L1001 L1002 EQU $ LOADSS 1,X LOAD V10009(X),Q LEFT SUBS V10012,Q RBIT 0,S JGE Q,$+2 SBIT 0,S JT CY,$+3 JMPE L1020 L1019 EQU $ LOADSS 1,X LOAD V10009(X),Q LEFT STORSS Q,4 LOADSS V10012,Q J STORSS Q,6 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE V10008 * 45 IF I < RIGHT THEN SORT(I,RIGHT); FI; L1020 EQU $ LOADSS V10011,Q I LOADSS 1,X SUB V10010(X),Q RBIT 0,S JGE Q,$+2 SBIT 0,S JT CY,$+3 JMPE L1023 L1022 EQU $ LOADSS V10011,Q  I STORSS Q,4 LOADSS 1,X LOAD V10010(X),Q RIGHT STORSS Q,6 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE V10008 * 46 END SORT; L1023 EQU $ * 47 END QUICK; RETURN SF:::2 EQU :0011 END QUICK 10012,Q J STORSS Q,6 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE V10008 * 45 IF I < RIGHT THEN SORT(I,RIGHT); FI; L1020 EQU $ LOADSS V10011,Q I LOADSS 1,X SUB V10010(X),Q RBIT 0,S JGE Q,$+2 SBIT 0,S JT CY,$+3 JMPE L1023 L1022 EQU $ LOADSS V10011,Q  I STORSS Q,4 LOADSS 1,X LOAD V10010(X),Q RIGHT STORSS Q,6 CEAS :0002,Y MAKE :0002,Q STOR Q,0(Y) JSKE V10008 OVIC & EDo *ie‡d " UUUUff  P   @  zy <P <P \EP \EP \E d `ހPHމ~T\EH\5K\5 \5d+ ]\5O\5O\5S\5W,[P;ޡ Sޚ2=M\Eޒς P\E3v! _`\IUUIQQQ,-RO   * s B""3/0 .^2 +     IM      MT-+I @  I`@` Ip@p IP@P I/0@0/ I @  W$+A   A IQA Q S R RA SA )2 2A ^+    j +/0 /@0 66B  @0/ 6B6  4 I@0/ b+I/0I/%0' 0/ o+ /I0_  /0s+      6A k +/0 N1 .q  6A n` 6A b4+f@/0c`*  I M0 qI+A D!  $a` d cgg+  "/0  /0   o+/0  /0  o$+/0v y /0n Aq /0) Zh f&+/0  w /0p Am h/0 Ub `++/0yxx /0p☥A m /0 `b `++  /0 % ' %!' l!+  /0%' p2+U/0 %'t %' lJ+ ޕ/0 %Ǐ' o\+e./0 y%'s qv+fUff{/0 ew%B't_ r+P)/0 Se%'bM q+ ./0 w%'q o+i⭀/0 e%A'_ o+W)/0 Rf’%'%K )%'D f%+f/0%BC't ./0%'g r+ 0 )/0@ q+ 0  i@/0 p& ++  ,/).%' U M mU lB+i U%@  %A %B '  c`-+/0 ¤ʫ6A  /06A  /0iHƕ%'` U+uTZ/J/0܄  IP H%!'M m+/0  ƺ} zys+ I     f+ƣ     f)+ rzx ` f mk `  e+W]A[  KSK QAO  e8+<)B@  )80.63 M fS*+% 'ĸ `   %' MU @ M Z|+z%p'v  mm%h'g  a+f;.xx%ЁB'  M j h .`I%ѐ' UZ MU ⓂQP%A'HJ  E+")<%'  3 n,j))f%'$ Mf ^ *+ 0 )  0  i@  /0X3 ++ , 9<4 A w@!6A   b  P`R6A ` pPPr6A P p C0p3/0p  Lo+@M  E  `'` k;+veUTww P`V  pPv pp @  @ J  k  p { P [ IP@[ O+p@p @p ` @` n(++ 0 /0)ip P`)i#  c K 6A r`Rmq  6A `!+N 6A NSM 6A .  6A .K  6A @"+n ` 6A n`  6A 6A B 6A `:H+@ @ fRIUN  6 NM 6 )s.  6A . a 6A n` 6A 5 n`  6A P6+*O  6A O  6A U)/  @  6 /  @  6A O2+ o  @` 6A oL @` 6A O B 6 O#  6A P:+UVfb/  @  6A / @  6A 33UFfjo @` 6A o @`M 6 L 5+O  6A Oh   6A xx/  @ u 6A / @  6A MT-+‹O  6A ̙/r @  6A o @` 6A U-+ /0I/0K /00/ /0I/0K  /06A 6 /0V +I)C C  6A @"vI@ @M ) > N- i`6A b++ ; [ ºK K 6A p+*  j` 6A l l k+8f-" Yf 3   k +[DUwfUA A  HT T M m *+)5A 5A  iu u ` k @+/0VVB  0/ VBV  B  B  d ]++ A    B o u+) "  b n +i   R l +)i 2 )  r l +{   Άsr B  m +)g "  ^^ b  l +iR   iH R  m +)i> 2  i3 r  l *++ I ' '  ' )i Gh GY _ 1&+g @` '   6A )³+ i 6A \ V+)iG<  )n t f q$+ uj任""DDiچsrg^ t )ih? t j +'   º}zy   p 0+OKJGM t GM t B  =< 6A  gM gM  g  6A R "++ O v33 )ۄPp   { ‹ @ lp    u { e E !+ ]i) Gt@    )' g c :F+      VA   VA   6A V Ig M VA Ig  VA g  6A VA G "+ ' - IgG  e 2+ IG  M  ' @  `´G  g @` R +)IG  M  p f 0+@N/I*7 ig iքCz)'  ΄C q@G  _ 0+ĄC @A c G    @ Ap )g ig R J+ G IG n ]!+   * ( A J T ] {¢G l   o }A+)h ig l  @`  |_? iC ' @   iCG   A +  *,NC  IG  M  o 9+C ' -  )G M  hg5 m  I + لG   o '?+) + ] ) Pp  {     w {6   p#  { J e+H@ &@ = h p o ; K J n I a @ABCDEpP/0C #; 0À@ A/ B C D  E p  F + @ABCDEp/0GC q  4  A; 0t@q /@A B C D  E^ pY  > )++ ]JpI)iP` 0Ec  /; 0 - `0 P* p% Y92+ )0   x  O)0 [f  x OSj++ b . ..HG\5^]@6i C ڀ/0מ6l)# # +@ ƞtlÆ  @  a@·֖  Am O HC@%fF||\\U\e\\\&&& && G EŸ )/0UIޟTJ{ OrW W   A WO+!G wu섂U8n~k|    ٺ ^\ҞeYYO)OIGƿ¿g6A ƶ =U.~+|    q   ވR4DF P  ^/0) K ^)i # Pc  ,+jt ALU j!B "A b!@  a@` dI^A ^  p  ^P Q P Q qA1 „!i@A ^R~     0A w   ^0 !A   !A 0; @Y ހ2?.P2 ^/0l !A)1Pp  //0/ p      NY   ^!AnPmp    1 !/0H    @6 @/ pd a [  YS ^   120 ] ^)0 !eAg    eB  KU'B߀# \5ZE ^/0y !"A) # 5   !6A A " )•# A +# K N+-qIh?KxU ^; !p "A) # 5   !6A A "NJK )# K +-wKE%e ^n t")# i+-yA)!   # UK ^+-j!6A A " KJ ^5  ")# -+-yA)!   VDqpw# K +- ^a!6A A "NJK <3 ^ !"A   !6 A "A cP ^ !"A   !6 A "A cm#EeEb ^/01 !      f ^/0! '      g' ^/0΄!)̄Pp      ^# ^/0!Pp      ^ & ^/0!pPp C     a$ ] ^/0!QPp/G Fc    eA!> ^0݄!     nZ ^0̄!     nl ^07 ! /0   A m ^0!       i ^0!     n%Wi| ^/0)b  biba b  bA  c ^ bba b  bA @ d * ^ڄ bra I C cUb  bA a@ k@`xvZ7 ^!  bJa I C ;Ub6     bA / @ k@ @`xJS3 f7= ^0o)2 P ) ?P  )O U ކ~ޅ|ly\5 O M)3/\E    &v&" | . +g¥  M  ` V 6 XA VA &A \33@O$>Hxx   l `i V 6 /A -A &A \G$IQQ   E `B VA 6 A A &A \>H?B$I**  M  ` VA 6 A A &A \eHfk${H %   ` VA 6 bA `A &A \33O$R*Ixx  M l `i V 6 9A 7A &A \$-ISS   G `D V 6 A A &A \@$H++  M  ` V 6 A A &A \A $H L   ` VA 6A bA `A &A \,33P-3)++  u ¢ss   g `d 6A VA 3A 1A &A \[G\`$M ¢KK  M ? `< 6 V A A &A \H$& I$$  M  ` 6A VA A A &A \H$,H    ` 6 V bA `A &A \33O$zHxx  M l `i 6A VA 8A 6A &A \8++  O I(\   M  ` j  g  6A VA A A &A M6UU7<3 I(w\D   M f `a j g  6 V TA RA &A Mnoq3 I(B\y  M 1 `, j  g  6A VA A A &A M3~²( W\    ` j g 6 V A A &A M W|UUW3Cww(wV\  i g d `a j gW 6A VA SA QA &A MV3BB(BW|\ 4 2 / `, j% g" 6 V A A &A MHIJ3³(ƦN\R    ` j g 6A VA A A &A M| ƦNUUN}3www(wƦN\  i g d `a jZ g 6 V SA QA &A MN8++  ===(=ƦN\ / - * `' j  g8  6A VA A A &A M3 ²( ¯rr&\  b `_ m j 6 V QA OA &A PƂdƇV&0||;;Ƃd\o m + `( m^ j[ 6A VA A A &A P0° *71E\   ` m j 6 V A A &A P -䃩331E- *7!0twtt-䃩\)  d `a mZ jW 6A VA TA RA &A PP*W-2 QU0@¯@@T~\]  0 `- m j 6 V A A &A PiHhhgPT~0 || iHh\o m  ` m^ j[ 6A VA A A &A P330°xx3F\ɺ M h `e m j 6 V WA UA &A PI3F5++  tww<<I\k M , `) mZ jW 6A VA A A &A P,-.0C &® \6 &   ` m  j  6 V A A &A P]O33^d0 Ixx&O\l & k h `e m & j[ 6A VA WA UA &A P0°GGx\  7 `4 m j 6 V &A $A &A Px3yyHt\  M  ` m j  VA 6A &   Z M33t3???vvx\  M f `c m' j V 6A &  Q NZ M89<0 @I@@\D  M 0 `- m j  VA 6A A A &A Pkln5++  ° iT~\{   ` m j 6A VA A A &A P iHhP33iT~hg0tyyuuiHh\ h e `b mZ jW 6 V VA TA &A Pg0B¯CC4I\麦 M 3 `0 m j 6A VA $A "A &A P3F4I3 H \  M  ` m j  V 6A &   Z MI 339 #JR0 @Iuu\Z  M e `b m  j  VA 6A TA RA &A P5++  y¯>>D\  . `+ m j 6A VA A A &A P@]>CD0B³@*\Ⱥ   ` m j 6 V A A &A P 33UBˆ@*0¯rr=q\  b `_ m j 6A VA QA OA &A P* DF=q+20°;;Aa\:  + `( m j 6 V A A &A Pa ; .; Aabj0x I@\r  M  ` m j  VA 6A A A &A P33@0BHww@\  g `d m j  6 V VA TA &A P@0¯CC\ܺ  3 `0 m j 6A VA "A A &A P W  0´ ^\    ` m j 6 V A A &A P : 33H~]^ ; G5++  o¯mmD\ T  ] `Z m j 6A VA LA JA &A P {@]><ŽwD | 08¯66$\   & `# m j 6 V A A &A P F^/ŬE$  0³@*\ º M  ` m j 6A VA A A &A P  33UB@*  0°ss=q\   c `` m j 6 V RA PA &A P!#  AZ=q!$!,0x¯;;Aa\!4  + `( m j 6A VA A A &A P![; .:qaAa!\!c0A³8Ւ\!k   ` m j 6 V A A &A P! 33CbKø8Ւ!!0 IrrA\!  M b `_ m j  VA 6A QA OA &A P!A!!3H@@@\!   0 `- m j  V 6A &   Z M"@!"" ++   .. 0 "  @  . +P™Bp? ? ? "+-"0F"["azIAwpI K  J "w"xIKp ?  ?  ?  ",""HApH K  J "4""~ph)_$@   ` $""C G K ) 5PpH)i_@@?  _?+ ?@+ )$  @  `  $"<"#,_  _ $ k  $_6 $ @ $"?"B"@#)#- _$@ $#5#7 _$@z $#?#@ _$@ $#H#J?$1 $#Q#R_  $ $`_#`#cVA 6 ?$ $p#q#tVA 6A #x-++  0œ)⛂p P$ @  ` $PUUff"C### $py P  $##$: 0k $## OdP"81y$0 P p P  3 $$)"8##:G& M G&A B G&: M G&3 1 P\E$0 P p P  $"+#"2$$ _ MP _r  _ 3  \E #UU$)R++  pWP&] p ? ? `? &m &]p ? ? `? &m &]p ? ? `? &m #~"B$4$J$`$u${p1$}++  & $  @ $"<$$& $ @ $$$ H & $x @t $$$ I& $  @  $$$I _@@?  I&  M 6 H_@@?  I&6 3 6 H_@@?  H&  6 I_@@?  H&  6A H_@@?  I&  M 6 I _@@?  I&  M 6 I _@@?  I&6 3 6 I _@@?  I&  6A H_@@?  H&  M 6 H_@@?  I&  M 6 % ++  %%%N` @k&M- k Ak '@&M@ '+ )k «`@&=A AK @+ K •`@&=A AK @+ K %%$%&+&0X{` @k&M- k Ak '@&M@ '+ )k µY`@&=A AK @+ K F` @k&M- k Ak '@&M@ '+ )k %&&L#` @k&M- k Ak '@&M@ '+ )k `@&=A AK @+ K •`@&=A AK @+ K %%&&?2|`@&=A AK @+ K ¨h`@&=A AK @+ K •T`@&=A AK @+ K %%''e>` @k&M- k Ak '@&M@ '+ )k ` @k&M- k Ak '@&M@ '+ )k ` @k&M- k Ak '@&M@ '+ )k %'v'x~` @k&M- k Ak '@&M@ '+ )k ]` @k&M- k Ak '@&M@ '+ )k <` @k&M- k Ak '@&M@ '+ )k ¨`@&=A AK @+ K •`@& @ `A `@ A %%((Mˢ|`@& @ `A `@ A ` & k @ )@AA  ` @ &1 &@  G` & k @ )@AA  %%(P(S9·|`@& @ `A `@ A ` & k @ )@AA  V` @ &1 &@  %((7~` & k @ )@AA  1` @ &1 &@  !` & k @ )@AA  (++  UUff%≂@ABC(UUff(( ) y^$  $(( qq@pAoBnC(( )0fC$@ $(( \\@[AZBYC)) ) Q#ބ$  $-U)) GG@FAEBDC)) )&$  $)) 6I@HA2B1C)) )#+C$@  $)) "5@4ABC)) ) #$  $)) @A BC)) )?c$`  $))+)+ $    $((((̙fvx@ABuCUUff** )$jC$@ $fi*&*($)3_”C$[k Xh Ue R $vTFV@UATBCC*K*L );#$  $*U*W$)0”C$,< ) &6 ## $UU'@&A%BC*z*{ ), #$  $i**) $    $(UT(((̙*C++  /  o`  O@  O@  /  O@  O@  /  o`  /  C*++  INJĀ&$  $+(++**$y  $&$  $+ + $  $&-$  $++$  $&-$  $+(+)$  $&-$ $+6+8$  $&-$ $+E+G$  $&$f $+T+U$  $&$  $+b+c$  $&$  $+p+q$  $&-$  $+~+$  $P"3{\E+++  I &}$  @   $*++i{ G@ +kx‘ &}$  @  $+,++ }| G@ +kx‘Q &}$  @  $++|< G@ +kx‘ &}$  @  $ ,, }} G@ +kx,++  )It&K Is&K ,,Ia&K I^&K ,,!!,C,HIM&K IH&K ,,DD,X,]I9&K I2&K ,ʽ,,m,qh‘ '&% 5I &  RR,,RI &  !‰ &  ,,-S‘ P&N Š & ``B=B‘ &  0I -&+  tt,,Hǎ &  LJ &  ,,,,ǎ &  I &  ,,,ǎ &  ŠLj &  ,,!!,-ǎ &  ŠLj &  ,DD,U4---++   pq q ^@h Š^h@ - ,-%-(-D-I{~`Y u~N`q > O >ɢD  -#-c-e~`9 ~4` Ž^@/ ˆ^)@ -"-$--")>  )>C  nI^@i fI^D@a -&--"Z  B mi~`  i~F` -)---++  .. -*"( -oA/0-`@P iP`$.p0c- H piā+km@z@P*t piƚK •Ā+@  +km@m@P*g@$ Pi*{K vĀ*s@  nkm@m@p*g@$4.N  . + !.88+  !8+ .l3++  eA 4 4™K 4ky x ‰< K 4-પUU..R.(++  sK 4hgK 4` u\ K 4^.B++  ӇӞP  3\E <ÂÄ + k{ + + + k{H k@ + k{`KvT/'++  A@6A ht.80 ?//.C n Aa UUz 넂  Aa ݆jh  K K @ KK =/pH++   Aa 9 6   @ K@  k K  Aa /J/V/W////=/]++  ݂݇݀  K K + ƄŇ   @ KK k K   K —K @ KK )0<++  /?//@///// Aa    Aa V Aa U0OQ++  .. K/<0:.UA q . +_6 A _6 o6 A_6A o6 A_6 o6 A_6 o6 P0/++   O6A ⬀@u⩀@_6 Au⡢_6 A+u◢_6B A+uW0:++  2.4P + k|ts .%'A@_6 @o6 %'A@_6 @o6 c1H++  QⵂIB + k{ :  _6 A   _6 A1`d@0:/=1&1$/@17151?1N=1N ++  k A@_6 @o6 A@_6 @o6 f1m!++  (IĀA@_6 @o6 IĀA@_6 @o6 e1)++  )&A@_6 @o6 &A@_6 @o6 A@_6 @o6 ]1++  011~IB &A@_6 a@o6 a&A@_6 a@o6 d1++  R .. K10n2bӖ  . + )0+?'2Y{)k u IBN\ B IBN\% B I BN\% B I BN\% B IBN\ B 03`P0@332>?ww2R2b(2b++  P)36A 2~ \EP 3\E3J2s23H P222 ⏂9 + k{  @22R\\%W\52ÆS„3\E &&   0FV / /} ߆ S O03F 2P222++  +Pp`@/A)\E2h3-33 3$ wC PtC P In@  [k)3/\E3:U3:++  .. 2 3`    B

 &χЇ҇˂Ї˂χςχςχϢKP@&&+-+ [vu @+` p  +-+ [qpŸJP@*-* [xw@+` p  *-* [qp?53f555678j85869 6q P IC HHHĀ+{ܞuٞo [cbIC HHHp@@{`  +޷t޷޳mްgޭ [[Z§QIƤ0,5ŸQI Ɯ'&5$5 -}|+ w IIڈQAnp@eDt \ p olImlC rhfnjHeggHbHabĀ+?\{\XuUoR [cbKILKC QGELIHDFFHAH@AXp@&{` @  +1s1-k*e' [YX!QI. *6"QI %$6("6(^ I@I6IHHĀāĂă+ߞvܞp [baI@I6IHHHp@@{`  +޹u޸޴mޱgޮ [YX¨QIƥ-)6 QIƝ$#6!6 -}|+ޛޚޖޕv IIڈQAnp@eDt [ t spIqp@I6IjhplHgiiHdfĀāĂă+?_[vXpU [baNION@I6IHFMJHEGGHBHABXp@&{` @  +3t2.k+e( [WV"QI+ '7 QI"!77: UI%@ACBkmk`[ut' %IUp@@@{ `' %Ip@A@{ `' %kmk`[cb'K7JF7ԃA ‡‡†)P`@+k [zy)⦀p@@{+k [vu f)p ȷ޷j 7555656556637aþ> IITQARnp@eDt TiP`@+k [zyJip@@{+k [vug f      R3p z UIp@ @ĀāĂăH H` kI G8, G8- @p@6JNV@Khx@wAIp@ڥ @nĀmāHǣ¦ǣ Hǜ ǜI G8. G8/ @p@6BN\8Z8[;;;;888C8K49*UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU  UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU   Pi&&k4qBwP)p @@{ +p t1Bu(h@*j@`y@ q(p h@@{ *p j@`u@ m;9v 419~c< 43;<-v II)nC HHH@+kƞ{žu޿o޼q1B`)K³C ·ʯʭʼƱHƬ®ƮHƩHƨép@@@{ +kޟxޟޛqޘkޕq1B\(QIƊ/,9QI ƃ'&9$9i8jIlIk)igC kcaeH`bbH]H\]@+kW{WSuPoMq1B`@iEC G?=LA<>>989p&{@`( `(@+k(r($j!d1qBU@QI&#:XQI :^:^_48II)t@I6IHH@ABC+kĞvp޾q1B_)Pµ@I6IʯʭʴƱHƬ®ƮHƩHƨép@@@{ +kޟxޟޛqޘkޕq1BZ+QIƊ,):†QIƃ$#:!:> d8ItIs)q o@I6IigkHfhhHce@ABC+k^ZvWpTq1B_@iLłJ 6 DBIFACC>=>p&{@`( `(@+k-r-)j&d#1qBS@QI# ;/QI;5;5  ;>@43<-9 99 $) UIp%@ACB+kq'1BspP@$)^%@@{' %PxA@{' %Px+kq'1BeDL;}  A>DA;p< } IBJğIBIUp@ @¦Ā¥ā¤Ă£ăH H` kI G;Ǟ G; @p@6JNT@Khx@÷AIp@ڮ @nĀmāHǨ¬Ǩ Hǡ¦ǡI G;ɞ G; @p@6BN\;   ;K@;;8+;;3 o@ +k@ w +@ _y@ k@`y _  @+ Gx+ @+ x dt0 0@B> )3񄀀/\E   Ԇׂӆւ҆Ղц ʆK辁 +)@ )ʄ @ic Āp@@{@ ) @p³¶Ā &@{pIHĀ &@{qBiT+ LK=<<<= <]=3===Z LpA@ )W @pLHN 6Ā&{wIN 6KĀ&{wpA@ )5 @ pT HĀ&@{q|z xĞl }sIĀ&@{n@pA@ID WσA )P`@+k [zy)⦀p@@{+k [vu f)p seѽԼ =<<<<ǿ=dþ> IIWQAUnp@eDt WiP`@k+ [zyMip@@{+k [vug f      R@> ,-"Ɨ&}“@+kKQ ~ t (.)⮀@-+kw  )➀@@Ā-+ku ‘ K+yHID R>">? ?׾ ~͞ ,OQ0z3ovaK39NrstO2PLKM T ( :ӂE - :ӂ" )  A ʦpP0 @0B ` h }cD «⫂pP0/o D E B U G 4 D 0  ӟi 7} ӂzӾ P AC Q@ X= Y:ԽѾ K3 L0 S- D* C'ԟK =ӟ{ } ӟ|" *ٽ҆ Y Q A Gҽ؆ R Ƥ D V Wƚ›LBLCLFLLLSLJLILGLRLZߝ Ǟ< /}҆{҆u łt P Lłj T P BŁ P ӂ\ W H TŅ Ğ|QEI , , `솂՟ _ٞ3 9} ` J B YK QJf䞁ւ cޡ @ޟޝ `@E ;߽RA@EN@Aޏǎ Qފ ,^:F& o*| x` D `랞oY*Qd Ѐ_Ѐ āZ@AĄ܃T B `ǁ D임*L_U3 `Ģ1*/) 'r "Bƽу۽ֽˁC凑ā / XŃ ѽ۞i ]с䆫@ڃ۽ցBǢ ,[ + - * X /KJƎ^[{ xނZ ,ş| ֽL ΁ P ޽с۽۽޺? { ӽўq kɆȂGާ}ަyޠ}y E   .Ӄ E   .ޣރfN ,Žֆs@FC kqLL (w{u ^|JQBZy L S TўNM  Isľˆ_]]| I> ,ŽƇ ,ƂpIưk , ,Htr Hm -ņց -ņ('\\ÂF -tтڃԞx ’@"Fz@ Ό F ō l>#䆠.bƝޙޖJQ!’ފދJQĽ %ӂԞu U B * ӂGo h fe "cIaM K Y&V&RR `QKL$kK N =ӂDD GӂA   :Ӟ ӟL ǟ{ y9u    :w ® 0C C 96C C "0 `j •墒C "C tC I60@—Tz @0 6=". 1 `@p Iyyyx R G , ; + - * / X_1]\IW` RRR -@A@KJ@ JH +O -M * / X?Ҿ  `YҾ B `R-҆, , +& N I+KL v `p `PAQXYKLSDC Z A 9 0n C F =  t ,Ɲ ,ƙ˽•䆒ޏJQ ` Tѝ Žp@ ʽтۂTB۝ľ@L@|LOLmLo׾  `LpJRbC ߞݞ[ } ޟ} @ƹwr·Q†BLLreޣޤsg3 P@™b@ `@ ` @P `l}?.ry  qvty j 6 fdv s`z fZYya[ľ⟄ Cӝ IOH0zr(E ` <;C TK@ԝĽ MӃ/ԝ 6I6;6D6666""d "96=96"q "I6=I6"qp 0|| y0 `{ 6} ` L  o , ,Ūߦ `AņЁ V IP΃͆˃ʅ QJ @ } }IPNÂAKK ՂF IƱ ² ¨N ‚çަ| } Kz i# hƿcQHUbQÎaA¶snQBzx } @ydK@_Fs? V;8HgKeI 3Q IIZ@ZI A=; 7 6 31w BK . IJQs %ӂ" ԟxmD4D2D1D1--D1D1| y0 `{ 6} ` L  o , ,Ūߦ `AņЁ V IP΃͆˃ʅ QJ @ } }IPNÂAKK ՂF IƱ ² ¨N ‚çަ| } Kz i# hƿcQHUbQÎaA¶snQBzx } @ydK@_Fs? V;8HgKeI 3Q IIZ@ZI A=; 7 6 3DUMMY iigJR:RFB O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:DUMMY O0SEGMENTBLANK DUMMY: o KR:STR0EXiigtJR:HIGH O0SEGMENTBLANK R:HIGH o iigDUMMY iigJR:AWAL O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:IWAL O0SEGMENTBLANK DUMMY: o KR:DUMMY iigJR:CTIC O0SEGMENTBLANK DUMMY: o KR:DUMMY ii@ JR:LOW O0SEGMENTBLANK R:LOW o iigJBUFSEM:EBASEM:E ZBSEM:E JE:SYSFLGE:ERRTABE:BUFSEMJE:BASEM E:ZBSEM E:CIBHD JE:LL2 E:LL1 E:EXEC JE:SLFP E:CIFP E:PRINT JE:SLU E:RCI E:GFN JE:ICH E:ISM E:MSG JE:IJCL E:JCL E:UF JE:SF E:UATP E:UAT JE:LOW E:HIGH E:ERR JE:LDR E:LOAD E:MONE JE:MON O0SEGMENTBLANK  TABLE: o  KEXEC:E PRINT:E ERRTAB:EKSLFP:E CIFP:E F:SLU KRCI:E GFN:E ICH:E KISM:E MSG:E IJCL:E KJCL:E UF:E SF:E KUATP: UAT:OS LDR:E KLOAD:E MONE:E MON:E KFM:SVC NR:SL CIB: im*** OS4SYS.LIB - REV D0m ***ig!g ggggggtgtgggt ggggggggg tg tg tLDg LDg Z1glgdgdgd gtgtttttt t t t tttttikg>i7ikg>i7ikg>i7JOS4ERLC:OS4ERCD:EXEC:E JIJCL:E JCL:E LOAD:E JMONE:E MON:E O0SEGMENTBLANK OS4: o &KF:CONN I:IO F:SLU KSF:E E:MSG E:LDR KE:LL2 E:LL1 E:LOW KE:HIGH E:EXEC E:ERR iigEXEC:: SYSggLD1gg mM)¢f E) ]]ⷤB1C: :t  Ѣ̃ !_pC PE` C   p 0! pCPEst tttttt  tt LDg cIqC C @Ukkj ܃GcB a!_ pCC @KP@ EF@ +y=gCIg dƀv:#  [GtOC  EXEC:: NOT FOUND  B AD TYPE CODE PROGRAM T OO LARGE LOAD ERROR  UAT WIPED OUT SYSTEM  EXCEPTION XXXX OCCURRE D AT LOCATION XXXX%I @2NK0M9K+U'# JMSG:E O0SEGMENTBLANK OS4: o =KE:SLU I:IO iig /p(p(C @`p D+E` B@ C @/ph@ph ?ph@kphE@ /p p?p(+p(# OCtSLJPRINT:E O0SEGMENTBLANK OS4: o ,KR:SIG R:BGIN F:CONN KE:UF R:WAIT PRI:SMA4KPRNTDB: NO:ABORTiig:t @`` BCBD@ 1HNFL:%):t( `@# t ttZPSTJLDR:E O0SEGMENTBLANK OS4: o +KI:LOAD E:HIGH iig @pJp@`H@BC A DEFGHF E G@h @6@6@6@6I pB# tJPRINT: O0SEGMENTBLANK OS4: o yKR:END R:SIG I:IO KPRI:SMA4iiZPPOBg 0- 05::  - !: ': w 1 :  1::t:JNO:ABORTERRTAB:EI:IOER O0SEGMENTBLANK OS4: o KKI:IO R:ISIG R:IWAI KI:ERS3 I:ERS2 I:ERTB iig р!̢̢̈́ǀ @QD@QBkz A@ N JA+kU :d:t:l y X R Cq :  Dttttt;gOCOCOC| CRX>  <gA   * 3ACBKCUDbEiFqG{HIJKLMNOPQRSTUVWXYZ+1 7B NOT READY WRITE PROT ECT TIME OUT POWER FA ILVOLUME NOT ON UNIT VOLUME NOT FOUNDLOGICA L UNIT NOT RELEASED  BAD CHECK SUM UNASSI GNED DEVICE LOGICAL UN IT NOT IN UAT END OF M EDIAHARDWARE ERRORIL LEGAL OPERATION NON-EX ISTANT MEMORY ADDRADDR IN SYSTEM MEMORY DIRE CTORY FULLDISK NOT LAB ELED FILE ADDR OV ILLE GAL AU AU NOT FOUNDWR ITE DIRECT EOFFILE NOT EXTENDABLE ILLEGAL FI LE ADDR ALLOCATION TAB LE ERRORSYSTEM USAGE O NLY BAD FCB CHAIN FI LE OPEN FILE NOT OPEN  ILLEGAL FILE POINTER UNIT NOT GIVENUNASSIGN ED FCBBUFFER HAS WRITE PENDING DISK FULL  RT X ERROR MOUNT NEXT TAP E VOL.UNDEFINED ERROR JI:ABRT I:DOSV I:DOER O0SEGMENTBLANK OS4: o 8KI:ECTT E:MONE I:ERS3 KI:ERS2 I:ERS1 R:ISIG KR:IWAI I:ERTB iig GG GBp aFbDcE /ph@ph?ph@kph# gFaDbEc# g# ttttttttJR:XDOR O0SEGMENTBLANK OS4:  o CKI:ABRT I:ERTB I:ERS3 KI:ERS2 I:ERS1 R:ISIG KR:IWAI iig /ph@ph/ph@ph ?ph@kph?ph@kph Ģ/ph@ ph`pHK Q KRQH ?ph@kph`pC# tttttttJE:RTXEX E:USTEX E:ST0EX JE:DOREX E:STKSV E:STKTP JE:MEMTP E:USRTP E:CNMTP JE:AERTP E:UINTP O0SEGMENTBLANK OS4: o 3KR:XDOR E:MONE OS4ERLC:KOS4ERCD:iigg Ÿǟg žǜgœǙgšǖg˜Ǔg–ǐg”Ǎ p+gLJgc # gttttJTDB ECB R:INIT O0SEGMENTBLANK OS4: OTABLE: o HKRTX: E:RTXEX E:USTEX KE:ST0EX E:DOREX E:STKSV KE:STKTP E:MEMTP E:USRTP KE:CNMTP E:AERTP E:UINTP KUAT:OS E:INIT FPSIZE: KFPOOL: NR:MBXL R:SL R:ECBL NR:TDBL iiig ttii gkdt iigkn0t kkkii't ii(tii)t ii*tii+t ii,tii-tii/tii0tii1tii2tiJI:ERTD O0SEGMENTBLANK OS4: OTABLE: o H KI:IOER NR:TDBL iiigkdHtiHJPRI:SMA4PRNTDB: O0SEGMENTBLANK OS4: OTABLE: o HKPRINT: NR:SL R:TDBL iiigkdHtiHi kg>iHI:ERS2 I:ERS1 R:ISIG KR:IWAI iig /ph@ph/ph@ph ?ph@kph?ph@kph Ģ/ph@ ph`pHK Q KRQH ?ph@kph`pC# tttttttJE:RTXEX E:USTEX E:ST0EX JE:DOREX E:STKSV E:STKTP JE:MEMTP E:USRTP E:CNMTP JE:AERTP E:UINTP O0SEGMENTBLANK OS4: o 3KR:XDOR B  DF:FUN DF:WRT KDF:RD NDF: CIB: iigkltttt?tfdJD:DM01 O0SEGMENTBLANK IOS: o (KC:DM0 NZ:DM01 DM: iigktkDM01AA    OJD:DM00 O0SEGMENTBLANK IOS: o (KC:DM0 NZ:DM00 DM: iigktkDM00AA    OJC:DM0 O0SEGMENTBLANK IOS: o )KI:EOB DK:FUN DK:WRT KDK:RD NDM: CIB: iigklvttt?tdJD:DH00 O0SEGMENTBLANK IOS: o (KC:DH0 NZ:DH00 DH: iigktkDH00AA  7  &7 @LJC:DH0 O0SEGMENTBLANK IOS: o )KI:EOB DK:FUN DK:WRT KDK:RD NDH: CIB: iigklvttt?tdJC:HEAD O0SEGMENTBLANK IOS: o NCIB: iiglJPP:FUN LP:FUN TY:FUN JPP:WRT LP:WRT TY:WRT JPR:RD TY:RD O0SEGMENTBLANK IOS: o kKI:OPCL I:VCNT I:SIV KFBW: FBR: I:STAT KI:ECTT I:RST I:SDIO KI:TRTB I:TRLL I:RET KI:EMEM I:FINI I:NEOB KI:WAIT I:DIO I:STUP iiggg EDπF ĠB΋QG F ʀDt TRt D݄DI3BJEK ~C FwDOF B6E@6ArP + 1QCܗ 0y wBD+KFFQ QFUPB ЄPGG]󟊟tttttt t t  O YDFF 6EEKdddcb F@0 CXJQB1v 6ǀy C DD+ KFFBJ[y ׂ 1VD+K B,y GG'C tt t  Ҟw@KQB@6 1R@ KCNĂ܄ 6À# @ KQQJDI@lJ HJICIIBΝQ ;ʙNyJQKQ/6/tttttttLPt|gg IED'DDF  EKBF B @@@J F  àCFED KF@6y}@*  &ID `DF6B KFJQC kƀF6OKbt ttE KĀy}MKI IIMDNItttq|tDt DIIzDFXJQKI MF6A*%*'}  CРB̘Q ICB1C D F 9I@C K% 'BK K IICK C%' B+K I1I@AICs IMMDOD F@6  @M 6@FKK DB KFFwB yE} M DTI IEIF ƀy IICđB@1B t/*tt qttt 0JC ggg BJF / . ʠ KY D II ӠB 1P1yD+KB  I垰 ҠB  K D IIF   FBPDSID@ DĞDDFDI 1kD+KGaCI IZB BܗI ICF   /  @KQB@6X ttttt B  LB >KI D ItLPTYTKPPTP`JFBW: FBR: O0SEGMENTBLANK IOS: o KI:SIV I:SDIO I:ECTT KI:RET I:STAT I:VCNT KI:RST I:NEOB I:STUP KI:FINI I:WAIT I:DIO iig DIBK̈́JSC DIFF I ED؞ҞОсKy  D5 ΠC FK ICD EKnC CFF DBK CILUCC IDGKC Ȟ{wtt t tttttt؞g DIBK̈́JFGF b0 DCIĐ IK  ֠CKD@yNq āJIpGFCDEK ?CC9`DI6 6݀FF DCB K Ā#"I! I G}wDI @lJ_6D/6Bht tt )KF@6+%'6*  6|EK+D@*l# JCR:WRT CR:FUN CR:RD O0SEGMENTBLANK IOS: o KI:VCNT I:OPCL I:ECTT KI:EMEM I:RET  I:NEOB KI:RST I:TRLT I:STAT KI:TRLL I:WAIT I:STUP KI:FINI I:DIO iig EDрF PDIB NCDIEKמ؞ٞ DIDBJ1B 6GBK' B /6yF  ̠BǀII  F ^D DBP KDB ā BKB6À  }J/6wurt tt tt t t"tt ttttg cg @ SjB TtJI:TRLT O0SEGMENTBLANK IOS: o 3iig C )@aE+ 6֤ N 6LN 6 # F D# F J `+ K D`y # N I# PARITY (Y/N) ? ttLtttJAC:FIO O0SEGMENTBLANK IOS: o  KI:TRTB I:VCNT AE C:RSB KAC:SNDCKAC:SNDSQAC:SNDQ KAC:RDCK AC:T6AX AC:SNDFNKAC:OPNCKAC:STUP AC:MEMTSiig FND֠N.8 *E %E'JQ  DOPE JB6݁EN @6Ar@N@6AEOJO + - 1 0GG K DJ ODGNFEKJPI # t t t tttV @FNP LDOE jjjLOKD JNFLzO LDELN6@F@6A   KJ➑OLVttOt @6I_LLL L =L 9LȞ5 L L I> \\\ \ SL4EOON GOLǠLP E% 'LOOI PE %r+' #  # /*`AOL`# tttJMT:FUN MT:POS MT:WRT JMT:RD O0SEGMENTBLANK IOS: o KI:RATE I:SRTC I:VCNT KI:ECTT I:EMEM I:RST KI:DIO I:RET I:FINI KI:NEOB I:WAIT I:RPF KI:STUP iig CBJꞋg CBJ脘 ęAٞО@B @6EC àB҈D I @o6@6@6DAJ DC?6T@_6R N@ w@ BC?6CBJ,BJtut(tuttg nFXM MBgf ㄕCXJQHB XĘWęTKJ@B рF @60ǠC  D@6:@6[:: B/65A'.% B /6@$$ߠBCH F E@6@6R@6@ 6M CZ@b2&:FVg €F    EDB# DA # p܀# BWX GC/C CC C Aq@BC# nt ttt tt BWXCGJ đK@6@6@/6CO # ܑ # ĕ #  @KQN85@ 6C%x p܀ p܀# C BJ@@/6# @O6<EK # t t t t D DI# C #  C?6 CBJPB t2p4(JDP:FUN DP:WRT DP:RD O0SEGMENTBLANK IOS: o +KI:SRTC I:DEOF I:USEC KI:HARD I:RATE I:DCAL KI:ECTT I:OPEN I:EMEM KI:RST I:RET I:FINI KI:NEOB I:WAIT I:RPF KI:SIV I:STUP iigg EDCBڟDA ֟ҠBK *1Bž ̟̠B C DJ BG!KĩF N9XKQA CC BC KC  IĀ  J.a'C I C  C BQ̪ĩRICđttt ttt t ̪ĩRDICđ   C C @AC ֔GBCC Hĕɞ!t%tt  @6]vCBD CDN EBEK IDJ CI  @Eޟޟ @ *1J @*1y @* 1Br @*13@68C @*1/HB @*1[g /Cĕ+C C  BC  C C  C  C CBC  CH @JQ# tt )tt*tt t  C# A# KEK# B G # JI:OPCL I:OPEN I:VCNT JI:ECTT I:COMP I:EOB JI:EMEM I:RPF I:SIV JI:SDIO I:DIO I:TRTB JI:TRLL I:RST I:STAT O0SEGMENTBLANK IOS: o KI:RET R:RE12 R:SSIG iig B@SA# g  @`E%  }*19' `@# Eg g  JCC H # g C lF0 A@ ĀfDK@A A@ āF6܂F # gC݄g # g C B@.y$B8%# g CC # g  "&$@&@## # gܗ+g A !@ )A G֏@'G# gC# g jtttg BF ?@@ā6F  @ā6C # JR:MPM2 R:MPM1 R:BTC1 JR:WLKS R:CNTK R:CDRG JR:SNSW R:SREG R:PFK JR:PFLG R:CNSM R:FAT1 JR:FATL RTX: O0SEGMENTBLANK oKR:WAIT R:SIG R:END KR:BGIN R:DBUG R:SETH KR:UMTH R:PWRF R:IDOR KR:CNSL R:LSTK R:KSTK KR:AETH R:USTH R:CNTH KR:UITH R:STRT R:TICI KR:WLAC R:TKAC NR:ECBL im*** RTX.LIB - REV D0 *m**i lt9C @_9 C @o? P Px !@p@ *P z  9*r A|t t tg>g >gt>g ggggggg}tg ~g  g etttttt t2t tt JMDBUG4 LDEBUG4 O0SEGMENTBLANK DEBUG: o @MG:Z G:Y G:X MG:W G:V G:U MG:T G:S G:R MG:Q G:P  G:O MG:N G:M G:L MG:K G:J G:I MG:H G:G G:F MG:E G:D G:C MG:B G:A  G:9 MG:8 G:7 G:6 MG:5 G:4 G:3 MG:2 G:1 G:0 im*** DEBUGM.OBJ - REV D0m ***ihg  ~žU BFygRd MXq9 V:; ( : ӂP - :ӂ"  )  ?  ʦpP0 @ 0B %` h  !}cF «⫂ pP0/o  M D B U G 4 D 0 ӟi 7 }u#u"u!u uuuuuuuuuuuuuuuuuuu u u u u uuuuuuuuu  ӂzӾ P AC Q@ X= Y:ԽѾ K3 L0 S- D* C'ԟK =ӟ{  } ӟ|"  *ٽ҆ Y Q G ҽ؆ R   ƜƘ™LBLCLFLL LSLJLILGLRȝ ǞF 9} Ğ|QEr , , `熂 _ٞ\  b} ` J B YK QJfߞւ  cޡ @ޟޝ `@E ;߽RA@EN@Aޏǎ  Q ,^:F & o*| x ` D `枞oY* Qd Ѐ_Ѐ āZ@AĄJADDTSK IADDTSK NR:TDBL O0SEGMENTOFORTRAN OADDTSK::OBLANK: OGCOM1 OG:RECV::OG:SIG:::OMATH::::OG:SEND::OG:GPRI::OG:BGIN::OTABLE: ooJo#oo@ooooooo KF:XRDA KF:XFDA KG:RECV KG:SIG KMATH KG:SEND KG:GPRI KG:BGIN KF:RSTO i gkHdGitdddd dd#d/d3d7d;tddddd d iADDTSK KF:RSTU W@XY)t^t_)t ` S)tatb!" G  ?t @tAt Bt)Ct/Dt4Et>Ft9GG:HH;IIJSUBTSK ISUBTSK NR:TDBL O0SEGMENTOFORTRAN OSUBTSK::OBLANK: OGCOM1 OG:RECV::OG:SIG:::OMATH::::OG:SEND::OG:GPRI::OG:BGIN::OTABLE: ooJo#oo@ooooooo KF:XRDA KF:XFDA KG:RECV KG:SIG KMATH KG:SEND KG:GPRI KG:BGIN KF:RSTO i gkHdGitdddd dd#d/d3d7d;tddddd d iSUBTSK KF:RSTU W@XY)t ^t_)t ` S)t atb!"  ?t @tAt Bt)Ct/Dt4Et>Ft9GG:HH;IIJMULTSK IMULTSK NR:TDBL O0SEGMENTOFORTRAN OMULTSK::OBLANK: OGCOM1 OG:RECV::OG:SIG:::OMATH::::OG:SEND::OG:GPRI::OG:BGIN::OTABLE: ooJo"oo@ooooooo KF:XRDA KF:XFDA KG:RECV KG:SIG KMATH KG:SEND KG:GPRI  KG:BGIN KF:RSTO i gkHdGitdddd dd#d/d3d7d;tddddd d iMULTSK KF:RSTU W@XY)t ]t^)t_S)t `ta !  ?t @tAt Bt)Ct/Dt4Et>Ft9GG:HH;IIJDIVTSK IDIVTSK NR:TDBL O0SEGMENTOFORTRAN ODIVTSK::OBLANK: OGCOM1 OG:RECV::OG:SIG:::OMATH::::OG:SEND::OG:GPRI::OG:BGIN::OTABLE: ooJo#oo@ooooooo KF:XRDA KF:XFDA KG:RECV KG:SIG KMATH KG:SEND KG:GPRI KG:BGIN KF:RSTO i gkHdGitdddd dd#d/d3d7d;tddddd d iDIVTSK KF:RSTU W@XY)t ^t_)t` S)t atb!"  ?t @tAt Bt)Ct/Dt4Et>Ft9GG:HH;IIJMATH IADDTSK O0SEGMENTOFORTRAN OMATH::::OBLANK: OADDFUN::OFUNCTI::ooo oooKF:XRDA KF:XFDA KADDFUN KFUNCTI itddttddiMATH gKF:RGMY )tLK  @# H t tJMATH ISUBTSK O0SEGMENTOFORTRAN OMATH::::OBLANK: OSUBFUN::OFUNCTI::ooo oooKF:XRDA KF:XFDA KSUBFUN KFUNCTI itddttddiMATH gKF:RGMY )tLK  @# t tJMATH IMULTSK  O0SEGMENTOFORTRAN OMATH::::OBLANK: OMULFUN::OFUNCTI::ooo oooKF:XRDA KF:XFDA KMULFUN KFUNCTI itddttddiMATH gKF:RGMY )tLK  @# t tJMATH IDIVTSK O0SEGMENTOFORTRAN OMATH::::OBLANK: ODIVFUN::OFUNCTI::ooo oooKF:XRDA KF:XFDA KDIVFUN KFUNCTI itddttddiMATH gKF:RGMY )tLK  @# t tJFUNCTI IADDTSK ISUBTSK O0SEGMENTOFORTRAN OFUNCTI::oo o KF:XRDA KF:XFDA itddtiFUNCTI gKF:RGMY H I)t K)t L'VDD   @)@# tJFUNCTI IMULTSK IDIVTSK O0SEGMENTOFORTRAN OFUNCTI::oo o KF:XRDA KF:XFDA itddtiFUNCTI gKF:RGMY G I)t K)t L'VDD   @)@# tJADDFUN O0SEGMENTOFORTRAN OADDFUN::oo o KF:XRDA KF:XFDA itdtiADDFUN gKF:RGMY GHJ@#  tJSUBFUN O0SEGMENTOFORTRAN OSUBFUN::oo o KF:XRDA KF:XFDA itdtiSUBFUN gKF:RGMY GHJ@#  tJMULFUN O0SEGMENTOFORTRAN OMULFUN::ooo KF:XRDA KF:XFDA itdtiMULFUN gKF:RGMY HOGP@J@# tJDIVFUN O0SEGMENTOFORTRAN ODIVFUN::ooo KF:XRDA KF:XFDA itdtiDIVFUN gKF:RGMY GOGQ@J@# tSUBFUN gKF:RGMY O0SEGMENTBLANK oiJASMTSK START O0SEGMENTBLANK ASMTSK OTABLE: o & KHALT R:END R:BGIN KENTRY TABLE CONTSK KBMPTSK NR:TDBL iiigkdig:H:H:“:::t,t6tt""33DDtJBMPIY  BMPTSK START IBMPTSK O0SEGMENTBLANK BMPTSK OTABLE: BMPTSK: of &KR:END R:BGIN R:WAIT KR:ITIC R:SEND TABLE KCONTSK R:RFB R:AFB KR:RBUF R:ABUF HALT KR:TMPL NR:TDBL iiigkH1dig C @I%jڀ@@A+k Uc C @   1 `ju : 1i  u! UUI #Egdttww NPX: ` c C @`  PPc :^:d,CM(t iG&UU#Egdttww dddNdddPdXgJENTRY TABLE O0SEGMENTBLANK BMPTSK OTABLE: o NR:SL iifggd dd d di  dyik>id ik>idi k>iJCONTSK START CONSOLE JONEONE ICONTSK O0SEGMENTBLANK CONTSK OTABLE: o KR:END  R:BGIN R:RECV KR:TMPL TSIZE NR:MBXL R:TDBL iiigkH2digC @: @5c ::d6ggCMti kCM~i JTSIZE CONIY ICONTSK O0SEGMENTBLANK CONTSK: o KCONSOLE ONEONE iiGg C @ !` D@I`D`D g $c # fgttJHALT O0SEGMENTBLANK HALT o KDEBUG4 iig tKR:END  R:BGIN R:RECV KR:TMPL TSIZE NR:MBXL R:TDBL iiigkH2digCig C @`p :c # ttJG:SPRI O0SEGMENTBLANK G:LIBR o KR:SPRI G:EVALP G:SETUP iig C @`p H H  c # ttJG:ITIC O0SEGMENTBLANK G:LIBR o KR:ITIC G:TIC G:SETUP iig C @`pC @`p c c # ttJG:MTIC O0SEGMENTBLANK G:LIBR o KR:MTIC G:TIC G:SETUP iig C @`pC @`pc c # ttJG:TIC O0SEGMENTBLANK G:LIBR o KG:EVALP iig @ A B  HC H# tJG:CTIC O0SEGMENTBLANK G:LIBR o KR:CTIC G:CAN G:SETUP iig C @`pC @`pIc c # ttJG:CWAL O0SEGMENTBLANK G:LIBR o KR:CWAL G:CAN G:SETUP iig C @`pC @`pIc c # ttJG:CAN O0SEGMENTBLANK G:LIBR o KG:EVALP iig @ A# tJG:IWAL O0SEGMENTBLANK G:LIBR o KR:IWAL G:WAL G:SETUP iig C @`pC @`pc c # ttJG:AWAL O0SEGMENTBLANK G:LIBR o KR:AWAL G:WAL G:SETUP iig C @`pC @`pc c # ttJG:WAL O0SEGMENTBLANK G:LIBR o KG:EVALP iig @ A B  CD# tJG:GTOD O0SEGMENTBLANK G:LIBR o KR:GTOD G:EVALP G:SETUP iig C @`p :āc # ttJG:STOD O0SEGMENTBLANK G:LIBR o KR:STOD G:EVALP G:SETUP iig C @`p :c # ttJG:GATD O0SEGMENTBLANK G:LIBR o  KR:GATD G:EVALP G:SETUP iig C @`p  c # ttJG:SATD O0SEGMENTBLANK  G:LIBR o  KR:SATD G:EVALP G:SETUP iig C @`p  c # ttJG:CINT O0SEGMENTBLANK G:LIBR  o  KR:CINT G:SETUP iigC @`p:c # tJG:PAUS O0SEGMENTBLANK G:LIBR o KR:PAUS G:EVALP G:SETUP iig C @`p H H  c # ttJG:SDB O0SEGMENTBLANK G:LIBR o "KG:EVALP GJ :SETUP iig C @`p * `@ āÒă@ !Ig1D J1 @hĀc # tt>JG:MDB O0SEGMENTBLANK G:LIBR o !KG:EVALP G:SETUP iig C @`p Iĉăā IÑċ!Ih1D 1 hc # tt~JG:EVALP O0SEGMENTBLANK G:LIBR o iig J A N6KSA J# JG:SETUP O0SEGMENTBLANK G:LIBR o  KG:EVALP iig F+F C C# tJR:ECB1 O0SEGMENTBLANK RTX: OTABLE:  o 1KUAT:S NR:MBXL R:SL R:TDBL NR:ECBL iiigkn0tkkkiJR:TSIZE R:TMPL O0SEGMENTBLANK RTX: o KR:EX R:RFB iig C @@BDA BJE C  ~ 43*>UM\C| F @@!:" C C^B@ pą !c # BDPAG V#GV DU$GB GxUGGyG GGzDBKE@&@ DDD # # C.  6AyC# C. 6Nq+.y@'CC# g ÀA# OoJR:PATCH R:END R:HALT JR:BGINI R:BGIN2 R:PRID JR:BGIN O0SEGMENTBLANK RTX: o FKR:GPR R:GVST R:GIVMX KR:INIT R:ODOR R:IACB KR:GETM R:DISP R:SACT KR:GVSH R:TSIZE R:TMPL KR:GTS iig @ A# @HBD `pCDEF! I JAFGHDIH 6 @QDCE GEI A‰ `@# t &t F # BJJ B ` E ``b`# D# g rⷀ@ABCDEF` &g `JHIFˤHG `FD\ HFFEFĎEJ # tsttttt t GDFvDHI`(j򀁄I JKLG@ @HA BF@`CED@  H6RC @I܆ /#@# ``@ # CČ @䀞ltt t g1 !I; @"H DDBI"CCHÀE IH`(B` I1G@ I @ H hB`(H1F@ H @ `sttg  ~ޭg @6NN @ SA# tgJR:TSIZE R:TMPL O0SEGMENTBLANK DUMMY: o KR:HALT iigg# tJR:HLF CLK50: O0SEGMENTBLANK RTX: o iifgfgJR:STOD O0SEGMENTBLANK RTX: o KR:RIWAL iig pO10 # JR:GTOD O0SEGMENTBLANK RTX: o KR:RIWAL iig p?10 # JR:AWAL O0SEGMENTBLANK RTX: o KR:RIWAL R:WALEX R:WALP KR:GTS iig /p(p(` F/ph@ ph@ABDCttNtJR:IWAL O0SEGMENTBLANK RTX: o %KR:RIWAL R:WALEX R:WALP KR:GTS iig /p(p(` F/ph@ ph@AB0 1GăttNtJR:WALEX R:WALP O0SEGMENTBLANK RTX: o +KR:WLAC R:DCHK R:GVSH KR:SPRI R:GPR  iig ` /ph@ph), ƞ,@,i `g ?ph@kph`?p(+p(# tttttJR:CWAL O0SEGMENTBLANK RTX: o 4KR:RIWAL R:WLAC R:GPR KR:SPRI R:DCHK R:GVST iig p # /p(p(`  /ph@phj), ` @@h@ih?ph @kph`?p(+p(# tttttJR:WLAC R:WCP R:RIWALK  O0SEGMENTBLANK RTX: o KR:HLF R:RTXEX R:GVST KR:IWAI R:ISIG R:ITIC KR:WLKS iig Ⓜ@ @A BCDEF 䃧# t(;/(@;gk( . 01AP?1 0,qgI,B0&C1 &D `@/ph@ ph?ph@kphr%`H@@h @`@@r`H@A ztgtytttttJR:HLF O0SEGMENTBLANK RTX: o iifgJR:SATD O0SEGMENTBLANK RTX: o xiig iSC* bĀ+u* M] # Sm v jsCk JS검@mkb `@nbG*`@ G*g' ā