PNDSD SOURCE ROOT SET VOLUME #1 1 NOV 78 22-2362 'P  24129-80001 1643 S 1022 RTE/DOS ALGOL MAIN CONTROL             H0110 ASMB,R,B,C,L,X DOS/RTE ALGOL HED HP 21XX DOS/RTE ALGOL * NAM ALGOL,3,99 24129-60001 REV.D 761020 * * NAME: ALGOL * SOURCE: 24129-80001 * RELOC: 24129-60001 * PGMR: E. STUTES * ENT HPAL,%HPST EXT EXEC,.MPY,%WRIT,%WRIF,%READ,%JFIL EXT %LNAL,%ABAL A EQU 0 B EQU 1 SUP SPC 1 * ******************************************** * * ERROR MESSAGES USED BY 21XX ALGOL (HPAL) * * ******************************************** *NO. ERROR EXPLANATION * 1 MORE THAN 2 CHARACTERS USED IN AN ASCII CONSTANT SCANR * 2 @ NOT FOLLOWED BY AN OCTAL DIGIT SCANR * 3 OCTAL CONSTANT GREATER THAN 177777 SCANR * 4 TWO DECIMAL POINTS IN ONE NUMBER SCANR * 5 NON INTEGER FOLLOWING APOSTROPHE SCANR * 6 LABEL DECLARED BUT NOT DEFINED IN PROGRAM * 7 NUMBER REQUIRED BUT NOT PRESENT NUMBR * 8 MISSING END HPAL *10 UNDEFINED IDENTIFIER SCANT Y *11 ILLEGAL SYMBOL SCANR *12 PROCEDURE DESIGNATOR MUST BE FOLLOWED BY LEFT PAREN. PRO *13 PARAMETER TYPES DISAGREE PRO *14 NAME PARAMETER MAY NOT BE AN EXPRESSION PRO *15 PARAMETER MUST BE FOLLOWED BY A COMMA OR RIGHT PAREN. PRO *16 TOO MANY PARAMETERS PRO *17 TOO FEW PARAMETERS PRO *18 ARRAY VARIABLE NOT FOLLOWED BY A LEFT BRACKET VARBL *19 SUBSCRIPT MUST BE FOLLOWED BY A COMMA OR RIGHT BRACKETVARBL *20 MISSING THEN AEXP *21 MISSING ELSE AEXP *22 ILLEGAL ASSIGNMENT AEXP *23 MISSING RIGHT PAREN. PRMRY *2&4 STACK OVERFLOW (4/10/70) PRMRY *25 PRIMARY MAY NOT BEGIN WITH THIS TYPE QUANTITY PRMRY *26 TOO MANY SUBSCRIPTS VARBL *27 TOO FEW SUBSCRIPTS VARBL *28 VARIABLE EXPECTED VARBL *40 TOO MANY EXTERNAL SYMBOLS EXEXT *41 DECLARATIVE FOLLOWING STATEMENT BLOCK *42 NO PARAMETERS DECLARED AFTER LEFT PARENTHESIS PRGEN *43 REAL,INTEGER, OR BOOLEAN ILLEGAL WITH THIS DECL. DECL.PROC. *44 DOUBLY DEFINED IDENTIFIER OR RESERVED WORD FOUND IDTSQ *45 ILLEGAL SYMBOL IN DECLARATION DECL.PROC. *46 STATEMENT STARTED WITH ILLEGAL SYMBOL STMPR *47 LABEL NOT FOLLOWED BY A COLON STMPR *48 LABEL IS PREVIOUSLY DEFINED STMPR *49 SEMICOLON EXPECTED AS TERMINATOR SEMIT *50 LEFT ARROW OR := EXPECTED IN SWITCH DECLARATION SWGEN *51 LABEL ENTRY EXPECTED IN SWITCH DECL. SWGEN *52 REAL NUMBER ASSIGNED TO INTEGER HINOT *53 CONSTANT EXPECTED FOLLOWING LEFT ARROW OR := EQGEN-IDGEN *54 LEFT ARROW OR := EXPECTED IN EQUATE DECLARATION EQGEN *55 LEFT BRACKET EXPECTED IN ARRAY DECLARATION ARGEN *56 INTEGER EXPECTED IN ARRAY DIMENSION ARGEN *57 COLON EXPECTED IN ARRAY DIMENSION ARGEN *58 UPPER BOUND LESS THAN LOWER BOUND IN ARRAY ARGEN *59 RIGHT BRACKET EXPECTED AT END OF ARRAY DIMENSIONS ARGEN *60 TOO MANY VALUES FOR ARRAY INITIALIZATION ARGEN *61 ARRAY SIZE ESCESSIVE (SET TO 2047) ARGEN *63 TOO MANY PARAMETERS FOR PROCEDURE PRGEN *64 RIGHT PAREN.EXPECTED AT END OF PROC.PARAMETER LIST PRGEN *65 PROCEDURE PARAMETER DESCRIPTOR MISSING PRGEN *66 f 'VALUE' PARAMETER FOR PROCEDURE NOT IN LIST PRGEN *67 ILLEGAL 'TYPE' FOUND IN PROCEDURE DECL. PRGEN *68 ILLEGAL DESCRIPTOR IN PROC. DECLARATIVES PRGEN *69 IDENTIFIER NOT LISTED AS PROCEDURE PARAMETER PRGEN *70 NO TYPE FOR VARIABLE IN PROCED.PARAMETER LIST PRGEN *71 SEMICOLON FOUND IN A FORMAT DECLARATION FMGEN *72 LEFT PARENTHESIS EXPECTED AFTER I/O DECL.NAME IOGEN *73 RIGHT PAREN.EXPECTED AFTER I/O NAME PARAMETERS IOSET *74 UNDEFINED LABEL REFERENCE GOSTM *75 SWITCH IDENTIFIER NOT FOLLOWED BY A LEFT BRACKET GOSTM *76 MISSING RIGHT BRACKET IN SWITCH DESIGNATOR GOSTM *77 THEN MISSING IN IF STATEMENT IFSTM *78 DO MISSING IN WHILE STATEMENT WHIST * 79 FOR VARIABLE MUST BE OF TYPE INTEGER FORCL * 80 FOR VARIABLE MUST BE FOLLOWED BY AN ASSIGN SYMBOLFORCL * 81 STEP SYMBOL MISSING IN FOR CLAUSE FORCL * 82 UNTIL SYMBOL MISSING IN FOR CLAUSE FORCL * 83 DO SYMBOL MISSING IN FOR CLAUSE FORCL * 84 PARENTHESIS EXPECTED IN 'READ/WRITE' STATEMENT IOSTM *85 COMMA EXPECTED INRAD/WRITE STATEMENT IOSTM *86 FREE FORM FORMAT(*) ILLEGAL WITH WRITE IOSTM * 87 UNMATCHED 'BEGIN' IN I/O STATEMENT LIST IOGUT * 88 MISSING BEGIN IN CASE STATEMENT * 89 MISSING END OF CASE STATEMENT * 100 PROGRAM MUST START WITH BEGIN, REAL, INTEGER OR PROCEDURE *999 TABLE AREAS HAVE OVERFLOWED, PROGRAM IS DISCONTINUED SKP * * CONSTANTS FROM -12B TO 26B OCT -12,-11,-10,-7,-6,-5,-4,-3,-2,-1 . OCT 0,1,2,3,4,5,6,7,10,11,12 .ABS EQU 1 ABS INTRINSIC .KEYS EQU 5 KEYS INTRINSIC TYARA OCT 13 ARRAY TYPE TYVAR OCT 14 VARIABLE TYPE TYEQU OCT 15 EQUATE TYPE TYPRO OCT 16 PROCEDURE TYPE (REAL OR INTEGER) PRPRO OCT 17" PROPER PROCEDURE TYCON OCT 20 CONSTANT TYPE DFLAB OCT 21,22 DEFINED LABEL TYPE TYSWT OCT 23 SWITCH TYPE TYFMT OCT 24 FORMAT TYPE TYINP OCT 25 INPUT TYPE TYOUT OCT 26 OUTPUT TYPE ********* *** END OF FIELD RELATIVE TO '.' .. TEMPI OCT 30 INTEGER TEMPORARY TEMPR OCT 31 REAL TEMPORARY TYUID OCT 36 UNDEFINED ID TYUOP OCT 37 UNDEFINED OPERATOR .37B EQU TYUOP * ABLAN OCT 40 BLANK AQUOT OCT 42 ASCII QUOTE (") * CROSS OCT 43 ASCII CROSSHATCH (#) AMPER OCT 46 ASCII AMPERSAND (&) APOST OCT 47 APOSTROPHE (') * ALPRN OCT 50 ASCII LEFT PAREN. * ARPRN OCT 51 ASCII RIGHT PAREN. * APLUS OCT 53 ASCII PLUS * ACOMA OCT 54 ASCII COMMA * AMINU OCT 55 ASCII MINUS * APOIN OCT 56 ASCII POINT * ASLSH OCT 57 ASCII SLASH * ACOLN OCT 72 ASCII COLON(:) * ASEMI OCT 73 ASCII SEMICOLON (;) * ALESS OCT 74 ASCII LESS-THAN (<) * AEQUL OCT 75 ASCII EQUAL (=) * AGRTR OCT 76 ASCII GREATER (>) * AAT OCT 100 ASCII @ * POWER OCT 101 ** START OF BLOCK 0 ENTRIES *** * SLASH OCT 102 / * INTDV OCT 103 \ * STAR OCT 104 * * MINUS OCT 105 - * PLUS OCT 106 + LESS EQU 107B < LEQ EQU 110B <= EQUAL EQU 111B = NEQ EQU 112B # GEQ EQU 113B >= GRTR EQU 114B > NOT OCT 115 AND OCT 116 OR OCT 117 STORE OCT 120 _ OR := * MOD OCT 121 * CASE OCT 126 * BEGIN OCT 127 * END OCT 130 * COLON OCT 131 : SEMI OCT 132 ; LPREN OCT 133 ( RPREN OCT 134 ) LBRAC OCT 135 [ RBRAC OCT 136 ] COMMA OCT 137 , ARRAY OCT 140 INTEG OCT 141 INTEGER OR BOOLEAN EQUAT OCT 142 EQUATE FORMA OCT 143 FORMAT * INPUT OCT 144 OUTPU OCT 145 OUTPUT PROCE OCT 146 PROCEDURE LABEL OCT 147 REAL OCT 150 SWITC OCT 151 SWITCH EOF EQU 152B END OF FILE UNLOD EQU 156B UNLOAD * WHILE OCT 157 * PAUSE OCT 160 PAUSE * CODE OCT 161 * COMNT OCT 162 DO OCT 163 ELSE OCT 164 FOR OCT 165 * GO OCT 166 IF OCT 167 READ OCT 170 * STEP OCT 171 THEN OCT 172 * TO OCT 173 UNTIL OCT 174 * WRITE OCT 175 * VALUE OCT 176 * BUCK OCT 177 $ .377 OCT 377 P400B OCT 400 IDTAB EQU *-9 AN ANACHRONISM. ASC 3, IDENT TABLE HERE BSS 5 DEF *+2 IDTAB + 17 HERE DCONI DEF *+1 POINTS AT INTEGER CONSTANT CONFO OCT 20044 DCONR DEF *+1 POINTS AT REAL CONSTANT OCT 120044 SKP * ************************************************ * * SCND - SCAN SOURCE SYMBOLS TO NEXT SEMICOLON * * ************************************************ SCND NOP LDA .TYPE PICK UP CURRENT SYMBOL TYPE RSS SKIP OVER THE NEXT INSTRUCTION JSB SCANR GET NEXT SYMBOL CPA SEMI IS IT A ; ? JMP SCND,I YES - EXIT JMP *-3 NO - GO BACK TO SCAN * ****************************** * * CHARM - GET ADDRESS OF CUR-* * * RENT STUFF NAME. * * * A = ADDRESS OF ENTRY * * * ON EXIT B = ADDRESS OF NAME* * * A = NO. OF CHARS IN NAME* * ****************************** CHARM NOP LDB A LDA B,I AND .37B MASK IN STUFF WORD COUNT CMA,INA ADB A INB B = LOC OF SuTART OF NAME LDA B,I AND HIMSK GET NO.OF CHARS IN NAME ALF,ALF JMP CHARM,I EXIT FROM CHARM * *************************************** * * SETIN - SET UP PARAMETERS FOR ENTRY * * * TO THE 'INSRT' ROUTINE. * * * ON ENTRY; A = ENTRY TYPE * * * B = RBIT SETTING * * * ON EXIT; A = LOC OF SYMBOL(*SYMB) * * * B =0 (DON'T USE $NEXT) * * * $BLEV = BLK $XBIT = 0 * * * $TYPE V VAL OF A ON ENTRY * * * $RBIT = VAL OF B ON ENTRY * * * $ADDR = PCNTR * * *************************************** SETIN NOP STA $TYPE SET ENTRY TYPE = A STB $RBIT SET REAL/INT BIT = 0 LDA BLK STA $BLEV SET BLOCK LEVEL = BLK LDA PCNTR STA $ADDR SET ADDRESS = PCNTR LDA $SYMB SET A = LOC OF IDTAB+9 CLB STB $XBIT JMP SETIN,I SKP * ******************************************************* * * HINIT - GENERATE AN ASSIGNED CONSTANT INTO THE * * * OBJECT CODE STREAM FOR ARRAYS AND VARIABLES.* * * - IF REAL IT GENERATES 2 WORDS * * ******************************************************* HINIT NOP LDA .INFO,I GET INFO WORD LDB HT GET TYPE OF VARIABLE SSA,RSS IS THE CONSTANT A REAL NUMBER? JMP HINT5 NO - ITS AN INTEGER CPB REAL YES - CONSTANT IS REAL, IS TYPE? JMP HINT2 YES JSB .FLAG NO - ERROR, INCONSISTENT DEC 52 #52 - 'REAL NO. ASS'ND TO INTEGR' CLA STA IDNUM SET NUMBER TO = 0 STA IDNUM+1 HINT2 LDA IDNUM EMIT PART OF REAL NO. HINT4 JSB EMOCT EMIT AN OCTAL WORD HINT3 LDA IDNUM+1 EMIT INTEGER OR REST OF REAL NO. JSB EMOCT JMP HINIT,I EXIT HERE HINT5 CPB REAL IS TYPE = REAL? RSS YES JMP HINT3 NO - GO TO INTEGER EMIT LDA IDNUM+1 CONVERT AN INTEGER TO REAL JSB FLOAQ STB IDNUM+1 RESTORE THE CONVERTED NUMBER JMP HINT4 GO AND EMIT IT.. * COMP COMPUTES THE NEGATIVE OF A FLOATING POINT NUMBER. * IT IS CALLED WITH THE HIGH PART OF THE # IN B & THE * LOW PART IN A, AND RETURNS WITH IT THE SAME WAY. COMPQ NOP CMB,CLE COMPLEMENT HI & CLE FOR TESTING XOR HIMSK COMP. LOW MANTISSA BITS ADA P400B AND ADD 1 TO THEM (2'S COMP) SEZ,RSS IF E REMAINS CLEAR, THE LOW JMP COMPQ,I BITS WERE NON0, SO WE'RE DONE INB OTHERWISE, BUMP THE HIGH BITS CPB BIT15 IF THE HIGH BITS ARE 100000 JMP COMP1 OR 140000 CPB PCMSK WE HAVE A BOUNDARY CONDITION RSS AND MUST ADJUST. JMP COMPQ,I COMP1 ADB PCMSK THAT ADJUSTS THE MANTISSA. SLA,RAR POSITION AND EXTEND THE EXPONENT IOR XSEXP SSB,RSS IF NEW RESULT IS POSITIVE, WE INA,RSS BUMP THE EXPONENT; ADA .-1 IF NEGATIVE, WE DEBUMP IT RAL NOW REPOSITION IT. AND .377 JMP COMPQ,I XSEXP OCT 77600 FILL IN FOR HALFWIT NEGATIVE EXPS. HED OUTPUT A 'DBL' PUNCH WORD OR RECORD * ********************************************************** * * BREC 1.PROCESSES THE BINARY DBL INSTRUCTIONS AND A DBL * * * RECORD FOR OUTPUT ON THE PUNCH DRIVER * * * 2.UPDATES THE CURRENT LOCATION CNTR(PCNTR / BCNTR)* * * A REGISTER CONTENT INDICATES RELOCATION PARAMETER * * * 0 = ABSOLUTE VALUE. FOR THE CURRENT INSTRUC.* * * 1 = RELOCATABLE VALUE. * * * 4 = EXTERNAL VALUE * * * 5 = MEMORY REFERENCE INST. USING A RELOCATABLE OPRND.* * * IF =5 THEN LOCN. 'SUMP' CONTAINS THE OPERAND AND * * * LOCN.'INST',BITS 1 AND 0,CONTAIN RELOC.INDIC. * * * 0 = RELOCATABLE OPERAND * * * 1 = BASE PAGE RELOC. OPERAND * * * B REGISTER CONTENT INDICATES BREC ACTION. * * * 0 = OUTPUT THE CURRENT CONTENTS OF THE PUNCH BUFFER. * * * 1 = ADD A WORD(OR INSTRUCTION) TO THE PUNCH BUFFER. * * * 'INST' CONTAINS THE WORD TO BE ADDED TO THE PNCH BUFFER* * ********************************************************** FBNP4 DEF PNBUF+4 START OF DATA INFO. (DBL TYPE) BREC NOP STA T SAVE RELOCATION PARAMETER LDA PNBUF SZB PUNCH A RECORD? JMP HBR10 NO - INSERT A WORD * * EMIT A DBL PUNCH RECORD VIA 'PNCH' SZA,RSS IS PNBUF EMPTY? JMP BREC,I YES - EXIT HBR06 LDA HSVST,I POS'N RELOCN BYTES ALF,RAR ISZ HRCNT JMP *-2 RAL STA HSVST,I JSB PNCH GO TO PUNCH ROUTINE JMP BREC,I EXIT * * PROCESS A BINARY WORD FOR * * * INSERTION IN PNBUF. * HBR10 SZA FIRST WORD IN RECORD? JMP HBR20 NO, SKIP FOLLOWING SETUP. * * SET UP PNBUF FOR START OF A NEW RECORD.* LDA EMLDX+1 A=60000B (SETS 'RIC'=3) ADA AAT SET CURRENT PAGE BIT (100B) LDB PCNTR B=PROG LOCN CNTR STB PNBUF+3 SET DBL LOAD ADDRESS STA PNBUF+1 SET RIC WORD LDA .+4 STA PNBUF SET RECORD WORD COUNT = 4. LDA FBNP4 STA HSTOR SET CURR AVAIL BUFF LOC = PNBUF+4 LDA .-5 STA HRCNT SET RELOC SLOT COUNTER = -5 LDA M54 STA HCNTB SET WORD COUNTER = -54 * * PROCESS 'INST' FOR INSERTION INTO DBL RECORD.* HBR20 ISZ PCNTR BUMP LOC'N CNTR(PCNTR OR BCNTR) LDA HRCNT IS SLOT CNTR =-5 CPA .-5 RSS YES JMP HBR25 NO, SKIP SLOT SETUP LDA HSTOR STA HSVST SET ADDRESS FOR NEXT SET OF BYTES CLA STA HSVST,I CLEAR BYTE STORAGE WORD ISZ HSTOR BUMP TO NEXT AVAILABLE ADDRESS ISZ PNBUF BUMP RECORD WORD COUNT HBR25 ISZ PNBUF+1 BUMP DATA WORD COUNT LDA HSVST,I ALF,RAR IOR T SET RELOC TYPE INTO BYTE SLOT STA HSVST,I AND REPLACE IT. ISZ HRCNT IS LAST SLOT IN RELOC BYTE WRD FULL JMP HBR30 NO. RAL YES,POSITION BYTE WORD FOR FULL SET STA HSVST,I SET RELOC.BYTE WORD. LDA .-5 STA HRCNT SET RELOC SLOT CNTR = -5. LDA HCNTB CPA .-1 WORD CNTR ALMOST DONE? (=-1?) JMP HBR30 YES ISZ HCNTB NO, BUMP IT 1 MORE HBR30 LDA INST ***INSERT 'INST' INTO DBL RECORD * STA HSTOR,I ISZ HSTOR BUMP RECORD STORE ADDRESS. ISZ PNBUF BUMP RECORD WORD COUNT LDA T * TEST RELOCATION ENTRY PARAMETER FOR =5 * CPA .+5 =5 ? RSS YES JMP HBR40 NO, SKIP SPECIAL PROCESSING. LDA SUMP SET RELOC.OPERAND INTO NEXT SLOT STA HSTOR,I IN THE RECORD ISZ HSTOR BUMP RECORD STORE ADDRESS. ISZ PNBUF BUMP RECORD WORD COUNT ISZ HCNTB WAS THIS THE LAST WORD IN THE REC? JMP HBR40 NO JMP HBR06 YES, GO AND OUTPUT THE RECORD. HBR40 ISZ HCNTB IS THE RECORD FULL NOW? JMP BREC,I NO, RETURN JMP HBR06 YES, GO OUTPUT THE CURRENT RECORD. M54 DEC -54 HCNTB BSS 1 WORD COUNTER FOR PNBUF (BREC) HRCNT BSS 1 RELOC.BYTE COUNTER(-5 TO -1) IN BREC HSTOR BSS 1 CURRENT AVAIL.PNBUF LOC'N FOR DBL WRD HSVST BSS 1 CURRENT ADDR.FOR RELOC.BYTES (BREC) INST BSS 1 INSTRUCTION FOR PUNCH/LIST OUTPUT SUMP BSS 1 MEMORY REFRNCE OPRND FOR BREC/HLIST HED 'LIST OBJECT CODE' SUBROUTINE LB * **************************************** * * HLIST - LIST A LINE OF OBJECT CODE * * * GENERATED BY THE COMPILER. * * * -A- REGISTER PARAMETERS: * * * 0 = MEMORY REFERENCE INSTRUCTION* * * 1 = OCTAL INSTRUCTION* * * 2 = DEF INSTRUCTION* * * 3 = ORG PSEUDO-OP * * * 4 = ORR PSEUDO-OP * * * 5 = BSS PSEUDO-OP * * * 6 = REGISTER REFERENCE INSTRUCTION* * * 7 = ASCII WORD INSTRUCTION* * * * * * FORMAT OF LINE: * * * * * * COLUMNS CONTENTS * * * ------- -------- * * * * * * 1-2 BLANK * * * 3-7 LOCATION COUNTER * * * 8-9 BLANK * * * 10-15 OBJECT CODE WORD * * * 16 BLANK * * * 17 RELOCATION INDICATOR * * * (R, X, OR BLANK) * * * 18-19 BLANK * * * 20-34 LABEL FIELD * * * 35-36 BLANK * * * 37-39 OP CODE FIELD (EXCEPT * * * REGISTER REFERENCE) * * * 37-51 OP CODE FIELD (RRF) * * * 40-41 BLANK (EXCEPT FOR RRF)* * * 42-56 OPERAND FIELD (NOT * * * USED FOR RRF OR ORR)* * * FOLLOWING +1 (AS REQUIRED) * * * OPERAND ,I (AS REQUIRED) * * * * * * THE MAXIMUM LINE LENGTH IS 60 CHARS. * * * PRBUF IS CLEARED AFTER EACH PRINTING.* * **************************************** BLBL ASC 1, HLSTA BSS 1 HLIST PARAMETER. HLIST NOP ENTRY/EXIT. STA HLSTA SAVE ENTERING HLIST PARAMETER. LDA LSFLG SZA,RSS IF OBJECT CODE LISTING NOT  JMP HLIST,I WANTED, RETURN IMMEDIATELY. LDA PCNTR WE WANT LISTING, GET CURRENT JSB OCONV PCNTR, CONVERT IT TO OCTAL, FUBRP DEF PRBUF AND STORE IT IN PRBUF. LDA BLBL RESTRICT PCNTR PRINTOUT TO STA FUBRP,I FIVE OCTAL DIGITS. LDA .INFO GET CURRENT STUFF ADDRESS STA HLS04 AND SAVE UNTIL END. LDA HLS05 GET SCATR'S LAST INFO WORD STA HLS06 AND SAVE IT UNTIL END. JSB LBLCK IF THIS IS LOCN OF A LABEL, RSS CHECK FOR INSTRUCTION TYPE. JMP HLS10 NOT A LABEL, SKIP CHECK. LDB HLSTA IF INSTRUCTION CPB .+4 IS AN ORR JMP HLS10 CPB .+3 OR AN ORG, JMP HLS10 BYPASS LABEL STORE. JSB STLBL STORE LABEL IN LABEL FIELD. HLS10 LDA HLSTA RECALL LIST PARAMETER. ADA PRTBL USE IT TO TRANSFER JMP A,I TO PROPER CONTROL ROUTINE. SPC 1 PRTBL DEF *+1,I HLIST JUMP TABLE. DEF MEMRF MEMORY REFERENCE - HLSTA = 0. DEF OCTAL "OCT" PROCESSOR - HLSTA = 1. DEF DEF "DEF" PROCESSOR - HLSTA = 2. DEF ORG "ORG" PROCESSOR - HLSTA = 3. DEF ORR "ORR" PROCESSOR - HLSTA = 4. DEF BSS "BSS" PROCESSOR - HLSTA = 5. DEF REGRF REGISTER REFERENCE - HLSTA = 6. DEF ASCII "ASC 1," PROCESSOR - HLSTA = 7. SPC 1 ASCII JSB STINS STORE CONVERTED INSTRUCTION CODE. LDA .+3 STORE MNEMONIC LDB DASCI "ASC 1," JSB STMNM INTO OP CODE FIELD. LDA INST STORE TWO ASCII CHARACTERS STA DPB21,I FOLLOWING "ASC 1,". LDA ACOMA = DECIMAL 44, CHARACTER COUNT. JMP HLS40 LINE SET, GO PRINT IT. SPC 1 DASCI DEF *+1 ASC 3,ASC 1, SPC 1 OCTAL JSB STINS STORE CONVERTED INSTRUCTION WORD. LDA .+2 STORE LDB DOCTL "OCT" MNEMONIC JSB STMNM INTO OP CODE FIELD. LDA INST STORE BSS1 JSB OCONV OCTAL INSTRUCTION DPB20 DEF PRBUF+20 INTO OPERAND FIELD. LDA ASLSH = DECIMAL 47, CHARACTER COUNT. JMP HLS40 LINE SET, GO PRINT IT. SPC 1 DOCTL DEF *+1 ASC 2,OCT SKP DEF LDB DDEF LDA .+2 CONTROL HERE FOR JSB TO EXT. JSB STMNM STORE "DEF" OR "JSB" MNEMONIC. JSB STINS STORE CONVERTED INSTRUCTION WRD. LDB EMREL GET RELOCATION INDICATOR. LDA "R" DEFAULT TO "R". CPB .+4 IF THIS IS EXTERNAL, LDA "X" REPLACE "R" WITH "X". STA DPB8,I STORE RELOCATION CHAR IN BUFFER. CPB .+4 IF THIS IS EXTERNAL, JMP DEF4 GO GET NAME FOR PRINT BUFFER. LDA INST NOT AN EXT, GET INSTR CODE AND ELA,CLE,ERA REMOVE ANY INDIRECT BIT. JSB LOOK2 LOOK UP SYMBOL FOR -B-. JMP DEF2 END TABLE, NO SYMBOL REFERENCE. JSB COMPR SYMBOL MATCHED, IS IT PRINTABLE? JMP DEF5 YES, GO GET IT. DEF2 LDA HLS02 NO, SO WE PRINT OCTAL ADDRESS. CMA,INA CHECK TO SEE IF OPERAND ADDRESS ADA PCNTR IS WITHIN 7 OF LOAD ADDRESS. LDB APLUS AS A PRELIMINARY, DETERMINE SSA,RSS "+" OR "-". LDB AMINU BLF,BLF ROTATE SIGN TO TOP HALF OF WD. SSA IF DISTANCE IS NEGATIVE, CMA,INA SET IT POSITIVE. ADB AZERO ADD ASCII OFFSET TO -B-. ADB A ADD DISTANCE IN CASE O.K. AND .-8 WIPE OUT LOW 3 BITS. SZA IF DISTANCE GREATER THAN 7, JMP DEF3 THEN JUST PRINT OCTAL ADDR. STB DPB21,I DIST <= 7, STORE IN PRINT BUFR. LDA ASTAR THEN GET ASTERISK, IOR HNRIC INCLUDE LEADING BLANK, STA DPB20,I & PUT IN FRONT OF DISTANCE. JMP DEF6 GO TEST FOR INDIRECT. DEF3 LDA HLS02 OPERAND AND PCNTR SEPARATED JSB OCONV BY MORE THAN 7, SO JUST PRINT׏ INA RAL *2 SKP * CONTROL HERE TO FINALLY PRINT THE LINE. SPC 1 HLS40 LDB FUBRP ADDRESS OF PRINT BUFFER. JSB PRINT GO PRINT LINE (MAX 30 WORDS). JSB CLRBF NOW CLEAR PRINT BUFFER. LDA HLS04 STA .INFO RESET .INFO TO ENTERING VALUE. LDA HLS06 JSB SCATR RE-SCATTER ENTERING SYMBOL. JMP HLIST,I NOW RETURN. SPC 1 DDEF DEF *+1 ASC 2,DEF SPC 1 ORG LDA PCNTR CONVERT AND STORE PCNTR JSB OCONV IN OPERAND FIELD. DEF PRBUF+20 LDB DORG ORR1 LDA .+2 JSB STMNM STORE "ORG" OR "ORR". LDA ASLSH = DECIMAL 47, CHARACTER COUNT. JMP HLS40 DONE, GO PRINT LINE. SPC 1 DORG DEF *+1 ASC 2,ORG DORR DEF *+1 ASC 2,ORR "R" EQU *-1 SPC 1 * THE FOLLOWING CODE OUTPUTS THE "ORR" PSEUDO-OP (CALLED BY * EMRST). HOWEVER, AT THIS POINT, PCNTR HAS NOT BEEN UPDATED * TO THE VALUE THAT WAS SAVED WHEN WE EMITTED THE INSTRUCTION * OUT OF LINE. THE VALUE STORED INTO THE PCNTR FIELD IN THE * PRINT BUFFER AT THE ENTRANCE TO HLIST IS THEREFORE WRONG, * SO WE MUST GET THE CORRECT VALUE (FROM EMJSV+2) AND OVERLAY * OUR EARLIER CONVERSION. SPC 1 ORR LDA EMJSV+2 JSB OCONV DEF PRBUF LDA BLBL RESTRICT PCNTR PRINTOUT TO STA FUBRP,I FIVE OCTAL DIGITS. LDB DORR JMP ORR1 SKP BSS LDA .+2 LDB DBSS JSB STMNM STORE "BSS" MNEMONIC. LDA EMSVA GET AMOUNT TO BE RESERVED. JMP BSS1 CONVERT AND PRINT IT. SPC 1 DBSS DEF *+1 ASC 2,BSS DJSB DEF AJSB SPC 1 REGRF JSB STINS STORE CONVERTED INSTRUCTION WRD. LDA INST LOOK UP REGISTER REF INSTRUCTION JSB OPCDS & STORE IT IN MNEMONIC FIELD. JMP HLS30 THEN GO PRINT LINE. SPC 1 MEMRF LDB DJSB CHECK FIRST FOR EXTERNAL, LDA EMREL BECAUSE IT CAN BE HNhANDLED CPA .+4 BY "DEF" ROUTINE. JMP DEF+1 EXTERNAL "JSB". LDA SUMP NOT AN EXTERNAL. AND .1777 MERGE IOR .2000 OPERAND IOR INST WITH OP CODE. JSB OCONV CONVERT AND STORE DEF PRBUF+4 IN INSTRUCTION FIELD. LDA "R" ADD "R" STA DPB8,I RELOCATION CHARACTER. LDA INST GET OP CODE. ELA,CLE,ERA REMOVE INDIRECT BIT. JSB OPCDS LOOK UP MNEMONIC AND STORE IT. CCB PREPARE TO CLEAR "+1" FLAG. LDA HLS03 GET ADDRESS OF CURRENT MNEMONIC. CPA DLDB WAS MNEMONIC "LDB"? CLB YES, SET "+1" FLAG. CPA DSTB NO, HOW ABOUT "STB"? CLB YES, SET "+1" FLAG. STB HLS03 SAVE THE FLAG. LDA SUMP OPERAND TO BE FOUND. JSB LOOK2 GO LOOK UP SYMBOL IF POSS. JMP DEF2 NO SYMBOLIC REFERENCE. JSB COMPR SYMBOL MATCHED, IS IT PRINTABLE? LDA .INFO YES, GET ITS ADDRESS. JSB STOPD GO STORE NAME IN OPERAND FIELD. LDA PLUS1 CHECK FOR "LDB" OR "STB" ISZ HLS03 OF "SYMBOL+1". JSB ADCHR IT IS, SO GO ADD "+1". JMP DEF6 CHECK FOR INDIRECT, PRINT LINE. SKP * CONSTANTS AND STORAGE FOR HLIST MAIN SPC 1 .1777 OCT 1777 .2000 OCT 2000 .DM30 DEC -30 DLDB DEF ALDB DSTB DEF ASTB DPB8 DEF PRBUF+8 DPB21 DEF PRBUF+21 HLS01 NOP HLS02 NOP HLS03 NOP HLS04 NOP HLS05 NOP HLS06 NOP INCR NOP PTR NOP PLUS1 ASC 1,+1 COMAI ASC 1,,I "X" ASC 1,X SKP * UTILITY SUBROUTINES FOR HLIST SPC 1 * CLRBF CLEARS PRINT BUFFER. CALLED WHEN COMPILER IS LOADED * AND AFTER PRINTING EACH LINE. SPC 1 CLRBF NOP ENTRY/EXIT. LDA FUBRP S.A. OF PRINT BUFFER. STA PTR SAVE IN MOVING POINTER. LDA BLBL TWO ASCII BLANKS. LDB .DM30 STA PTR,I ISZ PTR INB,SZB FINISH9)ED? JMP *-3 NOT YET. JMP CLRBF,I YES, RETURN. SPC 1 COMPR NOP CHECKS SYMBOL TYPE IN -A- FOR CPA TYVAR VARIABLE, JMP COMPR,I CPA DFLAB LABEL, JMP COMPR,I CPA TYARA ARRAY, JMP COMPR,I CPA PRPRO PROPER PROCEDURE, JMP COMPR,I CPA TYPRO INTEGER OR REAL PROCEDURE, JMP COMPR,I CPA TYFMT FORMAT. JMP COMPR,I JMP DEF2 NONE, SO PRINT OCTAL AT DEF2. SPC 1 LBLCK NOP ENTRY/EXIT. CLA,RSS DO SYMBOL TABLE SEARCH TO LBLC1 CLA,INA SEE IF LABEL BELONGS JSB LOOK IN THIS INSTRUCTION. JMP LBLC2 END OF TABLE, NO LABEL. CCB ADB .INFO LDB B,I GET VALUE OF CURRENT SYMBOL. ELB,CLE,ERB REMOVE ANY INDIRECT BIT. CMB,INB ADB PCNTR COMPARE VALUE WITH PCNTR. CPA DFLAB IF SYMBOL IS NOT TYPE LABEL, SZB OR ITS VALUE # PCNTR, JMP LBLC1 IT'S NOT THE ONE WE WANT. LDA .INFO GET SYMBOL TYPE IN -A-. JMP LBLCK,I RETURN TO (P+1) TO STORE. LBLC2 ISZ LBLCK BUMP RETURN TO (P+2). JMP LBLCK,I RETURN. SPC 1 STINS NOP STORES INSTRUCTION IN LDA INST INSTRUCTION FIELD. JSB OCONV DEF PRBUF+4 JMP STINS,I SKP * SUBROUTINE - LOOK2 SPC 1 * THIS SUBROUTINE MAKES REPEATED CALLS TO LOOK TO TRY TO * MATCH THE OPERAND IN -A- ON ENTRY WITH SOME SYMBOL VALUE * IN THE ALGOL SYMBOL TABLE. IF IT IS SUCCESSFUL, CONTROL * RETURNS TO P+2 WITH .INFO SET TO THAT SYMBOL AND THE * SYMBOL TYPE IN -A-. IF THE OPERAND IS NOT MATCHED, * CONTROL RETURNS TO P+1. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA * JSB LOOK2 * * SPC 2 LOOK2 NOP  ENTRY/EXIT. STA HLS02 SAVE VALUE TO BE COMPARED. CLA,RSS FIRST CALL TO LOOK. LOK21 CLA,INA TRY NEXT SYMBOL. JSB LOOK GET A SYMBOL FROM TABLE. JMP LOOK2,I END OF TABLE, P+1 RETURN. LDA .XBIT GET CURRENT SYMBOL'S EXT BIT. LDB EMREL GET OPERAND'S INDICATOR. CPB .+4 IF OPERAND IS EXTERNAL, JMP LOK22 GO SEE IF SYMBOL IS. SZA OPERAND # EXT, IF SYMBOL IS EXT, JMP LOK21 NOT A MATCH, GET NEXT ONE. JMP LOK23 OP'ND TYPE = SYMBOL TYPE # EXT. LOK22 SZA,RSS OPERAND IS EXTERNAL, IS SYMBOL? JMP LOK21 NOPE, BACK TO THE DRAWING BOARD. LOK23 LDA .TYPE TYPES MATCH, RESTORE: A = .TYPE CCB EXAMINE CURRENT SYMBOL'S ADB .INFO VALUE TO SEE IF LDB B,I IT'S THE ONE WE WANT. ELB,CLE,ERB REMOVE ANY INDIRECT BIT. CPB HLS02 SYMBOL FOUND? CPA TYEQU YES, IS IT TYPE "EQUATE"? JMP LOK21 EQUATE OR NO MATCH, KEEP LOOKING. ISZ LOOK2 MATCH AND NO EQUATE, JMP LOOK2,I RETURN TO P+2. SKP * SUBROUTINE - ADCHR SPC 1 * THIS SUBROUTINE APPENDS THE TWO CHARACTERS IN -A- ON ENTRY * TO THE END OF THE OPERAND FIELD IN THE PRINT BUFFER. AS SUCH, * IT IS USEFUL FOR ADDING SUCH GOODIES AS ",I" FOR INDIRECT * INSTRUCTIONS AND "+1" FOR DOUBLE LOAD/DOUBLE STORE * INSTRUCTIONS. THE ROUTINE INCLUDES CODE FOR BREAKING THE * TWO CHARACTERS ACROSS A WORD BOUNDARY, SHOULD THAT BE * NECESSARY. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA <2 ASCII CHARACTERS TO BE ADDED> * JSB ADCHR SPC 1 * RETURN: -A- AND -B- DESTROYED SPC 2 ADCHR NOP ENTRY/EXIT. STA HLS02 SAVE THE TWO CHARACTERS. LDA DPB20 INITIALIZE PTR TO STA PTR START OF OPERAND FIELD. CLB INITIALIZE UPPER/LOWER FLAG. ADCH1 LDA PTR,I GET CURRENT OPERAND WORD. #p SLB IF WORKING WITH UPPER HALF, ALF,ALF SHIFT IT TO LOWER HALF. AND .377 ISOLATE LOWER HALF CHARACTER. CPA ABLAN IF IT'S A BLANK, CONTINUE WITH JMP ADCH2 INFO IN PTR AND -B-. SLB,INB,RSS NOT DONE YET, BUMP U/L FLAG. ISZ PTR IT WAS LOWER HALF, BUMP TO JMP ADCH1 NEXT WORD AND CONTINUE. ADCH2 LDA HLS02 RECALL INPUT CHARACTERS. CPA BLBL DUMMY CALL TO SET PTR? JMP ADCHR,I YES, EXIT IMMEDIATELY. SLB,RSS CAN WE FIT THEM IN ONE WORD? JMP ADCH4 NO, GO SPLIT THEM UP. ADCH3 STA PTR,I YES, PUT THEM AWAY. JMP ADCHR,I RETURN HERE. ADCH4 ALF,ALF ROTATE AND SAVE STA HLS02 CHARACTERS TO BE SPLIT. AND .377 ISOLATE FIRST CHARACTER. IOR PTR,I INCLUDE FINAL OPERAND CHAR. * (FIRST CHAR IS EITHER , OR * + SO BLANK IN LOWER HALF * DOESN'T BOTHER US). STA PTR,I RESTORE THE WORD. ISZ PTR BUMP TO NEXT BUFFER LOCATION. LDA HLS02 GET SECOND CHARACTER AND HIMSK IN TOP HALF. IOR ABLAN INCLUDE LOWER HALF BLANK. JMP ADCH3 STORE WORD AND EXIT. SKP * SUBROUTINE - STLBL SPC 1 * STLBL (STORE LABEL) IS A PRELIMINARY TO STSYM. ALL IT * DOES IS GET THE ADDRESS OF THE LABEL FIELD IN THE PRINT * BUFFER AND PASS IT TO STSYM. THE ADDRESS OF THE SYMBOL * ENTRY (IN -A-) IS UNTOUCHED. SINCE STLBL MAY BE CALLED FROM * OUTSIDE HLIST, THE OBJECT CODE LIST FLAG IS TESTED BEFORE ANY * ACTION IS TAKEN. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* JSB STLBL SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STLBL NOP ENTRY/EXIT. LDB LSFLG IF OBJECT CODE SZB,RSS NOT BEING LISTED, JMP STLBL,I RETURN IMMEDIATEYLY. LDB DPB9 DEF PRBUF+9. JSB STSYM GO STORE SYMBOL. JMP STLBL,I THEN RETURN. SPC 1 DPB9 DEF PRBUF+9 SPC 2 * SUBROUTINE - STOPD SPC 1 * STOPD (STORE OPERAND) IS A PRELIMINARY TO STSYM. ALL IT * DOES IS GET THE ADDRESS OF THE OPERAND FIELD IN THE PRINT * BUFFER AND PASS IT TO STSYM. THE ADDRESS OF THE SYMBOL * ENTRY (IN -A-) IS UNTOUCHED. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* JSB STOPD SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STOPD NOP ENTRY/EXIT. LDB DPB20 DEF PRBUF+20. JSB STSYM GO STORE SYMBOL. JMP STOPD,I THEN RETURN. SKP * SUBROUTINE - STSYM SPC 1 * STSYM (STORE SYMBOL) DOES ALL THE WORK FOR STLBL (STORE * LABEL) AND STOPD (STORE OPERAND). ALL THESE LATTER TWO DO * IS SPECIFY THE FIELD (LABEL FIELD OR OPERAND FIELD) INTO * WHICH THE SYMBOL IS TO BE STORED BY PUTTING ITS STARTING * ADDRESS INTO -B- BEFORE CALLING STSYM. STSYM TRANSFERS * THE SYMBOL INTO THE APPROPRIATE FIELD IN THE PRINT BUFFER. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA
* LDB
* JSB STSYM SPC 1 * RETURN: -A- AND -B- DESTROYED. SPC 2 STSYM NOP ENTRY/EXIT. STB PTR SAVE OUTPUT ADDRESS. JSB CHARM GET ADDRESS OF SYMBOL IN -B-, * # OF CHARACTERS IN -A-. CLE,ERA CHARS TO WORDS, ODD BYTE IN -E-. CMA,INA CONVERT TO NEGATIVE AND STA INCR SAVE AS COUNTER. LDA B,I GET FIRST WORD OF SYMBOL ENTRY. AND .377 REPLACE CHARACTER COUNT (TOP IOR HNRIC HALF) WITH BLANK. STA PTR,I PUT IT AWAY. LDA INCR SZA,RSS IF ONLY ONE CHARACTER IN SYMBOL, JMP STSYM,I RETURN, WE'RE DONE. STSY1 ISZ PTR  CONTINUE INB TO LDA B,I STORE STA PTR,I SYMBOL ISZ INCR UNTIL JMP STSY1 FINISHED. SEZ IF WE END ON A WORD BOUNDARY, JMP STSYM,I WE'RE DONE, RETURN. LDA PTR,I NO SUCH LUCK, AND HIMSK SO FORCE IOR ABLAN LOWER HALF OF FINAL WORD STA PTR,I TO BE A BLANK. JMP STSYM,I THEN RETURN. SKP * SUBROUTINE - STMNM SPC 2 * STMNM (STORE MNEMONIC) TRANSFERS THE ASCII MNEMONIC IN THE * INPUT BUFFER TO THE LINE PRINTER BUFFER MNEMONIC FIELD. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA <# OF WORDS IN MNEMONIC> * LDB
* JSB STMNM SPC 2 * RETURN: -A- AND -B- DESTROYED. SPC 3 STMNM NOP ENTRY/EXIT. STB HLS03 SAVE ENTERING ADDRESS. CMA,INA COMPLEMENT NUMBER OF WORDS AND STA INCR SAVE AS COUNTER. LDA DPB18 GET MNEMONIC FIELD PRINT ADDRESS STA PTR AND SAVE IN MOVING POINTER. STMN1 LDA B,I TRANSFER STA PTR,I MNEMONIC INB TO ISZ PTR MNEMONIC ISZ INCR FIELD JMP STMN1 IN PRINT BUFFER. JMP STMNM,I DONE, RETURN. SPC 1 DPB18 DEF PRBUF+18 SKP * SUBROUTINE - OPCDS SPC 1 * OPCDS SEARCHES THE OP CODE TABLE FOR A MATCH * FOR THE UNKNOWN CODE IN -A- ON INPUT. SIMULTANEOUSLY, A * POINTER TO THE ASCII TABLE OF MNEMONICS IS INCREMENTED. * WHEN THE UNKNOWN CODE IS MATCHED, THE ASCII EQUIVALENT IS * PLACED IN THE OP CODE FIELD OF THE PRINTER OUTPUT BUFFER. SPC 1 * CALLING SEQUENCE: SPC 1 * LDA * JSB OPCDS SPC 1 * ON RETURN, THE MNEMONIC HAS BEEN PLACED IN THE OP CODE FIELD * OF THE PRINTER OUTPUT BUFFER. -A- AND -B- ARE DESTROYED. SPC 2 OPCDDcS NOP ENTER W/ UNKNOWN CODE IN -A-. STA MCDSV SAVE ENTERING OP CODE. LDA OPCDT STA OCPTR INITIALIZE MNEMONIC TABLE PTR. LDB MCODT (B) = MACHINE CODE TABLE PTR. CLA INITIALIZE MNEMONIC TABLE ADA .+2 INCREMENT VALUE. IN LOOP, BUMP STA INCR IT BY 2 WHENEVER WE'RE HERE. OSRCH LDA B,I GET CURRENT MACHINE OP CODE. CPA MCDSV IF IT MATCHES INPUT CODE, JMP FOUND SEARCH IS DONE. INB NOT A MATCH, BUMP MACH CODE PTR. LDA OCPTR ADD CURRENT MNEMONIC TABLE ADA INCR OFFSET TO GET NEXT MNEMONIC. STA OCPTR STORE MNEMONIC POINTER BACK. LDA INCR PREPARE TO MODIFY INCR. CPB DINC1 IF WE'RE AT 3-WORD MNEMONICS, ISZ INCR BUMP INCR FROM 2 TO 3. CPB DINC2 IF WE'RE AT 4-WORD MNEMONICS, ISZ INCR BUMP INCR FROM 3 TO 4. CPB DINC3 IF WE'RE AT 6-WORD MNEMONIC, JMP OSRCH-2 BUMP INCR FROM 4 TO 6. CPB DINC4 IF WE'RE AT 8-WORD MNEMONIC, JMP OSRCH-2 BUMP INCR FROM 6 TO 8. JMP OSRCH NONE OF THESE, USE SAME INCR. FOUND LDA INCR GET NUMBER OF WORDS IN MNEMONIC. LDB OCPTR GET ADDRESS OF MNEMONIC JSB STMNM GO STORE IN OP CODE FIELD. JMP OPCDS,I RETURN. SPC 1 DINC1 DEF INCR1 DINC2 DEF INCR2 DINC3 DEF INCR3 DINC4 DEF INCR4 MCDSV NOP OCPTR NOP SKP * TABLE OF GENERATED OP CODES. SPC 1 MCODT DEF *+1 OCT 40000,10000,3400,2400 ADA AND CCA CLA OCT 6400,3000,1500,2004 CLB CMA ERA INA OCT 30000,24000,14000,60000 IOR JMP JSB LDA OCT 64000,0,2001,2020 LDB NOP RSS SSA OCT 6020,70000,74000,2002 SSB STA STB SZA SPC 1 INCR1 OCT 60001,102501 LDA 1 LIA 1 SPC 1 INCR2 OCT 3401,7401 CCA,RSS CCB,RSS OCT 2404,6404 CLA,INA CLB,INB OCT 3004,2021  CMA,INA SSA,RSS OCT 1727,2003 ALF,ALF SZA,RSS SPC 1 INCR3 OCT 3104 CMA,CLE,INA SPC 1 INCR4 OCT 3026 CMA,SSA,INA,SZA SPC 5 * TABLE OF MNEMONICS. SPC 1 OPCDT DEF *+1 ASC 8,ADA AND CCA CLA ASC 8,CLB CMA ERA INA ASC 4,IOR JMP AJSB EQU * ASC 4,JSB LDA ALDB EQU * ASC 8,LDB NOP RSS SSA ASC 4,SSB STA ASTB EQU * ASC 4,STB SZA SPC 1 ASC 6,LDA 1LIA 1 SPC 1 ASC 8,CCA,RSS CCB,RSS ASC 8,CLA,INA CLB,INB ASC 8,CMA,INA SSA,RSS ASC 8,ALF,ALF SZA,RSS SPC 1 ASC 6,CMA,CLE,INA SPC 1 ASC 8,CMA,SSA,INA,SZA SPC 1 HED LOCATION COUNTER AND CONTROL EMITTERS * ************************************ * * EMBSS - EMIT 'BSS'- BUMPS THE * * * CURRENT LOCATION COUNTER * * * A REGISTER = LENGTH OF BLOCK * * ************************************ EMBSS NOP STA EMSVA SAVE A JSB CLEAR CLEAR LOAD/STORE FLAG CLB JSB BREC OUTPUT REMAINDER OF CURRENT BIN.REC. LDA .+5 JSB HLIST LIST 'BSS' LDA EMSVA RESTORE A (BLOCK LENGTH). ADA PCNTR BUMP CNTR BY BSS VALUE STA PCNTR STORE IT JMP EMBSS,I EXIT EMBSS * ****************************** * * EMSET - CLEAR PUNCH BUFFER * * * EMIT BLANK LINE * * * SAVE PCNTR * * * SET PCNTR = B REG * * * ENTRY VALUE * * * EMRST - CLEAR PUNCH BUFFER * * * EMIT BLANK LINE * * * RESTORE PCNTR * * * EMJPR - EMIT A BLANK LINE * * * CLEAR PUNCH BUFFER * * ****************************** EMSET NOP STB EMJSV SAVE OUTPUT LOCATION (IN 'B') JSB EMJPR EMIT LINE - CLEAR PUNCH BUFFER LDA PCNTͥR STA EMJSV+2 SAVE PCNTR LDB EMJSV STB PCNTR SET PCNTR = OUTPUT LOCATION LDA .+3 JSB HLIST "ORG " JMP EMSET,I EXIT EMRST NOP LDA .+4 JSB HLIST "ORR" JSB EMJPR EMIT LINE - CLEAR PUNCH BUFFER LDA EMJSV+2 STA PCNTR RESTORE PCNTR JMP EMRST,I EXIT EMJPR NOP EMIT BLANK LINE - CLEAR PNBUF CLA LDB LSFLG SZB IS LIST FLAG ON? JSB PRINT YES, EMIT A BLANK LINE CLB JSB BREC EMPTY PUNCH BUFFER JMP EMJPR,I EXIT SKP * ************************************** * * EMEXT - PUNCH AN 'EXT' RECORD. * * * 1. TEST NAME FOR PREVIOUS USE * * * AS AN 'EXT', IF USED, EXIT.* * * 2. BUMP EXT ORDINAL COUNTER, * * * SAVE IN NAME ENTRY * * * 3. SET UP AND PUNCH THE 'EXT'.* * * A REG.= SYMBOL TABLE ADDR OF NAME * * ************************************** HXRIC OCT 100001 'EXT' REC.ID.CODE(4) AND COUNT EXORD NOP 'EXT' ORDINAL COUNTER(=CURRENT VALUE) EMEXT NOP LDB A,I INFO WORD TO B REG. RBL POSITION EXT BIT SSB,RSS IS EXT BIT ON? JMP EMEXT,I NO, EXIT EMEXT. STA EMREL SAVE LOC'N OF INFO WORD STA HLS01 SAVE IT FOR HLIST ALSO. ADA .-1 LDB A,I GET ADDRESS WORD(= EXT ORDINAL) SZB IS THIS NAME ALREADY AN EXTERNAL SYM? JMP EMEXT,I YES, EXIT EMEXT ISZ EXORD BUMP EXT ORDINAL COUNTER LDA EXORD CPA P400B IS IT GRTR THAN 377B ? JMP EMEX5 YES, GO TO ERROR DIAGNOSTIC JSB BREC NO - CLEAR PUNCH BUFFER (B = 0) LDA EMREL GET LOC'N OF INFO WORD LDB .+6 NO. OF WORDS IN EXT RECORD = 6. JSB EMMOV MOVE EXT NAME TO PUNCH BUFFER * * GET EXT ORDINAL READY FOOR PUNCHING * LDA EXORD ORDINAL TO A REGu. LDB EMREL GET TABLE ADDRESS FOR ORDINAL ADB .-1 INSERTION. STA B,I INSERT ORDINAL LDA PNBUF+5 AND HIMSK PLACE EXT ORDINAL INTO ADA EXORD ITS SLOT IN PNBUF+5 STA PNBUF+5 RESTORE PNBUF+5 LDA HXRIC STA PNBUF+1 SET RIC = 4 (EXT) JSB PNCH GO PUNCH EXT RECORD - LDB EXORD JMP EMEXT,I *EXIT FROM EMEXT * * * * EMEX5 JSB .FLAG TO ERROR PRINTER ALPRN DEC 40 TOO MANY EXTERNAL SYMBOLS LDB .377 STB EXORD SET EXORD = 377B JMP EMEXT,I SKP * ******************************************** * * EMMOV - MOVE SYMBOL NAME TO PUNCH BUFFER * * * A REG.= ADDRESS OF SYMBOL'S INFO WORD. * * * IF NAME GRTR THAN 5 CHARS 1ST 5 USED. * * * B REG.= LENGTH OF PUNCH RECORD. * * ******************************************** FBNP3 DEF PNBUF+3 NAME ADDRESS(NAM,ENT,EXT TYPES) EMMOV NOP STB PNBUF SET LENGTH OF PUNCH RECORD LDB BLBL STB PNBUF+4 BLANKS TO BUFFER STB PNBUF+3 STB PNBUF+5 JSB CHARM GET NAME ADDR. AND NO. OF CHARS CMINA CMA,INA COMPLEMENT IT STA T+1 STORE IN T+1 ADA .+5 SSA,RSS IS NUMBER GRTR THAN 5? JMP *+3 NO LDA .-5 YES STA T+1 SET T+1 = -5 LDA FBNP3 STA T SET T=BUFFER ADDRESS OF NAME EMMV3 LDA B,I GET LOWER CHARACTER ALF,ALF MOVE IT TO UPPER AND HIMSK CLEAR LOWER STA T+2 LDA T,I GET BUFFER AND .377 CLEAR UPPER ADA T+2 SET IN CHARACTER(UPPER) STA T,I STORE IT ISZ B BUMP STUFF NAME LOCATION ISZ T+1 IS LAST CHARACTER IN? RSS RSS NO, CONTINUE JMP EMMOV,I YES, EXIT FROM EMMOV LDA B,I GET UPPER CHARACTER AND HIMSK CLEAR LOWER ALF,ALF MOVE IT TO LOWER5? STA T+2 SAVE LOWER CHARACTER LDA T,I GET BUFFER AND HIMSK CLEAR LOWER ADA T+2 SET IN CHARACTER(LOWER) STA T,I STORE IT ISZ T BUMP BUFFER LOCATION ISZ T+1 IS LAST CHARACTER IN? JMP EMMV3 NO, CONTINUE JMP EMMOV,I YES, EXIT EMMOV HED LOAD AND STORE EMITTERS * ************************************ * * EMSTR - SET UP FOR STORE EMITTING* * * EMLOD - SET UP FOR LOAD EMITTING * * * 1. SETS UP INSTRUCTION FORMAT * * * LIST PARAMETER. * * * A REG.=OPERAND ENTRY POINTER * * ************************************ EMLOD NOP CLB JSB EMLST SETUP FORMAT ADDRESS INCREMENT JMP EMLOD,I * * EMSTR * * * EMSTR NOP LDB .+3 GET STORE OFFSET JSB EMLST JMP EMSTR,I * ********************************************** * * EMLST - SET UP LOAD AND STORE INSTRUCTIONS * * * FOR PUNCH OUTPUT PROCESSING * * * A REG.= OPERAND ENTRY POINTER * * * B REG = FORMAT LIST ADDRESS OFFSET * * * 0 = LOAD INSTRUCTIONS * * * 3 = STORE INSTRUCTIONS * * * 'EMCLR' = PREVIOUS OPERAND ENTRY POINTER * * * 1. IF OPERAND IS REAL AND INDIRECT SET * * * UP FOR DLD/DST PROCESSING. * * * 2. IF OPERAND IS REAL ONLY,SET UP FOR * * * LDA,LDB/STA,STB PROCESSING. * * * 3. IF OPERAND IS AN INTEGER SET UP FOR * * * LDA/LDB PROCESSING. * * ********************************************** EMCLR BSS 1 ADDRESS SAVE FOR LOAD/STORE 'CLEAR' EMCLX BSS 1 FLAG FOR LOAD/STORE 'CLEAR' TESTING EMJSV BSS 3 SAVE AREA FOR EMJPS (3 LOC'NS) EMSLD EQU EMJSV COMPUTED ADDR OF LOAD/STORE FMTS EMSTT EQU EMJSV+1 SAVE LOD/STR OPERAND ADDsNLHRESS EMREL BSS 1 SAVE RELOCATION TYPE(OR BYTE) EMSVA BSS 1 SAVE 'A' REG. SLOT IN EMITTERS. EMLDX DEF *+1 FORMAT TABLE USED BY EMLOD AND EMSTR OCT 60000,64000 LDA/LDB FORMATS DEF .DLD DOUBLE STORE SUBRTN. OCT 70000,74000 STA/STB FORMATS DEF .DST DOUBLE STORE SUBRTN. EMLST NOP STA EMSVA SAVE OPERAND ENTRY POINTER ADB EMLDX STB EMSLD SET UP FORMAT ADDRESSES ADA .-1 STA EMSTT SAVE CURRENT OPERAND ADDRESS LOCN. LDA A,I GET CURRENT OPERAND ADDRESS LDB EMCLX GET LOAD/STORE FLAG SZB,RSS WAS LAST OUTPUT A LOAD OR STORE? JMP *+3 NO, SKIP NEXT TEST CPA EMCLR IS CURR.ADDRESS SAME AS LAST? JMP EMLST,I YES, EXIT EMLST CLINB CLB,INB STB EMCLX SET LOAD/STORE FLAG STA EMCLR SAVE CURRENT OPERAND ADDRESS ?N SSA IS IT REAL ? JMP EMLS5 YES, GO TO REAL PROCESSOR EMLS1 LDA EMSVA GET OPERAND ADDRESS LDB EMSLD,I INSTRUCTION FORMAT TO B JSB EMCOD OUTPUT INSTRUCTION SUBROUTINE. LDA EMSVA,I SSA,RSS IS OPERAND REAL? JMP EMLST,I NO, LEAVE EMLST ISZ EMSTT,I YES LDA EMSVA A = OPER, ENTRY ADDR. ISZ EMSLD LDB EMSLD,I SET B = LDB OR STB JSB EMCOD LDA EMSTT,I ADA .-1 STA EMSTT,I RESET OPER. LOC'N. JMP EMLST,I EXIT EMLS5 LDA EMSVA,I SSA,RSS IS OPER. REAL? JMP EMLS1 NO LDA EMSLD ADA .+2 A = ADDR. OF DLD/DST LDA A,I ADDR IN A LDB FJSB JSB EMCOD OUTPUT 'JSB' LDA EMSVA GET OPERAND ENTRY LOCATION JSB EMDEF GO TO DEF OUTPUT JMP EMLST,I EXIT EMLST SKP * ********************************* * * EMNOP - EMIT A WORD OF ZEROES * * ********************************* EMNOP NOP CLA,INA SET A FOR 1 WORD BSS JSB EMBSS GO TO BSS EMITTER(THEY BECOME 0) JMP EMNOP,I * ***************************************************** * * CLEAR - CLEAR THE LOAD/STORE REPEAT FLAG, 'EMCLX' * * ***************************************************** CLEAR NOP CLA STA EMCLX CLEAR 'EMCLX' JMP CLEAR,I EXIT * *************************************** * * EMRRF AND EMASC - DUMMY ENTRIES TO * * * EMOCT TO CALL HLIST PROPERLY FOR * * * LISTING REGISTER REFERENCE * * * INSTRUCTIONS OR ASCII CHARACTER * * * PAIRS * * *************************************** EMRRF NOP JSB EMOCT EMRR1 JMP EMRRF,I SPC 1 EMASC NOP JSB EMOCT EMAS1 JMP EMASC,I SPC 1 * *************************************** * * EMOCT - ADD AN O_CTAL INSTRUCTION TO * * * THE OBJECT CODE PROGRAM. * * * A REG.= VALUE TO BE EMITTED. * * *************************************** EMOCT NOP STA INST INST = OCTAL VALUE JSB CLEAR CLEAR LOAD/STORE REPEAT FLAG CLA,INA A=1 FOR OCTAL INSTR LISTING. LDB EMOCT,I HOWEVER - - - CPB EMRR1 IF EMOCT CALLED FROM EMRRF, LDA .+6 SET HLIST FOR REGISTER REF. CPB EMAS1 OR IF CALLED FROM EMASC, LDA .+7 THEN SET FOR ASCII WORD. JSB HLIST DO IT, WHICHEVER WAY. CLA A=0 (ABSOLUTE) CLB,INB B=1 (OUTPUT AN INSTRUCTION) JSB BREC TO PUNCH SETUP ROUTINE JMP EMOCT,I EXIT SKP * ******************************************* * * EMJSB - SET UP JSB PARAMETERS FOR PUNCH * * * A REG.= ADDRESS OF OPERAND ENTRY IN * * * STUFF * * ******************************************* EMJSB NOP CLB STB EMJSV SAVE B REG. LDB FJSB JSB FORMAT TO B JSB EMJPS GO TO JUMP OUTPUT PROCESSOR JMP EMJSB,I EXIT FJSB OCT 14000 JSB FORMAT FJMP OCT 24000 JMP FORMAT * ******************************************* * * EMJMP - SET UP JMP PARAMETERS FOR PUNCH * * * A REG.= OPERAND * * * B REG = SAME AS FOR EMJSB(ABOVE) * * ******************************************* EMJMP NOP STB EMJSV STA EMPTR-1 OPERAND TO PSEUDO STUFF ENTRY LDA EMPTR+1 A = POINTER TO PSEUDO ENTRY LDB FJMP JMP FORMAT TO B JSB EMJPS GO TO JUMP OUTPUT PROCESSOR JMP EMJMP,I EXIT * ***************************************** * * EMJPS - PROCESS JUMP INSTRUCTIONS FOR * * * PRINTING AND PUNCHING. * * * A REG = POINTER(OPERAND STUFF ENTRY)* * 2 * EMJSV = 0, EMIT INSTRUCTION IN LINE * * * EMJSV = EXECUTION ADDRESS OF INSTR. * * * -EMIT BLANK LINE BEFORE AND AFTER * * * CODE GENERATED WHEN B NOT 0. * * * B REG.= INSTRUCTION FORMAT * * ***************************************** EMJPS NOP STB INST SET INSTRUCTION FORMAT STA EMJSV+1 SAVE OPERAND ENTRY POINTER JSB CLEAR CLEAR EMCLR(LOAD/STORE FLAG). LDB EMJSV SZB IS INSTRUCTION IN LINE? JSB EMSET NO - PREPARE PCNTR/SKIP/PUNCHOUT LDA EMJSV+1 GET OPERAND POINTER LDB INST GET INSTRUCTION FORMAT JSB EMCOD OUTPUT PUNCH AND LIST ROUTINE LDB EMJSV SZB WAS INSTRUCTION IN LINE? JSB EMRST NO - RESTORE PCNTR, ETC. JMP EMJPS,I EXIT HED MEMORY REFERENCE EMITTERS * ******************************************** * * EMDEF - PROCESS 'DEF' FOR PUNCH AND LIST * * * A REG.= ADDRESS OF OPERAND STUFF ENTRY* * ******************************************** EMDEF NOP LDB A,I RBL SSB IS THIS AN EXTERNAL SYMBOL ? JMP EMD30 YES, GO TO EXT SETUP ADA .-1 LDB A,I PICK UP OPERAND STB INST PLACE IT INTO INST CLA,CLE,INA A=1 E=0 EMD10 STA EMREL SAVE RELOCATION FLAG JSB CLEAR CLEAR LOAD/STORE FLAG LDA .+2 SET A = 2 FOR HLIST('DEF' PARAMETER) JSB HLIST GO TO LIST ROUTINE LDA EMREL CLB,INB SET B = 1 FOR INSTR. OUTPUT JSB BREC GO PUNCH THE ENTRY JMP EMDEF,I EXIT FROM DEF EMD30 JSB EMEXT PROCESS EXT STB INST INST NOW HAS THE ORDINAL LDA .+4 FOR EMREL = 4 JMP EMD10 * *** DEFR - SET EMPTR FOR DEF DEFR NOP STA EMPTR-1 LDA EMPTR+1 SET A = PSEUDO ENTRY ADDRESS JSB EMDEF JMP DEFR,I * ** PSEUDO STUFF ENTRY FORMAT ** 1u NOP SLOT FOR OPERAND ADDRESS EMPTR OCT 742 PSEUDO INFO WORD (BLK = 17,WLEN = 2) DEF *-1 ADDRESS OF PSEUDO STUFF ENTRY * ************************************************ * * EMCOD - PROCESS OUTPUT FOR MEMORY REFERENCES * * * A REG.= ADDRESS OF OPERAND ENTRY IN STUFF. * * * B REG.= INSTRUCTION FORMAT. * * ************************************************ EMASV BSS 1 SAVE ADDRESS FOR EMMRF AND EMCOD EMCOD NOP STA EMASV SAVE OPERAND POINTER STB INST SAVE INSTRUCTION FORMAT LDA EMASV,I GET INFO WORD JSB SCATR GO TO SCATTER ROUTINE SZB,RSS IS BLOCK = 0? JMP EMC30 YES - GO TO EXT PROCESSING LDA .XBIT NO SZA IS IT EXTERNAL? JMP EMC30 YES - GO TO EXT PROCESSING LDA EMASV NO - GET SUMP ADDRESS ADA .-1 LDA A,I EFFECTIVE ADDRESS CLB,CLE SET B AND E FOR INDIRECT BIT SET ELA,RAR BIT 15 TO E ERB E TO BIT 15 OF B ADB INST STB INST INST NOW HAS INDIRECT BIT, IF ANY CLB STB EMREL SET RELOC'N CODE STA SUMP SUMP =ADDRSS WITHOUT BIT 15 EMC20 CLA A = 0 FOR MEMORY REFERENCE. JSB HLIST GO TO LIST. LDA EMREL CPA .+4 IS RELOC. = 4 (EXTERNAL SYMBOL?) RSS YES - GO TO PUNCH ENTRY LDA .+5 A = 5 (FOR SPECIAL BREC PROC.) CLB,INB SET B = 1 FOR WORD INSERTION JSB BREC PUNCH DBL ENTRY LDA IDTAB+17,I PICK UP CURRENT INFO WORD JSB SCATR AND RESCATTER JMP EMCOD,I EXIT EMC30 LDA EMASV PROCESS AN EXTERNAL SYMBOL JSB EMEXT EXT PROCESSOR ADB INST ADD EXTERNAL ORDINAL STB INST TO INSTRUCTION. LDA .+4 STA EMREL SAVE IT IN EMREL TOO JMP EMC20 * ******************************************** * * EMMRF - PR5E-SETUP FOR 'EMCOD' PROCESSING.* * * A REG.= POINTER TO OPERAND STUFF ENTRY * * * B REG.= INSTRUCTION FORMAT * * ******************************************** EMMRF NOP STA EMASV JSB CLEAR CLEAR LOAD/STORE REPEAT FLAG LDA EMASV * * EMMEM - SET UP A MEMORY REFERENCE OPERAND * JSB EMCOD GO TO OUTPUT PROCESSOR JMP EMMRF,I HED ARITHMETIC EXPRESSION ROUTINE * THE ARITH ROUTINE IS USED TO GENERATE CODE FOR ARITHMETIC EX- * * PRESSIONS AND ASSIGNMENT STATEMENTS. THE ROUTINE IS CALLED * * WITH A=0 FOR AN ASSIGNMENT STATEMENT. * * 1 FOR AN EXPRESSION IN THE ACCUMULATOR, * * 2 FOR AN EXPRESSION NOT NECCESARILY IN THE ACCUMULATOR * * 3 FOR A TEST * * 4 FOR AN ADDRESS. * * THE METHOD INVOLVES A NUMBER OF ROUTINES FOR THE VARIOUS * * SYNTACTIC ENTITIES INVOLVED IN AN EXPRESSION. THESE CALL ONE * * ANOTHER RECURSIVELY IN ORDER TO OBTAIN THE CORRECT PRIORITY * * OF OPERATORS. ALL THE SYNTACTIC ROUTINES HAVE ACCESS TO A SMALL* * STACK, ASTAC, WHICH IS USED TO SIMULATE A RUN TIME STACK. EACH * * ELEMENT IN ASTAC IS EITHER AN ADDRESS OR 0. IF 0, IT MEANS THAT* * THE ELEMENT IS IN THE ACCUMULATOR. IF NOT 0, IT IS A POINTER TO* * ITS STUFF ENTRY (INFO WORD). BIT15, IN ANY CASE, REFERS TO THE * * MODE OF THE OPERAND. ATOP AND A2ND ARE POINTERS TO THE TOP & * * 2ND FROM THE TOP OF ASTAC. ACC ALWAYS POINTS TO THE ASTAC * * ENTRY IN THE ACCUMULATOR. * ******************************************************************** ASTOP BSS 1 APRAM BSS 1 PARAMETER TO ARITH. ASTAC DEF ATABL-2 POINTS TO BEGINNING OF ARITH STACK ARITH NOP ENTRY POINT TO MAIN ROUTINE. STA APRAM SAVE PARAMETER IN APRAM. LDB ASTAC INITIALIZE VALUES OF STB A2ND A2ND INB STB ATOP ATOP CLB STB ACC ACC LDA STOP SAVE STACK POINTER. STA ASTOP LDA APRAM ADA *+2 JMP 0,I DEF *+1,I DEF AR.0 ASSIGNMENT DEF AR.1 EXPR. DEF AR.2 PROC. DEF AR.3 TEST DEF AR.4 ADDRESS AR.0 CLA,INA ASSIGNMENT. JSB VARBQ GET LEFT HAND SIDE. LDA .TYPE ASSIGN SYMBOL FOLLOWING? CPA STORE JMP *+3 LDA .+22 TAKE IT, MAN. JMP DEATH JSB SCANT GET NEXT SYMBOL FOR AEXP CLA,INA AND COMPILE RIGHT HAND JSB AEXP SIDE. JSB STRIT STORE CODE GENERATOR. JMP AR.6 DONE. AR.2 CLA,INA,RSS PROCEDURE CALL. AR.3 CLA JSB AEXP AR.6 ISZ ARITH SKIP FOR NORMAL RETURN AR.7 ISZ SCAND BACK UP SCANNER ON RETURN JMP ARITH,I AR.1 CLA,INA JSB AEXP JSB FORCE DEF ATOP,I AR.5 LDA ATOP,I JMP AR.6 RETURN NORMAL AR.4 JSB VARBQ ADDRESS JMP AR.5 DEATH STA *+2 DISASTROUS JSB .FLAG ERROR NOP LDA ASTOP STA STOP LDA .TYPE DEAD CPA SEMI JMP AR.7 CPA END JMP AR.7 CPA ELSE JMP AR.7 JSB SCANT JMP DEAD * STRIT PERFORMS A STORE OPERATION, WHICH IS GIVEN BY: * STACK[A2ND]_STACK[ATOP] STRIT NOP LDA A2ND,I FORCE THE TYPE OF ATOP TO AGREE SSA WITH THAT OF A2ND. JMP *+4 JSB MAKIN DEF ATOP,I JMP *+3 JSB MAKRL DEF ATOP,I JSB FORCE FORCE ATOP TO ACCUMULATOR. DEF ATOP,I LDA A2ND,I NOW EMIT THE STORE INSTRUCTION ELA,CLE,ERA JSB EMSTR JSB FREE FREE THE STORAGE ADDRESS. DEF A2ND,I LDA ATOP,I ADJUST ACC POINTER STA A2ND,I JSB DELEQ LDA ATOP STA ACC JMP STRIT,I K * AEXP GENERATES CODE FOR AN ARITHMETIC EXPRESSION. THE SYNTAX IS: * AEXP::= DISJ ! IF AEXP THEN AEXP ELSE AEXP ! VARIABLE_AEXP * IF A=0 WHEN AEXP IS CALLED, A TEST IS TO BE PERFORMED; * OTHERWISE, A MUST BE 1. #FLOT DEF .FLOT AEXPT BSS 1 TEMPORARY FOR LOCATION OF JUMP IFLG BSS 1 VALUE OF A WHEN AEXP IS CALLED IFLG1 BSS 1 USED BY DISJ,CONJ,DENYL, & RELAT * TO REPORT WHETHER A SKIP WAS GENERATED **** AEXP NOP ENTRY POINT JSB STACQ NECESSARY DEF AEXPT FOR JSB UNSTQ RECURSION. STA IFLG SAVE PARAMETER IN BOTH IFLG & STA IFLG1 IFLG1. LDA .TYPE CPA IF & TEST FOR IF. JMP AEXP1 * DISJ GENERATES CODE FOR A DISJUNCTION. THE SYNTAX IS: * DISJ::= CONJ ! DISJ OR CONJ JSB CONJ DISJ1 CPA OR CHECK FOR OPERAND=OR. RSS JMP AEXP2 RETURN IF NOT TO END OF DISJ ISZ IFLG1 JSB SCANT JSB CONJ GET NEXT CONJUNCTION. JSB COMUQ COMMUTE OPERANDS IF NECESSARY. JSB FORCE FORCE ONE OPERAND TO DEF A2ND,I ACCUMULATOR. LDA IOR INCLUSIVE OR 2ND OPERAND JSB EMEMQ JSB DELEQ DELETE 1 ELEMENT FROM STACK. LDA .TYPE JMP DISJ1 LOOP IOR IOR 0 AEXP2 CPA STORE TEST NEXT SYMBOL FOR A STORE (_) JMP AEXP3 IT IS A STORE. * IF IFLG=0 & IFLG1 NOT = 0, WE MUST GENERATE A SKIP * AEXP4 LDA IFLG LDB IFLG1 SZA,RSS SZB,RSS JMP AEXP+3 JSB FORCE FORCE RESULT TO DEF ATOP,I ACCUMULATOR LDA SSARS EMIT SSA,RSS JSB EMRRF JSB DELEQ JMP AEXP+3 * AEXP::= IF AEXP THEN AEXP ELSE AEXP AEXP1 JSB SCANT CLA CALL AEXP TO GENERATE JSB AEXP A TEST. LDA PCNTR SAVE LOCATION OF STA AEXPT PCNTR FOR LATER FIXUP. JSB EMNOP EMIT A NOP AT THAT POINT. LDA .TYPE MAKER SURE THAT A THEN CPA THEN FOLLOWS JMP *+3 LDA .+20 ERROR JMP DEATH # 20 JSB SCANT JSB AEXP CALL AEXP TO COMPILE THE TRUE JSB FORCE PART & FORCE TO ACC. DEF ATOP,I CLA SET ACC TO SAY STA ACC EMPTY. LDB AEXPT EMIT A JMP FROM THE LDA PCNTR IF-CLAUSE TO STA AEXPT INA PCNTR+1. JSB EMJMP JSB EMNOP EMIT A NOP FOR LATER PATCHING LDA .TYPE MAKE SURE NEXT CPA ELSE SYMBOL IS AN JMP *+3 ELSE. LDA .+21 JMP DEATH ERROR # 21 JSB SCANT COMPILE FALSE JSB AEXP PART. LDA A2ND,I TEST MODE OF TRUE PART. SSA JMP AEXP5 MODE IS REAL LDA ATOP,I IF TRUE PART IS INTEGER, TEST SSARS SSA,RSS MODE OF FALSE PART JMP AEXP6 NO PROBLEM IF BOTH INTEGER JSB FORCE FORCE FALSE PART TO ACC. DEF ATOP,I LDA RSS JSB EMRRF EMIT (RSS) LDA PCNTR PATCH. LDB AEXPT JSB EMJMP LDA #FLOT EMIT JSB FLOAT JSB EMJSB JMP AEXP7 AEXP5 JSB MAKRL IF TRUE PART IS REAL, FORCE DEF ATOP,I FALSE PART REAL ALSO. AEXP6 JSB FORCE FORCE FALSE PART TO ACC DEF ATOP,I LDA PCNTR PATCH LDB AEXPT JSB EMJMP AEXP7 LDA ATOP,I SET RESULT STA A2ND,I AT LDA A2ND A2ND & STA ACC DELET ONE FROM AEXP9 JSB DELEQ STACK. ISZ IFLG1 NO SKIP HAS BEEN GENERATED JMP AEXP4 * AEXP ::= VARIABLE _ AEXP AEXP3 LDA ATOP,I FIRST MAKE SURE THAT WE ELA,CLE,ERA LDA 0,I ACTUALLY HAD A VARIABLE JSB SCATR LEFT ON TOP OF THE STACK CPA TYVAR JMP AEXP8 CPA TEMPI JMP AEXP8 JSB .FLAG ERROR 22- ILLEGAL DEC 22 ASSIGNMENT CLINA CLA,INA JSB AEXP JMP AEXP=9 AEXP8 JSB SCANT CALL CLA,INA AEXP JSB AEXP JSB STRIT JMP AEXP9+1 * END OF AEXP * CONJ GENERATES CODE FOR A CONJUNCTION. THE SYNTAX IS: * CONJ::= DENIAL ! CONJ AND DENIAL CONJ NOP ENTRY POINT JSB STACQ NECESSA DEF CONJ FOR JSB UNSTQ RECURSION JSB DENYL CONJ1 CPA AND CHECK FOR OPERATOR=AND. RSS JMP CONJ+3 RETURN IF NOT ISZ IFLG1 JSB SCANT JSB DENYL GET NEXT DENIAL. JSB COMUQ COMMUTE OPERANDS IF NECESSARY JSB FORCE FORCE 1 OPERAND TO DEF A2ND,I ACCUMULATOR LDA ANDOP AND 2ND OPERAND JSB EMEMQ JSB DELEQ DELETE 1 ELEMENT FROM STACK. LDA .TYPE JMP CONJ1 LOOP. * DENYL GENERATES CODE FOR A DENIAL. THE SYNTAX: * DENIAL::= RELATION ! NOT DENIAL ANDOP AND 0 DENYL NOP ENTRY. JSB STACQ NECESSARY FOR DEF DENYL RECURSION. JSB UNSTQ CPA NOT TEST SYMBOL FOR NOT JMP DENY1 JSB RELAT NO--JUST A RELATION JMP DENYL+3 DENY1 ISZ IFLG1 JSB SCANT YES--CALL DENYL RECURSIVELY JSB DENYL JSB FORCE FORCE TO ACCUMULATOR. DEF ATOP,I LDA CMA COMPLEMENT. JSB EMRRF LDA .TYPE JMP DENYL+3 RETURN. * RELAT PRODUCES CODE FOR RELATIONS. THE SYNTAX IS: * RELATION::= SUM ! SUM RELOP SUM * WHEN RELATION HAS THE FORM OF "SUM RELOP SUM", IT * PRODUCES CODE TO GENERATE A SKIP ON TRUE CONDITION, IF THE * SYMBOL FOLLOWING IS "THEN". OTHERWISE, IT PRODUCES A VALUE * <0 FOR TRUE, >=0 FOR FALSE. RELTY BSS 1 TEMPORARY TO HOLD THE REL OPERATOR. RELAT NOP ENTRY POINT JSB STACQ NECESSARY DEF RELTY FOR JSB UNSTQ RECURSION. JSB SUM RELATION ALWAYS STARTS WITH SUM. JSB TWEEQ TEST NEXT SYMBOL FOR RELOP ABS LESS ABS GRTR JMP *+4 SKIP IF A TRUE RELATION. ISZ IFLG1 REL3 LDA .TYPE JMP RELAT+3 RETURN IF NOT. STA RELTY SAVE OPERATOR. JSB SCANT SCAN NEXT SYMBO JSB SUM COMPILE 2ND OPERAND JSB MATYQ EQUATE THE TYPES OF THE OPERANDS LDA ACC IF THE 2ND OPERAND IS IN THE ACC CPA ATOP RSS GO COMMUTE THE OPERANDS. JMP REL1 JSB COMUQ * ALSO COMMUTE THE OPERATOR. LDA RELTY ADA RELCM LDA 0,I STA RELTY REL1 JSB DIFF TAKE THE DIFFERENCE OF THE 2 JSB FORCE OPERANDS. DEF ATOP,I CLA FORCE MODE TO STA ATOP,I BE INTEGER. * WE MUST PRODUCE DIFFERENT CODE FOR THE RELATION IF IFLG1=0 * AND THE NEXT OP IS NOT AN "AND" OR AN "OR". LDA .TYPE LDB RELTY CPA AND SET IFLG1 IF ISZ IFLG1 AN "AND" OR "OR" CPA OR FOLLOWS. ISZ IFLG1 LDA IFLG1 SZA JMP REL2 ADB .+6 IF A TEST, BUMP TABLE POINTER BY 6 STB RELTY JSB DELEQ LDB RELTY REL2 ADB RELTB GET BEGINNING OF TABLE FOR CODE. LDB 1,I STB RELTY LDA RELTY,I GET FIRST OCTAL CODE. SZA,RSS ALL DONE IF 0 JMP REL3 JSB EMRRF OTHERWISE, OUTPUT THE CODE & ISZ RELTY BUMP THE POINTER & JMP *-5 LOOP. * SUM PRODUCES CODE FOR SUMS. THE SYNTAX IS: * SUM ::= TERM ! SUM+TERM ! SUM-TERM * (UNARY +&- ARE HANDLED BY STERM) SUMT BSS 1 TEMPORARY FOR OPERATOR SUM NOP ENTRY POINT JSB STACQ NECESSARY DEF SUMT FOR JSB UNSTQ RECURSION. JSB TERM ALWAYS BEGIN WITH A TERM SUML LDA .TYPE STA SUMT SAVE NEXT SYMBOL. CPA PLUS IF A PLUS JMP SUM1 CPA MINUS OR A MINUS RSS GO TO CONTINUE SUM. JMP SUM+3 SUM1 JSB SCANT JSB TERM +# COMPILE NEXT TERM. JSB MATYQ MATCH TYPES. LDA SUMT CHECK TO SEE IF ADD OR SUB. CPA MINUS JMP SUMIN JSB ADDEM TO ADDEM ROUTINE JMP SUML SUMIN JSB DIFF JMP SUML * TERM COMPILES CODE FOR A TERM. THE SYNTAX IS: * TERM::= STERM ! TERM*STERM ! TERM/STERM ! TERM\STERM ! * TERM MOD STERM TERMT BSS 1 TEMPORARY FOR OPERATOR TERM NOP ENTRY POINT JSB STACQ NECESSARY FOR DEF TERMT RECURSION. JSB UNSTQ - JSB STERM ALWAYS START WITH AN STERM. TERML LDA .TYPE STA TERMT SAVE NEXT SYMBOL CPA STAR IF A *, GO TO GET MULTIPLICAND. JMP TERM1 CPA SLASH IF A /, GO TO GET DIVISOR. JMP TERM2 CPA INTDV IF A \, WE DO SOMETHING SPECIAL. JMP TERM3 CPA MOD JMP TERM3 JMP TERM+3 IF NONE OF THESE, WE JUST RETURN TERM1 JSB SCANT JSB STERM GET MULTIPLICAND. JSB MATYQ MATCH TYPE JSB COMUQ COMMUTE JSB FIXUP FORCE MULTIPLIER TO ACCUMULATOR. LDB ATOP,I EMIT CODE FOR LDA $MPY EMIT MPY SSB FMP OR MPY LDA #FMP EMIT FMP JSB YASU EMIT JSB .FMP LDA PCNTR SET PCNTR TO MPYFG TO SAY WHERE STA MPYFG THE LAST MPY OCCURRED. TERM4 JSB DELEQ JMP TERML * CODE FOR A / TERM2 JSB SCANT JSB STERM GET NEXT OPERAND. JSB MAKRL FORCE IT TO BE REAL. DEF ATOP,I JSB MAKRL ALSO FORCE DIVIDEND DEF A2ND,I TO FLOAT. JSB FIXUP FORCE DIVIDEND TO ACCUMULATOR. LDA #FDV JSB YASU EMIT JSB .FDV JMP TERM4 * CODE FOR A \ TERM3 JSB SCANT JSB STERM GET NEXT OPERAND JSB MAKIN FORCE IT TO BE INTEGER DEF ATOP,I JSB MAKIN ALSO FORCE DIVIDEND TO DEF A2ND,I BE INTEGER. JS!B FIXUP FORCE DIVIDEND TO ACCUMULATOR. LDA MPYFG IF MPYFG=PCNTR, THE DIVIDEND CPA PCNTR WAS PRODUCED BY AN MPY, SO JMP TERM5 THE FOLLOWING CODE IS UNNEC- * ESSARY. LDA SSA JSB EMRRF LDA CCBRS JSB EMRRF LDA CLB JSB EMRRF TERM5 LDA $DIV EMIT DIV JSB YASU EMIT JSB .DIV LDA LDA1 IF OPERATOR WAS MOD, WE ALSO LDB TERMT EMIT A LDA 1. CPB MOD JSB EMRRF JMP TERM4 MPYFG NOP LDA1 LDA 1 CCBRS CCB,RSS $MPY DEF XMPY $DIV DEF .DIV #FDV DEF .FDV #FMP DEF .FMP * COMUT EXCHANGES THE TOP 2 STACK ELEMENTS IF THE * TOP ONE IS IN THE ACC. COMUQ NOP LDA ACC COMPARE ACC CPA ATOP WITH ATOP. RSS JMP COMUQ,I LDA A2ND IF THE SAME, SET ACC TO STA ACC POINT AT A2ND LDA A2ND,I EXCHANGE LDB ATOP,I TOP STA ATOP,I TWO STB A2ND,I ELEMENTS. JMP COMUQ,I RETURN * DELET REMOVES THE TOP STACK ELEMENT. DELEQ NOP LDA ACC IF ACC POINTS CLB CLB AT ATOP, SET CPA ATOP IT TO 0. STB ACC LDA A2ND DEDUCT 1 FROM STA ATOP ATOP ADA .-1 & STA A2ND A2ND JMP DELEQ,I * TABLES FOR RELATION CODE RELCM DEF *+1-LESS TABLE FOR COMPLEMENTING ABS GRTR RELATIONS. ABS GEQ ABS EQUAL ABS NEQ ABS LEQ ABS LESS RELTB DEF *+1-LESS TABLE OF POINTERS TO CODE DEF LSSVL DEF LEQVL DEF EQLVL DEF NEQVL DEF GEQVL DEF GTRVL DEF LSSTS DEF LEQTS DEF EQLTS DEF NEQTS DEF GEQTS DEF GTRTS #.FCM DEF ..FCM #.DLC DEF ..DLC SKP * STERM HANDLES UNARY + & -. THE SYNTAX IS: * STERM::= FACTOR ! + FACTOR ! - FACTOR STERM NOP JSB STACQ NECESSARY {NLH DEF STERM FOR JSB UNSTQ RECURSION. CPA MINUS ONLY SPECIAL CASE IS JMP STER1 UNARY MINUS. CPA PLUS IF A UNARY PLUS, WE JUST SCAN JSB SCANT PAST IT. JSB FACTR JMP STERM+3 STER1 JSB SCANT SCAN PAST UNARY MIN JSB FACTR COMPILE A FACTOR. * AT THIS POINT SEVERAL POSSIBILITIES EXIST, ACCORD- * ING TO THE RESULT OF FACTOR. THESE ARE: * 1) RESULT IS A CONSTANT, IN WHICH CASE WE NEGATE * 2) RESULT IS AN INTEGER VARIABLE, IN WHICH CASE WE * FORCE IT TO THE ACC & EMIT CMA,INA * 3) RESULT IS A REAL ACC, IN WHICH CASE WE CALL FCM * 4) RESULT IS A REAL VAR, IN WHICH CASE WE CALL DLC JSB TSTCN IF A CONSTANT, TSTCN WILL HANDLE JMP STERM+3 IT. LDB ATOP,I OTHERWISE, TEST THE MODE. SSB JMP STER2 RESULT IS REAL. JSB FORCE FORCE TO DEF ATOP,I ACC LDA CMINA JSB EMRRF jN JMP STERM+3 STER2 CPB BIT15 TEST REAL VARIABLE TO SEE IF IT JMP STER3 IS IN ACC. JSB CLACQ NO--CLEAR AC LDA #.DLC JSB YASU EMIT JSB ..DLC LDA BIT15 SET TO SAY RESULT IN ACC. STA ATOP,I LDA ATOP STA ACC JMP STERM+3 STER3 LDA #.FCM JSB EMJSB VARIABLE ALREADY IN ACC. JMP STERM+3 * FACTR TAKES CARE OF THE ^ OPERATION. THE SYNTAX IS: * FACTOR::= PRIMARY ! FACTOR ^ PRIMARY * THERE ARE 3 POSSIBILITIES OF ARGUMENTS FOR ^. * THESE ARE: * REAL^REAL (ROUTINE IS .RTOR, RESULT IS REAL) * REAL^INT (ROUTINE IS .RTOI, RESULT IS REAL) * INT ^INT (ROUTINE IS .ITOI, RESULT IS INT ) FACTR NOP JSB STACQ NECESSARY DEF FACTR FOR RECURSION. JSB UNSTQ JSB PRMRY START WITH A PRIMARY. FACTL LDA .TYPE CPA POWER IF NEXT SYMBOL IS ^, WE CONTINUE RSS JMP FACTR+3 JSB SCANT JSB PRMRY CALL PRIMARY AGAIN. LDA ATOP,I NOW TEST MODES OF OPERANDS SSA,RSS JMP FACT1 JSB MAKRL IF 2ND OPERAND IS REAL, THE 1ST DEF A2ND,I MUST BE ALSO. JSB CLACQ LDA #RTOR JMP FACT2 FACT1 JSB CLACQ LDA #ITOI IF 2ND OPERAND IS INTEGER, THE LDB A2ND,I 1ST DETERMINES WHICH ROUTINE SSB TO USE. LDA #RTOI FACT2 JSB EMJSB CALL THE ROUTINE. LDA PCNTR SET FLAG ADA .+3 TO PREVENT STA XSKIP SKIP INSIDE CALLING SEQUENCE JSB EDEFQ DEF A2ND,I THE JSB EDEFQ DEF ATOP,I LDA #ERR SET UP ERROR RETURN JSB EMJSB JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. LDA A2ND SET RESULT STA ACC IN ACC WITH LDA A2ND,I SAME MODE AND BIT15 AS A2ND. STA A2ND,I JSB DELEQ JMP FACTL * * CHECKS XSKIP FLAG TO SEE WHETHER ALLOC ROUTINE GENERATED * STORAGE SPACE FOR CONSTANTS. * CHXSK NOP LDA XSKIP DID WE GENERATE CPA PCNTR BUFFER? RSS NO JSB EMJPR YES, OUTPUT RECORD LDA XSKIP XSKIP CONTAINS NEXT STA PCNTR PCNTR VALUE. (MIGHT NOT CLA BE P+1 IF ALLOC ROUTINE STA XSKIP GENERATED BUFFER). CLEAR FLAG. JMP CHXSK,I RETURN. * #ERR DEF .ERR #RTOR DEF .RTOR #RTOI DEF .RTOI #ITOI DEF .ITOI * PRMRY EMITS CODE FOR PRIMARIES. THE SYNTAX IS: * PRIMARY::= CONSTANT ! VARIABLE ! FUNCTION DESIGNATOR ! * (EXPRESSION) PRMT BSS 1 PRMRY NOP ENTRY POINT JSB STACQ NECESSARY DEF PRMT FOR JSB UNSTQ RECURSION. LDA .TYPE CPA LPREN JMP PRM1 PRIMARY::=(EXPRESSION) CPA TYCON JMP PRM2 PRIMARY::=CONSTANT CPA TYPRO JMP PRM3 PRIMARY::=FUNCTION DESIGNATOR CPA PRPRO PROPER PROCEDURE JMP PRM3 JSB TWEEQ ABS .ABS ABS .KEYS JMP PRM5 INTRINSIC FUNCTION CPA TYARA JMP PRM6 CPA TYVAR JMP PRM6 PRIMARY::= VARIABLE * IF NONE OF THESE, IT'S AN ERROR. LDA TEMPR (=25) JMP DEATH * PRIMARY::=(EXPRESSION) PRM1 JSB SCANT START OFF THE EXPRESSION CLA,INA JSB AEXP LDA .TYPE CPA RPREN JMP PRM11 BETTER BE A RIGHT PAREN. JSB .FLAG ERROR 23--MISSING RIGHT PAREN. DEC 23 JMP PRMRY+3 PRM11 JSB SCANT JMP PRMRY+3 * PRIMARY::=CONSTANT : BUILD A CONSTANT ENTRY * IN STUFF PRM2 LDA IDNUM STUF 1ST HALF JSB STUFQ OF THE NUMBER LDA IDNUM+1 ALWAYS STUF THE JSB STUFQ CLA STUF A 0 ADDRESS JSB STUFQ LDA CONFO ALSO STUF AN ADA .RBIT INFO WORD. JSB STUFQ LDA STUFF ADA .RBIT JSB STAKQ STACK POINTER TO JMP -LPRM11 CONSTANT. * PRIMARY::=FUNCTION DESIGNATOR PRM3 JSB CLACQ CLEAR ACCUMULATOR JSB PRO COMPILE PROCEDURE CALL. JMP PRM11 RETURN * PRIMARY::=INTRINSIC FUNCTION DESIGNATOR PRM5 JSB CLACQ LDA .TYPE ADA INTSW BRANCH TO PROPER ROUTINE. JMP 0,I INTSW DEF *,I DEF INT1 ABS DEF INT2 SIGN DEF INT3 MATH DEF INT4 ROTATE DEF INT5 KEYS INT1 JSB SCANT JSB PRMRY FORCE ABS ARG JSB FORCE TO ACCUMULATOR. DEF ATOP,I LDA ATOP,I SSA SSA CHECK TYPE OF ARG. JMP INT11 LDA SSA EMIT JSB EMRRF SSA LDA CMINA CMA,INA JMP INT21 INT11 LDA %ABAL FOR REAL ARGS. WE PRODUCE JSB EMJSB JSB ABS JMP PRMRY+3 CCARS CCA,RSS INT2 JSB SCANT SCAN ARGUMENT OF JSB PRMRY SIGN FUNCTION. JSB FORCE FORCE RESULT TO DEF ATOP,I ACC. LDA SZARS PRODUCE CODE FOR JSB EMRRF SIGN FUNCTION: LDA PCNTR SZA,RSS ADA .+4 JMP *+4 CLB SSA STB ATOP,I JSB EMJMP CCA,RSS LDA SSA CLA,INA JSB EMRRF LDA CCARS JSB EMRRF LDA CLINA INT21 JSB EMRRF JMP PRMRY+3 INT3 LDA .INFO MATH ROUTINES STA PRMT SAVE INFO WORD OF ROUTINE JSB SCANT JSB PRMRY CALL PRMRY FOR THE ARGUMENT JSB MAKRL ALWAYS REAL DEF ATOP,I JSB FORCE FORCE TO ACC. DEF ATOP,I LDA PRMT EMIT JSB JSB EMJSB LDA PRMT,I SET ATOP TO REFLECT THE CORRECT AND BIT15 TYPE (ALWAYS REAL EXCEPT FOR STA ATOP,I ENTIER) LDA PRMT CMA,INA SET UP ERROR RETURN IF NECESS. ADA %LNAL SSA SKIP IF JSB ERRN REQUIRED JMP PRMRY+3 LDA #ERR JSB EMJSB JMP ������PRMRY+3 RETURN INT4 JSB SCANT ROTATE INTRINSIC JSB PRMRY JSB FORCE DEF ATOP,I LDA ALFLF OUTPUT ALF,ALF JMP INT21 INT5 JSB CLACQ KEYS INTRINSIC LDA LIA1 JSB EMRRF OUTPUT LIA 1 CLA JSB STAKQ LDA ATOP STA ACC JMP PRM11 PRM6 CLA JSB VARBQ JMP PRMRY+3 LIA1 LIA 1 USED FOR KEYS INTRINSIC * ADDEM COMPILES CODE FOR THE ADDITION OF THE TOP 2 STACK OPERANDS. ADDEM NOP JSB MATYQ MATCH TYPES JSB COMUQ COMMUTE IF POSSIBLE. LDB ATOP,I GET ADDRESS ELB,CLE,ERB OF ATOP INFO. LDA 1,I GET ATOP ELA,CLE,ERA INFO WORD. CPA CONFO IF A CONSTANT, RSS JMP NOCON ADB .-3 TEST TO SEE IF LDA 1,I IT'S INB ZERO, AND IOR 1,I DO NADA IF SZA,RSS IT JMP ADD1 IS. NOCON JSB FIXUP SETUP VALUES FOR EMITTING. LDA ATOP,I TEST TYPES SSA,RSS JMP ADINT LDA #FAD EMIT JSB FAD JSB YASU EMIT JSB .FAD ADD1 JSB DELEQ DELETE JMP ADDEM,I RETURN ADINT LDA ADDOP EMIT ADA JSB EMEMQ JMP ADD1 #FAD DEF .FAD * TWEEN TESTS A NUMBER INA TO SEE IF IT IS BETWEEN * TWO OTHER NUMBERS. * CALL: LDA X * JSB TWEEQ * ABS Y * ABS Z * RETURN IF Y<=X<=Z * RETURN IF NOT TWEEQ NOP ENTRY POINT. LDB TWEEQ,I B_Y CMB,INB B_-Y ISZ TWEEQ ADB 0 B_X-Y SSB SKIP IF Y<=X JMP *+5 FAILS LDB 0 B_X CMB,INB B_-X ADB TWEEQ,I B_Z-X SSB SKIP IFX<=Z ISZ TWEEQ EXTRA SKIP FOR FAILURE ISZ TWEEQ ALWAYS AT LEAST ONE SKIP JMP TWEEQ,I * * SET FLAG FOR ALLOC ROUTINE TO PREVENT * SKIP INSIDE LINKAGE. * YASU NOP LDB PCNTR ADB .+2 F ������ STB XSKIP SET FLAG TO POINT TO NEXT WORD * AFTER LINKAGE JSB EMJSB EMIT JSB ROUTINE (IN -A-) JSB EDEFQ EMIT DEF DEF ATOP,I JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. JMP YASU,I SKP * MAKE ASSURES THAT A CONSTANT IS ASSIGNED STORAGE. MAKE NOP LDA MAKE,I GET INFO ADDRESS LDA 0,I OF ELA,CLE,ERA ENTRY. STA MAKET SAVE IT. SZARS SZA,RSS IF ACCUMULATOR JMP MAKE2 FORGET IT. LDA 0,I TEST FOR JSB SCATR CONSTANT. CPA TYCON JMP MAKE3 MAKE2 ISZ MAKE RETURN LDA IDTAB+17,I FIXUP JSB SCATR SCATTERED ITEMS JMP MAKE,I MAKE3 LDB MAKET DON'T DO ADB .-1 ANYTHING LDA 1,I IF CONSTANT SZA HAS ALREADY JMP MAKE2 BEEN ASSIGNED. ADB .-2 SAVE ADDRESS OF STB MAKEM CONSTANT. INB STB MAKEN CLA,RSS SEARCH FOR MAKE5 CLA,INA CONSTANT IN JSB LOOK TABLE. JMP MAKE4 NOT THERE CPA TYCON RSS JMP MAKE5 NOT A CONSTANT LDA .RBIT XOR MAKET,I SSA JMP MAKE5 WRONG TYPE LDB .INFO ADB .-1 LDA 1,I SZA,RSS JMP MAKE5 CONSTANT NOT ASSIGNED ADB .-1 LDA 1,I CPA MAKEN,I RSS JMP MAKE5 NOT THE SAME CONSTANT. ADB .-1 LDA 1,I CPA MAKEM,I RSS JMP MAKE5 NOT THE SAME CONSTANT. LDB MAKE,I SET STACK LDA MAKET,I POINTER TO AND BIT15 POINT AT IOR .INFO CORRECT STA 1,I CONSTANT LDA STUFF IF MAKET=STUFF, THE ORIGINAL CPA MAKET ENTRY WAS ON TOP OF STUFF & WE ADA .-4 CAN REMOVE IT BY SUBTRACTING 4 STA STUFF FROM STUFF. JMP MAKE2 MAKE4 LDB MAKET,I TEST ������ FOR REAL OR INTEGER SSB JMP *+5 REAL LDA MAKEN,I INTEGER STA IDNUM+1 LDA .+1 SET UP PARM FOR ALLOC JMP *+6 LDA MAKEN,I SET UP REAL PARMS FOR ALLOC STA IDNUM+1 LDA MAKEM,I STA IDNUM LDA .+2 JSB ALLOC ALLOCATE CONSTANT CCA RETURN ADDRESS OF CONSTANT TO ADA MAKET ASTAC STB A,I JMP MAKE2 SET UP RETURN MAKET NOP MAKEM NOP MAKEN NOP ACC BSS 1 " " ASTAC ELEMENT IN A & B * **** FORCE AN OPERAND(MULT.,DIV.,ETC.) TO THE *** * **** ACCUMULATOR AND GEN. STORAGE FOR THE VALUE* * FIXUP NOP JSB FORCE FORCE OPERAND TO THE ACC. DEF A2ND,I JSB MAKE GENERATE STORAGE FOR THE VALUE. DEF ATOP,I TO BE USED. JMP FIXUP,I RETURN TO COMPILER... SKP * TSTCN TESTS THE TOP STACK ELEMENT FOR A CONSTANT. IF IT IS ONE, * IT NEGATES IT. IF IT ISN'T, IT PERFORMS A SKIP RETURN. TSTCN NOP ENTRY POINT. LDB ATOP,I GET ADDRESS OF ELEMENT. ELB,CLE,ERB CLEAR MODE BIT. SZB,RSS IF ADDRESS IS ZERO, THIS IS JMP TSTNO ACCUMULATOR. STB TSTEM SAVE INFO ADDRESS. LDA TSTEM,I GET INFO WORD. JSB SCATR TEST ELEME CPA TYCON FOR CONSTANT. JMP TST1 IT IS ONE. TSTNO ISZ TSTCN NOT A CONSTANT. TST2 LDA IDTAB+17,I JSB SCATR JMP TSTCN,I SKIP RETURN. TST1 LDB TSTEM,I GET MODE OF CONSTANT LDA TSTEM GET ADDRESS OF ADA .-3 CONSTANT. STA TSTEM SSB TEST CONSTANT MODE. JMP TST3 REAL CONSTANT --NOT EASY * INTEGER CONSTANT ISZ TSTEM POINT TO LOCN OF INT LDA TSTEM,I CONST, FETCH IT, CMA,INA NEGATE IT, TST4 STA TSTEM,I & STORE IT BACK. JMP TST2 *REAL CONSTANT TST3 LDB 0,I GET THE CONSTANT INA LDA 0,I JSB COMPQ NEGATE IT..������. STB TSTEM,I ISZ TSTEM JMP TST4 TSTEM NOP * MAKIN FORCES AN ELEMENT TO BE AN INTEGER. MAKIN NOP LDA MAKIN,I GET ADDRESS OF ISZ MAKIN ELEMENT. STA MAKI1 LDA 0,I GET THE ELEMENT. SSA,RSS TEST IT FOR MODE. JMP MAKIN,I RETURN IF INTEGER. JSB FORCE FORCE TO ACC IF REAL. MAKI1 NOP LDA #RND EMIT CLB JSB FIX & SET ELEMENT TO STB MAKI1,I SAY INTEGER ACCUMULATOR. JSB EMJSB JMP MAKIN,I #RND DEF .RND SKP * DIFF COMPILES CODE TO PRODUCE THE DIFFERENCE OF THE ELEMENTS AT * AND & ATOP. DIFF NOP JSB TSTCN TEST MINUEND FOR A CONSTANT. JMP DIFAD IF IT IS, IT'S EASY. JSB MATYQ MATCH TYPES. LDA ATOP,I TEST MODE OF RESULT SSA,RSS JMP DIFF1 * FLOATING POINT * JSB FIXUP FORCE ACC FOR 1ST OPERAND LDA #FSB FSB JSB YASU EMIT JSB .FSB DIFF3 JSB DELEQ JMP DIFF,I * INTEGER * DIFF1 LDA ACC TEST FOR WHICH WAY TO SUBTRACT. CPA A2ND JMP DIFF2 * SUBTRACT ATOP FROM A2ND JSB FORCE DEF ATOP,I LDA CMINA JSB EMRRF JSB DELEQ LDA ADA JSB EMEMQ CLA STA ATOP,I LDA ATOP STA ACC JMP DIFF,I * SUBTRACT ATOP FROM ACC * DIFF2 LDA CMA JSB EMRRF CMA --- LDA ADA ADA M -- = SUBTRACT. JSB EMEMQ CMA -- LDA CMA JSB EMRRF JMP DIFF3 DIFAD JSB ADDEM TO ADDEM ROUTINE JMP DIFF,I #FSB DEF .FSB HED PROCEDURE PROCESSOR * PRO COMPILES CALLS UPON PROCEDURES. IT ASSUMES THAT THE * PROCEDURE NAME HAS JUST BEEN SCANNED, AND RETURNS AFTER * SCANNING THE RIGHT PAREN. ACPAR BSS 1 ACTUAL PARAMETER COUNT. PRINF BSS 1 POINTER TO PROCEDURE STUFF ENTRY FRMTY BSS 1 FORMAL PARAMETER TYPE PARS BSS 1 FORMAL PARAMETER COUNT. (=0 FOR * p������ FORMAL PROCEDURES). PARPN BSS 1 POINTER TO FORMAL PARAMETER TYPE PRO NOP ENTRY POINT JSB STACQ NECESSARY DEF ACPAR FOR JSB UNSTQ RECURSION. CLA INITIALIZE ACTUAL PARAMETER STA ACPAR COUNT TO 0. STA PARS ALSO CLEAR FORMAL PAR COUNT. LDA .INFO SAVE POINTER TO STA PRINF PROCEDURE ENTRY. ADA .-1 TEST FOR PROCEDURE LDB 0,I BEING FORMAL. SSB,RSS JMP PRO1 NOT FORMAL. * PROCEDURE IS A FORMAL PARAMETER. JSB SCANT SCAN NEXT SYMBOL. CPA LPREN IF A LEFT PAREN, GO TO JMP PRO2 COMPILE PARAMETERS. PRO5 ISZ SCAND OTHERWISE, BACKUP & GO TO COM. JMP PRO3 PILE CALLING SEQUENCE PRO1 ADA .-1 GET FORMAL PARAMETER LDA 0,I COUNT INTO PARS STA PARS SZA,RSS IF FORMAL PARAMETER COUNT=0, GO JMP PRO3 TO COMPILE CALLING SEQUENCE. JSB SCANT SCAN NEXT SYMBOL CPA LPREN CHECK FOR A LEFT PAREN. JMP PRO4 O.K. JSB .FLAG IF NO LEFT PAREN, DEC 12 IT'S AN ERROR. JMP PRO5 PRO4 LDA PARS SET PARPN TO CMA,INA POINT TO ARS FIRST ADA PRINF FORMAL ADA .-2 PARAMETER STA PARPN TYPE. PRO2 JSB SCANT SCAN BEGINNING OF ACTUAL PARAMETER. LDA PARS TEST FOR FORMAL PARAMETER SZA COUNT = 0. JMP PRO6 CLA,INA COUNT=0 IMPLIES FORMAL PROCEDURE JSB AEXP SO PARAMETER IS CALLED BY JMP PRO7 VALUE. PRO6 LDA PARPN,I GET LDB ACPAR FORMAL SLB,RSS PARAMETER ALFLF ALF,ALF TYPE AND ADJUST SLB FORMAL PARAMETER ISZ PARPN POINTER. AND .377 STA FRMTY ALF,ALF TEST FOR VALUE PARAMETER SSA,RSS JMP PRO8 `������PARAMETER NOT CALLED BY VALUE. CLA,INA VALUE PARAMETER--COMPILE JSB AEXP EXPRESSION. LDA FRMTY FORCE PARAMETER TO AND AAT HAVE CORRECT TYPE (100B) SZA JMP *+4 JSB MAKIN FORCE INTEGER DEF ATOP,I JMP PRO7 JSB MAKRL OR REAL. DEF ATOP,I JMP PRO7 PRO8 LDA FRMTY PARAMETER IS CALLED BY NAME. AND .77B TEST FOR REAL OR INTEGER TYPE. CPA TYVAR JMP PRO9 LDA .RBIT MAKE SURE ACTUAL PARAMETER & ALF,ALF FORMAL PARAMETERS AGRREE. RAR ADA .TYPE CPA .121B IF TYPE IS LABEL LDA .TYPE ELIMINATE D-BIT CPA FRMTY JMP *+3 LDA .+13 WIPE OUT IF THEY JMP DEATH DISAGREE. LDA .INFO PLACE ACTUAL PARAMETER ADA .RBIT IN STACK. JSB STAKQ JSB SCANT JMP PRO7 * NAME PARAMETER--REAL OR INTEGER * PRO9 LDA .TYPE MUST BE A CPA TYVAR VARIABLE OR JMP *+5 AN ARRAY. CPA TYARA JMP *+3 LDA .+14 TAKE GAS IF NOT. JMP DEATH CLA,INA JSB VARBQ LDA FRMTY MAKE SURE MODES AGREE. ALF,ALF RAL XOR ATOP,I SSA,RSS JMP *+3 JSB .FLAG DEC 13 PRO7 JSB CLACQ FORCE PARAMETER TO JSB MAKE ** 4/10/70 ** DEF ATOP,I ** 4/10/70 ** LDA ATOP,I MEMORY, PUT INTO MAIN JSB PUSHQ STACK, AND JSB DELEQ DELETE FROM PRIVATE STACK. ISZ ACPAR BUMP ACTUAL PARAMETER COUNT. LDA .TYPE CHECK TYPE OF NEXT SYMBOL. CPA COMMA IT MUST BE A JMP PRO10 COMMA OR A CPA RPREN RIGHT PAREN. JMP PRO11 LDA .+15 FORGET IT IF JMP DEATH NEITHER ONE. PRO10 LDA PARS PARAMETER TERMINATOR IS A COMMA. ADA .-1 SZA WIPE OUT IF TOO MANY PARAMETERS. JMP *+3 LDA .+16 ������ JMP DEATH SSA,RSS IF PARS WAS > 0, SUBTRACT 1 FROM STA PARS IT. JMP PRO2 LOOP FOR NEXT PARAMETER. PRO11 LDA PARS IF A RT.PAREN WAS THERE, IT IS ADA .-2 AN ERROR IF PARS>1 SSA JMP *+3 JSB .FLAG DEC 17 PRO3 JSB CLACQ JUST IN CASE LDA PRINF EMIT JSB TO THE JSB EMJSB LDA ACPAR COMPUTE *+ ADA PCNTR #OF PARAMETERS INA +1 JSB DEFR EMIT DEF FOR FTN COMPATABILITY JSB EDFSQ NOW OUTPUT ALL THE PARAMETERS DEF ACPAR LDA PRINF,I SET ACCUMULATOR POINTER PROPERLY. AND BIT15 JSB STAKQ LDA ATOP STA ACC JMP PRO+3 SPC 1 .121B OCT 000121 USED FOR LABEL TEST. HED FORCE ACCUMULATOR / MAKE REAL * FORCE ASSURES THAT THE ELEMENT GIVEN IS IN THE ACCUMULATOR. * CALL: JSB FORCE * DEF (USUALLY INDIRECT) FORCE NOP ENTRY POINT LDA FORCE,I GET ADDRESS. ISZ FORCE STA FORC1 LDA FORC1,I TEST TO SEE IF IT'S IN ACC CLE,ELA SZA,RSS JMP FORCE,I RETURN IF IT IS. JSB MAKE FORC1 NOP GET STORAGE IF A CONSTANT JSB CLACQ CLEAR ACCUMULATOR LDA FORC1,I ELA,CLE,ERA CLEAR I-BIT JSB EMLOD CALL LOAD EMITTER JSB FREE FREE IF A TEMPORARY DEF FORC1,I LDA FORC1,I NOW SET UP ACC. AND BIT15 STA FORC1,I LDA FORC1 RSS LDA 0,I RAL,CLE,SLA,ERA LINK THROUGH I-BITS JMP *-2 STA ACC JMP FORCE,I * MAKRL FORCES ITS ARGUMENT TO BE FLOATING POINT. * CALL: JSB MAKRL * DEF ADR OF ARG MAKRL NOP LDA MAKRL,I GET ARGUMENT LOCAL TO STA MAKR1 MAKRL ISZ MAKRL BUMP RETURN ADDRESS. LDA 0,I TEST MODE. SSA IF ALREADY REAL, RETURN RIGHT JMP MAKRL,I AWAY. ������ LDB 0,I CPB CONFO TEST FOR CONSTANT. JMP MAKR2 IT IS A CONSTANT. JSB FORCE IF NOT A CONSTANT, FORCE INTO MAKR1 NOP ACCUMULATOR AND LDA #FLOT FLOAT. JSB EMJSB JMP MAKR4 * THE OPERAND IS A CONSTANT. WE HAVE TO FLOAT IT. MAKR2 ADB BIT15 FORCE MODE TO STB 0,I BE REAL ADA .-2 PICK UP THE CONSTANT. STA T+1 LDA 0,I AND FLOAT IT. JSB FLOAQ STA T LDA T+1 GET ADDRESS INA LDA 0,I SZA SKIP IF NOT ESTABLISHED YET. JMP MAKR3 LDA T+1 PUT THE FLOATING POINT STB 0,I CONSTANT IN. ADA .-1 LDB T STB 0,I MAKR4 LDA MAKR1,I SET MODE BIT IOR BIT15 IN STACK STA MAKR1,I WORD JMP MAKRL,I MAKR3 STB T MAKE A NEW CONSTANT. LDA T+1 JSB STUFQ LDA T LDA MAKR2 JSB STUFQ CLA JSB STUFQ LDA CONFO IOR BIT15 JSB STUFQ LDA STUFF JMP MAKR4+1 HED CLEAR ACCUMULATOR / EMIT 'DEF' * CLACC INSURES THAT ANYTHING PRESENTLY IN THE ACCUMULATOR IS PUT * INTO TEMPORARY STORAGE. CLACQ NOP LDA ACC TEST TO SEE IF ACC IS EMPTY. SZA,RSS JMP CLACQ,I IT IS--RETURN IMMEDIATELY. LDB TEMP1 SCAN THE LIST OF TEMPORARIES. CLAC2 CPB TEMP2 TEST FOR END OF LIST. JMP CLAC1 NO FREE TEMPORARY AVAILABLE. ADB .+2 POINT B AT NEXT AVAILABLE TEMP. LDA 1,I GET INFO WORD. XOR ACC,I TEST FOR CORRECT TYPE. SSA SKIP IF RIGHT TYPE. JMP CLAC2 * FOUND A USABLE TEMP. B POINTS AT IT. CLAC4 ADB .-1 EXCHANGE STB T FIRST FREE ISZ TEMP1 WORD WITH THE LDA TEMP1,I DESIRED ONE. LDB T,I STA T,I STB TEMP1,I ISZ TEMP1 ISZ T LDA TEMP1,I LDB T,I STB TEMP1,I ST������A T,I LDA TEMP1 RETURN TEMP1 AS THE JMP CLAC5 DESIRED ADDRESS * AT THIS POINT, THERE IS NO AVAILABLE TEMP WITH THE RIGHT TYPE. TEMFO OCT 30042 SIGNIFIES TEMPORARY INFO CLAC1 CPB TLAST TEST FOR TABLE ALL FILLED UP JMP CLAC3 IT IS ISZ TEMP2 JSB CLBSS GET TEMP STORAGE STB TEMP2,I ISZ TEMP2 LDA ACC,I IOR TEMFO STA TEMP2,I LDB TEMP2 JMP CLAC4 * IF TABLE IS FULL WE HAVE TO SET UP A TEMP IN STUFF CLAC3 JSB CLBSS GET TEMP STORAGE LDA B CORE LOC. TO A JSB STUFQ LDA ACC,I IOR TEMFO JSB STUFQ LDA STUFF CLAC5 IOR ACC,I SET ENTRY IN ACCUMULATOR TO THE STA ACC,I RIGHT THING. ELA,CLE,ERA JSB EMSTR EMIT THE STORE INTO TEMPORARY. CLA SET ACC TO SAY EMPTY. STA ACC JMP CLACQ,I RETURN CLBSS NOP EMIT NEW TEMP CLA,INA LDB ACC,I REAL TEMP SSB INA YES JSB ALLOC JMP CLBSS,I * EDEF EMITS A DEF AND FREES THE ARGUMENT. EDEFQ NOP LDA EDEFQ,I GET ADDRESS OF ARGUMENT STA EDEF1 & GO TO FORCE ITS JSB MAKE EXISTENCE. EDEF1 NOP LDA EDEF1,I CALL THE DEF ELA,CLE,ERA JSB EMDEF EMITTER. JSB FREE REE IF IT WAS TEMP -- DEF EDEF1,I ISZ EDEFQ RETURN JMP EDEFQ,I * EMEM IS FOR MEMORY REFERENCE OPERATIONS. THE OP- * ERAND IS ALWAYS AT ATOP. B=INSTRUCTION FORMAT. EMEMQ NOP STA EMEM1 SAVE OPCODE JSB MAKE MAK DEF ATOP,I OPERAND LDB EMEM1 EMIT LDA ATOP,I INSTRUCTION. ELA,CLE,ERA JSB EMMRF JSB FREE FREE IF DEF ATOP,I TEMP. JMP EMEMQ,I RETURN. EMEM1 NOP .28D DEC 28 HED VARIABLE ADTOG BSS 1 SET IF AN ADDRESS RATHER THAN A SUBS BSS 1 VALUE IS REQUIRED. DIMS BSS 1 VA���N��LHRBQ NOP ENTRY. JSB STACQ NECESSARY FOR RECURSION. DEF ADTOG JSB UNSTQ * VARBL IS CALLED IN ORDER TO GET THE ADDRESS OR VALUE OF A * SIMPLE OR SUBSCRIPTED VARIABLE. WHEN A=1, AN ADDRESS IS REQUIRED * RATHER THAN A VALUE. WHEN A=0 & AN _ FOLLOWS, AN ADDRESS IS COM- * PILED ANYWAY. THIS DISTINCTION IS NECESSARY ONLY FOR SUBSCRIPTED * VARIABLES. STA ADTOG SAVE PARAMETER. LDA .TYPE CHECK FOR SIMPLE VARIABLE. CPA TYVAR JMP VARB1 CPA TYARA JMP *+3 LDA .28D JMP DEATH LDA .INFO SAVE POINTER TO ARRAY IN IOR .RBIT JSB STAKQ PRIVATE STACK. CCA GET ADDRESS AND ADA .INFO TEST FOR FORMAL PARAMETER LDB 0,I ADA .-1 SSB IF FORMAL, SET DIM CLA,RSS COUNT TO 0. LDA 0,I OTHERWISE, GET IT FROM TABLE. STA DIMS SGT INTO VCNT. JSB SCANT NOW CHECK TO SEE THAT CPA LBRAC A LEFT BRACKET FOLLOWS. JMP *+4 JSB .FLAG ERROR--ARRAY VARIABLE NOT DEC 18 FOLLOWED BY LEFT BRACKET. JMP VARBQ+3 CLA INITIALIZE # OF SUBSCRIPTS TO ����������������������������������������������������������������������������������������������������������������������+vN�������������� STA SUBS 0. VARB2 JSB SCANT CLA,INA CALL AEXP TO COMPILE A JSB AEXP JSB MAKIN FORCE IT TO BE AN DEF ATOP,I INTEGER. JSB CLACQ FORCE IT INTO MEMORY JSB MAKE ** 4/10/70 ** DEF ATOP,I ** 4/10/70 ** ISZ SUBS ADVANCE THE SUBSCRIPT COUNTER. LDA ATOP,I PLACE SUBSCRIPT IN STACK JSB PUSHQ AND DELETE FROM PRIVATE JSB DELEQ STACK. LDA .TYPE CHECK TYPE OF NEXT SYMBOL. IT CPA COMMA MUST BE A COMMA OR RIGHT JMP VARB3 BRACKET. CPA RBRAC JMP VARB4 JSB .FLAG ERROR IF NEITHER ONE OF DEC 19 THESE. JMP VARB5 VARB3 LDA DIMS IF A COMMA, THE DIMENSION COUNT SZA,RSS MUST NOT BE = 1. JMP VARB2 ADA .-1 STA DIMS SZA JMP VARB2 JSB .FLAG TOO MANY DEC 26 SUBSCRIPTS. JMP VARB2 VARB4 LDA DIMS IF A RIGHT BRACKET, DIMS MUST BE SZA <=1. CPA .+1 JMP *+3 JSB .FLAG TOO FEW SUBSCRIPTS. .27D DEC 27 JSB SCANT TEST FOR NEXT SYMBOL AN ASSIGN. VARB5 LDB .TYPE IF NEXT SYMBOL IS CPB STORE AN ASSIGN OR STB ADTOG ADTOG IS NON-ZERO, WE LDB ADTOG CALL .INDA. OTHERWISE, WE LDA #INDR CALL .INDR. SZB LDA #INDA LDB SUBS SET FLAG TO ADB PCNTR PREVENT ADB .+3 SKIP STB XSKIP INSIDE LINKAGE JSB EMJSB OUTPUT JSB. JSB EDEFQ OUTPUT DEF OF THE DEF ATOP,I ARRAY LDA SUBS OUTPUT NUMBER OF CMA,INA SUBSCRIPTS AS NEGATIVE. JSB EMOCT * NOW OUTPUT THE DEF OF THE ARGUMENTS. JSB EDFSQ DEF SUBS JSB CHXSK SEE IF CONSTANT SPACE ALLOCATED. LDA ATOP,I SET ATOP TO SAY AND BIT15 RESULT IN ACCUMULATOR. STA ATOP,I LDB ATOP STB ACC Mf������ LDB ADTOG IF RESULT IS AN ADDRESS, GO TO SZB,RSS CLEAR ACCUMULATOR JMP VARBQ+3 OTHERWISE RETURN IMMEDIATELY STA ADTOG SAVE RBIT IN ADTOG CLA SET ATOP TO INTEGER BECAUSE STA ATOP,I ONLY AN ADDRESS JSB CLACQ FORCE ADDRESS TO BE STORED LDA ATOP,I GET ADDRESS OF TEMP INFO AND LDB 0,I MAKE IT LOOK LIKE IT ADB ADTOG HAS THE RIGHT TYPE STB 0,I ADA .-1 LDB 0,I ALSO FORCE THE INDIRECT ADB BIT15 BIT IN THE TEMPORARY STB 0,I ADDRESS. INA ADA ADTOG ALSO FORCE THE MODE BIT STA ATOP,I INTO ATOP,I JMP VARBQ+3 RETURN. VARB1 LDA .INFO SIMPLE VARIABLE. IOR .RBIT BUILD INFO WORD, INCLUDING RBIT. JSB STAKQ & PLACE IN STACK. JSB SCANT SCAN NEXT SYMBOL & RETURN. JMP VARBQ+3 EDFSQ NOP OUTPUT A BLOCK OF DEFS. LDA EDFSQ,I GET NUMBER OF DEFS. LDA 0,I ADA STOP POINT TO FIRST EDFS2 CPA STOP CHECK FOR ALL DONE JMP EDFS1 WE ARE ADA .-1 POINT TO NEXT OPERAND STA EDFT1 JSB EDEFQ OUTPUT A DEF DEF EDFT1,I LDA EDFT1 JMP EDFS2 LOOP. EDFS1 LDB EDFSQ,I ADA 1,I STA STOP ISZ EDFSQ JMP EDFSQ,I #INDA DEF .INDA #INDR DEF .INDR EDFT1 BSS 1 HED COMMUTE IF POSSIBLE -- DELETE STACK HED MATCH TYPES * MATYP MATCHES THE TYPES OF THE 2 TOP STACK ELEMENTS. MATYQ NOP LDA ATOP,I IOR A2ND,I SSA,RSS SKIP IF EITHER IS REAL. JMP MATYQ,I JSB MAKRL FORCE A2ND REAL DEF A2ND,I JSB MAKRL - FORCE ATOP REAL DEF ATOP,I JMP MATYQ,I * STAKR ADDS AN ELEMENT TO THE ARITH STACK. STEND DEF ATABL+35 END OF ASTAC STAKQ NOP ISZ ATOP BUMP ISZ A2ND STACK LDB ATOP POINTERS. CPB STEND CHECK FOR y!������JMP *+3 OVERFLOW STA ATOP,I STORE IN STACK JMP STAKQ,I RETURN. LDA TEMPI ARITH OVERFLOW (=24) JMP DEATH * STUF (STUFQ) PLACES A WORD INTO STUFF & CHECKS FOR OVERFLOW ***** STUFQ NOP ISZ STUFF BUMP STUFF POINTER. LDB STUFF CPB STOP OVERFLOW CHECK JMP OVFLO STA STUFF,I JMP STUFQ,I AGRTR OCT 76 COMNT OCT 162 HED SCANNER ******************************************************************** * THE FUNCTION OF THE SCANNER IS TO OBTAIN THE NEXT SYMBOL IN AN * * ALGOL PROGRAM. THE SCANNER, AFTER OBTAINING A SYMBOL, PERFORMS * * A TABLE LOOKUP IN STUFF, AND OBTAINS ANY INFORMATION REGARDING * * THAT SYMBOL. IN PARTICULAR, IT UNPACKS THE BLOCK LEVEL (.BLEV), * * THE TYPE (.TYPE), AND THE ADDRESS OF INFO (.INFO). * * THE SCANNER ALSO HAS THE FUNCTIONS OF DELETING COMMENTS AND * * WATCHING FOR END$. * * INCLUDED WITHIN THE SCANNER ARE THE ID AND CHAR ROUTINES. ID * * DOES THE ACTUAL BUILDING OF A SYMBOL, WHILE CHAR ALWAYS PRODUCES* * THE NEXT INPUT CHARACTER. * ******************************************************************** SCANR NOP ENTRY POINT TO SCANNER LDA SCAND TEST SCAND. IF IT IS ZERO, GO TO SZA,RSS GETSM TO PICK UP THE NEXT SYMBOL JMP GETSM ADA .-1 OTHERWISE, DEBUMP SCAND STA SCAND * RETURN SECTION LDA IDTAB+17 GET ADDRESS OF CORRECT INFO WORD STA .INFO INTO INFO. LDA 0,I NOW GET INFO WORD AND JSB SCATR SCATTER IT. JMP SCANR,I RETURN * TEST FOR LAST SYMBOL=END. GETSM LDA IDTAB+17,I JSB SCATR CPA END JMP CMEND GO TO SCAN COMMENTS AFTER END. CSCAN JSB ID GET NEXT SYMBOL CPA COMNT SEE IF IT IS A COMMENT SYMBOL. JMP CMSCN GO TO SCAN COMMENTS. LDB IDTAB+17 STB .INFO JMP SCY������ANR,I * SCAN COMMENTS FOLLOWING END. CMEND JSB ID GET NEXT SYMBOL. CPA END RETURN IF SYMBOL IS AN END,ELSE, JMP SCANR,I OR SEMICOLON. CPA ELSE JMP SCANR,I CPA SEMI JMP SCANR,I CPA UNTIL JMP SCANR,I CPA BUCK IF A DOLLAR SIGN, JMP FINI1 TERMINATION ROUTINE JMP CMEND OTHERWISE, CONTINUE SCANNING. * SCAN COMMENT. CMSCN JSB CHAR CPA ASEMI SCAN FOR SEMICOLON. JMP CSCAN JMP CMSCN TEMP1 DEF TEMPS-1 * POINTERS TO TEMP2 DEF TEMPS-1 * TEMP TABLE SKP * ***************************************** * * ALLOC ALLOCATES IN LINE STORAGE * * * FOR TEMPORARIES, SIMPLE VARIABLES, * * * AND LITERALS IN CONTIGUOUS 20 * * * WORD BLOCKS .. ON ENTRY: * * * A = NUMBER OF WORDS DESIRED * * * ON EXIT B = ADDRESS WHERE STORAGE * * * IS ALLOCATED * * ***************************************** PTM0 DEF TM0 ADDRESS POINTER LPTM0 DEF TM0+20 END OF BLOCK(TEMP) + 1 TM1 OCT 0 BLOCK EMIT COUNTER TM3 OCT 0 NO. OF WORDS DESIRED TM4 NOP CORE BLOCK POINTER ALPTR NOP START OF CORE BLOCK XSAVE OCT 0 SAVE PCNTR VALUE XSKIP OCT 0 BUFFER ORIGIN TESTER * =0, GENERATE BUFFER AT * PRESENT PCNTR VALUE. * #0, GENERATE BUFFER AT * ADDRESS GIVEN. BLCTR OCT 100000 BLOCK(TEMP) POINTER ALLOC NOP ENTRY POINT ******************* STA TM3 SAVE A (NO. OF WORDS) ADA BLCTR CMA,INA ADA LPTM0 SSA ROOM FOR STORAGE? JMP STNEW NO - ALLOCATE NEW BLOCK ALCIT LDA TM3 CP������A .+1 INTEGER STORE? (1WORD?) JMP ININ YES LDB IDNUM NO - REAL NO. STB BLCTR,I ISZ BLCTR BUMP BLOCK(TEMP) POINTER ININ LDB IDNUM+1 STB BLCTR,I ISZ BLCTR BUMP POINTERS LDB TM4 SET B = STORAGE ADDRESS ADA TM4 STA TM4 SET TM4=NEW ADDRESS JMP ALLOC,I RETURN EXIT STNEW CLB *****START NEW BLOCK ***** LDA PCNTR STA XSAVE SAVE PCNTR CPB XSKIP XSKIP = 0? JMP INLNE JSB EMJPR LDA XSKIP NO, SET AT GIVEN ADDRESS STA PCNTR SINCE WE ARE PRESENTLY ADA .+21 GENERATING A LINKAGE. STA XSKIP SET NEXT PCNTR VALUE RSS INLNE ADA .+21 CLB JSB EMJMP EMIT JUMP AROUND NEW BLOCK LDA ALPTR STA BLCTR SET ADDR OF BLOCK TO BE OUTPUT LDB PCNTR STB ALPTR SET ADDR OF NEW BLOCK IN CORE STB TM4 SET CORE BLOCK POINTER LDA .+20 SET UP EMBSS PARMS JSB EMBSS EMIT HOLE FOR NEW BLOCK ISZ EMITS FIRST TIME THRU? RSS NO - JMP EMIT1 YES - SKIP EMIT LDB BLCTR EMIT OLD BLOCK JSB EMSET INITIALIZE FOR OLD BLOCK EMISSION LDA .+20 SET UP RECURSION COUNTER CMA,INA STA TM1 JSB EMITS EMIT1 LDA PTM0 INIT TEMP BLOCK ADDR FOR STA BLCTR BLOCK PROCESSING LDA XSKIP RESTORE PROGRAM LDB XSAVE COUNTER SZA,RSS JMP ALCIT STB PCNTR JSB EMJPR JMP ALCIT GO ALLOCATE THE STORAGE EMITS OCT -1 ENTRY(AND 1ST TIME CONST.) LDA PTM0 SET OUTPUT LOCN. STA BLCTR SET UP BLOCK INDEX EMIT LDA BLCTR,I JSB EMOCT OUTPUT 1 WORD ISZ BLCTR ISZ TM1 TEST FOR END OF BLOCK JMP EMIT NO - GO BACK & EMIT ANOTHER WORD JSB EMRST YES - RESTORE TO MAIN STREAM JMP EMITS,I EXIT HIMSK OCT 177400 BLK OCT 1 CN������URRENT BLOCK LEVEL $SYMB DEF IDTAB+9 ADDR OF LATEST SYMBOL FROM SCANR PCMSK OCT 140000 MASK FOR UPPER 2 BITS OF A WORD BIT15 OCT 100000 HED ID ROUTINE **************************************************** * THE ID ROUTINE IS THE HEART OF THE ALGOL SCAN- * * NER. ITS FUNCTION IS TO PICK UP THE NEXT SYMBOL * * IN THE INPUT STRING. THIS MAY BE AN IDENTIFIER, * * RESERVED WORD, NUMBER, OR SPECIAL CHARACTER. * **************************************************** ID NOP ENTRY POINT LDA BATL1 INITIALIZATION SECTION. STA T LDA .-8 SET LAST SYMBOL TO ALL CLB ZEROS. TEMPORARY VARIABLES STB T,I USED IN ID ARE EQUIVALENCED ISZ T TO THE LAST SYMBOL TABLE. INA,SZA JMP *-3 ERA SET FRACTION COUNTER STA FCNT TO -32768. NEWID JSB DBLNK GET FIRST NONBLANK CHAR. CPA AMPER IF AN AMPERSAND (&), GO TO JMP NEXLN FORCE A NEW LINE TO BE READ JSB IDPAK JSB LETTR IS IT A LETTER? JMP IDENT YES--GO TO IDENTIFIER SECTION. CPA ALESS IF THE CHARACTER IS A JMP MULSM <, >, OR :, GO TO MULSM TO CPA AGRTR CHECK WHETHER THE TRUE SYMBOL IS JMP MULSM <=, >=, OR :=. CPA ACOLN JMP MULSM CPA AQUOT IF A QUOTE, GO TO PROCESS AN JMP ASCSM ASCII CONSTANT. CPA AAT IF AN AT SYMBOL (@), GO TO PRO- JMP LIT0 CESS AN OCTAL CONSTANT. CPA APOIN IF A DECIMAL POINT, GO TO PRO- JMP LIT2 CESS REAL NUMBER. CPA APOST IF AN APOSTROPHE, GO TO PRO- JMP LIT3 CESS REAL NUMBER. JSB DIGIT IF A DIGIT, GO TO PROCESS REAL JMP LIT1 OR INTEGER NUMBER. * IF NONE OF THESE, LOOK SYMBOL UP IN SYMBOL TABLE ID1 JSB LOOK1 CALL LOOKUP ROUTINE BATL1 DEF IDTAB+9 JMP *+4 JUMP IF NOT IN TABLE LDB .INFO SAVE INFO ADDRESS STB ID������TAB+17 JMP ID,I RETURN LDA TYUOP IF NOT IN TABLE, IT'S UNDEFINED LDB DUNCH SYMBOL. JMP *-4 NEXLN CLA FORCE A NEW INPUT LINE WHEN AN STA CCNT AMPERSAND IS THE FIRST SCANNED CHAR JMP NEWID * IDENTIFIER PROCESSING SECTION. DUNCH DEF *+1 POINTS AT UNDEFINED CHARACTER OCT 37000 DUNID DEF *+1 POINTS AT UNDEFINED IDENTIFIER OCT 36040 IDBLD JSB IDPAK CONTINUE BUILDING THE IDENTIFIER IDENT JSB CHAR GET NEXT CHARACTER. JSB LETTR IF IT IS A LETTER OR A JMP IDBLD DIGIT, GO TO CONTINUE JSB DIGIT BUILDING THE IDENTIFIER. JMP IDBLD ISZ PEEKD IF NOT, BACK UP OVER THAT CHAR- JSB LOOK1 ACTER AND CALL LOOKUP DEF IDTAB+9 RSS UNDEFINED ID JMP ID1+3 LDA DUNID JMP LIT5+1 * SECTION TO CHECK FOR A MULTIPLE CHARACTER SYMBOL. MULSM JSB DBLNK GET NEXT NON BLANK CHARACTER. CPA AEQUL IF IT'S AN EQUAL SIGN, PACK THE JMP *+3 EQUAL SIGN IN WITH THE ISZ PEEKD PREVIOUS CHARACTER. IF NOT, JMP ID1 BACK UP THE JSB IDPAK CHARACTER SCANNER JMP ID1 * SECTION TO CONVERT ASCII CONSTANTS. ASCSM JSB CHAR GET FIRST CHARACTER OF CONSTANT. STA IDNUM+1 SET INTO NUMBER. JSB CHAR GET SECOND CHARACTER. CPA AQUOT IS IT A QUOTE? JMP ASC1 YES--GO CHECK FOR END OF CONST. ASC2 ALF,ALF PACK INTO NUMBER WITH FIRST CHAR IOR IDNUM+1 ALF,ALF STA IDNUM+1 JSB CHAR MAKE SURE NEXT CHARACTER IS A CPA AQUOT QUOTE MARK. JMP LIT5 OK--GO FINISH UP. * ERROR NUMBER 1--MORE THAN 2 CHARACTERS IN AN ASCII CONSTANT. JSB .FLAG CALL ERROR DEC 1 PRINTER. * ATTEMPT TO RECOVER BY SCANNING FOR A QUOTE MARK. JSB CHAR CPA AQUOT JMP LIT5 JMP *-3 * TRANSFER TO THIS POINT FOR THE COMBINA������TION "X". ASC1 JSB CHAR PEEK AT NEXT CHARACTER. ISZ PEEKD CPA AQUOT IS IT ANOTHER QUOTE ? JMP ASC2 YES--TREAT QUOTE AS ASCII. * END OF INTEGER PROCESSING LIT5 LDA DCONI SET TYPE AS INTEGER CONSTANT. STA IDTAB+17 LDA 0,I JSB SCATR JMP ID,I * OCTAL CONVERSION SECTION LIT0 JSB CHAR GET FIRST OCTAL DIGIT. JSB OCDIG CHECK IT. JMP LIT00 O.K. * ERROR #2--@ NOT FOLLOWED BY AN OCTAL DIGIT JSB .FLAG PRINT ERROR DEC 2 MESSAGE LIT01 ISZ PEEKD SET PEEKD. JMP LIT5 GO TO CHECK SIGN. LIT00 LDB IDNUM+1 PACK NEW DIGIT IN WITH BLF,RBR PREVIOUS OCTAL RESULT. AND .+7 REMOVE ASCII BITS IOR 1 STA IDNUM+1 LDA 1 TEST FOR OVERFLOW BY MAKING AND .+7 SURE THAT THE LAST SZA,RSS 3 BITS OF THE ROTATED B REG. JMP LIT02 ARE ALL 0 JSB CHAR **ERROR - OCT CONST> 177777. ******* JSB OCDIG JMP *-2 JSB .FLAG PRINT ERROR MESSAGE 3 DEC 3 JMP LIT01 LIT02 JSB CHAR CONTINUE SCANNING. JSB OCDIG IF CHARACTER IS ANOTHER OCTAL JMP LIT00 DIGIT, GO TO BUILD NUMBER. JMP LIT01 OTHERWISE,END OF OCTAL NUMBER. * END OF OCTAL PROCESSING. LIT1 ISZ FCNT ADVANCE COUNTER OF DIGITS BEYOND LDB EXP DECIMAL POINT. SZB CHECK FOR OVERFLOW PREVIOUSLY JMP LIT10 YES, IGNORE CURRENT DIGIT. AND .+17B MASK OUT ASCII BITS AND SAVE. STA T SAVE IN TEMPORARY. * COMPUTE 10 TIMES PREVIOUS RESULT. LDA IDNUM LOAD PREVIOUS RESULT. LDB IDNUM+1 CLE,ELB SHIFT LEFT TWO BITS, PRODUCING ELA A MULTIPLICATION BY FOUR. CLE,ELB ELA SEZ,RSS OVERFLOW IF E OF A15 SET SSA JMP LIT11 NUMBER OVERFLOWED. ADA IDNUM ADD IN THE DOUBLE ADB IDNUM+1 LENGTH NUMBE������R TO PRODUCE A SEZ NET MULTIPLICATION CLE,INA BY FIVE. CLE,ELB SHIFT AGAIN TO MAKE IT ELA A MULTIPLICATION BY 10 SEZ,RSS OVERFLOW IF E OF A15 SET SSA JMP LIT11 OVERFLOW. ADB T NOW ADD IN THE NEW DIGIT SEZ TO PRODUCE THE FINAL CLE,INA RESULT. SSA CHECK ONCE MORE FOR OVERFLOW. JMP LIT11 OVERFLOW STA IDNUM STB IDNUM+1 JMP LIT12 LIT11 ISZ MODES FIRST OVERFLOW--SET MODE REAL. LIT10 ISZ EXP ADVANCE COUNT OF IGNORED DIGITS. LIT12 JSB CHAR GET NEXT CHARACTER. JSB DIGIT IS IT A DIGIT? JMP LIT1 YES--LOOP TO NUMBER BUILDER. CPA APOIN IS CHARACTER A DECIMAL POINT? JMP LIT13 YES--GO PROCESS IT. CPA APOST IS IT AN APOSTROPHE (') ? JMP LIT14 YES. JMP LIT15 NO--END OF NUMBER. LIT13 LDA FCNT CHECK FOR PREVIOUS DECIMAL POINT SSA ERROR IF FCNT>=0. JMP LIT16 * ERROR #4--2 DECIMAL POINTS IN 1 NUMBER. JSB .FLAG PRINT ERROR MESSAGE. DEC 4 JMP LIT12 GO LOOP FOR NEXT CHARACTER. LIT2 JSB CHAR COME HERE WHEN FIRST CHARACTER ISZ PEEKD IS A POINT. JSB DIGIT IF A DIGIT FOLLOWS, IT IS A RSS NUMBER. JMP ID1 OTHERWISE THE POINT IS ISOLATED. LIT16 CLA SET FRACTIONAL DIGITS TO 0. STA FCNT ISZ MODES SET MODE TO REAL. JMP LIT12 * PROCESS EXPONENT PART OF NUMBER. LIT3 ISZ IDNUM+1 WHEN ' IS FIRST CHAR, MAGN.=1 LIT14 ISZ MODES SET MODE TO REAL JSB CHAR GET NEXT CHARACTER. CPA APLUS IS IT A PLUS? JMP LIT17 YES--IGNORE IT. CPA AMINU IS IT A MINUS? JMP LIT18 YES--GO TO SET EXPONENT SIGN. * PROCESS EXPONENT MAGNITUDE. LIT19 JSB DIGIT CHECK FOR FIRST CHARACTER A DIG. JMP LIT50 * ERROR NUMBER 5--' NO������T FOLLOWED BY AN INTEGER. JSB .FLAG DEC 5 JMP LIT15 LIT18 ISZ EXPSN SET EXPONENT SIGN. LIT17 JSB CHAR JMP LIT19 LIT50 LDB EXVAL MULTIPLY PREVIOUS EXPONENT BLS,BLS MAGNITUDE BY 10. ADB EXVAL BLS AND .+17B MASK OUT ASCII BITS IN NEW DIGIT ADA 1 AND ADD TO VALUE. STA EXVAL JSB CHAR GET NEXT CHARACTER. JSB DIGIT JMP LIT50 LOOP IF IT'S A DIGIT. LIT15 ISZ PEEKD *** COMPUTE FINAL VALUE OF NUMBER** LDA MODES TEST FOR MODES=REAL SZA SKIP IF INTEGER. JMP LIT51 LDA IDNUM TEST FOR NUMBER >=32768 SZA JMP LIT51 IT IS GREATER. LDB IDNUM+1 SSB,RSS IS LOW PART TOO BIG? JMP LIT5 NO. LIT51 LDA EXVAL SET EXPONENT TO CORRECT LDB EXPSN SIGN. SZB CMA,INA ADA EXP LDB FCNT GET FCNT & COMPLEMENT IT. CMB,SSB,INB IF IT WAS POSITIVE, ADD IT ADA 1 IN TO EXPVAL. STA EXVAL * THIS FINAL SECTION COMPUTES THE VALUE OF A FLOATING POINT NUMBER. * THE MANTISSA PART OF THE NUMBER IS IN IDNUM&IDNUM+1, AS AN INTE- * GER. THE DECIMAL EXPONENT IS IN EXVAL. LDA .37B INITIALIZE BINARY EXPON. TO 31. STA EXP LDA IDNUM CHECK FOR MANTISSA LDB IDNUM+1 EQUAL ZERO. SZA,RSS GO TO LIT52 IF SZB NUMBER=0. JMP LIT54 LIT52 LDA DCONR SET TYPE TO SAY REAL CONSTANT. JMP LIT5+1 LIT54 JSB NORML NORMALIZE NUMBER. LDA EXVAL CHECK EXPONENT FOR ZERO. SZA ALL DONE IF EXPONENT IS ZERO. JMP LIT53 * NOW PACK THE RESULT * LDB IDNUM GET HIGH PART OF MANT IN B LDA IDNUM+1 AND LOW PART IN A ABLAN CLE ADA .200B PERFORM ROUNDING. SEZ CLE,INB AND HIMSK MASK BITS IN LOW PART STA T+1 AND SAVE SSB,RSS IF SIGN OF B IS Y������SET, JMP *+3 RBR ROTATE DOWN AND SET CLA,INA,RSS EXPONENT TO ONE MORE. CLA ADA EXP ADD IN THE EXPON RAL POSITION EXPONENT TO AND .377 8 BITS IOR T+1 ADD IN LOW ORDER BITS STB IDNUM STORE PACKED RESULT BACK STA IDNUM+1 JMP LIT52 GO TO RETURN LIT53 SSA TEST SIGN OF EXPONENT JMP LIT55 NEGATIVE EXPONENT--GO TO DIV/10 ADA .-1 ***** POSITIVE EXPONENT **** STA EXVAL LDA EXP MULTIPLY BY 8 BY INCREASING ADA .+3 EXP BY 3. STA EXP LDA IDNUM GET MANTISSA AND SHIFT TO GET LDB IDNUM+1 1/4. CLE,ERA ERB CLE,ERA ERB,CLE ADB IDNUM+1 DOUBLE ADD, PRODUCING 1.25* SEZ IDNUM. INA ADA IDNUM NOTE THAT MANTISSA MAY HAVE JMP LIT54 OVERFLOWED. * NEGATIVE EXPONENT LIT55 INA INCREASE NEGATIVE DECIMAL STA EXVAL EXPONENT LDA EXP SUBTRACT 3 FROM BINARY EXPONENT. ADA .-3 STA EXP LDA IDNUM+1 MULTIPLY LOW PART OF MANTISSA BY JSB MPY SEZ INA STA IDNUM+1 LDA IDNUM NOW MULTIPLY HIGH MANTISSA THE JSB MPY ADB IDNUM+1 ADD IN PREVIOUS SEZ RESULT. INA JMP LIT54 *MPY MULTIPLIES 2 16-BIT NUMBERS IN A AND B *AND COMPUTES A 32-BIT RESULT, HIGH PART IN A MPY NOP LDB TENTH 1/10 STA T SAVE MULTIPLICAND LDA M16D SET COUNTER TO STA T+1 -16 CLA CLEAR INITIAL PRODUCT CLE,SLB TEST MULTIPLIER BIT ADA T ADD IN MULTIPLICAND IF BIT SET ERA ERB ISZ T+1 TEST COUNTER JMP *-5 LOOP CLE ADD HIGH PART OF RESULT TO LOW ADB 0 PART FOR THE CROSS PRODUCT. JMP MPY,I RETURN M16D DEC -16 -16 TENTH !������OCT 146314 BUCK OCT 177 $ .200B OCT 200 IDNUM EQU IDTAB+10 EXP EQU IDNUM+2 EXVAL EQU EXP+1 MODES EQU EXVAL+1 EXPSN EQU MODES+1 FCNT EQU EXPSN+1 * DBLNK SCANS FOR THE NEXT NONBLANK CHARACTER * DBLNK NOP ENTRY JSB CHAR CPA ABLAN JMP *-2 JMP DBLNK,I * DIGIT TESTS A CHARACTER FOR A DIGIT DIGIT NOP JSB TWEEQ AZERO OCT 60,71 JMP DIGIT,I ISZ DIGIT SKIP RETURN IF NOT DIGIT. JMP DIGIT,I * IDPAK PACKS THE CHARACTER IN A WITH THE IDENTIFIER SO FAR **** IDPAK NOP STA T LDA IDTAB+9 GET ALF,ALF CHARACTER AND .377 COUNT CPA .+15 IF 15 CHARACTERS ALREADY, JMP IDPK1 RETURN LDB IDTAB+9 ADVANCE CHARACTER COUNT ADB P400B STB IDTAB+9 INA COMPUTE LOCATION OF WORD CLE,ERA INTO WHICH TO PACK. ADA BATL1 LDB 0,I SEZ,RSS POSITION BLF,BLF AND ADB T PACK SEZ,RSS BLF,BLF STB 0,I IDPK1 LDA T JMP IDPAK,I * LETTR TESTS THE CHARACTER IN A FOR BEING A LETTER * LETTR NOP JSB TWEEQ OCT 101,132 JMP LETTR,I ISZ LETTR SKIP IF NOT A LETTER JMP LETTR,I * OCDIG TESTS A CHARACTER FOR AN OCTAL DIGIT OCDIG NOP STA T SAVE CHARACTER IOR .+7 IF HIGH 13 BITS CPA .67B ARE 60B, IT'S AN RSS OCTAL DIGIT ISZ OCDIG SKIP RETURN IF NOT LDA T JMP OCDIG,I * NORMAL LEFT JUSTIFIES THE NUMBER IN A & B AND STORES IT IN IDNUM. NORML NOP SZA,RSS TEST FOR ZERO SZB JMP NRML1 STA EXP NRML3 STA IDNUM STB IDNUM+1 JMP NORML,I NRML1 SSA TEST HIGH BIT OF MANTISSA JMP NRML2 BIT IS SET CLE,ELB BIT NOT SET--LEFT SHIFT ELA STA IDNUM SUBTRACT CCA ONE ADA EXP ���N��LH FROM STA EXP EXP LDA IDNUM AND JMP NRML1 LOOP NRML2 CLE,ERA SHIFT RIGHT ERB ISZ EXP BUMP EXP JMP NRML3 JMP NRML3 * SCATR TAKES THE INFO WORD IN A AND UNPACKS IT INTO * WORD LENGTH (.WLEN), BLOCK LEVEL (.BLEV), TYPE (.TYPE), * REAL OR INTEGER (.RBIT), EXTERNAL OR INTERNAL (.XBIT) .WLEN BSS 1 WORD LENGTH OF SYMBOL TABLE ENT SCATR NOP STA T SAVE INFO IN T STA HLS05 SAVE FOR LIST ROUTINE ALSO. AND .37B MASK WORD LENGTH CMA,INA AND SET AS NEGATIVE STA .WLEN LDA T GET INFO AGAIN CLB RAL,SLA TEST RBIT LDB BIT15 STB .RBIT CLB RAL,SLA TEST XBIT LDB BIT15 STB .XBIT LDA T GET INFO AGAIN ALF,ALF POSITION BLOCK LEVEL ALF,RAR ��������������������������������������������������������������������������������������������������������������������������������������������������������������\sN�������������� AND .+17B MASK AND STA .BLEV STORE LDA T GET INFO AGAIN ALF,ALF POSITION TYPE RAR AND BUCK MASK TYPE.(MASK=177B) LDB .BLEV IF BLEV IS NON ZERO, SZB MASK OFF BITS 5&6. AND .37B STA .TYPE JMP SCATR,I TYPE IS IN A .INFO BSS 1 ADDRESS OF INFO WORD .RBIT BSS 1 REAL/INTEGER BIT .XBIT BSS 1 EXTERNAL BIT .BLEV BSS 1 BLOCK LEVEL .TYPE BSS 1 TYPE HED PRINT ROUTINE * THE FUNCTION OF THE PRINT ROUTINE IS TO PRINT A * LINE ON THE LIST DEVICE. IT MAINTAINS A COUNT * OF LINES PRINTED SO THAT IT CAN PAGINATE THE * OUTPUT. IT IS CALLED WITH * A=#OF CHARACTERS TO PRINT. * B=ADDRESS OF START OF BUFFER. PRINT NOP ENTRY POINT CMA,INA FOR STA PR2 SAVE PARAMETERS. STB PRN ISZ LCNTR TEST FOR END OF PAGE. JMP PR1 NOT END OF PAGE. LDA LINES RESET LINE COUNTER. STA LCNTR ISZ PAGES BUMP PAGE COUNTER LDA PAGES CONVERT PAGE COUNTER INTO JSB DCONV THE PAGE BUFFER. DEF PAGEB+3 JSB EXEC SKIP TO TOP OF PAGE(6 LINES/TTY) DEF *+4 DEF .+3 DEF SPC LSTYP DEF .+6 THIS IS DEF .-1 IF PRINTER JSB EXEC NOW PROINT PAGE HEADER DEF *+5 DEF .+2 DEF LUNOU DEF PAGEB DEF .-9 JSB EXEC DEF *+4 DEF .+3 DEF SPC DEF .+2 PR1 LDA PR2 SZA BLANK LINE REQUESTED JMP PR11 JSB EXEC PRINT BLANK LINE DEF *+4 DEF .+3 DEF SPC DEF .+1 JMP PRINT,I PR11 JSB EXEC PRINT LINE DEF *+5 DEF .+2 DEF LUNOU PRN NOP DEF PR2 JMP PRINT,I RETURN PR2 BSS 2 PAGEB ASC 5,PAGE LCNTR OCT -1 LINE COUNTER PAGES NOP PAGE COUNTER. HED ERROR PRINTE0������R * ERROR PRINTER IS RESPONSIBLE FOR PRINTING ERROR MESSAGES ON THE * STANDARD LIST DEVICE. THE CALLING SEQUENCE IS: * JSB .FLAG * DEC N * WHERE N IS THE ERROR NUMBER. * THE FOLLOWING SEQUENCE IS PRINTED: * COL:1 5 7 9 * ERROR NNN ^ * THE ARROW APPEARS UNDER THE LAST CHARACTER SCANNED BY THE CHAR * ROUTINE. CCNT1 OCT -111 CCNT3 OCT -112 .FLAG NOP ENTRY POINT JSB PRLIN MAKE SURE SOURCE LINE IS PRINTED LDA .FLAG,I CONVERT ERROR NUMBER INTO JSB DCONV COLUMNS 7-9. DEF PRIN LDA CCNT COMPUTE NUMBER OF CHARACTERS ADA CHARS SCANNED SO FAR, OR 61, WHICH- ADA CCNT1 EVER IS SMALLER SSA,RSS CLA ADA CCNT2 STA T T=NUMBER OF BLANKS TO BE CMA INSERTED. STA T+1 LDB FLGII FILL BUFFER IN WITH BLANKS. FLAG5 ISZ T+1 ANY MORE BLANKS? JMP FLAG2 YES. LDA UPARO NO. PLACE AN ARROW IN THE * NEXT WORD. JMP FLAG3 FLAG2 ISZ T+1 IS THIS THE LAST BLANK? JMP FLAG4 NO. LDA BLARO FLAG3 STA 1,I LDA T CALL PRINT ROUTINE ADA .+11 LDB FLAGI JSB PRINT ISZ ECNTR BUMP ERROR COUNTER ISZ .FLAG BUMP RETURN ADDRESS JMP .FLAG,I FLAG4 LDA PAGEB+2 INSERT 2 BLANKS IN THE STA 1,I SINGLE WORD. INB JMP FLAG5 FLAGI DEF ERROR FLGII DEF PRIN+2 HED CONVERSION ROUTINES (BINARY TO ASCII) * DCONV CONVERTS A BINARY NUMBER TO A 3 DIGIT DECI- * MAL NUMBER. THE CALLING SEQUENCE IS: * JSB DCONV (A=BINARY NUMBER) * DEF L * THE FIRST TWO DIGITS OF THE RESULT ARE PLACED IN * L. THE THIRD, FOLLOWED BY A BLANK, IS PLACED IN * L+1. ASC00 ASC 1,00 DFIX ASC 1, : UPARO OCT 57000 ^0 BLARO ASC 1, ^ DCONV NOP LDB DCONV,I STB T LDB ASC00 ADA M100D TRY TO SUBX������TRACT 100 SSA SKIP IF O.K. JMP *+3 NOT O.K. ADB P400B ADD 1 TO FIRST CHARACTER OF ANS. JMP *-4 ADA INPUT (=100) ADA .-10 TRY TO SUBTRACT 10 SSA SKIP IF O.K. JMP *+3 NOT O.K. INB BUMP SECOND CHARACTER IF O.K. JMP *-4 STB T,I STORE FIRST WORD. ISZ T ADA DFIX FIX UP LAST CHARACTER ALF,ALF AND STA T,I STORE IT. ISZ DCONV JMP DCONV,I RETURN M100D DEC -100 * OCONV CONVERTS A BINARY NUMBER TO A 6 DIGIT OCTAL * NUMBER. THE CALLING SEQUENCE IS: * JSB OCONV (A=BINARY NUMBER) * DEF L * THE RESULT IS AS FOLLOWS: * BNNNNNNB (B=BLANK) * ^ ^ ^ ^ * L ^L+2^ * L+1 L+3 ASCB0 ASC 1, 0 OCONV NOP ENTRY POINT LDB OCONV,I GET STARTING ADDRESS STB T LDB ASCB0 BLANK ,0 TO B. RAL,CLE,SLA POSITION A & TEST FIRST BIT. INB SET FIRST BIT IN B AND STORE STB T,I IN FIRST WORD. OCON1 ISZ T BUMP POINTER ALF,RAR GET 1 OCTAL DIGIT IN A(2-0) STA T+1 SAVE AND .+7 MASK OUT THE DIGIT LDB ASC00 SET B TO 2 ZEROES ADB 0 ADD IN FIRST DIGIT & BLF,BLF POSITION XOR T+1 GET NUMBER AGAIN AND ALF,RAR POSITION ANOTHER DIGIT STA T+1 SAVE. AND .+7 MASK OUT-DIGIT AGAIN AND ADB 0 MERGE TO B. STB T,I STORE IN BUFFER. XOR T+1 GET NUMBER AGAIN. SEZ,CCE,RSS TEST FOR L+1 OR L+2 JMP OCON1 LOOP FOR L+2 ISZ T BUMP ADDRESS. RAR,ALF POSITION LAST DIGIT AND .+7 AND MASK. IOR ASCB0 MERGE ASCII BITS ALF,ALF AND POSITION. STA T,I STORE LAST DIGIT ISZ OCONV AND RETURN. JMP OCONV,I HED CHARR������ACTER FETCH ROUTINE * THE PURPOSE OF THE CHAR ROUTINE IS TO OBTAIN THE NEXT CHARACTER * FROM THE ALGOL SOURCE INPUT. WHEN THE END OF A LINE IS REACHED, * A BLANK IS RETURNED BEFORE GOING TO THE NEXT LINE. THIS PREVENTS * TWO WORDS FROM APPEARING AS ONE WHEN THE SECOND BEGINS IN COLUMN * ONE. THE CHAR ROUTINE CAN BE MADE TO BACK UP BY SETTING THE * VARIABLE PEEKD TO NONZERO. IT IS ALWAYS CLEAR UPON RETURN. CHAR NOP ENTRY POINT CLA TEST TO SEE IF PEEKD IS ZERO. CPA PEEKD JMP CHAR1 PEEKD=0. WE HAVE TO WORK. STA PEEKD CLEAR PEEKD FOR RETURN. LDA LC GET LAST CHARACTER JMP CHAR,I RETURN CHAR1 CPA CCNT IF CCNT=0, WE HAVE ALREADY RE- JMP CHAR2 TURNED THE END-OF-LINE BLANK. ISZ CCNT HAVE WE RETURNED THE LAST CHAR- JMP CHAR3 ACTER YET? GO TO CHAR3 IF NOT. LDA ABLAN RETURN A BLANK AT THE END OF A CHAR4 STA LC LINE. JMP CHAR,I CHAR2 JSB %READ GO READ 72 CHARACTERS DEF *+5 DEF LUNIN DEF BUFF DEF M72D JMP EOF1 END FILE RETURN SZB JMP CHAR5 CPB SEQNO IF SEQNO IS 0 THEN JMP CHAR2 READ AGAIN STB SEQNO SET SEQNO = 0 * AND PAUSE FOR NEW TAPE RELOAD EOF1 JSB EXEC SUSPENSION DEF *+2 DEF .+7 JMP CHAR2 GO READ NEW TAPE CHAR5 ISZ SEQNO ADVANCE SEQUENCE # FOR NEW RECORD STB CHARS STORE LINE LENGTH CMB,INB NEGATE STB CCNT SET COUNTER LDB BPNTI CLE,ELB STB BPNTR CLA CLEAR TYPED TO SAY LINE NOT STA TYPED PRINTED YET. LDA LSTOG SZA SKIP PRINT IF NO LIST FLAG JSB PRLIN PRINT LINE ROUTINE. CHAR3 LDB BPNTR GET BUFFER POINTER. CLE,ERB POSITION IN B & E. LDA 1,I GET WORD CONTAINING DESIRED CHAR SEZ,RSS IF E=0, WE WANT THE LEFT CHARA������C- ALF,ALF TER, SO ROTATE THE WORD. AND .377 KEEP ONLY THE LOW 7 BITS. ISZ BPNTR ADVANCE THE BUFFER POINTER. JMP CHAR4 GO TO RETURN. SPC 2 SEQNO NOP SEQUENCE NUMBER. M72D DEC -72 LC BSS 1 VALUE OF LAST CHARACTER RETURNED BPNTR BSS 1 POINTS TO NEXT CHARACTER IN BUFF BPNTI DEF BUFF POINTS TO 1ST WORD OF INPUT. CHARS BSS 1 NUMBER OF INPUT CHARS IN LINE. TYPED BSS 1 FLAG SET WHEN SOURCE LINE TYPED. HED PRINT SOURCE LINE ROUTINE * THE PRLIN ROUTINE HAS THE FUNCTION OF PRINTING * A LINE OF SOURCE ONTO THE LIST DEVICE. IT MUST * TAKE CARE OF INSERTING THE SEQNO AND PCNTR INTO * THE BUFFER BEFORE PRINTING. WHEN LSTOG IS ON, * PRLIN IS CALLED BY THE CHAR ROUTINE. THE FLAG * ROUTINE CALLS IT ALSO, IN CASE LSTOG IS OFF. THE * TYPED TOG IS SET BY PRLIN WHENEVER A LINE IS * PRINTED TO AVOID PRINTING IT TWICE WHEN THERE ARE * 2 ERRORS IN ONE LINE AND LSTOG IS OFF. PRLIN NOP ENTRY POINT LDA TYPED IF THIS LINE HAS ALREADY BEEN SZA PRINTED, TYPED WILL BE SET, JMP PRLIN,I AND WE CAN RETURN IMMEDIATELY. ISZ TYPED SET TYPED. LDA PCNTR CONVERT PCNTR TO OCTAL IN JSB OCONV COLUMNS 4-9 DEF PRIN+1 LDA SEQNO CONVERT SEQNO TO DECIMAL IN JSB DCONV COLUMNS 1-3 PRINI DEF PRIN LDA CHARS COMPUTE MIN (CHARS,62) ADA CCNT3 SSA,RSS CLA ADA CCNT4 ADA .+10 ADD 10 FOR THE FIRST 10 CHARS. LDB PRINI SET ADDRESS OF PRINT BUFFER IN B JSB PRINT CALL PRINT ROUTINE JMP PRLIN,I RETURN * MATCH COMPARES TWO IDENTIFIERS FOR EQUALITY. CALLING SEQUENCE IS: * JSB MATCH * UNEQUAL RETURN * EQUAL RETURN * WHEN MATCH IS CALLED, A=ADDRESS OF FIRST IDENTIFIER. * .INFO POINTS TO INFO WORD OF 2ND IDENTIFIER, WHICH IS IN STUFF. MATCH NOP ENTRY POT ������ STA T SAVE ADDRESS OF IDENT1 IN T LDA .WLEN GET LENGTH OF IDENT2 ENTRY ADA .INFO T+1_ADDRESS OF IDENT2-1 STA T+1 LDA T,I GET NUMBER OF CHARACTEERS INVOLVED ALF,ALF IN IDENT1 FROM FIRST CHARACTER IN ENTRY AND .377 ARS COMPUTE # OF WORDS CMA AS NEGATIVE. MACH1 ISZ T+1 BUMP IDENT2 POINTER LDB T+1,I COMPARE THE CPB T,I 2 ENTRIES RSS SAME SO FAR JMP MATCH,I NOT EQUAL ISZ T BUMP IDENT1 POINTER INA,SZA TEST FOR DONE JMP MACH1 LOOP IF NOT ISZ MATCH EQUAL JMP MATCH,I RETURN HED TABLE LOOKUP ROUTINES * THE TABLE LOOKUP ROUTINES ARE USED TO SEARCH THE SYMBOL TABLE, * STUFF. * THE ROUTINE LOOK SCANS BACK TO THE LAST ENTRY. EACH TIME IT IS * CALLED, IT SCANS BACK ONE ENTRY. THE CALLING SEQUENCE IS: * JSB LOOK (A=0 THE FIRST TIME) * * * UPON NORMAL EXIT, THE INFO WORD IS BROKEN DOWN INTO * WORD LENGTH (.WLEN), BLOCK LEVEL (.BLEV), TYPE (.TYPE), * .RBIT AND .XBIT. THE TYPE IS ALSO IN THE A-REGISTER. LOOK NOP ENTRY POINT. SZA IF A IS NON ZERO, GO TO GET AD- JMP *+3 DRESS OF NEXT ENTRY. LDA STUFF IF 0, STUFF POINTS AT TOP ENTRY. JMP LOOKA LDA .WLEN SUBTRACT WORD LENGTH FROM ADA .INFO ADDRESS OF LAST ENTRY TO GET LOOKA STA .INFO NEW ADDRESS & PUT BACK. LDA 0,I GET INFO WORD. SZA,RSS IF INFO IS ZERO, THIS IS THE JMP LOOK,I END OF TABLE, SO KICK OUT. ISZ LOOK BUMP RETURN ADDRESS. JSB SCATR SCATTER INFO JMP LOOK,I AND RETURN. * LOOK1 IS CALLED TO FIND A SYMBOL IN THE TABLE, THE SYMBOL BEING * AN ALPHABETIC WORD OR A PUNCTUATION MARK. THE CALLING * SEQUENCE IS: JSB LOOK1 * DEF ������OCATION OF SYMBOL> * * LOOK1 NOP ENTRY POINT. CLA CLEAR FOR FIRST LOOK. LOOKC JSB LOOK SCAN TABLE. JMP LOOKB EXIT IF CAN'T FIND IT. CPA TYCON OR A CONSTANT OR A TEMPORARY. JMP LOOKC CPA TEMPI JMP LOOKC CPA TEMPR JMP LOOKC LDA LOOK1,I COMPARE THIS SYMBOL TO JSB MATCH THE SYMBOL BEING LOOKED UP. JMP LOOKC NOT THE SAME. LDA .TYPE ISZ LOOK1 BUMP RETURN ADDRESS. LOOKB ISZ LOOK1 JMP LOOK1,I RETURN. HED ALGOL BLOCK PROCESSOR ROUTINE * ********************************************* * * BLOCK - CONTROLS PROCESSING WITHIN BLOCKS * * * INCLUDING EXECUTION OF THE DECLAR-* * * ATIVE AND STATEMENT PROCESSORS. * * ********************************************* HS NOP =0 UNTIL A STATEMENT IS ENCOUNTERED HD NOP =0 UNTIL A DECLARATIVE IS ENCOUNTERED BLSTF NOP =VALUE OF 'STUFF' AT BLOCK INITIATION JFLAG NOP =LOC'N PRECEDING FIRST DECLARATIVE BLOCQ NOP JSB STACQ SAVE BLOCK PARAMETERS IN STACK DEF HS HS, HD, JFLAG, BLOCQ ARE SAVED JSB UNSTQ * EXIT FROM BLOCK ROUTINE HERE * - LDA STUFF STA BLSTF BLSTF = CURRENT 'STUFF' ADDRESS CLA STA HS HS = 0 STA HD HD = 0 STA JFLAG JFLAG = 0 BLOC1 JSB SCANR GET NEXT SYMBOL JSB TWEEQ OCT 140,151 IS THE SYMBOL A DECLARATIVE? JMP BLOC8 YES, GO TO DECLAR.SEQUENCE LDA JFLAG NO; DONE WITH DECLARATIVES. SZA,RSS IS A JMP AROUND NEEDED? JMP *+4 NO - SKIP JMP EMIT * YES-EMIT JMP AROUND DECLARATIVES. LDA PCNTR CURRENT LOC'N(OPERAND OF 'JMP') LDB JFLAG ADDRESS OF 'JMP' JSB EMJMP EMIT THE INSTRUCTION CL������A STA JFLAG CLEAR'JUMP AROUND' FLAG INA STA HS SET STATEMENT ENCOUNTER FLAG JSB STMPR GO TO STATEMENT PROCESSOR JSB SCANR PICK UP NEXT SYMBOL CPA END IS IT = 'END'? JMP BLOC3 YES BLOCS JSB XSEMI GO TEST FOR A SEMICOLON JMP BLOC1 BACK TO START BLOC3 LDB HD GET DECLARATIVE USE INDICATOR SZB,RSS HAVE DECLARATIVES BEEN USED? JMP BLOCQ+3 NO, EXIT FROM BLOCK PROC HERE. JSB LBLCK YES, DOES INSTR. REQUIRE LABEL? JSB STLBL YES, PUT IT THERE. LDA BLSTF GET 'STUFF' ADDRESS LIMIT. JSB XPACK GO PACK THE CONSTANTS IN STUFF. JMP BLOCQ+3 EXIT BLOCK PROCESSOR. * ** THIS IS WHERE WE SET UP TO ** * ** ENTER THE DECLARATIVE ROUTINE ** BLOC8 LDA HS SZA,RSS HAS A STATEMENT BEEN PROCESSED? JMP *+4 NO - GO ON WITH DECLARATIVES JSB .FLAG YES - GO TO ERROR DIAGN. ROUTINE ARPRN DEC 41 (DECLARATIVE AFTER STATEMENT) CLA STA HT SET TYPE SAVE=0 LDA HD SZA IS THIS 1ST DECLAR. IN THE BLOCK JMP *+3 NO - SKIP HD AND BLK PROCESSING ISZ BLK ADD 1 TO BLK (BLOCK LEVEL) ISZ HD SET HD = 1 * ****************************************** * * DECLARATION SECTION. * * * THIS SECTION SUPERVISES THE PROCESSING * * * AND JUMPS TO THE VARIOUS DECLARATION * * * ROUTINES. * * ****************************************** LDA .TYPE PREPARE FOR TYPE TEST CPA INTEG ER INTEGER OR BOOLEAN? JMP *+2 YES CPA REAL NO; REAL? RSS YES JMP DECL1 NO, SKIP SAVE(HT ALREADY=0)/SCAN STA HT SAVE TYPE IN HT JSB SCANR GET NEXT SYMBOL JSB XIDTN UNDEFINED ID? RSS NO, SKIP OVER NEXT JMP IDGN - YES, GO PROCESS ID DECLZ#������ARATIVE DECL1 LDA .TYPE CPA PROCE DURE IS DECLARATION A PROCEDURE? JMP PRTN YES, GO TO PROCEDURE GENERATOR CPA ARRAY IS IT AN ARRAY? JMP ARGN ES, GO PROCESS AN 'ARRAY' DECLARATIVE LDB HT GET HT FOR ZERO TEST STA HT MOVE .TYPE TO HT SZB,RSS TYPE REAL,INTEGER OR BOOLEAN 1ST? JMP *+3 NO - OK JSB .FLAG YES, ERROR. #43 APLUS DEC 43 REAL, INT. ON BOOL. ILLEGAL HERE JSB SCANR GET NEXT SYMBOL FROM SCANNER JSB IDTSQ TEST FOR UNDEFINED IDENTIFIER NOP ALTERNATE EXIT(ERROR 44) * * TEST FOR REMAINING TYPES OF DECLARATION * LDA HT CPA SWITC H IS IT A SWITCH? JMP SWGN ES, GO PROCESS A SWITCH DECLARATIVE CPA INPUT IS IT INPUT? JMP IOGN ES, GO TO IO DECLARATIVE PROCESSER CPA OUTPU T OR OUTPUT? JMP IOGN ES, GO TO IO DECLARATIVE PROCESSER CPA FORMA T IS IT A FORMAT DECLARATION? JMP FMGN YES GO TO FORMAT DECLARATIVE PROCESSOR CPA EQUAT E IS IT AN EQUATE? JMP EQGN YES , GO TO EQUATE DECLARATIVE PROCESSER CPA LABEL IS IT A LABEL DECLARATION? JMP LBGN YES, GO TO LABEL DECLARATIVE PROCEESER JSB .FLAG ERROR - TYPE IS NOT DECLARATIVE AMINU DEC 45 #45-ILLEGAL SYMBOL IN DECLARAT'N BLOC2 JSB SCND GO AND SCAN TO NEXT SEMICOLON. JMP BLOC1 PRTN JSB PRTNQ O TO PROCEDURE DECLARATIVE PROC. JMP BLOC1 EXIT BACK TO BLOCK ROUTINE SKP * *************************************************** * * IDGEN GENERATES CODE FOR VARIABLES, * * * INITIALIZES IF NECESSARY, A REAL VARBL * * * GETS 2 WORDS, AN INTEGER 1. * * *************************************************** IDGN0 JSB SCANR RO SCANNER JSB IDTSQ JMP IDGN5 VARIABLE DEFINED OR BLEV = 0 IDGN JSB JTST SET FOR JUMP AROUND DECLAe������RATIVES. CLB LDA HT CPA REAL REAL OR INTEGER INB CLA,INA ADA B A = 2 IF REAL STA HSA SAVE BSS LENGTH(IF NEEDED) LDA TYVAR JSB SETIN CLB JSB INSER LDA $INFO GO PUT SYMBOL NAME IN JSB STLBL PRINT BUFFER LABEL FIELD. IDGN5 JSB SCANR GET NEXT SYMBOL CPA STORE IS IT AN ARROW OR := JMP IDGN3 YES, GO TO CONSTANT PROCESSOR LDA HSA SET LENGTH OF BSS JSB EMBSS GO EMIT BSS FOR ID LDA .TYPE GET LAST SYMBOL IDGN2 CPA COMMA COMMA? JMP IDGN0 YES, GO GET NEXT VARIABE JSB XSEMI NO SEE IF IT IS DONE JMP BLOC1 IDGN3 JSB NUMBQ GET NUMBER FOR INITIAL VALUE RSS FALURE EXIT NO NUMBER THERE JMP IDGN9 GOT THE NUMBER JSB SCND SCAN TO TERMINATOR JMP BLOC1 EXIT IDGN9 JSB HINIT EMIT THE NUMBER JSB SCANR SCAN NEXT SYMBOL JMP IDGN2 HED GET CONSTANTS IN 'STUFF' AND PACK THEM ROUTINE * ************************************************** * * XPACK - SEARCH 'STUFF' FOR CONSTANTS AND PACK * * * THEM INTO UPPER TABLE BEFORE RESTORING * * * 'STUFF' POINTER. * * * SEARCH FOR UNDEFINED LABELS AND FLAG * * * SUBTRACT 1 FROM THE BLOCK COUNTER(BLK) * * * THEM(ERROR #6). * * * A REG. = UPPER LIMIT OF 'STUFF' FOR * * * THIS BLOCK. * * ************************************************** XPACK NOP STA XSRCH SAVE THE 'STUFF' ADDRESS LIMIT LDA STOP STA HSTOP SAVE TOP OF STACK(STOP) IN HSTOP CLA A=0 FOR START OF STUFF SEARCH BLOC4 JSB LOOK GET NEXT STUFF ENTRY NOP LDA .INFO CPA XSRCH LAST ENTRY IN BLOCK SCANNED? JMP BLOC5 YES - GO TO ,������TRANSFER ENTRIES LDB .TYPE GET ENTRY TYPE. CPB DFLAB LABEL? JMP BLOC7 YES - GO SEE IF IT'S DEFINED CPB TYCON IS IT A CONSTANT? JSB PUSHQ YES, SAVE ITS ENTRY ADDRESS. JMP BLOC4 GO GET NEXT ENTRY * **** IF ANY ENTRIES ARE TO BE SAVED THIS IS **** * **** WHERE THEY ARE TRANSFERRED UP IN 'STUFF'**** BLOC5 LDA STOP CPA HSTOP IS STACK IN ITS BLOC3 POSITION? JMP BLOC6 YES - WE'RE DONE MOVING ENTRIES. LDB STOP,I NO - GET INFO WORD OF ENTRY NEEDED ISZ STOP BUMP STOP ADDRESS LDA .-4 GET -4(=NEG OFTYCON LENGTH) STA T T = -ENTRY LENGTH ADB A B = LOC'N - LENGTH ISZ B BUMP ENTRY POINTER ISZ XSRCH BUMP STUFF POINTER LDA B,I GET ENTRY WORD AND STA XSRCH,I MOVE UP IN STUFF ISZ T LAST WORD MOVED? JMP *-5 NO - GET NEXT WORD. JMP BLOC5 YES - GO LOOK FOR NEXT ENTRY. * **** NOW WE'RE DONE WITH THIS BLOCK ** * **** CLOSE IT OUT AND EXIT ** BLOC6 LDA XSRCH STA STUFF RESET THE TABLE POINTER(STUFF) LDA BLK ADA .-1 STA BLK LOWER BLOCK # BY 1 JMP XPACK,I EXIT FROM XPACK HERE******* BLOC7 LDA .INFO,I * TEST LABEL'STUFF' ENTRY HERE SSA,RSS HAS IT BEEN DEFINED IN THE PROG? JMP BLOC4 YES - GO SEARCH FOR THE NEST ENTRY JSB .FLAG NO - ERROR #6 DEC 6 "UNDEFINED LABEL" LDA .INFO GET LOC OF LABEL ENTRY JSB CHARM GET ADRR AND CHAR COUNT OF SYMBOL INA BUMP CHAR COUNT BY 1 FOR XTRA BLNK STA T SAVE IT FOR PRINT ROUTINE LDA B,I GET 1ST 2 CHARS OF LABEL AND .377 CLEAR CHAR COUNT ADA HNRIC INSERT AN UPPER BLANK STA B,I PUT IT BACK INTO ENTRY LDA T GET CHAR COUNT JSB PRINT GO PRINT THE LABEL CLA,INA JMP BLOC4 GO BACK FOR NEXT STUFUG������F ENTRY XSRCH NOP INTERMEDIATE 'STUFF' LIMIT IN XPACK SCAND NOP FLAG TO BACK UP SCANNER PEEKD NOP FLAG SET TO BACK UP ONE CHAR. HT NOP SAVE DECLARATION TYPE PCNTR NOP PROGRAM COUNTER. ECNTR NOP ERROR COUNTER. CCNT NOP CHARACTER COUNTER. LSFLG NOP SET IF LISTING ASSEMBLY CODE PFLAG NOP SET FOR PROCEDURE ONLY COMPILING A2ND OCT -445 POINTS TO 2ND ASTAC ELEMENT ATOP OCT -4 POINTS TO 1ST ASTAC ELEMENT ADA ADA 0 ADDOP EQU ADA HSTOP NOP SAVES STACK PIINTER HNRIC OCT 20000 'NAM' RECORD IDENT. CODE (1) WHILE OCT 157 PAUSE OCT 160 PAUSE GO OCT 166 WRITE OCT 175 HED STATEMENT PROCESSING SUPERVISOR * *********************************************** * * STATE - TEST FOR TYPE OF STATEMENT AND JUMP * * * TO THE APPROPRIATE PROCESSOR. * * * IF ITS A LABEL EMIT A JMP AT THE * * * ADDRESS IN THE ENTRY AND PLACE THE * * * CURRENT ADDRESS IN THE ENTRY * * * .TYPE,ETC REFERS TO CURRENT ENTRY TESTED. * * *********************************************** BLOCK DEF BLOCQ BLOCK PROCESSOR ADDRESS CSPRO DEF CASTM DOST DEF DOSTM FORPR DEF FORST 'FOR' PROCESSOR GOPR DEF GOSTM ^GO^ PROCESSOR IFPR DEF IFSTM 'IF' PROCESSOR IOPR DEF IOSTM 'READ/WRITE' PROCESSOR WHPRO DEF WHIST STMPR NOP JSB STACQ GO TO STACK TO SAVE OUR RETURN DEF STMPR ADDRESS. JSB UNSTQ EXIT FROM STATE, HERE. STMP1 LDA .TYPE GET ENTRY(STATEMENT) TYPE JSB TWEEQ TEST FOR MAGTAPE STATEMENT ABS EOF ABS UNLOD JMP TAPRO CLB SET B=0 FOR FINAL TEST (LATER) CPA GO 'GO'? LDB GOPR YES, B=GO ADDRESS CPA DO STATEMENT LDB DOST CPA CASE STATEMENT LDB CSPRO CPA IF 'IF' ? LDB IFPR YES, B=IF ADDRESS V���N��LH CPA BEGIN 'BEGIN' ? LDB BLOCK YES, B=BLOCK ADDRESS CPA READ 'READ' ? LDB IOPR YES CPA WRITE 'WRITE' ? LDB IOPR YES CPA WHILE LDB WHPRO WHILE STATEMENT CPA TYPRO 'TYPE PROCEDURE' ? JMP PROST+1 CPA PRPRO 'PROPER PROCEDURE' ? JMP PROST+1 CPA FOR 'FOR' ? LDB FORPR YES, B=FOR ADDRESS CPA TYARA ARRAY ? JMP PROST CPA TYVAR VARIABLE ? JMP PROST SZB,RSS IF B=0 NONE OF ABOVE STATEMENTS JMP *+3 WERE DETECTED JSB B,I B=ADDRESS OF CORRECT PROCESSOR. JMP STMPR+3 EXIT CPA PAUSE "PAUSE"? JMP STMP5 YES, GO PROCESS IT (B=0) CPA SEMI SEMI-COLON ? JMP STMP2+1 YES ��������HN�������������� CPA ELSE 'ELSE' ? JMP STMP2+1 YES CPA END 'END' ? JMP STMP2+1 YES CPA UNTIL JMP STMP2+1 CPA DFLAB LABEL ? JMP STMP3 YES * * AN ILLEGAL SYMBOL HAS BEEN USED AT THE * * * START OF A STATEMENT - PRINT ERROR DIAG 46.* JSB .FLAG GO TO ERROR DIAGNOSTIC ROUTINE APOIN DEC 46 ERROR # 46 STMP2 JSB SCND SCAN TO ; OR END ISZ SCAND BUMP SCAND JMP STMPR+3 EXIT STATEMENT PROCESSOR PROST CLA,RSS ASSIGNMENT STATE. LDA .+2 PROCEDURE STATE. JSB ARITH TO ARITH SUBR. NOP ERROR EXIT FROM ARITH JMP STMPR+3 GO BACK TO STATEMENT PROC IN BLOCK * ******************************************* * * LABEL FOR A STATEMENT IS PROCESSED HERE * * ******************************************* STMP3 LDA .INFO SAVE LOC'N OF LABEL ENTRY IN TBL STA $INFO JSB SCANR SCAN NEXT SYMBOL CPA COLON IS LABEL FOLLOWED BY A COLON? JMP *+4 YES JSB .FLAG GO PRINT ERROR # 47 ASLSH DEC 47 (LABEL NOT FOLLOWED BY COLON) JMP STMP2 TO EXIT FROM AN ERROR LDA $INFO,I A = INFO WORD OF LABEL SSA IS THE 'D' BIT CLEAR?(=DEF.LABL) JMP *+4 NO, OK - GO ON WITH PROCESSING JSB .FLAG YES - LABEL ALREADY DEFINED DEC 48 PRINT ERROR DIAG.# 48 JMP STMP4 GO ON WITH PROCESSING AT STMP4 ELA,CLE,ERA CLEAR 'D' BIT(INFO WORD IN A) STA $INFO,I RESTORE INFO WORD LDA $INFO GET LOCATION OF JMP ADDRESS ADA .-1 STA $INFO SAVE ITS ADDRESS LDB $INFO,I GET LOCN. FOR JMP LDA PCNTR GET OPERAND FOR JMP STA $INFO,I SET CURRENT ADDR INTO LBL ENTRY. JSB EMJMP * EMIT A JMP TO CURRENT LOCATION STMP4 JSB SCANR GO GET NEXT SYMBOL(AFTER COLON) JMP STMP1 GO TO START OF STATE.PROCESSOR SKP * [������ ************************************** * * PROCESS A 'PAUSE' STATEMENT HERE. * * ************************************** STMP5 LDA CLA JSB EMRRF EMIT A CLEAR A (CLA) LDA #PAUS LOC'N OF .PAUS ROUTINE TO A STMP6 JSB EMJSB EMIT A ' JSB .PAUS ' HERE. JMP STMPR+3 GO TO STATEMENT EXIT #PAUS DEF .PAUS * PROCESS MAGTAPE STATEMENTS TAPRO ADA TFIX BUILD CODEWORD ALF RAL,RAL STA TAPER CLA CLA BUILD JSB STUFQ CONSTANT ENTRY LDA TAPER FOR JSB STUFQ CODEWORD CLA JSB STUFQ LDA CONFO JSB STUFQ LDA STUFF SAVE POINTER TO ENTRY IN TAPER STA TAPER JSB SCANT COMPILE UNIT NUMBER CLA,INA JSB ARITH JMP STMPR+3 FAILURE JSB MAKIN DEF ATOP,I LDA TAPER+1 SET ATOP TO POINT AT CODEWORD ENTRY STA ATOP LDA ADDOP JSB EMEMQ EMIT AN ADD INSTRUCTION LDA #TAPE EMIT A JSB .TAPE JMP STMP6 TFIX ABS 301B-EOF TAPER BSS 1 DEF TAPER #TAPE DEF .TAPE HED PROCEDURE DECLARATION PROCESSOR * ******************************************* * * PRGEN - PROCESS PROCEDURE DECLARATION - * * * - ENTERED VIA STACK SUBROUTINE * * ******************************************* M40B OCT -40 -40B HTRIC OCT 40001 'ENT' REC.ID.CODE(2) AND COUNT HPSTO NOP 1ST LOCATION OF PROCEDURE HPORG NOP ENTRY ADDRESS OF PROCEDURE HPTM1 NOP SAVE TEMP1 POINTER HPTM2 NOP SAVE TEMP2 POINTER HPTYP NOP PROCEDURE TYPE SAVER FOR FINAL SET HINFO NOP LOCN OF PROCEDURE ENTRY INFO WORD * *LOCN OF PROC ENTRY IN STUFF. PRTNQ NOP JSB STACQ SAVE PROCEDURE PARAMETERS IN STK DEF HPSTO START OF PARAMETER BLOCK JSB UNSTQ * EXIT FROM PROCEDURE PROCESSOR * LDA TEMP1 STA HPTM1 LDA TEMP2 SAV.������E 'TEMP' TABLE POINTERS STA HPTM2 STA TEMP1 SET TEMP1 = TEMP2 JSB SCANR SCAN PROCEDURE NAME JSB IDTSQ TEST FOR DEFINED PROCEDURE NAME NOP LDA PCNTR STA PRSKP SAVE CURRENT PCNTR VALUE(FOR 'CODE' PROC.) CLA CLB,INB ENTER: B=1. CPB BLK IF "BLK" = 1, THEN CPA PFLAG SKIP JTEST IF COMPILE ONLY PROC. JSB JTST SET ADDR. FOR JMP AROUND IF NEED CLA STA $RBIT SET $RBIT = 0 (REAL/INTEGER) STA $XBIT SET $XBIT = 0 (EXTERNAL) STA T SET T = 0 STA $NEXT SET $NEXT = 0 (PARAMETER COUNT) STA HPNUM SET NO. OF PARAMETERS = 0 LDA PCNTR STA HPSTO SAVE 1ST LOCN OF PROCEDURE IN 'HPSTO' STA $ADDR SET $ADDR TO ITS TEMPORARY VALUE LDA HT SZA IS THIS A PROPER PROCEDURE? JMP *+4 NO - LDA .+17B YES - SET UP HPTYP AND $TYPE = 17B LDB .+17B JMP PRG02 * * PROCESSING FOR NON-PROPER PROCEDURE * ISZ T T = 1 CPA INTEG REAL PROCEDURE ? JMP *+3 NO ISZ T YES - T = 2 ISZ $RBIT SET $RBIT = 1 LDA .+16B HPTYP = 16B LDB .+14B $TYPE = 14B PRG02 ALF,ALF POSITION PARAM.TYPE RAL ROTATE TYPE 9 BITS STA HPTYP SET HPTYP - FOR SETTING PROC.ENTRY AT EXIT STB $TYPE SET $TYPE - FOR PROCEDURE ENTRY LDA PCNTR ADA T A=PCNTR+T STA HPORG SET HPORG (PROCEDURE ENTRY POINT) LDA STUFF STA PSTOF SAVE TBL LOC'N OF PROCEDURE ENTRY LDA T SZA SKIP EMBSS IF PROPER PROCEDURE. JSB EMBSS EMIT T (#0) LOCNS AT START * * SET UP REMAINING PARAMETERS FOR STUFF INSERTION * LDA BLK STA $BLEV $BLEV = CURRENT BLOCK LEVEL LDA $SYMB A = LOCATION OF PROCEDURE NAME CLB,INB B = 1 (TO SHOW $NEXT GOES INTO ENTRY) ������ JSB INSER GO TO 'STUFF' INSERTION ROUTINE JSB STLBL STORE NAME IN LABEL FIELD. CLA,INA JSB EMBSS EMIT "BSS 001" FOR ENTRY POINT. LDA STUFF GET ADDRESS OF PROCEDURE ENTRY STA ADDX SAVE STUFF LOC'N OF PROCEDURE CLB FOR ENTRY POINT AT 0 IF PROC.ONLY CPB PFLAG IS THIS A 'PROCEDURE ONLY' COMPILE? JMP PRG04 NO, SKIP ENTRY POINT EMIT * * SET UP AND EMIT 'ENT' FOR THIS PROCEDURE * LDB HPORG STB PNBUF+6 SET ADDRESS OF ENTRY POINT LDB BLK EMIT ENTRY POINT CPB .+1 ONLY IF RSS BLOCK JMP PRG04 ONE. LDB .+7 FOR BIN.REC. LENGTH JSB EMMOV LDA PNBUF+5 AND HIMSK CLEAR LOWER STA PNBUF+5 HALF OF PNBUF+5 LDA HTRIC STA PNBUF+1 SET RIC = 2 AND 1 NAME JSB PNCH GO PUNCH THE ENT RECORD. PRG04 LDA STOP CHECK FO ENUF TABLE ROOM CMA,INA ADA .37B ADA PSTOF -STACK +37B +PSTOF SSA,RSS ENOUGH ROOM? JMP OVFLO NO MORE ROOM FOR TABLES * * SET UP PROCEDURE STUFF ENTRY WITH LENGTH OF 37 OCTAL LDB STUFF ADB .-2 STB HPRAM HPRAM = LOCN OF 1ST PARAM.DESCRIPTOR LOCN. LDB PSTOF TBL LOC'N OF PROCEDURE ENTRY ADB TYUID ADD 36 OCTAL STB ADDY ADDY POINTS AT START OF EXTND.STUFF ENTRY-1 LDA $ADDR STA B,I SET $ADDR INTO EXTENDED ENTRY INB B = START OF EXTENDED ENTRY (STUFF+31B) LDA STUFF,I STA HINFO SAVE CURRENT INFO WORD IOR .37B 'OR' IN 37B STA B,I SET EXTENDED INFO WORD WITH ADDED WORD COUNT STB STUFF STUFF = ORIGIN OF EXTENDED PROCEDURE ENTRY ISZ BLK BUMP BLOCK NUMBER FOR PROCEDURE PARAMETERS JSB SCANR SCAN FOR LEFT PAREN. CPA LPREN IS IT START OF PARAMETER LIST? JMP PRG12 YES - GO TO PROCESSOR FOR PARAMETERS JMP PR9������G05+3 SKIP TO NO PARAM CONTINUATION PRG05 JSB .FLAG ERROR #42 ASTAR DEC 42 NO PARAMETERS BETWEEN PAREN'S JSB SCND SCAN TO THE END OF THE PARAM LST JSB XSEMI CHECK FOR A SEMICOLON LDA HINFO GET ORIGINAL INFO WORD STA ADDX,I RESTORE IT INTO THE PROC%DURE ENTRY LDA ADDX GET STUFF LOC'N OF PROCEDURE ENTRY STA HINFO SET FOR CLEANUP PROCESSING STA STUFF RESET 'STUFF' PNTR IF NO PARAMTRS JMP PRG46 CONTINUE. PRG06 JSB .FLAG JUMP TO ERROR ROUTINE .77B DEC 63 TOO MANY PARAMETERS LDA ALPRN SET HPNUM=40(WILL FIT WITH 15 CHAR NAME) STA HPNUM SKP * * MOVE UP ALL GENERATED STUFF ENTRIES TO * * * FILL IN EMPTY PARAMETER SLOTS * * * IN THE EXTENDED PROCEDURE ENTRY * PRG08 LDA HPNUM NO. OF PARAMETERS INA +1 ARS /2 TO A STA T T = NO.OF WORDS NEEDED FOR PARAM. DESCRIPTRS LDA HINFO SET TO GET NEW ENTRY LENGTH AND .37B 'AND' OUT THE ORIGINAL LENGTH ADA T ADD PARAMETER SLOT COUNT ADA M40B -40B SSA,RSS IS TOTAL GREATER THAN 37 OCTAL? JMP PRG06 YES GO TO ERROR ROUTINE LDA T NO, IT'S OKAY ADA HINFO ADD ORIGINAL INFO WORD LDB ADDY STORE IT INTO EXTENDED ENTRY INFO WORD BY INB USING ADDY+1 AS LOCATION STA B,I - IT'S IN LIKE FLYNN! CLB SET B=0 LDA T NO.OF PARM. DESC. LOCNS ADA HPRAM + PARAM.LOCN IN ENTRY GIVES * * CLEAR THE WORDS IN THE TABLE FOR THE PARAMETER S ADA .-1 SET A=ADDRESS OF LAST TABLE CODE STB A,I CLEAR THAT LOC IN THE TABLE CPA HPRAM IS LAST PARAMETER LOC CLEARED? RSS SKIP IF IT IS JMP *-4 GO BACK TO CLEAR NEXT IF IT IS'NT ADA T RESET A TO PARAMETER COUNT LOC'N LDB HPNUM STB A,I STORE NO. OF DESГ������CRIPTORS INA STA ADDX ADDX = LOCN.OF 'ADDR' WORD IN FINAL ENTRY INA A = LOCN OF INFO WORD IN FINAL ENTRY STA HINFO SAVE IT IN HINFO(USE ON EXIT FOR STUFF REST) LDB STUFF SET B = STUFF(END OF CURRENT SYMBOL TABLE) PRG10 LDA ADDY,I PICK UP EXTENDED LOCN STA ADDX,I PUT IN NEW LOCN CPB ADDY IS END OF TABLE REACHED? JMP PRG33 YES - GO AND RESET STUFF POINTER ISZ ADDY NO - BUMP ADDRESS COUNTERS ISZ ADDX JMP PRG10 GO BACK AND MOVE UP NEXT WORD * * SET UP PSEUDO ENTRIES (TYPE = 0) FOR * * * PARAMETERS ENCOUNTERED BETWEEN PARENS. * PRG12 JSB SCANR GET A PARAMETER NAME JSB IDTSQ IS NAME DEFINED IN BLOCK 0? JMP PRG15 YES - IGNORE IT ISZ HPNUM NO - BUMP PARAMETER COUNT CLA FOR $TYPE = 0 CLB FOR $RBIT = 0 JSB SETIN SET UP STUFF PARAMETERS FOR INSERT LDB HPNUM STB $ADDR FOR $ADDR = PARAMETER ORDINAL CLB JSB INSER PLACE NEW ENTRY INTO STUFF PRG15 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG12 YES - GO BACK AND PROCESS NEXT PARAMETER LDB HPNUM TEST PARAMETER COUNTER SZB,RSS ARE THERE ANY AT ALL? JMP PRG05 NO, GO TO ERROR ROUTINE CPA RPREN WAS IT A RIGHT PAREN? JMP *+5 YES - SKIP TO SCAN JSB .FLAG NO - ERROR #64 AAT DEC 64 "RT PAREN EXPECTED AT PROC.PARAM LIST END" JSB SCND SCAN TO A SEMI-COLON JMP PRG08 GO TO STUFF REARRANGER JSB SCANR SCAN FOR A SEMI-COLON(HOPEFULLY) JSB XSEMI GO TEST FOR SEMICOLON JMP PRG08 * * RETURN HERE WHEN NO PARAMETERS AFTER PROCESSINF SPC 1 PRG19 CLA ENTER: A=0. JSB EMOCT EMIT A ZERO(0) CODE WORD FOR NO PARAMETER. SPC 1 * * ENTER STATEMENT ROUTINE AT THIS POINT IN ORDER * * TO PROCESS TH������E BODY OF THE PROCEDURE... PRG20 JSB STMPR - GO TO STATEMENT PROCESSOR * * STATEMENTS NOW FINISHED, CLEAN UPFOR EXIT* LDA HPSTO CPA HPORG PROPER PROCEDURE? JMP *+3 YES LDA HINFO NO - SET UP LOAD 'RESULT' CODE JSB EMLOD EMIT LOAD INSTRUCTION(S) CLB SET UP EXIT FROM PROCEDURE LDA HPORG IOR BIT15 SET UP ENTER ADDRESS, INDIRECT JSB EMJMP EMIT 'JMP HPORG,I' * * FINAL CLEANUP IS HERE ** PRG24 LDA HINFO GET ADDRESS OF PROCEDURE ENTRY ADA .-1 LDB HPORG STB A,I SET PROCEDURE ADDRESS = HPORG LDA HINFO,I GET INFO WORD IOR HPTYP 'OR' IN CORRESP. PROCEDURE TYPE. STA HINFO,I INFO WORD IS NOW CORRECT TYPE LDA HINFO GET 'STUFF' ADDRESS LIMIT JSB XPACK GO PACK THE CONSTANTS IN 'STUFF' LDA HPTM1 RESTORE 'TEMP' TABLE POINTERS STA TEMP1 LDA HPTM2 STA TEMP2 JSB SCANR SCAN TO NEXT SYMBOL JSB XSEMI CHECK TO BE SURE IT'S A SEMICOLON JMP PRTNQ+3 EXIT FROM PROCEDURE PROCESSOR HERE * * EXIT PRE-PROCESSING FOR 'CODE' PROCEDURES * PRG30 CLB JSB BREC EMIT REMAINDER OF CURRENT PNCH RECORD LDA PRSKP STA PCNTR RESET PCNTR BACK TO STARTING VALUE CLB CPA JFLAG WAS JFLAG SET AT START OF PROC.? STB JFLAG YES - CLEAR IT STB HPORG CLEAR EXT ORDINAL SLOT IN ENTRY LDA HINFO,I GET INFO WORD ADA ADA SET XBIT IN INFO WORD OF PROC.ENTRY STA HINFO,I JMP PRG24 GO TO COMPLETE PROCEDURE ENTRY * * END OF THE EXTENDED PROCEDURE TABLE HAS BEEN * * REACHED AND MOVED UP TO PROPER POSITON. * * NOW RESET THE 'STUFF' POINTER AND PROCEED. PRG33 LDA ADDX GET REVISED SYMBOL TABLE POINTER(STUFF) STA STUFF RESET STUFF(POINTS AT LAST PARAMETER ENTRY) * * PROCESS THE PARAMETER DESCRIPTORS * * * ANDc������ PLACE THEM INTO THE PROCED- * * * URE 'STUFF' ENTRY * CLA STA PRSIZ CLEAR PRSIZ JSB SCANR SCAN 1ST PARAMETER DESCRIPTOR CPA VALUE IS IT VALUE? JMP PRG60 YES - JUMP TO VALUE PROCESSOR * * START CHECKING FOR NEXT PARAMETER TYPE * PRG37 JSB TWEEQ *TEST FOR DECLARATIVES $$$ OCT 140,151 JMP PRG70 GO - IT'S ONE OF THOSE ABOVE. $WLEN BSS 1 NUMBER OF WORDS IN ENTRY * * IT'S ALL DONE LOOKING AT DESCRIPTORS * * * SET THEM UP IN THE PROCEDURE ENTRY * * * IN 'STUFF' * LDA PCNTR STA T T = PCNTR LDA PRSIZ GET LENGH OF LOC SLOTS STA $WLEN IN .PRAM LINKAGE AND SAVE IT LDB .-6 B = -6 PRG40 LDA HPNUM ISZ T BUMP LOCATION VALUE ADA B ADB .-8 B = B - 8 SSA,RSS HPNUM + B < 0? JMP PRG40 NO - KEEP COUNTING LDA PRSIZ UPDATE # OF WORDS IN .PRAM LINKAGE ADA T STA PRSIZ PRSIZ = LOCN IN LINK.OF LAST PARAM. CLA A=0 FOR INITIAL LOOKUP PRG45 JSB LOOK LOOK UP A PARAMETER ENTRY NOP END-OF-TABLE EXIT LDB .BLEV CPB BLK .BLEV = BLK? JMP PRG50 YES - SET UP ANOTHER PROC.PARAMETER * * LAST PROCEDURE PARAMETER SCANNED * * * SET UP AND LEAVE THIS SECTION * ISZ SCAND SET FLAG TO REREAD LAST SYMBOL * * ENTER HERE IF NO PARAMETERS IN PROCEDURE PRG46 JSB SCANR SCAN FOR 1ST STATEMENT WORD.. CPA CODE IS IT 'CODE'? JMP PRG30 YES - GO TO 'CODE' EXIT PROCESSER LDA #PRAM SET UP TO EMIT 'JSB .PRAM' JSB EMJSB GO TO EMITTER LDA .-5 STA T LDB HPNUM B = HPNUM SZB,RSS PARAMETER COUNT = 0? JMP PRG19 YES - GO EMIT THE ZERO CODE WRD. LDA HPNUM CMA,INA STA HPNUM -HPNUM TO HPNUM STA HCNTR ������ SAVE IN REFERENCE POINTER ALSO. PRG48 LDA HPRAM,I PREPARE FOR EMITTING PARAM. CODE JSB PROTS LDA HPRAM,I ALF,ALF SHIFT FOR LOWER 1/2 PROCESSING JSB PROTS ISZ HPRAM BUMP PARAM.POINTER ADDRESS JMP PRG48 #PRAM DEF .PRAM CODE OCT 161 VALUE OCT 176 * ***************************************** * * PROTS - EMIT THE PARAMETER CODE WORDS * * * NEEDED IN THE .PRAM LINKAGE * * * FOR A PROCEDURE * * ***************************************** PROTS NOP AND PCMSK CLEAR LOWER 14 BITS OF 'A' ADB A RBL,RBL ROTATE 'B' 2. ISZ T T ARROW T+1 ; T=0? JMP PROT1 NO LDA B YES - EMIT A CODE WORD JSB EMOCT LDA .-8 A=-8 STA T SET T = -8 CLB SET B = 0 PROT1 ISZ HPNUM BUMP PARAM.COUNT; = 0? JMP PROTS,I NO - LEAVE PROTS ROUTINE LDA T YES - TEST T CPA .-8 T = -8? JMP PROT3 YES - GO OUT TO START STATEMENTS RBL,RBL NO - POSITION FINAL CODE WORD ISZ T BUMP T; T=0? JMP *-2 NO - GO BACK AND ROTATE 2 MORE LDA B JSB EMOCT EMIT LAST PARAM.CODE WORD PROT3 LDA HCNTR STA HPNUM INITIALIZE SYMBOL COUNTER. CLA,RSS SEARCH SYMBOL TABLE FOR EARLIEST PROT4 CLA,INA PROCEDURE PARAMETER STILL JSB LOOK REQUIRING SPACE ALLOCATION. NOP END OF TABLE RETURN (NOT USED). ISZ HPNUM BACK TO FIRST PARAMETER? JMP PROT4 NOT YET, GO GET NEXT ONE. CLB,INB YES, INITIALIZE ALLOCATION STB $WLEN TO ONE WORD (MINIMUM). LDA .INFO,I GET SYMBOL'S INFO WORD IN -A-. CCB ADB .INFO LDB B,I GET ITS VALUE IN -B-. SSB IF SYMBOL IS NAME PARAMETER, JMP *+3 SKIP INTEGER/REAL TEST. SSA VALUE PARAMETER, IF ب������IT'S REAL, ISZ $WLEN BUMP ALLOCATION TO 2 WORDS. LDA .INFO GET SYMBOL'S INFO WORD AND JSB STLBL STORE ITS NAME IN LABEL FIELD. LDA $WLEN NOW ALLOCATE SPACE JSB EMBSS FOR THE VARIABLE. ISZ HCNTR ALL PARAMETERS ALLOCATED? JMP PROT3 NO, GO GET NEXT ONE. ISZ SCAND YES, BACK UP SCANNER. JSB SCANR RECALL PREVIOUS SYMBOL. JMP PRG20 EXIT TO STATEMENT PROCESSOR * * PROCESS AND SET UP IN THE PROCEDURE ENTRY * * * THE PARAMETER FORMATS CONTAINED IN 1/2 * * * WORDS WITH 'V' BIT(=VALUE),'R' BIT(=REAL) * * * AND TYPE OF PARAMETER * PRG50 SZA (TYPE IN A) TYPE NON-ZERO? JMP *+5 YES - OK JSB .FLAG NO - ERROR #65 POWER DEC 65 "PROC.PARAMETER DESCRIPTOR MISSING" CLA,INA SET A = 1 JMP PRG45 GO BACK FOR NEXT STUFF ENTRY LDA .INFO,I GET INFO WORD CLE,ERA SHIFT A RIGHT 1. LDB .INFO ADB .-1 B POINTS AT WORD WITH V AND PARAM.#. ADA B,I ADD IN 'V' BIT AND HIMSK CLEAR LOWER 'A' STA T SAVE A IN T STB T+1 SAVE ADDRESS OF 'ADDR' WORD OF PARAM.ENTRY LDA B,I GET PARAMETER NO. ELA,CLE,ERA CLEAR 15. INA A=A+1 CLE,ERA A_A+1 BY 2 E=UPPER LOWER FLAG ADA HPRAM A = ADDRESS-1 OF PARAM IN ENTRY LDB T B = 1/2 PARAMETER ENTRY WORD SEZ UPPER 1/2 IN B? BLF,BLF NO - SHIFT IT TO LOWER ADA .-1 SET A = CURRENT ADDR OF PARAM. ADB A,I ADD IN THE OTHER HALF STB A,I AND STORE IT IN THE PROC.ENTRY LDA T A = PARAM.DOPE(V,R AND TYPE) LDB PRSIZ ADDRESS IN PARAM.LIST IN 'B' RAL,SLA IS IT A 'V' PARAMETER? JMP PRG52 YES ADB BIT15 NO - SET INDIRECT BIT LDA .-1 FOR -1+PRSIZ JMP PRG53 PRG5¦������2 SSA,RSS IT'S BY VALUE - IS IT REAL? JMP *-3 NO ADB .-1 YES - RESET PARAM.LOCATION LDA .-2 FOR -2+PRSIZ PRG53 ADA PRSIZ STA PRSIZ RESET PRSIZ (-1 OR -2) STB T+1,I SET PARAM.LOCN.INTO ITS ENTRY JMP PRG45 GO TO TEST NEXT ENTRY * * PROCESS 'VALUE' TYPE PARAMETER * PRG60 JSB SCANR SCAN FOR VALUE NAME SZA,RSS IS IT IN THE LIST? (TYPE = 0?) JMP *+4 YES - GO SET VALUE BIT ('V') JSB .FLAG NO - ERROR #66 SLASH DEC 66 "VALUE PARAMETER NOT IN LIST" JMP PRG62 LDB .INFO GET INFO WORD ADDRESS ADB .-1 SET IT TO PRECEDING WORD ADDR. LDA B,I GET THAT WORD IOR BIT15 SET 'VALUE' BIT (BIT15) STA B,I RESTORE THE WORD PRG62 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG60 YES - GO BACK FOR NEXT VALUE NAME * * SCAN PROCEDURE PARAMETER DESCRIPTORS * * * AND SET UP PORTIONS OF THE PARAMETER * * * PSEUDO ENTRIES IN STUFF, VIZ.1TYPE * * * AND 'R' BIT. * PRG65 JSB XSEMI SCAN TO SEMI-COLON PRG66 JSB SCANR SCAN FOR A DESCRIPTOR JMP PRG37 JMP TO DESCRIPTOR TESTER. * * EQUATE USED - IT'S ILLEGAL * PRG68 JSB .FLAG ERROR #67 DEC 67 "ILLEGAL PROCEDURE DESCRIP, EQUATE" PRG69 JSB SCND SCAN TO A TERMINATOR JMP PRG66 GO FIND NEXT DESCRIPTOR * * WE'RE BACK FROM DESCRIPTOR TEST HERE, * * * WITH .TYPE IN THE 'A' REGISTER * PRG70 CPA EQUAT IS IT AN 'EQUATE' ? JMP PRG68 YES - GO BACK TO ERROR PROC. * ********************************************** * * PRDES - PROCESS PARAMETER DESCRIPTORS HERE * * * SET .TYPE AND .RBIT INTO THE PARAMETER * * * 'STUFF' ENTRIES. * * ********************************************** CLB SET B = 0 STB $XBIT z������ SET $XBIT = 0 (FOR CLEAR V PARM) STB $RBIT SET $RBIT = 0 (FOR 'REAL' FLAG) CPA REAL REAL? JMP PRG85 YES - CPA INTEG NO - INTEGER OR BOOLEAN? JMP PRG85 YES - GO SAVE IT AND SCAN PRG71 SZA,RSS NO - IS IT A VARIABLE? JMP PRG87 YES - SET PRTYPE,-TEST RBIT STA $XBIT SET $XBIT TO CLEAR 'V' BIT LATER CPA ARRAY IS NAME = ARRAY? JMP PRG90 YES - GO PROCESS IT CPA PROCE NO - IS IT PROCEDURE? JMP PRG95 YES LDB $RBIT GET DECLARATION TYPE(NONE WE HOPE). SZB,RSS HAS ONE BEEN FOUND? JMP *+5 NO - GOOD! SKIP AROUND ERROR SET JSB .FLAG YES -BAD! -ERROR #67 INTDV DEC 67 "ILLEGAL 'TYPE' FOUND IN DECLAR." CLB STB $RBIT CLEAR $RBIT LDA .TYPE SET A = .TYPE AGAIN CPA LABEL LABEL? LDB .+21B YES.- SET B = 21B CPA SWITC SWITCH? LDB .+23B YES - SET B = 23B CPA FORMA FORMAT? LDB .+24B YES - SET B = 24B CPA INPUT INPUT? LDB .+25B YES - SET B = 25B CPA OUTPU OUTPUT? LDB .+26B YES - SET B = 26B SZB HAS A DESCRIPTION BEEN GIVEN? JMP *+4 YES JSB .FLAG NO - ERROR #68 STAR DEC 68 "ILLEGAL DESCRIPTOR IN PROC.DECL" JMP PRG69 BACK TO TERMINATOR SCAN. STB PRTYP SAVE DESCRIPTOR TYPE PRG75 JSB SCANR GET A VARIABLE PRG77 LDA .TYPE SZA,RSS .TYPE = 0? (I.E. DEFINED IN LIST) JMP *+4 YES JSB .FLAG NO - ERROR #69 MINUS DEC 69 "IDENTIF. NOT DEF. AS PROCED.PARAM." JMP PRG80 * * SET TYPE AND RBIT INTO INFO WORD OF * * * VARIABLE 'STUFF' ENTRY * LDB .INFO ADB .-1 B = ADDR.OF WORD WITH V BIT STB T T = B LDA T,I LDB $XBIT SZB IS V BIT NECCESARY ELA,CLE,ERA NO - CLEAR V BIT ���N��LH STA T,I RESTORE V BIT WORD TO STUFF ENTRY LDB $RBIT SZB,RSS IS VARIABLE REAL? JMP *+3 NO SSA YES - IS V BIT SET? ISZ PRSIZ YES - BUMP .PRAM LINKAGE LENGTH LDA .INFO,I A = INFO WORD! SZB IS VARIABLE REAL? IOR BIT15 YES - ADD R BIT TO INFO WORD ALF,ALF POSITION INFO WORD FOR TYPE RAR INSERTION ADA PRTYP ADD IN TYPE ALF,ALF REPOSITION RAL STA .INFO,I RESTORE INFO WORD TO STUFF ISZ PRSIZ BUMP .PRAM LINKAGE LENGTH PRG80 JSB SCANR SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP PRG75 YES - BACK FOR NEXT IDENTIFIER ��������������������������������������������������������������������������������������������������������N�������������� JMP PRG65 NO - BACK FOR SEMICOLON SEARCH * * TYPE = REAL, INTEGER OR BOOLEAN * * * SAVE IT AND SCAN AGAIN * PRG85 STA $RBIT SAVE CURRENT .TYPE JSB SCANR SCAN NEXT SYMBOL JMP PRG71 BACK TO TESTING * * TYPE = 0(PROC.PARAMETER) * PRG87 LDA .+14B A = 14B (IDENTIFIER CODE) LDB $RBIT SZB $RBIT = 0 JMP PRG92 NO - IT'S GOOD JSB .FLAG YES - ERROR #70 PLUS DEC 70 "NO TYPE SPEC. FOR IDENTIFIER" LDA .+14B RESET A = 14B PRG88 CLB PRG89 STB $RBIT SET $RBIT = 0 OR REAL STA PRTYP SET PRTYP = A REG.CONTENTS JMP PRG77 GO TO ID EXAMINE AND SET * * TYPE IS 'ARRAY' * PRG90 JSB SCANR SCAN FOR IDENTIFIER LDA .+13B ARRAY CODE IN A LDB $RBIT SZB,RSS IS TYPE OF ARRAY SET? LDB REAL NO - SET IT = REAL PRG92 CPB REAL IS TYPE = REAL? JMP PRG89 YES - GO SET PRTYP (IN A NOW) JMP PRG88 NO - GO CLEAR $RBIT, SET PRTYP * * TYPE IS 'PROCEDURE' * PRG95 JSB SCANR SCAN FOR PROCEDURE IDENTIFIER LDA .+17B A = 17B (PROPER PROCEDURE CODE) LDB $RBIT B = $RBIT SZB IS IT A FUNCTION PROCEDURE LDA .+16B YES - SET A = 16B JMP PRG92 GO TO FURTHER TEST HED TESTING AND SETUP ROUTINES * **************************************************** * * JTEST - SET THE BLOCK ADDRESS INTO LOC'N 'JFLAG' * * **************************************************** JTST NOP LDA JFLAG SZA JFLAG = 0? JMP JTST,I NO - EXIT (IT HAS AN ADDRESS) LDA PCNTR STA JFLAG SET J FLAG = PCNTR JSB EMNOP EMIT A SPACE FOR FUTURE 'JMP' JMP JTST,I EXIT * ******************************************** * * IDTSN - TEST FOR AN UNDEFINED IDENTIFIER,* * * IDTST - TEST FOR AN UNDEFINED IDENTIFIER * * C������ * IF NOT FOUND PRINT AN ERROR DIAG.* * * EXIT TO * * * 1. RETURN ADDRESS+1 IF IDENTIFIER FOUND * * * 1. RETURN ADDRESS+2 IF IDENTIFIER IS * * * NOT FOUND(I.E. IT'S UNDEFINED). * * ******************************************** XIDTN NOP ENTRY TO 'IDTSN' LDB *-1 RETURN ADDR. TO B CLA A = 0 STB IDTSQ SET RETURN ADDRESS JMP IDTS1 ENTER MAIN ROUTINE FROM HERE IDTSQ NOP ENTRY TO 'IDTST' IS HERE CLA,INA A = 1 IDTS1 LDB .TYPE **** MAIN ROUTINE STRTS HERE **** CPB TYUID IS IDENT. UNDEFINED? JMP IDTS2 YES, GO TO EXIT LDB .BLEV NO, TEST BLOCK LEVEL CPB BLK .BLEV = BLK ? JMP *+3 YES, ID IS REALLY DEFINED SZB NO, .BLEV = 0 ? JMP IDTS2 NO, EXIT, ID IS UNDEF THIS BLOCK SZA,RSS IS A DIAGNOSTIC WANTED? JMP IDTSQ,I NO - EXIT (RETURN ADDR + 1) JSB .FLAG PRINT ERROR DIAGNOSTIC # 44 ACOMA DEC 44 (UNDEFINED IDENT. EXPECTED HERE) JMP IDTSQ,I EXIT (RETURN ADDR + 1) IDTS2 ISZ IDTSQ DEFINED IDENTIFIER - EXIT SETUP- JMP IDTSQ,I EXIT (RETURN ADDR + 1) HED ADD AN ENTRY TO 'STUFF' (INSERT) * ************************************************ * * INSRT - INSERT AN ENTRY INTO THE STUFF TABLE * * * ON ENTRY: * * * A REG.= ADDRESS OF NAME BUFFER * * * B REG.= 1 INSERT $NEXT BEFORE $ADDR LOC.* * * B REG.= 0, DON^T USE $NEXT * * * $RBIT = BIT 15 OF INFO WORD * * * $XBIT = BIT 14 OF INFO WORD * * * $TYPE = ENTRY TYPE * * * $ADDR = CONTENTS OF WORD ABOVE INFO WORD * * * $NEXT = CONTENTS OF WORD ABOVE $ADDR * * * ON EXIT: ������ * * * A REG.= $INFO * * * $WLEN = NO.OF WORDS IN THE ENTRY * * * $INFO = STUFF(ADDRESS OF INFO WORD) * * ************************************************ INSER NOP STB $WLEN INITIALIZE $WLEN(= 1 OR = 0) STB $INFO $INFO=TEMP.'B' FLAG LDB $RBIT *SET UP INFO WORD HERE* RBL RBIT IN - SHIFT 1 FOR XBIT ADB $XBIT GET XBIT RBL,BLF SHIFT 5 FOR ENTRY TYPE ADB $TYPE GET ENTRY TYPE BLF SHIFT 4 FOR BLOCK LEVEL ADB $BLEV GET BLOCK LEVEL RBL,BLF SHIFT 5 FOR ENTRY LENGTH STB T SET INFO WORD LDB A B = ADDRESS OF NAME BUFFER LDA B,I GET 1ST WORD IN BUFFER AND HIMSK CLEAR LOWER 1/2 (A=NO.OF CHARS) ALF,ALF NO.CHARS TO LOWER A ARS (NO.OF CHARS)/2 INA STA T+1 T+1 = NO.OF WORDS OF NAME ADA .+2 ADA $WLEN + $WLEN=NO.WORDS IN ENTRY STA $WLEN PUT IT IN $WLEN ADA T ADD INFO WORD TO LENGTH STA T INFO WORD NOW COMPLETE AND SET LDA $WLEN ADA STUFF A=LOC'N OF NEW ENTRY CMA SET UP FOR COMPARISON WITH STACK ADA STOP SSA CHECK FOR OVERFLOW JMP OVFLO NO MORE ROOM FOR TABLES LDA T+1 A = NO.OF WORDS IN NAME CMA,INA STA T+1 T+1 = COMPL.OF NO.OF WORDS ISZ STUFF LOOP HERE TO STORE NAME INTO LDA B,I ENTRY. STA STUFF,I ISZ B BUMP NAME POINTER ISZ T+1 IS IT ALL STORED? JMP *-5 NO - GO BACK AND REPEAT LOOP. ISZ STUFF BUMP 'STUFF' LDA $INFO GET $NEXT STORE FLAG LDB $NEXT SZA IS $NEXT TO BE STORED? STB STUFF,I YES, STORE IT SZA WAS $NEXT STORED? ISZ STUFF YES,BUMP 'STUFF' LDA $ADDR STA s������STUFF,I STORE $ADDR ISZ STUFF BUMP STUFF LDA T STA STUFF,I STORE INFO WORD LDA STUFF STA $INFO $INFO = STUFF JMP INSER,I EXIT INSERT ROUTINE $RBIT BSS 1 BIT 15 OF INFO WORD(REAL/INTEGER) $XBIT BSS 1 BIT 14 OF INFO WORD(EXTERNAL SYMBOL) $BLEV BSS 1 BLOCK LEVEL NUMBER $TYPE BSS 1 ENTRY TYPE $INFO BSS 1 LOCATION OF ENTRY'S INFO WORD $ADDR BSS 1 CONTENTS OF WORD BEGORE INFO WORD $NEXT BSS 1 CONTENTS OF WORD BEFORE $ADDR WORD HED 'PUNCH BINARY RECORD' SUBROUTINE. * ************************************************ * * PNCH - OUTPUT PNBUF VIA PUNCH OUTPUT DRIVER * * * 1. COMPUTE CHECKSUM. * * * 2. PUNCH CONTENTS OF BUFFER. * * * 3. CLEAR PUNCH BUFFER(PNBUF) TO ZEROS * * * INPUT * * * WORD COUNT(RECORD LENGTH) IN LOWER HALF * * * OF LOCATION 'PNBUF'. * * * 'PUNCH' WILL POSITION IT FOR BINARY FORMAT* * ************************************************ PNCH NOP LDA PNFLG SZA JMP *+4 LDA LDGOF SZA,RSS JMP PNCH5 SKIP TO EXIT IF NO PUNCHING LDA PNBUF GET THE WORD COUNT STA HCNTB SET RECORD WORD COUNTER CMA,INA INA STA T SET CHECKSUM WORD COUNTER LDA FUBNP STA B SET B=LOC OF PNBUF LDA PNBUF ALF,ALF STA PNBUF POSITION WORD COUNT IN PNBUF CLA A _ 0 * * COMPUTE AND STORE CHECKSUM HERE * INB ADA B,I ISZ T IS LAST WORD IN ? JMP *-3 NO, GET NEXT ONE. * * SET UP PARAMETERS FOR ENTRY TO PUNCH DRIVER * STA PNBUF+2 STORE CHECKSUM LDA PNFLG SZA,RSS JMP PNCH3 JSB EXEC PUNCH CONTENTS OF PUNCH BUFFER DEF *+5 DEF .+2 DEF LI197 8������FUBNP DEF PNBUF FUFFER ORG DEF HCNTB PNCH3 LDA LDGOF SZA,RSS JMP PNCH5 JSB %WRIT DEF *+3 DEF PNBUF FUFFER ORG DEF HCNTB PNCH5 CLA SET A=0 STA PNBUF CLEAR WORD COUNT STA PNBUF+2 AND CHECKSUM LOCATIONS. JMP PNCH,I HED STACK ROUTINES * THE STACK ROUTINES CONTROL OPERATION OF THE COMPILER * STACK. THERE ARE 4 ROUTINES: * PUSH---ADDS THE ELEMENT IN A TO THE STACK * STACK---MOVES A BLOCK OF VALUES INTO THE STACK * UNSTK---RETRIEVES A BLOCK FROM THE STACK PUSHQ NOP ENTRY TO PUSH CCB EXTEND ADB STOP STACK CPB STUFF CHECK FOR STACK OVERFLOW JMP OVFLO NO MORE ROOM FOR TABLES STB STOP STA STOP,I PUSH VALUE INTO STACK JMP PUSHQ,I * STACK IS CALLED AT THE BEGINNING OF EVERY REENTRANT ROUTINE * IN ORDER TO SAVE ITS PREVIOUS VARIABLES. THE CALLING * SEQUENCE IS: * TEMPS BSS N * PROG NOP ENTRY POINT * JSB STACK,I * DEF TEMPS * BACK JSB UNSTK,I * STACK WILL SAVE EVERYTHING FROM TEMPS THROUGH PROG. WHEN * THE ROUTINE IS DONE PROCESSING, IT SHOULD MERELY JUMP TO * BACK. UNSTK WILL RESTORE THE TEMPORARIES AND PERFORM THE * RETURN JUMP. STACQ NOP ENTRY TO STACK STA T SAVE A AND STB T+1 B REGISTERS. LDA .-2 COMPUTE ADDRESS OF CALL TO ADA STACQ STACK AND SAVE IN ST1. ST2 STA ST1 LDA ST1,I GET VARIABLE AND PUSH JSB PUSHQ INTO STACK. LDA ST1 GET ADDRESS OF THAT CPA STACQ,I VARIABLE AND TEST FOR DONE. JMP *+3 ALL DONE ADA .-1 DEBUMP POINTER AND LOOP. JMP ST2 LDA T RESTORE LDB T+1 A&B. ISZ STACQ ISZ STACQ JMP STACQ,I UNSTQ NOP ENTRY TO UNSTK STA T SAVE A STB T+1 ������ &B LDB UNSTQ GET ADDRESS OF PROGRAM ADB .-4 ENTRY POINT & SAVE IN ST1. STB ST1 ADB .+2 NOW GET ADDRESS OF BEGINNING LDB 1,I OF BLOCK. ST3 LDA STOP,I RETRIEVE PREVIOUS VALUES. ISZ STOP STA 1,I CPB ST1 IF THIS IS ST1, WE HAVE THE RETURN JMP *+3 ADDRESS INB OTHERWISE, BUMP B AND LOOP JMP ST3 LDB T+1 RESTORE B REGISTER STA T+1 SAVE RETURN ADDRESS IN T+1 LDA T RESTORE A REGISTER. JMP T+1,I RETURN JUMP THROUGH THE ROUTINE. ST1 BSS 1 TEMPORARY USED BY STACK AND UNSTACK. * ************************************************** * * SWGEN - ENTER 'SWITCH' IDENTIFIER INTO 'STUFF' * * * AND GENERATE THE NECESSARY OBJECT CODE * * * FOR PROCESSING THE LABELS AT RUN TIME * * ************************************************** SWGN JSB JTST TEST FOR 'JMP' AROUND DECLARATIVE LDA TYSWT A = SWITCH TYPE CLB B = 0 (NO RBIT) STB HNA CLEAR SWITCH COUNTER JSB SETIN GO TO SETUP FOR ENTRY TO INSRT JSB INSER GO ENTER SWITCH INTO STUFF JSB EMNOP EMIT A NOP LDA #SWCH GET LOC'N OF .SWCH ROUTINE JSB EMJSB EMIT 'JSB .SWCH' LDA PCNTR GET CURRENT PROGRAM LOC'N STA HSA SAVE IT IN HSA JSB EMNOP EMIT A SPACE FOR THE LABEL COUNT JSB SCANR GET NEXT SYMBOL CPA STORE IS IT AN ARROW ? JMP SWGN2 YES - GO ON TO NEXT SYMBOL JSB .FLAG NO - PRINT ERROR # 50 DEC 50 'ARROW OR := EXPECTED IN SWITCH' JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. SWGN2 JSB SCANR GET NEXT SYMBOL CPA DFLAB IS IT A LABEL ENTRY? JMP *+4 YES - SKIP ERROR DIAG BELOW JSB .FLAG NO - PRINT ERROR # 51 DEC 51 'LABEL ENTRY EXPECTED IN SWITCH' JMP SWGN4 [������ ISZ HNA BUMP LABEL COUNT LDA .INFO A=ADDRESS OF LABEL ENTRY JSB EMDEF EMIT THE LABEL'S ADDRESS SWGN4 JSB SCANR GET CHAR. FOR ',' TEST CPA COMMA COMMA? JMP SWGN2 YES - GO BACK FOR NEXT SYMBOL JSB XSEMI NO - GO TEST FOR ';' * * OUTPUT THE NUMBER OF LABELS BACK IN OBJ CODE STREAM * LDB HSA LOC'N OF EMISSION JSB EMSET PREPARE TO EMIT AN 'OCT' OUT OF LINE LDA HNA CONTENT OF 'OCT' JSB EMOCT EMIT THE 'OCT' HERE JSB EMRST RESTORE THE PCNTR HERE JMP BLOC1 EXIT TO BLOC1 FROM SWGEN #SWCH DEF .SWCH HED PROCESS 'EQUATE' DECLARATION * *************************************** * * EQGEN - PROCESS IDENTIFIERS EQUATED * * * TO CONSTANTS * * *************************************** EQGN0 JSB SCANR GET SYMBOL FOLLOWING THE COMMA JSB IDTSQ GO TEST FOR IDENTIFIER JMP EQGN3 DEFINED ID - GO TO EXIT SETUP EQGN LDA STUFF ENTER 'EQUQTE' PROCESSER HERE****** STA HAR SAVE 'STUFF' POINTER LDA TYEQU A =(ENTRY TYPE) EQUATE CLB B = 0 (RBIT SETTING) STB $NEXT CLEAR $NEXT JSB SETIN GO SET UP PARAMETERS FOR INSERT STB $ADDR $ADDR = 0 CLB,INB $NEXT = 0, BUT PRESENT JSB INSER GO INSERT VARIABLE INTO TABLE JSB SCANR GET NEXT SYMBOL CPA STORE IS IT 'ARROW' OR ':=' ? JMP EQGN5 YES JSB .FLAG NO - ERROR #54 DEC 54 'ARROW OR := EXPECTED' EQGN2 LDA HAR STA STUFF RESET STUFF(WIPES OUT BAD ENTRY) EQGN3 JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. EQGN5 JSB NUMBQ GET THE EQUATE VALUE JMP EQGN2 FAILURE EXIT (MG) LDB STUFF ADB .-1 SET B TO POINT AT L(STUFF-1) LDA IDNUM+1 STA B,I STORE CONSTANT(INTEGER OR 1/2RL) ADB .-1 LDA .INFO,I GET -_������INFO WORD CLE,ELA PUT 'R' BIT INTO E LDA IDNUM SEZ TEST FOR REAL CONSTANT STA B,I STORE LAST 1/2 REAL NO LDA STUFF,I RAL,ERA SET RBIT INTO INFO WORD STA STUFF,I REPLACE INFO WORD JSB SCANR GET NEXT SYMBOL CPA COMMA IS IT A COMMA? JMP EQGN0 YES JMP BLOCS SEMICOLON TEST THEN BLOC1 HED PROCESS 'ARRAY' DECLARATION * ******************************************** * * ARGEN - GENERATE AN 'ARRAY' DECLARATION * * * 1. GENERATE ARRAY TABLES(BASE PAGE)* * * 2. SPECIFY ARRAYS IN CURRENT PAGE * * * 3. INITIALIZE ARRAYS IF SPECIFIED * * ******************************************** P2000 OCT 2000 HSA BSS 1 SWGEN ADDR SAVE ARGEN TBL LINGTH IDGEN HUA BSS 1 ARGEN UPPER BOUNDS HSET BSS 1 ARGEN FLAG FOR LOOK USE HNUM BSS 1 ARGEN NO. DIMENS FOR BASE PAGE TBL HNA BSS 1 SWGEN COUNTER ARGEN NO. OF DIMENSIONS HLA BSS 1 ARGEN LOWER BOUNDS HARD BSS 1 ARGEN ARRAY LOCN FOR 'PCNTR' USE HAR BSS 1 EQGEN STUFF SV ARGEN ARRAY CNTR ADDX EQU HLA *LOCN OF/ADDR AFTER PARAMS/PROC ENTRY IN STUFF ADDY EQU HUA LOCN OF '.ADDR' IN PROC. ENTRY HADD EQU HUA ARRAY TABLE ADDR IN BASE PAGE HCNAD EQU HLA 'STACK' PICK UP ADDRESS HPNUM EQU HAR NO. OF PARAMETRS IN PROCEDURE DECL. HCNTR EQU HLA ALSO NO. OF PARAMS IN PROC DECL. HPRAM EQU HSA LOC'N OF PARAMETRS IN PROCEDURE ENTRY PRSIZ EQU HNUM WORD CNTR FOR .PRAM LINKAGE PRSKP EQU HNA SAVE PCNTR FOR 'CODE' RESET IN PRGEN PRTYP EQU HARD SAVE PROC.DESCRIPTOR PARAM.TYPES PSTOF EQU HSET SAVE STUFF OF XPANDED PROCED ENTRY ITYPE EQU HSET SAVE 'IO' TYPE(IOGEN) ISAVE EQU HAR SAVE PCNTR IN IOGEN TSAVE EQU HLA SAVE IO PROCESSER LOC'N(2OSET) IOTYP EQU HAR SAVE READ/WRITE TYPE IN IOSTM IOSAV EQU HARD SAVE ADDR OF 3RD LOCATION IN .DIOu������. LINKAGE ARGN LDA HT GET ARRAY TYPE SZA,RSS IS ARRAY TYPE SPECIFIED? LDA REAL NO, THEN IT'S REAL. STA HT RESTORE THE TYP ARG00 CLA STA HAR SET ARRAY COUNTER = 0 JSB JTST SET 'JMP' AROUND DECLARATION ARG01 JSB SCANR GET ARRAY NAME JSB IDTSQ TEST FOR UNDEF. ARRAY NAME. JMP ARG09 ALREADY DEFINED - ERROR * * NEW ARRAY NAME IS OK - PROCESS IT * ISZ HAR BUMP ARRAY COUNTER LDA HT CLB SET B FOR $RBIT=0 CPA REAL IS THE ARRAY TYPE REAL? INB YES, CHANGE B FOR $RBIT=1 LDA .+13B SET A FOR $TYPE = 13B JSB SETIN GO TO PARAMETER SETUP FOR INSERT INB SET B=1 (USE $NEXT) JSB INSER GO INSERT 'ARRAY' ENTRY IN STUFF JSB SCANR GO SCAN FOR COMMA CPA COMMA IS IT A COMMA? JMP ARG01 YES - GET NEXT NAME CPA LBRAC NO - IS IT LEFT BRACKET? JMP *+4 YES - GO ON JSB .FLAG ERROR #55 .67B DEC 55 "LEFT BRACKET EXPECTED" JMP ARG09 LEAVE HERE CLA STA HNA SET DIMENS.CNTR = 0 INA STA HSA SET TABLE LENGTH = 1 LDA STOP STA HSTOP SET STACK POINTER FOR ARRAY ARG05 JSB NUMBQ CALL NUMBR FOR LOWER BOUND (MG) JMP ARG08 ERROR EXIT (MG) LDB .RBIT GET THE MODE (MG) SSB,RSS ERROR IF REAL (MG) JMP ARG12 O.K.---CONTINUE (MG) * * ERROR EXITS ALL IN THE AREA BELOW * ARG07 JSB .FLAG ERROR #56 DEC 56 "INTEGER EXPECTED IN DIMENSION" ARG08 LDA HSTOP STA STOP RESTORE ORIGINAL STACK POINTER ARG09 JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. ARG12 LDA IDNUM+1 GET THE LOWER BOUNDS(INTEGER) CMA,INA STA HLA SAVE ITS COMPLEMENT IN 'HLA' JSB SCANR GET NEXT SYMBOL CPA COLON IS IT A E������COLON? JMP *+4 YES JSB .FLAG NO - ERROR #57 DEC 57 "COLON EXPECTED IN DIMENSION" JMP ARG08 GO TO ERROR EXIT JSB NUMBQ GO GET UPPER BOUND JMP ARG08 FAILURE (MG) LDB .RBIT CHECK THE MODE (MG) SSB ERROR IF REAL (MG) JMP ARG07 TOO BAD, CHARLIE (MG) LDA IDNUM+1 GET THE UPPER BOUNDS INTEGER STA HUA ADA HLA SSA,RSS IS UPPER LESS THAN LOWER BOUNDS? JMP *+4 NO - OK JSB .FLAG YES - ERROR #58 ACOLN DEC 58 "UPPER BOUND < LOWER BOUND IN DM" JMP ARG08 ISZ HNA BUMP DIMENSION COUNTER INA 1 ADD 1 TO DIMENSION LENGTH STA HUA SAVE DIMENSION SIZE IN 'HUA' JSB PUSHQ ADD DIMENSION TO STACK LDA HLA JSB PUSHQ ADD -(LOWER BOUNDS) TO STACK LDA HUA GET ARRAY SIZE TO A MPY HSA HUA*HSA= NO. OF WORDS IN ARRAY SZB B=0? JMP *+3 NO,SKIP TO ERROR ROUTINE SSA,RSS A>32K? (ERROR IF IT IS) JMP *+4 NO THEN CONTINUE JSB .FLAG YES - ERROR #61 AEQUL DEC 61 "ARRAY SIZE EXCESSIVE" LDA P2000 SET SIZE = 2000 STA HSA SET HSA = NEW SIZE JSB SCANR GET NEXT SYMBOL CPA COMMA COMMA? JMP ARG05 YES- GO PROCESS NEW DIMENSION CPA RBRAC NO - IS IT RIGHT BRACKET? JMP *+4 YES - GO TO CLOSE OUT DIM.PROC. JSB .FLAG NO - ERROR #59 ASEMI DEC 59 " EXPECTED AT END OF DIMENSION" JMP ARG08 EXIT LDA HNA CMA,INA -HNA IN 'A' LDB HT CPB REAL IS THE ARRAY TYPE REAL? CMA,INA YES, SET 'A' POSITIVE STA HNUM SET NO.OF DIMENSIONS FOR TABLE LDA HSA ARRAY SIZE TO A CPB REAL IS THE ARRAY TYPE REAL? ALS YES- SIZE * 2 NOW IN 'A' STA HSA ������ RESTORE SIZE LDA HNA GET NO. OF DINMS. ADA HNA NO. DIMS TIME 2 ADA .+2 LENGTH OF ARRAY ENTRY MPY HAR *NO. OF SETS=LENGTH OF ALL ENTRIES ADA PCNTR = LOC'N OF 1ST ARRAY IN CORE STA HARD SAVE IT IN 'HARD' CLA STA HSET SET 'LOOK'FLAG FOR 1ST SCAN LDA HAR CMA,INA STA HAR SET ARRAY COUNTER TO COMPLEMENT ARG15 LDA PCNTR (CURRENTLY POINTS AT ARRAY TABLE) STA HADD SET 'HADD' = PCNTR LDA HSTOP STA HCNAD SET ARRAY(PART OF STACK)ADDRESS LDA HSET HSET = 0 FOR 1ST ARRAY LOOKUP JSB LOOK LOOK UP THE CURRENT ARRAY ENTRY NOP (P+1) EXIT FROM LOOKUP LDA .INFO GET ADDRESS OF ARRAY ENTRY AND JSB STLBL STORE NAME IN PRBUF LBL FLD. LDA HNUM JSB EMOCT EMIT NO.OF DIMENSIONS FOR TABLE ARG17 LDA HCNAD REDUCE INTERMEDIATE STACK POINTER CPA STOP REACHED TOP OF STACK YET? JMP ARG18 YES - SKIP OUT OF LOOP ADA .-1 BY 1 TO GET THE NEXT TABLE ENTRY STA HCNAD HCNAD NOW POINTING AT THE NEXT ENTRY LDA HCNAD,I GET DIMENSION OR LOWER BOUND JSB EMOCT EMIT DIMENSION OR LOWER BOUND JMP ARG17 - GO BACK AND DO NEXT ENTRY ARG18 LDA HARD CURR. ARRAY LOC'N IN A JSB DEFR EMIT ARRAY LOCATION LDB .INFO ADB .-1 GET ADDRESS FOR ARRAY VECTOR LDA HADD GET B.P.ADDRESS OF ARRAY TABLE STA B,I SET IT INTO ARRAY STUFF ENTRY ADB .-1 GET ADDRESS FOR DIMENSIONS LDA HNA GET NO.OF DIMENSIONS STA B,I SET IT INTO ARRAY STUFF ENTRY ISZ HSET SET LOOKUP FLAG 0 LDA HSA ADA HARD STA HARD UPDATE LOCATION OF ARRAY ISZ HAR IS LAST ARRAY IN SET PROCESSED? JMP ARG15 NO - PROCESS NEXT ONE JSB SCANR SCAN FOR NEXT SYMBOL CPA STORE IS IT ARROW OR := ? JMP ARG25 I������ YES, GO TO ARRAY INITIALIZER CPA COMMA IS IT A COMMA? JMP ARG40 YES - GO CLOSE THIS ARRAY JMP ARG20 NO - GO TO TERMINATION TESTS. ARG25 JSB NUMBQ GO GET A NUMBER FOR ARRAY VAL (MG) JMP ARG08 FAIL (MG) LDA PCNTR **CHECK TO PREVENT ARRAY INITIAL- CMA,INA IZATION OVERFLOW**** ADA HARD 'HARD' MINUS PCNTR IN A SZA TOO MANY CONSTANTS FOR ARRAY? JMP *+4 NO - CONTINUE JSB .FLAG YES - ERROR #60 ALESS DEC 60 "TOO MANY VALUES FOR ARRAY INIT." JMP ARG08 GO TO ERROR EXIT JSB HINIT INSERT VALUES INTO ARRAY JSB SCANR SCAN FOR SYMBOL CPA COMMA IS IT A COMMA? JMP ARG25 YES - PICK UP NEXT NUMBER ARG20 JSB XSEMI GO SCAN FOR SEMI-COLON * * CLOSE OUT FOR CURRENT ARRAY(S) * ARG40 LDA PCNTR SET UP ARRAY LENGTH CMA,INA ADA HARD 'HARD' MINUS PCNTR IN A SZA IF NUMBER OF ELEMENTS LEFT # 0, JSB EMBSS RESERVE STORAGE FOR THEM. LDA HSTOP STA STOP RESTORE STACK POINTER LDA .TYPE GET LATEST SYMBOL TYPE CPA COMMA IS IT A COMMA? JMP ARG00 GO START PROCESSING NEXT ARRAY NAME. JMP BLOC1 **EXIT FROM ARRAY GENERATOR******* * NUMBR HELPS OUT THE SCANNER IN SPOTS WHEN A NUMBER * IS TO BE COMPILED. IT PRINTS AN ERROR MESSAGE IF * THERE IS NONE. NUMBQ NOP ENTRY POINT JSB SCANT SCAN NEXT SYMBOL. CPA MINUS UNARY MINUS IS THE BEAR. JMP NUMB1 CPA PLUS A PLUS CAN BE IGNORED BY JSB SCANT RESCANNING. CPA TYCON MUST GET A CONSTANT NOW. JMP NUMB2 RETURN IF IT IS. NUMB3 JSB .FLAG DEC 7 JMP NUMBQ,I NUMB2 ISZ NUMBQ SKIP RETURN IF BAD. JMP NUMBQ,I NUMB1 JSB SCANT NEGATIVE NUMBER. CPA TYCON RSS JMP NUMB3 ERROR LDA IDNUM+1 LDB .RBIT GO TO NUMB4 IF r���N��LH SSB REAL. JMP NUMB4 CMA,INA NEGATE IT NUMB5 STA IDNUM+1 IF INTEGER. LDA TYCON JMP NUMB2 NUMB4 LDB IDNUM IF REEAL, CALL COMP TO JSB COMPQ HANDLE IT. STB IDNUM JMP NUMB5 HED PROCESS 'FORMAT' AND 'INPUT-'OUTPUT' DECLARATIVES * ******************************************** * * FMGEN - PROCESS THE 'FORMAT' DECLARATIVE * * ******************************************** JSB SCANR SCAN THE FORMAT NAME FMGN JSB IDTSQ TEST THE NAME - ERROR IF DEFINED NOP JSB JTST TEST FOR 1ST DECLARATIVE FOR JMP LOC'N LDA TYFMT A = FORMAT TYPE CLB JSB SETIN SET UP THE INSERTION PARAMETERS ������������������������������������������������������������������������������������5�N�������������� JSB INSER SET UP THE FORMAT 'STUFF' ENTRY LDA $INFO GET ADDRESS OF FORMAT AND GO JSB STLBL SET IT'S NAME IN LBL FLD. JSB FSCAN CALL THE FORMAT SCANNER. JSB SCANR SCAN FOR NEXT SYMBOL CPA COMMA IS IT A COMMA? JMP FMGN-1 YES - GO BACK AND START A NEW FORMAT JMP BLOCS SEMICOLON TEST THEN BLOC1 FSCAN NOP SCANS A FORMAT AND EMITS CODE FOR IT CLB STB HFILL EMITTER OUTPUT WORD FMG01 STB HLEVL PAREN BALANCE LOCN(LEFT=-1; RT=1) FMG02 CLA FMG04 STA HVAL SET HVAL=0 OR DIGIT+HVAL*10 JSB DBLNK SCAN TO NEXT NON-BLANK JSB EMFOR SET UP WORD AND OUTPUT WHEN FULL JSB DIGIT IS CHARACTER A DIGIT? JMP FMG20 YES - GO TO UPDATE VALUE COUNTER FMG06 CPA ACOMA A=ASCII COMMA? JMP FMG02 YES CPA ASLSH A = ASCII SLASH(/)? JMP FMG02 YES CPA END 'X'? (130B) JMP FMG02 YES LDB HLEVL B = HLEVL ADB .-1 B = B-1 CPA ALPRN A = ASCII LEFT PAREN? JMP FMG01 YES - GO RESET HLEVL(=HLEVL-1) CPA ARPRN A = ASCII RIGHT PARENTHESIS? JMP FMG30 YES CPA AQUOT A = ASCII QUOTE? JMP FMG40 YES CPA .110B "H" ? JMP FMG50 YES CPA ASEMI SEMICOLON? JMP FMG60 YES GO TO PROCESS IT * * EMIT ALL CHARS TO NEXT NON-DIGIT OR NON-PERIOD * FMG08 JSB DBLNK SCAN TO NEXT NON-BLANK JSB EMFOR EMIT IT IF HFILL FULL JSB DIGIT IS CHAR A DIGIT? JMP FMG08 YES - GO BACK FOR NEXT CLB STB HVAL CLEAR HOLLERITH COUNTER CPA APOIN IS IT A PERIOD(POINT)? JMP FMG08 YES - GO BACK FOR NEXT JMP FMG06 * * UPDATE DIGIT VALUE COUNTER(HVAL) * FMG20 ADA M60B SET DIGIT TO TRUE VALUE STA HSAVE DIGIT TO HSAVE LDA HVAL MPY .+10 HVAL*10 ADA HSAVE ADD DIGIT TO RESULT JMP ������FMG04 GO GET NEXT CHARACTER * * PROCESS END OF A FORMAT DECLARATION * * * (RIGHT PARENTHESIS ENCOUNTERED) * FMG30 ISZ HLEVL IS THIS THE FINAL PARENTHESIS? JMP FMG02 NO - GO BACK FOR MORE JSB EMFOR OUTPUT LAST CHARACTER+PAREN JMP FSCAN,I * * EXIT FROM FORMAT GENERATOR ABOVE * * * EMIT ALL INFORMATION BETWEEN QUOTES * FMG40 JSB CHAR GET NEXT CHARACTER JSB EMFOR SET UP AND OUTPUT CPA AQUOT IS CHARACTER A QUOTE? JMP FMG02 YES - START NEW SERIES JMP FMG40 NO - GO BACK FOR ANOTHER CHAR. FMG50 LDA HVAL *** EMIT NEXT 'HVAL' CHARS AFTER H. SZA,RSS HVAL = 0 CLA,INA YES - SET HVAL = 1 CMA,INA STA HVAL SET HVAL = -HVAL FMG52 JSB CHAR GET NEXT CHARACTER JSB EMFOR EMIT CHARACTERS (IF READY) ISZ HVAL IS LAST CHARACTER OUT? JMP FMG52 NO - GO GET NEXT ONE JMP FMG02 YES - GO START A NEW SERIES FMG60 JSB .FLAG ERROR #71 ** SEMICOLON FOUND *** DEC 71 'SEMICOLON FOUND IN FORMAT DECLARATION' ISZ PEEKD UNSCAN THE SEMICOLON JMP FSCAN,I M60B OCT -60 HFILL BSS 1 TEMPS FOR FORMAT SCANNER. HLEVL BSS 1 HVAL BSS 1 HSAVE BSS 1 * ****************************************** * XSEMI - TEST FOR SEMICOLON TERMINATOR * * ****************************************** XSEMI NOP LDA .TYPE GET LAST SYMBOL TYPE CPA SEMI IS IT A SEMICOLON? JMP XSEMI,I YES, EXIT JSB .FLAG NO, GO TO ERROR DIAGNOSTIC DEC 49 #49 - SEMICOLON EXPECTED. JSB SCND SCAN TO THE FIRST SEMICOLON JMP XSEMI,I RETURN * ************************************* * * EMFOR - EMIT A PAIR OF CHARACTERS * * * WHEN HFILL HAS 2 OF THEM * * ************************************* EMFOR NOP STA HSAVE SAVE 'A' LDB HFILL IS E'������MITTER BUFFER WORD EMPTY? SZB,RSS JMP EMF10 YES - GO PUT CHAR IN IT ADA HFILL COMPLETE BUFFER WORD JSB EMASC EMIT OCTAL WORD, PRINT 2 CHARS. CLA SET A=0 EMF10 ALF,ALF ROTATE 'A' 8 BITS STA HFILL SET HFILL =A (0 IF WORD JUST EMITTED) LDA HSAVE SET A = ENTRY VALUE JMP EMFOR,I RETURN SKP * ****************************************** * * IOGEN - SUPERVISE PROCESSING OF 'INPUT' * * * AND 'OUTPUT' DECLARATIVES * * ****************************************** IOGN LDB TYOUT B = OUTPUT TYPE CPA INPUT IS IOGEN PROCESSING AN 'INPUT'? LDB TYINP YES - SET B = INPUT TYPE STB ITYPE SET ITYPE = B(INPUT OR OUTPUT) JSB JTST SET UP 'JMP AROUND DECLAR' FLAG JMP *+4 JUMP AROUND NAME SCAN IOG04 JSB SCANR GET NEXT I/O TYPE JSB IDTSQ GO TEST FOR UNDEFINED NAME NOP ERROR(DEFINED) EXIT LDA PCNTR STA ISAVE SAVE PCNTR IN 'ISAVE' LDA ITYPE SET A = I/O TYPE CLB SET B = 0 JSB SETIN SET 'INSRT' PARAMETERS JSB INSER GO INSERT 'STUFF' ENTRY FOR I/O JSB EMNOP EMIT A 'NOP' FOR I/O ROUTINE JSB SCANR PICK UP NEXT SYMBOL CPA LPREN LEFT PAREN? JMP IOG10 YES JSB .FLAG NO - ERROR #72 .110B DEC 72 'LEFT PAREN EXPECTED AFTER I/O NAME' CLB JSB BREC CLEAR PUNCH BUFFER LDA ISAVE STA PCNTR RESET PCNTR TO STARTING VALUE JMP BLOC2 SCAN TO TERMINATOR THEN TO BLOC1. IOG10 LDA ITYPE JSB IOSET GO PROCESS IO LIST TO RT PAREN. CLB SET B=0 (IN-LINE JMP) LDA ISAVE GET SAVED PCNTR VALUE ADA BIT15 MAKE IT INDIRECT JSB EMJMP GO EMIT A 'JMP (I/O),I' (EXIT) LDA .TYPE CPA COMMA IS NEXT CHAR A COMMA? JMP IOG04 YES - GET NEXT I/O DECLARATI������ON JMP BLOCS SEMICOLON TEST THEN BLOC1 HED GENERATE INSTRUCTIONS FOR I/O AND READ/WRITE LISTS * *************************************** * * IOSET - PROCESS I/O LISTS FOR INPUT * * * OUTPUT DECLARATIVES AND READ * * * WRITE STATEMENTS..... * * **************************************** IOSET NOP STA TSAVE SAVE INPUT OUTPUT INDICATOR LDA TEMP1 SAVE STA HFILL LDA TEMP2 STA HLEVL IOS10 JSB SCANT SCAN FOR NEXT SYMBOL IN DECLAR. JSB IOGUT GO TO INTERIOR OF IO PARAMETERES JSB SCANR SCAN NEXT SYMBOL CPA COMMA IS LAST SCANNED CHAR = COMMA? JMP IOS10 YES - GO GET NEXT PARAMETER CPA RPREN NO - IS IT RIGHT PAREN? JMP *+5 YES JSB .FLAG NO - ERROR #73 CCNT2 DEC 73 'RT PAREN, EXPECTED' JSB SCND SCAN TO TERMINATOR RSS JSB SCANR SCANNEXT SYMBOL LDB HLEVL RESTORE STB TEMP2 LDB HFILL STB TEMP1 JMP IOSET,I EXIT THE IOSET ROUTINE HERE * *********************************************** * * IOGUT - INNER PROCESSOR FOR EACH ELEMENT * * * OF THE I/O OR READ/WRITE PARAMETERS. * * *********************************************** IOGUT NOP A=.TYPE ON ENTRY TO IOGUT JSB STACQ DEF IOGUT JSB UNSTQ EXIT HERE CPA FOR IS IT A 'FOR' CLAUSE JMP IOS40 YES - GO PROCESS IT CPA LBRAC IS IT A 'BEGIN'? (LEFT BRACKET) JMP IOS50 YES, GO TO BEGIN TO END SECTION.. CPA TSAVE INPUT OR OUTPUT LIST? JMP IOS35 YES - GO EMIT 'JSB' TO IT LDB TSAVE B = INPU OUTPUT TYPE CLA,INA SET A = 1 CPB TYINP ARE WE UNDER 'INPUT'? LDA .+4 YES - SET A = + JSB ARITH GO TO 'ARITH' PROCESSER JMP IOGUT+3 ALTERNATE EXIT... LEAVE IOGUT HERE LDB A 6������ SET B = REAL,INT INDICATOR LDA #IOI. SET A = '.IOI.' ADDR. SSB IS THE NUMBER REAL? LDA #IOR. YES - SET A = !IOR! ADDR. JSB EMJSB GO EMIT JSB .IOI./.IOR. LDB TSAVE CPB TYOUT ARE WE UNDER 'OUTPUT' ? JMP IOGUT+3 YES, EXIT FROM IOGUT HERE LDA ATOP,I GET ADDR. OF VARIBLE ELA,CLE,ERA CLEAR BIT 15(REAL/INT) CLB JSB EMSTR GO TO 'STORE' EMITTER JSB FREE GO TO FREE TEMPORARY DEF ATOP,I JMP IOGUT+3 EXIT FROM IOGUT HERE.... IOS35 LDA .INFO SET UP FOR 'JSB' - A = L(VARIABLE) JSB EMJSB TO 'JSB' EMITTER JMP IOGUT+3 EXIT FROM IOGUT HERE.... IOS40 LDA IOGUT+2 SET A = ADDR OF 'IOGUT' SUBROUTINE JSB FORQL GO TO PROCESS 'FOR' CLAUSE JMP IOGUT+3 EXIT FROM IOGUT HERE.... * * PROCESS A 'BEGIN' TO AN 'END' IN THE IO LIST.. * IOS50 JSB SCANR GO SCAN FOR NEXT SYMBOL JSB IOGUT ENTER IOGUT(RECURSIVELY, YET!). JSB SCANR GO GET COMMA OR END(HOPEFULLY). CPA COMMA IS IT A COMMA? JMP IOS50 YES, GO BACK FOR A NOTHER SYMBOL CPA RBRAC IS IT THE 'END'? (RIGHT BRACKET) JMP IOGUT+3 YES, WE'RE DONE..LEAVE IOGUT NOW. JSB .FLAG NO, IT'S ERROR #87.. BEGIN DEC 87 "UNMATCHED BEGIN IN IO LIST" JMP IOGUT+3 LEAVE IOGUT AT THIS POINT,ITS BAD #IOI. DEF .IOI. #IOR. DEF .IOR. * FREE IS RESPONSIBLE FOR FREEING A TEMPORARY STORAGE LOCATION. ALL * IT MUST DO IS TEST TO SEE IF THE INFO ADDRESS IS IN THE TEMP * TABLE, & SUBTRACT 2 FROM TEMP1 IF IT IS. WHILE THIS WILL OCCA- * SIONALLY LEAVE THE TALBE SLIGHTLY WRONG, NO CALLS TO CLACC CAN * OCCUR BEFORE FURTHER CALLS TO FREE CLEAR THE SITUATION. FREE NOP LDA FREE,I GET INFO ENTRY LDA 0,I ADDRESS. ELA,CLE,ERA ISZ FREE STA T ADA .-1 STA T+1 SAVE LOCN OF TEMP ADDRESS CMA MUST HAVE TSIZE>TLAST-A>=0 ADA TLAST SSC������A JMP FREE,I NOT A TEMPORARY CMA ADA PLUS (ADD 70) LDB TEMP1 ADB .-2 SSA JMP FREE,I STB TEMP1 RESET TEMP1 IF TEST HOLDS LDB T+1,I GET THE TEMP ADDRESS SSB,RSS IF INDIRECT JMP FREE,I ELB,CLE,ERB CLEAR THE IBIT IN THE ADDRESS STB T+1,I AND LDA T,I THE MODE BIT ELA,CLE,ERA IN THE INFO WORD. STA T,I JMP FREE,I TLAST DEF TEMPS+69 LAST LOC OF 'TEMPS' * ******************************************************** * * LBGEN - SET UP A LABEL FOR ENTRY IN THE SYMBOL TABLE * * ******************************************************** LBGN JSB JTST TEST FOR 'JMP' AROUND DECLARATIVE LBGN1 LDA DFLAB SET A = LABEL TYPE LDB .+1 SET B = D VALUE (1 FOR RBIT) JSB SETIN GO TO SETUP VALUES FOR TABLE JSB INSER GO INSERT LABEL INTO STUFF JSB EMNOP EMIT A 'NOP' AT JUMP(TO) ADDRESS LBGN2 JSB SCANR GET NEXT SYMBOL CPA COMMA IS IT A COMMA? RSS YES, SKIP NEXT INSTRUCTION * EXIT FROM LABEL ROUTINE HERE *** JMP BLOCS SEMICOLON TEST THEN BLOC1 JSB SCANR SCAN FOR NEXT SYMBOL JSB XIDTN TEST FOR LEGAL VARIABLE JMP LBGN2 ID DEFINED(BAD) GO FOR NEXT ID JMP LBGN1 ID UNDEFINED(OK) HED PROCESS READ/WRITE STATEMENTS IREAD EQU CLINB 'READ' STATEMENT FALG * ******************************************** * * IOPR - I/O STATEMENT PROCESSER * * * READ(UNIT,FORMAT,LIST); $ * * LDA UNIT NO. * * * CLB,INB * * * JSB .DIO. * * * DEF FORMAT * * * DEF LAST LOC'N+1 * * * (IF FORMAT = *, READ IS FREE FORM) * * * WRITE(UNIT,FORMAT,LIST) ������ * * * SAME AS 'READ' EXCEPT B=0 ON .DIO. * * * ENTRY. * * * IF FORMAT IS MISSING BINARY I/O IS * * * DESIRED. JSB .BIO. IS ONLY WORD IN * * * THE LINKAGE. * * ******************************************** IOSTM NOP ENTER PROCESSER HERE LDB IOCLB SET THE B REG. INSTRUCTION CPA READ OBJECT TME USAGE LDB CLINB B=1 FOR READ LINKAGE STB IOTYP SAVE READ/WRITE INDICATOR JSB SCANR GET THE LEFT PARENTHISSIS CPA LPREN IS IT A LEFT PAREN? JMP IOP06 YES, SKIP TO LOGICAL UNIT SCAN IOP02 JSB .FLAG - NO, ERROR #84 DEC 84 "PARENTHESIS EXPECTED" IOP04 JSB SCND SCAN TO NEXR SEMICOLON JMP IOP60 GOTO PROCEESSER EXIT IOP06 JSB SCANT SCAN FOR LOGICAL UNIT NO,. CLA,INA SET A = 1 JSB ARITH GO TO ARITH TO PROCESS UNIT NO. JMP IOP60 ARITH ERROR, GO TO EXIT JSB MAKIN MAKE THE NO. AN INTEGER AND EMIT DEF ATOP,I TNE NECESSARY CODE JSB SCANR GO TO SCAN FOR THE COMMEA CPA COMMA IS IT THE COMMA? JMP IOP10 YES, GO TO FORMAT SCAN JSB .FLAG NO, ERROR #85 DEC 85 "COMMA EXPECTED=" JMP IOP04 GO TO ERROR EXIT IOP10 LDA IOTYP EMIT 'CLB' IF WRITE, OR EMIT JSB EMRRF 'CLB,INB' IF READ. JSB DBLNK IF NEXT CHARACTER IS CPA CROSS A CROSSHATCH (#), GO TO JMP IOP30 PROCESS INLINE FORMAT. ISZ PEEKD OTHERWISE, UNSCAN IT. JSB SCANT SCAN FOR THE FORMAT CPA TYFMT IS IT TYPE 'FORMAT'? JMP IOP20 YES,GO TO LINKAGE EMIT CPA STAR IS IT AN *?(FREE FIELD FORMAT) JMP IOP16 YES GO PROCESS IT IOCLB CLB NO, , I/O MUST BE BINARY STB IOSAV SAVE THE LWA+1 FLAG LDA #BIO. EMIT JSB EMJSB ' JSB .BIO. ' ISZ SCAND BACK UP SCANNER POINTER ������JMP IOP50 GO TO LIST PROCESSING IOP16 LDA IOTYP PROCESS FREE FIELD FORMAT(=*) CPA IREAD IS THIS A 'READ'? JMP IOP20 YES, SKIP THE ERROR DIAGNOSTIC JSB .FLAG ERROR #86 CASE DEC 86 " * FORMAT ILLEGAL WITH WRITE" IOP20 LDA #DIO. EMIT JSB .DIO. (MG) JSB EMJSB LDA .TYPE GET TYPE OF CURRENT SYBOL CPA STAR IS IT A *? JMP IOP24 YES, GO EMIT A NOP LDA .INFO NO, EMIT THE DEF FORMAT INSTRUCION JSB EMDEF GOTO EMITTER * * PATCH TO FIX FREE FIELD READ * BUG WHEN PROGRAM IS RUN IN BCS. * PATCH DATE-12/72 JMP *+3 SKIP EMIT ABS 0 IOP24 CLA EMIT JSB EMOCT ABS 0 LDA PCNTR GET CURRENT LOCATION IN OBJECT PROG. STA IOSAV SAVE IT FOR THE HDEF LWA+1 ' JSB EMNOP EMIT A NOP FOR FUTURE USE OF THE DEF IOP31 JSB SCANR SCAN FOR THE COMMA AFTER FORMAT. CPA COMMA IS THE COMMA THERE? JMP IOP50 YES, GO TO THE LIST PROCESSER CPA RPREN RT. PAREN.? I.E., NO I/O LIST? RSS YES, NO I/O LIST, SKIP PAST IT... JMP IOP02 IT'S AN ERROR(NO RT. PAREN.). JSB SCANR GET CHAR PAST RT PAREN JMP IOP53 GO INTO END PROCESSING OF LIST IOP30 LDA #DIO. IN LINE FORMAT--EMIT JSB EMJSB JSB .DIO. LDA PCNTR EMIT ADA .+3 DEF *+3 JSB DEFR LDA PCNTR SAVE PCNTR FOR STA IOSAV DEF LWA+1 JSB EMNOP LEAVE ROOM FOR IT AND FOR JSB EMNOP THE JMP AROUND THE FORMAT. JSB FSCAN NOW COMPILE THE FORMAT ITSELF. LDA PCNTR PATCH THE JUMP LDB IOSAV AROUND INB THE FORMAT. JSB EMJMP JMP IOP31 CROSS OCT 43 SKP * ************************************ * * PROCESS IO LIST IN THIS SECTION * * * EMITS * * * A. IF INPUT VALUE(WITH READ, * * * * INTEGER REA������L * * * *JSB .IOI. JSB .IOR. * * * * STA 'VALUE DST 'VALUE' * * * B. IF OUTPUT VALUE * * * LDA 'VALUE DLD 'VALUE' * * * * JSB .IOI. JSB .IOR. * * * C. IF INPUT OR OUTPUT LIST * * * * JSB 'LIST' * * * D. AFTER STATEMENT IS ALL DONE * * * ,I.E. RIGHT PAREN SCANNED, * * * EMIT ' JSB .DTA. ' IF IT'S A * * * 'WRITE' STATEMENT, THEM EMIT * * * A 'DEF ' IN THE LOC'N * * * SPECIFIED IN IOSAV(IF IT'S * * * NOT = 0). * * ************************************ IOP50 LDB IOTYP GET STATEMENT I/O TYPE LDA TYOUT GET WRITE FLAG FOR IOSET ROUTINE CPB IREAD IS THIS A 'READ'? LDA TYINP GET INPUT FLAG FOR IOSET ROUTINE JSB IOSET GO TO PROCESS 'WRITE' LIST IOP53 LDB IOTYP GET READ/WRITE(I/O) FLAG. CPB IREAD WAS IT FOR READ? JMP IOP56 YES, SKIP 'WRITE' PROCES. BELOW LDA #DTA. GET DTA ENTRY LOC'N JSB EMJSB ' JSB .DTA. ' FOR WRITE IOP56 LDA PCNTR GET CURRENT LOCATION VALUE STA EMPTR-1 PUT IT IN PSEUDO STUFF ENTRY LDB IOSAV EMIT THE DEF IF IOSAV NOT = 0 SZB,RSS IS IT = 0(BINARY I/O)? JMP IOP60 YES, SKIP 'DEF' EMIT(BELOW) JSB EMSET PREPARE TO EMIT 'DEF' OUT OF LINE LDA EMPTR+1 GET POINTER TO PSEUDO ENTRY JSB EMDEF EMIT THE 'DEF' HERE... JSB EMRST RESTORE THE PCNTR HERE. IOP60 ISZ SCAND SET SCAND FOR SCANNER BACKUP JMP IOSTM,I EXIT FROM READ/WRITE STATEMENT #DIO. DEF .DIO. #BIO. DEF .BIO. #DTA. DEF .DTA. HED HPAL --- MAIN PROGRAM EXECUTION * HPAL HAS THE FUNCTION OF INITIALIZING ALL THE ALGOL VARIABLES, * READING THE CONTROL CARD, AND DRIVING THE REST OF THE COMPILER. * SYSTEM PASSED PARAMETERS * LUNIN OCT 5 INPUT UNIT LUNO)������U OCT 6 OUTPUT UNIT LUNPH OCT 4 PUNCH LINES DEC -56 LINES PER PAGE LDGOF OCT 0 LOAD AND GO FLAG LUPTR DEF LUNIN PTR FOR PROCESSING ROUTINE LSTOG OCT 1 =1 WHEN LISTING SOURCE PNFLG NOP SET IF PUNCHING BINARY TAPE PNBUF OCT 0,20000,0,0,0,0,-1,0,0,3,143,0,0,0,0,0,0 T EQU PNBUF+60 T=3 PRBUF EQU T+3 PRBUF = 30 (+ 2 FOR ATABL) ATABL EQU PRBUF+32 ATABL = 35 TM0 EQU ATABL+35 TM0=20 TEMPS EQU TM0+20 TEMPS=70 PMC DEC -8 PARAMETER COUNTER .700 OCT 700 .77 OCT 77 LSPRN DEF .-1 FOR USE IN PRINT ROUTINE SPCR OCT 1100 TAB12 DEF IDTAB+12 TMCN OCT -5 HPAL1 EQU ATOP HPAL2 EQU A2ND .45 DEC 45 ASCIA OCT 101 ASCIB OCT 102 HPAL? ASC 4,HPAL ?? NOSRC DEF *+1 ASC 4,NO SOURCE HPERR JSB EXEC NO - CONTROL CARD ERROR DEF *+5 DEF .+2 DEF .+1 OUTPUT ON THE TTY DEF HPAL? DEF .+4 OUTPUT 4 WORDS JMP EOC1 HPAL NOP COMPILER ENTRY PT ************* ADB .-1 SET UP RECURSION HPALA INB INCREMENT PTR LDA B,I CPA FORMA CHECK FOR LOAD AND GO (99) JMP SLGOF YES - GO SET FLAG SZA NO - IS IT SPECIFIED STA LUPTR,I YES THEN STORE IT ISZ LUPTR NO TRY NEXT ISZ TMCN LAST PARAM? , IF NOT THEN JMP HPALA CONTINUE RSS SLGOF ISZ LDGOF SET LOAD AND GO FLAG JSB EXEC FIND LIST DEVICE DEF *+4 DEF .+13 DEF LUNOU DEF TMCN LDA TMCN ALF,ALF AND .77 MASK OUT UNIT TYPE (DVR NO) LDB LSPRN CPA .+10 PRINTER (DVR12)? STB LSTYP YES, REPLACE "SPC 6" W/ EJECT. LDA LINES SSA,RSS HAS A LINE COUNT BEEN ADDED? CMA,INA YES, SET IT UP FOR USAGE BY PRINT STA LINES LDA LUNPH ADA AAT ADD 100B STA LI197 ADA .700 STA LTLIT SET LEADR/TRAILER CONTROL WORD. LDA LUNIN N������ ADA .700 STA EOTIN SET EOT CONTROL WORD LDA LUNOU MAKE SURE COLUMN 1 PRINTS. IOR .200B STA LUNOU AND NOFNC SET LINE SPACE EXEC CALL. MAKE IOR SPCR SURE FUNCTION CODE ISN'T STA SPC CHANGED BY USER ENTRY. LDA 53B 0 ADA 54B 1 ADA 55B 2 ADA 56B 3 ADA 57B 4 STA HPAL =10 IF WE'RE IN DOS LDB 1767B GET RT JFILS CPA .+10 ARE WE IN DOS? LDB 124B YES.. GET DOS JFILS LDA LUNIN CPA .+2 INPUT FROM DISK? SZB YES. IS THE SOURCE THERE? JMP *+4 YES.. GO ON WITH PROCESSING LDA NOSRC NO. SET UP FOR ERROR DIAG. STA HPERR+4 SET TO PRINT 'NO SOURCE' JMP HPERR CPA .+2 DISK BEING USED? JSB %JFIL YES - INITIATE JBIN JSB DBLNK READ IN CONTROL CARD HERE **** ADA HPAL2 FIRST STA HPAL2 4 ISZ HPAL1 CHARACTERS JMP *-4 SZA HPAL? JMP HPERR NO, ERROR STA LSTOG CLEAR TOGGLE OPTION HPMOR JSB DBLNK *** READ IN CONTROL CHARS HERE **** CPA ACOMA COMMA? JMP HPMOC YES JMP HPERR NO - ILLEGAL CONTROL HPMOC JSB DBLNK GET CONTROL CHAR. CLB,INB CPA ASCIL LIST SOURCE? STB LSTOG L CPA ASCIB PUNCH BIN.? STB PNFLG B CPA ASCIA LIST ASSEMLY CODE? STB LSFLG A CPA ASCIP PROCEDURE ONLY? STB PFLAG P CPA AQUOT START OF NAME? RSS YES, DONE WITH CONTROL CHARS. JMP HPMOR NO, CHECK FOR ANOTHER. JSB SCANR GO GET 'NAM' CPA TYUID IS IT AN UNDEF. NAME? RSS YES, OK TO PROCESS JMP HPERR NO. ERROR LDB .+21B SET BIN WORD COUNT LDA .+4 SET PRAMER FOR EMMOV STA IDTAB+12 LDA TAB12 JSB EMMOV MOVE NAME TO 'NAM' RECORD JSB CHAR ������ CPA AQUOT A " FOLLOWING THE NAME RSS JMP HPERR NO - ILLEGAL CONTROL AND ABORT JSB DBLNK GET NEXT CHAR. CPA ACOMA COMMA? RSS YES, CONTINUE JMP HPGO NO, START THE ALGOL PROGRAM JSB DBLNK GET NEXT CHAR(OR SYMBOL) JSB DIGIT IS THE CHAR. A DIGIT? RSS YES JMP HPERR NO, IT'S AN ERROR ALF,ALF POSITION DIGIT FOR 'ERR' IOR ABLAN STA .ERR-2 SAVE THE # OF THE ERROR ROUTINE. LETPM JSB DBLNK GET NEXT NON-BLANK CHAR. CPA ACOMA COMMA? RSS YES JMP HPGO NO, START THE ALGOL PROCESSOR JSB SCANR GET DEC. DIGITS CPA TYCON IS THE SYMBOL A CONSTANT? RSS YES JMP HPERR NO, ERROR LDA .RBIT SZA IS IT AN INTEGER? JMP HPERR NO, ERROR LDA IDNUM+1 STA GOTMP,I STORE THE PARAMETER ISZ GOTMP BUMP BUFFER OPOINTER ISZ PMC ALL DONE? JMP LETPM NO, GO BACK FOR NEXT JSB DBLNK SCAN TO NEXT NON-BLANK HPGO ISZ PEEKD SET SCANR POINTER BACK LDA PFLAG LDB .+7 SZA PROCEDURE ONLY? STB PNBUF+9 YES, SET PROG, TYPE = 7 JSB EXEC GO READ IN THE TABLE SEGMENT.. DEF *+3 DEF .+8 DEF ALGNM %HPST STB STUFF SET THE FWA-1 OF AVAILABLE MEMRY **** ** SET UP LWA OF AVAIL MEMORY FOR END OF TABLE AREA... *** LDB 1777B TR LWA AVAIL. MEMORY LDA HPAL GET DOS FLAG CPA .+10 ARE WE IN DOS? LDB 100B YES, GET THE CORRECT ADDRESS STB STOP SET LWA AVAIL MEM FOR TABLES. JSB LTG GO PUNCH LEADER JSB PNCH GO PUNCH THE 'NAM' RECORD LDB PFLAG SZB PROCEDURE ONLY? JMP HPPRO YES CALL SCANNER. LDA .+7 NO, SET STA PNBUF MAIN ENTRY LDA HTRIC STA PNBUF+1 IN LDA PNBUF+5 AND HIMSK PUNCH ���N��LH STA PNBUF+5 CLA BUFFUR STA PNBUF+6 JSB PNCH JSB SCANR CPA BEGIN STARTS WITH 'BEGIN'? JMP HPBLK YES,, EVERYTHING'S OKAY. JMP HPDIE NO, GO NO FURTHER, ERROR!! HPPRO JSB CLRBF CLEAR OBJECT CODE PRINT BUFFER. JSB SCANR CPA REAL FIRST SYMBOL MUST JMP HPRO1 BE REAL, INTEGER, CPA INTEG OR JMP HPRO1 PROCEDURE JMP HPRO2 ** GO TO PROCEDURE PROCESSOR ** NOFNC OCT 170077 MASKS OUT BITS 11-6 (I/O FUNCT). ALGNM ASC 3,ALGL1 BSS PNBUF-*+220 LEAVE SPACE FOR TABLES. SKP STOP NOP ADDRESS OF TABLE END STUFF DEF *-1 STUFF POINTER HPDIE JSB .FLAG INPUT DEC 100 JMP EOC1 FINI1 JSB .FLAG ERROR--SCANR HAS SPOTTED ������������������������=N�������������� DEC 8 THE $ JMP DONE #EXEC DEF .EXEC HPBLK JSB CLRBF CLEAR OBJECT CODE PRINT BUFFER. CLA SEND OUT A NOP JSB EMRRF JSB BLOCQ COMPILE THE PROGRAM * BLOCK SHOULD RETURN TO THIS POINT. IF CONTROL * GOES TO FINI (FROM SCANNER), THERE IS A MISSING END. DONE LDA BLCTR CHECK FOR OUTPUT OF ALLOCATION SSA ANY ALLOCATION AT ALL?(4/10/70) JMP FINIS NO - GO FINISH CMA,INA ADA PTM0 SZA,RSS EMPTY BLOCK ? JMP FINIS YES, SKIP OUTPUT STA TM1 SET COUNT LDB ALPTR JSB EMSET EMIT ORG JSB EMITS EMIT FINIS LDA PFLAG SZA WAS THIS A PROCEDURE ONLY? JMP FINIT YES, GO OUTPUT ONLY ONE WORD. LDA #EXEC SET UP COMPLETION REQUEST JSB EMJSB TO BE GIVEN BY USER LDA PCNTR ADA .+2 JSB DEFR EMIT 'DEF *+2' FOR EXEC EXIT LDA PCNTR INA JSB DEFR EMIT 'DEF *+1' FOR VAL=6 FINIT LDA .+6 IF PROCEDURE, THIS IS ALL .. JSB EMOCT EMIT OCTAL 6 LDA ECNTR CONVERT ERROR COUNT TO DECIMAL JSB DCONV TO DECIMAL DEF FINIE LDA PCNTR CONVERT PROGRAM LENGTH JSB OCONV DEF FINIP * ***************************************** * * EMEND - SET UP AND PUNCH 'END' RECORD * * ***************************************** CLB JSB BREC PUNCH OUT REMAINING WORDS LDA .+4 STA PNBUF SET WORD LENGTH = 4. LDA HERIC LDB PFLAG SZB IS THIS A PROC. COMPILE? ADA .-1 YES,CLEAR EXEC. ADDR. BIT STB PNBUF+3 CLEAR EXEC. ADDR. STA PNBUF+1 SET RIC = 5 ;RELOC. JSB PNCH GO TO PUNCH DRIVER JSB LTG PUNCH TRAILER CLA PRINT BLANK JSB PRINT LINE LDA .27D PRINT PROGRAM LDB FINIX RESULT JSB PRINT LDA LDGO������F EMIT LOAD/GO IF REQUESTED SZA JSB %WRIF EOC1 JSB EXEC DEF *+5 DEF .+2 DEF .+1 DEF BZOD DEF .-10 JSB EXEC SET END OF PAPER TAPE FLAG DEF *+3 DEF .+3 DEF EOTIN JSB EXEC TOP OF FORM THE LISTING DEF *+4 DEF .+3 DEF SPC DEF .-1 JSB EXEC CALL EXEC TO END COMPILER DEF *+2 DEF .+6 LEBEWOHL EOTIN OCT 704 EOT CONTROL WORD BZOD ASC 5,$END ALGOL HERIC OCT 120001 'END' REC.ID.CODE(5) AND ADDR.FL FINIX DEF FBUFF FBUFF ASC 4,PROGRAM= FINIP BSS 4 ASC 4, ERRORS= FINIE BSS 2 * LTG PUNCHES A LEADER/TRAILER LTG NOP LDA PNFLG IF NO PUNCHING, SZA,RSS IGNORE. JMP LTG,I JSB EXEC PUNCH LEADER OR TRAILER DEF *+3 DEF .+3 DEF LTLIT JMP LTG,I * ********************************** * * OVERFLOW EXIT TAKES PLACE HERE * * ********************************** OVFLO JSB .FLAG OVERFLOW OF TABLES(#999) DEC 999 "TABLE AREAS OVERFLOWED" CLA JSB PRINT EMIT A BLANK LINE JMP EOC1 * CONTROL HERE FOR A PROCEDURE ONLY HPRO1 STA HT SET PROCEDURE TYPE JSB SCANR HPRO2 CPA PROCE RSS JMP HPDIE JSB PRTNQ JMP DONE THAT'S ALL FOLKS!! LTLIT OCT 001204 SKP * SCANT (SCAN,I) SCANS THE NEXT SYMBOL. IF IT'S UNDEFINED, * IT PRINTS A MESSAGE. IF NOT, IT TESTS IT FOR AN EQUATE, * & IF IT IS, IT GETS THE EQUATED VALUE. SCANT NOP ENTRY POINT. JSB SCANR CALL THE SCANNER CPA TYUID UNDEFINED TYPE? JMP SCNUN YES CPA TYEQU EQUATE TYPE? JMP SCNEQ YES JMP SCANT,I OK. * GET EQUATE VALUE SCNEQ LDA .INFO EQUATE SYMBOL VALUE IS AT LDB A,I ADA .-2 .INFO -2 SSB,RSS CLB,RSS LDB A,I & STB IDNUM .INFO-1 INA O������ LDB A,I STB IDNUM+1 LDB .INFO,I GET A CONSTANT LDA DCONI INFO, WITH SSB APPROPRIATE LDA DCONR TYPE. SCLUJ STA .INFO LDA A,I JSB SCATR SCATTERINF JMP SCANT,I * UNDEFINED ID SCNUN JSB .FLAG ERROR DEC 10 #10 LDA DRVAR FAKE IT AS REAL JMP SCLUJ DRVAR DEF *+1 OCT 114002 HED GO TO STATEMENT * GO TO STATEMENT::=GO DESEXPR ^ GO TO DESEXPR * DESEXPR ::= LABEL ^ SWITCHID [AEXPR] GOSTM NOP ENTRY POINT JSB SCANR GET NEXT SYMBOL CPA TO IF A TO, SCAN ONE MORE JSB SCANR SYMBOL. CPA TYSWT SWITCH TYPE? JMP GOSWT YES. CPA DFLAB LABEL TYPE? JMP GOLAB YES. JSB .FLAG ERROR 74-- UNDEFINED CCNT4 DEC 74 LABEL REFERENCE JMP GOSTM,I RETURN * GO TO LABEL * GOLAB LDA .INFO FOR A LABEL, JUST PUT OUT LDB FJMP THE SIMPLE JMP JSB EMMRF JMP GOSTM,I * GO TO SWITCH DESIGNATOR * GOSWT LDA .INFO SAVE INFO ADDRESS OF STA GOTMP SWITCH IDENT. JSB SCANR SCAN NEXT SYMBOL AND CPA LBRAC CHECK FOR LEFT BRACKET. JMP GOST1 O.K. JSB .FLAG - ERROR 75-- DEC 75 SWITCHID NOT FOLLOWED BY [ GOST2 ISZ SCAND JMP GOSTM,I GOST1 JSB SCANT CALL ARITH TO PROCESS AEXP. CLA,INA JSB ARITH JMP GOSTM,I ERROR RETURN JSB MAKIN FORCE RESULT DEF ATOP,I INTEGER. LDB FJSB EMIT A JSB TO LDA GOTMP SWITCH. JSB EMMRF JSB SCANR SCAN NEXT SYMBOL CPA RBRAC CHECK FOR ]. JMP GOSTM,I O.K. JSB .FLAG ERROR 76--WHERE'S THE RIGHT BRACKET? ASCIL DEC 76 JMP GOST2 GOTMP DEF PNBUF+9 TEMP FOR GO TO HED IF STATEMENT * IFSTM COMPILES IF STATEMENTS. THE SYNTAX IS: * IFSTATE::=IF TEST THEN STATE ^ * IF TEST THEN STATE ELSE STATE * THE O ������BJECT CODE PRODUCED IS AS FOLLOWS: * A) IF STATE::=IF TEST THEN STATE * * FALSE JMP L * TRUE * L ..... * B) IFSTATE::=IF TEST THEN STATE(1) ELSE STATE (2) * * FALSE JMP L1 * TRUE * JMP L2 * L1 * L2 ..... * NOTE THAT THE "DANGLING ELSE" IS PRESENT IN THE ABOVE SYNTAX. THE * IFSTM ALGORITHM HANDLES THIS BY MATCHING EACH ELSE WITH THE MOST * IMMEDIATELY PRECEDING UNMATCHED IF. IFJMP BSS 1 USED FOR SAVING FIXUP LOCATIONS. IFSTM NOP ENTRY POINT. JSB STACQ NECESSARY DEF IFJMP FOR JSB UNSTQ RECURSION. JSB SCANT START SCANNING THE LDA .+3 TEST & CALL ARITH TO JSB ARITH COMPILE IT. JMP IFSTM+3 ERROR EXIT. LDA PCNTR SAVE PROGRAM COUNTER FOR STA IFJMP LATER PATCHING. JSB SCANR GET NEXT SYMBOL AND TEST CPA THEN FOR A THEN. JMP IFST1 IT'S THERE. JSB .FLAG ERROR NO. 77--MISSING THEN DEC 77 IFST2 ISZ SCAND JMP IFSTM+3 IFST1 JSB EMNOP OUTPUT A NOP FOR THE JUMP AROUND JSB SCANR COMPILE TRUE PART. JSB STMPR JSB SCANR GET NEXT SYMBOL LDB PCNTR PATCH PREVIOUS JUMP AROUND. JMP CPA ELSE IS TO PRESENT LOCATION IF THER INB ISN'T AN ELSE, OTHERWISE TO IT+1 LDA 1 DESTINATTION OF JUMP IN A. LDB IFJMP ORIGIN IN B. JSB EMJMP OUTPUT THE JUMP. LDA .TYPE GET THE TYPE AGAIN AND CHECK FOR CPA ELSE ELSE. RSS IT IS--GO COMPILE FALSE PART. JMP IFST2 IT ISN'T--ALL DONE. * COMPILE FALSE PART * LDA PCNTR SAVE PCNTR AGAIN FOR LATER STA IFJMP FIXUP AND PUT OUT A NOP NOW. JSB EMNOP JSB SCANR CALL STATEMENT ROUTINE AGAIN.&H JSB STMPR LDA PCNTR FIXUP JMP AROUND FALSE PART. LDB IFJMP JSB EMJMP JMP IFSTM+3 SPC DEC 582 LI197 DEC 197 HED CASE STATEMENT * ::=CASE * BEGIN ; * ; * ... * * END * OBJECT CODE: * * JSB L * X JMP FIN * L1 * JMP X * L2 * JMP X * ... * LN * JMP X * L NOP * JSB .SWCH * ABS N * DEF L1 * DEF L2 * ... * DEF LN * FIN ... CASE1 NOP ADDRESS OF CASE2 NOP ORIGINAL STACK POINTER CASE5 NOP ORIGINAL STACK POINTER CASTM NOP ENTRY POINT JSB STACQ DEF CASE1 JSB UNSTQ JSB SCANT CLA,INA CALL ARITH FOR JSB ARITH JMP CASTM+3 ERROR RETURN JSB MAKIN FORCE INTEGER DEF ATOP,I LDA PCNTR SAVE PCNTR FOR EMITTING JSB L. STA CASE1 JSB EMNOP LEAVE SPACE FOR JSB L JSB EMNOP AND JMP FIN JSB SCANT CHECK NEXT SYMBOL FOR CPA BEGIN "BEGIN". JMP *+5 JSB .FLAG ERROR 88 END DEC 88 ISZ SCAND JMP CASTM+3 * NOW BEGIN PROCESSING THE STATEMENTS. WE HAVE TO * SAVE THE STARTING POINTS OF EACH STATEMENT IN * THE STACK, SO START BY SAVING THE STACK POINTER. LDA STOP STA CASE5 STA CASE2 CASE3 LDA PCNTR SAVE PROGRAM COUNTER n JSB PUSHQ IN STACK. JSB SCANR COMPILE A STATEMENT. JSB STMPR LDA CASE1 EMIT A JUMP INA AFTER STATEMENT CLB COMPLETION. JSB EMJMP JSB SCANR LOOK CPA SEMI IF A SEMICOLON, GO DO ANOTHER JMP CASE3 STATEMENT. CPA END IF AN "END", CASE STATEMENTS ARE JMP *+6 FINISHED. JSB .FLAG IF NOT, TAKE COLON DEC 89 THE PIPE. CASE4 LDA CASE2 RESTORE STACK POINTER BEFORE STA STOP LEAVING. JMP CASTM+3 LDA PCNTR EMIT THE JSB L IN THE STA EMPTR-1 NEXT 7 LINES. LDB CASE1 STB EMJSV LDA EMPTR+1 LDB FJSB JSB EMJPS JSB EMNOP EMIT THE SWITCH ENTRY POINT. LDA #SWCH EMIT JSB .SWCH JSB EMJSB LDA STOP EMIT NUMBER OF CMA,INA STATEMENTS. ADA CASE2 JSB EMOCT CASE7 LDA CASE5 NOW EMIT THE DEFS. CPA STOP IF CASE5=STOP WE'RE DONE. JMP CASE6 ADA .-1 OTHERWISE DECR. CASE5 FOR STA CASE5 NEXT LABEL. LDA 0,I JSB DEFR * SET PSEUDO ENTRY FOR 'DEF' ** JMP CASE7 CASE6 LDA PCNTR EMIT JMP FIN LDB CASE1 FROM INB X JSB EMJMP JMP CASE4 HED WHILE STATEMENT * WHILESTATE::= WHILE TEST DO STATEMENT * OBJECT CODE: * W * F JMP L * T * JMP W * L ..... WHF BSS 1 LOCATION OF F WHW BSS 1 LOCATION OF W WHIST NOP ENTRY POINT JSB STACQ NECESSARY DEF WHF FOR JSB UNSTQ RECURSION LDA PCNTR SAVE PROGRAM STA WHW COUNTER JSB CLEAR SINCE WE LOOP BACK HERE JSB SCANT OMPILE LDA .+3 THE JSB ARITH TEST JMP WHIST+3 ERROR EXIT JSB SCANR GET NEXT SYMBOL AND CPA DO CHECK FOR' DO JMP WHOK O.K. JSB .FLAG DEC 78 ERROR NUMBER 78 RSS WHOK JSB SCANR SCAN NEXT SYMBOL LDA PCNTR SAVE PROGRAM COUNTER STA WHF JSB EMNOP AND PUT OUT A NOP FOR LATER PATCHING. JSB STMPR COMPILE THE STATEMENT LDA WHW OUTPUT A JUMP TO CLB THE BEGINNING JSB EMJMP LDA PCNTR PATCH THE LDB WHF TEST JUMP JSB EMJMP JMP WHIST+3 RETURN FLOAQ NOP CONVERT AN INTEGER TO FLOATING CLB SET EXPONENT ZERO SZA,RSS IF NUMBER IS ZERO, JMP FLOAQ,I RETURN IMMEDIATELY. LDB ABLAN OTHERWISE INITIALIZE EXP TO 16. FL1 ADB .-2 DEBUMP EXPONENT. CLE,ELA SHIFT AND TEST BIT 15 SEZ,SSA AND E FOR JMP FL1 EQUALITY. CONTINUE THIS UNTIL THEY SEZ,SSA,RSS ARE DIFFERENT. JMP FL1 ERA THEN SHIFT BACK AND JMP FLOAQ,I RETURN. STEP OCT 171 TO OCT 173 HED FOR STATEMENT * FORST IS RESPONSIBLE FOR COMPILING FORSTATEMENTS * ACTUALLY, ALL THE WORK IS DONE BY FORCLAUSE STATE DEF STMPR STATEMENT PROCESSOR FORST NOP LDA STATE JSB FORQL JMP FORST,I * FORCL HANDLES ALGOL FOR CLAUSES. FOR CLAUSE IS USED BY * FOR STATEMENT AND THE IOLIST SCANNERS. THE SYNTAX IS: * FORCLAUSE::=FOR VARIABLE_EXPR1 STEP EXPR2 * UNTIL EXPR3 DO * FORCLAUSE ::= FOR VARIABLE _ EXPR1 TO EXPR3 DO * IN THE SECOND CASE, THE "TO" IS EQUIVALENT * TO "STEP 1 UNTIL" * THE FORCLAUSE IS FOLLOWED BY SOME CONSTRUCT WHICH IS COMPILED * BY SOME OTHER ROUTINE. THE ADDRESS OF THIS ROUTINE MUST BE IN * THE A REGISTER AT CALL TIME. * THE CODE PRODUCED BY FORCL IS AS FOLLOWS: * CODE FOR EXPR1 * STA VARIABLE * CODE FOR EXPR2 * CODE FOR EXPR3 * LDA VARIABLE * L1 CMA,INA * ADA MEXPR3 * EITHER * SSA IF EXPR2 IS A POSITIVE CONSTANT * OR * CMA,SSA,INA,SZA IF EXPR2 IS A NEGATIVE CONSTANT * OR * LDB EXPR2 ----- * SSB - IF EXPR2 * CMA,INA - IS NOT A * SSA - CONSTANT * ------------------ * L2 JMP L3 END OF FOR LOOP * CODE FOR OBJECT OF FOR CLAUSE * CODE FOR VARIABLE _ VARIABLE + EXPR2 * JMP L1 * L3 ........ FORL1 BSS 1 LOCATION L1, AS ABOVE FORL2 BSS 1 LOCATION L2, AS ABOVE. FOROU BSS 1 ROUTINE FOR FORCL TO CALL FORE2 BSS 1 INFO FOR EXPR2 FORE3 BSS 1 INFO FOR EXPR3 FORVR BSS 1 INFO FOR VARIABLE FORQL NOP ENTRY POINT JSB STACQ NECESSARY DEF FORL1 FOR JSB UNSTQ RECURSION STA FOROU SAVE ROUTINE TO CALL LATER JSB SCANT GET THE VARIABLE LDA .+4 TO BE USED AS THE JSB ARITH FOR VARABLE JMP FORQL+3 ERROR EXIT RAL,CLE,ERA REMOVE MODE BIT FROM INFO WORD STA FORVR AND SAVE IN FORVR. SEZ,RSS IF MODE BIT WAS REAL JMP *+3 IT'S AN ERROR JSB .FLAG DEC 79 JSB SCANT CHECK FOR AN ASSIGN FOLLOWING CPA STORE JMP *+3 JSB .FLAG ASCIP DEC 80 * NOW COMPILE EXPR1 JSB SCANT CLA,INA JSB ARITH JMP FORQL+3 JSB MAKIN FORCE INTEGER DEF ATOP,I LDA FORVR JSB EMSTR STORE EXPR1 INTO THE VARIABLE JSB SCANR CHECK NEXT SYMBOL FOR STEP OR TO CPA TO JMP FORTO CPA STEP JMP *+3 JSB .FLAG MOD DEC 81 JSB FOREL COMPILE STA FORE2 EXPR2 JSB SCANR CHECK NEXT SYMBOL FOR UNTIL CPA UNTIL JMP *+3 JSB .FLAG DEC 82 FOR4 JSB FOREL COMPILE STA FORE3 EXPR3 LDA FORVR J. FORCE VARIABLE TO ACCUMULATOR JSB EMLOD LDA PCNTR STA FORL1 LDA CMINA OUTPUT CMA,INA JSB EMRRF LDA FORE3 OUTPUT LDB ADDOP ADA EXPR3 JSB EMMRF * NOW TEST TO SEE IF EXPR2 IS A CONSTANT LDA FORE2 IF FORE2=0, WE NEED AN SZA,RSS SSA AT THIS POINT JMP FOR2 LDA FORE2,I CPA CONFO JMP FOR1 GO TO CONSTANT STEP SIZE * NOT A CONSTANT STEP SIZE LDA FORE2 EMIT LDB LDB LDB EXPR2 JSB EMMRF LDA SSB EMIT JSB EMRRF SSB LDA CMINA EMIT JSB EMRRF CMA,INA FOR2 LDA SSA1 EMIT FOR3 JSB EMRRF SSA LDA PCNTR SAVE LOCN OF L2 STA FORL2 JSB EMNOP * CHECK FOR DO JSB SCANR CPA DO JMP *+3 JSB .FLAG MISSING DO DEC 83 JSB SCANT ** 4/10/70 ** JSB FOROU,I CALL THE APPROPRIATE ROUTINE * EMIT CODE FOR VARIABLE+EXPR2 LDA FORVR JSB EMLOD LDA FORE2 SZA,RSS IF ...TO... CLAUSE, GO TO JMP FOR5 COMPILE INA. LDB ADDOP JSB EMMRF FOR6 LDA FORVR JSB EMSTR LDA FORL1 EMIT AN JUMP CLB TO TOP OF LOOP JSB EMJMP LDA PCNTR PATCH THE LDB FORL2 PREVIOUS JSB EMJMP JUMP * FREE THE VARIABLES BEING USED JSB FREE DEF FORE2 JSB FREE DEF FORE3 JSB FREE DEF FORVR JMP FORQL+3 INA INA FORTO CLA FORE2=0 IS USED TO FLAG STA FORE2 A ...TO... CLAUSE JMP FOR4 FOR5 LDA INA JSB EMRRF JMP FOR6 * SECTION FOR EXPR2 A CONSTANT FOR1 LDB FORE2 GET THE ADB .-2 CONSTANT LDB 1,I IN B LDA SLEZR SSB SSB IF NEGATIVE, GO EMIT JMP FOR3 SKIP <=0 JMP FOR2 IF POSITIVE, GO EMIT SSA SLEZR CMA,SSA,INA,SZA SSA1 SSA LDB LDB 0 * FOREL EVALK(UATES EXPR2 AND EXPR3 FOREL NOP JSB SCANT FIRST CALL ARITH LDA .+2 JSB ARITH JMP FORQL+3 FORGET IT JSB MAKIN MAKE IT AN INTEGER. DEF ATOP,I JSB MAKE FORCE IT DEF ATOP,I TO JSB CLACQ STORAGE. LDA ATOP,I NOW GET THE INFO WORD. JMP FOREL,I RETURN * THE SYNTAX FOR THE DO STATEMENT IS: * ::= DO UNTIL> * * THE EMITTED CODE IS : * L CODE FOR STATEMENT * CODE FOR BOOLEAN EXPRESSION * FALSE JMP L * TRUE: DOSTL BSS 1 LOCN OF L DOSTM NOP JSB STACQ FOR RECURSION DEF DOSTL JSB UNSTQ JSB CLEAR LDA PCNTR SAVE PROGRAM COUNTER. STA DOSTL JSB SCANR COMPILE STATEMENT JSB STMPR JSB SCANR GET NEXT SYMBOL CPA UNTIL OR YOU WIPE OUT. JMP *+3 OK JSB .FLAG FLAG HIM DOWN. DEC 82 JSB SCANT START TO DO BOOLEAN LDA .+3 JSB ARITH DO IT. NOP LDA DOSTL EMIT JMP TO TOP. CLB JSB EMJMP JMP DOSTM+3 DO IS DONE. HED HPAL TABLES OCT 2456,42111,47456,0 .DIO. OCT 43005,2456,41111,47456,0 .BIO. OCT 43005,2456,42124,40456,0 .DTA. OCT 43005,2456,44517,44456,0 .IOI. OCT 43005,2456,44517,51056,0 .IOR. OCT 43005,2456,52101,50105,0 .TAPE OCT 43005,2456,50122,40515,0 .PRAM OCT 43005,2456,44516,42101,0 .INDA OCT 43005,2456,44516,42122,0 .INDR OCT 43005,2456,51527,41510,0 .SWCH OCT 43005,2456,51124,47522,0 .RTOR OCT 43005,2456,51124,47511,0 .RTOI OCT 43005,2456,44524,47511,0 .ITOI OCT 43005,2056,43101,42040,0 .FAD OCT 43005,2056,43123,41040,0 .FSB OCT 43005,2056,43104,53040,0 .FDV OCT 43005,2056,43115,50040,0 .FMP OCT 43005,2506,46117,40524,0 .FLOT OCT 43005,2056,51116,42040,0 .RND OCT 43005,2456,50101,52523,0 .PAUS OCT 43005,2456,27106,41515,0 ..FCM OCT 43005,2456,27104,46103,0 ..DLC OCT 43005,2105,5B@<1122,30040,0 .ERR OCT 43005,2505,54105,41440,0 .EXEC OCT 43005,2056,42111,53040,0 .DIV OCT 43005,2056,46520,54440,0 XMPY OCT 43005,2056,42123,52040,0 .DST OCT 43005,2056,42114,42040,0 .DLD OCT 43005 * TABLE OF CODE FOR RELATIONS IN ARITH ROUTINEA LEQVL SZA,RSS 2 INSTRUCTIONS FOR LEQVL CCA LSSVL NOP NO " " LSSVL EQLVL CMA,CLE,INA 2 " " EQLVL ERA NOP NEQVL SZA 2 " " NEQVL CCA NOP GTRVL SZA 2 " " GTRVL GEQVL CMA CMA EQU GEQVL NOP LSSTS SSA,RSS 1 " " LSSTS NOP LEQTS CMA,SSA,INA,SZA 1 " " LEQTS NOP EQLTS SZA 1 " " EQLTS NOP NEQTS SZA,RSS 1 " " NEQTS NOP GTRTS SZA 2 " " GTRTS GEQTS SSA 1 " " GEQTS NOP ERROR ASC 3,***** USED FOR ERROR PRINTING. PRIN BSS 5 FIRST 10 CHARACTERS OF PRINT LINE. BUFF BSS 36 72 INPUT CHARACTERS. END HPAL >B  24142-80001 A S 0122 PROCESSOR INTER- CONNECT CABLE DIAG.             H0101  ASMBA̬B HD5ABŠDAGNS G SԱMP G00B SԲMPS SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY BSSASԠDAVAABŠMMY NDƠNؠUVŠUNADDSS SPà ҠNUMBҠAB àABS- ҠDƠ+ DƠű DƠŲ DƠ3 DƠŴ DƠű0 SPà DDHAԠAB HԠDƠ HԠ HԠ HԠ3 HԠ HԠ0B SPà MSSAGŠADDSSAB MɠDƠ DƠM DƠM DƠM3 DƠM DƠM0 SPà MSSAGŠNGHAB M̠DƠ DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ̱0 SPà ABŠƠH-AɯϠNSUNS BŠMDD SADƠ+ DƠA DƠA DƠA3 DƠA DƠA5 DƠA6 DƠA DƠA DƠA9 DƠA0 DƠA DƠA DƠA3 DƠA ASADƠ- SPà ABŠƠɯϠNSUNS BŠMDD SBDƠ+ DƠB DƠB DƠB3 DƠB DƠB5 DƠB6 DƠB DƠB DƠB9 DƠB0 ASBDƠ- SPà NSANSSAGŠANS B0Ԡ BԱԠ BԲԠ B3Ԡ0 BԴԠ0 B5Ԡ0 B6Ԡ00 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 A0Ԡ A03Ԡ3 AԠ ϯANP ϯBNP ABANP P00Ԡ00 ABBNP YPàNP =' NYNP NSҠNP ̠Ԡ HAU0B HBUB AU0 BU H̱Ԡ000 H̲Ԡ000 H3Ԡ0003 DAUԠNP DANNP 5HԠ5B H̴Ԡ000 űHԠB H̱0Ԡ000 A00Ԡ0 ҠԠ600 P0000Ԡ0000 A00Ԡ SAVSҠNP SPà ADDSSDNNS AҠDƠ AS̠DƠS ASMDƠSM AMADƠMA AMBDƠMB AM0ADƠM0A AM0BDƠM0B AMDƠM A̷DƠ̷ HD5ABŠDAGNS--NGUAN Ҡà0àDSABŠNԠSYS ANPUԠS-G ANDAMASKƠH-ASԠD SBHKHKH-ASԠD MPVA̯AVAD Ԡ00H-ASԠDŠNVAD MPҠNGUŠS-GPSSUN. VA̯ASAϯA SPà ANPUԠS-G AƬAƠPSNH-BSԠDŠ A̬A̠HKUN ANDAMASKƠH-BSԠD SBHKHKH-BSԠD MPVA̯BVAD Ԡ005H-BSԠDŠNVAD MPҠNGUŠS-GPSSUN. VA̯BSAϯB SPà DBϯAHKҠUA̠SԠDS PAB SS MPMD Ԡ003H-AH-BSԠDSUA̻ MPҠNGUŠS-GPSSUN. SPà MDDBSAMDYH-AɯϠNSUNS SBABA PDBABA DA ANDP00 ҠϯA SA PBASAɠMDANMP? MPMBYS SZABAN NP MPP SPà MBDBSBMDYH-BɯϠNSUNS SBABB PDBABB DA ANDP00 ҠϯB SA PBASBɠMDANMP? MPàYS SZABBN NP Y:MPP SPà àANPUԠSŠYP--MPU ANDBԱB.ƠZϬHP5Ҡ6 SAYPàƠNŬHP. SPà ANPUԠSŠY-AVAABY ANDBԱ3B.ƠZϬYAVAABŻ SANYƠNŬNԠAVAAB. SPà SPà Ԡ006SԠN-S-GPNSAND APSSUN. SANSҠNPUԠSŠN-S-GPNS SPà Ԡ00NG.MPŠ--PSSUN HD5ABŠDAGNSà--SA SҠDBBԱ0 SBHKSנSUPPSSNN-ҠMSSAGS? MPSԱYS SBSKNϬHKYSUPPҠAVA DA DBA SBY.ϬɠUPUԠҬ SBSKHKYAVAABY DAAS DBASM SBY.ϬɠSAԠ5ABŠDAGNS DBBԱ5 SBHKSנHAԠAҠMSSAG? HHԠBYS MPSԱN HD5ABŠDAGNS--SԠGUP SԠGP--HKҠDVŠMMANDNS PNҠSHDϠAHH. SPà SԱà0àDSABŠNS SBSAVADSAVŠPADDSS AƠHA ASàHAGNAŠHANN-ADV.MMAND AàHA A3SàHA űSBҠű.HKҠDV.MM.NS DAH̱SHDϠAHH SBH SPà SBSAVADSAVŠPADDSS A AAHAASSUŠGUNDPNA̠NA B0AHBDAANS BƠHB A0SàHAH-ADV.MM. AàHA BSSHB ŲSBҠŲ.H-ADV.MM.NŠN DAH̲KNG SBH SPà SBSAVADSAVŠPADDSS AƠHA B3SàHBH-BDV.MM. BàHB A5SSHA 3SBҠ3.H-BDV.MM.NŠN DAH3KNG SBH HD5ABŠDAGNS--SԠGUP SԠGP--DAANŠS SPà HSSԠHKSHŠABŠDAANS ҠPNSSHS. SPà à0àDSABŠNSAҠ̠BS. A BAHBASSUŠGUNDPNA̠NB-- ANAADAANS HSBUԯAUPUԠPANMH-AϠH-B MA SBUԯAUPUԠMPMNԠMAϠB MA SBUԯAUPUԠPANAGANMAϠB SSAA̠PANSUPU? MPA A MPHN SPà AAYS A6AHAASSUŠGUNDPNA̠NA-- ANABDAANS HSBUԯBUPUԠPANMH-BϠH-A MA SBUԯBUPUԠMPMNԠMBϠA MA SBUԯBUPUԠPANAGANMBϠA SSAA̠PANSUPU? MPNDYS A MPHN SPà HSSUBUNŠUPUSNPUSMPAS HŠDAANHŠA-GMH-AϠH-B SPà UԯANP SADAU SBSAVAD DBB9 SBHKSנԠMS? MPNDYS DADAUԠN AAHAUPUԠPANMH-AϠH-B ASàHA A3àHA B5BHBNPUԠPAN PASAMŠASUPU? MPNҴYS SBDANN.NVԠUPUԠANDNPU DBAMAϠASɠANDPUԠNϠ SBDAAMSSAGŠŴ. DADAN DBAMB SBDAA DA5 SBBP ŴSBҠŴ.H-AUPUԠNԠ.ϠH-B NҴDAH̴NPU.UԽؠN SBH DADAU MPUԯAɠUN+ SPà HSSUBUNŠUԡYPUSNPUSMPAS HŠDAANHŠA-GMH-BϠH-A SPà UԯBNP SADAU SBSAVAD DBB9 SBHKSנԠMS? MPNDYS DADAUԠN B6AHBUPUԠPANMH-BϠH-A BSàHB B9àHB A9BHANPUԠPAN PASAMŠASUPU? MPNұ0YS SBDANN.NVԠUPUԠANDNPU DBAM0AϠASɠANDPUԠNϠ SBDAAMSSAGŠŷ. DADAN DBAM0B SBDAA DAű SBBP ű0SBҠű0.H-BUPUԠNԠ.ϠH-A Nұ0DAH̱0NPU.UԽؠN SBH DADAU MPUԯBɠUN+ HD5ABŠDAGNS--NDUN NDDBBԱ0 SBHKSנSUPPSSNN-ҠMSSAGS? MPNYSUNϠUV SBSKN DAA̷ DBAM SBY.ϬɠND5ABŠDAGNS MPNɠUNϠUV NؠDBBԱ SBHKSנHAԠAԠNDƠDAG? HHԠBYS MPSҠNϬPAԠAUMAAY HD5ABŠDAGNS--MMNSUBUNS HSSҠHKSҠVADYƠSԠD NNGUAN.A-GMUSԠNANS ϠBŠHKD.ƠVADUNϠ+. ƠNVADUNϠ+.VADS DSAŠ0-A. SPà HKNP B MPPAAB? MPNVYS NBN PBA00B0? MPHKɠYSVADS.UN+ MPMPN NVSZHK NP MPHKɠNVADS.UN+ SPà HSSҠHKSҠHAԠҠPNUN S.A-GMUSԠNANHŠDD HAԠNSUN. SPà N.H̠NP SAH DBBԱ5 SBHKSנHKS-GBԠ5ҠHA HؠNPDDHAԠSDH DBBԱ3 SBHKSנHKS-GBԠ3ҠP. MPSAVADɠP.UNϠPADDSS MPH̬ɠNϠP.UN+NNU SPà HSSҠSAVSHŠADDSSƠHŠUN SԠSϠHAԠSԠMAYAҠBŠPD NBYSNGS-GBԠ3. SPà SAVADNPPADDSSSDH MPSAVADɠUN+ SPà SHGSҠPNHK. HKSS-GANDUNSϠ+ ƠPNBԠSSԬҠϠ+ NԠS.B-GMUSԠNANMASK BԠϠBŠHKD. SPà HKSנNP ANPUԠS-G SASSUSŠN-S-G? DANSҠYS ANDN.MASKƠBԠϠBŠHKD SZASBԠS? MPHKS׬ɠYSUN+ SZHKSנNϬUN+ NP MPHKS׬ SPà HSSҠUNSϠ+ƠYSAVAAB ANDNԠSUPPSSDҠϠ+ƠN AVAABŠҠSSUPPSSD. SPà SKNP Ơ0DSABŠNUPS DBSK ADBA03ADD3ϠUNADDSS SBSB DANY SZAYAVA? MPSBɠNϬUN+ DBBԱYS SBHKSנYSUPPSSD? MPSBɠYSUN+ MPSKɠNϬUN+ SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBA0MDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD nNBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN SHPBAɠADDSSANDAB MPNDUND NA MPSHNNUŠSAH NDADAàNMAZŠNUMB SAS DBBԱ SBHKSנYSUPPSSD? MPNHYS DASؠN DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲAYA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DBHԠDDHAԠAB ADBS DBBɠDDHAԠNB SB DBBԱ SBHKSנҠHASSUPPSSD? SSYS ؠHԠ0NϬSϠHA MPҬ NԱNP NԲNPUNS SؠNP SBNP SPà BPNPPԠҠVASנG SBNҠANDAG MPBPɠUN+ DADAU SBY DADAN SBY DAYP SZBP SZASSMPU? MPBPɠNϬUN+ DASAVSҠYS 0.* SBYҠSŠSHG MPBPɠUN+ SPà NҠNPUN+ƠNϠPSD SAY DANY SZASS MPNҬɠYSD-N+ A SASAVSҠSAVŠSHG SZN MPNҬɠN+ SPà YҠNPUPUԠϠSנG A DBSAVS SBSS DBNS B SSBSS YHԠ0 SZY MPYҬ HD5DAGNS--MSSAGS SUP SMASàH.SAԠ5ABŠDAGNS S̠U+-SM-SM MASà9ű.HKҠDV.MM.NSSHD ASà0ϠAHH ̱U+-M-M MASàŲ.H-ADV.MM.NŠNԠKNG ̲U+-M-M M3ASà3.H-BDV.MM.NŠNԠKNG 3U+-M3-M3 MASà0Ŵ.H-AUPUԠNԠ.ϠH-BNPU. ASà0UԽ MAASà03 ASà0N MBASà03 ̴U+-M-M M0ASà0ű0.H-BUPUԠNԠ.ϠH-ANPU. ASà0UԽ M0AASà03 ASà0N M0BASà03 ̱0U+-M0-M0 MASà6H.ND5ABŠDAGNS ̷U+-M-M SPà AMUSԠDAVAABŠMMY SPà ND {0   24144-80001 A S 0122 MEMORY PARITY CHECK TEST             H0101  ASMBABì̬ HDHP59AMMYPAYHKDAGNS GB SPà MMYPAYHKDAGNS SPà SHGSҠHAASSҠPAN SPà BԠ0ƠSԬSԠNA̠S-G ƠSԬSԠNNA̠S-G BS-6SPAS BԠƠSԬPMPSԠS BԠƠSԬPMBɯϠS BS9-0SPAS BԠƠSԬSUPPSSA̠MSSAGS BԠSPA BԠ3SPA BԠSPA BԠ5SPA SPà NGUANAN00B PAҠSAԠAN00B PAҠSAԠAN0B PAҠSAԠANB SPà MPNԬɠPAҠNAZAN SPà G00B SPà MPS0ɠPAҠSAԠAN SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY SPà G0B àDƠNؠUVŠUNADDSS SPà G0B MPSұɠPAҠSAԠAN MPSҲɠPAҠSAԠAN SPà àABS- ҠDƠ+ҠNUMBҠAB DƠ0 DƠ05 DƠ06 DƠ0 DƠű0 DƠű DƠŲ0 DƠŲ DƠ30 DƠ33 DƠ35 DƠ3 DƠŴ0 DƠŴ DƠŴ DƠŴ3 DƠŴ5 DƠ5 DƠ5 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠŷ0 SPà HԠDƠDDHAԠAB HԠ0B HԠ05B HԠ06B HԠ0B HԠ0B HԠB HԠ0B HԠB HԠ30B HԠ33B HԠ35B HԠ3B HԠ0B HԠB HԠB HԠ3B HԠ5B HԠ5B HԠ5B HԠ56B HԠ5B HԠ60B HԠ6B HԠ6B HԠ63B HԠ6B HԠ65B HԠ66B HԠ6B HԠ0B SPà MɠDƠMSSAGŠADDSSAB DƠM0 DƠM05 DƠM06 DƠM0 DƠM0 DƠM DƠM0 DƠM DƠM30 DƠM33 DƠM35 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM5 DƠM5 DƠM5 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 SPà M̠DƠMSSAGŠNGHAB DƠ0 DƠ05 DƠ06 DƠ0 DƠ̱0 DƠ̱ DƠ̲0 DƠ̲ DƠ30 DƠ33 DƠ35 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴5 DƠ5 DƠ5 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 SPà SԠDƠ+ABŠƠSԠDSϠB DƠH0 DƠHMDD DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH0 DƠH DƠH DƠH DƠDH ASԠDƠ- SPà MSGDƠ+SԠDŠMDDϠAS DƠP5A 'DƠP5A DƠP5B DƠP63A DƠP6A DƠP6A NDƠ- SPà MMNNSANSANDSYMBS SPà KZϠDà0 KNŠDà KϠDà KHŠDà3 KUҠDà SPà A000Ԡ A00Ԡ A000Ԡ00 D0060Ԡ30060ASɠPS P0000Ԡ0000 P00Ԡ00 HAԠ06000AGAP̠HA HBԠ0600BG HԠԠ0600AP̠HA H5Ԡ06005 HàԠ06000SDHANN PADNP AADNP A̠NP DHNP ϠNP NSҠNPNNA̠SHGS SPNP ̠Ԡ ɠDƠ+ Ԡ600AAGŠUN AU0AG BUBG MPPŠU5BMPANDPŠNUPԠNANŠG HU0B B6Ԡ00 BԷԠ00 BԸԠ00 BԱԠ000 MSK5Ԡ0 N3Ԡ-3 M3Ԡ-3 P000Ԡ000 SPà AԠSPA̠NSANS NԠ- N000Ԡ-000 K000Ԡ000 K3000Ԡ3000 K000Ԡ000 K5000Ԡ5000 DPԱԠ00000 DPԲԠ356 DP3Ԡ0 DPԴԠ555 SPà SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN NԠDƠN S0DƠSA SұDƠDPN SҲDƠPA05 ҠDƠ ұDƠN ADDSDƠNP+ NDɠDƠND DAԠDƠDAA MPɠDƠMP SPɠDƠSP PɠDƠP30 ʱSB+ DƠʱ ʲSB+ DƠʲ 3SB+ DƠ3 ʴSB+ DƠPɱ0 5MP+ DƠPB0 ʷMP+ DƠ05 ʱ0MP+ DƠ+ ű0SBҬɠƠ5DDNԠNHBԠPŠN ʱMP+ DƠ+ űSBҬɠNUPԠN(MPԩ(BP ʲ0MP+ DƠ+ Ų0SBҬɠNUPԠN(M̩(BP ʲMP+ DƠ+ ŲSBҬɠNUPԠN(AAƩ(SZ(PH3 30MP+4 DƠ+ 30SBҬɠNUPԠN(BAƩ(SZ(PH3 ʴ0MP+ DƠ+ Ŵ0SBҬɠUNPDנPYN ʴ5MP+ DƠ+ SBSPɬ MPPɬ DAAAD DBP5A SBDAԬ Ŵ5SBҬɠADϠGNAŠGDPAY P06ADƠP06A P0ADƠP0A P0BDƠP0B P5ADƠP5A M00DƠM00 M00DƠ00 M0DƠM0 M0DƠ0 M0DƠM0 M0DƠ0 MɷDƠM MDƠ̷ BADPԠ00065 MPBKMPBAK BAKDƠPG0 DƠPG5 DƠPH05 DƠPH0 DƠPH5 SPà MMADƠ+MMYDAAAB ԠK ԠK Ԡ36K Ԡ0K Ԡ5K Ԡ6K Ԡ3K MMBDƠ SPà SAVŠSAGŠAAҠUNS SPà SAVŠU BSS SPà G650B SPà MPAYSAGŠAAҠUNS SPà MPU BSS5 HDNAZANPAYHKDAGNS G6000B SPà N DMNSMMYŠSZ NGUSHADA NGUSɯϠHANN NGUSMSSAGS NNA̠SHGSҠ(NSҩSADD USSBAS SPà NԠà5 à0 DAMMA N3DBA SBSH NA PAMMB MPŷ0 MPN3 ŷ0SBҬɠDSABŠADҠANDPSSUN MPN SPà SHNP SAMP+SAVŠADDSSUN SBA̠SAVŠŠSZ DAA̬ɠSAVŠŠANNN SBA̬ɠAMPԠϠDSYAN PBA̬ɠASŠKDU? SSN MPN5 SAA̬ɠSŠŠAN DAMP+ MPSH SPà N5A SA ANDA00BS0-5ƠHŠS-G SASAV SZASSSS-G0 Ԡ00NԬPASŠNҠɯϠH DBSԠMDYɯϠNSUNS SBSP ̠DBSPɠPP DABɠɯ ANDP00HANN ҠSAV SAB PBASԬɠNSHD? MP+3YS SZSP MP SPà DADHNVԠSԠDŠϠAS SBBAS SPà DBMSGMDYMSSAGSϠ SBSPSDɯϠHANN MDBSP SAB PBN MP+3 SZSP MPM SPà Ԡ00HADAŠNAZD SPà à5 A SANS SPà Ԡ00NGUANMP HDSAԠPAYHKDAGNS SA ADSAP̠HAS UPUSHADҠMSSAG USSƬSKY.ϬS SPà SAԠà5 à0 DBK DAHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA SB SBSKɬ DAM00UPUԠHADҠMSSAG DBM00 SBY.Ϭ SBS ANDBԸƠBԸSԠBɯ SZASS MPPS SKP BASàɯ SSSDɯϠHANN USSҬSҬSKY SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà DAHAAP̠HAS DBHB H0SƠH HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS HԠ50BAUSDSKPHAGA HƠH H3SàH 5SBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 5SBҬɠAUSDSKPHAGS H0SƠH H6SSH HԠ53BSSNϠSKPHAGS SPà SԠABYϠNABŠANDDSABŠNUPԠSYSM SPà H0ƠH SƠ0NABŠNS Ơ0DSABŠNS SS0SNUPԠSYSMN? SSN HԠ5BƠ0DDNԠDSABŠNS Ơ0SS0AUSDBADSKP Sà0SNԠSYSMN? HԠ55BƠ0DDNԠDSABŠNS SƠ0Sà0ADϠSKP Sà0SNԠSYSMN? SSYS 56SBҬɠSƠ0DDNԠNABŠNS SƠ0Sà0AUSDBADSKP SS0SNԠSYSMN? 5SBҬɠSƠ0DDNԠNABŠNS Ơ0SS0ADϠSKP SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 60SBҬɠNϠɯϠNUP MP SPà NNPNUPԠSUBUN Ơ0DSABŠNUPS DAʱʱNUPԠUN SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠNUPԠADDSSSN :SBNHANGŠN SPà SԠN̠S SPà ҠDAʲʲNUPԠUN SADH DAHA DBHB HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH SPà PSԠS SPà PSԠSBS ANDBԷƠBԷSԠPS SZASS MPNSH SBSKɬ DAM0 DBM0 SBY.Ϭ DAHA DBHB H3SàH SƠ0NABŠNS HԠ0B SPà PSSPSԬHNPSSUN SPà à5 HSSHSAGS? MP+N Sà0YSSNԠSYSMDSABD? 6SBҬɠPSԠDDNԠDSABŠNS MP̠YS Sà0 MP6 63SBҬɠPSԠDDNԠSԠAG MPGD 6SBҬɠPSԠDDNԠSԠAGAND MPGDDDNԠDSABŠNUPS ̠DA33NUPԠUN SADHɠHKҠAà0BYPS DAHA DBHB SƠ0NABŠNS NPSHUDNԠNUPԠH NP Ơ0 SPà GDà0àUNVYHNG DAH SADHɠSԠAP̠HA MPNSH SPà ʱNP Ơ0 65SBҬɠɯϠNUPԠAKDDN MPGDK. SPà ʲNP Ơ0 66SBҬɠà0DDNԠAҠɯϠN MPPSԠB SPà 3NP Ơ0 6SBҬɠPSԠDDNԠAҠN̠B MPGD SPà NSHSBSKɬ DAM0 DBM0 SBY.Ϭ SPà HԠ0BUNƠPҠANDMVŠPŠAD h0.*MP- SPà MVŠPAYҠAD s0   24144-80002 A S 0122 MEMORY PARITY CHECK TEST             H0101  SKP DPN ADSBADPAYDAANMMY SPà DPNNP DAN000SԠUPDDDAANMMY SASAV+ DADPԱ DBK000 SBDP05 DADPԲ DBK3000 SBDP05 DADP3 DBK000 SBDP05 DADPԴ DBK5000 SBDP05 DABADP SABADP DABADPA SABADPA DABADPB SABADPB DAN SASAV+ DBMP DAA DP0SAB NB SZSAV+ MPDP0 SPà HԠ03BUNƠPҠANDNSA̠PŠAD MP- SPà DP05NP SAB A NB SZSAV+ MPDP05+ DAN000NSHD? SASAV+ MPDP05ɠUN SPà NSA̠PAYҠAD HDSԠPAYHKDAGNS PA05 SSBԠ5ƠA-GSҠAҠA5NSUN PMSDYHAԠNPAY USS SPà PA05NP à5 DAʷ SAMPP A5HKBԠ5ƠVANG. SSAҠƠ 0SBҬɠBԠ5SSԠAҠPҠUNN SPà GNAŠPAYHA SPà H5ƠH H6SàH MP5 SƠ5NABŠPŠNUP DBMPPAYHAԠSHUDUҠH NP NP SPà PAҠNSUNSUN PSSPS-BSVŠPAYHAԠSAD PAŠSHSNPŠADDN(NԠMDũ PSSUNϠNNU SPà HSSH 05SBҬɠADHAԠNPAY à5 DAH5 SAMPP MPPB05 SKP PB05 SSPŠADSABYϠNUP HKSPAYҠADDSS USSҬSP SPà PB05Ơ0DSABŠNUP2S Ơ5 DA5SԠUPNUPԠNAN SAMPP DAMP NA SAPAD DAHA SƠ5 DBMP+SHUDNUPԠH NP NP SBSPɬɠPSUPPSSD? MPPB0YS DAPADPDADDSS DBP06A SBDAA 06SBҬɠPŠNUPԠNԠVD SPà PB0DAPADPDADDSSNA-GS DBKZ HԠ06BPŠNUPԠNԠVD SPà NUPԠSUB-UN SPà PB0à5 A5 SAAADAUA̠ADDSS SSASBԠ5ƠAàS? MPPB5YSHKNUPԠADDSS MPŴ3NϬUPUԠ PB5NP DA ANDB6MMYPԠAVAAB SZA MPP05NϬGϠϠNԠS DAAAD ANDMSK5 SAAAD PAPADPDADDSS MPP05ADDSSKPMNԠS SBSPɬɠPSUPPSSD? MPPB0YS DAAAD DBP0B SBDAANVԠϠAS DAPAD DBP0A SBDAA 0SBҬɠPŠNUPԠADDSSN MPP05 SPà PB0DAPADPDADDSSNA-GS DBAADAUA̠ADDSSNB-GS HԠ0BPŠNUPԠADDSSN SKP P05 SSABYϠNHBԠNUP SPà P05DAʱ0SԠUPNUPԠNAN SAMPP Ơ5 DBMP+S-SHUDNԠNUP NP MPPD05 SKP PD05 SSUNN(-MPԩ(BP SPà PD05DAʱ SAMPP SƠ5 DAA̬ɠS-SHUDNԠNUP MPP05 SKP P05 SSUNN(-M̩(BP SPà G6555B SPà P05NP Ơ5 D-Aʲ0GA̠NUPԠN(-M̩(BP SAMPP SƠ5 SBPű0S-SHUDNԠNUP MPP05 SPà Pű0NP MP-ɠUN SKP P05 SSUNN(-AA-BAƩ(SZ(PH3(BADPAY SPà P05NP Ơ5 DAʲ SAMPP AADA-GHVNPAY SƠ5 SZAS-SHUDNԠNUP NP SPà Ơ5 DA30 SAMPP BADB-GHVNPAY SƠ5 SZBS-SHUDNԠNUP NP SPà MPPG05 SKP PG05 SSUNNS(SZ(PH(SZ(PH(SZ(PH3 USS SPà NUPԠNPHASŠ SPà PG05NP DAMPBK SAMPP SƠ5 BADPAԠ03650S-SHUDNUPԠH NP 33SBҬɠNϠNUPԠN(SZ(PH SPà NUPԠNPHASŠ SPà PG0NP Ơ5 DAMPBK ADAKN SAMPP SƠ5 SZBADPɠS-SHUDNUPԠH NP 35SBҬɠNϠNUPԠN(SZ(PH SPà NUPԠNPHASŠ3 SPà PG5NP Ơ5 DAMPBK ADAK SAMPP SƠ5 SZMP+S-SHUDNUPԠH NP 3SBҬɠNϠNUPԠN(SZ(PH3 SKP PH05 SSPAYҠPYN USS SPà PH05NP Ơ0 Ơ5 DAʴ0 SADHɠɯϠNUPԠNAN DBMPBK ADBKH SBMPP HSàH HSƠH SƠ5 SƠ0GNAŠɯϠNUP BADPBԠ03650GNAŠPAY NPPŠNԠSHUDNHBԠɯϠN NP ŴSBҬɠNϠPŠҠɯϠNUPSVD SPà PH0hƠ0DSABŠɯϠNUP DBMPBK ADBKU SBDH SƠ0 NP NP ŴSBҬɠNϠɯϠNUPԠVD SPà PH5NP MPP05 SKP P05 SSPAYŠG SSADSABYϠDԠBADPAY HKSPAYҠADDSS SSADSABYϠGNAŠGDPAY USSҬSҬSP SPà SԠABYϠNUPԠNBADPAY SPà P05NP Ơ0 à5 DAʴSԠUPNUPԠNAN SAMPP DAM3 SAN3 DBP000 SBPAD P06SƠ0 SƠ5 DBBɠS-SHUDNUPԠH NP NP SBSPɬɠPSUPPSSD? MPP0YS DAPAD DBP06A SBDAA MP06PŠNUPԠNԠVD SPà P0DAPADPDADDSSNA-GS DBKZ HԠ06BPŠNUPԠNԠVD SPà Pɱ0NP Ơ0 à5 A5 SAAAD SSASBԠ5ƠA-GS? MPPɱ5YS Ŵ3SBҬɠPŠNDAҠBԠ5NԠS SPà Pɱ5NP DA ANDB6MMYPԠAVAAB? SZA MPPɲ0N DAAAD ANDMSK5 SAAAD PAPAD MPPɲ0HSADDSSSKYNԠN SBSPɬ MPPɱ6 DAAADAUA̠ADDSS DBP0B SBDAANVԠϠAS DAPADPDADDSS DBP0A SBDAA MP0PŠMMYADDSSN SPà Pɱ6DAPADPDADDSSNA-GS DBAADAUA̠ADDSSNB-GS HԠ0BPŠMMYADDSSN SPà Pɲ0NP DBPAD NB SBPAD fSZN3NSHD? MPP06NϬKPUPHŠHADK MPPɲ5YSAMS SPà SԠABYϠGNAŠGDPAY SPà Pɲ5NP à5 DAʴ5 SAMPPŠNAZŠNUPԠNAN DAM3 SAN3 DBP000 SBAAD Pɲ6SƠ0 SƠ5 DBBɠS-SHUDNԠNUP NP NP Ơ5 DBAAD NB SBAAD SZN3NSHD? MPPɲ6NϬYAGAN MPNDɬɠYSNAY SPà P30DAAADAUA̠ADDSSNA-GS DBKZ HԠ5BADϠGNAŠGDPAY SKP ND UPUSDAGNSàMPŠMSSAG USSSKY. SPà NDNP MPì NؠSB SBSKɬ DAM DBMɷ SBY.Ϭ HԠBDAGNSàHASBNMPD MPS0 HDSUBUNSPAYHKDAGNS SUBUNS SPà S SSHҠNNA̠ҠNA̠SHGSS SPà SҠNP AADS-G SA MP+ƠA0USŠNA̠S-G DANSҠƠA00USŠNNA̠S-G MPSҬɠUN SKP PSҠMSSAGS HŠUNADDSSSUSDϠKUPHŠADDSS NGHANDNUMBҠƠHŠҠMSSAG USSSPY. SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN PBAɠADDSSANDAB MP+3UND NA MP-3NNUŠSAH ADAàNMAZŠNUMB SAS SBSPPSUPPSSD? MPNHYS SB DASؠN DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲAYA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DBHԠDDHAԠAB ADBS DBBɠDDHAԠNB SB ؠHԠ0YSSϠHA MPҬ NԱNP NԲNPUNS SؠNP SBNP SKP SK SSҠPNUԠSN ƠBԠHANGŠUNBYHŠANS USSSP SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBKHŠMDYUNADDSS SBSB SBSPPSUPPSSD? MPSBɠYSSKPPNU MPSKɠNϬԠANDPN SPà SP ƠYSNԠAVAAB-UN+ ƠYSSUPPSSD-UN+ ƠYSNԠSUPPSSD-UN+ USSS SPà SPNPHKSנGBԠҠP DBSPSUPPSSD NB DA ANDBԷ SZA MPSP SBS ANDBԱ SZA SPMPSPɠPSSUPPSSD-N+ MPBɠNԠSUPPSSD-UN+ SKP UPUSAAG-UNANDN-D ϠYPŠƠAVAABŠҠNԠSUPPSSD USSSKY. SPà ƠNP SBSKɬ DA DB SBY.Ϭ MPƬ SPà BAS A̠ϠASɠNVSN NY-BS0-5ƠA-GSҠNANϠA̠HAAS Ԡ-A-GSҠNANSϠASɠHAAS SPà BASàNPA̠AS ANDA00 DBA uBSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì SKP DAA NVԠA-GSҠϠASɠANDSŠNANNB-G ϠHAASAŠSDNAHƠHŠANS SANGAԠANNB-GS USSBAS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBKϠMDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG HDMSSAGSPAYHKDAGNS MSSAGS SPà SUP M00ASà5MMYPAYHKDAGNS Ԡ006 00U+-M00-M00 M0ASà3H0.PSSPSԠANDUN Ԡ006 0U+-M0-M0 M0ASàH0.UNƠPҠANDMVŠPŠAD 0U+-M0-M0 M0ASà0.BԠ5SSԠAҠPҠUN-N 0U+-M0-M0 M05ASà905.MPUҠADϠHAԠNPAY ASà03 05U+-M05-M05 M06ASà06.PŠNUPԠNԠVDA ASà0ADDSS P06ABSS3 06U+-M06-M06 M0ASà60.PŠMMYADDSSN Ԡ006 ASàPDAUA Ԡ006 ASà03 P0ABSS3 ASà0 P0BBSS3 0U+-M0-M0 M0ASà0ű0.Ơ5DDNԠNHBԠPŠNUP ̱0U+-M0-M0 MASàű.GA̠NUPԠN(MPԩ(BP ̱& U+-M-M M0ASàŲ0.GA̠NUPԠN(M̩(BP ̲0U+-M0-M0 MASà3Ų.GA̠NUPԠN ASà0(AAƩ(SZ(PH3 ̲U+-M-M M30ASà330.GA̠NUPԠN ASà0(BAƩ(SZ(PH3 30U+-M30-M30 M33ASà633.NϠNUPԠN(SZ(PH 33U+-M33-M33 M35ASà635.NϠNUPԠN(SZ(PH 35U+-M35-M35 M3ASà63.NϠNUPԠN(SZ(PH3 3U+-M3-M3 M0ASàŴ0.PAYADADϠNHB ASàנPYNUP ̴0U+-M0-M0 MASà9Ŵ.PYS.NHҠPŠNҠɯ ASà0NUPԠVD. ̴U+-M-M MASàŴ.PYS.NϠɯϠNUP ASà05VD ̴U+-M-M M3ASà9Ŵ3.PAYҠNUPԠNDA ASà5BԠ5NԠSԠNPAY ̴3U+-M3-M3 M5ASàŴ5.PŠADADϠGNAŠGD ASà0PAYAԠADDSS P5ABSS3 ̴5U+-M5-M5 M5ASà65.SàDDNԠSKPHAG P5ABSS ASà03A 5U+-M5-M5 M5ASà5.SƠDDNԠSԠAG P5ABSS Ԡ006 ASà6ҠSàAUSDSKPHAG P5BBSS ASà0S 5U+-M5-M5 M56ASà56.SƠ0DDNԠNABŠNS ASàSà0AUSDBADSKP 56U+-M56-M56 M5ASà5.SƠ0DDNԠNABŠNS ASà0SS0ADϠSKP 5U+-M5-M5 M60ASà60.N0ɯϠNUP 60U+-M60-M60 M6ASà6.HŠNԠADDSSSNԠ 6U+-M6-M6 M6ASà96.PSԠDDNԠDSABŠNUPS 6U+-M6-M6 M63ASà563.PSԠDDNԠSԠAG P63ABSS 63U+-M63-M63 M6ASà56.PSԠDDNԠSԠAG P6ABSS ASàANDDSABŠNUPS 6U+-M6-M6 M65ASà965.ɯϠNԠAKNDGŠDDNԠK 65U+-M65-l640M65 M66ASà66.à0DDNԠAҠɯϠN ASà0B 66U+-M66-M66 M6ASà96.PSԠDDNԠAҠN̠B P6ABSS 6U+-M6-M6 M0ASàŷ0.DSABŠADҠANDPSSUN ̷0U+-M0-M0 MASàH.DAGNSàMP ̷U+-M-M AMUSԠDAVAABŠMMY ND A6   24145-80001 B S 0122 BCS RELOCATABLE LIBRARY (EAU)             H0101 $ ASMBҬB NAMAU.B ND ASMBҬB̬Ԭ NAMMMY HDBSMMYAANUNŠ(ש MMYAANUNŠ- SPà USSMAYBŠMADŠϠAAŠANDASŠBUS MHŠMMYAVAABŠAҠADNG. SPà .AA:ANGSUNŠ- (PSB.A. (P+(ƠDSNDD (P+-UN- SPà (AABU (BƠDSAAD(MAYBŠ(P+ SPà .ASŠBUҠϠAVAABŠMMY SPà (PSB.N. (P+(AƠBUҩ (P+(ƠDSUND (P+3-UN-(A̠GSSUNHANGD SPà 3.AҠ-UNA̠BUSNSԠHŠNGB ANYAANANGSUN: SPà A SA.. SPà ƠAUSԠҠABUҠƠNGHؠANNԠBŠD DUNGAGVNA̬UNSMADŠH: SPà (A0 SPà ƬHNBUҠUSD-(AVMM-SHSNSUNԠ AVAABŠϠNANABUҠƠHŠNGHUSD HNUNSMADŠH: SPà (A- (BMAMUMNGHBUҠHAԠHŠPGAMMAYAA. SPà ϠNDUԠHנAGŠABUҠMAYBŠAADUSŠHŠA SPà SB.A. Dà36 SPà BKSƠMMYAVAABŠҠUPUԠBUNGAŠNKDHUGH HŠSԠϠDSƠAHBK- SPà D-NGHƠBK D-ADDSSƠNԠBK(ҠƠHSSASԠBK SPà HŠAAҠ'ANSS'HŠUPPҠNDƠABKϠàAND SHNSHŠNGHƠHŠBKBYHŠӒAMUNԠ'ANSD' SPà3 NԠ.A..N... Ԡ.MM. SKP .A.NPNYPNԠϠAAŠMMY ASԠ.N.ϠNDAŠSAUS NԠU00BNUPԠSYSMAGADDSS. SàNԠƠHŠNUP ANAN:A. ƠNԠDSABŠHŠNUPԠSYSM. .ASA.N.SϠŠKMנHHҠϠUN DA..ԠNҠNԠHKNԠAG ŬSZASSƠZϠGϠNZ SBNԠHŠMMY DA.A.ɠGԠHŠNGHƠHŠUS SASAVBANDSAVŠ ADAAVMMHKϠSŠƠŠANV MASSANASZAHNҠHŠUS MPNNϠGϠAB ASԠŠAVA.NנϠ0 SASAV DBPNASAԠHŠSAHPH .ADA.N.HŠSԠDPN SZAƠNUPԠSYSASƠSKP SƠNԠUNNGNHŠNUPԠSYSM SBBADSԠASԠBUҠADDSS ƠNԠUNƠHŠNUPԠSYS PA.N.AS.N.NDDUNGHŠND? ŬNBSSNϠNMNԠBANDSKP MP.AYSGϠNZŠSAHP BU0000B"B"GSҠADDSSDNN. DBBɠGԠHŠNԠSGMNԠADDSS PBMƠHNNDƠSԠANDN MPʠMMYSϠ DABɠHKϠSŠƠHSSH ADASAVҠAGSԠNGHSϠA DABɠGԠHŠNGH MASZSԠNG(-AND SASAVҠAGSԠSϠAҠSAV ADASAVB̠ԠSASYHŠUS? MASSAƠZϠҠNGAVŠUSŠ MP.ASŠGϠYNԠN ADAMSBKAԠASԠDS ŬSSAAGҠHANUS? MP.AN-AAŠHŠBK ADAô(ANGH(ɩ-(ة SABɠSԠNנ(ɩ ADABBC(ABUҠADDSS MPSBUNϠUS SPà NAŬSSSԠAANDŠҠNVҠANY ʠAŠSԠAANDŠҠNϠŠN MPSBUN SPà .ADABɠSԠBUҠNGHϠPASS SASAVBHŠHŠBK AU00000B"A"GSҠADDSSDNN. SBABUҠADDSSϠA ŬNBSԠŠҠAPDUN DBBɠGԠHŠPNҠϠHŠNԠBK SZBADSPϠPNҠADDSSNAS SBBADɠBKANDSԠHŠPN SBDB.N.HKϠSŠƠHŠNUPԠSYS SZBASNAԠNY SƠNԠƠSϠŠSԠ DBAVMMSԠBҠ SZASSƠUSԠҠNנSԠϠMA DBSAVҠAVAABŠN MBSZSԠPSVŠANDƠUS DBSAVBSASDSԠϠNGH SZ.A.SPUNADDSS MP.A.ɠANDUN SPà .N.NPNYPNԠҠBUҠUN DA..ADHŠMMYASŠAG. SZASSHASMMYBNNAZD? SBNԠNϬGϠNAZŠMMY. DA.N.ɠ(AAUNBUҠ(ADة SAAD MANASԠNGAND SASAVASAV SZ.N. DA.N.ɠƠDSUND(ة ADAM SSAH 7H 24149-80003 B S 0122 BCS FORTRAN IV LIBRARY             H0101 A HŠHAAҠSADG.ŠSԠSԠPSԠASS: PSԽ0:PSԽ PSԽ:DƽD+ PSԽ3:PSԽ6 BNKNMDBPS SZBSS SZPSԠƠPSԽ0SԠԠϠ PB.... SZDƠPSԽBUMPD PB....3 MPN3PSSNGPNN PB.... MPNشPSSNGPNN AƬA AƬA SAMP SBMBY0MUPYNPUԠSϠAҠBY0 DBPADDDGԠϠSUԠSϠA SZBƠPNNԠSZ MPNADD DA....SԠUPPAND SAP DAMPNMAZ B SB NMSBNM MPP NADDADBMN MB SBMPSHSSŠUN B AAԠHSPNԠANANSBS 0-5ƠDGԬBNANSBS 6-3ANDMPANANSBS 3- NAD̠SZMP MPNSH ADAMAN+ SZ NBADDAY ADBMAN+ SA DAMP SZ NA ADAMANԠNנANANSMANԬBMAN+ ANDýMAN+ MPNM NSHƠSAMP DAMP ŬA B SAMP DAMP A MPNAD N3SZPS NشDBPNMUPYPNBY0 BSBS ADBPN BS ADAB SAPN MPP NMSBHKAԠAMMANNPU A SZBSPSԽ0? MPṈ PAAG MP+3DUBŠMMA )SAAG MPP SASKPSԠϠSKPNPUԠM MPNPUԬ NP̲SASGN NPSPB....ƠPSԽHSSGA MP5 DA.... SZBƠPSԾ0HNSԠԠϠ SPSAPS MPP NMNASԠMNUSNHҠSGN SZBSGN MPNP̲ SASGNƠPSԽ0HNSG- MPP NPNԠBSHANDSDMA̠PN SZB MP5MANSPSԠASҠM SBDSԠDϠZ DA.... MPSP NŠSZBSSHANDS'' MPNBNƠPSԽ0HNMMNS ADBMN3 SSBSS MP5PSԠAS3Ҡ DA....3SԠԠϠ3 MPSP NSSSBHK ASԠNԽ0ϠŠANנD SANԠϠBŠADNԠM. NBNDBPS DAҠƠ-DANDPSԠNѠ0 SZASSGϠϠNA̠SŠGϠϠP. SZBSSSPSԽ0? SS MPNA DAAGƠDMAҬ SZBҠBGNNNGƠD SZA MPPGNŠBANKS MPBNKNMSŠUNAZ NUϠSBNHҠADHAASUN̠ANH PAUŠUŠSAD. MPNBNNBN MPNU NԠSAPS SZBƠPSԠASNNZϬAԠASA MPNBN+3BANK. SBAGSԠAGϠSAYNϠMMA. SBHK NòSBNHҠGԠNԠHAA. SBDGԠHKҠDG. MPNñN. DBMANԠGԠPVUSA̠SU. BƬBҠSHԠԠ3. ҠBMGŠHNנDG. SAMAN MPNò NñDB.36SԠPNNԠϠSAY5. SBMAN+ PABANKƠMNANGHAAҠS MPNPUԬɠHҠHANABANK SBBAKBBAKUPHŠBUҠPN BANDUN. ADBN SBN MPNPUԬ HDN̠SN HSNA̠SԠƠUNSAŠHŠUNSAUAYADBY HŠANPGAM.ҠAHA̠VAABŬNGҠVAABŬ A̠AAYҠNGҠAAYHŠSASNGŠA̠ϠHҠ. .....A.Ҡ.A..HŠSNAYASNGŠA̠Ϡ HҠ.D.Ҡ.B.. ..NP NGҠɯ ANGSUN: SB.. DƠ DB.. SBAD DABɠANANS SB..ɯϠA SBHK SSUPUԠҠSKPAUNDS SAADجɠSŠNPU SZ.. MP..ɠUN ..NP A̠ɯ ANGSUN: SB.. DƠ DB.. SBAD DDBɠAD SB..ɯϠA NP SBHK MP+3UPUԠҠSKPAUNDS DSԠADجɠSŠNPU SZ.. MP..ɠUN ..NP DUBŠPSNɯ ANGSUN: SB.. DƠ DA..ɠADDSSƠؠNA SBBHKHKҠBNAY MPBNP SBHK SSUPU MP+NPU DBAMANԠADDSSƠMAN SB.ҠMVŠUPUԠNUMB DBMAN+NϠMAN SB.UNANDUNPAK. SAP SBMAN+ SBSԲ UؠDAAMANԠADDSSƠMAN DB..ɠADDSSƠSU SZ..SԠUNADDSS SZSKPHKҠSKPNŠƇgDN SBHKNϠSKP.NҠUԠ? SSUԠҠSKP.DϠNԠS SB.ҠNPUԠHNϠSKP.SŠSU MP..ɠUN BNPSBHK SSUPU.ADDSSƠNUMNAN DAAMANԠNPU. SAB DAMN3ND3DSҠؠPSN SAMPA PDABɠUPUԠD SBBNAY SABɠNPUԠD NB SZMPA MPP MPUؠUN ..NPUSDϠNPUԯUPUԠAA̠VA- AB...SAD UPUԠHHŠNUMBҠ BŠUPUԠNAB.ҠN- PUԠԠUNSHHŠN- PUԠVAUŠNAB SBBHK MPBN SBHK SS MP+NPU SAMANԠUPU.SŠNUMB SBMAN+ SBDBŠNVԠNPUԠϠDUBŠPSN. DƠ+3 DƠMAN DƠMAN SB..NDDPSNɯϠA DƠMAN SBHK MP..ɠUPUԠ-UN. DASKPSKPAUNDS? SZASS MP+5YS SBSNG̠N.NVԠNPUԠϠA DƠ+ DƠMAN MP..ɠUN SZ..UMPAUNDDUBŠS SZ.. MP.. BN̠SBBNAY SA SBA SBBNAY SAB DA MP.. ..NPUSDϠNPUԯUPUԠANNG VAAB..SAD UPUԠHHŠNGҠNA. ҠNPUԠԠUNSHH NGҠNA. SBBHKHKҠBNAY MPBNN SASAVŠSAVŠNPUԠҠUNMDGUPS B SBAGNDASɠND SZAGA̬ҠϠSP? MPG.NN NSAMANԠYS.SŠUPU SBSԲƠUNϠMA DAMANԠADNPU MP.. G.NSBHK SBAԠAԠUPUԠNUMB SB..A̠ɯ SBؠNVԠNPUԠϠNG B SBAGNDASɠD DBSKP SZBSSŠD? SZ..YS.SKPS MP..ɠUN BNNSBBNAY MP.. .AY.NP NDDPSNAAY ANGSUN: SB.AY. DƠADDSSƠAAY ԠNUMBҠƠMNS DB.AY.ɠBAAYADDSS SZ.AY. DA.AY.ɠAMNS A̬ŬSAAƠBԠ5SԬANANS DAAɠADDSSSϠADND SZ.AY. SBASUƠNDDPSNAAY. APSB.. DƠAAY DASKPSKPUN? SZA MPAұN.NMA̠UN A̱P3SKPUN SZAAY SZANH MPAP MP.AY.ɠUN AұSBHK MPA̱UPU DBAAYNPU.MVŠNUMB DAAMAN SB.ҠNϠAAY MPA̱ .AY.NP A̠AAY ANGSUN: SB.AY. DƠAAYADDSS ԠMNS DB.AY.ɠBAAYADDSS SZ.AY. DA.AY.ɠAMNS A̬ŬSAAƠBԠ5SԬANANS DAAɠADDSSSϠADND SZ.AY. SB.A. MP.AY.ɠUN .AY.NP NGҠAAY ANGSUN lSB.AY. DƠAAYADDSS ԠMNS DB.AY.ɠBAAYADDSS SZ.AY. DA.AY.ɠAMNS A̬ŬSAAƠBԠ5SԬANANS DAAɠADDSSSϠADND SZ.AY. SB.A. MP.AY.ɠUN .A.NPADҠNPUԯUPUԠƠA SBASU APDDAAY SB.. SB.A. MPAұ A̱SZAAYSKPU SZAAY SZANH MPAP MP.A.ɠUN AұSBHK MPA̱UPU DB.A. DSԠAAY MPA̱ .A.NPADҠNPUԯUPUԠƠAN SBASU APDAAAY SB.. MPAұ AҲSZAAY SZANH MPAP MP.A. AұSBHK MPAҲ SAAAY MPAҲ ASUƠNPSAVSNŠ MANAAAAYNGH(0 SAANHBAAYADDSS SBAAY B̬ŬSBBHKҠND SS MPASUƬɠN.HNUN DBBɠGԠNԠADDSSV MP-5PA BHKNPUNSϠP+ƠBNAYSŠ SBMP DBBAG SZBSS SZBHK DBMP MPBHK BNAYNPHANDSANSҠƠDϠҠMH SAMPBNAYBU. SB.D.USDASMPAY SZNԠSԠҠNDƠBU. MP+3N. SBDAA̠ҠBUҠNU. MP-3ANDYAGAN. SZBҠBUMPBUҠPN. DAMPSŠDϠBŠUPU. SBHK SABҬɠUPU DABҬɠNPU DB.D. MPBNAY .D.NPHŠNA̠A̠ϠHŠɯϠU- @NSҠMADNPUԯ UPU. SAUN SB SZAHKҠUNԽ0. MPDϱN-ϠANS. NANNA̠NVSN. SANԠSԠNԽ. AGԠBUҠADDSSNϠB. ADA.D. ADA.D. SAB SZ.D. DϱA SABAG SASKP SASA̠SԠSA SASAŠAҠϠ0 SAAG DAASYAD:A-3. SANSԠMҠҠ6DPHYSA̠D. SZBSS SBA DA.D.ɠGԠMAԠADDSS A̬ŬSAASԠҠNDԠ(V̩ DAAɠADUŠADDSS. A̠NVԠϠAHAA MANASZAADDSS MA SA SZ.D.GԠHŠND-ƠS DA.D.ɠADDSS SANDS DAMN6 SANS A SAAG SAAG SZ.D.SԠUP DA.D.HŠUN SASԲƠADDSS SBHK MPM SBDAADANŠƠNPU. DA SZASԠҠ-D MPMԠMADɯ. SBƲS SBNPU MP- .B.NPHŠNA̠A̠ϠHŠɯϠU- NSҠNN-MAD NPUԯUPU SAUN SB DABNYAD:A-0. SANSԠMҠҠ60DPHYSA̠D. ANA SABAG SASKP SZBSS SBA DB SZB SBDA MP.B. NϠNP SԠAG0ҠNנMAԠDNNS ANGSUN: SBN DƠ+ A SAAG FSZN MPNϬ DϠNP SԠAG-ҠDMAԠDNNS ANGSUN: SBD DƠ+ A SAAG SZD MPDϬ SԲƠNP A SASKPNAZŠUN MPƲSԬ ƲSԠNP DAB SABS SZSKP MPSԲƬ SZAGɠASԠND? SZAGYS.AϬҠ̠YP? MPƲSԬɠN.UNϠMAԠPSS DASAVŠHSŠSŠAϠNA MPNNNSANDUNϠ .DA.NP DAUNԠSԠUPSAUSN SZASSƠUNԽ0 MP.DA.ɠGNŠA. ҠSHKD SASAS SB..A̠àҠSAUS SASBSS ANDPAPҠSԠҠPAPҠAP PA.000ƠYPŠ ASMUAŠPAPҠAP SZA ASSNԠPAPҠAP. DAPB ADAUNԠSԠUPBASààN̠D ҠBASàSAYASɠNPU. SBBHK ҠASòB DBUNԠSԠK-BԠ PB....UNԽ. ҠKB SBHKNנSԠҠNPUԠҠUPU. MPDA NPUԠSN SANҠSԠNNPUԠN̠D. DASASASϠSԠNPU SASAɠSAUSD SBNPMàA. MP.DA.ɠUN UPUԠSN DAϠҠNԠSԠN̠DϠSAYUPU. SANҠSԠNUPUԠN̠D DBSASSԠUPUԠSAUS. SBSAϠD. DBNԠGԠNUMBҠƠHAASDS. SZBBNAYDNNUAN? MB SBBHKƠBNAYDUB BSUN. ADBNPDUSԠUNԠƠAS. SBUB̠SŠASƠHAS.UPU. SBBHK MP+3 DAϱSBUPMàA MP.DA.ɠUN MBNBSԠBNAYUNԠϠPSVŠAND BƬBƠPSNASHGHHAA B AƬAƠAŠP-BԠϠSGN SSAƠNԠZϬSŠAS SBBUϠSԠHAAҠNBU. MPDAϱ DANPPMSAMPŠɯϠPA- SB.DA.N. SBHK MP+3 SBAɠNPUԠA MPDA SBAϠUPUԠA MPDA AɠNPASҠNPU DAUNԠGN SZASSA̠ MPAɬɠUNԽ0. ɱSB..A̠ϠSŠƠNPUԠDNŠY. SAɠԠ0000 SASAԠSAVŠSAUSƠANҠUS. A̬SADVŠS̠BUSY? MPɱYS--KPANG. SSAҠNDN? MPҠYS. AƬAƠƠϠBԠ0 SASS? MP+NϬUMP DBNYSDUMMYNASMSSNG SSBNGAV? MBNBYSMAKŠԠPSV BŬBGԠANSMSSND. SBBHK BSƠBNAYNVԠϠDUN MBSŠASNGAVŠN SBNԠUN. DB.BUƠGԠBUҠADDSS SBBHKBNAY? MP3YS B̠ҠASɠSԠBҠϠPNԠ ɲADBMNHŠSԠHAAҠPDNG ɴSBBҠHŠBU. MPAɬ 3DAN AƬA SSASSPAPҠAPŠ? MPɲN SZNԠYS MPɴ NPUԠҠ ҠSBҠPNԠҠMSSAG ANDSAɠSԠAϠUNԠAND HԠHA. SBNA̠NPUԠAGAN MPɱ AϠNPASҠUPUԠϠMBŠMPD DAUNԠGNŠA̠ SZASSUNԽ0. MPAϬ SB..SŠƠUPUԠS SHKԠ0000BUDANDGN SZBSAUSUSԠƠԠS. MPϷ DASA PASHK MPϷNϠPVUSUPUԠDN SB.. SAϠԠ0000 SASAԠSAVŠҠҠDSPAY. A̬SASԠBUSYB. MP-DVŠS̠BUSY SSASSҠNDN? MPϷN. SBҠPNԠҠMSSAG ANDSAϠANDHA. HԠ0 SBUGϠYHŠUPUԠUS. MPSA-GϠAԠҠɯϠMPN. ϷDASHK ҠUN SA+ SB..A̠NSAUS BSS ANDPAP B SZA PA.000 DBPB SBNҠSԠUPUԠN̠ϠSAYPAP DA.BUƠSԠUPBUҠADDSSAND BNGH. ADBN SBBHKBNAY. MP6 A̠ADUSԠBUҠADDSS ADAMNHAAS SAB SBN MPAϬ 6BSADUSԠNGHҠDS. ADAMN SAB SBN DANҠGԠUPUԠN̠D AƬA SSASSSԠҠPAPҠAP. MPAϬɠNԠPAPҠAP. SZNԠƠPAPҠAPŬBUMPBU SZBҠADDSSANDUN. MPAϬɠUN ҠNP SB..PN Ԡ000 MP-MSSAG. DƠMS Ԡ- SB..AԠҠɯ Ԡ0000MPN. SSA MP-3 DA.ADMASKҠUNԠNUMB. DBSAԠADҠD. MPҬɠUN MSASà NNPNPUԠA̠Ϡ SB.. NҠBSS MB@ K 24150-80001 D S 0122 RTE/DOS RELOCATABLE LIBRARY (NON-EAU)             H0101 O ASMBҬB NAMƲN.D ND ASMBҬB̬ HDDUMMYϠҠŠANDDS NAMϬ NԠ SPà ANGSUN: SB DƠ+ SPà ϠNP DAϬɠGԠUNADDSS MP0ɠANDUN ND ASMBҬB̬ NϠVŠMBŠҠ696 UYUNŠA̠ϠANH NAMANH0000000 NԠANH ԠANH ANHNPNY SZANH DBANH DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBANHA̠ϠANHUN SZANH MPANHɠUN ND ASMBҬB̬ UYUNŠA̠ϠP NAMP0000000 NԠP ԠP0 PNPNY SZP DBP DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBPA̠PUN SB0ҠUN SZP MPPɠUN ND ASMBҬB̬ UYUNŠA̠ϠSN NAMN0000000 NԠN ԠSN0 NNPNY SZN DBN DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBSNA̠SNUN SB0ҠUN SZN MPNɠUN ND ASMBҬB̬ UYUNŠA̠ϠS NAMS0000000 NԠS ԠS0 SNPNY SZS DBS DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBSA̠SUN SB0ҠUN SZS MPSɠUN ND ASMBҬB̬ UY$UNŠA̠ϠAN NAMAN0000000 NԠAN ԠAN0 ANNPNY SZAN DBAN DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBANA̠ϠANUN SB0ҠUN SZAN MPANɠUN ND ASMBҬB̬ UYUNŠA̠ϠABS NAMBS0000000 NԠBS ԠABS BSNPNY SZBS DBBSDADDSSƠA DBɠGԠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBABSA̠ABSUN SZBS MPBSɠUN ND ASMBҬB̬ UYUNŠA̠ϠAG NAMG0000000 NԠG ԠAG0 GNPNY SZG DBG DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBAGA̠AGUN SB0 SZG MPGɠUN ND ASMBҬB̬ UYUNŠA̠ϠS NAMԬ0000000 NԠ ԠSԬ0 ԠNPNY SZ DB DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBSԠA̠ϠSԠUN SB0ҠUN SZ MPԬɠUN ND ASMBҬB̬ UYUNŠA̠ϠSGN NAMGN0000000 NԠGN ԠSGNGADADS GNNPNY SZGN SBGADGԠAPAAMҠADDSS DƠGN DAADS SA0 SZGN SBGADGԠBPAAMҠADDSS DƠGN DAADS SA0+ SBSGNA̠S&GNUN 0DƠ DƠ SZGN MPGNɠUN ND ASMBҬB̬ UYUNŠA̠ϠA NAMAԬ0000000 NԠA ԠA AԠNPNY SZA DBA DBɠPAAMҠADDSS DAɠADPAAMҠNϠAGS SBAԠA̠AԠUN SZA MPAԬɠUN ND ASMBҬB̬ UYUNŠA̠Ϡ NAMج0000000 NԠ Ԡ ؠNP SZ DB DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBؠA̠ϠؠSUBUN SZ MPجɠUN ND ASMBҬB̬ UYUNŠA̠ϠAAN NAMAN0000000 NԠAN ԠAAN0 ANNPNY SZAN DBAN DBɠPAAMҠADDSS DDɠADPAAMҠNϠAANDBG SBAANA̠ϠAANUN SB0ҠUN SZAN MPANɠUN ND ASMBҬB̬ UYUNŠA̠ϠABS NAMABS0000000 NԠABS ԠABS ABSNPNY SZABS DBABS DB DAɠADPAAMҠNϠAGS SBABSA̠ABSUN SZABS MPABSɠUN ND ASMBҬB̬ UYUNŠA̠ϠSGN NAMSGN0000000 NԠSGN ԠSGNGADADS SGNNP SZSGN SBGADGԠPAAMҠAADDSS DƠSGN DAADS SA0 SZSGN SBGADGԠPAAMҠBADDSS DƠSGN DAADS SA0+ SBSGNA̠ϠSGNϾUN 0DƠPAAMҠA DƠPAAMҠB SZSGN MPSGNɠUN ND ASMBҬB̬ UYUNŠA̠AND NAMAND0000000 ԠGADADS ANDNPNY SZAND SBGADGԠPAAMҠAADDSS DƠAND DAADS DA0 SZAND SBGADGԠPAAMҠBADDSS DƠAND DBADS AND SZAND MPANDɠUN ND ASMBҬB̬ UYUNŠA̠ NAMҬ0000000 NԠ ԠGADADS ҠNP SZ SBGADGԠPAAMҠAADDSS DƠҬ DAADS DA0 SZ SBGADGԠPAAMҠBADDSS DƠҬ DBADS Ҡ SZ MPҬɠUN ND ASMBҬB̬ UYUNŠ NAMԬ0000000 NԠ ԠNPNY SZ DB DBɠPAAMҠADDSS DAɠADPAAMҠNϠAGS MAMPMN SZ MPԬɠUN ND ASMBҬB̬ HDA̠BYANMŠϠSS NAMSS׬ NԠSS ԠSS SSנNP SZSS DBSS DBɠPAAMҠADDSS DAɠADPAAMҠNϠA SBSS SZSS MPSS׬ɠUN ND ASMBҬB̬ GԠVŠADDSSUYUN NAMGAD0000000 NԠGADADS GADNPNY SAMPSAVŠAGS DAGAD PSAADS DAMP DAADS A̬ŬSAA MPPNԠԠADD-GϠϠNԠV SAADSSAVŠVŠADDSS DAMPSAXŠAGS SZGADNMNԠԠADDSS MPGADɠUN ADSNP MPNP ND ASMBҬB̬ NAMANH60000000 NԠANH Ԡ.PҲP..MABS.UN Ԡ$BҬ$B A̠MŠUVŠ-NANԠBAYUN A.. DDؠ(ANG SBANH(SUԠANG AUAŠHYPBàANGNԠƠ. ANHNP SB$B DƠDB SASGNSAVŠSGN(ة SBABS SA SB+ؽABS(ة SB.UN ADAM5 SSASSؾ6? MPASAYS ADAK SSASSؾ.5? MPASBYS ADAK SSASSؾ.00005? MPASàYS ASDDA DB+ABS(ANS KNGSA DASGN SSAAS<0 MPMPYS DA MP MPDA SB..M ԠSB$B DƠDB Dà0 ASADAK DBK+ABS(ANS MPKNG ASBDA DB+ SB.PҲ DƠD SBP NP SA SB+ƽP(ة ADK SA SB+Խ+ DA DB+ SBK DV MPKNGABS(ANS(- ASàDA DB+ MPA SA SB+ƽA MP SAƲ SBƲ+Ʋƪ ADD SA SB+ԽƲ+D DA DB+ DV ADB MPƲ ADA SA SB+ԽA+Ʋ(B+ïԩ DA DB+ DV MPKNGABS(ANSƯ M5Dà-5 KDà KDà KDà. ADà5.00636 BDà.03695 àDà.30 DDà39.6699 DDà DBNP Dà NP SGNԠ0 ؠBSS N ԠBSS ƠBSS ƲBSS ND ASMBҬB̬ NAM.Ҭ60000000 NԠ. ԠAGP Ԡ$BҬ$B A̠MŠUVŠ-NANԠBAYUN A.. SB.Ҡ(SUԠANG DƠBASŠ(ANG DƠPҠ(ANG (ҠUN (NMA̠UN AUASBASŪP. .ҠNP SB$B DƠDB DADB+ SABAS SZDB+ DBDB+ SBP SZDB+ DDPҬɠPKUPP SAP SBP+ DDBASŬɠPKUPBAS SABAS SBBAS+ DBP SZASSBASŽ0? MPBZҠYS SZBSSPҽ0? MPPZҠYS SSABAS<0? MPA̠YS DBBAS+ SBAG MPA+ MPP SBP MPA+ MPԠANSP(PҪAG(BASũ BZҠSZB SSBP<0? MPA̠YS BN MPԠANS0 A̠DAAS DBAS+ SB$B DƠDB Dà0 PZҠDAűANS DBű+ ԠSB$B DƠDB Dà ASɠASà0UN űDà. DBNP Dà NP BASŠBSS PҠBSS ND ASMBҬB̬ NAMAN60000000 NԠAN Ԡ.PҲ..M.NԬ.HBA Ԡ$BҬ$B A̠MŠUVŠ-NANԠBAYUN ANGSUN.. DDؠ(ANGADANS SBAN(SUԠANG (ҠUN (NMA̠UN AUASAN(ة ANNP SB$B DƠDB MPP SA SB+ؽدP ADK SB.PҲ DƠDM SB.N MPA SBA SB..M SB.PҲ DƠD AD SA SB+ؽ-N((+ SBK SAAG SSA1DADD.ND. SZBɠHKUNԠVAUŠƠPAԠD MP+S̠MŠPAS. DANSԬɠPAԠDHAUSD ADAMN SANSԬɠDMNԠNSԠBY. ADBVŠNנBNSV. DABɠSŠPA MPSƠDAND. ADBNMŠPAS.BNPN. SҠDABɠSԠҠ SAҬɠԠPAN. MPM ASPSBƲSԠUNϠANGS. SBDAƠŠGԠBAKUNMDGUP. AɯϠHŠDANDAVD SASKP̬ɠASPUUSUNϠA DBNSԬ SBNSԬɠSԠNS ADBADPN MPSҠSԠҬ. NUԠHANDSHŠSASHNAMAԠ NUԠSBDA SBHK MPNU HDNUMA̠NVSNS HŠNUMA̠NVSNSAŠA̠PMDUSNGANG AHM.HŠUSUA̠ANGPNԠUNSHHKN 3BԠANSAŠBYPASSDNAVҠƠUNPAKDUNS. HSŠPAŠN3BSANDHBYPVDŠMUHBҠ AUAY.HŠNYPNSϠHŠANGPNԠ PAKAGŠHAԠAŠUSDA: .UNUNPAKUNŠ AԠAԠUNŠ .PAKPAKANDUNDUNŠ ؠUNAԠUNŠ NGAŠSMŠUYUNSҠBANNGHŠנANDD DSANDDNGAנHҠŠHNGS. GؠSBNԠGԠNUMBҠNMA. MANANGA. ADASGNɠҠŠANDGYPŬ0HS SSASSƠNԠNGAVŠHN MPұAKŠGAS. SASAVŬ MPGԬ DSؠDASAVŬɠSSנANDD SA׬ DADSAVŬ SAD MPDSԬ DZMANԠנANDD.APSD.A-D- DرSADSAVŬɠSԠDSAVŠϠNUDŠPN MAD ADASAVŬɠD- MASSA-D- MP+3UMPƠP ԠBSS3 YBSS رBSS زBSS DMDNP SB$B DƠDB SB.NP DƠY SADB+ SBDVYرز DƠ DƠر DƠز SBDDNԠYN(Y DƠ+3 DƠ DƠ SBMPYYDDN(رزز DƠ DƠ DƠز SBSUBYر-DDN(رزز DƠY DƠر DƠ SB$BؠUN DƠDB Dà0 ND ASMBҬB̬ HDDUBŠϠNGҠP NAM.Dɬ6 NԠ.D Ԡ$BҬ$B Ԡ.MPY.DV. MPYU.MPY DVU.DV SPà ANGSUN:YD SB.D DƠY DƠD DƠ (ҠUN:D0ɠ<0 (NMA̠UN SPà .DɠNP SB$B DƠDB DADB+ SAYSAVŠADDSSƠY SZDB+ DADB+ SADSAVŠADDSSƠD SZDB+ DADB+ DA0 SAɠSŠ SZDB+SԠUNADDSS DAD DBADD SB.ҠANSҠAGUMNԠNϠD DAD DB SZAD0? MPN0N. DAADZϠYS. SSBSSɠ<0 SZBSSҠɠ0? SS MPԠN.ANSҠ0. DAMSGYS.ҠUN DBMSG+ SB$B DƠDB ZϠDà000 N0DAADN SZBSSɠ0? MPԠYS.ANSҠ. DBADƠN.SԠƠ. SB. DA BNBƠɠ0SGN+ SSA BƠɠ<0SGN- SBSGN SSB MANASԠɠɠ SA PDA SASSASԠBԠƠɠ0? McP+5YS SBMPYN.ƠƠD ADƠDƠ DƠ ADDDƠD DA ASDVDŠɠBY SZASSɠ0? MPNSYS. SAɠN.SAVŠ SBMPYDDD DƠD DƠD DƠD MPPDϠԠAGAN NSSZSGNɠ0? MP-YS.ANSҠSU SBDVN.Ơ DƠ ADNŠDƠN DƠ DAAD ԠDBYANSҠSUԠNϠY SB. SB$BؠUN. DƠDB Dà NŠԠ000000. DBNP Dà NP ɠBSSPNN DBSS3BAS YBSS ƠBSS3 SGNBSS+-Ơɠ0<0 ADZϠDƠZ MSGASàUNҠMSSAG ND ASMBҬB̬ HDMPؠϠNGҠP NAM.ɬ6 NԠ. Ԡ$BҬ$B Ԡ.MPY.DV.PAD SPà ANGSUN:Yê SB. DƠY DƠ DƠ (ҠUN:à0+0ɠɠ<0 (NMA̠UN SPà .ɠNP SB$B DƠDB SB.PAD DƠUN SAADY SAADY SZUN SB.PAD DƠUN SAAD SZUN SB.PAD DƠUN DA0ɠGԠVAU SA SZUN DDADì SAàSŠA̠PAԠƠ SB+ SZAD SZAD DDADì SA+SŠMAGPAԠƠ SB+3 DB SZASSý0? SZB MPNZ DAɠYS. SSASSɠ<0 SZASSҠɠ0? MPҠYS.ҠNDN Aɠ0HNY0 DSԠADY SZADY SZADY DSԠADY MPԠr0.*UN ҠDAMSG DBMSG+ SB$B DƠDB Dà0 MSGASàUN MP.ɬ NZϠDAN DBN+SԠY+0 DSԠADY SZADY SZADY A B DSԠADYԬ DA SZASSɽ0? MPԠYS.ANSҽ+0 BNBƠɠ0SGN+ SSA BƠɠ<0SGN- SBSGN SSB MANASԠɠɯ SA PDA SASSASԠBԠƠɠ0? MP+5 SB.MPYN.YY DƠADY DƠADY DƠ DA ASDVDŠɠBY SZASSɠ0? MPNSYS. SAɠN.SAVŠ SB.MPYàà DƠ DƠ DƠ MPPDϠԠAGAN NSSZSGNɠ0? MPԠYS.NSHD SB.DVN.YY DƠADY DƠN DƠADY ԠSB$B DƠDB Dà NŠDà.0. DBNP Dà UNNP ɠBSSPNN àBSSBAS ADYBSSADDSSƠY ADàBSSADDSSƠ ADYԠBSSANHҠADY SGNBSS+-Ơɠ0<0 ND RU0 Y f 24152-80008 C S 0122 RTE/DOS FORTRAN IV LIBRARY             H0101 5 ASMBҬB̬ HDDUBŠPSNABSUŠVAU NAMDABS6 NԠDABS Ԡ$BҬ$Bج..DM. SPà ANGSUN: Yد SBDABS DƠ+3 DƠY(3DSUԩ DƠ SPà DBNP Dà6 NP MP̠SB..DMMPMN DYNPSUԠNY MP DABSNPABSUŠVAUŠNAN SB$B DƠDB SZDB+ DBDB+ɠADDSSƠYNB. SBDY SZDB+ DADB+ɠADDSSƠؠNA. SZDB+ؠUN SB.ҠY DBDY SSBSSؠPSV? MPԠYS MPMP̠N ԠSB$BؠUN DƠDB Dà0 ND ASMBҬB̬ HDANGPNԠMANDNG NAMAMD6 NԠAMD Ԡ$BҬ$Bج.NPAN SPà ANGSUN: YرMD(زҠؠر-AN(رزز SBAMD DƠ+3 DƠر DƠز (SUԠNAANDB SPà رBSS زBSS AMDNP SB$B NP SB.NP DƠر DDر DVزɠرز SBANԠAN(رز MPزɠAN(رزز DSԠY DDر SBYYر-(رزز SB$B DƠAMD YBSS ND ASMBҬB̬ HDNGҠMANDNG NAMMD6 NԠMD Ԡ$BҬ$Bج.NP SPà ANGSUN: YرMD(زҠYر-(رزز SBMD DƠ+3 DƠر DƠز (SUԠNA SPà رBSS زBSS MDNP SB$B NP SB.NP DƠر B DAر SSA MBSԠBϠ Ơر< DVزɠرز MPYزɠ(رزز MANA ADAرɠYر-(رزز SB$B DƠMD ND ASMBҬB̬ HDA̠ϠA̠UNAN NAMANԬ6 NԠAN Ԡ$BҬ$Bج.UN.PAK SPà ANGSUN DDY(A̠NUMBҩ SBAN (SUԠNAANDB SPà ANԠNP SB$B NP SAرSŠUPPҠMAN SB.UNUNPAK SAP SSASS MP+ AƠY<. BUNA MPԠZ. ADAD-3 SSA MP+3 DAر MPAKԠƠPAADYANNG SAPPPN-3-NUMAԠB A SAADDNAZŠNMNԠAG. DAر SHԠŬSAASGHԠSHԬNDSGN. MŠŠנBԠƠABŠSH. SBBAŠBGHԠH. SZADDSԠAGƠANA̠BS. SZPDNŠ? MPSHԠN.SHԠAGAN. SAر DAD3 SAPSԠBNAYPNԠϠGHMSԠB DAYS.ABҠPAԠƠNUM. ANDB00MASKƠҠBS. MBNB ADB0SԠϠSŠƠҠBS0 SZB SZADDƠNԠA̠ZϬSԠAG. SAزSAVŠҠMAN. B DAADDƠAGSԬHNAԠBSS SZA DBB00000B00000SŠB0. DAر SSASSNUM0 BYSSϠDNԠNMNԠز. ADBزBز+(0Ҡ00000 ƠNUM0Bز. ƠNUM<0ANDNϠANA BSBز. ƠNUM<0HA.BS UNADBز+00000 HHNASSHŠNGAV NUMBҠBYN. SZ NAADDAYƠANY. AKԠSB.PAK PNP ԠSB$BؠUN. DƠAN رBSSSAG زBSSҠMANSSA. ADDBSSNMNԠAG. ND ASMBҬB̬ HDA̠ϠNGҠUNAN NAMNԬ NԠN Ԡ SPà ANGSUN: DDؠ(A̠NUMBҩ SBN (SUԠNA SPà NԠNP SB MPNԬ ND ASMBҬB̬ HDDUBŠϠNGҠUNAN NAMDNԬ6 NԠDN Ԡ$BҬ$BجSNG̬ ԠDDN SPà ANGSUN: SBDN DƠ+ DƠؠ(3DAGUMNԩ (SUԠNA SPà DNԠNP SB$B NP SZDN DADNԬɠANANSADDSSƠ SA+SŠADDSSƠAGUMN SBDDNԠGԠANSҠNDUBŠPSN DƠ+3 DƠ NP SBSNG̠NVԠϠA DƠ+ DƠ SBؠNVԠϠNG SZDNԠSԠUNADDSS SB$B DƠDN ؠBSS3 ND ASMBҬB̬ HDDUBŠϠDUBŠUNAN NAMDDNԬ6 NԠDDN Ԡ$BҬ$Bج.NP.Ҭ.UN.PAK SPà ANGSUN: SBDDN DƠ+3 DƠY(SUԩ DƠ SPà DBNP Dà0 NP AGBSS3 ADDBSS PBSS YBSS ؠBSS DDNԠNP SB$B DƠDB SB.NP DƠY SADB+ DA DBAGAD SB.ҠMVŠAGUMNԠNϠAG DBAG+ sSB.UNUNPAKPNN SAP SSASS MP+6 AƠد<. SAAG SAAG+ANS0 SAAG+ MP SBAG+SŠҠMAN ADAD-39 SSA MP+3 DAPƠP3AADYAN MPAKԠNGҬSϠAKŠ. SAPPPN-39-NUMAԠB A SAADDNAZŠNMNԠAG. DBAG+ SHԠDAAG ŬSAASGHԠSHԬNDSGN MŠŠנBԠƠABŠSH BSHԠNϠB SAAG DAAG+ SAA SZADDSԠAGƠANA̠BS SAAG+ SZPDNŠ? MPSHԠN.SHԠAGAN SBAG+ DB0BAҠMANSSA ANDB00MASKƠҠBS. MBNB ADB0AŠҠA̠ZϠ? SZB SZADDN.SԠAG SAAG+ B DAADD SZAAGSԠ? DBB00000YS. DAAG SSASSAGPSVŠ? BYS.AҠB. ADBAG+ SBAG+ DBAG+ SZ NBADDAY. SZ NAAGAN. SAAG SBAG+ DAD39SԠPNNԠϠGHԠB AKԠSB.PAKPAKSU AGADDƠAG ԠDAAGAD DBY SB. SB$B DƠDB Dà0 ND ASMBҬB̬ HDMAMUMANDMNMUMHNGҠAGUMNS NAMMMNɬ6 NԠAMA0MA0AMN0MN0 Ԡ$BҬ$BجA SPà ANGSUNS:رز...NAŠNGS. SBAMA0SBMA0SBAMN0SBMN0 DƠ+(N+DƠ+(N+DƠ+(N+DƠ+(N+ DƠرDƠرDƠرDƠر ..ϗ...... ........ ........ DƠNDƠNDƠNDƠN (A̠SUԠ(NGҠSUԠ(A̠SUԠ(NGҠSU NAANDBNANAANDBNA SPà AMA0NPA̠MAؠƠNGҠAGS. SB$B DƠDB AŠSԠNDAS MPSG MA0NPNGҠMAؠƠNGҠAGS. SB$B DƠDB AŠSԠNDAS MPSG AMN0NPA̠MNƠNGҠAGS. SB$B DƠDB AŠSԠNDAS MPSG MN0NPNGҠMNƠNGҠAGS. SB$B DƠDB AŠSԠNDAS SGDBSSAA̠NSUN:SSA USDҠAMN0ANDMN0 SZA DBSSA.ҠA̠NSUN:SSASS USDҠAMA0ANDMA0 SBSKG SZSS MA SAPG-ҠNGҬ0ҠA DAAADADDSSƠ(DƠ+N+ MANA- ADAAADɠ-++N+N+ ADAD-AN MANA SAN-N NA SSAN HD"SPAN YPŠHANDS"-NVSN YPŠASԠҠN SADBNKSKPPNG SADMA DAҠSAVŠҠ SAMPPAS PSBHAҠGԠMAԠHAA PAUŠHKҠU MPUԱMPҠSPA̠HANDG SBHK MP+3 SBNH MPP SBU MPP UԱSBHKHKHŠPAԠUN DAMPSŠ SAҠAND MPPP HDPANHSSMANPUAN PYPANDPYPHANDŠHŠPANHSSMANPUAN PYPSZNSԠADVANŠHŠDPHUN SS MPҲƠϠDPHNAKŠGAS DANS DB PAMNƠNSԠS-(UҠPANS SBPNHNSŠҠNPN SBPNAAYSSŠԠNPN DBƠSAVŠƠN SBƲƲҠAҠVY SBƱANDƱҠPNG MPM PYPDANSԠƠNSԠS NASZASSUA̠ϠHN MPPYGϠϠPY NASZAƠNSԠNѠ-HN MPҲAKŠGAS SBƲSԠUNϠHŠANGSUN SBDAƠŠGԠBAKɯϠHŠD DAƲSԠƱҠPANG SAƱHŠMA ASԠSKP̠ϠAVDASPUUS SASKP̠UNϠHŠANGSUN. DBPNƠPNPNHŠAŠN PBPNNNҠPANSSϠAVŠNS DANSԠAN.ƠHY'ŠDNԠHN SANSԠSԠԠϠ-. PYSBҠSԠҠϠPN MPMԠUN PYDBPN SZƱ_ƱDSN'ԠGϠϠZϬHN MPPYSԠҠϠPN DAMNHSŠUSԠSԠNSԠϠ-. SANS MPM NUԠHANDSHŠSASHNAMAԠ NUԠSBDA SBHK MPNU HDNUMA̠NVSNS HŠNUMA̠NVSNSAŠA̠PMDUSNGANG AHM.HŠUSUA̠ANGPNԠUNSHHKN 3BԠANSAŠBYPASSDNAVҠƠUNPAKDUNS. HSŠPAŠN3BSANDHBYPVDŠMUHBҠ AUAY.HŠNYPNSϠHŠANGPNԠ PAKAGŠHAԠAŠUSDA: .UNUNPAKUNŠ AԠAԠUNŠ .PAKPAKANDUNDUNŠ ؠUNAԠUNŠ NGAŠSMŠUYUNSҠBANNGHŠנANDD DSANDDNGAנHҠŠHNGS. GԠNP SBNԠGԠNUMBҠNMA MANANGA. ADASGNҠ-MAԠUԬ0HS SSASSƠNԠNGAVŠHN MPұAKŠGAS. SASAV MPGԬ DSԠNPSSנANDD. DASAV SA DADSAV SAD MPDSԬ DؠNPNAZSנD.APSVŠD. MA-D- DرSADSAVŠSԠDSAVŠϠNUDŠPN MAD ADASAVŠD- MASSA-D- MP+3UMPƠP.B. DϠNP SZD MPDϬ SԲƠNP A SASKP MPƲSԬ ƲSԠNP DAB SABS SZSKP MPSԲƬ MPƲSԬ .DA.NP DAUNԠSԠUPSAUSN SZASSƠUNԽ0 MP.DA.ɠGNŠA. SB DƠ+ DƠD3 DƠUN DƠS DAS ANDPAPҠSԠҠPAPҠAP PA.000ƠYPŠ ASMUAŠPAPҠAP SZA ASSNԠPAPҠAP. DAPB ADAUNԠSԠUPBASààN̠D ҠBASàSAYASɠNPU. SBBHK ҠASòB SAN SBHKNנSԠҠNPUԠҠUPU. MPDA NPUԠSN SBNPMàA. MP.DA.ɠUN UPUԠSN DAϠDBNԠGԠNUMBҠƠHAASDS. SZBBNAYDNNUAN? MB SBBHKƠBNAYDUB BSUN. ADBNPDUSԠUNԠƠAS. SBUB̠SŠASƠHAS.UPU. SBBHK MP+3 DAϱSBUPMàA MP.DA.ɠUN MBNBSԠBNAYUNԠϠPSVŠAND BƬBƠPSNASHGHHAA B AƬAƠAŠP-BԠϠSGN SSAƠNԠZϬSŠAS SBBUϠSԠHAAҠNBU. MPDAϱ DANPPMSAMPŠɯϠPA- SB.DA.N. SBHK MP+3 SBAɠNPUԠA MPDA SBAϠUPUԠA MPDA AɠNPASҠNPU DBUNԠGN SZBSSA̠ MPAɬɠUNԽ0. SBBHKBNAYҠAS? ASBNAY--6NVԠϠDUN. MASŠASNGAVŠN SANԠUN. DB.BUƠGԠBUҠADDSS SBBHKBNAY? MP3YS B̠ҠASɠSԠBҠϠPNԠ ɲADBMNHŠSԠHAAҠPDNG ɴSBBҠHŠBU. MPAɬ 3DAN AƬA SSASSPAPҠAPŠ? MPɲN SZNԠYS MPɴ NPUԠҠ AϠNPASҠUPUԠϠBŠMPD DAUNԠGNŠA̠ SZASSUNԽ0. MPAϬ ϷSB DƠ+ DƠD3 DƠUN DƠS DAS ANDPAP B SZA PA.000 DBPB SBN ϱDA.BUƠSԠUPBUҠADDSSAND BNGH. ADBN SBBHKBNAY. MP6 A̠ADUSԠBUҠADDSS ADAMNHAAS SAB SBN MPAϬ 6BSADUSԠNGHҠDS. ADAMN SAB SBN DAN AƬA SSASSSԠҠPAPҠAP. MPAϬɠNԠPAPҠAP. SZNԠƠPAPҠAPŬBUMPBU SZBҠADDSSANDUN. MPAϬɠUN NNPNPUԠA̠Ϡ SB DƠ+5 DƠ.... DƠN .BUƠDƠBU DƠN A SSA MPN+ AƬAƠƠϠBԠ0 SASS? MP+NϬUMP DBNYSDUMMYG SSBSKPƠ+ MBNBMAKŠԠ+ DAB MPN NNP UNPUPUԠA̠Ϡ DAN̠AҠBԠ ANDB5ҠUPUԠUSS SAN SB DƠ+5 DƠ<:6.... DƠN .BUƠDƠBU DƠUB MPU UB̠BSS NϠBSS ҠSN ұSB ....ABS ҲSB ....ABS 3SB ....3ABS3 ҴSB ....ABS 5SB ....5ABS5 ҠNP DAҬ AƬA ADAA0 SA+ DBB SB.PSYHKҠDSҠ SSASSSKPƠ MP+3SŠMPƠDS DBB ADBD DA SA+5 NB DA SA+6 NB DA SA+ SB DƠ+5 DƠ.... DƠ.... DƠ DƠD5 MPNDS ҠASàMԠ ND r< _n 24155-80001 D S 0122 DOS-M RELOCATING LOADER             H0101 ^ ASMB̬جìNҬB NAMADҬ3 HDB6BDSàPANGSYSMANGAD Ԡ NԠAD ʠUNŠ0 HŠDSàPANGSYSMANGADҠSUSD AŠBNAYPGAMSϠABSUŠDŠHAԠAŠϠBŠUNN HŠUSҠAAƠHŠSYSM.HŠAABŠBNAYMAYM MHŠD..S.ASSMBҬANANDҠAG.HSŠBNAY PGAMSMAYBŠADDMBNAYAPSBBNAYŠҠUS SPD(S. PGAMSANBŠMADŠϠBŠMADŠUPƠA-MAN-PGAMH HUԠPGAMSGMNS.PGAMSANBŠMADŠϠUNUND N̠Ơ-DBUG-UN.USDANAABŠBNAY BAYUNSAŠAUMAAYAPPNDDϠHŠNDƠH PGAMS.ASHPYƠ-DBUG-SHA̠BŠAPPNDDϠAH SGMNԠBYHŠADҠƠHŠDBUGPNSSD.ϠNSU HAԠHŠSGMNԬAS̠AS-MAN-UNSUNDҠN̠ -DBUG- HŠABSUŠDŠSPADNHŠDSàMMDAYNG HŠNDƠHŠASԠUSҠ.HŠABSUŠDŠANNԠD HŠUSҠAAŠSZ.HŠBASŠPAGŠNKAGSƠANYA UDAŠPADNHSŠSSƠDSàAKHH HŠ-MAN-Ҡ-SGMN-ҠHŠPGAM. HŠUSҠDYSUPDADҠAHPGAM-MAN- -SGMN-ANDHŠUSҠAABUNDAYVAUŠSUPDAD. HDDSàPANGSYSMANGAD HŠANGADҠPMSSVA̠ADNGPNSND VA :PGAD(̬MNϬP H ̠SSNDAYNPUԠDVŠGA̠UN.Ơ NԠSPDHNNPUԠMBNAANY. ƠHNMBNANDUSҠSNY ƠNԠ0ҠHNMBNUSҠSAND PAPҠAPŠMGA̠UNԠ MSSԠUPUԠDVŠGA̠UNԠNUMB.ƠN kSPDHN6SASSUMD. NSNϠDBUGDBUGPN.0SASSUMMMDƠN SPD. ϠSPGAMNAMŠSԯNϠSԠPN.0SASSUMD ƠNԠSPD. PSNYNϠNYPNԠSԠPN.0SASSUMD ƠNԠSPD. HDDSàPANGSYSMANGAD HŠAABŠADҠUNNSASS: (.PSSNGƠN̠NPUԠSPDS(NUDS BBNAYŠANDSPDUSҠS (.PSSNGBNAYPGAMSNPUԠMHŠSNDAY NPUԠDV. (3.SAHAABŠBAYϠAMPԠϠSASY UNDNDNA̠NS. (.GNAŠABSUŠDŠNDSàҠMANANDSGMNS ANDUPDAŠUSҠDYANDUS-KAABUNDAY. ϠABSAŠGNADBYHŠANGADҠHN NUNNGNAMANDNԯԠDSƠHŠAABŠBNAY PGAMSNUSҠŬBBNAYSANDPGAMSNPUԠVA SNDAYNPUԠDV.HŠABSAŠ: (.DNԠABŠҠPGAMNAMŠNAMŠNS (.ADҠSYMB̠ABŠҠNԯԠNS DNԠABŠMA(D D:D-NAMŠ D:D-NAMŠ3 D3:D3-NAMŠ5USAGŠAG D:D-BԱ5SDSààAGMҠMMNNGH D5:D5-DSàADDSS D6:D6-(5MANSUBUNŠ(6-0YP D:D-DSàNGHUSҠMANDNԠADDҠҠSGMNS ADҠSYMB̠ABŠMA(Sԩ D:SԱ-NAMŠ D:SԲ-NAMŠ3 D3:S3-NAMŠ5DNA D:SԴ-DNԠADDSS D5:S5-BPNKADDSS PGAMYPSHAԠMAYBŠADD: 0:ADASUSҠMANAABŠBNAYPGAMS 3:USҠMANAABŠBNAYPGAM ]5:USҠSGMNԠAABŠBNAYPGAMS 6:AABŠANBAYPGAMS :AABŠUSҠBNAYUYPGAMS UPNMPNƠABŠGNANMSP(AND( ABVŬAHKSMADŠҠANYUNDNDNA̠NS. ƠHŠAŠANYHSŠMAYBŠNDMSNDAYNPU DVŠҠUSҠŬҠUSҠMAYSPYHAԠADNGSϠAK PAŠHUNDNDNAS. ASAHSMADŠNSYSMANDUSҠDYҠMANPGAM NAMŠANDSGMNԠNAMSϠBŠADD.ƠDUPAŠNAMSUҬ HŠADҠSABD.HŠABSUŠDŠҠMANSGNAD ANDPADNDS.HŠUSҠDYSUPDADHHŠN ŠNYANDHŠUSүKAABUNDAYVAUŠSUPDAD.H ABSUŠDŠҠUSDSGMNSAŠGNADANDŠNAM SNDNϠDY. ҠDAGNSS 0-HKSUM 0-GA̠D 03-MMYV 0-BASŠPAGŠNKAGŠV 05-SYMB̠ABŠV 06-MANҠSGMNԠNAMŠAADYNUSҠҠSYSDY 0-DUPAŠNYPNS 0-NϠANSҠADDSSPSN 09-DUԠƠSUN ̱0-UԠƠDYҠKDSàSPA ̱-PGAMDNԠV ̱-SPDŠNԠNUSҠDY ̱3-PGAMNAMŠDUPAN ̱-BASŠPAGŠNGHNN-Z ̱5-SGMNԠADDBŠMAN ̱6-PGAMVAY ̱-GA̠BAYD HDDSàPANGSYSMANGAD ADҠDABɠNPUԠUN SZA ҠM300SԠҠVAABŠBNAYNP SAPGMN NB DABɠSԠUPUԠUN SZASS MP+3SANDADUNԠ6 ҠM00SԠŠB SASU NB DABɠNϠDBUGDBUGPN SADBG NB 2 DABɠSԯNϠSԠPGAMPN SAPN NB DABɠNYSԯNϠSԠPN SAS A SAD SADNG SAP DASSGHKSYSMSAHAG PAASN MP0NϬSϠK SASAVSSSAVŠSSAG AAҠSSAGNBASŠPAG DBSS SBBPS 0DAUBAAƠUSҠBASŠPAG SAB SAPB MANAAƠUSҠBASŠPAGŠBUҠ SABP ADAUBAƠUSҠBASŠPAGŠAVAABŠ+ SABPƠBASŠPAGŠNKAGS ADABPBUƠSAԠƠBASŠPAGŠNKBUҽ SABPNDNDƠUSҠBASŠPAGŠBU NASԠADҠSYMB̠ABŠADDSS SABS SAPS DABPBU MANA ADAUBA SANBPBƠMNGBASŠPAGŠBUҠADDSS DAN6SԠPGAMDNԠABŠADDSS ADAUMA SABDN SAPDN DABPAҠBASŠPAGŠNKAGŠBU MANA SADNԠSԠAҠUN DBBPBUƠSԠAҠBUҠADDSS A SABɠAҠAN NBNMNԠBUҠADDSS SZDNԠSKP-DNŠANG MP-3GϠAҠNԠAN SBàUSԠKAKMS DƠ+5 DƠ. DƠDSKADSԠKAKADDSS DƠDAKASԠKAKADDSS DƠMPSSAKADDSS DADSKADHKƠ3KAKSAVAAB MANA ADADAK SAB ADAN SSA MPDHA-NԠ3KAKS DADAK NA AƬA SADMMASԠGA̠KAK+ DADSKAD MANA ADADAKƠSAHAKSAVAAB ASDVDŠAANHA ADADSKAD δAƬAƠAKADDSS SADSKSSSԠBNSAH AƬAƠGHԠUSY DBSYSSàMPAŠSYSSàϠUSҠS PBUDS MP+MPAŠSϠUSҠNԠNSYS DADSϠGԠASԠAKAVAAB ANDM3 NA MANAMAKŠNG SADSKM DAUDNSUSҠDSàNԠAVAABŠԯS SADSKABAKSҠADDSS SADSKD SBNSԠNAZŠS SBSؠSԠUNԠSԠADDSSS NP SBNDؠNAZŠPGAMDNԠS SBDؠSԠUNԠDNԠADDSSS NP DAAàPUԠàNϠS SASԱ DAA+ SASԲ DAA+ SAS3 A SASԴ SAS5 DAS SAPS DABNSHKƠANYBBNAYPGAMS SZASS MPN̠N SADSKAD PABNàHKƠANYSD MPN̠N ANAYS SADҠSԠBNSAHAG A SAPN DABNàMPUŠSSUSDNUN ANDMAK SAUN DABN AƬA ANDM3 NA SADAK BN0SBàHKƠNԠAKHDSBNAY DƠ+5DAA DƠ.6 DƠ.AKS DƠDAKSANGAK DƠDSԠAUA̠AK DADSԠHKƠSANGAUA PADAK MPBN0YS-SϠBNAYAK SZASSZϠNDASNDƠDS MPBN30NϠMŠBNAYAKS SADAK SS BN0SZDAKNMNԠAK DAUNԠUPDAŠUMUAVŠSҠ ADAS SAUN MPBN0GϠHKNԠAK BN30AADSYSMDS SADS SBSYMB̠SԠSԠANDDNԠMBNAA b{HDDSANGAD NPDAPGMNHKƠUSҠSANDPAPҠAP SZASSϠBŠNPU MPN50NϬSϠGϠAD N̠DAPԠHKƠŠϠBŠNDM SZASSSYSMYP MPN0MAYB-SϠMAKŠUHҠHK DASYSYYS ҠM00SԠHϠB SAMP MPN0GϠUPUԠMSSAG N0DABAHMPAŠBAHANDSYSYDV PASYSY ҠM00SԠHϠB SAMP DABAHHKƠBAHSSYSYP PASYSY SSYS MPN05N N0SBàUPUԠMSSAG: DƠ+5-NҠŠNAM(SҠ DƠ. DƠ. DƠMS DƠ. N05SBàUSԠNPUԠMBAHҠSYS DƠ+5 DƠ.ADUS DƠMPN̠D DABDƠDAABDAABUҠADDSS DƠNHAAҠUN SZBSSSKP-NPUԠN MPN̠GϠϠADNԠN̠NPU MBNB SBNGPMSAVŠNGNPUԠUN DADAB ŬA SAPMBUƠSԠNPUԠBUƠHAҠADD DADAABHKƠNPUԠS PASSH MPN50YS-SϠDN N0SBGPGԠNŠN̠PAAM SAMNSAVŠMNAҠAG PASSH MPN50 SBàHKƠŠNUSҠDY DƠ+ DƠ. DƠPBUƠADDSSƠŠNAM DƠUNԠƠSSN SADSKADSAVŠAKSҠADDҠƠ A SAD DAUN SZA MPN30 DAұPNԠUNDNDŠҠD SB DA.5PNԠUNDNDŠNAM DBDPB SBSYU MPABԠABԠAD N30SBPG̠HKƠPGAMSSPD ANAoADUSҠDS SADS SBSYMB̠NҠNԯ-PGAMDNS DAMNGԠMNANSYMB PASSHŠNDƠPAAMS? MPN50YS DANGPM SZASSNDƠSAMN? MPN̠YS-ADNԠSAMN MPN0GϠϠPSSNԠPAAM MSASàNҠŠNAM(SҠ NDSKNP SAMDϠSAVŠMP ANDMGԠSAԠAKNUM AƬAƠGHԠUSY MANAMAKŠNG SADSK0 DAMD ANDM3GԠSAԠSҠNUM MANA SADSK0 DBADBU SBBU SBS DAMD DBADBUƠAADDSS SBDSKϠŠDS DASNŠNԠAVAABŠԯS SADSKUD MPNDSK N50DADSKSSSԠSAHDSàADDSS SADSKAD DAPGMNHKƠANYNPUԠMSNDAY SZASSNPUԠDV MPDBN-GϠHKBAYPGAM ADNBNAYAABŠNPUԠMSNDAYDVŠAND SŠNPAKDMAԠNϠDS. NAMDSAŠNDNϠPGNAMŠNAMŠABŠANDNԯ AŠNDNϠADҠSYMB̠AB. ANDM PA. MPDBNϠPAPҠAPŠϠBŠADD NԠA SAPGSԠADNGAG DBABU SBUA̠NAZŠBUƠPN SBBU̠AҠBU DAN SANԠNAZŠBUƠUN SADNԠNAZŠDBUƠUN DBADBU SBUADNAZŠDBUƠPN SBBU̠AҠDBU ADDA.0PNԠ-ADAP-NSYSY DBMSD SBSYU SBàSUSPNDPGAM DƠ+ DƠ. DAB SZA MPDBGϠϠHKƠADBAY ASԠԠAGϠGNŠ SAG DNSBàADNPUԠMNDAYNPUԠDV DƠ+5DVŠNϠBU DƠ. DƠPGMN DƠBU DƠ. ANDM0 ŬSZANDƠůAP? M0Ԡ0-YS(ŠNSUN SZSZBàNGH0? MPSҠYSSϠGϠPSSD DAGNϬSϠHKNDƠAP SZA MPDNGϠADNNԠD MPADUPUԠ-AD-ANDADND SҠASԠԠAGVAD SAG DABU+GԠDDN AƬA AND. SAàSAVŠDDD SZA ADAN6 SSASS MPҠNVADDYP DABU ANDM SAB BƬB MBNB ADB.3 SSBSS MPҠNVADDNGH SBDNԠSԠDUNԠҠHKSUMS DABU+AUMUAŠDAAHKSUMVAU DBABU ADB.3 ADAB NB SZDN MP-3 PABU+MPAŠAGANSԠGVNVAU MPDàVADHKSUM-GϠPSSD DA0HKSUM MPAB SUSPSBàSUSPNDAD DƠ+ DƠ. MPDNGϠϠADD ҠDA0GA̠D MPAB DàDAàDDNAND DBPG PA.YPŠNAMD? MPNAMҠYS SZB MPNMҠDUԠƠSUN PA.YPŠNԠD? MPNҠYS PA.3YPŽDB̠D? MPDBҠYS PA.YPŠԠD? MPҠYS ANAYPŠMUSԠBŠNDD ANDBU+SAŠMS A ҠD6 SAD6 A SAPG SANG SBDԠŠNDƢDNDS SBMAKHKƠKAKSD MPDN NMҠDA09DUԠƠSUN MPAB NAMҠSZBSS MPNMҠDUԠƠSUN B SBDSNԠAҠDSàSGMNԠUN SBNGAҠDSàSGMNԠUNԠAG SBPGSԠPGNԠADNG SBNDؠNAZŠDNԠADDSSS NNSBDؠSԠUNԠDNԠADDSSS MPNNANDƠDNSNҠNAM DABU+3HKƠDNԠNAMŠAADY PADɠND SS MPNN DABU+ PAD SS MPNN DABU+5 ANDM PAD3 SS MPNN DA06DUPAŠNAMŠҠD SB DA.5UPUԠDUPAŠPGAMNAM DBD SBSYU MPABԠABԠAD NNASBGG DBBU+GԠMMNNGH SBD DADSKADSԠDSàADDSSҠPG SAD5 DBҠSBDԠPAKDUPUԠϠDS SBMAKHKƠKAKSD MPDNGϠADNԠD NҠASS ҠA SANGSԠNԯԠAG DABU+SԠSYMBS ANDM3 MANA SAN DAABU ADA.3 SNؠSASYMSԠSANGSYMB̠ADDSS NA SASYM3 NA SASYM5 SBNSԠNAZŠSԠADDSSS NرSBSؠNDƠS MPN3 DASYM PASԱɠHAҠUA? SSYS MPNرNϬYNԠNY DASYM3 PASԲɠHAҠ3UA? SSYS MPNرNϬYNԠNY DASYM5 ANDM PAS3ɠHAҠ5UA? SSYS MPNرNϬYNԠNY DANG SZASS MPNش PSSNԠD DASԴ SZASSSKPƠDND MPNزMAKŠNYҠUNDND SSASKPƠNYMAD MPN6MAKŠNYҠBS DA0DUPAŠNYPNԠ SB DA.5 DBSԱ SBSYUԠPNԠDUPAŠNYSYMB MPAB N6DAD6ɠGԠUNԠYP ANDM PA.3YPŠUSҠSGMN SSYS MPNزMAKŠNYҠUNDND DAұ5PNԠSGMNԠADDB MPABؠMANҠD NزDADMANDNԠADDSS SASԴ MPN5 N3DASYMɠADDNԠϠS SASԱ DASYM3 SASԲ DASYM5 ANDM SAS3 B SBS5ɠAҠD5NSԠNY DAS5 NA SAPS DANG SZA MPNزSԠDƠNԠNY DAD6 ANDM DBD PA.5 MBSS B SBSԴɠSԠSԠDNԠADDSS NشDAD6 ANDM PA.5USҠSGMN? SSYS MPN5NϬGNŠUSҠSGMAN DAD SAMAN DASԴɠGԠDNԠADDSS SZA SSA MPN5GNŠUNDND SADN SBD MP DAD6 SSASS MPNMAN ANDM PA.3 BSS NMANB SBMP DAMAN SADN SBD MP SZMP MPN5 DASԴ SAD N5DASYM ADA.3 DBNG SZB NA SZN MPSN SBDԠPAKDUPUԠϠDS SBMAKHKB@<ƠKAKSD MPDNGԠNԠD MSDDƠ+ ASà5ADAP HKƠAABŠBNAYDSAVAABŠKAKSPA MAKNP DADMMAؠ+ PADSKADUN MPDHA-UԠƠKAKS MPMAKɠNMA̠UN DMNP B `p  SKP DBDADBG SZASSNҠDBUƠNϠS MPNDBGNϠDBUGPN SBNS SBS MP+ MP- DAHDŠSԠ-DBUG--NAMŠNϠSԠANDDN SASԱ DAHD+ SASԲ DAHD+ ANDM SAS3 AAҠBASŠPAGŠNKADDSS SASԴ SAS5 DAS SAPS NDBGA SAN AD̠SBNS SBS MPD DAA PASԱ SS MPD DAA+ PASԲ SS MPD DAS3 ANDM PAA+ SS MPD A SASԴ DABN0 ANDϱ SAS5 DAS3 ANDM SAS3 MPAD+ DؠA SAS5 DAS3 ANDM SAS3 DASԴ SSA MP+3 SZA MPAD+ SZN A SASԴ MPAD+ D̠DAN SZASS MPMAN SBNSԠN.SԠNY SBSؠGԠNԠS MPMANNϠUNDNS:GϠAD DASԴɠHKƠUNDND PAN SSYS:SAHBAY MP-5YNԠS A SAN SAD A SAGN SBBSADUSDBAYUNS DANԠGԠBUNSADD SZANNŬSϠDNŠADNGUNS MPD SBSؠSԠUNDNDNAS SSUNDNDԠUND MPMANNϠUNDNDԠUND GHKSBàSUSPNDAD DƠ+ DƠ. DABɠHKƠ:GϬPN SZA MP NB DABɠHKƠNSPD SZAپSS MPNԠGϠϠNPUԠMSNDAYDV ҠM300 SAPGMNSԠNPUԠGA̠UN MPNԠGϠϠNPUԠMSNDAYDV MPADGϠϠNPUԠMSNDAYDV ŠPA.HKƠMŠSϠBŠNPU MPƱ0YS PA.HKƠϠGNŠUNDNS MPMANYS MPGHKGԠ:GϠNPU Ʊ0SZP MPN HDDSANGAD MANA SAPYP SBNDؠAҠPGAMUSAGŠAGS DSBDؠSԠUNԠDNԠADDSSS MPD DAD3 ANDM SAD3ɠAҠUSAGŠAG DAD6ɠHKPGAMYP ANDM PA.3HKƠMAN MPUSHK PA.5HKƠSGMN MPUSHK SZAHKƠYPŠ0 MPDNϬSϠNԠMAN DAD6ɠNVԠYPŠ0ϠYPŠ3(USҠMAN ANDM Ҡ.3 SAD6 USHKDAD SA+ SB DƠ+ DƠ.USԠD DƠŠNAMŠADDSS DƠDSԠSS DADSԠGԠSSN SZASSNN-Z--AADYN MPDYNԠPGAM DA06PNԠDUP̠ŠNAMŠҠD SB DA.5PNԠŠNAM DBD SBSYU SZPYPŠNҠDUP̠ŠAG MPDSŠƠANYMŠDUP̠S DҠDAPYPŠHKƠANYDUP̠ŠAGS SZAN MPABԠYS-SϠABԠAD HDDSANGAD A SAD DADS̠DS+SAԠԯSƠUSҠD NA SADSKD DSHDAABUƠSԠNA̠BUƠPN SAUA DANSԠBUƠUN SAN SBSҠSԠUSҠDSàAGNBASŠPAG DADSKDASDSàADDSS #DBABUƠBSŠADDSS SBDSKɠADNSҠƠUSҠD DHKDAUAɬ SZASSHKƠAԠNDƠDY MPNDDҠNDƠUSҠDҠUND PANHKƠAԠNDƠDҠS SSNDƠS MPDHNԠAԠNDƠS DH0DASNŠNMNԠSҠADDSS SADSKD ANDM SZA MPDSHGϠADNNԠS DHADAұ0 MPABؠUԠƠDYSPA DHDBUAɠPNҠNBU ADB.NҠϠNAMŠ5-YPŠADDSS DAB ANDMSAŠYP ADAN6HKƠ5ҠDNY SSASSSKP-DDYNY MPDH55DDYNY ADB.9PSSDNY SBUA DBN ADB. SBN MPDH6GϠYNԠNY DH5ADB.3PSS5DNY SBUA DBN ADB.5 SBN DH6SSBSSHKƠPASԠNDƠS MPDH0 MPDHKYNԠNY NDDҠDANԠHKƠMҠMŠNS ADA.0 SSAN-SKP MPDABSYS A SBUDUPUԠMŠDYSAG DBN PBNHKƠNנS MPDҠGϠAҠNԠDYS SBMPSAVŠZϠUPUԠUN A SBUDUPUԠZϠϠD.BU SZMP MP-3GϠUPUԠANHҠZ DҠSBS DADSKD DBABU SBDSKϠAҠNԠDYS HDDSANGAD DABSDAUMASԠNA̠PGàADDSS SABGBND SAMAD SAAD SAPP DASU ANDM ҠM00 SAMP SBàA̠àϠPAGŠSԠDV DƠ+ DƠ.3 DƠMP DƠN0 PHDDA.PNԠ-ANNGAD-HADNG DBDSHD SBDKY SBSPA DA.6PNԠ-NAMůNYADDҠ-HADNG DBNAN SBDKY SBSPA DAN SADNԠNAZŠABSUŠUPUԠUN DBADBU SBUADSԠUNԠDBUƠADDSS DADSKAB SADSKADSԠUNԠABSDSàADDSS DA.3SԠPGAMYPŠϠUSҠMAN SAPYP DAPP SAP DABDN SADNԠSԠDNԠҠDSN DAPAD SAUAP A SABY SAPGN SZDNGSԠADNGAG BDDSBDSNSANҠUSҠMAN MPBDNDNDƠUSҠMAN DBD3ɠGԠUSAGŠAG SBNBSKP-PGNԠADD MPBDDPGADD SBD3ɠSԠPGAMADDAG DADɠDƠDNԠABŠҠMMN AŬAMVŠBԠ5 ADAP̠ADDMMNNGHϠBAS SAPP̠SԠNנàADDSS DADSAVŠMANDNԠADDSS SADMBSSGMNԠN SBDNԠNAZŠDSàSŠADDSSS SBSPA SBADUADUSҠMANPGAM SBGNDGNAŠDYNY SBMDϠUPUԠMANDҠƠD SZPGN SBSԠGϠSԠDSKADϠPPҠADDSS A SABY DADSKAD SADSKBS DAB DBPB SBBPUԠUPԠBPSN DAP SABSPADSAVŠPGàADDҠҠBS DAB SABSBADSԠBPàADDҠҠBS DA.5SԠUNԠYPŠϠSSҠSGMN SAPYP DAUAP NA SAPMANSAVŠUNԠPGAMSԠADD SBND BSDSBDؠSԠDNԠADDSSS MPBSND DAD SAMANSAVŠMANBSDNԠADDSS DAD6 SSASS MPBSD ANDM PA.5SGMN? SSYS MPBSDN-YNԠNY DADɠGԠBSMANDNԠADDSS SSA MANA PADMBSDSHSA̠USҠMAN SSYS MPBSDN-YNԠNY DADNԠSAVŠADDҠҠNSԠSGMNԠSAN SAABSD B SBHDGSԠHADNGҠSGMN SBDN SBSPA SBADSADUSҠSGMN SBGNDGNAŠDYNY SBMDϠUPUԠMANDҠƠABSD SBS A SABY DAB DBBSBAD SBBPUԠUPUԠBASŠPAGŠSN DABSBAD DBB SBԠAҠBPNKAGS DABSBAD SAB̠SԠBPàADD DABSPAD SAP̠SԠPGàADD DAABSD SADN MPBSDGϠADNԠSGMN BSNDDADSKAD SADSKBҠSAVŠUNԠDSàADDҠƠABS DADSKBS SADSKADSԠUNԠBPDŠADDSS DABSBAD DBPB SBBPUԠUPUԠBPDŠҠMAN DADSKB SADSKADSԠUNԠABSDSàADDSS DAPB DBBSBAD SBԠAҠBPNKAGS DA.3 SAPYPŠSԠPGYPŠϠUSҠMAN SBD3AҠPGADDAG DAPAD SAUAPSԠPSԠPN MPBDDADNԠUSҠMAN BDNDSBSPA DAPGNԠHKƠANYPGAMSADD SZASKP-NϠPGAMSADD MPBD005 DA. DBND SBSYU MPBD00 BD005DA. DBMSS SBSYU BD00DAPGMN ANDM SZASS MPMMPN PA. MPM ҠM00 SAMP SBàSԠSMUADNDƠAP DƠ+3 DƠ.3 DƠMP MPMPGAMMPNUS MSSDƠ+ ASàADҠMP NDDƠ+ ASà9NϠPGAMSADD SPà DSԠNGASBԠ5ƠDƠH DNԠAB. BԱ5AGDSؠSS(USҠAA BԱ50AGDSؠSAD(SYSMAA DSԠNP BNB DAD SSASS B SBDS MPDSԬ SPà HDDSàPANGSYSMANGAD ADPVDSNYϠADSҠHSŠPGAMSHHU USŠƠANנBASŠPAGŠANDPGAMBAS. ADNP BSԠHADNGAG SBHDG DAPP SAP̠SԠUNԠPGàADDSS DAPB SAB̠SԠUNԠBPàADDSS SBADS MPADɠUN ADSSHŠMANADNGUNŠҠGNANGHŠABSU DŠANDNKNGA̠ADSUBUNS.ԠSUSDBYMANAND SGMNԠPGAMYPS.ԠADSHŠAABŠDSMH SAHPNƠHŠDSìANDSHŠABSUŠDŠNH USҠŠAAƠHŠDS. ADSNP A SAPGSԠNϠDB̠DSNAG ADNSBS A DBD SSB NA SAD DAAMSԠADDҠƠMMYMAPBU SAAMAD DAHDGHKƠMANҠSGMNԠADNG SSASS SZAMAD DADɠSŠNAMŠNϠMMYMAP SAAMAD SZAMAD SAZBU DAD SAAMAD SZAMAD SAZBU+ DAD3 ANDM SAZBU+ ҠBANK SAAMAD SBDS SZHDG MPSUBHD DADSKADGԠUNԠDSàADDSSAND SADSKMNSAV DAPYPŠHKPGAMYP PA.5 MPBGSP̠SGMNԠSϠAҠPS DAN SAPNԠSԠPSԠDUN DBPAD MPPSԠAҠPGAMS BGSP̠DAPAD MANA ADAPMAN ADAN SAPN DBPMAN MPP PSԠDADGԠDNԠADDҠƠMANANDS SABɠNϠPS NBNҠUNԠPSԠADDSS SZPNԠSKP-PSԠU SS MPSMPNϠPSԠANGUD PؠA SABɠAҠPSԠD NB SZPN MP-3 SMPDABNKS SAMS+3 SAMS+ SUBHDDAP DBAMM5 SBNVDNVԠADADDSSϠAS DAPN SZA MP+ DA.6 DBAMS SBDKYUPUԠNŠϠSԠUN DAD5 SADSKDSAVŠUNԠDSàNPUԠADDSS SBDBNADNAMDMDS DABU+ AƬA AND. PA.NAMŠD? SS MPNM DABU+6 SAPGHSAVŠPGAMNGH DBP SBADSԠUNԠANADDSS DABUƠUPDAŠϠNDƠNAMŠD AƬA ANDM3 SAB DAUA ADAB SAUA̠SԠϠNDƠNAMD DAN ADAB SANԠSԠNנUNԠUN DABY SZA MPS DABU+9 ANDM PA.6 MPSUBH5 PA. SS MPS SUBH5DAP SABY SàSBDBS DAUA̬ DBA AƬA AND. PA. MPDNҠGϠϠNԠDPSS PA.3 MPDDBҠGϠϠDB̠DPSS PA. MPDҠGϠϠԠDPSS PA.5 MPDNDҠGϠϠNDDPSS MPNM DNDҠDAUA̬ AND.i SAPNZ SBDBS SBDBS SZAD DAUA̬ɠGԠANSҠADDSS ADAP DBHDG SZBSKP-ƠMANҠSGMN MPDN0 DBPNZ SZB MPDN0YS DA0NϠSϠUPUԠҠMSSAG MPABؠABԠAD PNZNPPMAYNYPSNԠAG DN0SAPNԠSAVŠPMAYNYPN DN0SBDBUG SBNS SԠSBSؠSԠSԠADDSS MPSҠNDƠS DAS3 ANDMAҠSԠDNA SAS3 MPSԠNNUŠANGDNA SҠDAPGHGԠPGAMNGH A̬ŬASԠŽSGN ADAP̠ADDPGAMANBAS SZSKPƠASSMBҠPDUD DAADGԠUNԠANADDSS SAP̠SԠNנANBAS SAB DAADGԠASԠDADDSS MANA ADBAADDANBAS SZBSS MP+ A DBP SBABD DAN SAPNԠSԠPGSԠUN DBPADGԠADDҠƠPGAMS PSNDABɠGԠPGAMSԠNY SZASSSKP-NYNPS MPDDG SSASKPƠPGADD MPNDGԠNԠPGDNԠADDSS PSԠNBNҠPGAMSԠADDSS SZPNԠSKPƠNDƠPGAMS MPPSNN-NNUŠPGSԠSAH GDAPYPŠGԠUNԠPGAMYP PA.3USҠMAN MPADSɠUN SBD3AҠPGADDAGS MPADSɠUN DDGDADBGHKƠDBUGϠBŠADD SZASS MPGN DAؠHKƠAADYADD SZA MPGYS SZؠNҠDBUGADDAG SBMP SBNSԠSAHҠDBUGNS Dɱ0SBS MP DASԱ PAHD SS MPDɱ0YNԠS DASԲ PAHD+ SS MPDɱ0YNԠS DAS3 ANDM SAB DAHD+ ANDM PAB SSDBUGUND MPDɱ0YNԠNY DBMP DASԴ ҠMSGN SABɠSԠDNԠADDSSNPSԠAB NDA̬ŬAAҠSGN(PGϠBŠADD SADNԠSԠDNԠADDҠҠD SABUƠSAVŠUNԠDNԠADDSS SBUAPSAVŠUNԠPSԠADDSS SBDؠSԠDNԠADDSSS MP DBUAPGԠUNԠPSԠADDSS DAD3ɠGԠPGAMUSAGŠAG SANASKP-PGNԠYԠADD MPPSԠSԠҠNDƠPS SAD3ɠSԠPGUSAGŠAGADD DABUƠGԠUNԠDNԠADDSS SABɠSԠNYNPGS MPADNADNԠPGAM DNҠASSSԠNԠAG DҠASԠԠAG SANGSAVŠNԯԠAG DAB ANDM3 MANA SANԠSԠSYMB̠UN SBDBSԠGԠADDҠƠNԠDNBU SBDBSԠGԠADDҠƠNԠDNBU NSYMDAUA̬ SABUƠSAVŠNAMŠ SBDBS DAUA̬ SABU+SAVŠNAMŠ3 SBDBS DAUA̬ SABU+SAVŠNAMŠ5 SBDBS SBNSԠNAZŠS NرSBSؠSԠSԠADDSSS MPر DABU PASԱɠNAMŠUA? SSYS MPNرN-YNԠSԠNY DABU+ PASԲɠNAMŠ3UA? SSYS MPNرN-YNԠSԠNY DABU+ ANDM PAS3ɠNAMŠ5UA? SSYS MPNرN-YNԠSԠNY رDANG SZASSSKPƠN MPԱGϠϠPSS DBP̠GԠUNԠPGàBAS ADBUA̬ɠADDUNԠàVAU SBPNDSAVŠABSNԠPԠADDSS DAS5ɠGԠBPNKADDSS SZASSSKP-BPNKADDҠS SBBPSNSԠBPNKADDҬBPNK SAS5ɠSԠBPNKADDҠNS SBSPSԠPANDNBASŠPAG DASԠHKSԠNYAG SZASԠNY MPNNԠDϠNԠSԠNY SBSԠAҠMMYMAPBU DABAS SAMS+ DASԱ SAMS+SԠNAMŠNMMYMAP DASԲ SAMS+3SԠNAMŠ3NMMYMAP DAS3 ANDM ҠBANK SAMS+SԠNAMŠ5NMMYMAP DAPNDGԠABSUŠNYPԠADDSS DBAMM5 SBNVDNVԠϠAS DA.6 DBAMS SBDKYPNԠNYPN NNԠSBDBSԠGԠADDҠƠNԠDNBU MPNDGϠPSSNԠSYMB ԱDABU+GԠDNA SAS3ɠSԠDNA̠NS DAS5ɠGԠBPNKADDSS SZASSSKP-BPNKADDSSS SBAàAAŠNנBPAN SAS5ɠSԠNנBPNKADDSS DASԴɠGԠDNԠADDSS SZASS MPNDGNŠUNDNDPGAMA SADNԠSԠDADDҠҠD DADGԠUNԠDNԠADD SABUƠSAVŠUNԠDNԠADDSS SBD MPND DAD6ɠGԠMSYP SABU+ DAD3ɠGԠPGAMUSAGŠAG SABU+ DABUƠGԠUNԠDNԠADDSS SADN SBD MPND DABU+GԠMSYPŠҠ A̬7ŬASԠŽMS ANDMSAŠYP PA.6 MPBUԠBAY-SԠҠADNG PA. MPBU SZSKP-NԠMANPGAM MPNDGNŠPGAMA BUԠDAN SAPNԠSԠPGAMSԠUN DBPADGԠPGAMSԠADDSS PԠDABɠGԠPGSԠNY SZASSSKPƠDNԠADDSS MPSԠMAKŠNYNPGS A̬ŬAAҠSGN PASԴɠPGPVUSYAD? MPNDYS-GNŠԠSYMB NBNҠPGSԠADD SZPNԠNDƠPGS? MPPԠN-GϠGԠNԠPGAM MPNDSԠҠA̠ԠPSSD SԠDABU+GԠPGAMUSAGŠAG SASKP-PGAMNԠADD MPNDMԠPGAMSԠNY DASԴɠGԠADPGDNԠADD ҠMSGNSԠSGNϠSHנNԠADD SABɠSԠNPGAMS NDSZNԠSKP-A̠SYMBSPSSD MPNSYMN-PSSNԠSYMB MPSàN-ASSYNԠD DDBҠDAB ANDM MANA SANԠSԠNSUNUN SBDBS SBDBS DBUA̬ɠGԠANADDSS SBDBADSAVŠANADDSS SZPGSKP-SԠDB̠D MPDB0GNŠSUBSUNԠDS DAD6ɠGԠYP ANDM PA.5 SSSԠNנMMYBUNDҠSGMN BSԠPGMAD0 HABSSSBBSSDPSAVŠNA̠PGDSPAMN ADBADADDANADDSS SBADSԠNנANADDSS SBBASŠSAVŠUNԠBASŠPGAMADDSS DB0SBDBS DḆDBUA̬ɠGԠANBYS SBKYSAVŠҠANYP DAN5 SANSNSԠANBYŠUN SBDBS DB̲DAKYqGԠANBYS AƬA SAKYSAVŠҠNԠNSԠD AND.SAŠUNԠBY PA.NA̠N? MPDB̴YS-GԠNKADDSS PA.5MMYN? MPDB6YS-HKҠNDԠNK ADABAD DAAɠGԠANBAS ADAUA̬ɠADDUNԠNSUND DB3DBDBADUNԠANBAS ADBP̠ADDUNԠPGANBAS SBABDϠUPUԠABSUŠD SBDBS SZNԠSKP-ASԠNSUNU SSN-NNU MPSàYS-ASSYNԠD SZDBADNҠDB̠ANADDSS SZNSNSKPƠNנANBY MPDB̲PSSNԠNSUN MPDḆGԠNԠANBY DB̴DAUA̬ɠGԠUNԠDB̠D ANDM3 SADSAŠANDSAVŠDNA SBNSԠNAZŠS DB5SBSؠSԠSԠADDSSS MPDB3DNA̠NԠUND DAS3ɠGԠD3ƠSԠNY ANDM3 PADSAMŠDNA? SSYS MPDB5N-NNUŠSAH DBS5ɠGԠBPNKADDSS DAUA̬ɠGԠUNԠDB̠D ANDM0SAŠNSUND ҠMSGNSԠND ҠBSԠADDSSBPNKADDSS MPDB3UPUԠNSUN DB6DAUA̬ɠGԠUNԠDB̠D SANSҠSAVŠNSUND SBDBSԠGԠADDҠƠNԠDNBU DANSҠGԠNSUND DBP̠GԠUNԠPGàADD AҬSAA̠SKPƠPGAMN DBMADPAŠPGHMMNBAS ADBUA̬ɠADDUNԠNSҠADDSS ANDM0 SSASKPƠDԠN ADBMSGNSԠNDԠB SANSҠSAVŠNSUäiNLHND DAP ADADBAD ANDM060SAŠPAGŠ SAPAGNϠSAVŠUNԠPAGŠ DABGԠNSUNADDSS ANDM060SAŠPAGŠ PAPAGNϠSAMŠPAG? MPDB̷YS-NϠNDԠADDSSNDD SBPNDSAVŠNSUNADDSS SBBPSNSANBASŠPAGŠҠSAMŠPAND SBSPSԠPANDNBPAN ҠMSGNSԠNDԠB DBNSҠGԠNSUND ҠBADDPANDϠNSUN MPDB3UPUԠNSUN DB̷DABGԠPANDADDSS ANDϱ ҠM000SԠZý(UNԩ ҠNSҠADDNSUND MPDB3UPUԠNSUND PN as 24155-80003 D S 0122 DOS-M RELOCATING LOADER             H0101 ^ SKP DBUGHKSƠUNԠPGAMADDASDBUG. HŠPMAYNYPNԠƠDBUGSSԠNϠPNԬANDH ADDSSƠDBUGSSԠϠBŠND. HŠPGAMPMAYNYPNԠSSԠNϠDBU DBUGNP DAZBUƠHK PAHDŠ-DBUG-PGAM SS MPDBUGɠN-UN DAZBU+ PAHD+ SS MPDBUGɠN-UN DAZBU+ PAHD+ SS MPDBUGɠN-UN SBNS DSANSBSؠND-DBUG-NYNSԠ MP DASԱ PAHD SS MPDSAN DASԲ PAHD+ SS MPDSAN DAS3 ANDM PAHD+ SS MPDSAN SZDBUG DASԴɠGԠNԠҠDBUG SSA MP DBS5ɠGԠBPNKADDҠƠ-DBUG- ADBBP ADBBPBU SBMPSAVŠBASŠPAGŠNKADDSS DBB DAPN SBABD DAMP ҠMSGN SAMP DAUA̬ ADAP SAPN MPDBUG NSԠSSHŠADDSSƠHŠSԠNYNSԠNS ANGSUN SBNS NSԠNP DABS SAS MPNSԬ SؠSSHŠUNԠSԠADDҠNϠSԠ-5 ANGSUN SBS UN (P+ƠAԠNDƠS (P+ƠNԠAԠNDƠS SؠNP DASԠHKƠAԠNDƠADҠSYMB PAPSԠABŠS SS SZSؠYSSϠNҠϠDNŠ SASԱSԠADҠSYMB̠ABŠADDSS NA SASԲ NA SAS3 NA SASԴ NA SAS5 NA SAS MANAHKƠDNԠANDSԠABS ;ADAPDNԠVAP SSASS MPSجɠUN VҠDA05UPUԠ05MSSAG ABؠSB ABԠDA.6UPU:ADҠMNADMSSAG DBMSAB SBSYU MA SBUD SBSҠSԠUSҠDSàAGNBASŠPAG DADSKD SZASS MPZ DBABU SBDSKϠUPUԠASԠDYBU DAPGN SZASS MPZ DADSKADUPDAŠUSҠŠԯSBUNDAY DBDUSNBASŠPAG SBBPS DASYSS PAUDS SS MPؠK-USҠNԠNSYSM DADSKAD DBDSSKSŠSԠSYNSUDNS SBBPSҠSŠANB ؠSBS DADS DBADBU SBDSK DAUDNSNԠԯSAVAABŠNUSҠAA SADBU+6 SBSҠSԠUSҠDSàAGNBASŠPAG DADS DBADBUƠŠUԠSYSBUҠS SBDSK ZDASSGSŠSSAG PAASN MP DASAVSS DBSS SBBPSҠSŠSSAGNBASŠPAG נSBàUSԠPGAMMPN DƠ+ DƠ.6 MSABDƠ+ ASàADҠMNAD NDؠSSHŠADDSSƠHŠSԠNYNHŠPGAM DNԠABŠASHŠUNԠADDSS. ANGSUN SBND NDؠNP DABDN SADN MPNDج DؠSSHŠADDSSSƠHŠUNԠ6DNYNH DNԠABŠMHŠADDSSƠHŠUNԠNY ANGSUNŠ: SBD UN: (P+ƠAԠNDƠDNԠAB (P+ƠNԠAԠNDƠDNԠAB DؠNP DADN PAPDN SS SZD SAD NA SAD NA SAD3 NA Sԡ0DABUƠGԠDNGH AƬA MANA SAN DDAUA̬ɠGԠDMBUƠAND SAUADɠSԠDNϠDBU SZDN MPG SBDDUԠUPUԠƠBUҠU SS G̠SZUADNҠDBUƠADDSS SZUA̠NҠBUƠADDSS SZN MPDGϠMVŠNԠD DANGSԠNDAG SZASSSKPƠNDDAD MPDԬɠUN DADNԠHKƠANYDAANBU PAN SS SBDDUԠUPUԠNDDϠDS DAD6ɠHKPGAMYKP ANDM PA.5 MPDԬɠUSҠSGMN-SϠUN DADSN SADɠSŠSҠUNԠNDN MPDԬɠUN DDUԠSHŠNNSƠDBUƠNHŠDSàAԠHŠUN DSàS.NGHSDBUƠSADANDHŠUN ADDSSANDUNԠҠDBUƠAŠSԠANDHŠNԠDSàADDSSS SԠNϠDSKAD DDUԠNP DADSKADGԠUNԠDSàADDSSAND DBADBUƠBUҠADDSS SBDSKϠUPUԠDϠDS DBADBU SBUAD SBBU̠AҠDBU DAN SADNԠNAZŠUNԠDBUƠUN SZDSNԠNMNԠDUN DASNŠUNԠDSàADDSS SADSKAD MPDDUԬɠUN DSKANMNSHŠUNԠDSàADDSS PVDŠHŠADDSSƠHŠSUDNGS. ANGSUN: DA SPà ADƠ+ DƠNN0NŠNŠSPAŬAUϠPG DƠDBNNŠSPAŬAUϠPG DƠPN3NŠSPAŬAUϠPAGŠ DƠHPG3HAƠPAGŬAUϠPG DƠPGPAGŬAUϠPG DƠSPG56PAGŬAUϠPG DƠBPG6BMƠPAGŬAUϠPG DƠPGԠPAGŠ ANDDƠ- SPà PNADABPŠN SSA MPPGԠPAGŠԠƠNŠҠ DBB3NŠ< MPNDN HPGADAB36HAƠPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ36 MA MPԲ PGADAB55UAҠPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ55 DBB MPNDN SPGADAB6SHPAGŠSKP SSA MPPGԠPAGŠԠƠNŠ6 DBB NDNDAUNԠDMNSNUMBҠƠNS MANASKP-ADDҠNB ADAB SSA MP- MA MPԲ BPGADAB3BMƠPAG SSANŠ? DAB3YS MAN MPԲ PGԠANAPAGŠ SAUNԠSԠNŠUN DBB MPB ANDBB5AҠUN MPB DBNDAUNԠDUBŠNŠSKP SA MPNNSPAŠN DAB-SPAŠ SS NNANŠNŠSPA ԲSAԱSԠNŠSPAŠUN PDAAMDNŠUPUԠP SAԲ DADADDSSƠUN(DPN SAAMDDҠϠSAYNHSP DPSBNNԠNMNԠNŠUN ANA SABUԠSԠHAAҠUN DBBSNGŠNŠSPA SZԱSHSHŠASԠN? MPBN DAԲYSSԠUNADDSSN SA<:6AMDDҠϠAVŠHSP MPB SPà SVNԠNPSŠUNԠNUPMNԠAB DBUNԠBS-9(ط BƬB B DAA ANDB00 ҠB SAA MPSVNԬ SPà GNԠNPHUNԠMUPMNԠAB DAA AƬA A̬A ANDB SZASSSHSHŠVYSԠUS? NAYSSԠUNԠ SAUN MPGNԬ SPà NNԠNPNMNԠNŠUN DAUN NA PAB5 ANASԠNŠUN SAUN MPNNԬ SPà3 AU00B BU0B SPà ASAVNP BSAVNP SAVNP B03.Ԡ03 B6Ԡ00006 BUNY B00Ԡ00000 B3Ԡ000003 B.0Ԡ00000 B00Ԡ0000 B00Ԡ00000 B0Ԡ00000 BNK SASHԠ5ҠSASHPAH SAVNP MUSAV BUƠNP HàNP HؠNP SAԠNP ZϠԠ0000 PUSàԠ000053 AנԠ3 HDԠ00000 ADDNP PҠU0 PҠU0 SSPAàABS0000B YNP SAҠԠ00005 B00Ԡ00000 UNԠNPNŠUN DDà DDà D6Dà6 DDà BUԠԠHAAҠUN ԱNP ԲNP DDƠDP AM0Ԡ-0 AM00Ԡ-00 SPà ND 7< kz 24168-80001 1419 S 0122 DOS DVR12 - 2767A LINE PRINTER             H0101  ASMBҬB̬ HDDS6SUPҠNŠPNҠDVҠ!N q 24170-80005 C S 0122 RTE/DOS FORTRAN IV MAIN CONTROL             H0101 q UPUԠD NPU:(ADϠBŠUPU (BNDDƠM ҠANNDAҠNHGHD SGSUŠAG(SUŬ0DAA 00NP SA0נSAVŠ(A SBԱנSAVŠ(B DA PA0SHSMNANGSUŠ? MP״0YS PA00SHSANנADà? MP30YS 0DAPBPԠPBUƠDP ADAKM50 SSASSPBPԠ..50 MPױ0 0DANҠN.ƠDSND SZA MP3DD DASGSUŠ? SZA MP3YS DAKM59-59 ADAPBPԠPBUƠDP SSADSHSSҠS̠HAVŠM? MPױYS 06A DBPBP ADBK(BA(PBUƩ+PBP SABɠSŠNDƠSҠMAK SBSS00SAVŠAKSҠ 0SBS00UPUԠS DASGSU? SZA MP35YS MPױN ױ0DASNNMNԠϠSҠN. NA PASNN.ƠSSPҠAK SSYSASԠSҠƠAK MP0N SBSS00SAVŠAKSҠNS. SBAK00USԠҠANנAK DAKNNנAKN. SAPBU+6 DASNƠSSPҠAK SAPBU+6 DADSàGA̠UNԠ SAPBU+63 A DBPBP ADBK'DƠPBU' SABɠNDƠSҠNDA SBS00UPUԠASԠSҠƠAK SASNSN0 MP0+ ױANA SANҠNҽ DBPBPԠPBUƠDPN SBPԠDNGHPN NB ADBK DAϠADAN SABɠPBU(PBP+ NB DAADNADD-N SABɠPBU(PBP+ADN DAPBP ADAK3 SAPBPԠPBPԽPBP+3 ADAK SAPҠDұҲ3Ҵ5AN A SANϠҠNUMB SZPBPԠPBPԽPBP+ DAN ADAK3 SANҠNҽN+3 DA PA00DYPŽNנADAN? ؠMP00ɠYS ױ6DANϠDN. AS ADANϠ(A3N DBҠDYP MANA SAԴנԴ-(N.ƠSHSƠҩ SZASS MPױ9 ױU GA̠SHԠ(BAGHԠ(SҠ ŬB A SZԴנSHԠMPŠ? MPױN ױ9BSS0 DAN ADAK DAAɠ(AMB(Nϩ ANDPҬ ҠB(BSHD SAPҬ SZNϠNϽN+ DAKM5 ADAN SSA MP36NϠ..5 A SANϠNϽ0 DBK ADBPBP DA0 SABɠPBU(PBPԩNY(A SZPBPԠPBPԽPBP+ DA PAұ0MMYNŠ? MPײYS ײ0SZN DAPBP ADAK SAPҠDұҲ3Ҵ5AN B SBAɠ(Pҩ0 SZPBPԠPBPԽPBP+ DAPBP MANA ADAK5 SSA MP״PBPԠ.G.5 SZNҠNҽN+ ײSZP̠P̽P+ DAK DBP SSB SB00P̠V SZADNADNADN+ ײDAKM6 ADAPBPԠPBUƠDP SSA MPؠPBPԠ..6 SBSS00SAVŠAKSҠ SBS00UPUԠS MPؠ ұ0Ԡ0000MMYN KDà :KM6Dà-6 ײNB DAԱ SABɠSŠNY(B SZPBPԠPBPԽPBP+ SZNҠNҽN+ MPײ0 30DA0 SAϠNנADAN A SAADNADN0 PANҠƠDSNPVUSD MP0 DANϠƠ'S SZA MP3 A ADAN SANҠNҽN- A ADAPBP SAPBPԠPBPԽPBP- 3U SBSN00SŠƠDSND MP0 3DASGSUŠNMAN? SZA MP36YS DAPBPԠPBUƠDP PAK63 SS MPױ6 DA PAұ0MMYN? MP06 MPױ6N KM6Dà-6 3DAKM6 ADAPBPԠPBUƠDP SSASS MP06PBPԠ.G.6 35U DAKK3B0000 SANҠN.ƠSUŠDSND DAPBP SAPԠSAVŠ.ҠSNGN SZPBPԠPBPԽPBP+ 36DBK ADBPBP DA0נNY(A SABɠPBU(PBPԩ0 SZPBPԠPBPԽPBP+ SZNҠNҽN+ DASGSUŠNMAN? SZAN MPײYS DA PAұ0MMYNŠ? ASS MPײ SAҠҽ0 DAԱ SA0נ0Ա MP36 ״0SBSN00SŠDSNUNԠSUŠ MPײ ״DAK6 SAPBP MPײ KK3Ԡ0000 K63Dà63 K6Dà6 0נBSSSAVŠNY(A ԱנBSSSAVŠNY(B ԲנBSSSAVŠAKN. 3נBSSSAVŠSҠN. ԴנBSS-(N.ƠSHSƠҩ KDƠMB.Ơ-MASKAB NҠBSSN.ƠDSND NϠBSSҠNUMB PҠBSSDұҲ3Ҵ5AN ϠBSSADAN SAVŠAKSҠNUMBS SS00NP DAKNAKN. SAԲ DASNNMNԠϠSҠN. SA3 A MPSS00 UPUԠSҠ NPU:ԲAKN. 3SҠN. S00NP DASGSUŠ? SZASSYS MPS05N A PAK-(ƠSUŠDSMANDD MPS03A̠DNŠHHSD DAN SZASS MPS03 Ҡ00 SAN S03U SBSN00SŠDSNUNԠD S0U DADSàGUNԠ ADAB500 SAND SBàANSҠN̠Ϡ DƠ+PNԠƠUNM DƠKŠUS DƠNDN̠NMAN KDƠPBU DƠK6BUҠNGH DƠԲנAKN. DƠ3נSҠN. A SAPBPԠPBPԽ0 SZSNSNSN+ MPS00ɠ S05PANҠ(A0 MPS0Nҽ0 MPS03 B500Ԡ500 NDԠ50ŠϠDSàNBNAY SŠDSND SN00NP DBPԠDNGHP ADBKA(PBUƩ DANҠN.ƠDSND SABɠPBU(PԩN ANDB3 ADAP SAP A SANҠNҽ0 SANϠNϽ0 MPSN00ɠ AAŠAAK  AK00NP SBàANSҠN̠Ϡ DƠ+6PNԠƠUNM DƠKUSԠD DƠKN.ƠNGUUSAKSUD DƠKNSAԠAKN. DƠDSàGA̠UNԠN. DƠSNN.ƠSSAK MPAK00 PNԠSUŠNŠ NY:(ABUҠAN(ҠY((A(A-HSũ (BN.ƠDSϠBŠPND(ҠY(SŠSZ(B PS00NP SBPB̠SŠN.ƠDSϠBŠPND DBUDMDYSԠN̠D ADBAҠNϠANG SBS DBUNDG.UNԠƠSԠDV SZBSS MPPS0YUPU SZPB̠NMNԠDSBŠPNDBY ADAKM(A(A-(PNԠàҠPNҩ DBKK06BANKS SBAɠSŠNϠSԠϠDSƠBU PS0SAPS0SŠBUƠàNϠàA DAPNS-PNԠAGSԠ? SZASSYSPNԠԠU MPPS05N PS0SB DƠ+5 DƠKUSԠDŽPN DƠSԠNϠAԠNSNG PS0NPBUҠAN DƠPB̠BUҠNGH SZNNŠNNŽNN+ MPPS SBAԠAԠNSԠDV. DANPƠNSPҠPAG MANA SANN DAB00UNNDŽ ADAUD.U.ƠSԠDV SANԠPAGŠN̠D SBà_. DƠ+. DƠK3.ԠAPAG DƠN.ҠNSNY DƠKM_. PSؠMPPS00ɠ SԠNPNϠANGҠSԠƠSU. NNP B00Ԡ00 PS05DANƠ'N'ҠPGSAMN SZA MPPS0ϠPNԠUԠ'N'ADS DA..NN̠D SA MPPS0..(̩PNԠԠUԠANYAY MPPSؠGԠԬ PB̠Ԡ0N.ƠDSϠBŠPND ҠMMNԠ ϠPNԠҠMMNԠNNUŠSANNNGUNԠSU NPU:(AҠYP ýHŠƠHŠUMNUSԠBYNDH HŠҠASDD. MNP SZƠSԠҠAG NP SAPS00SAVŠҠYP SBAԠAԠNSԠDV DAPS00(AҠYP SBPD00PAKDGS SAB+9 SASPSԠASԠPANAG SAPNSԠ-PNԠAG DB PBK ASS A ADAà(A- SSA A SBPD00PAKDGS SAB+ DA..NN̠D SASS MPM6..(̩0PNԠADMAGŠS MDAB DBK SBPS00PNԠҠMSSAG A SAPNSԠ-PNԠAG ؠMPMɠ M6DA..ADMAGŠBU DBNɠN.ƠDSNUNԠAD SBPS00PNԠԠU SBAԠAԠNSԠDV MPMϠPNԠUԠҠMSSAG B̠DƠB PAKDGS NY:(AϠDGԠDMA̠NUMBҠBNAZD :(AASɠUVANԠƠNY(A PD00NP B PD0ADAKM0(A(A-0 SSA MPPD0 SZB(B(B+ MPPD0 PD0ADAB(AUNԠDGԠNAS ADBB60(BN'SDGԠNAS BƬB ҠB(AN'SDGԠMGDHUNSDG MPPD00ɠ KM0Dà-0 K5Dà5 BUK5 GBA̠VAABSBUSANDNSANS DMA̠NSANS KDà K3Dà3 KDà K3Dà3 K6Dà6 KMDà- KMDà- KKUPŠB0000 N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 A̠NSANS KDà B60UK BUK B3UK3 BUK B5UK3 B0UK6 BUK BUK B3UK35 B00USUBB00 B3Ԡ3 B600UKK0 BMUKM BԠDŠDYPŠMSԠPASS 00UAAD.NDA 0UDB̠MNAŠSUŠD MMYNŠNSUNS NSUNDŠ+NNPAG-0BԠS NN-MMYNŠNSUNS KK0Ԡ00000DƠA ԠSAABŠDSNDSK.AKSAŠASSUMD NSUVŬUNԠSҠN.SASSUMDAVAABŠNBAS PAG.D-MAԠSASNBS. ANGSUN: SB % DƠ+3 DƠBUҠAƠ-BU DƠNNϠƠDS VƠA DBB0ADDҠƠBNS0B SBàSԠBNS- DƠ+ DƠ.M9-9 SB DƠ+5 DƠMҲ DƠKUNҠSYSMY DƠVMSAƠMSSAG DƠKM-ҠHAS. MPƥɠ VMSASàBNV B0Ԡ0 BԠ .NNP DASYP SSA MPN DAKM SANN DA0BBN B SZASSANYBNAKS? MPVƠNϬVנ ŬA BŠS̠-SHԠAKNϠNϠB SZNN MP-3 AƬAƠ(ASҠN SBAK MPDSñ NDA66BGýUNԠADGϠDD DBMҲ SSA NB SBUNUNƠSGN03HS AƬA A ANDB3 SAAKSԠAKN. DA66BGýUNԠADGϠD-D ANDB DSñSASԠSԠSҠN. DAMSZ SABUNS-BUҠUNԠ-6 DABAA SABADSԠSҠBUҠADDҠAB MP.N ƠUPUSHŠ-BUҠϠHŠUNԠS NDSKUPDASHŠUNԠSҠN. ƠSUSUAYADAԠHŠNDƠAHSUBPGAMUPU. ƥNP DASYP SSA MP DA0BBNS PAKMNϠBNԠ? MPƥɠYS. ƠA SABADɠ0ҠNDƠSUBPGAM DABAD PABAA MPƥ SBàŠS DƠ+ DƠMҲDŠҠ DSDƠUNUN BAADƠBUҠAƠBU DƠPSZ6ҠDS DƠAKAKN. DƠSԠSҠN. DASYP SSA MP DAKM SANN DA0BGàD NA SZSԠBUMPS DBS PB6BNϠƠSSNAK BSS MPƲ ŬSSA B̠-AKNϠϠB A SZNN MP-5 ƱADBKM SBAKNנAKN. SBàSAUSUS DƠ+5 DƠK6DŠ6 DƠKAK DƠAKSANGAKN. DƠSAKAUA̠GDAKUND DASAK SZASSVנ? MPVƠYS DBKM SBNN DBAK PBSAKGDAK? ASS MPƱNϬYNԠҠAK PBAKKAK? MPVƠYSV ŬB AҠ-AKϠUPPҠA SZNN MP-3 ƲDB.B0ADDҠƠBN SBàSԠàAKϠ(AԠ5B DƠ+ DƠ.M9-9 àSB.N-NAZŠҠNԠ MPƥɠ AKU6B .B0Ԡ0 ԠBSSUNADD SAKBSSMPҠNԠGDAK PSZDà6 MSZDà-6 .M9Dà-9 MҲDà NNBSS UNBSSUN AKBSSUNԠAKN. SԠBSSUNԠSҠN. BADBSSUNԠADDҠN-BU BUNBSSUNԠҠ-BU BADBSSUNԠSU-BUҠADD UNԠBSSANSҠUN KDà AGԠ00SԠMŬHS ԥNP DAԥ SAԠSԠUNAD SAƥASϠҠV DAAG SZASԠMŠ? MPK DASYPŠ0DSMïDS- SSA MPN DBKM  SBMҲ DBB55 SBDS SASS MPNDS DBKMïDS.BUҠSZŠ SBPSZ MBNB SBMSZ NSB.N SZAGSԠAG KDASYP SSA MPԱ DSԠDA0BBNS PAKMNϠBNԠ? MPԬɠYS ԱSZԥ DAԥ DA0 A̬ŬSAASԠ-BԠANDA MP- SABADSU-BUҠA SZԥ DAԥ DA0 MANA SAUNԠSԠUN MVŠDABAD SABADɠMVŠD SZBADPNS SZBUNBUMPS-BUҠUN SS SBƥNDƠBUҬŠS SZBADBUMP SZUNԠBUMPUN MPMVŠNNUŠANS MPԬɠADY BUҠBSS-BU BUƥUBUҠGϠBU PBUƠUBUƥNMDAŠDŠUPUԠBU ɠUBUƥ+65ADMAGŠBU BƠUBUƥ+06ҠMSSAGŠBU ADBU BUҠBSSS-BU HAҠNP0AԠSAԠƠɯϠSԠPSSSNG DA̠NPSԠDUB-PؠAG.. $NDƠNP NU M(50MMNϠA̠SGMNS àUNBSAԠàƠSGMNS ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3NDƠASSGNMNԠABŠ+ UNDU+GA̠UNԠƠNPUԠDV UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9G.UNԠƠSԠDV(0Y SKNϠU+0SANGAKNUMB KNϠU+ASԠԘAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. .A.U+SUBSPԠNMANAG DƠU+DԠUNNAG GU+9-AG(SԠƠSUBSPԠDUMMY ƠU+0ҠAG(ƠMS00AD SGU+SUŠAG(SUũ ƠU+NA̠SAMNԠAG MU+3SԠMMNASSGNMNԠPN ̠U+3DNGH PNU+-PNԠAG(.N.0ϠP NƠU+5NҠPGAG(SԠƠPԩ ƠU+6ƠAG SNU+NMNԠϠSҠN. ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG NUGU+3N.ƠUVANŠGUPS ƠU+3NPUԽ0UPUԽAG PBPԠU+3PBUƠDPN PԠU+33DNGHPN P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN SPƠU+36SPANAG(SԠ UNԠSAMNԠV̩ SƠU+3SNGBAKAN SƠU+3MPؠNSANԠAG ԠU+39N.DSNSAK BAD9ƠU+39NŠƠ9BADSASSUBүUNàNAM ƠU+0SAMNԠUNNV P̠U+0SAVŠP̠AԠSAԠƠɯϠS YPƠU+YPŠSAMNԠAG NƠU+N̠AG(0SNPSSN NNŠU+3-(ƠNSMANDNPAGũ AҠU+(A-GUNDM.. Ա̠U+5MƠƠPSSN SנU+6PSSNSH SZŠU+MMNSZ MNԠU+-(DSŰMANDBŠMVD Դ̠U+9 .NA̠ABŠ M.B(5-.-UNNAB .B̠U+50 MMN(00NN-NAZŠMMNAA MNU.B+5ANƠNDƠMMNAA MNU.B+5 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN 0SVUMN+3àSAVD PҠUMN+PPAҠPY AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ NҠUMN+PNҠϠMPDDϠN.VA DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3DMNSN3 DԠUMN+DGԠUN ƠUMN+5ؠԠB̠AG D̠UMN+6DMҠAG--S(ƠàADM SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN .ŠUMN+9HDS(.A UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG PԠUMN+3UNPNҠԠ.. NàUMN+33NAMŠHANGŠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3*BNAMŠAG NƠUMN+NϠAGAG NנUMN+5NUMBҠƠDSNASSGNMNԠNY PƠUMN+6UPUԠPAKAG .PAKUMN+SԠHASNHHSNG PNԠUMN+PAKHAAҠUN ҠUMN+9BԠDŠDYP .ҠUMN+50HDS(.A'SB0'AG ϠUMN+5SUBPGAMҠUNNUNAN SUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SAV̠UMN+55N.DSNSKNNYϠ SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK SNMUMN+6SAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ àUMN+63MNANGHAA 0UMN+6ASSGNABŠPNҠҠD0.. رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. 3UMN+6ASSGNABŠPNҠҠD3.-AB AàUMN+6AUMUA ADNUMN+69ADD-NϠADAN .AƠUMN+0 BADDҠUMN+ S.UMN+SNGBAKAN DSNUMN+3DϠSAMNԠNUMBҠSAVD MPADUMN+PNҠϠBGNƠMP.DϠBDY 3SDUMN+5MP̠ҠSAMNԠD ԲSƠU3SD Բ̠U3SD DADDUMN+6ADADDSS-AԠPNҠҠP MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM YPŠUMN+9 NɠUMN+0N.ƠDSNADMAG N̠UMN+NԠNKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD 3ŠUMN+3N~TRNGҠMP̠ҠGϠϬD SƠUMN+SAMNԠV̠AG SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. DUMN+90DDBSS3 PDUMN+93PPAҠD PNUMUMN+9NUMBҠƠPANDSϠBŠPPPD SàUMN+95 SԠUMN+96 ԲŠUMN+9P̠AԠBGNNNGƠAS ԴSDUMN+9Ơ'('S MUMN+99ASԠMMNASSGNMNԠPN BҠUMN+00NDƠBAY DPU+35B-ԠABŠBASŠAN DP̠UDP+30BDAAP̠BASŠ. D.BŠUDP+5 .PؠUDP+05B .ԠUDP+B S.NG̠UDP+3B .A̠UDP+36B .0UDP+B .àUDP+6B .ϠUDP+5B .ؠUDP+30B MBUSAP+0MAHNŠANGUAGŠNSUNB SYMԱUSAP+6ASSMBYNSUNSYMB̠B SYMԲUSAP+5 SԠUSAP+9NA̠UNNSYMB̠AB MDԠUSAP+30MDŠƠMP̠AB BUƠUSAP+30ŠBU BUƠUSAP+30ADBU NDN TT r 24170-80006 C S 0122 RTE/DOS FORTRAN IV SEGMENT 0             H0101 L ASMBҬ̬ìB HDN0--MPҠNAZAN NAMN05 Ԡ.N. ԠBUƥ ԠA00 ԠAK00 ԠDɠ ԠDP ԠS00 Ԡ ԠDP ԠGNA00 Ԡ00 ԠH00 ԠDN00 ԠMV ԠPSY ԠA AU0A-GS BUB-GS àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3NDƠASSGNMNԠABŠ+ UNDU+GA̠UNԠƠNPUԠDV UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9G.UNԠƠSԠDV(0Y SKNϠU+0SANGAKNUMB KNϠU+ASԠAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+'$'-'ND'AG NƠU+5NҠPGAG(SԠƠPԩ NƠU+N̠AG(0SNPSSN NNŠU+3-(ƠNSMANDNPAGũ AҠU+NHSHSNG MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 .AUMN+0ASSGNMNԠABŠPN 0SVUMN+3àSAVD àUMN+6ADUMNUN--SUŠNŠUMNPN SUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ ƠUMN+5ؠԠB̠AG SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM DɠUMN+3DDNANNGHŠNSANS SƠUMN+9ASԠSAMNԠAG SPUMN+3ASԠPANAG NDUMN+35NAMŠDDBSS6 PƠUMN+6UPUԠAG SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA NMNԠUMN+NAMNԠDSUPԠG(0UPUԩ K06Dà06 KM5Dà-5 KM6Dà-6 KK3Ԡ300 SYPŠDƠPSY SԠNP'DƠPSY+' MұNP'DƠPSY+' PSZŠNP'DƠPSY+3' MSZŠNP'DƠPSY+' .3NP'DƠPSY+5' KDà N0DADP AŬA SADP DA.DP AŬA SA.DP DASYP AŬA DAA NA SAS NA SAMұ NA SAPSZ NA SAMSZ NA SA.3 DAPBUP AŬA SAPBUP DAA ADAK06 SAB DAKM6 SAMN DBPBUP ADBK6MVŠϠ DAMSGMVŠM SBMV DAK55SANDADNPUԠDV SAUNDGUNԠƠNPDV5 DAK66SANDADSԠDV SAUDGA̠UNԠƠSԠDV DAKSANDADPUNHDV SAUPUDGA̠UNԠƠPUNHDV DAK56 SANPNSPҠPAGŠNSNG MANA ADAK SANNŠ-(ƠNSMANDNPAGũ A SAGϠSԠMP-AD-GϠŠAG DAPAɠ.Ơ'NN'PAAMҠB SAMԱ DAKM5-5 SAMԲ DBPPNKPAAMҠSԠPҠM'NN' M00DABɠPAAMҠM'NN'SAMN SZASS MPM0+PAAMҽ0 PAK99 MPMŲMP-AD-GϠ M0SAMԱɠSŠNϠ'NN'PAAMB NB SZMԱBUMPPAAMҠABŠPҠBY SZMԲA̠5PAAMSPSSD? MPM00NԠY M03SB.PSYϠNDUԠPANGSYSM SAPSY(PSƠDSMìNGƠũ DB00B SSASKPƠDSM DBB SBDϠASԠAVAABŠ̠AN DADP̬ SADPDAAP̠SAԠAN DA.DP̬ SA.DPؠNA̠ABŠSAԠAN DAMK MANA ADAMK SAMNԠ(A-(DSϠBŠMVD DAMKADDҠƠ-ԠAB DB.DP̬ɠMVDϠAN SBMVŠMVŠ-ԠABŠϠMANPG DAUNDGUNԣƠNPUԠDV PAKDSK? SSYS MPM30N DBB DAPSYPANGSYSM SSASKPƠDSM DB6B DAK5 SZBSS MPM0+NϠSUŠAKASSGND M30SBSԠNAZŠƠSԠM SBà_. DƠ+5. DƠK3.ɯϠSAUS DƠUDGUNԠSԠ.ҠSԠDV DƠUNDSAUSD_. DƠG_. DAUNDG ANDKK3B300 SAUNDGA̠UNVԠƠSԠDV DAB00UNNDŽB(SԠɠSPANG ADAUDGUNԠƠSԠDV SANԠAPAGŠND SBAԠAԠNSԠDVŠADY SBà_. DƠ+. DƠK3.ԠAPAG DƠN. DƠKM_.ҠSKPNSNY SBàPNԠMPҠNMAN DƠ+5 DƠK DƠUD DƠHAD DƠK SBàSKPAN DƠ+ DƠK3 DƠN DƠK SBAK00AAŠAAK DAKNAKAAD SASKNϠSANGAK DADSàGA̠UNԠ SAUNԠGUNԠƠSԠAK DASNƠSSAK SANSԠƠSSAK DAUND.U.ƠNPUԠDV PAK MP+3 ҠB00SԠHϠBԠҠY SAUND A SAPƠSԠNԠϠUPU SA..NAZŠANN̠D DAK3 SA0SVSԠUMNUNҠSAVD3 SANƠSԠNN̠ADAG SANMNԠSԠNAMNԠDSNԠYԠUPU SB00SԠϠNPUԠANנAD SB00ŠԠϠHAVŠAADNPU A SAUƠUƽ- SBDN00NPUԠDϠNԠASSGN SBDNDMVŠNDϠD DAD PAKK3'' MPM0 M0DAK3NN̠ADMSSNG SAAҠSԠNHSH SBà_. DƠ+3. DƠK.BNGNNH DƠ+. ASà3NH_. SԠNPNAZSŬDSҠDSMSU DASԬɠSԠMŠ? SZA MPSԬɠN. DAPSY0DSMïDS- SSA MPSԬɠ BDSҠMïDS S7SBMұɠSԠMұ- SASS MPSԬɠDS DBKMïDS.BUҠSZŠ SBPSZŬ MBNB SBMSZŬ DBK3 SB.3ɠGA̠UNԠ3 MPSԬ B00Ԡ00 B0Ԡ0'A' B0Ԡ0'B' BԠ'' B5Ԡ5'M' B6Ԡ6'N' BԠ'' B00Ԡ00 K3Dà3 B5UK3 KDà BUK KDà BUK KDà B5UK M0DAND+ PAB6'N' MPM06 MPM0NN̠ADMSSNG SBH00NPUԠAHA. M06DB PBB5'ï' MPPPNMDNŠHNADϠPGNAM PBB5'' SS MPM0ҠNNAD SBH00NPUԠHAA DBASAVŠHAAҠN(B DA..(AA̠N̠D PBB0'B' MPMűϠSԠPUNHAPŠBԠN.. PBB'' MPMű6ϠSԠSUŠSNGB PBB0'A' MPMűϠSԠASSMABŠSNGBS PBB5'M' MPMŲ0ϠSԠMDABŠSNGBS PBB'' MPMű0ϠSԠABŠSNGB PBB5'ï' MPPPNM M0DAK MPM0+ҠNNN̠AD Mű0ҠB0..SԠABŠSNGBԠN.. MűSA.... MPM06- MűҠKK0SԠPUNHAPŠBԠN.. MPMű Mű6ҠBSԠSUŠSNGBԠN.. MPMű MűҠBSԠASSMBYSNGBԠN.. MPMű0ϠSԠABŠSNGB MŲ0ҠBSԠMDSNGBԠN.. MPMűϠSԠ'A'ANԠ'' MŲSAGϠSԠMP-AD-GϠAG MPM03 K3Dà3 K5Dà5 K6Dà6 KD,|à K56Dà56 K3Dà3 K99Dà99 KDà BUK KDà B0UK NNPԠN̠D PAɠDƠUND'NN'PAAMҠSԠP MԱNPPAAMҠSԠPN MԲNPPAAMҠUN GNP MKDƠ..DP.-ԠABŠADD. MKDƠ.DP.+DAAP̠ADD DP̠DƠDP̠ADDҠƠDAAP .DP̠DƠDPADDҠƠ-ԠAB PBUPDƠBUƥ KK0Ԡ00000 KK06ASàϠBANKS KK3ASà KK33ASàN. KMDà- KDà HADҠASàN--ASŠ0--UNŬ9 MSNP BƠNPàƠҠMSSAGŠBU MSGDƠ+ ASà ASà0 ASà0 ASà ASà5 ASàҠDDAԠUMN SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 PSSBŠPGAMNAMŠ PPNMDAKK3'' DBB NB SBMS DBPBUPɠ_. ADBK3. SABɠ. SAMS SZMS DAKK33'N.' NB.SԠPGҠNAMŠϠ'N.' SABɠ. SAMS SZMS DAKK06'' NB. SABɠ_. SAMS ANNAZAN MANU DAAB0000 DBPBUP NB SABɠDDNԽ00(NAMD DAKM-GN-DŬSZŽ5- ADBK5 SABɠSZŠƠMANPGAM A SADƠSԠ'$'-'NDf'AG SAN SASנSԠϠDŠGNANNPUԠADSƠNDD DBPBUP DAB ADBK ADAK6PBU+ϠPBU+6SԠϠ0 SBN00NAZŠϠ0 DAPPNKNDƠMMNAB DBPPNK.Ơ.B SBN00NAZŠ.B̠ABŠϠ0 DBNPƠNSPҠPAG MBNB ADBK SBNNŠ-(ƠNSMANDNPAGũ DAK99 DBPBUP ADBK0 SABɠPYSԠϠ99 NAZŠ-BԠN-NA̠ABŠϠ0 DA.DP SA.A.ABASŠ.Ơ--AB N0SBGNA00GԠNԠASSGNMNԠPN DAƠSԠNؠAB? SSASSYS MPN0N DA.A ANDKKB6 SA.AɠSԠ-BԠϠ0 DB.AYSSԠA(.A0 NB A SAB MPN0 KKԠ6 K6Dà6 K0Dà0 KMDà- N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 N0U SBDɠD_--0 DAKM SAMNԠϠMVŠDS DAPPNK3MVDM DBPPNKMVDϠ BŬB DBBɠ(B.Ơ.N. SBMVŠNAZŠMP̠SAԠS. DADPDAAP̠SAԠAN NA SAϠNDƠASSɠABŠ.+ SASKB SASKԠSKԽSKB SASƠSƠ.N.0(PԠSԠSMNԩ SASP DADϠASԠAVAABŠMMYAN SAŠŽD SADDD SASKB SASKԠSKԽSKBD A SAUƠUƽ- SԴADD- SZDɠDɽD+ DANԠMN SBS00SABSHNSAN SBA00ASSGNM A SANƠ_. SBà. DƠ+3.ANSҠN̠ DƠK.SNP DƠ+. ASà3N_. PPNKDƠSB PPNKDƠMNàƠNDƠMMNAB PPNK3DƠKK36 PPNKDƠ.N. NAZŠϠ0 N00NP MANA.PBU+ϠPBU+6 ADAB SAԱPPN.M̬SƬSBƬSƬSPƬƬ A..ASԬDP̬.A.SGG PPNMSABɠ.M̬ԬYPƬ NB..B̠AB SZԱPPN. MPPPNM_. MPN00ɠ ԱPPNBSS-(UNԠƠDSBŠNAɠϠ0 NԠԠ0000 AԠ0000 MVŠNDϠDɠ DNDNP DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ MPDND SPà ANGSUN: SB.PSY SUԠNAGSҠ: 0DS MïDS - SPà .PSYNP DA0B SZASSà00? MPŠYS.MUSԠBŠ. ADA6B SZA(0+(60? MPŠN.MUSԠBŠ. SBMPBSAVŠB SBàYS.DSҠMàDS? DƠ+5 DƠD DƠDSKU DƠSA DƠDUM DASA ANDMASKMASKƠA̠BUԠBԠƠYP SZAƠZϬYP Š30SϠDS ANASŬYPŠ3SϠMïDS DBMPBSŠB MP.PSY ŠDAKMNDAS MP.PSY SPà KMDà- DŠDà3SAUSUSԠD DSKUԠGA̠UNԠƠDSK SAԠNPSAUSD DUMNP MASKԠ00MASKSA̠BUԠBԠƠYPŠD MPBNP ؠNA̠ABŠ ..DP.U ԠN׽ Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDABS Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDB Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDS Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DMAر Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DMN Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDMD Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DSGN Ԡ60MDB̬Ný00ҽ0N׽ Ԡ0 ASàDSN Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DAAN Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DAN Ԡ66MDB̬Ný0($ҽN׽ Ԡ0 ASàDP Ԡ66MDB̬Ný0($ҽN׽ Ԡ0 ASàDG Ԡ665MDB̬Ný0($ҽN׽5 Ԡ0 ASà3DG Ԡ665MDB̬Ný0($ҽN׽5 Ԡ0 ASà3DS Ԡ605MDB̬Ný00ҽ0N׽5 Ԡ0 ASà3DDN Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3MP Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3ѺNG Ԡ505MPجNý00ҽ0N׽5 Ԡ0 ASà3S Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàS Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàP Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàG Ԡ53MPجNý0(ҽN׽ Ԡ0 ASàSN Ԡ36MANý(ҽN׽ Ԡ0 ASàSN Ԡ36MANý(ҽN׽ Ԡ0 ASàS Ԡ36MANý(ҽN׽ Ԡ0 ASàP Ԡ36MANý(ҽN׽ Ԡ0 ASàAN Ԡ36MANý(ҽN׽ Ԡ0 ASàS Ԡ36MANý(ҽN׽ Ԡ0 ASàAG Ԡ3MANý(ҽ0N׽ Ԡ0 ASàANH Ԡ35MANý(ҽ0N׽5 Ԡ0 ASà3AG Ԡ3MANý(ҽ0N׽ Ԡ0 ASàAAN Ԡ3MANý(ҽ0N׽ Ԡ0 ASàABS Ԡ3MANý(ҽ0N׽ Ԡ0 ASàAN Ԡ35MANý(ҽ0N׽5 Ԡ0 ASà3A Ԡ3MANý(ҽ0N׽ Ԡ0 ASàSGN Ԡ0MANý00ҽ0N׽ Ԡ0 ASàSNG Ԡ0MANý00ҽ0N׽ Ԡ0 ASàA Ԡ0MANã00ң0Nף Ԡ0 ASà0 Ԡ0MANý00ҽ0N׽ Ԡ0 ASà Ԡ05MANý00ҽ0N׽5 Ԡ0 ASà3 Ԡ3MNԬNý(ҽ0N׽B@< Ԡ0 ASà Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàAND Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàN Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàSS Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàABS Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASàN Ԡ3MNԬNý(ҽ0N׽ Ԡ0 ASà Ԡ35MNԬNý(ҽ0N׽ Ԡ0 ASà3SGN DAAP̠SASHŠ .DP.U ԠN׽ NDN0 B s 24170-80007 C S 0122 RTE/DOS FORTRAN IV SEGMENT 1             H0101 N ASMBҬ̬ìB HDN--N̠SGMN NAMN5N̠GUP ԠBUƥ ԠA00 ԠD Ԡ00 ԠM ԠS00 Ԡ ԠNS00 ԠNS0 ԠH00 ԠDN00 ԠDS00 ԠUMP ԠMV ԠA00 ԠS00 ԠZ00 Ԡ00 ԠSS00 AU0A-GS BUB-GS àU BSS50 .DPU+-ԠABŠADD DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. NƠU+5NҠPGAG(SԠƠPԩ ƠU+6ƠAG MPU+9UMPAN M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN NƠU+N̠AG(0SNPSSN AҠU+NHAGSԠҠ'NDƠB' Ա̠U+5MƠƠPSSN SנU+6PSSNSH MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN 0SVUMN+3àSAVD AԠUMN+5 àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ NҠUMN+PҠϠMPDDϠN̠VA DUMN+9DϠABŠP(àƠASԠDϩ D̠UMN+6DMҠAG--S(ƠàADM DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG N̠UM)$N+3NUMàAG NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG NנUMN+5 .PAKUMN+SԠHASNHHSNG ҠUMN+9BԠDŠDYP SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SNMUMN+6SAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ ԱSDUSNMƠHASMANNG àUMN+63MNANGHAA S.UMN+SNGBAKAN ԲSDUMN+3PSSҠNYPN MPADUMN+PҠϠBGNƠMP.DϠBDY 3SDUMN+5PàNYPNSB̠P MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM NMNԠUMN+NAMNԠDSUPUԠG(0UD DUMN+90DDBSS3 ԴSDUMN+9Ơ'('S SAMNԠNPUԠ BANHNNYNDN: Nƽ0--SNP Nƽ--SSN Nƽ--SM Nƽ3--NS0 NPUԠSAMNԠNUMBҠ SN00NP AҠNDϠBANKS DAB0 SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N SN05U DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ DA PAK6 MPSN09 SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DB MBNB ADBK6 SSBSS MPSN05 SBU00UNNPUԠUMN SN0U A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. SN09SZ MPSN0 ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B00Ԡ00 K9Dà9 NU DBSP BŬB DBB SBSP DANƠN̠AG SZA MPSN3 SAԱ̠SԠGƠMAG SNPSASƠAҠSNG-BAKAG SA.ASԠASSGNMNԠABŠPҠϠ0 SAM̠AҠMDŠAG SBN00AMNŠNԠHA. SZASSSAMNԠNUMBҠSS? SBSN00YSNPUԠSAMNԠNUMB DA.A SASNASԠSAMNԠNUMBҠAG SZASS MPSN0 DAK DBA PB SB00 SN0U DAƠƠAGSԠ? SZAN ҠSNYS SB00ƠS DANƠNAGSԠ? SZA MPSNYSPSSNGNADS DAK0ҠYP DBàSUMNPҠPNSϠ? ADBKM SSB SB00GA̠SAMN SNSBN00AM.NԠHA. DAàSàAïҠ? PAB5 ASS MPSSNNϬϠSANHŠSAMN PASNSAMNԠNAD? MPSNP+NϬԠSABANKAD SZàSԠý DAK9YSSAMŔ*NԠN.NBANKAD SBM A MPSNPϠNPUԠNԠAD KDà ̠Ԡ000 SN3SASS MPSMϠSAMNԠMNAN PAK3 MPNS0 SAMNԠSAN SANSHŠSԠADƠA̠SAMNSDMNNGƠH SAMNԠYPŠSAPAMNԠSAMNԬADϠSAMN (DBYҠAHMàSAMNԠUNN(AND HŠPANDMNADBY'('ANDASNԠANAAY. SSNSBS00SAVŠ ANA(A SAԱSSSԠԱ SSñSBH00NPUԠHAA SSòDA PAB5ý? MPSS6YS PAB50ý(? MPSSøYS PAB5ý? MPSS9YS PAB5ý? MPSS÷YS PABý'"'? MPSS÷YS ҠB5ý? SZA MPSSñN SAԲSSSԠԲ0 SB00UPUԠNAMNԠD SS3SBDN00NPUԠDNA DA PAB5ý? MPSS5YS PAB5ý? MPSSA PAB50ý(? SZԲSSԲԲ+ B PAB5ý? BYSԲԲ- ADBԲSS SBԲSS MPSS3ϠHKNԠM SSôSB00SŠ DAԱSS SZA MPSSBASSGNMNԠSAMN SS0U NPUԠSYMB̠ ANA SANƠSԠN-AGAG NPUԠNAMŠ NPUԠPAND NPUԠM SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3 DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPUANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND SB00SŠ DAU PAAҠSMANAAY? MPSSBASSGNMNԠSAMN DAK SASנ..SH A DASƠU DBK MPUMPϠASƠPSS AҠԠ600U3(AAY SPҠDƠUMP KDà DPҠSASנPSSNSHASƠPSS SBà_. DƠ+3. DƠK.BNGN..ADPSSS DƠ+. ASà3NA_.ƯGϯDϯASƠSGMN BԠ SS5DAԲSS'('UNԠ0? SZA MPSS3N SB00SŠ DAK SASנ..SH SBS00SAVŠ ANA MPDASƠϠDϠPSS SS6SBH00NPUԠHA. DAD̠SàADMҠ? SZA MPSSòYS SS÷SB00SŠ MPSDGϠϠSAMNԠDNAN SSøA ADAԱSS SAԱSSԱԱ- SS9DAԱSS'('SD? SZA MPSS÷ϠDNYSAMNԠYP AҠDϠ0 SAD SAD+ SAD+ SBDS00NPUԠDGԠSNG SZASSDGSSD? MPSSòN MPSS6+YS SSADA PAK3 MPSSô MPSS3 SSBDBK50 UMPADBSPҠ(BàƠPSS MPBɠϠASSGNMNԠSAMN K50Dà50 K3Dà3 ԱSSBSS'('AG(0Ơ'('SD ԲSSBSS'('UNԠAҠ AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN :MPN00 ƠSԠ ϠUPUԠHŠBԠDŠҠANUNNDNA̠GϠ NY:Ơ(A0NϠBԠDŠUPU Ơ(ANN-ZϬUPUԠMP- ƽASSGNMNԠABŠPNҠƠUMPD-ϠSAMN 00NP SZASS MP0NϠBԠUPU DAMP'MP' DBKK0B00000 ADBƠASSGNMNԠABŠP SBM00UPUԠM DAԱ̠MƠƠPSSN PAG MP0 A SASPSԠASԠPANAG 0A SAԱ̠SԠGƠMAG SAƠSԠƠAG MP00ɠ GԠ30000MG SAMNԠMNAN SMU DASƠANYHNGϠBŠSUNG? SZAN MPS3YS SұDASNASԠSAMNԠHANUMBҠ? KKSZAN MPSҴ-YS SҲSASƠSԠASԠSAMNԠAG MPSNPϠNPUԠANנSAMN S3DAƠƠAG SB00ϠGNAŠDAYDUMP'S DBSƠ.. NB. DAP̠.SŠP̠NϠHŠAƠD SABɠ..ƠS MPSұ DBDàƠASԠDϠNYNDϠAB SҴSBɠSAVŠDϠABŠPN A PBDϠNDƠDϠABŠSAH? MPSҲYS DASNSHSSMNԠN.ADϠMNA? PAB MPS6YS SASƠSԠASԠSMNԠAG(.DϠM. S5DB ADBK5SԠɽ+5NNUŠSAH MPSҴ S6DBSƠASԠSMNԠAGSԠ? DAK30 SZBN SB00YS.DϠMNANGSMN DBD NB DAB SAM3 NB DAB SANҠNDؠ NB DAB SAM NB DAB SAMPADSԠSAMNԠƠPADD. UPUԠDϠMNANDŠ DADA DBNҠDA SBSA00 DBM3ADAM3 SBGAD00 DASA DBNҠSA SBSA00 DAKK60MANA SBA00 DBMADAM SBGAD00 DBM3 DABɠHKNAMŠAGƠ.A(SP-SZũ SSASS MPD0 HNSANԠ SBDɠAҠDɠBUҠϠ0 SB.A DAB ANDK ADAKM MANA SANנN׽-(ƠDSNDD SSASS MPؠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ DB.A ADBK 0DAB SAԱìɠSŠDDNϠDɠBU SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N ؠU DADɠ(A_NSANԠM3 KK6SSASS MPD0ƠPSVŠ(NMNԩ DAKKƠNGAVŠ(DMNԩSZA SBA00 DAKK0SSA MPD03 D0DADBDBM3(ƠVAABŠSP-SZũ SBSA00 DAKK6SSB(ƠVAABŠSP-SZũ SBA00 DAKK60MANA(ƠVAABŠSP-SZũ SBA00 D0DAKK6SSASS(VA.ҠPS.SP-SZũ D03SBA00 DAMP DBMPADMP(BGNNNGƠDϠBDY SBM00 DAD ADAK5 SADDD+5ϠMNAŠDϠNY MPS5NNUŠSAH ɠNP KK0SSA K30Dà30 ԱàBSSDɠBUҠPN BDɠDƠD DAԠ6000 M SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU MPS00ɠ UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 MNԠD 00NP DANMNԠNAMNԠDUPUԠY? SZASSN MP00ɠYS DAPK AŬA DAAɠDƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. ADAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00 SBS00UPUԠS DASBƠMANPGAM? SZAYS MP00ɠNϬ UPUԠϠ UPUԠADADDSSP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS A SBA00UPUԠ'NP' DASB DB.DP ADBB5 SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ PŠԠ0000 MPԠ6000 SBԠ6000 B5Ԡ5 00Ԡ0000 SAԠ000 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 DBԠ66000 NPUԠ(AHAAS NY:(ANUMBҠƠHAASϠBŠNPU ԠƠ(AHAASAŠNPUԠҠADMҠNUND A00NP SA0ANUMBҠƠHAS.ϠBŠNPU SZASS MPA A0DA0A ADAKMDMNԠ0BY SA0A SSA(AHASBNNPUԠ? MPAؠYS SBH00NϬNPUԠAHA. DAD̠SHA.ADMҠ? SZA AؠMPA00ɠYS MPA0 0AԠ0 SPà3 D$ASàD$ SAMNԠDNAN SDSB00SŠ SBS00SAVŠ A SAԴSDƠ'(' SBDN00NPUԠDNA DAD̠? SZAYS MPSD5+N SD0SB00SŠ DAK SASנSԠSHϠSANMD SBA00NPUԠHAS. DA.PAK SASNMSAVŠHŠSԠϠHAS. DAK SBA00NPUԠHŠNԠϠHAS. A SASנSԠSHϠDŠGNAԠMD DBSNM PBN'N' SS MPSDA DB.PAK PBD$'D$' SS MPSDA SAAҠSԠҠNMNAN SB DƠ+3 DƠK DƠ+ ASà3NHBNGNNH SDAU DBPAB SB3SD3SAԠADDҠƠPSSҠB SDDAB NB DBB PASNM SSSԠNDHAS.MAHD MPSD3 PB.PAK MPSD3DHHAS.ASϠMAHD SD3DB3SD ADBK SB3SD33+ MBNB ADBPB DAK0 KK6SSB SB00GA̠SAMN DB3SD MPSDϠYNԠNYҠMAH SDDB3SD.ƠMAHDPSS ADBK DAB SASPSנSAMNԠPSSҠSH SAԲSDԲPSSҠNYPN NB DAB ֶ AƬA ANDB3 SAԱSDԱNUMBҠƠHASMANNG DAB ANDB3(ASAMNԠYPŠHAHY PAK MPSDMUNԠSAMNԠV̽ PAK SS MPSDK SB00 ANA SDKU SBNS00SԠNNSPANHK DAԱSDN.ƠHAASMANNG SZASS MPSDŠNN MANA SA0A SBH00NPUԠAHA. SZ0AA̠DN? MP-NԠY SDŠUYS DAԲSDPSSҠDN PAPAB+3 MPSDUNN PAPAB+ MPSDSUBUN PAPB- MPSDPGAM DA3SD.ƠMAHDPSS MANA ADAYP̱ SSASS MPSDYP̱.G.3SD ADAK0 SSASKPƠYP̲..3SD SDU SB00MNԠDS SDU DAԲSD KK60MANA SSA MPSD9 SASנ..SH PAK MPSDD MANA ADAK6 SSASנ..ADůA MPDP+Sנ.G.ƯGϯDϯAS SBà_. DƠ+3. DƠK.BNGN..AD DƠ+.PSSS ASà3N3_. SDMSB00ϠUPUԠNAMNԠƠNԠYԠU DAK MPSDK SDDDAKM DBK MPUMPϠƠPSS KDà SD5SBDN00NPUԠDNA DA PAB5'' MPSD6 PAB50'(' SZԴSD PAB5'' ASS MPSD5 ADAԴSD SAԴSD SZA MPSD5 SBN00AMNŠNԠHA DA PAB5'' SS MPSD0 SB00 SŠ MPSS0ϠSAMNԠSAN SD6DAԴSD SZASS MPSD0Ơ'('S0 DA PAK3 MPSD0NDƠAD MPSD5 SD9DBK5 MPUMPϠ'SD9' YP̱DƠYPB K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà K6Dà6 KM3Dà-3 KM6Dà-6 A̠NSANS B5UK3 B50UK0 B5UK B5UK B5UK B60Ԡ60 B5UK6 B3Ԡ3 PKDƠBUƥ SPà3 PSSҠNY-PNSABŠ DSPҠABŠNYHHŠNGMA: 50 +0:HAұHAҲ +:HA3HAҴ +:PSSҠNY. +3:Ա(A H:HA'SAŠHŠSԠHASƠHŠPSS ԱNUMBҠƠHAASMANNG (ASAMNԠYPŠHAHY PABDƠ+ ASàUNàUNN KDà Ԡ000Ա(A0 ASàSUBҠSUBUN KDà Ԡ3000Ա6(A0 ASàDMŠDMNSN Dà Ԡ00Ա5(A0 ASàGϠGϠ Dà-9 ԠԱ0(A ASàA̠A KMDà- ԠԱ0(A ASàUUN K5Dà5 Ԡ00Ա(A ASàNԠNNU Dà6 Ԡ0Ա5(A ASàMMA KDà Ԡ00Ա(A ASà(( Dà- ԠԱ0(A ZASàԠ KMDà- Ԡ0Ա(A ASàADAD KMDà- ԠԱ0(A ASàBAKBAKSPA KDà Ԡ0Ա5(A ASàNDƠND Dà9 Ԡ0Ա3(A ASàɠԱ(A K0Dà0 Ԡ00Ա(A NU ASàNDND Dà ԠԱ0(A ASàSPSP Dà ԠԱ0(A ASàPAUSPAUS Dà3 Ԡ0Ա(A YPBU- ASàNŠNG KDà Ԡ00Ա3(A0 ASàA̠A K5Dà5 Ԡ0Ա0(A0 ASàDUBDUBŠPSN K6Dà6 Ԡ500Ա(A0 ASàMPMP KDà Ԡ00Ա3(A0 ASàGɠGA KDà Ԡ00Ա3(A0 ASàŠNA Dà9 Ԡ000Ա(A0 ASàMMMMN K0Dà0 Ԡ000Ա(A0 ASàUɠUVAN KDà B300U Ԡ300Ա(A0 ASàASSɠASSGN Dà Ԡ00Ա(A ASàDAADAA Dà5 ԠԱ0(A ASàPGPGAM K3Dà3 Ԡ00Ա3(A0 PBŠDƠ- DMA̠NSANS MMYNŠNSUNS ADAԠ000 UNNPUԠUMN U00NP 5cTRNA ADA SAàý- MPU00ɠ NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 SPà UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS B0UK3 KK0Ԡ00000 ұ0Ԡ0000 NDN T t 24170-80008 C S 0122 RTE/DOS FORTRAN IV SEGMENT 2             H0101 P ASMBҬ̬ìB HDN--PSSNVAUAҠPMAYSGMN NAMN5PSSNVAUA Ԡ.N. ԠA00 ԠA00 ԠDA00 Ԡ030 Ԡ035 Ԡű NԠ ԠN Ԡ00 ԠG Ԡ ԠA00 ԠDN00 NԠS00 ԠAS ԠMNPS ԠMV ԠA00 NԠPB NԠPϱ00 NԠPU00 NԠPϲ00 ԠSP00 ԠZ00 Ԡ00 Ԡ.N AU0A-GS BU àU BSS50 DƠU+DԠUNNAG ̠U+NϠƠDSNSAK ԠU+39NϠDSNSAK MNԠU+-(DSMANϠBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN PҠUMN+PPAҠPY DUMN+9DϠABŠPN(àƠASԠDϩ YPŠUMN+BԠYPŠƠNVSN MUMN+MMD PԠUMN+3UNPNԠNMANPGAM. ҠUMN+9BԠDŠDYP SAV̠UMN+55NϠDSNSKNNYϠ SP̠UMN+5SAVŠP̠AԠBGNNGƠD SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDSSƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA AàUMN+6AUMUA .AƠUMN+0 YPŠUMN+9 SYPŠUMN+SUŠYPŠƠNVSN 3ŠUMN+3NGҠMP̠ҠGϠϠD SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYP,ŠUMN+ YPؠUMN+9YPŠƠNPUԠPϠ PDUMN+93PPAҠD PNUMUMN+9NUMBҠPANDSϠBŠPPPD SԠUMN+96 ԲŠUMN+9P̠AԠBGNNNGƠAS ԴNUMN+99SAKADDSSƠNVSNSU UNϠANGPNԠ NU APYPŠNGAVŠASAAGUNSS SAYPŠNƠNDDҠNVSND DAP SSASSƠUNPNԠSNGAVŬ MPPԬ MP00NAZŠPSSNVAUA DŠGNANUNS A̠HŠNGUNSAŠNSGMNԠN .ANDU .ҠU .NԠU P00U AA00U S00U NP DAS00 SAPԠSAVŠUNPNԠϠMANPG. SBàA̠NSGMNԠN DƠ+3ANDANSҠN̠Ϡ DƠK DƠ+ ASà3N ASSGNPAN A00NP SBGԲ00GԠMMDSƠPϠP. PANYPŠSYPŠNYPŠ? MPA0YSGNAŠADANDS. PAGƠGA̬ MPA0 SASYPŠSYPŠ_YPŠ(SUŠYPũ DANYPŠ(A_BԠYPŠƠNVSN PAGƠGA̬ MPA0 DBSKԠ(B_PNҠϠSAKNY SBN00GNAŠNVSND. A0SBSG00ADSUŠVAAB DASKNɠA..PNҠƠSNGVA. DBSKԬɠA..PNҠƠADNGVA. SBS00ƠԠSDUBŠҠMP.S MPNUNϠMANPGAM A0DAK55 SB00Ҡ-NV.ƠGA̠GA K55Dà55  ADD ADD00NPADDϠPPANDS. SBP00MAHYPSMMUŠƠNNN. SB00HKƠNԠMMUŠUDHP SBSG00SAԠDŠGNAN(AD DAYP PANԠƠNGҬ MPADD0HANDŠԠSPAAY. PAANϬSԠADDUNŠNAM. DB.AD PADB DB.ADD PAP DB.ADD SBS00MPŠANGSUN. MPNUNϠMANPGAM .ADDƠ.B+ANGADD .ADDDƠ.B+6DUBŠPSNADD .ADDDƠ.B+0MPؠADD ADD0DBSKN SBGAD00UPUԠNGҠADD MPNUNϠMANPGAM SUBAԠ SUB00NPSUBAԠPMNԠϠPP SBP00MAHYPSMMUŠƠNNN. DAYP PAAƠA̠PANDS SB00MMUŠHM SBSG00SAԠDŠGNAN(AD DAYP PAN MPSUB0HANDŠNGҠSPAAY. PAANϬSԠSUBAԠUNŠNAM DB.SB PADB DB.SUB PAP DB.SUB SBS00MPŠANGSUN MPSUB00 .SBDƠ.B+3ANGSUB .SUBDƠ.B+DUBŠPSNSUB .SUBDƠ.B+MPؠSUB SUB0DAKK60 SBA00UPUԠ'MANA' DBSKN SBGAD00UPUԠADDN--PPAND MPSUB00 KK60MANA NGAŠ NG00NPGN.DŠҠUNAYMNUS. SBGԱ00GԠPPANDYP. PAGSPPANDGA? MPP0YSҠ-AH.P.UD SBSG00NϬSAԠDŠGNAN(AD DAYPS PANԠSPANDNG? MPNG0YSHANDŠSPAAY. PAANϬSԠNGANUNŠNAM. MPNG0YSHANDŠSPAAY SBA00GԠMMDŠƠPAND DAM PAADDҠƠԠSANADDSSMP̬ MPNG03ANSҠAAYMNԠϠMP. DA.AƠNԬSŠƠԠSAMP ADAKƠYPŠDB̠ҠPؠAHҠHAN DAAɠASMPŠVAAB. SSAƠMP̬ MPNG0GNAŠSB..DMҠ..M NG03DAYP SBA00AAŠDB̠ҠPؠMP. DBSKԬɠSUŠƠSB.DҠҠ. SASKԬɠSAVŠMPDSNANNSAK SBS00GNAŠSB.DҠҠ. NG0DB..DMNASŠDB̠PAND DAYPŠ(AYPŠƠPAND PAP DB..M SBD00GNAŠSB.UN DBSKԬɠHSŠGNAŠDƠPAND SBSԠHANGŠSUԠMG.ϠVA. SBD00GNAŠD. MPNUNϠMANPGAM ..MDƠ.B+MPMNԠANGN(AB ..DMDƠ.B+DUBŠPSNNGAN ..MDƠ.B+MPؠNGAN KDà NG0DAKK60 SBA00UPUԠMANAҠNGҠNG. MPNUNϠMANPGAM NG0DB..MGNAŠSB..M SBD00A̠NGAN. MPNUNϠŠMANBDY. MUPY MPY00NPMUPYPPANDS SBP00MAHYPSMMUŠƠNNN. SB00HKƠNԠMMUŠUDHP SBSG00SAԠDŠGNAN(AD DAYP PANԠSԠMPYUNŠNAM DB.MPY PAA DB.MP PADB DB.MPY PAP DB.MPY SBS00MPŠANGSUN. MPNUNϠMANPGAM .MPYDƠ.B+5-PNԠMPY .MPDƠ.B̠ANGMPY .MPYDƠ.B+DUBŠPSNMPY .MPYDƠ.B+MPؠMPY DVDŠ DV00NPDVDŠN--PBYPPAND SBP00MAHYPSMMUŠƠNNN. DAYP PANԠƠNԠҠA̠PANDS SS PAA SB00ŠMMUAN SBSG00SAԠDŠGNAN(AD DAYP PANԠƠNGҬ MPDV0HANDŠSPAAY PAANϬSԠDVDŠUNŠNAM DB.DV PADB DB.DV PAP DB.DV SBS00MPŠANGSUN. MPNUNϠMANPGAM .DVDƠ.B+ANGDV .DVDƠ.B+9DUBŠPSNDV .DVDƠ.B+3MPؠDV DV0DAKK6 SBA00UPUԠ'B' DAKK0 SBA00UPUԠ'SSA' DAKK5 SBA00UPUԠ'MB' DB.DV SBS00UPUԠSB.DVDƠVAAB MPNUNϠMANPGAM .DVDƠ.B+6-PNԠDV KK6B KK0SSA KK5MB ANA̠SSHAN .ԠNPUPUԠDŠҠұ..Ҳ SBSUB00UPUԠDŠҠұ-Ҳ DAYP PAP MP.ԱPANGA̠ҠPؠAGS SBD00ADSԠDƠDB̠SU SBS00SԠSԽ0YPŠƠG.G. MP.ԬɠUN. .ԱDAK5Ҡ-MPؠGA̠ SB00.....G..G. K5Dà5 ANA̠SSҠUA̠ 6- .ŠNPUPUԠDŠҠұ..Ҳ SB00MMUŠPANDS SB.GŠGN.SAMŠDŠASҠұ.G.Ҳ MPNUNϠMANPGAM ANA̠UAS .ѠNPUPUԠDŠҠұ..Ҳ. SBBN00U.DŠHAԠSSAMŠҠѬN DAYP PANԠƠNGҠPANDS MP.ѲHANDŠSPAAY. PAGƠGA̠PANDS MP.ѱYS DAKKNϬUPUԠ'ASS' SBA00UPUԠNS. .ѱDAKK6 SBA00UPUԠ'MA' MP.3 .ѲDAKKUPUԠ'ASS' SBA00 DAKK9UPUԠ'A' SBA00 .3SBS00SԠSԽ0ANDG.YPŠG. MPNUNϠMANPGAM KK6MA KKASS KKASS KK9A ANA̠NԠUA̠ .NŠNPUPUԠDŠҠұ.N.Ҳ SBBN00U.DŠHAԠSSAMŠҠѬN DAYP PAGAŠPANDSGA? MP.NŲYSDN. PANԠAŠPANDSNG? SSYS MP.Nű DAKKUPUԠ'ASS' SBA00 .NűDAKK0UPUԠ'A' SBA00 .NŲSBS00SԠSԽ0YPŠƠG.G. MPNUNϠMANPGAM KK0A ANA̠GAҠHAN .GԠNPUPUԠDŠҠұ.G.Ҳ. SB00MMUŠPANDS SB.ԠU.SAMŠDŠASҠұ..Ҳ MPNUNϠMANPGAM ANA̠GAҠҠUA̠  .GŠNPUPUԠDŠҠұ.G.Ҳ SB.ԠU.SAMŠDŠASҠұ..Ҳ DAKK6 SBA00UPUԠ'MA' MP.GŬɠUN. GԠ30000M3GA BASŠƠѬNŠ BN00NPU.SԠPAԠƠѬNŠD. SBGԲ00GԠYPSƠPPANDS. PANYP SS MPBN0ƠYPSNԠSAMŬNԠGҠN PANԠƠNGҠPANDS MPBN03 PAGƠGA̠PANDS MPBN03 BN0SBSUB00UPUԠDŠҠұ-Ҳ SBD00ADSԠDPؠҠDB̠MP DAYP PAPؠƠMP SS MPBN0N DAҠUPUԠ'ҠMP+' ҠK DBS SBSA00 BN0DAKKUPUԠ'SZA' SBA00 MPBN00 KKSZA ҠԠ3000 BN03SB00HKϠSŠƠMMUŠHPS SBSG00SAԠDŠGNAN(AD DBYP PBNԠƠNGҠPANDS DAPAUPUԠ'PAPAND' PBGƠGA̠PANDS DAҠUPUԠ'ҠPAND' DBSKNɠPANDSN--PNSK SBSA00UPUԠNSUN MPBN00 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN ҠԠ000 PAԠ5000 ADAԠ000 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 ADMPSԠD D00NPADMPSԠDƠPجDB DBYP PBDB̠ƠPANDDUBŠ MPD0 PBPؠƠPANDMPج MPD0 MPD00 D0DBSԠGNAŠ'DAMP'ϠG DADASSԠDNAGS SBSA00 MPD00 PؠԠ50000M5MP DB̠Ԡ60000M6DUB SԠGA̠SUԠ S00NP ASϠGSҠSUԠ̠BŠSAKD SAS DBGGSҠYPŠGA SBYP MPS00ɠUN AԠ0000MA SAԠDŠGNAN SG00NP A SASԠSԽ0ƠPANSUԠS DBSKԬ SBD00ADPPAND MPSG00ɠUN. UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN SBԠ6000 PPAŠPANDS P00NPSԠUPPANDSҠBʠDŠGN SBGԲ00GԠYPSƠϠPPANDS PANYPŠAŠYPSAADYHŠSAM? MPP03PANDSƠSAMŠYPŠ-PSS DAKM5SAVŠNPNNSNMAN SAMNԠPGAMSAGŠAA DASNPS DBMNPS SBMV DAMA00SAVŠUNPNԠM SAPԠN. Ad640SԠYPŽ0ϠNDA SAYPŠNVYPŠNԠYԠDMND. MPSG.ƠBNGNNƠϠGNNVD. KM5Dà-5 MA00DƠ+ DAKM5SŠNPANSϠVAUS SAMNԠBŠVAYBYN DAMNPS DBSNPS SBMV P03DAYPŠYPŠƠPPAND PAGƠPANDSGA̬. MPP0 PANԠƠNGҬ MPP00ɠ PAAƠA̬ MPP00ɠ SB00MMUŠƠDB̠ҠP MPP00ɠ P0DAK5Ҡ-PAҠUSAH. SB00PANDS. K5Dà5 SGMNԠNPSϠBŠSAVD SNPSDƠ+ɠSGMNԠNPSϠBŠSAVD DƠSUB00 DƠ. DƠ.G DƠBN00 DƠP00 NSHANGSUNŠ S00NP SBD00UPUԠSB.UN DAYP PAAƠPANSHA̠PS MPS0SKPDƠMPDƠPAND. PANԠƠPANSNԠMPYDV MPS0UPUԠ'DƠ' SBA00AAŠMPҠDB̠ҠP SBSԠHANGŠSUԠM0ϠMPP SBD00UPUԠDƠMP. DBSKԬ SBD00DƠPPAND. S0DBSKN SBD00DƠN--PPAND. MPS00ɠUN. DAԠ6000 y6 u 24170-80009 C S 0122 RTE/DOS FORTRAN IV SEGMENT 2             H0101 Q GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 DAKK0DƠA SBA00 MPD00 KK0Ԡ00000 KK3DAA D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00ɠUNPANDNGSS .DDDƠ.B+DUBŠAD NԠԠ0000MNG D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00ɠNԠANYNԠADAB.. 0DNP D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠSŠ S00NPASSUMŠMƠSUŬDRSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS 0SԠNP ԱSԠNP ԲSԠNP SAԠ000 ADDҠԠ0000MADDSS S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DAN00 SAPԠUNPNԠMN SG.ƠSBàBNGNSGMNԠƠ DƠ+3GNAŠNVSND. DƠK DƠ+ ASà3N HKMMUŠ 00NPADƠMM.NԠUD DAAàBUԠMAYBŠADVANAGUSϠG SZASSGSҠPANDNPƠSAK MP00 PASKԠƠPPANDSAADYNG. MP00 SB00SŠMMUŠPANDSAND MP00 MMUŠPANDS 00NPADHNMM.SUD. DAA SZASSƠNϠPANDSNGSS MP0GϠMMUŠPPANDS PASKNƠN--PPANDNG MP0GϠHANGŠAàϠSK. SBGS00NϬSŠPPANDBŠMM. 0DASKԬɠ(A_PPANDNSAK. DBSKNɠ(B_N--PPANDNSAK SBSKԬɠPPAND_(B SASKNɠN--PPAND_(A MP00ɠUN 0DASKԠUPDAŠAàϠSKԠSN SAAàMMUANPUSGSҠP. MP0NPƠSAK. SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPSƠPϠPANDS GԲ00NPGԠMƠϠPPANDS DBSKN SB00GԠMƠNԠϠPPAND SANYPŠANDSAVŠԠNNYP. SBGԱ00GԠMƠPPAND. MPGԲ00ɠUN GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGSS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàN. SBDM00 DA.ASŠGSҠNANNG SBS00ADDSSNMP. DAADD SBDM00HANGŠSMBAKϠADDSS. DA.AƠNSԠMƠMBNGADDSSD SBDA00NϠAƠƠMP̠A..NY. GS0DA.AAVŠ.AƠMP̠NAG. MPGS00ɠUN DNŠM s NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 NAZANSN 00DA̠SAVŠNϠƠDSNPAҠSK SASAV̠SAKNNY(USUAY0 DADNAZŠSAK(PAND SASKBSAKBUNDSϠASԠD SASKԠƠDϠABŠҠASԠD SASKNDAAP. A SAԠN.ƠDSNSAK SAAàAà0 SAAàAà0 SAGG0(N''P.AD A SAPҠNAZŠPYϠ-. SAPDNAZŠPDϠ-. SAASàSԠPVUSàϠ-ASAAG. NAZŠMP̠BASŠNAMS DAKM SAMNԠMVŠDS DAPPNKM. AŬA DAA DBKϠ. BŬB DBB SBMVŠMVŠ.N.Ϡ.NԠ. NYSN DBYPؠ(BYPŠƠNPUԠPSSN. A PBKMƠNPUԠPSSNSDϠNA SAGSԠG-. PBKM6ƠNPUԠPSSNSASSGNS. SAGSԠG-. DAMSAVŠMƠPSSBŠSAMN SAԱŠUNNNAMŠNԱ. DASP̠SAVŠP̠AԠBGNNNGƠPSSB SAԲŠSAMNԠUNND DAN PBKM5ƠNPUԠPSSNSGϠϠND SS PBKMƠNPUԠPSSNSDϠPAAM SBA00AAŠNGҠMP SB3ŠPSSBŠUSŠANDSAVŠA..P. DBYP PBKMƠNPUԠPSSNSANƬ MPűGϠSAK'('ANDNNUŠP. PBKM6ƠNPUԠP.SAASSGNMNԠSAŬ MP035PSSMSAADYSANND PBKMSAMŠASABVŠҠDϠN.PAAM. MP035 PBKM3SAMŠASABVŠҠAAYMN MP035NɯϠS. PBKMƠASUBUNŠA SS MP030 DA PAB50SàAԠPANHSS? MP035YS-PSSHAGS. DASBUPUԠSBNSUN SBA00 A BNBUPUԠDƠ+ SBZ00 DAP MAMAKŠPSVŠN MPA PPNKDƠ.N. KDƠ.N KMԠ- KMԠ- KM3Ԡ-3 KMԠ- KM6Ԡ-6 KMԠ- B50Ԡ50 NPUԠM 00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM MP00 ؠDBYPؠ(BYPŠƠNPUԠPSSN PBKM6ƠASSGNMNԠSAMNԬ MPPԬɠNSHD PBKMƠDϠNA̠PAAMҬ MPPԬɠNSHD PBKMƠA̠SAMNԬ MP6 PBKM3AAYMNԠNɯϠS SS MPSG.ƠNSHUPNSGMNԠ 6SB00NPUԠMNANGHAA. SZAƠM0 MPű0NϬMSSNGDM DASKԬɠ(APҠϠMP̠HADD. MPPԬɠԠMPVAUA ű0DAK53GA̠DMҠ SB00MSSNGPAND K53Dà53 PUSHSAK SAKSHŠPANDSAK.ԠSNHGHŬUS BנHŠDϠABŬANDGSADנ.HS UNŠSNDH(ADϠBŠSAKD. (A.AGNAYPԠHA (A.AɠҠSUB^lҠAAYH(Sԩ (A0ƠPANDSNGS(S. Ơ(A0HNYPŠMƠGSS (AAND(BAŠNԠDSYDBYHSSUBUN PU00NPPUSHSAKϠSAKPANDS. SB0PUSAVŠBGS. B ADB SBԠԽ- ADBSKB SBSKԠNנPҠϠPPANDNSK. PBSKԠƠPPNSHŠSAMŬ MPDPVƠDAAP̠V SZASSƠ(A0PANDSNGSS SBAàSϠSԠAàϠPNԠϠSAKNY. NB SBSKNNנPҠϠN--PPAND. SASKԬɠSŠPANDNSAK. DBYP SZASSƠ(A0PANDSNGSS SBAàSϠSԠAàYPŠƠG.NN DBA MBNB ADBSKN(BSKN-A. SSBƠ(B<0G.NNSB SBGS00SKNSϠGNAŠSŠNMP DB0PUSŠBGS. MPPU00ɠUN DPVƠDAK3 SB00 0PUNP PPSAK Pϱ00NPϠUNSAKANDDSADPANDS. DB ADBPNUMADDN.ƠNSϠBŠPPPD SBԠMSAKϠ. ADBSKB SBSKԠNנPҠϠPPANDNSK. NB SBSKNNנPҠϠN--PPAND. BNASŠGSҠPANDAS SBAàPPPDMSAKSԠAàAND SBAàAàϠ0. MPPϱ00ɠUN. PPSAK Pϲ00NPϠUNSAKANDDSAADPAS B ADB SB̠̽- ADBSKB SBSKԠNנPҠϠPPA B SBPҠNAZŠPDŠANDPҠF0. SBPD DB PBSAV̠SPAҠSAKMPY? SSYS SBSP00NϬUPDAŠPDPҠƠPP. MPPϲ00ɠUN. PAҠABŠ-3DNS D:HŠPA D:SPY D3:ADDSSƠUNŠϠGNAŠSD PB̠DƠ Ԡ5 Ԡ0PY0DŽ DƠA00 Ԡ53+ ԠPYDŽ DƠADD00 Ԡ55- ԠPYDŽ3 DƠSUB00 Ԡ0UNAY-(BANK KԠ0PYDŽ DƠNG00 Ԡ5 ԠPY9DŽ5 DƠMPY00 Ԡ5 ԠPY9DŽ6 DƠDV00 ASà ԠPY0DŽ DƠP00 ASàҠGA̠Ҭ K3Ԡ3PY3DŽ DƠ. ASàANGA̠AND ԠPYDŽ9 DƠ.AND ASàNϠGA̠NԬ Ԡ5PY5DŽ0 DƠ.N ASàԠANA̠SSHAN Ԡ6PY6DŽ DƠ. ASàŠANA̠SSҠUA̠Ϭ Ԡ6PY6DŽ DƠ. ASàѠANA̠UA̬ Ԡ6PY6DŽ3 DƠ. ASàNŠANA̠NԠUA̬ Ԡ6PY6DŽ DƠ.N ASàGŠANA̠GAҠҠUA̠Ϭ Ԡ6PY6DŽ5 DƠ.G ASàGԠANA̠GAҠHAN Ԡ6PY6DŽ6 DƠ.G NDN gn64006 v 24170-80010 C S 0122 RTE/DOS FORTRAN IV SEGMENT 3             H0101 I ASMBҬ̬ìB HDN3--ADŠPSSS NAMN35PSSSANG.. Ԡ.N. ԠA00 ԠD Ԡ00 ԠS00 ԠA00 ԠH00 ԠDN00 ԠUMP ԠHA ԠMPY ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠS. ԠV00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB DƠU+DԠUNNAG ̠U+3DNGH ̠U+NUMBҠƠDSNSAK ƠU+3NPUԽ0UPUԽAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN SƠU+3MPؠNSANԠAG. P̠U+0SAVŠP̠AԠSAԠƠɯϠS AҠU+(A-GUNDM.. SנU+6PSSNSH Դ̠U+9 .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN àUMN+6ADUMNUN--SUŠNŠUMNPN NҠUMN+PNҠϠMPDDϠN.VA DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+ DUMN+DMNSN D3UMN+3DMNSN3 .ŠUMN+9HDS(.A DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG NנUMN+5 ҠUMN+9BԠDŠDYP SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK 0̠UMN+6 àUMN+63MNANGHAA رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. 3UMN+6ASSGNABŠPNҠҠD3.-AB Ա̠UMN+3 MPADUMN+PNҠϠBGNƠMP.DϠBDY Բ̠UMN+5 DADDUMN+6ADADDSS-AԠPNҠҠP MUMN+HDSPNҠϠDϠMNA̠PA M3UMN+HDSPNҠϠDϠSPPAAM 3̠UMN+9 N3U DBSנ..SH ADBSB DBB SBPSנPSSҠSH DAAҠ(AUNDM.. MPPS׬ɠϠPPҠSAMNԠPSS SAMNԠPSSҠSHABŠ SB̠DƠSנVAU DƠADP DƠPҠ DƠױ3 DƠײ DƠ35 DƠ״6 PSנNPPSSҠSH SUBԠ00U(SUBUNũ K6Dà6 ADPSSҠ ADPU A MPP0 ŠPSSҠ PҠU ANA P0SAƠSԠɯϠAG(0ADũ A SAS. SA SBH00NPUԠHAA DAB50'(' SBSԠ-S NPUԠNGҠVAABůNSANԠ SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3r(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAU PAAҠUAAY? SSYS SBV00AGVAAB SBA00HASSGN NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG DADA'DA' SBA00UPUԠ'DA.A' DAKK6'B' DBƠɯϠAG(0ADũ SZBSS DAKK65'BNB' SBA00UPUԠABSUŠNSUN DB.B. DA PAB5'' MPP03MAD SBD00UPUԠ'SB.B.' DA PAB5'' SS MP53GA̠DM SBH00NPUԠHA. DA SA MPP0 K6Dà6 KK6B KK65BNB P0U DBƠUPU? DAK6 SZBN SB00ŠDUPUԠNԠAD SZ SBH00NPUԠHAA ANA SAѠSԠUD A SBAD00UPUԠABS.DAA P06SBP00-NPUԠPA DAPŠM SBS00SABSHNSAN SBA00ASSGNM A SBA00UPUԠ'DƠ.A' DA.A SAS. P0U DA PAB5'ï' MPP0 SBU00UNNPUԠUMN A SAHAҠHAҽ0NAY MP00ɯϠSԠPSS P0DB.DA.(B.Ơ.DA. DAƠɯϠAG(0ADUũ SZA SBD00UPUԠDԠUNN DBS. SZBSS MP+ NB DAP SAB DBS SB.A.ASNG-BAK. SZBrSS MP+ NB DAP SABɠA(.AP B SBS DBS BŬB DBB ADBK MPBɠϠïҠS SԠDƠUMP P0DBѠSԠƠSԠUD DAK63 SZB SB00 MPP0 P03U DB.D.(B.Ơ.D. SBD00UPUԠDԠUNN AMNŠNԠHAAҠ SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN SZA MPPNԠMAԠSAMNԠN. NPUԠSAMNԠNUMBҠ AҠNDϠBANKS DAB0 SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SZ PDAK SBA00UPUԠ'DƠ.A' MPP06 PDA PAB5'' MPP0ŠDNPU NPUԠNAMŠ SB00NPUԠM SZ8A MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SB00N A DBU PBA MPP+UAAY DAK SB00MԠSPàNN-AAYҠSMNԠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B0Ԡ0 B00Ԡ00 KDà KDà ѠNPSԠUDƠNN-0 KDà K63Dà63 D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠϠ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA AҠԠ600U3(AAY NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà K5Dà5 ɯϠSAMNԠSԠPSSҠ 00UAD(Ҡ(S A QSA̠NUMBҠSYNAؠNSSAKD SADADDASԠADADDSSDNA.. SA̠DNGHƠASԠD DAP SASP̠SAVŠP̠ϠMPUŠDSZS 0SB00NPUԠNԠMNS 5DBàSAVŠMNANGHAҠNB SZASSSMMDŠ0? MP̱0YSDMҠASUSԠNPU PBB5NϬSàAN''? MP̲YSPSSMPDϠN 5ANϬHKHHҠAD PAƠŠSBNGPSSD SBNNԠƠNPUԬMUSԠBŠVAAB DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD DA.A(AA..PҠϠVAҠҠAAYNAM DBU SZBSSƠU0 MP̱5GA̠USAGŠƠNAM. PBAҠSNAMŠNSԠANAAY? SSYS MP0NϬNNUŠPSSNG. DB PBB50SAAYNAMŠSUBSPD? SSYS MP0NϬNNUŠPSSNG. DABM3A̠P.VA.ϠGԠAAY DBK3 MPA̠..A ADDҠԠ0000 AԠ0000MA KK3AS .MPYDƠ.B+5-PNԠMPY .D.DƠ.B+MADNYϠMҠ- .B.DƠ.B+9BNAYNYϠM ..DƠ.B+30DUBŠP.DAAɯϠҠM ..DƠ.B+3A̠DAAɯϠҠM ..DƠ.B+3NGҠɯϠҠM .AY.DƠ.B+33DUBŠAAYɯϠҠM .AY.DƠ.B+3A̠AAYɯϠҠM .AY.DƠ.B+35NGҠAAYɯϠҠM .DA.DƠ.B+36 DAԠ6000 DBԠ66000 SBԠ6000 MPԠ6000 KK60MANA KK6SSB KK6SSASS ױU 0SA0̠ϠԠN0. SA.ASŠ.AAND DAHAҠPDNGHA PAB5ANNԠBŠ'' MP53Ҡ53 DA SAHAҠUPDAŠHA GԠMMDŠ SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADD SAMYSSԠMAƠƠ.A DAMMAKŠSUŠUPDADMSN(A SAԱ̠SAVŠMMDŠNԱ DAU SAԲ̠SAVŠMUSAGŠNԲ PAAҠSMANAAYNAM? SSYS MP05NϬNNUŠPSSNG DA. SZAƠ.ŠS0A̠DMNSNSNS. MP03NϬGNAŠAAYSZŠA.D D0:NUMBҠƠMNSҠAAY :(AƠMNSNAAY DAU PAA ANASS MPNAؠNN-AAYϠ SAD0D0 DAM PAPؠMPؠ? SZD0YSD0 SBN00D0D0DDD3 NAؠU SB3̠SAVŠԠN3 MP05NNUŠPSSNG 03DADA DBر SBSA00UPUԠDASԠDMNSN. DAD SZASSƠD0MPYBYSNDDM. MP0ƠD0SKPMPY. DB.MPY SBD00UPUԠSB.MPY DBز SBD00UPUԠDƠDMNSN DAD3 SZASSƠD30MPYBYHDDM. MP0ƠD30SKPMPY. DB.MPY SBD00UPUԠSB.MPY DB3 SBD00UPUԠDƠDMNSN3 0DAKK3(A'AS' DBԱ PBPؠƠMMDŠSMP SBA00UPUԠ'AS'ϠMU.BY. DASA DBB3 SBZ00UPUԠSA+3 A SA3̠SԠ3̠SϠ'NP'̠BŠUPU. 05DAԱ PAPؠƠMPؠMNɯϠSԬ MP0UPUԠSB.AY. DBԲ̠N PBAҠƠNŠAAYBNGUPU MP0"6SԠAAYNYPNԠNM PANԠNϬSԠSNGŠMNԠNY DB.. PAG DB.. PADB DB.. PAA DB.. MP0 06PANԠSԠAAYNYPNԠϠM DB.AY. PAG DB.AY. PADB DB.AY. PAA 0DB.AY. 0SBD00UPUԠSBϠUNŠҠɯ DB0 SBD00UPUԠDƠMN DA3̠SZŠDƠNDD DBԲ PBAҠƠUAAY MP09UPUԠSZŠD DAB DBԱ PBPؠƠMPج 09SBAD00UPUԠSZŠDƠԠ MP̱NSHPSSNGDM ̱0PBB50PSSDMҠANDNNU. MP̱ DAHA PAB5ƠPVUSý'' MP9NNU SZASSƠSAԠƠS MP9 MP53HSŬSYNAؠ 9SBHA ̱DBàNNYAҠPSSNGMNԬ PBB5Sà''? MP̱3YSNנDANDMAHPANS. PBB5NϬSà''? MP0YSSANNԠMNS. 9PBB5SàAAGŠUN MP̲YSؠUPADADDSSPNS 53DAK53NϬNSUN: SB00GA̠DM K53Dà53 ̱SBSƠSԠϠNN-ZϠASAAG SB0̠SAVŠà'('N0̠AND SB00NPUԠNԠMNS. DBNԠ(BNAMŠAGƠNԠM PAPؠSSMMDŠMP? SZBSSANDSԠANSAN? SSNϠ-ԠSNԠAMPؠNSAN MP5YS-MPؠNSANԠNS. SAԱ̠SAVŠMMDŠƠNԠM. DA.A SAԲ̠SAVŠ.ANASŠM0. DA^c640 DB0 SA0̠SAVŠàUSԠNPUԠAND SBàSŠà'(' DAHAҠƠ'('PDDBY'' PAB5 MP53Ҡ53 SBHA SBN00SAԠANנDҠHŠ'(' DB0 SBàSŠNԠ. DAԲ SA.ASŠ.AϠNԠMƠNDD DAԱ SZASSƠMƠNԠMSZ MP̱0NNUŠHUԠSANNNGAGAN. SBA00HSŠHSASSGNS DAMADSMMD MP5ANDNNUŠHUԠUHҠSAN ̱3SBN00SAԠNנDҠ'' A(A- ADASKԠ(ASK-(SAԠMAHHũ DBBMSAHDNHŠSAK SBMP00MSK-ϠMAHH'(' MP0NNUŠPSSNGɯϠS. ̱5DAK SB00GA̠USAGŠƠNAM KDà NԠԠ0000MNG B6 w 24170-80011 C S 0122 RTE/DOS FORTRAN IV SEGMENT 3             H0101 J PSSMPDDϠN̠N. ̲DAHAҠSYNAؠHAҠBŠNDؽ PAB5ƠNԠAMMA SS MP53Ҡ53 SBNNԠN.VA.MUSԠNԠBŠNSAN SBV00UMUSԠBŠVAүN DBD(BPNSϠSԠDϠABŠD. ̲3PBDϠƠNŠDϠABŠHKD MP̲6NNUŠPSSNGMPDD. ADBKPNSϠN̠VAABŠD DABɠNDϠAB.ADA..PN PA.AϠ.ƠSAMŠASMPDD MP3N̠VAABŬҠ5. ADBK3HSŠKAԠN MP̲3DϠABŠNY. ̲6DA.APSSMPDDϠN̠N SANҠSAVŠPNҠϠN̠VA. SBN00SAԠNנDҠNA.D DANҠSŠ.AϠPNԠϠNҠVA SA.A DABM DBK MPA̠..A ײU DAB5MMASԠҠɽMU SBS DABMVAUAŠMNA̠PAAMҠAND SAԴ̠AG DBK5 MPA̠..A K5Dà5 3U SAMSŠPNҠNM SA.AA..PNҠϠPAAM SBAD00SAVŠMPҠM.PAAM A SAԴ DADPASSUMŠSPSZŠS NA DBB5 PBàSàAMMA? SSYS MP̲5 DABMVAUAŠSPSZŠPAAM SAԴ̠AG DBK6 A̠SBSנ..SH DBS BŬB DBB ADBK MPBɠϠ'S' K6Dà6 ״U ̲5SAM3SAVŠPNҠϠSP-SZŠNM3 SA.AA..PNҠϠPAAM SBAD00SAVŠMPҠSP-SZŠPAAM A SAԴ DAB5 SAHA0ҠɯϠSԠHAҠ'' SBSԠMAKŠSUŠà'' SBN00HŠSYNAؠMɯϠSAMN DASK ADABMKҠMAHNGPANHS DBBM(HAԠSASDϠBDY-KNG SBMP00DNHŠSAKMSK-. DAA ҠKK0SŠNMPAD.AɠPNNG SAMPADBGNNNGƠMPDDϠBDY SBD00UPUԠDϠMNAND MP0NNUŠPSSNGϠS SAԠ000 ̲DASKBؠUPADADDSSA..PNS ADABMNAZŠSAKPNҠ SA0̠SKB- ̲DA0̠MVŠSAKPNҠϠPNԠ ADABNԠSYNAؠMNԠSAKD. SA0 DBSK MBNB ADBA(B_SAKPNҠ-SAKP SSBSSHASSAKPBNPASSD? MP33YSDNŠHPSSNGS DBAɠNϬNNUŠϠؠUPADADD. PBB50SSYNAؠAԠPAN? MP̲9YSNDMAHNGGHԠPAN PBB5NϬSSYNAؠAGHԠPAN? MP3YS̠NADADDҠD. MP̲NϬMUSԠBŠDϠNҠVAҬSKP ̲9DBBSAHUPHŠSAKҠMAHNG SBMP00GHԠPANHSS. ADABM3PNSϠSYNAؠM.BŠ. SAԱ DBAɠSPVUSSYNAؠMNԠAN SSBSSMPDDϠN̠VAAB? MP3NϬؠUPADADD.'('. NANSԠADADDSSҠD SBA00NANNGDϠNAZAN. DAԱ̬ɠ(A.AɠϠDϠN̠VA. DBԱ̠(BSKDHHNANS(A 30ADBBMNԠSYNAؠB(BNSK PB0̠SNԠSYNAؠHŠ(ƠDϠBDY? MP3YSNSԠADADDSSҠBDY PABɠNϬSԠDNA̠ϠN.VA? MP3YS-PADN.VA. MP30NϬKAԠNԠSYNAؠNSK. 3DA0̠ADDSSƠDNSAK NANANNGPNҠϠADADD. SBA00NSԠADADDSSNϠA.. MP̲NNUŠNGUPADADDS. 3DAK5ҬDϠN̠VAAB SB00PADNMPDDϠNS. 33ASԠNUMBҠƠMNSSAKD SA̠NSAKϠ0. DASKBSԠSAKPPN SASK ؠMPP0DNŠPSSNGɯϠS GԠ30000M3GA PŠԠ0000M-DPSUDϠNY PؠԠ50000M5MP DB̠Ԡ60000M6DUB AAŠMP̠ϠDϠPSSN AD00NP DB.A ADBK DBB SSBSS MPADؠNԠMP B ADB.N. SB.N..N..N.- ADؠMPAD00ɠ DMA̠NSANS KDà K3Dà3 KDà K9Dà9 K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà KDà K5Dà5 K6Dà6 KMDà- KMDà- KM3Dà-3 KMDà- KM6Dà-6 A̠NSANS BUK B3UK3 B5UK3 B50UK0 B5UK B5UK B5UK B60UK B5UK6 BMUKM BMUKM BM3UKM3 BMUKM NSԠADADDSS A00NPNSԠADADDSSNϠA..  DAAɠ(AADDSSƠDNASSGN. NAABŠϠNANADADDSS DBP̠MPUŠADADDSSҠD ADB̠BYADDNGNGHƠPVUS SBP̠DϠPVUSADADDSS DBAɠAKŠDNGHƠNנD SB̠MASSGN.AB.ANDPAŠN DBP̠̠ҠUSŠNԠM. SBAɠNSԠADADDSSNϠA.. AؠMPA00ɠ NנD N00NPMPŠNϠҠPVUS DASP̠D(NDDNGH MANAANDSAԠNנD. ADAP SADADDɠSŠDSZŠNASSGNAB DAP̠NYҠADADD.ҠD DBDADDƠDADD0 SZBSSNϬNNU SAP̠YSSAVŠP̠AԠSAԠƠS SASP̠SAVŠBGNNNGƠNנD. PAŠɯϠSYNAؠNSAK DA PAB50SSYNAؠAԠPAN? MPP0YSSAK. PAB5NϬSSYNAؠAGHԠPAN? MPP0YSSAK. DA.ANϬSAKPNҠϠN̠VA ҠKK0(A_.A..APNSϠNԠVA P0SBPU00SAKSYNAؠƠɯϠSԠNSK DAPŠADMҠϠDPSVDϠN SBS00SABSHDUMMYA..NY SBA00ANDASSGNԠϠAB DA.ASAKNPƠɯϠS SBPU00SYNAجHŠA..PNҠϠHS DA.A NASAVŠPNҠϠDNASSGN SADADDABŠϠHDNԠADADDSS. DBKK0 UPUԠADADDSS DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.A HSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS NؠMPN00ɠASSGNMNԠABŠPN KK0Ԡ00000DƠA 00Ԡ0000AD.NDA MAHPANHSS MP00NPMAHPANNSAK SA0MPANƠPANϠBŠMAHD SBԱMPSAHUPSKS+DNS- BNAZŠPANUN MP0DA0MPDƠDSAKNY DAAɠNNSƠSAKD(SYNAة PAB50SSYNAؠ'('? NBYSUNԽUN+ PAB5NϬSSYNAؠ''? ADBBMYSUNԠUNԠ- SZBSSSUNԠ0? MPMP03YSNSHUP DA0MPNϬ ADAԱMPUPDAŠPNҠNSAK SA0MPPNԠϠNԠSYNAؠMN MANA ADASKB(A_SKB-PN SSASSHASBMƠSAKBNPASSD? MPMP0YSMSMAHDPANS. DA0MPNϬ MANA ADASKԠ(A_SKԠ-PN SSASSHASPƠSAKBNPASSD? MPMP0NϬNNUŠSAH MP0DAK9YSMSMAHDPANS SB00NϠUN MP03DA0MPUNPNҠϠSKD+ NA(PNSϠDҠA..PN MPؠMPMP00ɠҠADADDSSSANGD 0MPBSS ԱMPBSS àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà UNNPUԠUMN U00NP A ADMPD03 D0DADBDBM3(ƠVAABŠSP-SZũ SBSA00 DAKK6SSB(ƠVAABŠSP-SZũ SBA00 DAKK60MANA(ƠVAABŠSP-SZũ SBA00 D0DAKK6SSASS(VA.ҠPS.SP-SZũ D03SBA00 DAMP DBMPADMP(BGNNNGƠDϠBDY SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN DؠMPD00 0MҠBSS ұ0Ԡ0000MMYN KK0SSA KKSZA GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 ADAԠ000 UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 NPUԠM 00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA8U0.*00ASSGNM MP00 NDN3 0 x 24170-80012 C S 0122 RTE/DOS FORTRAN IV SEGMENT 4             H0101 L ASMBҬ̬ìB HDN--SPANSSGMN NAMN5SPANSPSSS Ԡ.N. ԠBUƥ ԠA00 ԠA00 ԠDG ԠS00 Ԡ00 ԠM Ԡ ԠA00 ԠH00 ԠDN00 ԠUMP ԠMV ԠA00 ԠS00 Ԡ00 ԠZ00 ԠPAK ԠPU00 ԠP00 ԠSS00 ԠS00 ԠV00 AU0A-GS BUB-GS àU BSS50 .DPU+ؠԠABŠADD SBƠU+6SUBPҠAG(0MANSŠSUBPG. .A.U+SUBSPԠNMANAG GU+9-AG(SԠƠSUBSPԠDUMMY ƠU+NA̠SAMNԠAG MU+3SԠMMNASSGNMNԠPN ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG NUGU+3N.ƠUVANŠGUPS P̠U+3AVŠPGAMAN YPƠU+YPŠSAMNԠAG MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ ŠUMN+UVANŠABŠPN ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+ UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG N̠UMN+3NUMàAG(0ƠàSADGQԩ NSUMN+NUMBҠƠSUBSPS NԠUMN+3 PƠUMN+6UPUԠPAKAG .PAKUMN+SԠHASNHHSNG ҠUMN+9BԠDŠDYP SUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SKBUMN+60 SKԠUMN+6 àUMN+63MNANGHAA S.UMN+SNGBAKAN N̠UMN+NԠNKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD MUMN+99ASԠMMNASSGNMNԠPN NDAPK AŬA SAPK DASM AŬA DAA SASM(AàƠ'UMP' MMAU DASPSנSAMNԠPSS ADASPB̠SPANSHAB DAA MPAɠANSҠN̠Ϡ PKDƠBUƥ SMDƠUMP SPANSHABŠ SPB̠DƠSPSנVAU DƠUNPҠ DƠSUBPҠ DƠPG3 DƠNPҠ DƠAPҠ5 DƠDBPҠ6 DƠPPҠ DƠGPҠ DƠPҠ9 DƠMPҠ0 DƠUPҠ DƠDMPҠ DƠM063 UNPҠU SUBPҠUUNP PGUUNP SBà_. DƠ+3.BNGN DƠK.UNPүSUBPүPG DƠ+.SGMN ASà3Nà_. ҠïҠSԠ ԠB DA PAB5'' MPMMAý SBƠAҠNA̠AG DBK SԠADBS+?M A SADGSԠDMMUVAG MPBɠϠSԯSM HANGŠNKS HANGŠA(.AA(Ʃ 00NP DA.A SAԱ SB00HNK DB SB.A SB00NKD DBԱ SB.A SB00NKD MP00ɠ Ա̠BSS NN-DUMMYNN-SUBPGAMSԠ NDS00NP SBNSUBԠNN-SUBPGAMS SBDUMKDUMMYHK SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB DUMMYHK DUMKNP DAKK(A-DUM ADAAԠ(AA-DUM MPDUMK KKԠ3000 NA̠ PҠANA SAƠSԠԠAG SBNM00NPUԠNAM SBS00AGSUBPGAM MPԠҠïҠS VAҠԠ00U(VAABŠҠNSANԩ NGҠ NPҠDAN MPYP0 A̠ APҠDAA MPYP0 DB̠Ԡ60000M6DUB DUBŠPSN DBPҠDADB MPYP0 NԠԠ0000MNG AԠ0000MA GԠ30000M3GA PؠԠ50000M5MP KK0ԠԠ0000 MPؠ PPҠDAP MPYP0 GA̠ GPҠDAG YP0Sԃ?AM̠M̠SԠϠHŠMDŠYPD DASƠASԠSAMNԠAG SZA MPYP06SԠSAMNԠƠPGAM YP0ANA SAYPƠSԠYPŠAG DANMNԠNAMNԠDUPUԠY? SZAYS SB00NϬUPUԠ SBNM00NPUԠNAM DA.A PASB SS MPYP05 DA.A ANDKK0 PAM̠HKҠMƠ-YPDUNN MPYP05 DAK3 SBMUNNNAMŠ-YPD MPYP06-3 YP05U DAM SBDM00DNŠM SBA00HASSGN DBU DAVA SZBSS MPYP09 YP0U A SAYPƠSԠYPŠAG MPNDMϠNPUԠDMNSN YP06U SBS00SAVŠ SBDN00NPUԠDNA DA ҠB'' SZA MPYP0YPŠNN-UNN SZ SBS00SAVŠ SB00SŠ ANA SASPSנSԠSPS׽ҠUNN SBà_. DƠ+3. DƠK.ϠSAMNԠD DƠ+. ASà3Nà.BNGNUNNPSS YP0SB00SŠ MPYP0 YP09DBA PBSAB MPYP0 SBDU00SԠUVAүN MPYP0 K3Dà3 BԠ SABԠ000 DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU ]NMPDU00 KK6Ԡ SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU MPS00ɠ SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 KM3Dà-3 B300Ԡ300 KDà KDà K3Dà3 K6Dà6 MNԠD 00NP DAPKɠDƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. DAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00SAVŠAKANDSҠNUMBS SBS00UPUԠS DASB SZASS SB00UPUԠ MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ K5Dà5 K5Dà5 KMDà- KK0Ԡ600 HNK 00NP DB.A DAB ANDKK0 PAA MP0U(.AA 0NB DAB SAN̠N̽G(B ؠMP00ɠ 0NB DBBɠ(BG(.A MP0 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN UPUԠϠ 00NP SB00UPUԠADýP A SBA00UPUԠ'NP' DASB DB.DP ADBB5.AƠ'' SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' SBSSB00SԠUPSNGBAKMPAN MP00ɠ B5Ԡ5 SBԠ6000 MPԠ6000 SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 PŠԠ0000M-DPSUDϠNY SԠUPSNGBAKMPAN SSB00NP DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MPSSB00ɠ UPUԠADADDSS  A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà KDà SPà3 NPUԠNAMŠ NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPNM00ɠ ƠNPHANGŠNKAG(NN-0ϠHANGũ NPUԠDMNSN NDMDA PAB50'(' MPDM0 DM0DAƠHANGŠNKAGSԠ? SZASS MPԠNϬϠ'ҠïҠS' A SAƠSԠHANGŠNKAG SB00HANGŠNK MPԠҠïҠS KDà DM98NSN DMPҠANA SADGSԠDMMUVAG SBNM00NPUԠNAM DM0SBDUMKDUMMYHK B SZA B SB0DM00ƠDUMMYSŠ- DAA SAԱDMԱA DA SAԲDMԲƬSAVŠ DA.A SAƠƽ.A SBNSUBԠNN-SUBPGAMAS DAU PAA SS MP+3 DAK5 SB00AAYNAMŠDND DAK DB PBB50'(' SS SB00AAYHUԠDAA DA0DM SBSP00NPUԠSUBSP DAS.. SADɠ. DAS.MVŠS-ABŠϠD SAD+. DAS3. SAD+.. DANSN.ƠSUBSPS AҬA AҬAҠ(ANS SBS00ϠSԠMNS DADMB6000 SA.A.SUBSPԠNMANAGS A SAUU0 SBA00ASSGNM SB00HANGŠNK DB SB.A.A DAA SBDU00DNŠUA DAԱDM DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DB.A NB DBB ADBK SABɠBADD(.AA DAԲDM SAƠSŠ MPDM0 0DMBSSSԠ00(DUMMYҠ- ԱDMBSSSAVŠA ԲDMBSSSAVŠ DMԠ6000AԽ6(DMNSNMANNY. AҠԠ600U3(AAY B50Ԡ50 B5Ԡ5 AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHIA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN DAN SZASS(ANN-0MANSNSAN MPV00 DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 KDà KDà K9Dà9 K3Dà3 K39Dà39 B5Ԡ5 B0Ԡ0 B5Ԡ5 KKASà KK5ASà MԠ000AԽ(MMN àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSNϊS.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG DAB50'(' SBSԠàS A SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 SP0DA0SPSŠ(A SZA MPSP06 SBN00AMNŠNԠHAA SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPSP0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS DUMԠ5000AԽ5(AVŠHNDUMMYé NPUԠNGҠ N00NP SBDN00NPUԠDNA DAMMNGҠ? PAN MP+3 DAK6N SB00MNԠANNG DAK9 DBNԠSԠANSANԠ? SZBSS SB00N DADɠHŠNGҠUSԠNPU MPN00 K6Dà6 MMNPSSҠ MPҠANA SADGSԠDMMUVAG SBH00NPUԠHA. PAB5'' MPM0ý SBU00UNNPUԠUMN M0DAB5K3ADDҠƠM06 SASPSנSԠSAMNԠPҠSנϠM06 DAMSԠMMNASSɠPҠSԠ? SZA MPM06YS SBNM00NPUԠNAM DA.A SAƠƽ.A SAMMSԠMMNASSɠP MPM0 M0SBH00NPUԠHAA PAB5'' MPM0ý DAK SB00AB̠MMNNԠAD M06UϠPSSNAMŠNMMNBK DAMASԠMMNASSGNMNԠPN SA SBNM00NPUԠNAM M0DA.A SAMASԠMMNASSGNMNԠPN SBNDS00NN-DUMMYNN-SUBPGAMS SBN00NN-MMNS DA.A ANDKKB0 ҠM SA.A SAƠSԠAGϠHANGŠNK MPNDMϠNPUԠDMNSN KKԠ0 UVANŠPSSҠ K0Dà0 UPҠSBN0G0AMNŠNԠHA. DB PBB50'(' MPU0 DAK0 SB00 U0U DAK SAPƠSԠUPUԠ.PAKAGϠ U0SBH00NPUԠHAA PAB5 MPU0ýï PAB5 SS MPU0 SBH00NPUԠHAA PAB50 MP+ PAB5 MPU0- MPU0 DAP PAK MPU06Pƽ U0SZNUGNUGNUG+ DA PAB5ï MPU05ýï SBU00UNNPUԠUMN MPU0 U05DAK DBK6 MPSԠϠSAMNԠMNAN U06DAKK'' SAŬɠSŠNϠUVANŠAB MPU0 U0DAKK5'' DBP PBK MPU09Pƽ DAB5'' SA.PAK DAB0BANKHAA SBP00MNAŠPAK MPU0 U09B SBPƠSԠUPUԠAG MPU06+ NKD 00NP SAԱ SB00HNK DAԱ SABɠG(BԱ DAN̠(ANԠNK MP00ɠ ԱƠBSS NN-MMNSԠ N00NP DAK36 DBA PBM SB00GA̠USŠƠMMNNAM MPN00 K36Dà36 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ *NLHMNAŠPAK NPU:(AHAAҠϠBŠPAKD P00NP SBPAKPAKBANKNϠ.PAK A SAPƠSԠUPUԠPAKAG MPP00 NDN {N y 24170-80013 C S 0122 RTE/DOS FORTRAN IV SEGMENT 5             H0101 N ASMBҬ̬ìB HDN5--AŠMMNGUPUVMS NAMN55̠MGPUVMS Ԡ.N. ԠA00 ԠA00 ԠDA00 Ԡ00 ԠM Ԡ ԠA00 ԠH00 ԠDN00 ԠMPY Ԡ00 ԠPU00 ԠP00 ԠV00 ԠPA ԠPA AU0A-GS BUB-GS àU BSS50 ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB GU+9-AG(SԠƠSUBSPԠDUMMY MU+3SԠMMNASSGNMNԠPN ̠U+NUMBҠƠDSNSAK NUGU+3N.ƠUVANŠGUPS P̠U+3AVŠPGAMAN SZŠU+MMNSZ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3 ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV ƠUMN+DNK DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SUMN+5SUBSPuԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK àUMN+63MNANGHAA N̠UMN+NԠNKAN NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBDN00NPUԠDNA SZA SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPSY00ɠ KDà KDà K3Dà3 NPUԠSԠMNԠ ϠNPUԠANMHAԠANBŠNANDHNAS ANDNSUŠHAԠHŠMHASNԠBNYPDASDUMMY ҠSUBPGAM 00NP SBSY00NPUԠSYMB SBNDS00NN-DUMMYNN-SUBPGAMS DAU PAA MP0UA SBV00AGVAAB B 0SBS ؠMP00ɠ 0SBSP00NPUԠSUBSPS SBA00HASSGNS DAK3 DBNSN.ƠSUBSPS MBNB(B-(B ADBNDN.ƠDMNSNS SSB SB00MŠSUBSPSHANDMNSNS DAS3 DBD SBMPY ADBS DAD SBMPY ADBS DAD0 SBMPY MP0 D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠ.Ϡ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 UPUԠADADDSSP 00NP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MP00 00Ԡ0000AD.NDA UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN B600Ԡ600 KK0UB600 0NB DBBɠ(BG(.A MP0 PA.DƠPAҠABS.àƠPA AŠMMNMS 0ϠBSSSZŠƠMMNS N5U DAPA. AŬA DAA SAPA. DAMSԠMMNASSGNMNԠPN SAN̠NԠNK SA.A.AM SZASS MPGUNϠMMN A SA0ϠSZŠƠMMN0 MSBA00HASSGN SBN00D0:DSҠM HNK DB.A DAB ANDKK0 PAA MP0U(.A=A 0NB DAB SAN̠N̽G(B DA0 SBDA00DNŠAƽ0 DAU PAA SS MPM3 DAP SBDBA00DNŠBASŠADD. DB0 DAK SBM00UPUԠ'DƠ0' M3U DA0 ADAD0 SA0Ϡ00+D0 DAU SZASS SBV00AGVAAB DAN SA.A.ANԠNK PAM SS MPM DA0 SASZŠSZŠƠMMNS A SAM GUPUVANŠ GUU DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADNԠBŠNPU DANUGN.ƠUVANŠGUPS SZASS MPGŲϠASSGNSPAN DB DAB ANDKK0B00 PAKK6''ԠUSD MPGŲ DAKKï G0SABɠSŠNϠUVANŠAB ADBKM SBŠŽ- DAKK SABɠSŠNϠUVANŠAB G0SBS00UƽD-Šý A SAMƠSԠMMNAG G06SBH00NPUԠHAA DAK0 DB PBB50'(' SS SB00UVGUPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN DAUƠUVABŠPҠAG SASUƠSAVŠU G0SBS00NPUԠSԠMNԠSZ DAA PAM MPGűAԽM G09DA PAB5'' MPG0ý SBP00-NPUԠPA PAB5 MPGűý PAB5 MPGű0ýï G0DAK SB00rGA̠M.ҠANUVGUP K0Dà0 KDà Gű0DAMƠANYMMNNGUP? SZASSYS MPGŲ6N GűSBP00(A+U- SAPAҠ'('AN DAMƠANYMMNNGUP SZASSYS MPG06N DASU SAUƠSŠU DAK0 SAàý GűSBS00NPUԠSԠMNԠSZ DAA PAM MPGŲ0AԽM DAS̠àƠNDŠƠNDAAY MANA ADA0G SAԱGŠԱ0-D0 SSA MPGŲMMNBASŠ..0 SBDA00DNŠA DAM SBDA00DNŠAԽM DAU PAA MP+3 SBV00AGVAAB MPGű5 DAP SBDBA00DNŠBASŠADD. DBԱG DAK SBM00UPUԠ'DƠԱ' Gű5U DAD0SZŠƠNDAAY ADAԱGŠBASŠƠNDAAY DBASAVŠN(B MANA ADASZŠ(ASZ-(D0+Ա SSA SBSZŠNנMMNSZ Gű6DA PAB5'' MPGűý SBP00-NPUԠPA SBBG00BANKUVANŠGUP SZASS(AƠUVGUPS MPGŲϠASSGNSPAN MPG0 KDà K0Dà0 MԠ000AԽ(MMN K0Dà0 KDà KK0Ԡ00 KK6Ԡ6000''ԠUSD KKԠ65ïҬï KKԠ5'ï' KMDà- KMDà- GűANA SAMƠSԠMMNAG DAS ADAA SA0GŠ0S+A MPG09 GŲ0DAS MANA ADA0G PAA MPGű60-SA DAK0 SB00MPSSBŠGUP GŲDAK SB00MMNBASŠ..0 GŲDAKKïҬï MPG0 GŲ6DANUGN.ƠUV.GUPS SZA MPGŲ GŲU A SAUƠSԠUƽ- DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MPASPàASSGNSPAN GŲSBS00UƽD-Ŭý SB00UPUԠADADDSSP DAP SASVP̠SAVŠP A SAMN.Ơ.APSNUVSAKB SAMҠM A ADAŠ(A- SAPBASŠ.ƠUVSAKAB SBH00NPUԠHAA PAB50'(' SS MPG06+UVGPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN SBS00NPUԠSԠMNԠSZ DAS SAԱGŠԱS DA.A SAƠƽ.A DAD0 SAUMUPPҠM A SBSP00SAHUPҠSAK A SBDA00DNŠAƽ0 DA PAB5'' ASS MPG0ϠMANYHASNANPAND SAMƠSԠMMNAG G30U SBS00NPUԠSԠMNԠSZ DAD0SZŠƠSԠMN SAԴGŠԴD0 A SBSP00SAHUPҠSAK SZASS MPG3 ANA SAMƠSԠMMNAG DAS PAԱG MPG3ԱS DAK0 SB00SAMŠNAMŠHDNԠDSP. G3DA.A SAԲG DA SA.A SBA00HASSGN DBS(AA(Ʃ MBNB ADAB ADAԱG SANBASNנBAS DBԲGŠSŠ.A SB.A SBDA00DNŠAƽNBAS DBAb(A(BNBAS MANA ADAMSM..NBAS SSASS SBMYSSԠMNBAS ADBԴGŠ(BNBAS+D0(.A DAB MANA ADAUMSUM..NBAS+D0 SSAN SBUMYSSԠUMNBAS+D0 DA PAB5'' MPG30ý SBP00-NPUԠPA DA PAB5'' MPG3 PAB5ï MPG3 MPG0GA̠GUPSPAA G3SBP00(A+U- SAPAҠ'('AN SBBG00BANKUVANŠGUP DANUGN.ƠUVANŠGUPS SZASS MPGŴ6 G36DA PAB5 MPGŴýï G3SBH00NPUԠHAA PAB50'(' SS MPG06+GUPNԠSAԠH'(' SBP00(A+U- SAPAҠ'('AN DA SA3GŠ3 DAU SAPҠSAVŠU GŴ0SBS00NPUԠSԠMNԠSZ ANA SBSP00SAHUP SZASS MPGŴNԠNUPҠAB SAƠSAVŠPNҠN SAMƠSԠMMNAG DAS SAԱGŠԱS DA3G SAàSŠ DAP SAUƠSŠU MPG30 GŴDA PAB5'' MPGŴ0ý SBP00-NPUԠPA MPG36 GŴDAMƠMMNAGSԠ? SZASS MPGŴ6N A SAMƠSԠMMNAG DANUGN.ƠUVGUPS SZASS MPGŴ6MPY SBS00UƽD-Ŭý MPG3 GŴ6DAM MANA ADAUM ADAP SAP̠P̽P+UM-M SSA MPPVP̠V DBKM ADBŠ(B- GŴSBP DAMN.ƠPSNSAKAB SZASS MPGŲ6 DAPɠPKUPHŠPҠSŠԠN.A SA.A SBA00(AA(.A DBM MBNB ADAB ADASVP̠ADDP̠SAVD SAԱG SBDA00A(.AA(.A-M+SVP DAU PAA SS MPGŴ9 SB00UPUԠADADDSSP DAP SBDBA00DNŠBASŠADD A DBԱG SBM00'DƠBASŠADDҠƠAAY' GŴ9U DA SBDA00AԽ A ADAM SAMMM- B ADBPPP- MPGŴ PVDAK SB00P̠V KDà DAAMPSҠGUPUVAN MƠBSSMMNAG(0NϠMMNNGP SUƠBSSSAVŠU SVP̠BSSSAVŠP MBSSN.Ơ.APSNUVSAKB PBSSBASŠàƠUVSAKAB MBSSҠMԠƠUVGUP UMBSSUPPҠMԠƠUVGUP NBASBSSNנBASŠƠUVGUP PҠBSSSAVŠU 0GŠBSS ԱGŠBSS ԲGŠBSS 3GŠBSS ԴGŠBSS B5Ԡ5'ï' KK06ASàϠBANKS ASPàU SBà_. DƠ+3.BNGN DƠK.ASSGNSPANMS DƠ+. ASà3NG_. KDà MABASà PAɠNP BANKUVANŠGUP BANKHŠAAPAҠϠPA BG00NP DAPA. SAPA DBPAҠ''AN DAB PAMAB'' ADBKM BG0DAKK06BANKS NB SAB DAB MA ADAPA SSASS MPBG0(B..PA DA PAB5 MPBG06ýï BG0A ADANUG SANUGNUGNUG- BGؠMPBG00ɠ BG06DAKKïҬï SAPAɬ BG0DAPA PAD MPBG00 SZPA DAPAɬ PAKK06 MPBG0 ANDB3 DBKKï PAB5'' SBPAɬ DBKK'ïҠï' DAPAɬ PAMAB'' SBPAɬ MPBG0 B3Ԡ3 SAHUVANŠPNҠSAK NY:(A0NҠϠSAKƠNԠAADYNAB (ANVҠNҠHŠSAK :(A0ƠNϠMAHSŠ(APҠƠNYNASSɠAB SP00NP SA0SPSAVŠNY(A DAMN.ƠMSNSAK SZASS MPSP0MPY MANA SAԱSPԱ-M DBKM ADBŠ(B- SP0DAB PA.A MPSP0MAHD ADBKM(BNԠSAKAN SZԱSPSAKHAUSD? MPSP0N SP0DB0SPϠNҠNϠSAK? SZBYS MPSP06NϬϠ A ADAP SAPPP- DBϠASԠDàƠASSɠBŠ+ MBNB ADBA SSAP.G. MPDPVƠDAAP̠V DA.A SAPɠSŠ.ANϠSAK SZMMM+ SP06A SPؠMPSP00ɠ SP0DA.A MPSPؠϠ DPVƠDAK3 SB00DAAP̠V 0SPBSS ԱSPBSS NPUԠSԠMNԠANDSZŠ S00NP v SB00NPUԠSԠMN SBN00D0N.DPҠM MPS00ɠ SԠUƠà S00NP DA MANA ADAD SAUƠUƽD- DAK SAàý MPS00ɠ KMDà- (A'('Ҡ''ADDSS P00NP A ADAU ADAŠ(A+U- DBA ADBKM SBPAҠҠҠPN-UԠPUPS MPP00 NԠԠ0000 AҠԠ600U3(AAY ̠Ԡ000AԽ(AVŠàHNPG DUMԠ5000 DMA̠NSANS K3Dà3 K9Dà9 K3Dà3 K39Dà39 KDà KDà MASKNSANS A̠NSANS B50UK0 B5UK DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DBA00NP DB.A NB DBB ADBK SABɠBADD(.A(A MPDBA00ɠ KKԠ3000 NN-DUMMYNN-SUBPGAMSԠ Q NDS00NP SBNSUBԠNN-SUBPGAMS DAKK(A-DUM ADAAԠ(AA-DUM SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB B5Ԡ5 NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSN.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG SAS SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 DA DBU SSB MP+5NN-UVGUPPSSNG PAB5'' MPSP00 PAB5 MPSP00 PAB50'('? MPSP0YS DAK SB00AAYNAMŠNԠD('' KDà SP0DA0SPSŠ(A SZA MPSP06 AMNŠNԠHAAҠ SBH00NPUԠHAA UNNPUԠUMN A ADA SAàý- DAN̠0ƠHA.ADGԬSŠN SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN l SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPSP0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS NPUԠNGҠVAABŠ V00NP NPUԠNGҠVAABůNSANԠ SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB SBNSԠNGҠS SBNNԠNN-NSANԠS MPV00 NPUԠNGҠ N00NP SBDN00NPUԠDNA SBNSԠNGҠS DAK9 DBNԠSԠANSANԠ? SZBSS SBMN DADɠNLHHŠNGҠUSԠNPU MPN00 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ NGҠSԠ NSԠNP DAMMNGҠ? PAN MPNSԬɠYS DAK6N SB00MNԠANNG K6Dà6 NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà SPà3 NDN5 %N z 24170-80014 C S 0122 RTE/DOS FORTRAN IV SEGMENT 6             H0101 P ASMBҬ̬ìB HDN6--NNԯMԯBSNDƯɯND NAMN65PSSSGUP Ԡ$ND ԠA00 ԠDɠ ԠDA00 ԠD00 Ԡ00 ԠM ԠS00 Ԡ ԠA00 ԠDA ԠGNA00 Ԡ00 ԠH00 ԠDN00 ԠDS00 ԠUMP ԠA ԠA00 ԠS00 Ԡ00 ԠZ00 ԠPAK ԠPS00 ԠSU00 ԠSS00 ԠV00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN .DPU+ؠԠABŠADD UDU+5.U.ƠSԠDV NPU+ƠNSPҠPAG DϠU+5PҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ƠU+0ҠAG(ƠMS00AD PNU+NN-0ϠŠPN MPU+9 P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN SPƠU+36UNԠSAMNԠV NNŠU+3-(ƠNSMANDNPAGũ Ա̠U+5MƠƠPSSN Դ̠U+9'DAA''AS'AG .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AԠUMN+5ADDSSYP DUMN+9àƠASԠD D0UMN+0N.DSPҠNY(BASDNM DԠUMN+DGԠUN DɠUMN+3DDNNNGHŠNSANS MUMN+MMD UUMN+MUSAG SƠUMN+9ASԠSWAMNԠAG SNUMN+30ASԠSAMNԠNUMBҠAG SPUMN+3ASԠPANAG NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NנUMN+5NUMBҠƠDSNASSGNMNԠNY PƠUMN+6UPUԠPAKAG .PAKUMN+ ҠUMN+9BԠDŠDYP ϠUMN+5 SPSנUMN+56SAMNԠPSSҠSH àUMN+63MNANG.HAA S.UMN+SNGBAK. DUMN+90DDBSS3 N6U DAMP AŬA DAA SAMP̠(A'UMP' DASPSנSAMNԠPSSҠSH ADAKM5 ADAPB DAA MPAɠϠSAMNԠPSS MP̠DƠUMP SMADBMP MPBɠϠSԯSM SAMNԠPSSҠABŠ PB̠DƠ+SPSנVAU DƠNPҠ5 DƠNPҠ6 DƠMPҠ DƠBKSPҠ DƠNPҠ9 DƠPҠ0 DƠNDPҠ NDŠPSSҠ NPҠDAB00ؽҠND- MPB0 BAKSPAŠPSSҠ BKSPҠDAB00ؽҠBAK-SPA MPB0 B00Ԡ00 NDPSSҠ PҠDAB00ؽҠND B0SAԱBҠSAVŠ SBDN00NPUԠDϠNԠASSGN SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00GA̠PAND SBV00AGVAAB DAMMNGҠ? PAN ,MP+3 DAK6N SB00MNԠANNG DADA'DA' SBA00UPUԠ'DA.A' DAԱBҠ(ة ADAG+30000B SADɠDɽ30YY DAN SBS00SABSHNSAN SBA00ASSGNM DAADA SBA00'DAADA' DB.APŠ.Ơ'.AP' SBD00UPUԠDԠUNN SԠDBK MPSMϠ'S' KDà .APŠDƠ.B+39ҠNDBAKSPAŬҠND ԱBҠBSSSAVŠ ADAԠ000 AҠDϠ0 DNP A SAD SAD+ SAD+ MPD KDà K6Dà6 B50Ԡ50 B5Ԡ5 K9Dà9 K0Dà0 MAԠPSSҠ MPҠDAK SAPƠSԠUPUԠAG SBH00NPUԠAHA PAB50'('? MP+3YS DAK9 SBMSԠHAҠNN'(' DASNUNԠSAMNԠ'S.A SZASS MPMP NA DBA SZBSS DBP ADBKM SBA MPA SAPM MPSBD SBDS00NPUԠDGԠSNG DAD+ SADɠDɽD DA PAB0'H' MPMP9 PAB MPMP6 PAB5ï SS MPMP DA.PAK AƬA ANDB3 PAB5''? MP+3YS MP3U DAK0 SBMASԠHAҠNԠ'' A SAP DBK6 MPSMϠSAMNԠMNAN MPSB00NPUԠUMN SBPAKPAKHA. PAB5 MPMP3 DAPM SZA MPMP DAD ADAKM SADɠDɽD- SZA MPMPH.SNGNԠYԠHAUSD MPMPSNGHAUSD MP6SZPM MPMP MPDA PABý"? MPMPYS MPMPN MP9DBD SZB MPMP DAK0 PBD SSDԽ0 SB00MPYHSNG SZD MPMP K0Dà0 PMƠNPPMŠ""AG BԠ B00Ԡ00 B0Ԡ0'H' B5Ԡ5 UNPSSҠ NPҠSBH00NPUԠAHA. DBSBƠSUBPGAMAGSԠ? SB.A SZBSSYS MPNPNϬUNNMANPGAM SBN00UNHAND MPNP NPSBPM00PGAMMNANàA DAK SBM NPDAԱ̠MƠƠP. PAG SSGA MPUMP BNB SBSPSP NB MPSMGϠϠM .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS .DDDƠ.B+DUBŠAD DB̠Ԡ60000M6DUB KDà UNHAND N00NP DASƠSԠASUBUN SZASSNϬԠSAUNN MPNPYS PAKSƽ? MPNPYSSԠUNNUNN DAMP'MP' DBS SBM00UPUԠ'MPS' MPN NPDAP SASƠSAVŠP̠ƠSԠUN DBSB DAB ANDKK0B0000 PAN MPNP6M(SBƩN PAG MPNP6M(SBƩG PAA MPNP5MA DB.ҠMPؠҠUN PADB̠MDB̠? DB.DҠYS(BàƠDUBŠ SBD00UPUԠDԠUNN DAKK0'0' DBDA̠SԠAG.. SBM00UPUԠMMYNŠNS. MP+3 NP5DB.DD.ƠDUBŠADUN SBD00UPUԠDԠUNN DBSB SB.A.ASB ASS(A0ϠUPUԠ'DƠ.A' NP6DADA'DA' SBA00UPUԠA NPU DAMPɠ'MP' DBϠUN'NP'. SBM00'MPϬ' NؠMPN00ɠ KK0Ԡ00000 MPɠԠ6000 NԠԠ0000MNG UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN NNUŠPSSҠ NPҠDASPASԠPANAG ADASNASԠSAMNԠNUMBҠAG SASPSPSP+SN A SAS MPSԠïҠS MPԠ6000 HNSANԠ 00NP SBDɠAҠDɠBUҠϠ0 SBN00(A-(N.ƠDSNDD SSASS MPؠDUMMYҠDNY DABDɠ.ƠSԠDƠDɠBU SAԱ DB.A ADBK 0DAB SAԱìɠSŠDDNϠDɠBU SZԱàBUMPDɠBUҠPҠBY NBBUMPDDàBY SZNנDDHAUSD? MP0N ؠMP00ɠYS ԱàBSSDɠBUҠPN .BAD.DƠ.B+50PSUDϠ'BAD'UNϗ!N K6Dà6 KDà KK0Ԡ0000ϠAԠMD KMDà- KM5Dà-5 DAԠ6000 AԠ0000MA N00NP DB.A DAB ANDK ADAKM MANA SANנ(AN׽-(N.ƠDSND(.A MPN00 NDPSSҠ ASSGNADDSSSϠNSANS UPUԠNDDҠAD A̠NNDPASSANDANSҠN̠Ϡ K5Dà5 K30Dà30 KDà NDPҠU SBSU00UPUԠ'ND' DBDàƠASԠDϠNYNDϠAB DKSBN00SAVŠDϠABŠP PBDϠNDƠDϠABŠSAH? MPDK5YS DASNSHSSAMNԠADϠM? PAB MPDK3YS DBN00N00N00+5ϠNNUŠSAH ADBK5 MPDK DK3DAK30 SBMGA̠DϠMNA DK5U DBSN SZB SBD00DNŠAN DBP PBMP MPNDP DBSP PBK MPNDP0 DBԴ SZBSS MPNDP0 DAK SBM DAS. NA DBP SBA NDP0U DASBƠSUBPGAMAGSԠ? SA.A SZASSYS MPNDPNϬNԠASUBUNŠҠUNN SBN00UNHAND SBA00HASSGNS DAU DBSƠSԠAUNN? SZBNϬԠSASUBUN ҠVA DBA DAK6 SZB SBMUNNNAMŠNԠUSD SUBUNŠNAMŠUSD NDP3DADP NA SA.A.ADAAP̠SAԠADDSS NDPSBGNA00GԠNԠ.A SSASS MPNDP6NDƠASSGNMNԠAB HDAb8NDASSGNS DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAND+5 SBN00 SSASS MPD0NϠDD(DUMMYҠD DABND.ƠSԠDƠNDBU SAԱD DB.A ADBK D0DAB AƬA ANDB3 SAԱDɠSŠSԠHAҠNϠNDBU SZԱDBUMPNDBUҠàBY DAB ANDB3 SAԱDɠSŠNDHAҠNϠNDBU SZԱDBUMPNDBUҠàBY NBBUMPDDàBY SZNנDDHAUSD? MPD0NϬNNU D0SBA00HASSGNS DANנƠDSNNY ADAKM3 SSA MPNDPҠ-DNS DAN SZA MPNDP5NSAN PAU MPNDP9U0SAMNԠ MPNDP ԱDBSSNDBUҠPN K66Dà66 NDPDAK66 SBMPGAMUNNHUԠBDY A ADAP SAP̠P̽P- SB00 MPNDP0 NDP5DAN SZASS MPNDPNԽ0(NN-NSANԩ DAU PAVA SS MPNDPNNVAABůNSNA DAA PA MPNDPAԽ SB00UPUԠ.A.P SBD00AԽ̬A(.AP SB00HNSAN SB00UPUԠNSAN MPNDP NDP6U SB00UPUԠADýP DADP NA SA.A SBD00DNŠAN ANA SBAD00UPUԠNGҠ DB.BAD. DAƠƠSNMPAN SZA SBD00'SB.BAD.' DAұNDƠDB̠DSMAK SA SB00UPUԠD SBSS00SԠAKANDSҠNUMBS S>BS00UPUԠHŠASԠS DAƠƠS SZASS MPNP9 B NPADAKMԠ(A(A-000 SSA MPNP SZB(B(B+ MPNP NPADBB60(B000HDG BƬB SBN+ ADAK000 B NP6ADAKM00(A(A-00 SSA MPNP SZB(B(B+ MPNP6 NPADBB60(B00HDG ADBN+ SBN+ ADAK00 SBPD00PAKDGSϠAS SAN+0HUNԠDGS NP9SBAԠAԠNSԠDV DBK SBPNSԠ-PNԠAG DANDKàƠMSSAG SBPS00PNԠƠS SZ$ND DANN ADAKM SANN DAB00 ADAUD SAN SBAԠAԠNSԠDV SB DƠ+ DƠK3 DƠNϠPƠPAG DƠNN DANP MANA SANN BNGNSNDPASSANDANSҠN̠ϠԠ SBà_. DƠ+3.BNGN'SAP-UԠPN DƠK.ƠMANPGAM'SGMN DƠ+. ASà3N B60Ԡ60 KMԠDà-000 NNP B00Ԡ00 KMDà- K3Dà3 NDPSBAA00ASSGNADDҠϠVAABS MPNDP PGAMMNANàA PM00NP DB.DP ADBB6(B.Ơ'.' DASB'SB' SBSA00UPUԠ'SB.' A DBK SBZ00UPUԠ'DƠ+' DAK6 SAD DAN SBS00SABSHNSAN SBA00ASSGN'6'ϠDAAP A SBA00'DƠ6' MPPM00 NDPSBPM00PGMNANàA MPNDP3 K6Dà6 DUMԠ5000 NDP9DAA PA MPNDP PADUM MPNDP DA.A PASB MPNDPASUBUNŠNAM MVŠNDϠDɠ DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ DAND PAB00 SS MPNDP SBAԠAԠNSԠDV DAD SAUNAB DAD+ SAUNAB+ DAD+ SAUNAB+ DANDK3àƠMSSAG DBK9 SBPS00PNԠUԠUNDNDMSSAG SZƠƽ+ NP MPNDP NDPADAVA SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU SBD00DNŠ. DAP ADAD0 SAP̠P̽D0+P SSASSP̠V MPNDP PVDAK SB00P̠V KDà KK6Ԡ B6Ԡ6 ASà UNABASà9UNDND NDK3DƠUNAB ASà NҠASàNϠS NDKDƠN KM00Dà-00 K000Dà000 K00Dà00 GԠ30000M3GA SUBԠ00U(SUBUNũ VAҠԠ00U(VAABŠҠNSANԩ AҠԠ600U3(AAY ̠Ԡ000AԽ(AVŠàHNPG SABԠ000 DMA̠NSANS K9Dà9 K3Dà3 KM3Dà-3 MASKNSANS A̠NS#tANS B0UK3 B00USUBB00 B3Ԡ3 BԠDŠDYPŠMSԠPASS ұԠ60000NDƠPGAMDAADS BNDDƠND BDɠDƠD KDà KDà PAKDGS NY:(AϠDGԠDMA̠NUMBҠBNAZD :(AASɠUVANԠƠNY(A PD00NP B PD0ADAKM0(A(A-0 SSA MPPD0 SZB(B(B+ MPPD0 PD0ADAB(AUNԠDGԠNAS ADBB60(BN'SDGԠNAS BƬB ҠB(AN'SDGԠMGDHUNSDG MPPD00ɠ KM0Dà-0 K5Dà5 BUK5 SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 ASSGNADDSS ϠASSGNSAGŠϠASNGŠVAABŠҠAAY NPU:.APNSAԠHŠANDDAŠҠSAGŠASSGNMN UPU:SAGŠSASSGNDҠHŠMN(ƠNԠY ASSGNDPNDAԠBY.A AHMNԠHASSAԠSԠϠ̠ANDSAƠS ϠHŠMNSAVŠANHNHŠB UPUԠP̠BUMPDBYSZŠƠHŠMNԠҠAAY. AA00NP DANԠANAMŠ? SZAYS AAؠMPAA00 DAA PASAB SSNԠYԠASSGND MPAAؠAADYASSGND DAU PAVA MPAA0UVA PAA SSUA MPAAؠNHҠVAҠNҠAAY AA0SBD00DNŠAN DAP ADAD0SZŠƠMN SAP̠P̽P+D0 SSA MPPVP̠V MPAAؠϠ KMDà- UPUԠMPɠ 00NP DAMPɠ'MP' SBA00UPUԠ'MPɠ.A' MP00ɠ UPUԠNSANԠ 00NPUPUԠNԬAGPجҠDB DAD0NSAN. MANA SA0àHDSNG.ƠN.DSNNS. DABD SAԱàHDSADD.ƠNԠDϠU. 0DAԱìɠADPAԠƠNSANԠϠBŠU. SBAD00UPUԠD SZԱàADDSSƠNԠDϠUPU SZ0àNUMBҠƠDSԠϠUPU MP0ƠϬUPUԠMŠDS. MP00ɠƠϬDNŠUPUNGNS. 0àBSS ԱàBSS SBԠ6000 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN UPUԠADADDSS A00NP DA00NHFBDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NDN6 MH { 24170-80015 C S 0122 RTE/DOS FORTRAN IV SEGMENT 7             H0101 R ASMBҬ̬ìB HDN--SAP-UԠSGMN NAMN5SAP5DS ԠBUƥ Ԡ ԠAK00 ԠGNA00 ԠMV ԠSAP AU0 BU àU BSS50 ..U+0 .DPU+-ԠBASŠADD. UPUDU+6 KNϠU+ASԠAKUSD DSàU+DSàGUNԠƠASԠAK MNԠU+-(DSMANDBŠMVD .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠP BUƠUMN+0SԠDƠSԠBU ƠUMN+5-ԠB̠AG KKԠ5 NDANK ANDKK35 SANK DANK ANDKK35 DAA SANK ϠSԠAƱϠ0N--AB DA.DP SA.A.ABASŠàƠ--B SAP0SBGNA00GԠNԠ.A DAƠSԠNؠB? SSASSYS MPSAPN DB.A ADBK DABɠ(ASԠϠHAS. ANDKKB5 SAB MPSAP0 SAPU SBAK00AAŠAAK A SASNNAZŠSҠ DANKɠBASŠADDҠƠSAPAA SAMVàMVŠM SAPDAKM6_. SAMN DAMVà.MVŠ6DS DBNK.NϠPBU SBMVŠ_. DAMV ADAK6 SAMVàBUMPMVŠMàBY6 DADSàGUNԠ ADAB500 SAND SBàANSҠN̠Ϡ DƠ+PNԠƠUNM DƠKŠUS DƠNDN̠NMAN NKDƠBUƥ DƠK6BUҠNGH DƠKNϠAK DƠSNSҠ SZSNBUMPSҠBY DASN PAK5DSSAPPD? SSYS MPSAPNԠY DAKM5_. SAMNԠ.MVŠABŠ DAؠ.SAPPDAA DBNKɠ. SBMVŠ_. DABNKSBANKS SABUƠSԠDƠSԠBUƠBANKS DA..PUNHDAPŠUD? SSASSYS MPSAP DAUPUD ADAB000 SAAD SB DƠ+3 DƠK3GNAŠAPŠAD DƠAD SAPU SBà_. DƠ+3.ANSҠN DƠK.ϠNDPASS DƠ+. ASà3N_. NKDƠSAPSAPAABASŠADD BNKSASà SNNPSҠ MVàNPMVŠMAN NDԠ50ŠDSàNBNAY ADàԠ00 B500Ԡ500 KDà K3Dà3 B000Ԡ000 KDà K6Dà6 KM6Dà-6 KM5Dà-5 KK35Ԡ NDPASSABSBUS ؠDƠ+BASŠADDҠƠB̠ϠMVŠϠSAP AA MAHNŠANGUAGŠNSUNABŠ MNS Ԡ0000060000660000000000003000 Ԡ000005000060000600000000 Ԡ00300006000000030 Ԡ006000060 Ԡ00000000360000 Ԡ000000030000000030 Ԡ000000300000000000000 Ԡ00000000000000 ASSNBYNSUNSYMB̠ABŠ SYMԱ Ԡ0503500005300305005 Ԡ30003500530 SYMԲ Ԡ00500006000060 Ԡ000550000560005 Ԡ5000550005000055 Ԡ500005; 3000050300 ASà0 Ԡ0055005056000553 Ԡ00055300505350055 Ԡ00505530050560050553 Ԡ00505350050005 Ԡ005056000553000553 Ԡ00505350060000 ASà0 Ԡ0055000550005 Ԡ005053500503005053 Ԡ5005000503000553 Ԡ000500505600005 Ԡ5000505500550 Ԡ53505000 NA̠UNNSYMB̠ABŠ S ASà.MP.DV.AD.SB..M.MPY ASà.DV.DD.DSԠ.Dɠ.D.D ASà.DD.ɠ.ɠ.Ҡ.ADD.SUB ASà.MPY.DV.ADD.SUB.MPY.DV ASà.DҠ.Ҡ..MAP.NҠ.D..B. ASà.......AY..AY..AY. ASà.DA..PAUS.SP.APŠ.DB̠..DM ASà..M.ɠ.DB̠.Pؠ.DPؠ.DN ASà9.NԠ.GϠ.BAD. MDŠƠMP̠ABŠ MD NP ASà....D.A. Ԡ000 BU BSS60ŠBU BU BSSADBU BUƴ BSS0 NDN  | 24170-80016 C S 0122 RTE/DOS FORTRAN IV SEGMENT 8             H0101 T ASMBҬ̬ìB NAMN5 HDN--NAMNԯԠDS Ԡ Ԡԥ ԠMV ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3 UDU+5 UPUDU+6GA̠UNԠƠPUNHDV NPU+ GϠU+ADGϠAG(NN-0MANȘG UNDU+9.U.ƠSԠDV(0YSŠP SKNϠU+0SANGAKNUMB UNԠU+GA̠UNԠNUMBҠƠSԠAK SBƠU+6 NNŠU+3-(ƠNSMANDDNPAGũ SZŠU+MMNSZ MNԠU+-(DSMANDϠBŠMVD .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0SԠDƠSԠBUƠSBANK HAD̠UMN+MN+ϠMN+50(PAGŠHADҩ PGNUMUMN+5PAGŠNBNAY ϠUMN+5 ؠUMN+BGNNNGƠNSANԠAB BASŠDƠSAPBASŠADDSSƠSAPAA NU DADBUƠDŠNDԠB. AŬA SADBU DABAS AŬA(AADDSSƠSAPAA DAAɠNMANPGAM. ADAADԠADDDSPAMNԠҠS SAADԠANDSŠBAKNAD. DAUNԠؠàN̠DSҠBNAY ҠB00 SADSàN̠DҠDSàNPU DAUPUD ҠB00 SAPUNàN̠DҠPUNHDUPU UPUԠNAMD DASKNϠDNŠDA SADA SB.ADADSNϠBU DBDBUƬɠ_. ADBB3. DABɠ. SAPAGű+.MVŠPGAMNAMj NB.ϠPAGŠHADҠN DABɠ.BU SAPAGű+. NB. DABɠ. SAPAGű+9_. DANPƠNSPҠPAG MANA SANNŠNNŽ-(ƠNSMANNG DASZŠSŠSZ DBDBUƬ ADBK SAB ADBK9MPUŠHKSUM SB SBHKSM DAKDNŠU SAU AƬA SABUƠDNGHGSNSԠD SB.ԠUPUSNAMD UPUԠNԠD DAàANSҠNԠϠSAԠƠBU SAB ADAB SAP DADBUƬ SAASS SBANS DBSBƠSHSASUBPGAM? SZBSS MPűNϬNNU DBϠNSԠSUBPGAMNYAN DADBUƬɠNϠNԠD ADAK6 SBA űU DAASSàSԠHKSMPAAMS SA SBHKSM DAB SAU SB.ԠUPUԠN ANA SAPGNUMPAGŠ UPUԠԠD(S DAK59 ADADBUƬ SABU SBS DA.DB̠SԠA SAA DAMK5 SAұ DAADԠSԠP SAP PB̠DBAɠNYNGAV? SSBSS MPADVP MBNBMAKŠPSV DAMK3 SAҲ NUSZàADԠNY DAPԬ SAì SZP SZҲ MPNU ANDKK ADAB SZD SAì MPADVԠAPPNDDN ADVPԠDAPԠSԠPԠϠNԠNY ADAB3 SAP ADVԠDA PABU SBS SZA SZұ MPPB DA.DPSԠAҠD NA SAA KϠDAA PA MPNA PADPADP? SZASԠAҠDAAP DAAɠMPUŠSN ANDB ADAA SASN DAAɠMPUŠMUSAG ANDK600 PAK00 MPPD NNԠDASNŠGϠϠNԠNY SAA MPK PDSZAMPUŠD DBA SSBSS MPNN MBNB DAàSԠDPN ADAB3 SAMP DSYMSZA DAANԠNY? PASN MPAPPD SZààADVSA DAAɠADSYMBS SAì MPDSYM APPDSZD DAMP ANDKK ADAB SAMP DAMP SA DAàBUƠD? PABU SBS MPK SŠNP DADSԠD SZASS MP.DB. A ADAD ADAB3 SAU AƬA DBDBUƬ SAB NBNDD DAU ADADBUƬ SAMP DAKK00 ADAD SAB ADBK NADAB NB PBMP MP MPN נDBDBUƬ ADBK SABɠ3 SB. SBSԠN MPSŬ NA̠SBS MP.DB. SԠNP DAK ADADBUƬ SA ASԠD SAD DAKKBBSSBUƠϠBANK DBDBUƬ ADBK60 SBMP DBDBUƬ AҠSAB NB PBMP MPSԬ MPA MPUŠHKSUM Ҷ HKSMNP DBDBUƬ NB DAB ADBK MŠADAB NB PB MPS MPM SҠDBDBUƬ ADBK SAB MPHKSM A̠SGMNԠNDϠPSSDB̠DS .DB.DANDNŠN̠D ADAUD SAN DAKM3SԠMVŠUN SAMN DAZZMVŠMPAAM DBYYMVŠϠPAAM SBMVŠMV DAKM0 SAMNԠϠMVŠ0DS DAMàMVŠM DBMàMVŠϠ SBMVŠMVŠPAGűϠHAD SBàANSҠN̠Ϡ'DB' DƠ+3 DƠK DƠ+ ASà3ND MàDƠPAGű PAGűASà0PAGŠ000PNAM MàDƠHAD KM0Dà-0 ADNMDAŠDŠ .ADNP SB DƠ+ DƠKUSԠDŠҠAD DƠDS DƠBU DƠBU DƠDA DƠDS MP.AD PUNHAPŠUPUԠϠADANDGϠŠ .ԠNP DA.. SSASS MPGHK SBàUPUԠNϠUSDPUNHUN DƠ+5 DƠKUSԠDŠҠ DƠPUN DƠBU DƠU GHKDAG SZASS MPND SBԥUPUԠϠDSKҠG DƠ+3 DƠBU DƠU NDԠMP.Ԭ ANSҠBKUNŠ  ANSNP NSDAB SAASSì NB SZASS PBP MPANS MPNS VAABSANDNSANS B3Ԡ3 BԠ B00Ԡ00 KDà KDà K6Dà6 KDà K9Dà9 KDà K59Dà59 K60Dà60 K00Ԡ00 K600Ԡ600 MK3Dà-3 KM3Dà-3 MK5Dà-5 .DB̠DƠ.B̠SAԠƠ.B ADԠDà9BASŠANƠS ASSàNPASSBƠP ұNPUNҠҠ.B̠AB ҲNPUNҠҠԠNY ANPUNԠDADDSSNABS DSԠԠ0 DAàNP DBUƠDƠBUƠBASŠADDSSƠ BUƠNPASԠADDҠƠBU DSàNP UԠԠ0NGHƠNNSUPUD PUNàNP PԠNPԠPN PҠNPPN BU̠Dà6BUƠNGH SNŠNPSAԠNԠNY MPNP MPNP àNPŠANPN DNPNUMBҠƠNS YYDƠ ZZDƠ+ ABŠƠNSANSϠBŠ SDNMMN BUƱԠ3PҠϠADàDƠDB̠ B5Ԡ5 BԠ NԠ00 KKBBԠ000 KK05Ԡ5053 KK0Ԡ0 KK05Ԡ500 KK05Ԡ500 KK06Ԡ6000 KK00Ԡ00000 KK3Ԡ300 KK60Ԡ60000 KK6Ԡ6 KK00Ԡ0060 KK50Ԡ5055 KK5Ԡ56 KK300Ԡ30060 KK30Ԡ300 KK00Ԡ0000 KK60Ԡ6000 KKԠ00 KKԠ0 NDN [$"$ } 24170-80017 C S 0122 RTE/DOS FORTRAN IV SEGMENT 9             H0101 V ASMBҬ̬B HDN9--NDDSYMB̠ABŬSAP-NSGMN NAMN95SAPBAK Ԡԥ ԠBUƥ Ԡƥ Ԡ.N. ԠA00 ԠAK00 ԠDɠ ԠS00 Ԡ ԠGNA00 Ԡ00 ԠMV ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA ϠU+3 UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG SKNϠU+0SANGAKNUMB KNϠU+ASԠAKNUMBҠUSD KNUKNϠAKN. UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK DSàU+DSàGUNԠƠASԠAK DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. NƠU+5NҠPGAG(SԠƠPԩ NƠU+N̠AG(0SNPSSN NNŠU+3NϠƠNSSϠAҠPND AҠU+ MNԠU+-(DSMANDϠBŠMVD .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0 .AUMN+0ASSGNMNԠABŠPN àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ ƠUMN+5ؠԠB̠AG SNUMN+ƠSSAKƠASԠAK ŠUMN+UVANŠABŠPN UƠUMN+0UVANŠAG(NG.ƠNԠPSSNGUV DUMN+-.DҠNԠ..NAM DɠUMN+3DDNANNGHŠNSANS SƠUMN+9ASԠSAMNԠAG SPUMN+3ASԠPANAG PƠUMN+6UPUԠAG PGNUMUMN+5UNԠPAGŠHADNGNUMB SKBUMN+5BGNADDҠƠPANDSAK SKԠUMN+59NDADDҠƠPANDSAK SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK NUMN+0 NMNԠUMN+NAMNԠDSUPԠG(0UPUԩ K6Dà6 N9U DBPBUPGԠADDSSƠPBUƠNϠPBUP BŬB DBB SBPBUP DAAҠƠAҽ6UNM PAK6NH-HSYMB̠AB MPSBUSԠUPU.APHNGSUP NSUԠNDD DBױ BŬB(BB.P.DN.BUƠADDSS DBBɠ(BADDSSƠŠBU SBױNSԠNϠàA̠ҠPUNH SBײNSԠNϠԠA̠ҠG DAB000NDDNGH. SABɠSԠNGHNϠSԠD. A PASBƠƠSBƽ0MANPGAM. NASԠANSҠADDSSNDA. ADAKK0DDNԠ0NBS5-3 NB SABɠSԠNϠSNDD. NBHSSASϠHKSUM. SABɠSԠԠNϠHDD. A NBASԠDHHҠANSҠADD SABɠҠNԬS0.SԠԠND. DA..(AMPҠN̠D SSASSƠNGAVŬ MPGHKNϠ-SŠƠADANDGϠS. DAUPUDYS-PUNHNDDA. ҠB00SԠBԠNN̠D SAPUNàBNAYUPU. SB DƠ+5 DƠK DƠPUNàNBNAYNPUNHDV ױ!DƠBUƠSANGAԠŠBUҠAN DƠKҠAA̠ƠUҠDS. PUNHAҠ DAUPUD ADAB000SԠBԠNN̠D SAA̠AҠUPUԠUS SBàANDUPUԠHŠA. DƠ+3 DƠK3USԠDŽ3ҠAҠUPU DƠA UPUԠNDDϠADANDGϠŠ GHKDAGϠADANDGϠAG. SZASSƠ0NϠADANDGϠ. MPSYMB̠GϠϠSYMB̠ABŠUPUԠUN SBԥŠUԠNDD DƠ+3ADANDGϠ. ײNP DƠK SBƥ SYMB̠ABŠUPUԠUNŠ SYMB̠ABŠPGAM UPUSABŠƠANS ҠVAABSAAYSAND SAMNԠNUMBS SYMB̠DA..PNԠABŠƠԠS ANDK SZASS MPSB DBNPƠAԠP MBNBƠPAGŠAADY PBNN MPSPNNU DBNNŠNSMANNG ADBKM SBNNŠ-(NSMANNGNPAGũ SBàGϠϠPƠPAG DƠ+ DƠK3 DƠN DƠNN SPU DAK6NYPNԠ6SYMB SAAҠABŠUNŠSNNH SB DƠ+3 DƠK DƠ+ ASà3NH SAPBAKMANPGAM SBA SASNNAZŠSҠ DASBKBA&SŠADDҠƠSAPAA ANDKK35 DAA SAMVàMVŠϠAN DADSàGUNԠƠHŠASԠAK ADAB00BNAYMA SANDN̠NMAN SB0SBà_. DƠ+. DƠK.A̠àϠAD6DS DƠND.MAK'KN'S DƠ.B̠.'SN'NϠ.B DƠK6. DƠKNϠ. DƠSN_. DAKM6_. SAMNԠ. DASBK.MVŠHŠ6DSϠSAP DBMVà.AA SBMVŠ_. DAMV ADAK6 SAMVàBUMPSAPAABY6 SZSNBUMPSҠBY DASN PAKA̠SAPPDAABNMVDBAK SSYS MPSB0NԠY ASŠA̠AKS SBà_. DƠ+3.ϠASŠA DƠK5.PGAMAKS DƠKM_. MPMANUNϠPASS VAABSANDNSANS B00Ԡ00 B000Ԡ000 B000Ԡ000 KDà KDà K3Dà3 KDà K5Dà5 KDà K6Dà6 KMDà- KM6Dà-6 KK35Ԡ KK0Ԡ0000 NDԠ0ADNBNAYMA ABŠASà6SYMB̠AB PUNàԠ0 MVàNPMVŠϠAN SNNPSҠ SBKDƠ.B̠BASŠADDҠƠADBU SBKDƠSAPBASŠADDҠƠSAPAA A̠Ԡ00 N:HŠNGMUSԠBŠNHSD: KK36KK3KK3NPKK39KK0KK5 KK36Ԡ-000 KK3Ԡ-000 KK3Ԡ-3000 NP KK39Ԡ-5000 KK0Ԡ-6000 KK5Ԡ-000 BDɠDƠD KK3ASà KK33ASàN. XBBASà KM3Dà-3 K99Dà99 K05Dà05 KM3Dà-3 MSGDƠ+ ASà ASà5N. ASàҠDDAԠUMN ANNAZAN MANU DAKK3'' SAD DAKK33'N.' SAD+ DABB'' SAD+ DAKM3V SAMNԠ. DABDɠ.(PBU+35'N.' DBPBUP. ADBK3. SBMVŠV DAKM3 SAMNԠ. DAMSG(B+3'N.' DBPBUP. ADBK05 SBMVŠV SBAK00AAŠAAK DAKNAKAAD SASKNϠSANGAK DADSàG.UNԠ SAUNԠ.U.ƠSԠAK DASNƠSSAK SANS DA.. ANDK SZASS MPNPAG DBNN ADBKM SBNNŠ-(ƠNSMANDNPAGũ SB DƠ+ DƠK3ϠPƠGPAG DƠN DƠNN NPAGA SAPƠSԠNԠϠUPU SAN SASנSԠϠDŠGNANNPUԠADSƠNDD DAK3 SAàSŠUMNUN SANMNԠSԠNAMNԠAG SB00NPUԠUMN DAAB0000 DBPBUP NB SABɠDDNԽ00(NAMD DAKM-GN-DŬSZŽ5- ADBK5 SABɠSZŠƠMANPGAM A SAN DBPBUP DAB ADBK ADAK6PBU+ϠPBU+6SԠϠ0 SBN00NAZŠϠ0 DAPPNKNDƠMMNAB DBPPNK.Ơ.B SBN00NAZŠ.B̠ABŠϠ0 DBNPƠNSPҠPAG MBNB NB SBNNŠ-(ƠNSMANDNPAGũ DAK99 DBPBUP ADBK0 SABɠPYSԠϠ99 NAZŠ-BԠN-NA̠ABŠϠ0 DA.DP SA.A.ABASŠ.Ơ--AB N0SBGNA00GԠNԠASSGNMNԠPN DAƠSԠNؠAB? SSASSYS MPN0N DA.A ANDKKB6 SA.AɠSԠ-BԠϠ0 DB.AYSSԠA(.A0 NB A SAB MPN0 KKԠ6 PBUPDƠBUƥ KMDà- N0U SBDɠD_--0 DAKM SAMNԠϠMVŠDS DAPPNK3MVDM DBPPNKMVDϠ BŬB DBBɠ(B.Ơ.N. SBMVŠNAZŠMP̠SAԠS. DADPDAAP̠SAԠAN NA SAϠNDƠASSɠABŠ.+ SASKB SASKԠSKԽSKB SASƠSƠ.N.0(PԠSԠSMNԩ SASP DADϠASԠAVAABŠMMYAN SAŠŽD SADDD SASKB SASKԠSKԽSKBD A SAUƠUƽ- SADD- SZDɠDɽD+ DANԠMN SBS00SABSHNSAN SBA00ASSGNM A SANƠ_. SBà. DƠ+3.ANSҠN̠ DƠK.SNP DƠ+. ASà3N_. PPNKDƠSB PPNKDƠMNàƠNDƠMMNAB PPNK3DƠKK36 PPNKDƠ.N. K0Dà0 KDà NAZŠϠ0 N00NP MANA+*($.PBU+ϠPBU+6 ADAB SAԱPPN.M̬SƬSBƬSƬSPƬƬ A..ASԬDP̬.A.SGG PPNMSABɠ.M̬ԬYPƬ NB..B̠AB SZԱPPN. MPPPNM_. MPN00ɠ ԱPPNBSS-(UNԠƠDSBŠNAɠϠ0 K3Dà3 NԠԠ0000 AԠ0000 NDN9 ˀ* ~ 24170-80018 C S 0122 RTE/DOS FORTRAN IV SEGMENT 10             H0101 O ASMBҬ̬ìB HDNA--ƯGϯDϯASƯA̠PSSS NAMNA5 ԠBUƥ Ԡ.N. ԠA00 ԠDA00 ԠD00 Ԡ00 ԠM ԠS00 Ԡ ԠH00 ԠDN00 ԠUMP ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠS00 ԠV00 ԠA00 ԠASNM AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠAN ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ƠU+6ƠAG ̠U+NUMBҠƠDSNSAK M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+3SNGBAKAN NƠU+N̠AG(0SNPSSN AҠU+(A-GUNDM.. Ա̠U+5MƠƠPSSN SנU+6PSSNSH Դ̠U+9 .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ D̠UMN+6DMҠAG--S(ƠàADM DɠUMN+3DDNANNGHŠNSANS MUMN+MMD UUMN+MUSAG SWNUMN+30ASԠSAMNԠNUMBҠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SP̠UMN+5SAVŠP̠AԠBGNNNGƠD SKBUMN+60BGNADDҠƠPAҠSAK SKԠUMN+6NDADDҠƠPAҠSAK ԱSƠUMN+6 ԱB̠UMN+6ƠSAMNԠNUMBS àUMN+63MNANGHAA DSNUMN+3DϠSAMNԠNUMBҠSAVD 0SƠUMN+3SAVŠASSɠPҠƠSMNԠUNàNAM ԲSƠUMN+5 NAU DAPK AŬA SAPK DAS AŬA DAA SASʠ(AàƠ'UMP' DBSנ..SH ADBSB DBB SBPSנPSSҠSH DAAҠ(AUNDM.. MPPS׬ɠϠPPҠSAMNԠPSS PSנNPPSSҠSH SʠDƠUMP SԠADBS MPBɠϠSʯDϯMA̲S SAMNԠPSSҠSHABŠ SB̠DƠ-6SנVAU DƠAP DƠPҠ DƠGP9 DƠGS60 DƠDPҠ DƠDϱ DƠDϲ3 DƠSPҠ DƠASƠ5 PKDƠBUƥ K0Dà0 K6Dà6 A̠PSSҠ APU SBSY00NPUԠSYMB DAK6 DBB0 PBND+5 SS SBM DBB0 SBND+5 DAND_ AƬAƠ. ҠND+. SADɠ. DAND+. AƬAƠ.(D+0 ҠND+3.(ND+035 SAD+. DAND+. AƬAƠ. ҠND+5. SAD+_ DBPK ADBK0(BàƠPGNAM DAD ҠB NB SZA MPA5 DAD+ ҠB NB SZA MPA5 DAD+ ҠB SZA MPA5 DAK5 SB00PGNAMŠSAMŠASADNAM K5Dà5 A5U DAU PASUB SS SBS00AGSUBPGAM A DBK56 MPSԠϠ'A̲' K56Dà56 SUBԠ00 00Ԡ0000AD.NDA GNAŠPGAMNANŠ GP00NPUPUԠDŠϠSAԠMANҠSUBPGAM UPUԠADADDSSP B DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS DBSB SB.A DAP SZB SBDA00A(SUBPNAMũP A SBA00UPUԠ'NP' DB.NҠGNAŠNYD: SBD00GNAŠ'SB.N' A(A_0ҠD DBSP UPUԠMMYNŠNSUN SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN GPؠMPGP00ɠUN 0MҠBSS ұ0Ԡ0000MMYN .NҠDƠ.B+ANSҠAUA̠PAAMS ͒ NPUԠDUMMYSԠ ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. KDà D00NP DAB50'(' SBSԠàS A SAAGƠSԠN.ƠAGUMNS0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DBP SSB MPPVP̠V D0SBSY00NPUԠSYMB SB00N-ԠABŠHK DAN SZA MP+5 DAK6 DBA PBDUM SBMASƠNAMŠNSDUMMYS DAK DB.A PB0SƠASƠMAMŠNSDUMMYS SBM DAD ADAKM SBDP00DD- DBD DA.A NA DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SBDU00DNŠU(.A0 SZAGƠAGƽAG+ DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA DؠMPD00ɠ KDà PVDAK SB00P̠V {NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SB00NPUԠM SZA MP+3 DAK SB00DMҠNUNDHNPANDPD DAK DBNԠSPANDANAMŠ? SZB SBM DAMYS(AMƠHŠPAND MPSY00ɠ KDà KDà K6Dà6 NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 KKԠ5 KK0Ԡ0000 -ԠABŠHK 00NP DA.A MANA ADADP SSANؠԠAB MP00ɠDP.G..A DB.A ADBK DAB ANDKKB5 ҠKK0B0000 SABɠSԠAƱ(.A SBA00ASSGNM MP00 ASNDƠASNM SAMNԠUNNPSSҠ SPҠU SBSY00NPUԠSYMB SB00-ԠABŠHK DBASN BŬB DBB DAD SAB NB DAD+ SAB NB DAD+ SAB DAM SAԱSƠSAVŠMƠS..NAM SAԴ̠SԠ'AS'AG DA.A SA0SƠSAVŠASSɠPҠƠS..NAM A SBDU00 SBD00NPUԠDUMMYS DA0SƠSŠASSɠPҠƠS..NAM SA.A SBD00A(.AP̬A(.A DAP SAԲSƠSAVŠ.ƠS..NP SBGP00GNAŠPGAMNAN DAB5'' SBSԠ-S A DBԱS SBMSŠMƠS..NAM DBK5 MPA̠ϠA̠.. K5Dà5 ASƠU SPDBD_. ADBK3. DABɠ.SŠASSɠP SA.A_. ADBKM_. DABɠ.SŠU SBDU00_. DBD_. NB. DABɠ.SŠA SBDA00_. DADɠV DB.A. NB. SABɠVSŠA DAD ADAK SADDD+ PADϠNDƠDϠB̠AHD? SS MPSPNԠY DA0S SA.A.AASSɠPҠƠSMNԠUNàNAM DAMP ҠKK0'MP' SBA00UPUԠA SBA00 DBU SZB MPSP SBS00AGSUBPGAM SP3U DAԲS SBDA00SԠS..NPàNϠA..ƠS.. A SAASNM DBK MPSԠïҠS SPPBVA SS MPSP5 DAK5 SBM DASUB SBDU00 MPSP3 SP5DAK5 SBM MPSP3 VAҠԠ00 KK0SSA KKSZASS UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU MPDU00 KK6Ԡi  B0Ԡ0 NPUԠSAMNԠNUMBҠ SN00NP AҠNDϠBANKS DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAND+5 DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ B00Ԡ00 K6Dà6 KMDà- KK0Ԡ00000DƠA Ơ(PSSҠ PҠU SAԱ̠MƠVAUADVAU DAB5'' SBSԠ-S SBN00AMNŠNԠHAA SZA MPP6SAMNԠϠ DAKK0'SSA' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠN. DAMP'MP' SBA00UPUԠA DAB5'' SBSԠ-S SBSN00NPUԠSAMNԠN. DA PAB5'' MPP3ý PDA.A SAƠƽ.A MPUMP P3DAԱ̠MƠVAUADVAU PAG SS MPP DAK6 SBMGƠH3BANHS PDAKK'SZASS' SBA00UPUԠABS.NSUN DAMP'MP' SBA00UPUԠA SBSN00NPUԠSAMNԠN. MPP P6U DAK6 DBԱ̠MƠVAUADVAU PBG SS SBMAƠƠHSAMNԠϠ DAK5 DBSƠSNGAGSԠ? SZBN SB00GA̠ƠHNGA̠ DAKK6'SSASS' SBA00UPUԠABSNSUN DAPŠM SBS00SABSHNSAN SBA00ASSGNM DAMP'MP' SBA00UPUԠ'MP.A' DA.A SASƠSԠSNGAG SBN00AMNŠNԠHAA A SAM̠SԠMDŠAG NA SANƠSԠN̠AGҠSSN SBà_. DƠ+3. DƠK.ϠSAMNԠSAN DƠ+. ASà3N_. PŠԠ0000M-DPSUDϠNY KDà K5Dà5 K6Dà6 KK6SSASS UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN AMNŠNԠHAAҠ | N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ UPUԠMPɠ 00NP DAMPɠ'MP' SBA00UPUԠ'MPɠ.A' MP00ɠ DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN DAN SZASS MPV00 DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 K6Dà6 MDBK MPSԠϠ'M' MPԠ6000 SBԠ6000 GϠϠPSSҠ GPSBN00AMNŠNԠHAA SZAHA.ADG? MPGϲN SBSN00NPUԠSAMNԠNUMB DA.A SAƠƽ.A MPMGA̠MNAҠHK GϲDAD̠HA.AҠ? SZAYS MPGϴN SBV00NPUԠNGҠVAAB SB00UPUԠ'MPɬ.A' DA PAB5'' SS MP+3 SBB00NPUԠBANHS SBH00NPUԠHA A G3SA DA SASKB SASK MPUMP GϴSBB00NPUԠBANHS SBH00NPUԠAHAA PAB5ý? SS SBU00UNNPUԠUMN DAKM5 DBK0 A̠U SBSנ..SH DBK MPSԠϠS K0Dà0 GS6U SAԱGԠSAVŠ.AƠVAҠҠMP DASB'SB' DB.GϠADDҠƠ.G SBD00'SB.G' A DBԱB̠ƠSAMNS ADBK SBZ00'DƠP+N+' A DBԱGԠ.AƠVAҠҠMP SBSA00'DƠ.AƠVAҠҠMP' DA SAɠɽD G6SZ DAɬ SA.A.A(ɩ SZASS MPG3 A SBA00UPUԠ'DƠ.A' MPG6 ԱGԠNP .GϠDƠ.B+9MPUDGϠ SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 NPUԠBANHSԠ B00NP A SAԱB̠Ա0 SBH00NPUԠHA. DAB50'(' SBSԠ-S B0SBSN00NPUԠSAMNԠNUMB DA.A SBPU00SŠSMNԠN..ANSAK SZԱB̠NMNԠNUMBҠƠSMNԠNS. DA PAB5'' MPB0ý A SBPU00NҠ0NϠSAK SBP00-NPUԠPA BؠMPB00ɠ B0Ԡ0'D' BԠ'' KM5Dà-5 àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà NԠԠ0000MNG GԠ30000M3GA PؠԠ50000M5MP DB̠Ԡ60000M6DUB DUMԠ5000AԽ5(AVŠHNDUMMYé DMA̠NSANS KDà K3Dà3 KDà K3Dà3 K3Dà3 K3Dà3 K0Dà0 KDà KDà KDà K5Dà5 KMDà- KM6Dà-6 A̠NSANS B5UK3 B50UK0 B5UK B5UK B60UK B5UK6 ɠBSSSUPPMNAYND MPɠԠ6000 ̠Ԡ000 K3Dà3 K50Dà50 DϠPSSҠ DPҠUSŠ DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD SBH00NPUԠHAA PAB0'D' MPDPҴýD DAK SBMDϠMSSPD DPҴSBH00NPUԠHAA PAB'' MPDP6 DAK SBMDϠMSSPD DP6U DAK50 DBԱ̠MƠGƠP. PBG SBM A SAԱ SBSN00NPUԠSAMNԠNUMB DAK3 DBA PB SB00MUPDDNDSAMNԠN. DA.A SADSNDϠSAMNԠNUMBҠPҠSAVD SBV00NPUԠNGҠVAAB DBD DP5PBDϠASԠAVAABŠ MPDPҷ ADBK DAB PA.A MP+3 ADBK3 MPDP5 DAK5 SB00NSDDϠHSAMŠNҠVA DPҷU DAB5'' SBSԠàS DAD ADAKM5 SBDP00DD-5 DBD DADSN SABɠ(D.AƠSAMNԠNUMB ADBK DA.A SABɠ(D+.AƠNDؠVAAB DAKM DBK SBSנSԠ..SH DBK5 MPSԠϠD KMDà- K5Dà5 DϱU SBAD00AAŠMP̠ϠDϠP DBD ADBK3 SABɠ(D+3.AƠMNANGND DA PAB5ï MPDP9ýï DAKM DBK3 MPA̠..A KDà DϲU SBAD00AAŠMP̠ϠDϠP DPҸDBD NB SABɠ(D+.AƠNMNNGND ADBK3 DAP SABɠ(D+P MPMϠGA̠MNA DP9DADP NA(A.AƠHŠNGҠ MPDPҸ AAŠMP̠ϠDϠPSSN NY:(A.APNҠƠNԠNSԯNԠVAүMP AD00NP DB.A ADBK DBB SSBSS MPADؠNԠNԠMP B ADB.N. SB.N.:NLH.N..N.- ADؠMPAD00ɠ DAAP̠VנSԠ NPU:(AVAUŠƠNנD DP00NP SADD(A MANA ADA ADA̠(A+-D SSA MPDP00ɠ DAK3 SB00DAAP̠V NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 NDNA 8N  24170-80019 C S 0122 RTE/DOS FORTRAN IV SEGMENT 11             H0101 P ASMBҬ̬ìB HDNB--SPPAUSůASSGNDAAPSSS NAMNB5 Ԡ.N. ԠA00 ԠA00 ԠDɠ ԠD00 Ԡ00 ԠM ԠS00 ԠA00 ԠH00 ԠDN00 ԠUMP ԠMPY ԠA00 Ԡ00 ԠZ00 ԠPU00 ԠP00 ԠV00 AU0A-GS BUB-GS àU BSS50 DƠU+DԠUNNAG GU+9-AG(SԠƠSUBSPԠDUMMY ̠U+ƠDSNSAK P̠U+3AVŠPGAMAN SƠU+3MPؠNSANԠAG Դ̠U+90NϠ'DAA'SŠ'DAA'SS .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD 0SVUMN+3àSAVD AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN SנUMN+UMNMԠSH(DN'ԠADNנDƠSԩ DUMN+9DϠABŠPN(àƠASԠDϩ D0UMN+0N.DSPҠNY(BASDNM DUMN+DMNSN DUMN+DMNSN D3UMN+3 DɠUMN+3DDNNNGHŠNSANS MUMN+MMD UUMN+MUSAG SPUMN+3ASԠPANAG N̠UMN+3NUMàAG(0Ơ9SADGɬ NDUMN+35NAMŠDDBSS6 NDUMN+NUMBҠƠDMNSNS NSUMN+NUMBҠƠSUBSPS NԠUMN+3NAMŠAG NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP SѥUMN+5SUBSPԠNUMBҠ.. SUMN+53SUBSPԠNUMBҠ.SAB S3UMN+5SUBSPԠNUMBҠ3.. SPSנUMN+56SAMNԠPSSҠSH SKBUMN+60 SKԠUMN+6 àUMN+63MNANG.HAA ASSGNADDSS ϠASSGNSAGŠϠASNGŠVAABŠҠAAY NPU:.APNSAԠHŠANDDAŠҠSAGŠASSGNMN UPU:SAGŠSASSGNDҠHŠMN(ƠNԠY ASSGNDPNDAԠBY.A AHMNԠHASSAԠSԠϠ̠ANDSAƠS ϠHŠMNSAVŠANHNHŠB UPUԠP̠BUMPDBYSZŠƠHŠMNԠҠAAY. AA00NP DANԠANAMŠ? SZAYS AAؠMPAA00 DAA PASAB SSNԠYԠASSGND MPAAؠAADYASSGND DAU PAVA MPAA0UVA PAA SSUA MPAAؠNHҠVAҠNҠAAY AA0SBD00DNŠAN DAP ADAD0SZŠƠMN SAP̠P̽P+D0 SSASS MPAAؠϠ PVU DAK SB00P̠V KDà NBU DAMP AŬA DAA SAMP̠(A'UMP' DASPS ADAPB DAA MPA MP̠DƠUMP MADBMP MPBɠϠMS PB̠DƠ-SPSנVAU DƠSPP DƠPAUPҠ3 DƠASSP DƠDAAP5 SAVŠà S00NP DAàSAVŠUMNUN SA0SV ANA SASנSԠϠNA̠SANNנADN݁ԠBŠNPU MPS00ɠ SŠà 00NP DA0SV SAàSŠUMNUN A SASנSԠϠDŠGNANNPUԠADSƠNDD MP00 MԠ000 KDà KDà DAAPSSҠ DAAPA SASנSԠϠDŠGNAN SAԲDAԠԲ0 A SAԴ̠SԠ'DAA'SS ADAD SAɠɽD-(NDƠDϠABũ DAA0U SBSY00NPUԠSYMB DAK DBA PBM SB00 DAK PBDUM SB00DUMMYUSDNDAAS DAU PAA MPDAԱ0 DAAU SB00NPUԠSԠMN SBAA00ASSGNADDSS DAAƠBASŠADDҠƠAAYҠMN ADASDSPMNԠƠAAYMNԠҠ0 SAɬɠݽA+S DAAB(B- ADBɠ(B- DA.A SABɠ-ݽ.A ADBKM DAD0NUMBҠƠDSPҠM SABɠ-ݽD0 ADBKM SBɠɽ-3 SBGDNDƠDAAAB DA PAB5 MPDAA0ý'' DAP SAԱDAԠSAVŠP DAB5'' SBSԠ-S A SAKBAҠKBAҽ0 DAD ADAK SAɠɽD+ DAKBAҠPAԠUNԠHAUSD? SZAYS MPDAA6N DAASBDN00NPUԠDϠNԠASSGN SZA MPDAA5M.N.0 NA SASƠSԠMPؠAG DAB50'(' SBSԠ-S MPDAA DAA5DAK DBN SZBSS MPDA+NAMŠNNSANoS DAM SA0DAԠMƠDAAMN DAKBA SZASS MPDA0KBAҽ0 DAA6DAԲDAԠANYHNGMANDBŠUPU? SZANϬϠPKUPNԠDAAMN MPDAAYSϠNSHUNԠAAY DA ADAKM3 SAɠɽ-3 PAG MPDAԲNDƠS DB DAB SAP̠SŠP ADBKM DAB SA.AASSGNMNԠPҠƠDAAMN ADBKM DAB SAԲDAԠSZŠƠAAYҠVAAB SBA00HASSGN DBM SB3DA PB0DA SS MPDAԠMDŠ SB00UPUԠADADDSSP DAADB3DA PB0DA SS MPDAԠMDŠ SB00UPUԠNSAN DAD0 MANA ADAԲDA SAԲDAԠԲԲ-D0(DSMANNG B ADBKBA SBKBAҠKBAҽKBA- SZBPAԠUNԠSS? MPDAA6N DA PAG MPDAԲNDƠS DA PAB5'' MPDAAϠNPUԠANHҠNSANԠMS DAԲUNDƠNSANԠS DAB5'' SBSԠ-S DAԱDA SAP̠SŠP SBH00NPUԠHAA PAB5Sý''? MPDAAPYS SB00UPUԠADADDSSP MPSԠïҠS DAA9DA PAB50'(' MPDAA DAAƠàƠAAYBAS MPDAA-(ɩA DA0DA PAB5'' MPDA0ý DA06ANA SAKBAҠKBAҽ MPDAA6 DA0DAD SAKBAҠKBAҽD- SBNSԠNGҠS MPDAA K3Dà3 DAԠDAK3 DBԱDA SBP̠7SŠP SB00 ̠Ԡ000 DAԱ0DAA PA MPDAԱ DAP SBDBA00DNŠBASŠADDҽP SB00AD.P A BNB SBZ00'DƠ+' DAԱU SBN00D0DSҠM SBAA00ASSGNADD. MPDAA9 0DAԠNPSAVŠMƠDAAMN ԱDAԠNPSAVŠP ԲDAԠNPSAVŠDSҠDAAMN 3DAԠNPMƠSԠMN ɠNPDAAABŠND GBSSPNҠϠNDƠB̠BYDAAPSS KBAҠBSSPAԠNDAҠNDAAPSS B50Ԡ50'(' B5Ԡ5'' B5Ԡ5'' B5Ԡ5'' DNŠBASŠADDSS NY:(APNҠϠBASŠADD.ƠAAY .APҠϠAAYNAM DBA00NP DB.A NB DBB ADBK SABɠBADD(.A(A MPDBA00ɠ D0:NUMBҠƠDSҠM N00NP DAU PAA SS MPNؠϠ DAD3 SZASS MPN06D30 DBD SBMPY N0DAD SBMPY N0DAD0 SBMPY SBD0D0N.ƠDSNAAY SSB MPPV NؠMPN00ɠ N06DBD SZB MPN0 DBD MPN0 PAUSŠPSSҠ PAUPҠU ANA(A DB.PAUS(B.Ơ'.PAUS' MPPASԲ SPPSSҠ SPPA(A0 DB.SP(BU.Ơ'.SP' PASԲSAԱPAS SBԲPAS A SA3PASƠA̠DGS SADɠBNAYA̠DGԠSNG PAS3SBH00NPUԠHA. DAN SZA MPPASԴNN-DG DA ADABM0 SSASS MPPAS9DGԠ.G. ADAB0 DBD BƬB ҠB SADɠDɽD+à(BNAZD SZ3PASƠA̠DGS MPPAS3 PASԴU DAK69 DB3PAS ADBKM5 SSBSSSKPƠ..DGS SBMMŠHANDGS SBAUN00ASSGNUNԠN. DBԲPAS.Ơ'.PAUS'Ҡ'.SP' SBD00UPUԠDԠUNN DBK SBSPASԠPANAG MPMϠGA̠MNA PAS9DAK SBMNVADA̠DGS SBDɠNɽ0 MPPASԴ ԱPASBSS ԲPASBSS 3PASNPƠA̠DGS KM5Dà-5 BM0Ԡ-0 B0Ԡ0 K69Dà69 KDà ASSGNUNԠNUMBҠ AUN00NP DAD SZASS MPAUN0 DAN SBS00SABSHNSAN SBA00ASSGNM DADA'DA' SBA00UPUԠ'DA.A' MPAUN00ɠ AUN0DAA SBA00UPUԠ'A' MPAUN00 ASSGNPSSҠ ASSPDADA DBK SBZ00UPUԠ'DA+' DAKK66'SS' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠNUMB SZ AU A'D' SBA00UPUԠA(DƩ DAB'' SBSԠ-S SBH00NPUԠHAA DD-*($AB'' SBSԠ-S SBV00NPUԠNGҠVAAB DAK3 DBA PBDUM SBMGA̠USAGŠƠDUMMYVAAB DASA'SA' SBA00UPUԠA(SA SԠDBK MPMϠ'S' KDà UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN *  24170-80020 C S 0122 RTE/DOS FORTRAN IV SEGMENT 11             H0101 G NԠԠ0000MNG VAҠԠ00U(VAABŠҠNSANԩ AҠԠ600U3(AAY SABԠ000 DUMԠ5000 K9Dà9 K3Dà3 K3Dà3 K3Dà3 K3Dà3 K39Dà39 KM3Dà-3 KM6Dà-6 B0UK3 B60Ԡ60 B00Ԡ00 BԠ'' DAԠ6000 SAԠ000 BDɠDƠD KK66SS KDà K3Dà3 KDà KMDà- B5Ԡ5 BԠ .PAUSDƠ.B+3PAUS .SPDƠ.B+3SP NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBNM00NPUԠNAM MPSY00ɠ NPUԠNGҠVAABŠ V00NP SBV00NPUԠNGҠVAүN SBNNԠNN-NSANԠS MPV00 NPUԠNGҠVAABůNSANԠ V00NP SBDN00NPUԠDNA SZAM0PSSBŠ SBA00ASSGNM SZA MP+3(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD SBV00AGVAAB NGҠSԠ DAK6N DBMMNGҠ? PBN SSYS SB00MNԠANNG A MPV00 NPUԠSAMNԠNUMBҠ SN00NP SBNMAҠNDϠBANKS DAB00'' SAND DAKM6 SAԱSNԱ-6 DASNK SAԲSNԲADD(ND SN0SBD00NPUԠDG SZASԠADGԠ? MPSN0NϬNN-DGԠHAҠNSMNԠN. DAàADNG0? PAB60 MPSN0YS SN0SZԱSN5DGSNPUԠ? MPSN06N DAK3 SB00YS SN06DBԲSN DA SABɠSŠDGԠNϠNDBU SZԲSNԲԲ+ SBD00NPUԠDG SZASSSԠADGԠ? MPSN0YS SANƠSԠNϠAGAG DA PAB5'' MP+ PAB5ï SS SBU00UNNPUԠUMN A SAUU0 SANԠNԽ0 SAMM0 SBA00ASSGNM SNؠMPSN00ɠ SN0DAK3 SB00NN-DGԠHA.NSNMԠN. ԱSNBSSUNԠҠN.ƠDGS ԲSNBSSNDBUҠPN SNKDƠND+ UPUԠNSANԠ 00NPUPUԠNԬAGPجҠDB DAD0NSAN. MANA SA0àHDSNG.ƠN.DSNNS. DABD SAԱàHDSADD.ƠNԠDϠU. 0DAԱìɠADPAԠƠNSANԠϠBŠU. SBAD00UPUԠD SZԱàADDSSƠNԠDϠUPU SZ0àNUMBҠƠDSԠϠUPU MP0ƠϬUPUԠMŠDS. MP00ɠƠϬDNŠUPUNGNS. 0àBSS ԱàBSS NPUԠSԠMNԠ ϠNPUԠANMHAԠANBŠNANDHNAS ANDNSUŠHAԠHŠMHASNԠBNYPDASDUMMY ҠSUBPGAM 00NP SBNDS00NN-DUMMYNN-SUBPGAMS DAU PAA MP0UA SBV00AGVAAB `B 0SBS ؠMP00ɠ 0SBSP00NPUԠSUBSPS SBA00HASSGNS DAK3 DBNSN.ƠSUBSPS MBNB(B-(B ADBNDN.ƠDMNSNS SSB SB00MŠSUBSPSHANDMNSNS DAS3 DBD SBMPY ADBS DAD SBMPY ADBS DAD0 SBMPY MP0 NPUԠSUBSPԠ ϠNPUԠHŠSUBSPԠSԠMHŠPNNG(ϠH SNG. NY:(A0ƠDMNSNSDUMMY (A.G.0ƠDMNSNNSANԠNG (A..0ƠDMNSNNGҠҠVAAB :NSN.ƠSUBSPS S-ABŽPNSNϠHŠASSGNMNԠAB ҠHŠNSANSHMSVS SP00NP SA0SPSAVŠ(A A SAGAҠ-AG DAB50'(' SBSԠàS A SASSUBSPԠ0 SAS3SUBSPԠ30 SANSN.ƠSUBSPS0 SP0DA0SPSŠ(A SZA MPSP06 SBN00AMNŠNԠHAA SZASS MPSP06HAAҠSADG SBV00NPUԠNGҠVAAB DAA PADUM MPSP0 DAK39NN-DUMMYDMNSNVAAB SB00NAMŠUSDHDUMMYAAYNAM SP0ANA SAGSԠ-AG DBSKB DA̠ƠMSNSAK SZA MPSP0 SP05U DA.APҠƠDUMMY SBPU00SŠNϠSAK DAN SBA00AAŠMP DA.APҠƠMP SBPU00SŠNϠSAK A ADA.N.ϠASŠMP SA.N..N..N.- MPS#P0 SP06SBN00NPUԠNG DA0SPSŠNY(A SZASS MPSP000 SSASS MPSP60.G.0 SP0SBA00ASSGNM SP0DA.A SPDBԱSPADDSSƠS ADBNSN.ƠSUBSP SABɠS(NS+(A SZNSNSNS+ DANS PAK3 MPSPN33 DA PAB5ý''? MPSP0YS SPSBP00-NPUԠPA SPؠMPSP00ɠ SP6DADɠNGҠUSԠNPU ADAKM(AD- MPSP SP0NB DAB PA.A MPSPMAHD NB PBSK MPSP05NDƠSAK MPSP0YNԠNY SPNB DABɠ.AƠMP MPSP 0SPBSSSAVŠNY(AVAU ԱSPDƠS NN-DUMMYNN-SUBPGAMSԠ NDS00NP SBNSUBԠNN-SUBPGAMS SBDUMKDUMMYHK SZA MPNDS00ɠ DAK3 SB00GA̠USŠƠDUMMYVAAB NPUԠNGҠ N00NP SBDN00NPUԠDNA SBNSԠNGҠS DAK9 DBNԠSԠANSANԠ? SZBSS SBMN DADɠHŠNGҠUSԠNPU MPN00 UPUԠABSUŠDAA AD00NP DB000ҽ0ҠABSUŠDAA(ԠD SB SB00UPUԠHŠNSUN MPAD00ɠUN 000Ԡ0ABSUŠDAA UNNPUԠUMN W U00NP A ADA SAàý- MPU00ɠ UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0Ԡ0000MMYN UPUԠADADDSS A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NN-SUBUNŠSԠ NSUBԠNP DAK5 DBU PBSUB SB00SUBPGAMNAMŠNԠAD MPNSUBԬɠ K5Dà5 SUBԠ00U(SUBUNũ DUMMYHK DUMKNP DAKK(A-DUM ADAAԠ(AA-DUM MPDUMK KKԠ3000 NGҠSԠ NSԠNP DAMMNGҠ? PAN MPNSԬɠYS DAK6N SB00MNԠANNG K6@Dà6 NN-NSANԠSԠ NNԠNP DAN SZASS MPNNԬɠԬMNԠANSAN DAK SB00NSANԠMUSԠNԠBŠPSN KDà NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà KDà SPà3 NPUԠNAMŠ NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SB00N DAMYS(AMƠHŠPAND MPNM00ɠ àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 SBԠ6000 AҠNDϠBANKS NMNP DAB0 SAND SAND+ SAND+ SAND+3 SAND+ SAc*($ND+5 MPNM NPUԠDGԠ D00NP SBH00NPUԠHAA DAN̠ƠHA.ADGԬN̽0SŠN MPD00 -SԠ MAԠNP DAB5'' SBSԠ-S MPMAԬɠ NDNB mU*  24170-80021 C S 0122 RTE/DOS FORTRAN IV SEGMENT 12             H0101 H ASMBҬ̬ìB HDNà--UNNSUBUNůPGAM NAMNì5 ԠBUƥ ԠA00 ԠDA00 Ԡ00 ԠM ԠS00 ԠH00 ԠDN00 ԠUMP ԠMV ԠA00 ԠS00 Ԡ00 ԠZ00 ԠP00 ԠSS00 AU0A-GS BUB-GS àU BSS50 DPU+DAAP̠SAԠ. .DPU+ؠԠABŠADD ϠU+3NDƠASSGNMNԠABŠ+ DϠU+5PNҠϠSAԠƠDϠAB SBƠU+6SUBPҠAG(0MANSŠSUBPG. DƠU+DԠUNNAG ̠U+NUMBҠƠDSNSAK MPU+9UMPAN M̠U+30MDŠAG P̠U+3AVŠPGAMAN SƠU+35SUBUNůUNNAG(SԠ AUNN BAD9ƠU+39NŠƠ9BADSASSUBүUNàNAM MNԠU+-(DSMANDBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN AƠUMN+ADDSSD AGƠUMN+N.ƠAGUMNSNASUBPGAM ҠSAMNԠUNN AGNUMN+AGUMNԠN.ϠSAVŠAG AԠUMN+5ADDSSYP àUMN+6ADUMNUN--SUŠNŠUMNPN DUMN+9DϠABŠPN(àƠASԠDϩ DɠUMN+3DDNANNGHŠNSANS MUMN+ UUMN+MUSAG SƠUMN+9ASԠSAMNԠAG N̠UMN+3NUMàAG(0ƠàSADGԩ NDUMN+35NAMŠDDBSS6 NԠUMN+3 NƠUMN+NϠAGAG ҠUMN+9BԠDŠDYP ϠUMN+5SUBPGAMҠUNNUNAN SPSנUMN+56SAMNԠPSSҠSH(S ϠUNԠSAMNԠPSSҠS.é SP̠UMN+5SAVŠP̠AԠBGNNNGƠD àUMN+63MNANGHAA S.UMN+SNGBAKAN NMNԠUMN+NAMNԠDSUPUԠG(0UD NàDAPK AŬA SAPK DAAɠ(ADƠPBU ADAK3 SAԱҠPBU+3 ADAK6 SAԲҠPBU+9 ADAK SA3ҠPBU+ DASPS PAK MPUNPҠUNN PAK MPSUBPҠSUBUN MPPGPGAM KDà DPVƠDAK3 SB00DAAP̠V DNŠGƠ NY:(ANנG(.A DG00NP DB.A NB SABɠG(.A(A MPDG00ɠ DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 NŠƠBAD9HK BAD9àNP SBMNP00MVŠNDϠPBU DAKM9 SAMNԠMNԽ-9 DB9ҠBASŠADD.ƠUBSMŠUNS MNP0DAD PAB SS MPMNP0SԠNDHASNԠMAHD NB DAD+ PAB SS MPMNP03DHHASNԠMAHD NB DAD+ PAB MPMNP0A̠MAHD MPMNP05 MNP0NB MNP0NB MNP05NB SZMNԠA̠9MSHKS? MPMNP0NԠY MPBA;D9ìɠ UNNPSSҠ UNPҠANA SAS SUBUNŠPSSҠ SUBPҠDBSƠSԠSAMNԠƠPGAM? SZBN MP+3YS NSMDAK3 SB00NԠSԠSAMNԠƠPGAM SBNM00NPUԠNAM SBBAD9àϠHKHŠBAD9AB DB.A SBSBƠSԠSUBPGAMAG A SBDG00A(.A0 SB00UPUԠNAMNԠDS DAM̠MDŠAGSԠ? SZAN SBDM00DNŠM DA PAB5 MPSUBP6ýï SBD00NPUԠDUMMYS SUBPU DAP SAϠUNAN SBGP00GNAŠPGAMNAN SBSSB00SԠUPSNGBAKMP. DAAG SAAGNSAVŠN.ƠAGUMNS DAD SADDD MPSԠïҠS SUBP6DBSƠUNNS? DAK SZB SB00AUNNHNϠAGUMNԠS A SAAGƠN.ƠAGUMNS0 DAP SASP̠SAVŠP MPSUBP MNP0DAK5 SBMUBŠB.UԠASPGNAM SZBAD9ƠSԠNŠƠ9BAD'SAG MPBAD9ìɠ KM9Dà-9 K5Dà5 HŠ9UBSMŠBAYUNSN--AB 9ҠDƠ+ ASà3DB ASà3MP ASà3A ASà3SNG ASà3A ASà30 ASà3 ASà3 ASà3 SԠDBMP BŬB DBB ADBK MPBɠϠ'S' MP̠DƠUMP KDà PGAMSAMNԠPSfSҠ PGU DASƠSԠSAMN? SZASSYS MPNSMNϬ DAK3 SAԲҬɠPBU+93(MANPGNDAҩ SBN00AMNŠNԠHA. DA PAB5'ï' SS MPPG ANA SAàý MPPG6 PGU SBDN00ϠNPUԠPGAMNAM SZASKPƠM0 SBBAD9àϠHKHŠBAD9AB DA PAB50'(' MPPGý( PAB5'' MPPGý PG6U SB00MNԠD MPSԠïҠS PGDAPKɠADDҠƠPBU+9 ADAK9 SAԱPϠSAVŠPBUƠPN ADAK SAԲPϠDƠPBU+ PGSBN00AMNŠNԠHAA SZASS MPPG PG9DA PAB5'' SS MPPG3 SZԱP SBH00NPUԠAHAA PGAU DBԲPϠàƠPBU+ PBԱP MPPG3 MPPG PGSBDN00NPUԠDϠNԠASSGN DADɠDGԠSNGUSԠNPU SAԱPϬɠSŠNϠPBU SZԱPϠBUMPPBUƠPN DA PAB5 MPPGA MPPG9 PG3PAB5 MPPG6 SBH00NPUԠAHA MPPG6 PKDƠBUƥ ԱPϠBSSϠSAVŠPBUƠPN ԲPϠNPàƠPBU+ SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 UPUԠϠ 00NP SB00UPUԠADýP A SBA00UPUԠ'NP' DASB DB.DP ADBqB5.AƠ'' SBSA00UPUԠ'SB.A' A BNB SBZ00UPUԠ'DƠ+' SBSSB00SԠUPSNGBAKMPAN MP00ɠ B5Ԡ5 PŠԠ0000M-DPSUDϠNY SBԠ6000 MPԠ6000 SԠUPSNGBAKMPAN SSB00NP DAPŠM SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMPSNG-BAKMPAN MPSSB00ɠ MVŠNDϠPBU+35 MNP00NP DBB0 PBND+5 MP+ SBND+5 DAK6 SBM SBDNDMVŠNDϠD DAKM3_. SAMNԠ. DABDɠ.(PBU+35 DBPK ADBK3. SBMVŠ_. DAKM3_. SAMNԠ. DABDɠ.(B+3 DBMNPK BŬB DBB ADBK0 SBMVŠ_. MPMNP00ɠ K6Dà6 B0Ԡ0 MNPKDƠBUƥ K0Dà0 UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN MVŠNDϠDɠ DNDNP DAND AƬA ҠND+ SAD DAND+ AƬA ҠND+3 SAD+ DAND+ AƬA ҠND+5 SAD+ MPDND MNԠD 00NP DANMNԠNAMNԠDUPUԠY? SZASSN MP00ɠYS DAK DBSBƠMANPGAM? SZBYS SAԲҬɠPBU+9(BAYSUBPGAM DAB300B300(DNGH SA3ҬɠPBU+DNGH SZ3ҠPBU+ DAKB000(DNԽ00ƠNԽ SA3Ҭ DAKM3_. SAMNԠ.(PBU+0 DB3Ҡ.(PBU+35 ADBK. DAԱҠ. SBMVŠ_. DB3ҠPBU+ ADBK5PBU+3 A SANMNԠNAMNԠDSUPUD SABɠ_. NB.PBU+3PBU+0 SABɠ_. SBSS00SAVŠAKANDSҠNUMBS SBS00UPUԠS DASB SZASS SB00UPUԠ MP00ɠ KԠ000 ԱҠNPPBU+3 ԲҠNPPBU+9 3ҠNPPBU+ GNAŠPGAMNANŠ GP00NPUPUԠDŠϠSAԠMANҠSUBPGAM SB00UPUԠADADDSSP DBSB SB.A DAP SZB SBDA00A(SUBPNAMũP A SBA00UPUԠ'NP' DB.NҠGNAŠNYD: SBD00GNAŠ'SB.N' A(A_0ҠD DBSP SBM00UPUԠDƠ-N- GPؠMPGP00ɠUN .NҠDƠ.B+ANSҠAUA̠PAAMS UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN K6Dà6 NPUԠDUMMYSԠ ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. D00NP DAB50'(' SBSԠàS A SAAGƠSԠN.ƠAGUMNS0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DBP SSB MPPVP̠V D0SBSY00NPUԠSYMB DA.A MANA ADADP SSAN-ԠABŠ? MPD0NϬDP...A DB.A ADBK DAB ANDKKB5 ҠKK0B0000 SAB SBA00ASSGNϠDAAP D0U DAK6 DBA PBDUM SBM DAD ADAKM SBDP00DD- DBD DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SBDU00DNŠU(.A0 SZAGƠAGƽAG+W DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA DؠMPD00ɠ PVDAK SB00P̠V KDà KKԠ5 KK0Ԡ0000 PؠԠ50000M5MP DB̠Ԡ60000M6DUB DUMԠ5000AԽ5(AVŠHNDUMMYé KDà K3Dà3 K5Dà5 K6Dà6 KDà KDà K9Dà9 KDà K3Dà3 KM3Dà-3 KMDà- B5Ԡ5 B50Ԡ50 B5Ԡ5 B300Ԡ300 BDɠDƠD NPUԠSYMB̠ SY00NP ANA SANƠSԠN-AGAG SBNM00NPUԠNAM MPSY00ɠ DAAP̠VנSԠ NPU:(AVAUŠƠNנD DP00NP SADD(A MANA ADA ADA̠(A+-D SSASS MPDPVƠ+.G.DDAAP̠V MPDP00ɠ NPUԠM 00NP SBDN00NPUԠDNA SZASS MP00ɠM0PSSBŠ SBA00ASSGNM MP00 SPà NPUԠPAND P00NP SB00NPUԠM SZA MPP00ɠ(AMƠHŠPAND DAK SB00DMҠNUNDHNPANDPD KDà SPà3 NPUԠNAMŠ ^t NM00NP SBP00NPUԠPAND DAK DBNԠSPANDANAMŠ? SZB SBM DAMYS(AMƠHŠPAND MPNM00ɠ KDà AMNŠNԠHAAҠ N00NP SBH00NPUԠHAA SBU00UNNPUԠUMN DAN̠0ƠHA.ADGԬSŠN MPN00 UNNPUԠUMN U00NP A ADA SAàý- MPU00ɠ DNŠU NY:(ANנU DU00NP SAUU(A DA.A ANDKK6B ҠU SA.AɠU(.AU MPDU00 KK6Ԡ àSԠ NY:(AԠMNANGHA. SԠNP PA MPSԬɠý(A DAK SB00MPPҠMNANGHAA KDà DNŠAԠ NY:(ANנA(.A DA00NP SAAԠAԽ(A DA.A ANDKKB0 ҠA SA.A MPDA00 KKԠ0 UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00ɠUN 0MҠBSS ұ0<:6Ԡ0000MMYN UPUԠADADDSS A00NP DA00NDASҠ00UN SAҠHAԠNנ.SASH DAP̠ADADDSSN(A. SZBƠADADD.SP̬UPUԠ. DA.AHSŠSԠADADD..A ҠBS0Ҡ00000NϠADADDNA SB00UPUԠADADDSS MPA00ɠUN 00Ԡ0000AD.NDA UPUԠADADDSSP 00NP B SBA00UPUԠADADDSS MP00 NDN 0<  24170-80022 C S 0122 RTE/DOS FORTRAN IV SEGMENT 13             H0101 I ASMBҬ̬ìB NAMND5 HDND--DB̠DS Ԡ Ԡԥ ԠBU ԠSAP ԠBU AU0 BU àU BSS50 ..UàMPҠN̠D DPU+DAAP̠SAԠAN .DPU+ؠNA UDU+5GA̠UNԠƠSԠDV UPUDU+6GA̠UNԠƠPUNHDV NPU+NSPҠPAGŠNSNG GϠU+ADGϠAG(NN-0MANȘG UNDU+9Pҽ0Pҽ0 SKNϠU+0SANGAKNUMB UNԠU+GA̠UNԠNUMBҠƠSԠAK NSԠU+3N.ƠSSNAHMPK NNŠU+3NϠƠNSSϠAҠPND .B̠U BSS5 MNU.B+5ANƠNDƠMMNAA MNU BSS00 BUƠUMN+0SԠDƠSԠBUƠSBANK PGNUMUMN+5UNԠPAGŠHADNGNUMB NDUMN+5 ASSàUMN+53ASSBƠP ASSԱUMN+5 DŠUMN+55PD ؠUMN+56MPؠAG DɱUMN+5BԠ5D DɲUMN+5BԠ5D DAàUMN+59AKN NUMN+60NA̠DN DSàUMN+6 SNDUMN+6 PUNàUMN+63 MҠUMN+6MɠANDASɠPAAM NNSԠUMN+65NϠƠNSUNSNDB NàUMN+66ADDҠƠNԠDNBU PADDUMN+6PANDADDҠBASŠADDҠPN PҠUMN+6PN BUƱUMN+69 YàUMN+0PHASŠƠADNDAҠY NDUMN+DAANDAҠҠAD SNDUMN+DAANDAҠSNGҠAD SBUƠUMN+3ADDҠƠSԠDNSԠUPUD SSUMN+SGàƠNԠSND MPUMN+5 YàUMN+6 BUƱUMN+PҠϠADàDƠDB̠ B5UMN+ BUMN+9 NUMN+0 KKBBUMN+DUBŠBANK KK05UMN+ zKK0UMN+3 KK05UMN+ KK05UMN+5 KK06UMN+6 KK00UMN+ KK3UMN+ KK60UMN+9 KK6UMN+90 KK00UMN+9 KK50UMN+9 KK5UMN+93 KK300UMN+9 KK30UMN+95 KK00UMN+96 KK60UMN+9 KKUMN+9 KKUMN+99 ؠUPNA̠DS àԠ-3MPAYUSAG àDƠ+MPAYUSAG DBUƠDƠBUƠBASŠADDSSƠAD DBUƠDƠBUƠBASŠADDSSƠ BASŠDƠSAPBASŠADDSSƠSAPAA MNSDà0BASŠADDҠƠMAHNŠNS. DSYMDà6 DSYMDà5 ADԠDà9BASŠANƠS DMDԠDà30BASŠANƠMD ABNϠԠ-5 NDU DAì AŬA SAì SZ SZ MPNDNNUŠDNGNDԠBS ؠU DAì ADABASŬɠADDBASŠADDSSƠSAPAA SAìɠϠDSPAMNSABV. SZ SZABN MPؠNNU DAUNԠؠàN̠DSҠBNAY ҠB00 SADS DAUPUD ҠB00 SAPUN DASKNϠNAZŠSANGAKN. SADA SҬDNMANANDSUŠDUNŠ SBSUP DADBUƬ ADAB3 SABUƱ DBDBUƠSԠSBU DA..SNGSU? ANDB3B3 SZASS ADBB3NϬAҠSBU SBSBU B SBMPMP0 DA..ƠNԠSNGASSMBYDŬ ANDKDN'ԠSԠHAD SZA SBHADPNSHADNGSKPSNS ADSB.ADADNԠSҠNϠADBU DADBUƬ SAàSԠàDBU ADAB00 "BSԠBUƠND+Ϡ0 SBA AMDAìɠAMNŠSԠDƠD SZAD0?ŠSҠND? MPMP DADSԠYSASԠSҠNAK? NA PANS MPAM SZDSԠN:ADVANŠDS MPADGϠϠAD AMDADBUƬ ADAK6 SABUƱ DABUƱ SADA SZBUƱ DABUƱ SANS SZBUƱ DABUƱ ҠB00 SADS A SADSԠSԠDS MPAD MPҠDAìɠMPUŠN ANDBB DBKM5 ADBAUԠGҠHANHNBNNNG ADA SAN SAPҠSԠPҠҠSU DAìɠSUŠD? SSA MPSU SSBSSGNŠDAAD? MPDPPNϻGϠϠDAAPPUN DANàADVϠNԠD SA MPAMUNϠDAMSA SUàA SADɱ DBDBU NB DAMP0ƠSԠMŠHU SZASS SBASSàYSSԠASSàDBU+ B SBMPMP0 DBàSԠB NB SBANSANSҠSUŠD SBàSԠNԠDSA DADɱSUŠDNDD SSA SZMPMPƠDɱSN SSA MPAM DA..UPUԠSU? ANDKD SZA SBS MPAM K6Dà6 B00Ԡ00 K9Dà9 K5Dà5 BB̠DƠ.B̠BASŠANƠ.B DBUƠDƠBUƠBASŠADDSSƠS MPBSSMAKSHNSUŠàSP SKP ADNMDAŠDŠ .ADNP SB DƠ+ DƠK DƠDS DƠoBU DƠBU DƠDA DƠDS MP.AD KDà SKP ANSҠBKUNŠ ANSNP NSDAB SAASSì NB SZASS PBP MPANS MPNS SKP PPAANҠDAAKNGSGMNԠUNŠ DPPSZ DAìɠMPUŠNנSAGŠADDSSNA A̬ŬSAASKPSƠAGMVS MPADS ADVPSZ ADAìɠADDNϠADDSS DBASABNANSDASA SAASAASAUPDAD PBA MPY̲NNUŠSNGDAADS MBNB ADABSԠAA-B SAMP SZBSKPUPU SBMSŠDUPUԠ SBұASSԠBUҠϠBANK DAMP SSABANHϠPPҠSԠAD MPMNUS DBDSYMAD'BSS' ADBB SBAD DBMPADBSSPAND SԠDAASS SBASɲ SZASSàADUSԠASS SZASS DAASSìɠMAKŠASԠDGԠABANK ANDB5B5 SAASSì SZASS DAK9 SAUԠSDԠU DA..PNԠSNGƠBԠAS ANDK SZA SBSԠUԠPUԠS MPY MNUSDBDSYMAD"G" ADBK9 SBAD DBASAADGPAND MPSԠGàNNUSAԠS Y̲SZBUPUԠASAƠSAԠƠSԠD MPY̱ Y̠DAASASŠASAƠNԠD SABUƱ Y̱A SAY PNàSZàADVANŠADP DAàADPҠAԠSAԠƠNԠ? PAN MPAMYSGϠϠBGNNNGSGMN SZYàNϻMŠϠADNԠNDSNG? 8MPND DAìɠSŠNDSNG SASND DAKM5D-5SԠADYŠϠSԠM SAY SZàYSADVANŠPҠϠNԠSND DAàGϠϠBGNNNGUNŠƠP PANàAԠSAԠƠNԠD MPAM NDDBSNDSŠMSԠND DASND ANDKK60B60000 AƬA SAND BƬBҠAŠSNDԠϠNԠND SBSND PABBNDƠDAAND? MPNDGϠϠNDUN DBàSԠBϠà+GHNԠD- PAK5 NBHANDSDGH ƱDADBUƬɠSԠAϠMNUSBUƠND ADAK5 MBNBSKPƠAUGԠB ADBA SSB SBMYSSϠUPUԠANDN SZ SBұ SKP AҠDAADANDSŠUNŠ A SAND SAؠAҠ DAìɠADANDSŠDAA SAì SAMPSŠBԠSNG DBNDHANN̠PGAMBASDNND SZBSSASSMBYSNGANDND MP0SPA̠ҠAHNDVAU PBKD MPҲ PBK6D6 MP6 ANDKK00B00000AUAŠDɱ SADɱ DAìɠAUAŠD ANDKK06B6000 SAD PBK MPҴ SBNDSԠND5 ADADɱ SAMPSŠPAA̠BԠSNG DAìɠAUAŠ ANDBB AҬA SA DAìɠAUAŠM ANDB3B3 SAM ADAMP SAì BSԠDɲ0 SBDɲ SZàADVADP DBìɠADDAAD B̬ŬSBB0?AҠAG MPND SBPADD D0DAKK05SԠUAҽ'Ҡ'(B500 SABU+ ADB DADŠDŠ0? SZASS MPD SZàADVANŠŠP SBìɠSŠADNDD MSԠDBMҠHKM SZBSS MP5 DBKK0SԠUAҠ'à'(B0 SBBU+ MP5 DƠADBDɱMPŠADDSS SBì SBMPBԠSNG DBMҠMPUŠND NB SBND MPMS NDԠSZDɲSԠDɲHNAG SBPADD NB DBB MPD0 ADSԠNA DAA MPADVP K9Dà9 K6Dà6 B3Ԡ3 BԠ BԠ K5Dà5 SKP SUPNP DAKM5D-5 SAY DBDBUƬ ADBK SB SBSS A SANNS MPSUP NSHDB̠PSSNG NDSBM SBà_. DƠ+3. DƠK.BNGNNA̠SGMN DƠ+.ϠMVŠSAPPDAA ASà3N9_.BAK KDà SKP MNA̠ŠNDAҠUNŠ MNP DBSND NBƬBҠAŠSNDԠNŠND SZY MPN B̠MPŠPPAANƠSND SBSS DA PASSNҠSPA̠AS MPDB SZ SKP MPŠDB̠D DB̠DADBUƬɠMPUŠDNGH SABUƱSAVŠBUҠSANGADDSS MANA ADA SAUԠSŠҠUPUԠUN AƬAƠMAKŠSԠDB̠D SABUƱ DANNSԠMAKŠNDDB̠D ADAKK60B6000 SZBUƱ SABUƱ DBBUƱܬ(BADDSSƠNDDƠD ADBK(BADDSSƠHDƠD NBɠADAB NB PB MPSB MPNB SBɠSZBUƱ SABUƱ SB.ԠUPUԠDB̠D SBSUPNAZŠVAUS DAASADNNנDB̠AAB SZBUƱ SABUƱ MPM PUNHAPŠUPUԠϠADANDGϠŠ .ԠNP DA.. SSASS MPGHK SBàUPUԠNϠUSDPUNHUN DƠ+5 DƠK DƠPUN DƠBU DƠU GHKDAG SZASS MPND SBԥ DƠ+3 DƠBU DƠU NDԠMP.Ԭ UPUԠSԠUNŠ SԠNP DASBUƠANANSSAԠƠPNNG MA ADAASS DBUND SZBSUBMNGHҠY NA SAUԠUԽNGHƠPNNG SBSԱUPUԠBU SZNNŠPAGŠD MPSԬɠNϬ DANP MANA SANN SBԠPSNPNҠNNԠPAG SBHADPNSHADNGSKPSNS MPSԬɠ SԱNP DBSBU DAUND SZASSADVSAԠҠNϠN̠D NB SBMP SB DƠ+5 DƠK DƠUD MPNP DƠU MPSԱ ԠNP SBàSKPϠNԠPAGŠƠNŠPһ DƠ+SKPDN6NSƠY DƠB3 DƠN DƠKM6 MPԬ SKP KM6Dà-6 KDà SHDDƠMN+3SAԠADDҠƠPAGŠHADNG PGűDƠMN+5]SԠϠDGSƠPAGŠ PG3DƠMN+6NDϠDGSƠPAGŠ KMԠDà-000 B60Ԡ60 K000Dà000 KM00Dà-00 K00Dà00 KM0Dà-0 BԠ HADNPPNSHADNGSKPSNS SBұAҠBU DBSBUƠSAVŠSBU SBP DBSHDNנSAԠADDҠҠSNGPAG SBSBU DAPGNUMPAGŠNBNAY B PN0ADAKMԠ(A(A-000 SSA MPPN0 SZB(B(B+ MPPN0 PN0ADBB60(B000HDG BƬB SBPGű ADAK000 B PN06ADAKM00(A(A-00 SSA MPPN0 SZB(B(B+ MPPN06 PN0ADBB60(B00HDG ADBPGű SBPGű ADAK00 B PN0ADAKM0(A(A-0 SSA MPPN09 SZB(B(B+ MPPN0 PN09ADAB(AUNԠDG ADBB60(BN'SD BƬB ҠB SAPG3 SZPGNUMADVPAGŠNUMBҠUN DAK SAU SBSԱUPUԠHADNG DBP SBSBUƠSŠSBU SBàSKPNSAҠPNNG DƠ+HADҠN. DƠB3 DƠN DƠK MPHAD PPAŠSԠBUҠUNŠ ұNP DAKKBB DBSBU SBBBSAB NBADVANŠPN PBASԠBUҠNDD? MPұ MPSBBBNϻNNU ASԠDƠBU+PҠϠNԠAҠASԠƠBU SKP ASSMBYBUҠNSUNUNŠ 0DBDSYMYSAD"Ԡ"NϠASSB SBAD DBìɠNVԠDAADϠASɬAD DAASS SB6AS SZASS SZASS SZASS MPPN ҲSABU+ADDAADNϠASSB DBDSYMYSAD"ASà"NϠASSB ADBKD SBAD SZASS MPPN 6SBADNDADSYMB̠SNG MPPN ҴSBNDSԠND DBKK05SԠUAҠ'ؠ'(B500 SBBU+ SZASS MPDƱBANHƠDŽ0 SBADNVԠANDSŠD BAKDAì ANDBB MANAMPMNԠN SAN DBBB̠SAHNA̠ABŠҠMAH NSҠPAB MPND NB PBDBU MPG.DP MPNS G.DPDB.DP BNBSAHؠNA̠AB ԱDABɠMPUŠNԠNYàNP ANDBB ADAB SAP NB DABɠDN? PAN MPND DBPҠNϻA̠ABŠHKD? PB+3 MPND PBDP MPBYSSAMŠUNŠNנHKS MPԱDAAP NDNB SYMSBANSANSҠSNG MPDɱ NDDABB̠MPUŠANNNA MANASYMB̠ABŠƠNY ADAB SAB ADAB ADAB ADAAD SAB ADAB3MPUŠSAԠƠNԠNY SAP MPSYM 5DADŠYSDŠ0? SZASS MPD SBADADASSMBYDŠNϠASSB DAìɠNA̠DŠANDPANDNA ANDBB ADAMP SAMPSŠBԠSNG MPSS DƠDBDSYMYSADASSBƠH"DƠ" ADBK5D5 SBAD MPSS ASSBƠDƠMN+ DƱDBDSYMAD"DƠ" ADBK5 SBAD MPBAK SKP ^ ASSMBYNSUNDŠUNŠ ADNP DBMNSGԠSANGADDSS MAHPABɠNPUԠMAHSABŠNY? MP NBNϻGϠϠNԠADDSS MPMAHNNUŠHK ŠDAMNSMPUŠàHNAB MANA ADBA ADBB ADBDSYMMPUŠàƠSYMB̠NY NԠDAASSBƠNAZŠASSàP SAASS SנDABɠANSҠSYMB̠DϠASSB AŬAMVŠANYAG SAASSì DAB NBADVANŠANSҠANS SZASS SSANDƠNY? MPADɠYSUNϠMANPGAM MPS ADNP DAADSŠUNADDSSNAD SAAD MPN SKP SUPPYPANDSYMB̠UNŠ SSDBDɲBԠ5NDD SZBSS MPBH0 DAPADDɠYSADBASŠDƠNY SSAVAABŠSANSAN MPSH ANDBBANSŠASԠ3BS DBPADD ADBA SBP PAKASԠ3BS00? MPSHYSSŠNPADDPANDADD DBPADDNϻAD3DDƠNY ADBKD DAB SSASS MPSASS DBA MBNB'SMPMNԠD DAASS SBASɲNVԠϠASɠGUSS DAPADDɠDMNŠMDŠDŠƠADDSS A ANDBB ADADMDԠAŠNABŠMDŠSYMB DAA SABU+6S MPUPASS SHSZPADDNPADD DAPADD SAPADD DAؠNàPADDƠؽ(SPA̠ASũ PAK SZPADD NVԠDBPADDSŠASɠADDҠSHDԠN DAASS SBASɲ UPASSSZASS SZASS DAASSì ANDB5B5 SAASSìɠMAKŠNDZϠABANK DBMP3 SBASS MPM00 BH0DAMҠSKPPANDGàƠMMN SZAAN MPNV DAASAMPUŠDSANŠBNPAND MANAANDADADDSSS ADAPADD DBKK05B5053SAҠPPҠSGN SSA DBKK50B5055 SBASSì SSAMAKŠDSANŠABSU MANA SAB ANDKKB0DSANŠSSHAN? SZA MPNV ADBKK00B0060YSSŠNNԠ BƬBƠDSANŠANDBANK SZASS SBASSì DAB SZASS MPDɱ SASSANDKKB00 PAKK00B0000HKҠADNG MPSH SBANSANSҠSYMBS MPDɱ M00DBMҠM00UNŠADDSMMNSYMB SZBSS MPDɱ B ADBASSàBASS- DAB ADAB3SԠGHԠHAƠASԠDϠ"" SAB DɱDBDɱPGAMPASSSϠKUNSSBH SZBDɱANDؠAŠZϬHN MPKϠPN DB PBK B SB SZBSS MPPN KANDB3ANANSASԠDNPND SNGMASKGHԠHA PAB0 MPBKN DAKK5AD"+" DB SZBSS ADABAD"" SASSSAASSì SZASS MPPN BKNB ADBASS SBMP DAB ADAB3AD"+" DB SZBSS NAAD"" SAMP DAKK30AD"+" DB SZBSS ADAKK3AD"" MPSASS BSԠDƠMN+ B3Ԡ3 B3Ԡ3 B0Ԡ0 B3Ԡ3 BsԠ KDà KDà KM5Dà-5 ASAԠ0AUA̠SAGŠADDSS DSԠԠ UԠԠ0NGHƠNNSUPUD SKP PPAŬADANDPNԠSԠBUҠUNŠ PNԠDBMP DABS SBASɠANSAŠBԠDŠNϠAS DBASA DADBU ADAKD SBASɠANSAŠADDSSNϠAS DABU+SԠADNGHAAҠϠ- ANDKK6B6 SABU+ DA..PNԠSNGƠBԠAS ANDK SZA SBSԠUPUԠSԠBU SKP ŠNDAҠUNŠ SZNNSԠNMNԠNNS SZASANMNԠASA DASNDAŠSNDԠND AƬAҠSŠAԠGHԠND ANDKKB0 ADAND SASND SZYàBANHN-N-5 MPPN DAKM5D-5SԠY SAY DASNDAŠSNDԠ A SASS SZ DB SBSS MPPN SKP DAAϠASɠNVSNUNŠ ANGSUN:DB(DAAD DA(ADDSSAԠSAԠ SAGũ SBAS ASɠNP SAMP3 A SBSAḆ SBBUK MPASɬ ASɲNP SAMP3 A SBSAḆ SBSAB3 SBBUK MPASɲ BUKNP SBSAB̷ DAKMD- SAASSԱ ASɱA SBSAB3 SBSAB̷ SZASSԱ MPASɱ MPBUK SAḆNP ŬB A MPSAḆ SAB3NP SBSAḆ SBSAḆ SBSAḆ MP+`NLHSAB3 SAB̷NP AƬA SBSAB3 ADAKK300B30060 SAMP3 SZMP3 MPSAB̷ KMDà- BU̠Dà6BUƠNGH MP3BSS NDND N  24170-80023 C S 0122 RTE/DOS FORTRAN IV SEGMENT 14             H0101 J ASMBҬ̬ìB HDNŠ--PSSNVAUAҠSNDAYSGMN NAMNŬ5PSSNVAUAҠSGMN Ԡ Ԡ00 ԠA00 ԠA00 ԠA00 ԠDA00 ԠS00 ԠD ԠA00 ԠZ00 Ԡ00 AU0A-GS BUB-GS àU BSS50 .DPU+ؠNA DƠU+DԠUNNAG .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN DɠUMN+3DDNANNGHŠN MUMN+MMD UUMN+MUSAG NàUMN+33NAMŠHANGŠAG NDUMN+NUMBҠƠDMNSNS ҠUMN+9BԠDŠDYP .ҠUMN+50HDS(.A'SB0'AG SKԠUMN+59NDADDҠƠPANDSAK رUMN+65ASSGNABŠPNҠҠD. زUMN+66ASSGNABŠPNҠҠD. AàUMN+6AUMUA .AƠUMN+0 BADDҠUMN+ YPŠUMN+9 SKNUMN+5PNҠϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. PDUMN+93PPAҠD PNUMUMN+9NUMBҠƠPANDSϠBŠPPPD SàUMN+95 SԠUMN+96 AUAŠASSGNMNԠABŠADDSSS ҠNSNHŠABŠUSԠABVŠ ABԠDƠ.AND ABNϠDà- NŠU DAABԬɠADDDNA̠ABŠBAS ADA.DPADDSSϠDSPAMNSN SAABԬɠABŠABVŠANDNSԠNAB SZfAB SZABN MPN UMPϠDŠGNAҠ DAPD PAKƠPD MPP00PNNANPAN PAKƠPD MP.ҠGA̠ҠPAN PAK9ƠPDŠ9 MP.ANDGA̠ANDPAN PAK0ƠPDŠ0 MP.NԠGA̠NԠPAN SBA00HUƠAAYҠSUBUN DAUHSŬAAYҠSUBPG. PAAҠƠAAY MPAA00AAYN MPS00NϬMUSԠBŠSUBPGN KDà K0Dà0 AҠԠ600UҠAAY UNϠSGMNԠN NSB DƠ+3 DƠK DƠ+ ASà3N PNNAN P00UPNNANDŠGNA SB00MMUŠPANDS SBS00SŠPPƠNGSS SBGԲ00GԠYPSƠPPANDS DANYPŠ(A_YPŠƠP DBYPŠ(B_YPŠƠBAS PBNԠSBASŠNG? MPP0YS PBPؠNϬSBASŠMP? MPP03YS PBANϬSBASŠA? MPP0YS PBDB̠NϬSBASŠDUB? MPP05YS P0DAK5NϬ-GA̠PNNAN SB00 K5Dà5 P0B PANԠSPҠNG? DB.ɠYS MPP06 .ɠDƠ.B+3ɪ P03B PANԠSPҠNG? DB.ɠYS MPP06 .ɠDƠ.B+3ê .ɠDƠ.B+Ҫ P0B PANԠgSPҠNG? DB.ɠYS PAASPҠA? DB.ҠYS PADB̠SPҠDUB? DB.DYS MPP06 .ҠDƠ.B+5Ҫ .DDƠ.B+0ҪD KDà K9Dà9 .DɠDƠ.B+9D .DҠDƠ.B+D .DDDƠ.B+DD P05B PANԠSPҠNG? DB.DɠYS PAASPҠA? DB.DҠYS PADB̠SPҠDUB? DB.DDYS P06SZBSSƠ(BSS̠0NϠNAMŠAS MPP0SD-Ҡ-GA̠P. SBD00GNAŠSB.UN DAYP PAPؠƠMPج MPP0YS-AAŠMPҠDƠSU PADB̠ƠDUBŬ MPP0YSSAMŠASABV. DANYPŠN PADB̠ƠDUBŬ MPP0YSSAMŠASABV A SASԠSUԠ̠BŠNGSS MPP0GNAŠMANDҠƠA.S. P0SBA00AAŠMPҠDƠSU. SBSԠSAVŠ.AASS SBD00GNAŠDƠSU. P0DBSKԬ SBD00GNAŠDƠBAS. DBSKN SBD00GNAŠDƠP. DASB DB.0 SBSA00GNAŠSB0 MPN GA̠ҬAND .ҠU..PPANDS .ANDU.AND.PPANDS SB00MMUŠPANDSƠHPU SBGԲ00GԠYPSƠPϠPANDS. PANYPŠAŠBHPANDSƠSAMŠYP? SSYS MPN0NϠ-Ҡ-NDBHGPS. PAGAŠHYGA? SSYSPSS. MPN0NϠ-Ҡ-NDBHGPS. SBSG00SAԠDŠGNAN(AD DBPD PBKSPAN..? DAҠYS PBK9SPAN.AND.? DAANDYS DBSKNɠADPAND. SBSA00UPUԠ'Ҡ'Ҡ'AND' MPN ANDԠ000 ҠԠ3000 GA̠NԠ .NԠU.N.PPAND SBGԱ00GԠYPŠƠPPAND PAGSYPŠGA? MPN0YSGNAŠD. N0DAK56NϬҠ-PAҠUS SB00GA̠PAND. K56Dà56 N0SBSG00SAԠDŠGNAN(AD DAKK6 SBA00UPUԠMA MPN KK6MA AAYMNԠADDSS AA00UAAYNŠDŠGNA DAM SA5AASAVŠAAYM DABADD SAԱAASAVŠAAYBASŠADDSSD DAر SAԲAASAVŠPNҠϠSԠDMNSN DAز SA3AASAVŠPNҠϠSNDDM. DAPNUM MANA ADAND NA(AND+-PNUM SSASSƠ(A<0 MPAA0N DAK3YS-Ҡ-MŠSUBSPS SB00HANDMNSNS K3Dà3 DBԠ66000 ..MAPDƠ.B+6AAYMNԠADDSSAUA. ԲAANP 3AANP ԴAANP AA0DBSKԠANƠSԠSUBSPԬ SBԴAASAVŠ. AA5DBBɠ(BSԠSUBSP SZBSSƠSUBSPԠSNGSS MPAANNU SB.AHSŠMAKŠSUŠԠS SBA00NԠASUBPGAMNAM. DAK5 DBU PBSUB SB00 DBԴAAɠ(BSUBSPԠPN AASB00GԠSYP PANԠlSԠNG? MPAAYS PAGƠGA̠SUBSPԬ MPAA55Ҡ-GA̠NV.GA SASYPŠSUŠYPŠƠNVSN DANԠBԠYPŠƠNVSN DBԴAAANƠNVSNSU SBN00NVԠԠϠNG AASZԴAAPNSϠNԠSUBSP DBԴAA PBSàHAVŠA̠SUBSPSBNHKD? MPAA0YSNNUŠPSSNG MPAA5NϬNNUŠHKNGSUBSPS. AA0DAPNUM PAKƠHSSAVҠAUAN MPAA03 SBS00SŠGSSƠU. KKANAƠMNGҬ DB5AA PBAƠMA̬ DAK PBDB̠ƠMDB DAK3 PBPؠƠMMP DAK SAD DANԠNGҠNSAN SBS00 SBA00 DADB SBA00UPUԠDB3Ҡ DAKK9(A'A'ƠDM. DBPNUM PBKƠ3DM. DAKK(A'ANA' SBA00UPUԠ'A'Ҡ'ANA' DB..MAP SBD00UPUԠSB..MAP KK9A DBԱAA SBM00UPUԠDƠBASŠADDSS DBS AA0ADBKM SBSàPNSϠSAKàҠNԠSUB DBB SBD00UPUԠDƠҠ3SUBSPS DBS PBSKԠAŠA̠DƠSUBSPSUPU SSYS MPAA0NϬUPUԠNԠN DBԲAA SBD00UPUԠDƠSԠDMNSN DB3AA DAPNUM PAKƠ3DMNSNA SBD00UPUԠDƠSNDDMNSN MPAA06NSHUP K5Dà5 SUBԠ00 KDà ԱAANP 5AANP AA03SBSG00HANDŠVҠADDSSAUAN DAN SBS00SABSHNGҠNSANԠƠ- A SAD SBA00ASSGNԠϠAB DAADA SBA00GNAŠADA- DB5AA PBNԠƠNGҠV MPAA05YS PBGҠGA MPAA05YS PBAҠA DAKK3UPUԠ'AS' PBDB̠ҠDUB MPAA0 PBPؠҠMP DAKKUPUԠ'ASAS' SBA00 MPAA05 KK3AS KKASAS .MPYDƠ.B+5NGҠMUPY AA0DB.MPYUPUԠSB.MPY SBD00UPUԠDԠUNN DAN SBS00SABSHNGҠNSAN DAK3 SAD SBA00ASSGNԠϠAB DB.A SBD00UPUԠ'DƠ3' AA05DAADA DBԱAA SBM00GNAŠADABASŠƠV AA06DBADD SBYP SBA A SAAàSԠASAG SAS DB5AA SB.AƠSԠMƠAAYNϠ.A DBYPؠSAAYMNԠNɯϠS? PBKM3 MPAA0YSSŠADDSSNMP DB5AANϬ(BMƠAAY. PBPؠƠMPؠAAY MPAA0YS PBDB̠ƠDUBŠAAY MPAA0YS MPN AA0SBGS00SAVŠADDSSNMP SASԠSAVŠPNҠϠMP MPN AA55DAK55Ҡ55 SB00GA̠NVSNGA K55Dà55 GԠ30000M3GA KMDà- KM3Dà-3 ADAԠ000 B0Ԡ0 PؠԠ50000M5MP DB̠Ԡ60000M6DUB UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ}(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN UMPϠSUBPGAM S00USUBPGAMA̠GNA DAMSAVŠMƠSUBPGNAM SA0S DA. SAԱSSAVŠ.ҠҠSUBPGNAM DAN PAB0ƠNý''SPA̠ANG MPS03SUN.HANDŠSPAAY. SBS00MAKŠSUŠA̠GSSAŠSD DASB DBSì SBSA00UPUԠSBϠSUBPGNAM ANԠHҬPSSNGNA̠AY DBYPؠ(B_YPŠƠNPUԠPSSN. PBKMƠԠSASUBUNŠA̠SA MPS0PSSKŠN.G.ҠA. DB0S PBDB̠ƠUNNSDB̬ MPS0YS PBPؠƠUNNSPج MPS0YS S0DBPNUMNϠ-MUSԠBŠNԠGAҠSUB SBZ00UPUԠDƠ+N+ MPS0UPUԠAGUMNԠDS S0DBPNUMASϠDB̠ҠPؠUNNS NB SBZ00UPUԠDƠ+N+ DA0S SBA00AAŠDB̠ҠPؠSUԠMP SBSԠSAVŠPNҠϠUNNSU SBD00UPUԠDƠSU MPS0UPUԠAGUMNԠDS. S03DAԲSSŠƠA̠SϠSGNSGN DBAɠҠҠAND PB.NԠƠNNŠƠHS MPS09PSSA̠BYVAU. PBSìɠƠԠSINŠƠHM MPS35GNSPA̠ANGSUN. NA MPS03+NNUŠHKNG. S35SBS00MAKŠSUŠAGUMNSAŠSD DASB DBSìɠUPU SBSA00SBSGNSGNANDҠ. DAPNUM PAK3SHŠAYϠAGUMNS? MPS0YSUPUԠHҠDS. S0DAK59NϠ-Ҡ-NԠN.ƠAGS. SB00 K59Dà59 S06DAK60NϠ-Ҡ-AGUMNԠMDŠ SB00 K60Dà60 K3Dà3 NԠԠ0000MNG AԠ0000MA SBԠ6000 S0A SASԠSUԠ̠BŠNGSS S0DBSàUPUԠAGUMNԠDS ADBKM SBSàPNSϠNԠAGNSAK DBBɠ(B_A..PNҠϠAG. SBD00UPUԠDƠAGUMN DBS PBSKԠSNŠAGSԠUPU? MPSYSNSHUP. MPS0+NϬUPUԠNԠAGUMNԠD. S09DAPNUMPSSA̠BYVAUŠA.S. PAKSHŠAYNŠAG.? SSYS MPS0NϠ-Ҡ-NԠN.ƠAGS SBGԱ00GԠAGUMNԠYP. PANԠAGUMNԠMUSԠBŠNG MPS0 PAAҠA̻ MPS0 MPS06HSŬAG.MDŠ. KDà S0SBSG00UPUԠADAGUMN DASB DBSì PB.NԠƠԠS'N'UNN MPS3GNAŠN-NŠDNG SBSA00UPUԠSBUNN SDB.0NASŠNDD. DAԱS.ҠҠUNNNAM SZASS MPSƠ0NSHUP DASBƠNԠ0 SBSA00UPUԠSB0 SDB0S SBYPŠYPŠYPŠƠUNNSU MPN S3DAKK6N-NŠDNGҠ'N'6 SBA00UNNS'MA'. MPSNSHUP. 0SNP ԱSNP ԲSDƠ.AND DSPAMNSMBASŠƠDNA̠ABŠ HŠDҠƠ.AND.Ҭ..SGSG..AND.NԠMUSԠBŠHS .ANDԠ63ANDUNN .ҠԠ5ҠUNN ..SGԠ6SGNUNN SG..Ԡ33SGNUNN .NԠԠ6NԠUNN .0ԠҠSUBUNŠ0 .ؠԠ30ؠNVSNUNN .DBŠԠ5DBŠNVSNUNN .MPؠԠ05MPؠNVSNUNN .AԠԠAԠNVSNUNN .A̠Ԡ36A̠NVSNUNN .SNG̠Ԡ3SNG̠NVSNUNN SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 GNAŠADD GAD00NP DAADA SBSA00UPUԠADA(B MPGAD00 SYPŠNP SAԠDŠGNAN SG00NP A SASԠSԽ0ƠPANSUԠS DBSKԬ SBD00ADPPAND MPSG00ɠUN. GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 GKDAKK0DƠA SBA00 MPD00 KK0Ԡ00000 KK3DAA D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00 .DDDƠ.B+DUBŠAD D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00 DAԠ6000 D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. 0DNP GNAŠSŠ S00NPASSUMŠMƠSUŬDSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS .DҠDƠ.B+DUBŠPSNANS .ҠDƠ.B+5MPؠANS AD uDҠԠ0000MADDSS SAԠ000 S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 0SԠNP ԱSԠNP ԲSԠNP GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DBBɠ(BPN.ϠA..NԠƠM. SB0NHHSϠBŠNVD. B3NS0ƠSUԠƠNV. SB3NSԠNGSS(ASSUMũ PADB̠SBԠƠYPŠDUB? MPN0YS PAPؠNϬSBԠƠYPŠMP MPN0YS MPN0NϠ-DN'ԠAAŠMP N0SBA00AAŠMP̠ϠHD SB3NSUԠƠNV.SAVŠ N0DASYPŠ(ASUŠYPŠƠNVSN. DBYPŠ(BBԠYPŠƠNVSN PAASSUŠA? PBNԠYSSBԠNG? MPN03SUŠNԠA̠ҠABVŠU DA0N SBS00SŠA̠ƠNGSS SA0NƠSŠDNŬUPDAŠPҠϠ MPN0 N03DB0NADNVSNS )U SBD00ƠPSSBŠANDNDD. N0BB0ASAGUN̠NAMŠSD SBԱNԱNҠDƠ++ԱN DASYPŠ(AYPŠƠSUŠƠNV. PANԠSSUŠYPŠNG? MPN05YS PAPؠNϬSSUŠYPŠMP MPN06YS PADB̠NϬSSUŠYPŠDUBŠP.? MPN0YS DAYPŠNϬԠMUSԠBŠA. PANԠSBԠYPŠNG? DB. PADB̠NϬSBԠYPŠDUB? DB.DB PAPؠNϬSԠMP? DB.MP MPN0GNAŠSԠƠANGS. N05DAYP PAABԠA? DB.A PAPؠBԠMP? DB.P PADB̠BԠDUB? DB.DB̠YS MPN0GNAŠSԠƠANGS. .DB̠DƠ.B+NVԠNGҠϠDUB .PؠDƠ.B+5NVԠNGҠϠMP .NԠDƠ.B+NVԠMPؠϠNG N06DAYP PANԠBԠNG? DB.NԠYS PADB̠BԠDUB? DB.DB̠YS PAABԠA? DB.A MPN0GNAŠSԠƠANGS. 0NBSS ԱNBSS 3NBSS YPŠBSS .DB̠DƠ.B+0NVԠMPؠϠDUB .DPؠDƠ.B+6NVԠDUBŠϠMP .DNԠDƠ.B+NVԠDUBŠϠNG N0DAYP PANԠBԠNG? DB.DNԠYS PAPؠBԠMP? DB.DPؠYS PAABԠA? DB.SNG N0SBԲNSAVŠNAMŠSD DAKƠDƠ+N+SNDD PB.A MPN09DƠ+ PB.SNG MPN09DƠ+ NA PB.DB MPN09DƠ+3 NA PB.MP MPN09DƠ+  PB.A MPN09+ PB. MPN09+ MPN ԲNBSS N09SAԱN DASB SBSA00UPUԠN-DԠNV.UN SS NSBD00UPUԠDԠNV.UN A DBԱN SZBƠB0DƠ+N+SNDD. SBZ00 DB3N SZBƠB0DƠSUԠSNDD. SBD00 DASYP PAN MPN0YSANGS.SMP DAԲN PA. MPN0YSANGSUNŠSMP DB0N SBD00GNAŠDƠƠSU DAԲN PA.MP SSYSGNAŠDƠ0 MPN0 DAA SBS00SABSHA̠NSAN SBDɠNSANԠS0. SBA00ASSGN0NSANԠϠA.. DB.APNҠϠA..NYҠNS. SBD00GNAŠDƠ0 N0DA3NUPDAŠPNҠNPAND SAԴNɠSAKϠPNԠϠNV.SU. SZAA0ƠSUԠSNGS(S MPN00 DAԴN SAAàUPDAŠA DAYP SAAàUPDAŠA MPN00 ԴNBSS SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPSƠPϠPANDS GԲ00NPGԠMƠϠPPANDS DBSKN SB00GԠMƠNԠϠPPAND SANYPŠANDSAVŠԠNNYP. SBGԱ00GԠMƠPPAND. hMPGԲ00ɠUN GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàN. SBDM00 DA.ASŠGSҠNANNG SBS00ADDSSNMP. DAADD SBDM00HANGŠSMBAKϠADDSS. DA.AƠNSԠMƠMBNGADDSS SBDA00NϠAƠƠMP̠A..NY. GS0DA.AAVŠ.AƠMP̠NAG. MPGS00ɠUN 8p DNŠM NY:(ANנMMD DM00NP SAMM(A DA.A ANDKK5B0 ҠM SA.AɠM(.AM MPDM00 KK5Ԡ0 HKMMUŠ 00NPADƠMM.NԠUD DAAàBUԠMAYBŠADVANAGUSϠG SZASSGSҠPANDNPƠSAK MP00 PASKԠƠPPANDAADYNG MP00 SB00SŠMMUŠPANDSAND MP00 MMUŠPANDS 00NPADHNMM.SUD DAA SZASSƠNϠPANDSNGSS MP0GϠMMUŠPϠPANDS PASKNƠN--PPANDNG MP0GϠHANGŠAàϠSK SBGS00NϬSŠPPANDBŠM 0DASKԬɠ(A_PPANDNSAK. DBSKNɠ(B_N--PPANDNSAK SBSKԬɠPPAND_(B SASKNɠN--PPAND_(A MP00ɠUN 0DASKԠUPDAŠAàϠSKԠSN SAAàMMUANPUSGPAND MP0NPƠSAK. UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00 0MҠNP ұ0Ԡ0000MMYN NDN `^ZZ`  24170-80024 C S 0122 RTE/DOS FORTRAN IV SEGMENT 15             H0101 K ASMBҬ̬ìB HDNƠ--PSSNVAUAҠNSH-UPSGMN NAMNƬ5PSSNVAUAҠHDSG. Ԡ Ԡ00 ԠA00 ԠA00 ԠA00 ԠS00 ԠDA00 ԠD ԠZ00 ԠA00 Ԡ00 ԠMV Ԡ.N. Ԡ.N AU0A-GS BUB-GS àU BSS50 .DPU+ؠNA DƠU+DԠUNNAG MNԠU+-(DSMANDϠBŠMVD .NA̠ABŠ .B̠U BSS5 MNU BSS00 .AUMN+0ASSGNMNԠABŠPN YPŠUMN+ MUMN+MMD UUMN+MUSAG PԠUMN+3UNPNԠNMANPGAM. ҠUMN+9BԠDŠDYP SKԠUMN+59NDADDҠƠPANDSAK AàUMN+6AUMUA .AƠUMN+0 YPŠUMN+9 SYPŠUMN+SUŠYPŠƠNVSN 3ŠUMN+3NGҠMP̠ҠGϠϬD SKNUMN+5PNSϠNԠϠPSKN. AàUMN+6YPŠƠAUMUAҠ(M3 ԱŠUMN+YPŠƠASƠNAM NYPŠUMN+ YPؠUMN+9YPŠƠNPUԠP.ϠP.VA. ԲŠUMN+9P̠AԠBGNNNGƠAS ԴNUMN+99SAKADDSSƠNVSNSU AUAŠASSGNMNԠABŠADDSSS ҠNSNHŠABŠUSԠABVŠ ABԠDƠ. ABNϠԠ-6 NƠU DAABԬɠADDDNA̠ABŠBAS ADA.DPADDSSϠDSPAMNSN SAABԬɠABŠABVŠANDNSԠNAB SZAB SZABNϠABNҞϠ-6Ҡ6MSNAB MPN NSHPSSNVAUAN PSSNSHANDDNHSSGMN: YPŠ0SAMNԠUNN YPŠ-DϠSAMNԠMNA̠ҠSPSZŠPAAM YPŠ-5MPUDGϠϠNDؠPSSN YPŠ-ƠSAMNԠPSSN DAYPŠAG SSAƠNGAVŬ MPŷNSHPSSNGPSSN SZAƠZϬ MPŷNϠ-GNAŠNVSND SBMA00YS-NDNVYPŠANDGND SG.SBàSŠSGMNԠN DƠ+3ANDANSҠBAKϠ DƠK DƠ+ ASà3N KDà ŷDBԴN(BSAKàƠNVSU SBN00GNAŠD MPSG.UNϠN ŷDBSKԬɠƠSUԠSNGSS SZBSS MPŷ0YS-NNU SB.ANϠ-ƠSUԠSAN SBA00NA̠NAMŬAGAS DAK5Ҡ5.HSŠNNU. DBU PBSUB SB00 ŷ0DBYPؠYPŠƠPSSNVAUAD PBKMƠDϠMNA̠ҠSPPAAMҬ MP63PSSSPAAY. PBKM5ƠGϠϠNDؠPSSN MP63PSSHDϠMҠSPPA SZBSSƠSAMN MP6SAMNԠUNN DBSKԬɠ(BƠPSSNSU SZBSSUԠNGSS? MP6N. DAAàYPŠƠGS PAADDҠƠADDSS SS MPPԬ DAKK3YS SBA00UPUԠDAA DA.AƠ(AYPŠƠAAY MPPԬ KMDà- KM5Dà-5 K5Dà5 SUBԠ00UҠSUBUN 6DAK55Ҡ55- SB00GA̠NVSNGA K55Dà55 6DADA SBSA00UPUԠDASԠDƠSU. SBGԱ00GԠSUԠYP. PAPؠƠMPج SSYS MPPԬ DAK5Ҡ5- SB00MPؠƠPSSNGA K5Dà5 63DBSKԬɠSUԠƠPAAMҠNDؠPSSN. SZBƠSUԠNGSS MP6NϬNNU. DAAàYS PAADDҠƠADDSSNGSҬ SBD00ADNAAYMN. 6SBGԱ00GԠSUԠYP PAGƠGA̬ MP6Ҡ-GA̠GA̠NVSN. PANԠƠNGҬ SSYS MP65N. DASKԬɠ(A0ҠA..PҠϠSU SZAƠ0NNUŠPSSNG. MPPԬ MP66 65SASYPŠSԠSUŠYPŠƠNVSN. DANԠBԠYPŠƠNV.SNG DBSKԠPNҠϠNVSNSU. SBN00NVԠϠNG 66DASA DB3 SBSA00UPUԠSANSԠN.MP DA3ŠUNH(AA..P. MPPԬ 6SBGԱ00GԠYPŠƠSU PAԱŠƠSUԠSƠSAMŠYPŠASS.. MP6NNUŠPSSNG. PAGNϬƠSUԠSGA̬ MP6Ҡ-GA̠NVSN. SASYPŠSԠSUŠYPŠƠNVSN. DAԱŠBԠYPŠƠNVSN. PAGƠGA̠S..NAMŬ MP6ҬGA̠NVSNGA. DBSKԠPNSϠSUŠƠNVSN SBN00GNAŠNVSND. 6DBSKԬ SBD00ADSUԠƠPSSB DAԱŠ(AYPŠƠS..NAM. PANԠƠNG"Ҭ MP69 PAGƠGA̬ MP69 PAAҠA̬ MP69SAVŠMPSAND. DB.DҠNASŠDB̠S.. PAP DB.ҠƠMPؠS.. SBD00UPUԠSB.DҬҠSB. DAKK0 DBԲ SBM00UPUԠDƠSP̬ɠƠHADƠS A DBSKԬ SBSA00UPUԠDƠMP̠ƠSU 69DAKMSAVŠMPSUSDҠAS SAMNԠMVŠDS DAKMMP̠NAMŠPS AŬA DAA DBPPNKϠMP̠NAMŠGNAS BŬB DBB SBMVŠMVŠ.NԠϠ.N.. MPPԬ KDƠ.NԠBASŠƠMP̠NAMŠPS PPNKDƠ.N.BASŠƠMP̠NAMŠGNAS DAԠ6000 KMDà- KK3DAA UPUԠABSUŠNSUN A00NP DBұ0ҽ6NDAҠҠSNDPASS SBҠ(SϠSNDPASSKSUP SB00MNUMNàPDŠҠNS. MPA00ɠUPUԠNS.ANDUN. ұ0Ԡ0000ABSUŠNSUN KK0Ԡ00000 UPUԠMMYNŠNSUN M00NP SB0MҠSAVŠNDDƠNSUN DBұ0ҽ5ҠMMYNŠNS. SB DB0MҠSŠNDDƠNSUN SB00UPUԠNSUN MPM00 0MҠNP ұ0Ԡ0000MMYN GԠ30000M3GA SŠANDUPUԠA SA00NP SB.A SBA00 MPSA00 f SAԠ000 GNAŠAD D00NP(BA..PNҠϠADNGVA. SZBS(B0? MPD0NϠ-PANDNԠAADYNGS DAA PAADDҠSADDSSNAUMUA? SS MPD05N DA.A PAAƠA̠AAY SS MPD005 DB.DDUPUԠSB.DD SBD00 DAKK0DƠA SBA00 MPD00 .ҠDƠ.B+5MPؠANS .DҠDƠ.B+DUBŠPSNANS D005DAKK3ƠNԠҠG SBA00UPUԠDAA D00DA.AƠSԠAýMƠGSS D0SAAàSԠAàMƠGS(S D05A SAAàAý0SNŠPANDNנNGS MPD00 .DDDƠ.B+DUBŠAD D0SB0DSAVŠ.AϠADNGDAUM DBA SZBSGSҠMPY? SBGS00NϬSŠԠNMP. DB0D SB.ASŠ.A SBGM00GԠMMDŠƠADNGDAUM. PANԠƠNGҬ MPD03UPUԠDA PAGƠGA̬ MPD03UPUԠDA PAAƠA̬ MPD0UPUԠDD MPD00 PؠԠ50000M5MP D03DADA SBA00UPUԠDAPAN. MPD05 D0DB.DD SBD00UPUԠSB.DD DB0D SBD00UPUԠDƠ D05SBGM00 MPD0SԠAý0ANDUN. 0DNP UPUԠDԠUNN D00NP SB.ASAVŠPNҠϠUNàABŠN.A SBD DASB SBA00UPUԠNSUN B SBD MPD00ɠUN OU GNAŠSŠ S00NPASSUMŠMƠSUŬDSԠSAM. SA.A SA0SԠSAVŠA..PҠϠSŠDS. SBԱSԠSAVŠA..PҠϠPجDB̠SU. SBGM00GԠMƠDSԠƠS SAԲSԠSAVŠMƠDSԠƠS PANԠƠNGҬ MPS0 PAGƠGA MPS0UPUԠ'SA'NSUN. PAAƠA̬ DB.DS PAPؠƠMPؠANSҬ DB. PADB̠ƠDUBŠANS DB.D SBD00GNAŠSB.UN DB0S SBD00GNAŠDƠDSNAN MPS0 .DSԠDƠ.B+DUBŠS 0SԠNP ԱSԠNP ԲSԠNP S0DASA SBA00UPUԠ'SA'NSUN S0DB0SԠPNҠϠMP. SBAìɠƠAã0SŠ0SԠNSAK ASNŠGSSMPY SAAàSԠAàANDAà0. SAA DAԲSԠSMƠDSNAN PAPؠMP? MPS03YS PADB̠DUB? MPS03YS MPS00 S03DBԱS SBD00GNAŠDƠSUŠƠDB̠ҠP MPS00 AԠ0000MA ADDҠԠ0000MADDSS GNAŠDƠ D00NPPANDASSUMDNԠϠBŠNG A SBSA00UPUԠHŠD MPD00ɠUN. NԠԠ0000MNG DB̠Ԡ60000M6DUB MAHPANDYPS MA00NP DAYPŠYPŠƠPPAND PAGƠGA̬ MPA0Ҡ-G.NV.GA DBNYPŠEADYPŠƠN--PPAND PBGƠGA̬ MPA0Ҡ-G.NV.GA PANԠSYPŠN? MPMA0YSHNNYPŠYP. PBNԠSNYPŠN? MPMA0YSHNYPŠNYP. PAASYPŠA? MPMA0YSHNNYPŠYP. PBASNYPŠA? MPMA0YSHNYPŠNYP. PAPؠSYPŠP? MPMA0YSHNYPŠNYPŠDB. MA0SASYPŠNϬHNNYPŽPؠYPŽDB. SBANVԠYPŠPANDϠNYP SBYPŠMAKŠYPŠNYP DBSKԠPPANDϠBŠNVD MPMA03A̠NVSNSUBUN. MA0SBSYPŠNVԠNYPŠPANDϠYP SANYPŠMAKŠYPŠNYP DBSKNN--PPANDϠBŠNV. MA03SBN00GNAŠNVSND MPMA00 A0U6 GNAŠNVSNDŠ N00NPNNY SAYPŠ(AYPŠϠBŠNVDϠAND SBԴN(BPN.ϠSKNԠNԠM. DBBɠ(BPN.ϠA..NԠƠM. SB0NHHSϠBŠNVD. B3NS0ƠSUԠƠNV. SB3NSԠNGSS(ASSUMũ PADB̠SBԠƠYPŠDUB? MPN0YS PAPؠNϬSBԠƠYPŠMP MPN0YS MPN0NϠ-DN'ԠAAŠMP N0SBA00AAŠMP̠ϠHD SB3NSUԠƠNV.SAVŠ N0DASYPŠ(ASUŠYPŠƠNVSN. DBYPŠ(BBԠYPŠƠNVSN PAASSUŠA? PBNԠYSSBԠNG? MPN03SUŠNԠA̠ҠABVŠU VDA0N SBS00SŠA̠ƠNGSS SA0NƠSŠDNŬUPDAŠPҠϠMN MPN0 N03DB0NADNVSNSU SBD00ƠPSSBŠANDNDD. N0BB0ASAGUN̠NAMŠSD SBԱNԱNҠDƠ++ԱN DASYPŠ(AYPŠƠSUŠƠNV. PANԠSSUŠYPŠNG? MPN05YS PAPؠNϬSSUŠYPŠMP MPN06YS PADB̠NϬSSUŠYPŠDUBŠP.? MPN0YS DAYPŠNϬԠMUSԠBŠA. PANԠSBԠYPŠNG? DB.ؠYS PADB̠NϬSBԠYPŠDUB? DB.DBŠYS PAPؠNϬSԠMP? DB.MPؠYS MPN0GNAŠSԠƠANGS. N05DAYP PAABԠA? DB.AԠYS PAPؠBԠMP? DB.PؠYS PADB̠BԠDUB? DB.DB̠YS MPN0GNAŠSԠƠANGS. .PؠDƠ.B+5NVԠNGҠϠMP .DB̠DƠ.B+NVԠNGҠϠDUB .NԠDƠ.B+NVԠMPؠϠNG .DB̠DƠ.B+0NVԠMPؠϠDUB N06DAYP PANԠBԠNG? DB.NԠYS PADB̠BԠDUB? DB.DB̠YS PAABԠA? DB.A̠YS MPN0GNAŠSԠƠANGS. .DNԠDƠ.B+NVԠDUBŠϠNG .DPؠDƠ.B+6NVԠDUBŠϠMP DSPAMNSMBASŠƠDNA̠ABŠ .ؠԠ30ؠNVSNUNN .DBŠԠ5DBŠNVSNUNN .MPؠԠ05MPؠNVSNUNN .AԠԠAԠNVSNUNN .A̠Ԡ36A̠NVSNUNN .SNG̠Ԡ3SNG̠NVSNUNN 0NBSS ԱNBSS ԲNBSS 3NBSS N0DAYP PANԠBԠNG? DB.DNԠYS PAPؠBԠMP? DB.DPؠYS PAABԠA? DB.SNG̠YS N0SBԲNSAVŠNAMŠSD DAKƠDƠ+N+SNDD PB.A̠YS MPN09DƠ+ PB.SNG MPN09DƠ+ NA PB.DB MPN09DƠ+3 NA PB.MP MPN09DƠ+ PB.A MPN09+ PB. MPN09+ MPN KDà SBԠ6000 N09SAԱN DASB SBSA00UPUԠN-DԠNV.UN SS NSBD00UPUԠDԠNV.UN A DBԱN SZBƠB0DƠ+N+SNDD. SBZ00 DB3N SZBƠB0DƠSUԠSNDD. SBD00 DASYP PAN MPN0YSANGS.SMP DAԲN PA. MPN0YSANGSUNŠSMP DB0N SBD00GNAŠDƠƠSU DAԲN PA.MP SSYSGNAŠDƠ0 MPN0 DAA SBS00SABSHA̠NSAN SBDɠNSANԠS0. SBA00ASSGN0NSANԠϠA.. DB.APNҠϠA..NYҠNS. SBD00GNAŠDƠ0 N0DA3NUPDAŠPNҠNPAND SAԴNɠSAKϠPNԠϠNV.SU. SZAA0ƠSUԠSNGS(S MPN00 DAԴN SAAàUPDAŠA DAYP SAAàUPDAŠA MPN00 SŠHҠPAND S00NPSŠHҠƠPPANDS. DBAàƠAà0HNSMŠPAND SZBSNGSS SBGS00SŠHŠPANDNAMP MPS00ɠUN.GSSNנMPY. GԠYPŠƠPPAND GԱ00NP DBSKԬ SB00GԠMƠPPAND SAYPŠANDSAVŠԠNYP MPGԱ00ɠUN NDYPŠ 00NPNDH(BA..P. SB.A DAAàHSSMƠP.NGSS PAADDҠSAàADD? DA.AƠYSPAŠAàH.A SZB(B0ƠPPANDNGSS SBGM00HMMDŠƠ. SAMSAVŠMƠPPANDNYP. MP00ɠUN GԠMMDŠ GM00NPƠMADDҠҠ.AHANGŠ. SBA00HASSGNS DBM(B_MƠ.A PBADDҠƠMADDSS SAMYSSԠMAƠ.A DAMMAKŠSUŠUPDADMSN(A MPGM00ɠUN GNAŠSŠNMP GS00NPҠSNGAANDA-BNϠMPS DAAàYPŠƠMP̠NDD. SBA00AAŠMP DBA PBADDҠSADDSSBNGSDNMP? MPGS0YS SBS00NϬSŠNԬGҠA MPGS0 GS0DANԠMPAYMAKŠMƠMP.N SAAàANDSԠAàeB@M SBS00SABSHNSAN SBA00ASSGNM DA.A SAS.SAVŠSNGBAKAN DAMP SBA00UPUԠ'MP.A' DAP SAMP.ɠSNG-BAKMPAN MPSSB00ɠ SPà -SԠ SPà MAԠNP DAB5'' SBSԠ-S MPMAԬɠ SPà Ơ(PSSҠ SPà PҠDAKM.AD:A-. SB00PSSNVAUA SAԱ̠MƠVAUADVAU DAB5'' SBSԠ-S SBN00AMNŠNԠHAA SZA MPP6SAMNԠϠ DAKK0.'SSA' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠN. DAMP'MP' SBA00UPUԠA SBMAԠS SBSN00NPUԠSAMNԠN. DA PAB5'' MPP3ý PDA.A SA.ɬɠƽ.A MPNP.ɠGϠDMNŠPPҠMNAN. SPà P3DAԱ̠MƠVAUADVAU PAG SS MPP DAB5 SBMGƠH3BANHS PDAKK'SZASS' SBA00UPUԠABS.NSUN DAMP'MP' SBA00UPUԠA SBSN00NPUԠSAMNԠN. MPP SPà P6DAK6AD:A6. DBԱ̠MƠVAUADVAU PBG SS SBMAƠƠHSAMNԠϠ DAK5 DBSƠSNGAGSԠ? SZBN SB00GA̠ƠHNGA̠ DAK9AD:A9. DBàADHŠNԠHAA. P$pBB5NDƠAD? MPPYSGϠMNAŠHŠSAMN. DAKK6.'SSASS' SBA00UPUԠABSNSUN DAPŠM SBS00SABSHNSAN SBA00ASSGNM DAMP'MP' SBA00UPUԠ'MP.A' DA.A SASƠSԠSNGAG SBN00AMNŠNԠHAA A SAM̠SԠMDŠAG DA SAàSAVŠ DADP ADAK.M SAƠàƠADNBU MPSSNϠSAMNԠSAN SPà PSZàSԠ""Ϡ. SB00GϠSSUŠDAGNSà9. SPà GϠϠPSSҠ SPà GPSBN00AMNŠNԠHAA SZAHA.ADG? MPGϲN SBSN00NPUԠSAMNԠNUMB DA.A SA.ɬɠƽ.A MPMGA̠MNAҠHK. SPà GϲDAD̠HA.AҠ? SZAYS MPGϴN SBV00NPUԠNGҠVAAB DAMP SBA00UPUԠ'MPɬ.A' DA PAB5'' SS MPGϱ SBB00NPUԠBANHS SBH00NPUԠHA GϱAN:A0. G3SA DA SASKB SASK MPNP.ɠGϠDMNŠPPҠMNAN. SPà GϴSBB00NPUԠBANHS SBH00NPUԠAHAA PAB5ý? SS SBU00UNNPUԠUMN DAKM5 SB00PSSNVAUA SAԱGԠSAVŠ.AƠVAҠҠMP DASB'SB' DB.GϠADDҠƠ.G SBD00'SB.G' A DBԱB̠ƠSAMNS ADBK SBZ00 'DƠP+N+' A DBԱGԠ.AƠVAҠҠMP SBSA00'DƠ.AƠVAҠҠMP' DA SAɠɽD G6SZ DAɬ SA.A.A(ɩ SZASS MPG3 A SBA00UPUԠ'DƠ.A' MPG6 SPà NPUԠBANHSԠ SPà B00NP A SAԱB̠Ա0 SBH00NPUԠHA. DAB50'(' SBSԠ-S B0SBSN00NPUԠSAMNԠNUMB DA.A SBPU00SŠSMNԠN..ANSAK SZԱB̠NMNԠNUMBҠƠSMNԠNS. DA PAB5'' MPB0ý A SBPU00NҠ0NϠSAK SBP00-NPUԠPA MPB00ɠ SPà DϠPSSҠ SPà DPҠSBH00NPUԠHAA PAB0'D' MPDPҴýD DAK SBMDϠMSSPD DPҴSBH00NPUԠHAA PAB.'' MPDP6 DAK SBMDϠMSSPD DP6DA.KAD:A. SBNS00S.NN-SPANHK. DAK50 DBԱ̠MƠGƠ..M PBG SBMDϠNGƠSAMN A SAԱ̠SԠGƠ..AG SBSN00NPUԠSAMNԠNUMB DAK3_. DBAԠ.NN-̠S PB̠. SB00_. DA.A SADSNDϠSAMNԠNUMBҠPҠSAVD SBV00NPUԠNGҠVAAB DBD DP5PBDϠASԠAVAABŠ MPDPҷ ADBK DAB PA.A MPDP0 ADBK...3 MPDP5 SPà DP0DAyNLHK5AD:A5. SB00NSDDϠHSAMŠNҠVA SPà DPҷDAB5'' SBSԠàS DAD ADAKM5 SBDP00DD-5 DBD DADSN SABɠ(D.AƠSAMNԠNUMB ADBK DA.A SABɠ(D+.AƠNDؠVAAB DAKM SB00PSSNVAUA SBMAԠS DAKM SB00PSSNVAUA SBAD00AAŠMP̠ϠDϠP DBD ADBK...3 SABɠ(D+3.AƠMNANGND DA PAB5ï MPDP9ýï DAKM SB00PSSNVAUA SBAD00AAŠMP̠ϠDϠP DPҸDBD NB SABɠ(D+.AƠNMNNGND ADBK...3 DAP SABɠ(D+P MPMϠGA̠MNA. I`N  24177-80006 1442 S 0122 06FORTRAN IV COMPILER (10K AREA)             H0101  SPà DP9DADP NA(A.AƠHŠNGҠ MPDPҸ SPà AAŠMP̠ϠDϠPSSN SPà NY:(A.APNҠƠNԠNSԯNԠVAүMP SPà AD00NP DB.A ADBK(B.A+ DBB SSBSS MPAD00ɠNԠNԠMP B ADB.N. SB.N..N..N.- MPAD00ɠ SPà DAAP̠VנSԠ SPà NPU:(AVAUŠƠNנD SPà DP00NP SADD(A MANA ADA ADA̠(A+-D SSASS MPDPVƠ+.G.DDAAP̠V MPDP00ɠ SPà ADPSSҠ SPà ADPAN:A0. MPP0 SPà SDGNPSDAG ..PAKNPNDϠHAS.ƠPSSҠNAM 0A.NP-(ƠHASϠBŠNPUԩ $NDƠNP MPYԱNP MPYԲNP Ա̠NPMƠVAUADVAU ƠNPGƠAG àNPàSAVDNG ԱGԠNP S.ƠNP SNSNԠ000000 K.0ABSYP̲-YPBYPŠSAMNԠDNNAA. SPà K.MDà- KM6Dà-6 KM.Dà- KM5Dà-5 KMDà- KM3.Dà-3 K.Dà K...3Dà3 .KDà K.5Dà5 K3Dà3 K30Dà30 B.Ԡ'"' K35Dà35 KDà K50Dà50 K5Dà5 K5Dà5 B5Ԡ00005 K6Dà6 B0Ԡ0'D' KDà B.Ԡ'' KDà KK0Ԡ600ϠAԠUD B000Ԡ000 KK03.Ԡ000 MPԠ6000 K.DAԠ6000 KK0.Ԡ00000 KK5Ԡ0 MPɠԠ6000'MP' KKԠ0 KK6Ԡ SPà .DƠ M0.DƠM00 M0.DƠM00 ND.DƠND A00.DƠA00 P0.DƠP00 D.DƠD DS0.DƠDS00 N.DƠNƠNϠSSƠAG(ƠNԠ0 NUS.DƠNUS SPDƠSNP .ԠDƠ00 SKDƠ NàDƠNDSH YP̱DƠYPB NP.DƠNP .ASSԠDƠASSԠ.ƠASSGNMN D00.DƠD00DϠMNANGUN SPɠDƠSP .MDƠM .M3DƠM3 N.DƠNҠPҠϠMPDDϠN.VA .DGDƠDAG .ɠDƠ MP.DƠMP .GϠDƠ.B+9MPUDGϠ SPS.DƠSPS ұSԠDƠSBUƠSԠADBUҠ. SPà ԱSSBSS'('AG(0Ơ'('SD ԲSSBSS'('UNԠAҠ SNMBSSSAMNԠNAMŠ(SԠϠS SƠSAMNԠNAMũ ԱSDBSSNUMBҠƠHASMANNG ԲSDBSSPSSҠNYPN 3SDBSSPSSҠNY-PNSB̠P ԴSDBSSƠ'('S ɠBSSSUPPMNAYND MPADBSSPNҠϠBGNƠMP.DϠBDY ԱB̠BSSNUMBҠƠSAMNԠNUMBS DSNBSSDϠSAMNԠNUMBҠSAVD SKP PSSҠNY-PNSABŠ SPà DSPҠABŠNYHHŠNGMA: SPà 50 +0:HAұHAҲ +:HA3HAҴ +:PSSҠNY. +3:Ա(A SPà H:HA'SAŠHŠSԠHASƠHŠPSS ԱNUMBҠƠHAASMANNG (ASAMNԠYPŠHAHY SPà PABDƠ+ ASàUNàUNN DƠUNP }Ԡ000Ա(A0 ASàN SPà ASàSUBҠSUBUN PSBDƠSUBP Ԡ3000Ա6(A0 ASà3UN SPà ASàDMŠDMNSN DƠDMP Ԡ00Ա5(A0 ASà3NSN SPà ASàGϠGϠ DƠGP ԠԱ0(A SPà ASàA̠A DƠAP ԠԱ0(A SPà ASàUUN DƠNP Ԡ00Ա(A ASàN SPà ASàNԠNNU DƠNP Ԡ0000Ա(A ASàNU SPà ASàMMA DƠMP Ԡ00Ա(A ASàA SPà àASà(( DƠP ԠԱ0(A SPà ASàԠ DƠP Ԡ0Ա(A ASà SPà ASàADAD DƠADP ԠԱ0(A SPà ASàBAKBAKSPA DƠBKSP Ԡ0Ա5(A ASà3SPA SPà ASàNDƠND DƠNP Ԡ0Ա3(A ASà SPà ASàɠND DƠP Ԡ00Ա(A ASàND SPà NDSHASàNND Ԡ005"ï" DƠNDP ԠԱ0(A SPà ASàSPSP DƠSPP ԠԱ0(A SPà ASàPAUSPAUS DƠPAUP Ԡ0Ա(A ASà SPà YPBU- ASàNŠNG DƠNP Ԡ00Ա3(A0 ASàG SPà ASàA̠A DƠAP Ԡ0Ա0(A0 SPà ASàDUBDUBŠPSN DƠ7DBP Ԡ500Ա(A0 ASà6PSN SPà ASàMPMP DƠPP Ԡ00Ա3(A0 ASà SPà ASàGɠGA DƠGP Ԡ00Ա3(A0 ASàA YP̲U-NDƠYPŠSAMNS. SPà ASàŠNA DƠP Ԡ000Ա(A0 ASàNA SPà ASàMMMMN DƠMP Ԡ000Ա(A0 ASàN SPà ASàUɠUVAN DƠUP Ԡ300Ա(A0 ASàVAN SPà ASàASSɠASSGN DƠASSP Ԡ00Ա(A ASàGN SPà ASàDAADAA DƠDAAP ԠԱ0(A SPà ASàPGPGAM PPҠDƠPG Ԡ00Ա3(A0 ASàAM SPà PBŠDƠ- SKP ŠPSSҠ SPà PҠANAN:A. P0SAƠSԠɯϠAG(0ADũ A SAS. SA SBH00NPUԠHAA DAB50'(' SBSԠ-S SBP0.ɠNPUԠPAND DAU PAAҠUA? SSYS SBV00NϬAGVAүN SBA00HASSGN SBNSԠNGҠS DAK.DA'DA' SBA00UPUԠ'DA.A' DAKK6'B' DBƠɯϠAG(0ADũ SZBSS DAKK65'BNB' SBA00UPUԠABSUŠNSUN DB.B. DA PAB5'' MPP03MAD SBD00UPUԠ'SB.B.' DA PAB5'' SS MP53GA̠D1M SBH00NPUԠHA. DA SA MPP0 SPà P0DBƠUPU? DAK6 SZBN SB00ŠDUPUԠNԠAD SZ SBH00NPUԠHAA ANA SAѠSԠUD A SBAD00UPUԠABS.DAA P06SBP00-NPUԠPA DAPŠM SBS00SABSHNSAN SBA00ASSGNM A SBA00UPUԠ'DƠ.A' DA.A SAS. P0DA PAB5'ï' MPP0 SBU00UNNPUԠUMN A SAHAҠHAҽ0NAY. SB00ɯϠSԠPSS. P0DB.DA.(B.Ơ.DA. DAƠɯϠAG(0ADUũ SZA SBD00UPUԠDԠUNN DBS. SZBSS MPS NB DAP SABɠA(.AP MPSԠϠïҠS SPà P0DBѠSԠƠSԠUD DAK63 SZB SB00 MPP0 SPà P03DB.D.(B.Ơ.D. SBD00UPUԠDԠUNN SBN00AMNŠNԠHAA SZA MPPNԠMAԠSAMNԠN. SBSN00NPUԠSAMNԠN. SZ DA..KADD-N. P05SBA00UPUԠ'DƠ.A' MPP06 SPà PDA PAB5'' MPP0ŠDNPU SBNM00NPUԠNAM A DBU PBA MPP05UAAY DAK SB00MԠSPàNN-AAYҠSMNԠ SPà PAUSŠPSSҠ SPà PAUPҠDB.PAUS(B.Ơ'.PAUS' MPPASԲ SPà DB.APŠ.Ơ'.AP' SBD00UPUԠDԠUNN MPSԠïҠS SPà ASSGNUNԠNUMBҠ SPà AUN00NP DAD SZASS MPAUN0 DAN SBS00SABSHNSAN SBA00ASSGNM DADA'DA' SBA00UPUԠ'DA.A' MPAUN00ɠ SPà AUN0DAMP SBA00UPUԠ'A' MPAUN00 SPà MAԠPSSҠ SPà MPҠDB.ƬɠADHŠGA̠""AG. DAKAD:A. SZBUŠBANHƠGA̠""? SB00YSGϠSSUŠDAGNS. DAK SAPƠSԠUPUԠAG SBH00NPUԠHAA PAB50'(' MPMP0 DAK9 SBMMAԠNԠSAԠH'(' MP0DASN SZASS MPMP5 NA DBA SZBSS DBP ADBKM SBAɠAƠƠSԣP- MPA MP5SAPMƠ'PM'AG MPSB.DɠAҠDϠ0 SBDS0ɬɠNPUԠDGԠSNG DAD+ SADɠDɽD DA PAB.0'H' MPMP9 PAB'"'? MPMP6 PAB5ï SS MPMP DA.PAK AƬA ANDB3 PAB5'' MPMP DAK0 MP3SBMMAԠNԠNDDBY'' MPAN:A0. SAPƠSԠUPUԠAG MPSԠϠ'ï'SԠSM SPà MP6SZPMƠSԠPMŠAG MPSB00NPUԠUMN SBPAK PAB5 MPMP3HHSNGMND DAPM SZA MPMPg A ADAD SADɠDɽD- SZA MPMPH.SNGNԠYԠHAUSD MPMPSNGHAUSD SPà MPDA PAB'"' MPMPý'"' MPMP SPà MP9DBD SZB MPMPDɠNN-0 DAK..0(A0 PB.DԬɠDԽƠDGS SSDԽ0 SB00MPYDGԠSNGDɽ0.N.D SZDɠBHDɽDԽ0SԠDɽ MPMP SPà UNPSSҠ SPà NPҠSBH00NPUԠAHA. DBSBƠSUBPGAMAGSԠ? SB.A SZBSSYS MPNPNϬUNNMANPGAM SBN00UNHAND MPNP SPà NPSBPM00PGAMMNANàA DAK SBM NPDA.ƬɠGƠAGS? SZAN MP.ɠYSAנNϠAB. MPUMP.ɠ'ϠUMP' SPà UNHAND SPà N00NP DAS.ɬɠ(AS SZASSNϬԠSAUNN MPNPYS PAK..Sƽ? MPNPYSSԠUNNUNN DA.MPK'MP' DBS.ɬɠ(BS SBM00UPUԠ'MPS' MPN00ɠUN. SPà NPDAP SAS.ɬɠSƽP DBSB DAB AND.KK0B0000 PAN MPNP6M(SBƩN PAG MPNP6M(SBƩG PAA MPNP5MA DB.ҠMPؠҠUN PADB̠MDB̠? DB.DҠYS(BàƠDUBŠ SBD00UPUԠDԠUNN DAK.K0'0' DBDA̠SԠAG.àƠMPؠҠDB SBM00UPUMMYN MPNP SPà NP5DB.DD.ƠDUBŠADUN SBD00UPUԠDԠUNN NPDBSB SB.A.ASB ASS(A0ϠUPUԠ'DƠ.A' NP6DADA'DA' SBA00UPUԠA NPDA.MPɠ'MP' DBϠUN'NP'. SBM00'MPϬ' MPN00ɠ SPà NNUŠPSSҠ SPà NPҠDASPɠASԠPANAG ADASNASԠSAMNԠNUMBҠAG SASPɠSPSP+SN A SASɬ SBH00NPUԠHŠNԠHAA. DB.ƬɠADHŠGA̠""AG. DAK9AD:A9. SZBUŠBANHƠGA̠""? SBMYSMMNԠNVŠ"NP". MPSԠïҠS SPà ASSGNPSSҠ SPà ASSPDADA'DA' DBK SBZ00UPUԠ'DA+' DAKK66'SS' SBA00UPUԠABSUŠNSUN SBSN00NPUԠSAMNԠNUMB SZ A'D' SBA00UPUԠA(DƩ DAϱ'' SBSԠ-S SBH00NPUԠHAA DAK9'' SBSԠ-S SBV00NPUԠNGҠVAAB DAK3 DBA PBDUM SBMGA̠UASAGŠƠDUMMYVAAB DASA'SA' SBA00UPUԠA(SA MPSԠïҠS SPà A̠PSSҠ SPà APSBSY00NPUԠSYMB DAK..6(A6 DBB0 PBND+5 MPA̱ SBND+5 SBMPGAMNAMŠMŠHAN5HAS. A̱SBDNDMVŠNDϠD DAD PABƱ KK66SSSKP. MPA5 DAD+ PABƲ SS MPA5 DBD+ DAK5 PBB3 SB00PGNAMŠADNAM A5DAU PASUB SS SBS00AGSUBPGAM A A̲SB00PSSNVAUA MPS SPà ASSGNMNԠSAMNԠPSSҠ SPà ASSԠDA..K SB.NS0ɠSԠNN-SPàHK SB00NPUԠM SBNN.ɠNN-NSANԠS SBNSUBԠNN-SUBPGAMS DA.KM6(A-6 MPA̲ SPà --ABŠHK SPà 00NP DA.A MANA ADADP SSAN-ԠAB MP00ɠ DB.A ADBK DAB AND.KKB5 ҠKK0 SABɠSԠAƱ(.A SBA00ASSGNM MP00ɠ SPà SAMNԠUNNPSSҠ SPà SPҠDA.K3 SB.NS0ɠSԠNN-SPàHK SBSY00NPUԠSYMB SB00--ABŠHK DADɠ_. SAASNM. DAD+. SAASNM+.SԠUPASƠNAM DAD+. SAASNM+_. DAM SAԱSƠSAVŠMƠS..NAM SADA.ɬɠSԠ'AS'AG DA.A SA0SƠSAVŠASSɠPҠƠS..NAM A SBDU00U0 SBD00NPUԠDUMMYS DA0SƠSŠASSɠPҠƠS..NAM ~SA.A SBD00A(.AP̬A(.A DAP SAԲSƠSAVŠ.ƠS..NP SB.GP0ɠGNAŠPGAMNAN DAϷ5'' SBSԠ-S A DBԱS SBMSŠMƠS..NAM SB00PSSNVAUA SPDBD_. ADB.K3 DABɠ.SŠASSɠP SA.A_. ADBKM_. DABɠ.SŠU SB.DU0ɠ_. DBD_. NB. DABɠ.SŠA SBDA00_. DADɠV DB.A. NB. SABɠVSŠA DAD ADA..K SADDD+ PADϠNDƠDϠB̠AHD? SS MPSPNԠY DA0S SA.A.AASSɠPҠƠSMNԠUNàNAM DA.MPɠ'MP' SBA00UPUԠA SBA00HASSGNS DBU SZB MPSP SBS00AGSUBPGAM SP3DAԲS SBDA00SԠS..NPàNϠA..ƠS.. A SAASNMSԠASƠNAM MPSԠïҠS SPà SPPBVA SS MPSP5 DAK.5 SBMVAABŠUSDASSUBUN DASUB SBDU00SԠUSUB MPSP3 SPà SP5DAK5 SBMUSN MPSP3 SPà NDPSSҠ SPà ASSGNADDSSSϠNSANS UPUԠNDDҠAD A̠NNDPASSANDANSҠN̠Ϡ SPà NDPҠDB.ƬɠADHŠGA̠""AG. DAKAD:A. SZBUŠBANHƠGA̠""? SB00YSGϠSSUŠDAGNS. DBDBUƠƠDSP NNG NBBGNNNGƠSS. PBDBUҬDN'ԠUPUԠANH MPDK0BUҠAD. B SBDɠSԠNDƠBU+Ϡ0 SBU.ɠUPUԠASԠSSƠBU DK0DBDàƠASԠDϠNYNDϠAB DKSBԲSƠSAVŠDϠABŠP PBDϠNDƠDϠABŠSAH? MPDK5YS DASNSHSSAMNԠADϠM? PAB MPDK3YS DBԲSƠԲSƽԲS+5ϠNNUŠSAH ADBK..5 MPDK SPà DK3DAK.30(A30 SBMGA̠DϠMNA DK5DBSN SZB SBD00DNŠAƽP̠ҠSԣ. DBP PB.MPɠSNG-BAKMP. MPNDP DBSP PB..K MPNDP0UNԠSAMNԠUAB DBDA.ɬɠDAAASƠAGS? SZBSS MPNDPDN DAS.SNGBAKAN NA DBP SBA NDPDDAKAD:A. SBMGϠSSUŠDAGNSà. NDP0BN:B0. PBNP MPNDP DANN ADAK SSASS(A-(ƠNSMAND MPNDPàԠPAGŬPNԠHAD. NDPSBSKPɠSKPϠNS NDPBDASBƠSUBPGAMAGS? SA.A SZASSYS MPNDPNϬNԠASUBUNŠҠUNN SBN00UNHAND SBA00HASSGNS DAU DBS.ɬɠSԠAUNN? SZBNϬԠSASUBUN ҠVA DBA DAK6 SZB SBMUNNNAMŠNԠUSD SUBUNŠNAMŠUSD NDP3DADP NA SA.A.ADAAP̠SAԠADDSS NDPSBGNA00GԠNԠ.A SSASS MPNDP6NDƠASSGNMNԠAB TNLH SBD00HDASSGNS DANנƠDSNNY ADA...M3(A(A-3 SSA MPNDPҠ-DNS DAN SZA MPNDP5NSAN PAU MPNDP9U0SAMNԠ MPNDP $N  24177-80007 1442 S 0122 07FORTRAN IV COMPILER (10K AREA)             H0101  SPà NDPàSBԲPS.ɠZϠP--PAGŠAGHN SB.ɠԠPAGŬPNԠHAD.N: MPNDPBԲPS̠MUSԠBŠNN-NGAVŠNY SPà NDPDAK66 SBMPGAMUNNHUԠBDY A ADAP SAP̠P̽P- SB00UPUԠ..P MPNDP0 SPà NDP5DAU PAVA SS MPNDPNNVAABůNSNA DAA PA MPNDPAԽ SB00UPUԠ.A.P SBD00AԽ̬A(.AP SB00.ɠHNSAN SB0.ɬɠUPUԠNSAN MPNDP SPà NDP6SB00UPUԠAD.PP DADP NA SA.A SBD00DNŠAN ANA SBAD00UPUԠNGҠ DB.BAD. DA.ɬɠƠSNMPAN SZA SBD00'SB.BAD.' DAұNDƠDB̠DSMAK SA..ɬɠҽ SB0.ɬɠUPUԠD SBSS0ɬ SBS0.ɬɠUPUԠHŠASԠS AUPUԠPGAMSZ ADAP̠NDMA. SBHUPDUŠN-HUSANDSDG SBPSZ+SŠԠNUPUԠN. SBASɠNVԠSԠƠPGSZ SBPSZ+ϠASɠANDSŠԠN SAPSZ+9UPUԠN. DASZŠUPUԠMMNSZŠNDMA. SBHUPDUŠN-HUSANDSDG. SBMSZ+ANDSŠԠNUPUԠN. SBASɠNVԠSԠƠMSZ SBMSZ+ϠASɠANDSŠԠN SAMSZ+9UPUԠN. DAN-BANKS SAN+ DAASNϠASɠ'N' SAN+ DA.ɬɠƠS SZANϠ SBASɠNVԠϠDGԠAS DANPADHŠASԠNŠNGHPND. PAK9"UNDND"MSSAG? SBSKP.ɠYSGϠSKPAN. DBK. SB.PNɠSԠ-PNԠAG DANDKàƠMSSAG SBPS.0ɠPNԠԠU SZ$NɠSԠ$NDƠAG SPà ϠSԠAƱϠ0N--AB SPà DA.DPɠ(A.DP SA.A.ABASŠàƠ--B SAP0SBGNA00GԠNԠ.A DA.ƬɠSԠNؠB̠? SSASSYS MPSAPN DB.A ADBK DABɠ(ASԠϠHAS. AND.KKB5 SAB MPSAP0 SPà SAPBZ SBԲPS.ɠPƠPAGŠAG. DBNN SSBSSSKPƠNGAV BMAKŠԠNG. ADB.KM SBNN SBàϠԠAPAG DƠ+ DƠK3 DƠN DƠNN DANPƠNSPAG MANA SANNŠ-(ƠNSMANDNPAGũ SPà BNGNNDPASSANDANSҠN̠ϠԠ SPà SBà_. DƠ+3. DƠK.BNGNPASS DƠ+ ASà3ƴ._. SPà HUNPPDUŠN-HUSANDSDG. BNAY0. NP0ADAKMԠSUBAԠ0000. SSAƠPSVŬ MPNPN-DN. NBNMNԠ0000UN. MPNP0SUBAԠAGAN. SPà NPADBB.60ADD'BANK-0'NAS ADAKԠSŠBNAYVAUŠ MPHUɠUHҠNVSNAND. SPà NDPSB.AA0ɠASSGNADDҠϠVAABS MPNDP SPà PGAMMNANàA SPà PM00NP DBNDKàƠ DAK.SB'SB' SBSϗ SPà ϠPSSASԠDUMMYAGUMNS: SAMNԠUNNS SUBUNS UNNS SPà A̠NAMSNHŠSԠAŠNDNϠHŠASSGNMN ABŠH: U0 AԽDUM AƽP SPà ҠSAMNԠUNNSHŠDASSGNMNSAŠSAVD SϠHAԠHYANBŠSDAҠHŠSAMN UNNSPSSD. SPà D00NP DAB50'(' SBSԠàS A SA.AGƬɠSԠƠAG0 DAP SASP̠SAVŠ̠PGAMAN DAMMPؠҠDB̠? PAP SS PADB SZP̠YSBUMPP̠BY DAP SSA MPPVP̠V D0SBSY00NPUԠSYMB SB00N-ԠABŠHK DAN SZA MPD0 DAK6 DBA PBDUM SBMDUBYDNDDUMMYVAABS D0DAKAD:A. DB.A PB0SƠASƠMAMŠNSDUMMYS SBMASƠNAMŠNSDUMMYS DAD ADA..M SBDP.0ɠDD- DBD DA.A NA DAA SABɠ(DA(.A NB DAA SABɠ(D+A(.A NB DAU SABɠ(D+U(.A NB DA.A SABɠ(D+3.A A SB.DU0ɠDNŠU(.A0 SZ.AGƬɠAGƽAG+ DAP SBDA00DNŠA(.AP DADUM SBDA00DNŠA(.ADUM SZP̠P̽P+ DAP SSA MPPVP̠V DA PAB5'' MPD0ý SBP00-NPUԠPA MPD00ɠ SPà ɯϠSAMNԠSԠPSSҠ SPà 00NPAD(Ҡ(4A NDSABU̠SAVŠAPŠNGHҠUS SSBSSUSҠNGHNHAS? MBNBYS ADAN MBNB SSASSDNGHUSҠUS? SBBU̠YSSŠUSҠUSԠNGH DABU DBBUAGԠGNA̠US SSBUSҠUSԠҠDS? MANAYSNGAŠAUA̠NGH SABU̠N MPԠNNUŠADPSSNG SPà AԠNP PSàMNDND--D? MP.50YS .6SSDAANϬNԠDADY? MPPN .3ADAAàYSADDAAD MPAԬ SPà NҠNP DABU̠US'SBUҠNGH ŬSSADS? MPNҬɠYS MANASZASSNϬHAAS MPԠDNŠƠUSԽ0 AS MPNҬ SPà NàNP SBSNGԠSAUS AҬSAUNԠADY? MPS.N BҬŬBҠYS SBSSŠNABD? MPNìɠYS DAD.9N DBNAUPU SB35ɬɠMSSAG HԠ33BHA SBAKHKҠAU MPN+ SPà MNDNP .AMNDUPUԠMMAND S.0BMNDADSAUSD BҬB BҬSBUSԠD MPԠYS .SàMNDàNϬNAŠUN BSZŠADҠ? MPMNDɠYSUN .5SSMND MP.5 SBSNGԠSAUS MPMND HKҠAPŠUNԠNAUϠ AKNP SBSNGԠSAUS ŬSBSSUNԠNAU? MPAKɠYS DAM3 DBMMA SB35ɬɠMSSAG HԠBHA MPAK+ SPà ԠDBDB0ADAҠMMAND .BBMNDUPUԠ .6ҝSàMNDàNAŠ .0SSMNDMPD? MP.0N MP.YS SPà àNP SBSNGԠSAUS AƬŬAҠSHԠ""ϠA0 SAAԠ"" MPԱYS MPìɠN HDMAGAPŠDVҠNGUA NҠHHŠҠMAGAPŠSԠDŠN(B.A̠ɯ NSUNSNHŠMAGAPŠDVҠAŠMDD NŠHŠGVNɯϠP. MDNNP SBMSDSAVŠSԠD DBNAGԠSANGPN MDɱDAɠGԠNSUN ANDDM6MASKUԠDSԠD ҠMSDMGŠNNנSԠD SAɠSAVŠ NB PBNANSHDDAAHANN? SZMSDYSBUMPSԠD PBN3ANSHDMMANDHANN? MPMDNɠYS MPMDɱN NDƠM.3DAAHANN̠NSUNS DƠM.9 DƠ.3 DƠM.3 DƠM. DƠ.3 DƠM.5 DƠM.9 DƠM.5 DƠM.50 DƠ.5 DƠ.50 DƠ.3 DƠM. DƠM. DƠM. DƠM. DƠM.6 DƠM. DƠ. DƠ.6 DƠ.9 DƠ. DƠ. NDƠM.MMANDHANN̠NSUNS DƠM. DƠM. DƠS. DƠS. DƠS. DƠS.0 DƠP DƠM.30 DƠM.5 DƠP DƠ.0 DƠM.5 DƠ.5 DƠ.0 DƠ.0 DƠ. DƠM.0 DƠM. DƠM.0 DƠM.0 DƠ. DƠ. DƠM. DƠ. DƠ.6 DƠ.B DƠ. DƠ.6 N3U HDNSANSMPAS. HDDSàDV UPNNY(AHDSHŠDSàADDSS/(BS5-DMN HŠDSàNDAND(BHDSHŠŠADDSS.BԠ5 Ơ(BSҠAANSҠϠŬ0ҠAANSҠϠDS. ԠSASSUMDHAԠDàHDSHŠNGAVŠANSҠNGH NDS. DSDNP SADADDҠSAVŠDSàAND SBŠŠADDSSS DADàԠN SZASSDUN MPDSDɠƠZ SSBSSUNDUP ANDNM6ϠU̠S SADàN DADADDҠAD A̬A̠DS ANDN.3S SADSãD ADADSB̠D DA0 SAA̠SAVŠ ANDDBAԠSԠD DB0PYNϠ(B ADADHNUPUԠDMADS ADMANKAGŠN̠D ҠDSàMPU SADS3 NAAND ҠNB00 SADSñS SADSô SADS5ɯ ADANB00 SADSòMMANDS DBŠSԠB0 MBϠPP B̠DNB DAA̠SԠB۲:0 AƬAƠϠPP S̠ADDSSP DADADDҠA A̬A̠AK S̠6NUMB A̠MVŠBԠ SҠ9SHԠHADAŠADDSSNϠ(A SADADD DBNM0SԠY SBA̠UN DSñA0AԠ SADSàN MPDSñŠAND AƬAƠDS SSASSUP MPDSñSPD DADADDҠUPU DSòA0DSàADDSS àMAҠUPU DAŠ AMAҠADDSS SàMAҠUPU DADàANS AMAҠNGHs<:6 SàDMAàNA DS3Sà0ANS SSDMAAԠ MP-MPNAG DSôA0AB ANDNB0B SZAS? MPDS6YS DAŠN SSASSAD? MPDS÷N DS5A0YS ANDDB3AUY SZASSANS? MPDS÷N DS6SZA̠YSYAGAN? MPDSñYS DAMNϬPN DBDSA'DS SB35ɬ DADSãS ADADB60DSàNUMB AƬAƠAND'' ADASASHN SABDAɠBU BMPU DADADD AƬAƠAS A ANDDB DVDB ADBDB60 SZASSAK MP+3 ADADB60NUMB AƬA Ҡ SABDAɠSŠ DAM5 DBBDA'دج' SB35ɬ MPAɠMNAŠADDUMP DS÷àDMAàANUP MPDSD ND _<  24184-80001 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 8  ASMBAB̬ì HDDHADDSàANDDUMDAGNS DAGNSàҠDHADDSàҠDUM NGUANADDSS SANGADDSS00B SHGSҠDUNGNGUAN BS0-5SԠDŠҠHŠɯϠHANN̠NANNGH YP BS6-SԠDŠҠHŠɯϠHANN̠NANNGH DAANAŠҠHŠDS HŠMMANDHANN̠NAŠBADSHŠN HGHҠSԠD BԠƠSԠϠZϬMAHNŠSA6.ƠSԠϠNŬ MAHNŠSA5ҠA BԠ3SPA BԠSԠϠZϠҠDMAHANN̠6. SԠϠNŠҠDMAHANN̠.(MAYNԠSԩ BԠ5SPA SHGSҠDUNGUN BS0-SPAS BԠƠSԠϠNŬAҠAKABŠAND PANAB BԠ3ƠSԠϠNŬUŠPAҠDSGNPGAM BԠSԠϠNŠҠMANUA̠NPUԠƠDVŠPAAMS BԠ5ƠSԠϠNŬSHNSԠNSS3ANDS5 BԠ6ƠSԠϠNŬSԠAKSN(SHN SANDS BԠƠSԠϠNŬPAԠASԠSN BԠƠSԠϠNŬPAԠASԠPANN VŠMS BԠ9ƠSԠϠNŬHAԠAҠAHSNƠH PGAM BԠ0ƠSԠϠNŬA̠NN-ҠMSSAGSҠH YPŠ̠BŠSUPPSSDPԠUN PANMSSAGSANDH. BԠƠSԠϠNŬA̠MSSAGSҠHŠYPŠ BŠSUPPSSD BԠƠSԠϠNŬHAԠAԠNDƠS. BԠ3ƠSԠϠNŬPNASԠPAN BԠƠSԠϠZϬPGAMH˔ASAҠAH BԠ5ƠSԠϠNŬPGAM̠MŠϠANDY HA G MPNGɠNGUŠPGAM G00B MPSAD G05BϠDNŠNDNGADDSSҠSϠDUMP DƠPNDNDNGANƠPGAM G0B NDƠHϬɠUNPN(ASUSD NUPԩ GB UNԠPAN(PADDSS PҠNP SAPNAPU ADB009UN MPPҬɠADDSS AU0AGSҠADDSS BUBGSҠADDSS àU0HSSYMB̠SUSDAԠA̠PAS HŠHŠMMANDHANN̠NUMB SSD HU0HSSYMB̠SUSDAԠA PASHŠHŠYP HANN̠NUMBҠSSD DàU0HSSYMB̠SUSDAԠA PASHŠHŠDAAHANN NUMBҠSSD DMAUDMAN̠HANN̠(Ҡ3 DMA6UDMA+DMANUPԠHANN̠(6Ҡ MSU500NUMBҠƠMAHNŠYSP MSND(5 MMSU65NUMBҠƠMAHNŠYSP MSND(6 SϠU0BNYADDSSҠSϠSԠUPU SZƠU0APPASHŠANŠDPNDS NHŠSҠSZ. BHKBSS BDBSS BNNԠBSS BPABSS BUADBSSPMAYBUҠADDSS BUAŠBSSSNDAYBUҠADDSS ÷Ԡ0 HAҠBSS NԠBSS H3NP HԠ0 ADBSS NSנBSS PNNP PNԠBSS PNԠBSS SAVŠBSS SҠBSS VԱBSS VԲBSS V3#BSS YؠBSS DñԠ0 DԠBSS DMƠBSSDMAҠNDA àBSSASԠҠNUMB NԠԠ0 AGBSS PԠ0 GBBSS GBBSS GB3BSS GBBSS GB5BSS GB6BSS SԠBSS KMSBSS AB̠BSS ABàԠ0 BPBSS BPBSS NԠBSS A̠BSS ADBSS AMBSSASԠDƠAVAABŠMMY MASKBSS MNԠBSSMSNDUN MNҠBSSYSHNMSND NUMPDà PNԠBSS PSԠBSS PASSBSSPASSNUMBҠSDH PAԠBSS PNԠBSS PNABSS PAGBSS PADBSS PSAVŠNP PSҠBSS PNԠBSS PNؠBSS S00BSS SPԠԠ0 SNBSSUNԠSNNUMB SҠBSSSҠHŠUNԠPAN ̠SA SAGBSS SHASBSS SAUSBSSDVŠSAUSSDH SƠBSSҠPNҠҠZϠƠN SUPPԠ MPBSS MPBSS MP3BSS MPBSS MP5BSS MŠBSS NԠԠ0 AKBSS VA̱BSS VA̲BSS VAUŠBSS NԠBSSPSVŠDUNԠ UNԠPAN D0DƠ DBSS DBSS D3BSS DBSS SKP D0Dà0 BDà B0UB DUB DDà ̠UD BԱUD BUD D3Dà3 B3UD3 DDà BԲUD BUD D5Dà5 D6Dà6 DDà BUD DDà B3UD B0UD D9Dà9 BUD9 D0Dà0 BUD0 DDà B3UD DDà BUD D3Dà3 B5UD3 DDà B6UD D5Dà5 BUD5 BԴDà6 B0UBԴ D6UBԴ DDà BUD DDà BUD D9Dà9 B3UD9 D0Dà0 BUD0 B{ 5Dà B6Dà D3Dà3 BUD3 B30Dà D5Dà5 B3UD5 B3Dà6 D6UB3 B33Dà DDà B3UD D9Dà9 B35UD9 D30Dà30 B36UD30 B3Dà3 B0Dà3 B5UB0 D3UB0 BDà33 BDà3 B3Dà35 BDà36 B5Dà3 B6Dà3 B50Dà0 B5Dà DDà B5UD B53Dà3 D3UB53 B5Dà B56Dà6 D6UB56 B5Dà B60Dà B6Dà9 B6Dà50 B63Dà5 B6Dà5 B00Dà6 B6UB00 D6UB00 B03Dà6 B0Dà6 DDà D9Dà9 D90Dà90 BԷԠ00 DUBԷ B35Ԡ35 B335Ԡ335 B336Ԡ336 B33Ԡ33 BԸԠ00 D56UBԸ B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 B00Ԡ00 BԠ BBԠ000 ÷Ԡ ƠԠ6 DԠ3 ŷԠ ƴ00Ԡ500 5000Ԡ55000 ƷԠ5 GԠ6 H00Ԡ00 HԠ MPɠԠ6000 SBSBұ NNԠ000 P00Ԡ00 P00Ԡ00 P5Ԡ5 P6Ԡ6 HԠԠ06003 HԲԠ0600 HàԠ000 YYԠ300 BԠ BԠ B3Ԡ3 BԠ B3Ԡ3 B30Ԡ0030 D00Dà00 B6000Ԡ6000 D000Dà000 D0UBԱ0 D66Dà66 D0UBԱ PAGŸԠ6000 030UD3 060UD6 00UD 009UD ѱ03UD0 ѱ3UD ѱ3UD3 ѱ35UD3 ѱUD ѱ69UD6 ѱ9UD ѱUD Ѳ63UD6 30UD3 Ѵ9UD Ѵ30UD3 Ѵ659UD6 Ѵ90Dà90 MMDà- MMUP6 MMDà- MM5Ԡ-5 MMDà- MM0Dà-0 MMDà- MM5Dà-5 MM6Dà-6 MM9Dà-9 MMDCà- MMԠ-60 MM50Dà-50 MM5Dà-5 MM56Ԡ-0 MM5Ԡ- MM60Dà-60 MM6UP00 MM0Dà-0 MM99Dà-99 MM00Dà-00 M56UP00 M5Dà-5 M000Dà-000 M0Dà-0 M936Dà-936 M6KԠ0000 ASZZASà00 ASDASàD ASZASà0 ASϠASà ASDDASàDD ASDZASàD0 ASDϠASàD ASZDASà0D ASDASàD ASZϠASà0 ASZASà0 ASϠASà BPҠDƠBUBŠBU BPSDƠBUB+0ADBU BPϠUPAGŸSAԠƠPDSNPGAM DMAנABS0000B+D MMSABS-MS MMMSABS-MMS ASԠASàS ASASàS ASASàS AS3ASàS3 ASASàS AS5ASàS5 AS6ASàS6 SKP BASŠPAGŠNKSANDPNS ADDɠDƠADD ADDSDƠNP+ BNɠDƠBNY NGDƠN NVPDƠNV NPDƠN ɠDƠ SɠDƠS YɠDƠY YɠDƠY DDDDƠD0 DNŠDƠAGANԠMPDSN HϠDƠHS ҠDƠ àDƠ ҠDƠ ҠDƠBN PɠDƠP PɠDƠP PDNɠDƠPDSN P00ADƠ00A P003ADƠ003A P00ADƠ00A P005ADƠ005A P006ADƠ006A P0ADƠPA P03ADƠP3A P03BDƠP3B P0ADƠPA P05ADƠP5A P03ADƠP3A P0ADƠPA P0ADƠPA P035ADƠP35A P035BDƠP35B P036ADƠP36A P00ADƠP0A P0ADƠPA P0ADƠPA P03ADƠP3A P03BDƠP3B P03àDƠP3 P0ADƠPA P0BDƠPB P0àDƠP P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P055ADƠP55A P063ADƠP63A P063BDƠP63B PAҠDƠPAP PAԲDƠPAԱ PAɠDƠPA PHKɠDƠPHK PMɠDƠM PM̠DƠM PPԱSBV PPԲSBV PPԴSBV PP5SBV5 PP6SBV6 PPԷMPDNŬ PP9SBV9 PPԱ0SBV0 PPԱMPV PPԱ5SBV5 PSɠDƠPS P3NɠDƠPU3N ұDƠN GNɠDƠGN NSɠDƠNS GɠDƠG SADDƠSA SBԸDƠSB ԠDƠBP VDƠVP VDƠVP VDƠVP V5DƠVP5 V6DƠVP6 V9DƠVP9 V0DƠVP0 VDƠVP V5DƠVP5 VA̠DƠVAU SԠDƠɠ DƠS DƠS DƠS3 DƠS DƠS5 HŠNGDSANDUASDMNŠHS SAUSSMMANDSSZS.HAԠMGH VAYBAUSŠƠDSGNHANGS. DBBԠUB0DSàBUSYB PBԠUBԱPAYҠB BԠUBԲŠNABDB ABBԠUB3ABԠB BԴNԠUSD ABԠUB5SҠADDSSNDNŠB BԠUB6ADNHBԠB(0NY DBԠUBԷDSàADYB BԸN HUS BԱADDSS SBԠUBԱ5SҠB HDK KUN HSUNŠSADHAUNԠƠMAHN YSUSDNHŠBGS. ԠUPDASHŠMSNDUN KNP KU ADBѱ696YSN56 DABPYϠBHGSS BAҠҠSUBSUNԠAS ADAMNҠKNMSNDUN SAMN ADAKMSHKMSNDUNԠV SSA MPK ADAѱ3YSN56 SAMN ANA ADAMNԠADUSԠMSàUN SAMN DAN NAADUSԠAMSNDUN SAN MPKHAUSԠUN HDAND ANDMNUMBҠGNA HSUNŠGN*($ASBԠPANS HŠDSKDAGNS.NϠAMSMADŠ SASA̠ANDMNSS. SHPANNA BUNHANGD UNŠUSS3MAHNŠYS ANDNP DABASŠADBAS ADAPMŠSUBAԠHŠPM SSASKPƠS̠PSV DABASŠPSBASŠNԠBGNUGH ŬADUBŠBASŠҠMAND SABASŠҠNԠY MPAND PMŠDà-3069 HSPMŠNUMBҠPSVY 306MSNSPA PANSN BASŠABS035B HDSK SK SԠHADANDGAHҠSAUS SKNP SBA̠SAVŠUN DASPԠSSPҠAK DBAKAKNUMB BƬB̠PSN PAD90SKPƠ3 B̬B̠GNŠYSUSD ADBSҠNUDŠS ñ6BàUPUԠ״ DBA̠SŠUN ADBѱYSN56 SBSAԠGAHҠSAUS MPSKɠ HDSA SA SAUSUN SAԠNP DASUPPA SZASSSUPPSSN MPSAԬɠƠSAUSHK ñ5AàNPUԠSAUSNϠA SASAUSSAVŠSAUS MPSAԬɠ KY*  24184-80002 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 9  HDPPҬBKSҬPNԬYKH PPNPUNŠϠPNԠP DAPN SBPNԠUPUԠMSSAG DAPNADHAԠD MPPP PԠҠMSSAGS USSSϬSҬBK HŠUNADDSSSUSDϠKUPHŠADDSSNGHAND NUMBҠƠHŠҠMSSAG ҠNP Ơ0DSABŠNUPS B ADB DAҬɠNDҠNUMBҠBASDNN ҲU PBAɠADDSSANDAB MPұUND NA PAҬ MP00BPGAMҬPAGŠ0MAYB PDU. MPҲ ұU ADAì ADAMM SA SBPNԠPNԠMSSAG DB ADBMM- SSBSKPƠҠNUMBҠGҠHAN6 SBHԠHKҠHA MPҬ BK ƠYSUPSSDUN ƠYNԠSUPSSDSKPNԠNSUNNUN USSS BKNP SBS ANDBԱ SZASYSUPSSD MPBKɠYS DABKN NA MPA S NPUԠSHGSҠϠA-GS SҠNP A MPSҬ PN AҠNUMB PNԠNP SAPSAV SBBK MPPNԬ DAPSAV DBA ADBPMɬɠMSSAGŠADDSS DBB ADAPM̬ɠMSSAGŠNGH DAA SBSϬɠUPUԠMSSAG MPPNԬ YK UNƠYNԠAVAABŠҠNN-ҠMSSAGS NMNԠUNADDSSƠPNUԠK YKNP DBYK NB SBSҠADSHGS ANDB6000 SZASYAVAAB MPYKiɠNϬABԠPNU MPBɠYS H SSHAԠBԠ(BԱAҠ USSS HԠNP SBBKYAVAAB? MPHN DA̠YS DB SBSϬɠPNԠBANKN HU SBS ANDBԱ SZAHA? MPHԬɠN DAàYS HԠ MPHԬ HDDNDNDNSҴ DN NVSDMA̠NGSϠAS AVAUŠNNPU NVԱSԠϠDGSN NVԲSNDϠDGSN DNNP BB- DPADAM000ASSUMŠNGҠSSHAN0000 NBUNԠUPHUSANDSPA SSASSSKPHNBGS MPDP ADAD000S BƬB ADBMM DPADAMM00 NBUNԠUPHUNDDSPA SSASSSKPHNBGS MPDP ADAD00S ADBASZZ SBVԱ BB- DP3ADAMM0 NBUNԠUPNSPA SSASSSKPHNBGS MPDP3 ADAD0S BƬB ҠB ҠASZZ SAVԲ MPDN DN SŠNŠDƠNVDAAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԲS SAA̬ɠNϠMSSAG MPDN DN SŠϠDSƠNVDASANGAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԱS DBA̠ SABɠDS NBN DAVԲMSSAG SAB MPDN SҴ NPUԠSHGSҠƠSAG0(SSS3 USŠS[DVSNƠSAG(SS5 SҴNP DASAGSAG? SZA MPSҴAN SBSҠYSUSŠSHGS MPSҴ SҴADAS00USŠSDVAU MPSҴ HDDHKHK HŠDHKUNŠSADAҠAAD. ԠMPASHŠADANDŠBUS. HŠHKUNŠSADAҠA. ԠHKSNYHŠSAUS. HŠؠANDZNSAŠUSDBYH HҠUNSϠDϠHҠSAUSHK. HŠPHKUNŠSADAҠAAD. ԠMPASHŠADBUҠϠAPAND. HŠHKUNŠSADAҠAAD. ԠHKSHŠHKSUMMDSҠN HŠADBU. HYMPAŠHŠUNԠSAUS(SAUSHH PDDSAUS(SHASBYANGHŠANUN. HŠUNSGVŠANMA̠UNƠNϠSA DD.ƠANҠUSHŠUNSGNAŠAN ҠMSSAGŠANDHKҠHAԠҠNNU. DHKNPϠHKҠSN ADANDϠMPAŠAD ANDŠBUS DADHKADUNADDSS SAHKSAVŠҠPSSBŠA MPASHŠBUADANDBUAŠBUSUSNGN ҠBUҠNGH. DABUADADSԠBUҠADDSS SAMP DABUAŠADSNDBUҠADDSS SAMP DAN MANA SAMP3SԠSZUN DMU DAMP PAMP MPD̠UA̠MPA DAMP3 ADANԠGNAŠAVŠAN ű0DBP03AADPN SBDNA̠NVԠUN DAMPɠADHAԠDSHUDB DBP03àADPN SBNPɠA̠NVԠANDMVŠUN $DAMPɠADHAԠDAUAYAS DBP03BADPN SBNPɠNVԠϠAS DANUMPDMN ADAMMPNUԠUN SZASS MPDAƠAVŠAԠAND SANUMP Ŵ3SBҠDAADؠSYYYYYYSHUD BŠZZZZZZ MPD DAU DBB3DAADؠSYYYYYYSHUD BŠZZZZZZ SBàSAVŠҠH SBS MPZGϠANAYZŠS D̠U SZMPUNԠUPBU SZMPADDSSSAND SZMP3HKҠMPN MPDM DAN AS ADAN AS ADAN AS MSNUMBҠƠDS DBN BS ADBN BS ADBAҠSZAYS ADBѴ303YS SBK MPؠBUSKAYNMA̠SAUSHK SKP HKNPϠHKҠSN NN-ADPANS ؠU DBѱ9YSN56 SBK SBANA̠ҠMPA SZASKPƠNϠ MPZPԠ DADMƠHKҠDMANԠNSHD SZASSSKPƠ MPUԠUNƠNϠUB SBSBԸ SBPPPNԠUNԠPANMSSAG SBDMѠPNԠDMAҠMSSAG UԠSBADDɬ UԠU DAMM5SԠUN SABHK SBSҠNPUԠSHGS SSA HԠHAԠƠBԠ5S SBPHKҠP MPHKɠUN ZU SBSBԸ SBPPPNԠUNԠPANMSSAG SBDMѠHKҠDMA SGUBANHKҠSAUSS SZASKPƠSAUSKAY SBPNԠPNԠUԠҠMSSAG DASƠHKҠBUҠS SZASKPƠNϠSUHS SBPN B SBSƠAҠUԠPNҠD MPU HDAN ANNPUNŠϠPMҠANA. DASUPPA SZASSSUPPSSN MPANɠƠSAUSHK DASAUS ҠSHASSA̠ASSHUDB ANDMASKAנDN'ԠAŠNDNS ADBѱ353YSN56 SZASS MPANɠVYHNGSN DASAUSADUNԠSAUS DBP035AANDADDSSҠBNAY SBBNɬɠNVԠϠBNAY DƠMMADNGϠHSMASK( DASHASADHAԠSAUSSHUDB DBP035BANDADDSSҠBNAY SBBNɬɠNVԠϠBNAY DƠMASKADNGϠMASK 35DAB35SAUSSؠSHUDBŠ SAàSAVŠҠH AMUSԠBŠNN-ZϠAԠHSPN MPANɠUN HDPDGN HŠPUNŠSADϠSŠ HŠSNUNYNUNSϠBŠSADV ҠSϠNNUŠN. PNP ADBѱYSN56 SBSҠNPUԠSHGS ANDBԱ3HKҠPAԠPAN SZASSSKPҠP MPPɠNϬNNU ADBD MPPҬɠPBAK DGN HSGDYSUPHŠBUҠHAנANDMDAA USSNԠASANGH USSBUADҠADDSS DGNNP DAN MANA SAMPNGAVŠDUN DABUAD SAMP DG̠U SBANDGԠANDMNUMB SAMP SZMPUNԠUPADDQ#SS SZMPUN MPDG DAN ASAS ADAN ASAS ADAN MSNUMBҠƠDS DBN BS ADBAҠSZAYS ADBDYSUSDUSDŠƠP SBK MPDGN HDDMҬDM HSŠUNSSԠUPDMAANDSAԠHŠDAAHANN. HŠDMҠUNŠSSUPAADNϠHŠNPU BUҠ(ADDSSNBUAŬUNԠNNԠ HŠDMנUNŠSSUPAŠMHŠUPU BUҠ(ADDSSNBUADUNԠNNԠ DMҠNPSԠUPDMAADPAN DADMAנADDMAMMANDD DM6AADMA6ϠDAAHANN DMAàDMAPPAŠϠADADDSS DABUA ҠBԱ5ҠNDNB DMBADMAUPUԠMMYADDSS DMàSàDMAPPAŠϠADUN DANԠADDUN MANASMPMNԠSUSDBYDMA DMDADMAUPUԠDUN DAAKM DBSPԠDV AƬA̠ADDSS PBD90 A̬A ADAS 30AàUPUԠUNNANDADDSSD DM6BSàDMA6àSAԠDMAHANN D05SàDàNAŠDAAANS MPDMҬɠUN DMנNP DADMAנADDMAMMANDD DM6àADMA6ϠDAAHANN DMŠàDMAPPAŠϠADADDSS DABUADAND DMƠADMAUPUԠMMYADDSS DMGSàDMAPPAŠϠADUN DANԠAND MANAUPUԠSMPMNԠ DMHADMADUN DAAKM DBSPԠDV AƬA̠ADDSS PBD90 A̬A ADAS ҠBԱ5 3AàUPUԠUNNANDADDSSD DM6DSàDMA6àSAԠDMAHANN D06ESàDàNAŠDAAANS MPDM׬ɠUN HDAD ADAND HSŠUNSAŠADϠNAZŠA DMAANSSϠANDMHŠDSK. HYASSUMŠHA HŠDUNԠSNN ADASSUMSBUҠADDSSNBUA ŠASSUMSBUҠADDSSNBUAD ADNP SBDMҠSԠUPDMAADPAN SBDMA SBAԠAԠҠADϠMP SBSAԠGԠSAUS DAADDDADAKŠAM? SZASKPƠYS MPADɠUN SABUAŬɠMAKŠSUŠMPAŠ̠A ANAS SAADAG DASHASPVNԠSAUS SASAUSPNU MPADɠUN ŠNP SBDMנSԠUPDMAŠPAN SBDMA SBAԠAԠҠŠϠMP SBSAԠGԠSAUS ANDPB DBSP PBD3 MPҲ SZA MPҲSHUDBŠS SBPP ŷSBҠPAYҠN SBADDɬ ҲDASAUSGԠSAUS ANDP5MASK SASAUSPAYҠB MPŬ HDA Aנ65MSNDSҠŠҠADϠMP AԠNP DAMM SAA ұSBSAԠGԠSAUS DAAAԠ DBBSND NPSҠK ANDDBB SZASSSKPƠDVŠSBUSY MPAԬɠ SZA̠DN'ԠAԠϠNG MPұ MPAԬɠUN HDDMA HSSNSHUDBŠADҠAHANSҠUSNGH DMA.ԠNNUUSYHKSҠHŠAGϠBŠSԠNH DMAHANN̠HŠMNNGHŠDAAANSҠAND HKNGҠVM. DMAԠNP DAMM0Aנ0MSNDS (MSNDSҠSԠASŠASS 5MSNDSҠANSҠƠ5SS AND3MSNDSSP SANԠSԠAK DBѱ3 ADBNԠADDDUN DMS̠U ADB030 SBHKNNUŠϠHKAG MPDMS MàNP DM6ŠàDMA6 DM6ƠSƠDMA6K̠DMAANS 06à DñàD DòSƠD MPMì HKNPUNSAUNDHKNGҠND ƠDMAPAN. MSUԠHNNԠGSPSV ADBѱ03 SBK DANԠHKҠMU SSASS MPUԠMŠU DM6GSSDMA6SKPƠDMADN MPHKɠNϠAGY.USԠUN MPDMAԬɠUN UԠU AנMŠϠAPAUNDAKADDSSNV DAN SZASSADNSAԠ? MPUԱN AYS SAN SAAD DABԱ5AנAԠASԠNY SANԠSNDSҠADϠMP UԲADB030 SBHK MPUԲ UԱU ANA SADMƠSAVŠҠAҠHK SBMàUB.BMBUԠADS DMʠADMAADUNԠDUN ADANԠMAKŠNϠPSVŠDUN ANDBMASKƠUPPҠHŠBS DBP03AADPNҠҠASɠS SBDNA̠NVԠUN MPDMAԬɠUNANDAԠҠVD DMѠNP SBYK MPDMѬ DBDMƠHKҠAUA̠ SZBSSSKPƠҠNDNSS MPDMѬɠԠƠNϠ A SADMƠAҠҠNDA DANԠADHŠPDDUN DBP03NXBADPNҠҠASɠS SBDNA̠NVԠUN ű3SBҠؠDSANSDYYYY PD MPDMѬɠUN HDHAҬDHAҬHAҬHNH3 HA GԠNԠNN-BANKHAA NԠSKPƠBUҠMPY HAҠNP HAұSZNԠDN? PP3SSN MPHAҬɠYS DABPAɠYD SZS MPS AƬAƠUSŠԠHA MPU SàBUSŠGHԠHA SBS SZBPABUMPDPN UԠANDB3 SAHAҠSAVŠ ҠB0SԠBANK SZASSSKPƠN MPHAұGNŠBANKS DAHA SZHA MPHAҬ DHA GԠDMA̠VAU SKPSNԠƠNԠDN DHAҠNP DAMM5UPPҠM DBVA̠PNSϠVAU DHұSAVA̲ SBVA̱ DAMM SADԠDԠ- ANAZŠϠZ DHҲSAVAUŠSŠVAU SBHAҠGԠNԠHAA MPDUԲDN ҠB5SHAA SZASSAMMA MPDUԱYSDN DAVA̲HK SBKVADYƠHAA MPDUԲBAD SADԠDԠ- DBVAUŠKBUD BƬBҠUP ADBVA̱ɠVAU ADBVA̱ ADAB MPDHҲNNU DUԱSZDHAҠNMA̠ DUԲDAVAUŠҠҠNDƠADBU MPDHAҬ HA GԠA̠VAU SKPSNԠƠNԠDN HAҠNP DAHA SADHAҠSԠUN DAMM56UPPҠM DBDDDPNSϠD0 MPDHұ KNPHK ADAHAҠVADY SSA MP+3&*<:6HAA ҠSBH3BADNPU MPK DAHA ADAMMҠM SSA MP SZK MPK HN NPUԠMY HNNP DADHAAҠUN DBBNABUҠADDSS SB0BɠYNPUԠDV SZASSŠZϠDSNPU? MPHN+YSYAGAN MA SANԠSAVŠHAAҠUN A SASԠAG- DABNA SABPASԠPN MPHN BNADƠBUB H3NP DAB3BADNPU SBPN MPH3 HDSU SU SԠUPUNԠSN SUƠNP SAP05AɠA SAP03AɠDHK SAP0AɠD SAP0AɠD MPSUƬ HDASK ASK ASKPAҠƠHŠSHSϠHANGŠAB ASKNP H5DAB5DϠYUSHϠHANGŠAB? SBPN SBHNNPUԠMKYBAD DABNAɠNPUԠBU ANDP00 ҠNN000BSSԠHAAҠN? SZASSSKPƠN MPASK ҠYY300BSSԠHAAҠY? SZA MPH5YAGAN SZASK MPASK HDSA SA BANSAUSUKY SAԠNP 69AàGԠSAUS SASAUSSAVŠ MPSAԬ j<  24184-80003 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 :  HDSA G000B SA HKSADҠANDSUSHASNנ SAԠà0àUNVYHNG DA0BAUAŠANƠASԠD ADAMMƠMMYBנYDVҠAND SAAMSŠԠNAM DAAS SBSU DAMM5S SABHKUN A SAS SADM SAN SAAK SAS SAN DAPɬɠDSAM SAPɬɠPND DADBԠDVŠADY ADABԠŠNABD SASHAS SAAD DAB33 SAMASK SBYKSYAVAAB? MPH0+N A H0SBPNԠDHADDSàANDDUMDAG. DAB6 SBPҠDVŠPAAMҠDMNAN SKPPAAMҠDMNANƠBԠ6SSԠANDSPԠANDN AŠNԠZ SBS ANDB6SBԠ6 SZASSS? MPS6NϠN DASPԠSSPҠAK SZASS MPS6NϠSPԠ0 DANԠA̠NUMBҠƠAKS SZA MPNŠSKPPAAMҠDMNAN S6NϠU AנMANUA̠NPUԠƠDVŠPAAMS SBSҠGԠSHGS ANDBԴ SZASSSKPƠBԠSS MPNPBGԠPAAMSAUMAAY GԠNUMBҠƠSSPҠAK H50BSBYKYAVAAB? MPH50AN DAB50 H50SBPNԠNҠNUMBҠƠSSP AK(3Ҡ90 H50ASBHNNPUԠN SBDHAҠGԠVAU SSDNŠҠ? MPH50BNԠDNŠ- DBNԠDN? SZB MPH50BNϬҠ(AADYPD PAD3A SS3 PAD90 SS90? MPH50BNϬ SASP GԠA̠NUMBҠƠAKS H5BSBYKYAVAABŠ? MPH5AN DAB5 H5SBPNԠNҠA̠NUMBҠƠAKS H5ASBHNNPUԠN SBDHAҠGԠVAU SSDNŠҠ? MPH5BNԠDNŠ- DBNԠDN? SZB MPH5BNϬҠ(AADYPD SAN MPN GԠSSPҠAK NPBB SBA NPSZA MPNPA SBPPUNԠPAN ŴSBҠUNABŠϠDMNŠƠSS SBADDɬ MPNPBYAGAN NPAU SBSA AƬA ANDB ADBA SZASҠ0? PAD9SҠ9? SZBSSSKPAҠSMŠVUN MPNPNNU DBD3 SZASKPҠ3SSPҠAK DBD9090SSPҠAK SBSP SBA DBP0A SBDNSԠUPMSSAG SBYK MPNA DAB HSBPNԠDVŠHASؠSS NAU SBYK MPNB DAB SBPNԠSԠAKPԠSHϠDN PSNPSSUN NBDAB HԠ GԠNUMBҠƠAKS DAB335 SAMASK DABPҠS SABUADUP DABPSBU SABUAŠPNS SBV6ɠDB0 Ԡ0000 Ԡ0 Ԡ003 SBVɠD Ԡ00 Ԡ0 Ԡ0 Ԡ6 SBV6ɠDB36 Ԡ000 Ԡ36 Ԡ003 ANASAԠHAK PU SAKVAABŠD SAKAVAABŠD SBVɠD;g(VAABũ Ԡ00 KԠ0 Ԡ0 Ԡ6 SBVɠD Ԡ00 Ԡ0 Ԡ0 Ԡ6 DABUAŬɠSԠDAD SZA MPDNŠAPAUND ANAAנ6SNDS SANԠҠAD SBVɠD(VAABũ Ԡ00 KAԠ0 Ԡ0 Ԡ6 AS SANԠAANŠAG DABUADHK SAMPS DABUAŠN SAMPDS DAMM0 SAMP3BUS P3DAMP PAMP SS MPDN SZMP SZMP SZMP3 MPP3 DAKN NAAK MPP DNŠU DAK SANԠA̠NUMBҠƠAKS DBP0A SBDNSUƠNMSSAG GԠNUMBҠƠPDAKS SBYK MPN DAB0 H0SBPNԠSԠAKPԠSHϠUP PSNPSSUN NàDAB0 HԠ SBYK MPN DAB HSBPNԠDVŠHASؠAKSH NGAŠPD NƠU A SAGB SAGB PSAAKSAԠHAK0 DBSPԠPSN AƬA̠AKN PBD90MMAND A̬A̠D 50AàUPUԠMMAND SBSAԠGԠSAUS ANDB SZA MPDNŠNԠPD SZGBA̠NUMB DAGB SZASAԠNנN? MPNGNϬNNUŠHSN DAAKYS DBP063A SBDN ANA SAGB NGU DAAK NA PAN SSDN MPPNNU DAGB SZASSSHŠANŠϠMP? MPDNŠN DAAK SBNDDUMPMSSAG MPDN NDNPMPŠN DBP063B SBDN SBYK MPND DAB63 H63SBPNԠؠϠYYYY MPND DNŠU DAGB SZASSSHŠANŠϠMP? MPNH DAAK ADAMMBAKUPNŠAK SBND NHA SAGB DAAK NA PAN SSDN MPPNNU DNŠDAGB SZASS SBYK MPN DAB6 H6SBPNԠNN NɠU SBYK MPND DAB SBPNԠSԠAKPԠSHϠDN PSNPSSUN NDDAB HԠ NŠU DAB33 SAMASK AGANU DBBK SBSH DB÷K SBSH DBD6K SBSH DBŷ0K SBSH DBƷK SBSH DBGK SBSH DBH3K SBSH űSBҠPASŠDSABŠAD BM SBA̠U PBKSZA̠UN MP- NB PBB6 MPAGAN MPPBK SHNP SBA DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠASŠKDU? SSN MPUԠYS SAA̬ɠSŠŠNN MPSHɠUN UԠDBB3AP̠AN DAHԠAP̠HA PSAB NB NA PBB00AP̠HASMP? SSHYS MPPNϬPA A SAMN SAMN SAPASSSA SAN DABP SABUADNAZŠBUAD ANA SASUPP BGNU ANAA_ SASNSAԠHSNN H3DAB3NA̠SAUS SBP DAHYP SBNVSNVԠANDS DASP PAD3SHSAHP0? MP5N SԠAKGN DA÷MMANDHANN̠NUMB SBNVP DAV3 SAP00AɠSԠUPŲ SAP003AɠSԠUP3 DAMM0AנSVNYMSNDS AKGNϠU SAN B ÷0Ơ ϱADB00 SBK DAN SSASS MPϲMŠU ÷SSàAKGN? MPϱNԠY NPԠHNGS NPS ÷3ƠàYSDS ÷SSàSԠAG? SSYS ϲSBŲƠҠSSAD-HANN̠ SԠSP DAM6KAנAԠƠM SANԠϠNDSP B 6ADB00 SBK DAN SSASS MP3MŠU ÷5SààSP0? MP6N ϴADB00 SBK DAN SSASS MP3MŠU ÷SààSP? MP5YS MPϴN 3SB3SàADHAGA-H. 5U B SBA SZA̠DAYAנ MP-SHHŠϠBŠS DAHԲ SABKNGUAN SAҠUSNA SBS ANDBԲSBԲS? SZAN SBYKYSSKaPƠYAVAAB MPSNϠABԠHK DSBYɬɠPPAŠSYMB̠AB HDABAKABŠNNS SBPN SBASKSHϠHANG? MPPAԠN H6DAB6YSNҠAKSSPAADBY MMAS SBPN SBHNNPUԠMKYBAD SSBDHAҠGԠDMA̠VAU MPSҠҠDN? SBSɬɠSŠNAB MPSNNU SDAN SZASSSKPƠ SBSɬɠDN MPD PAԠSBPAԲɠPPAŠPANAB HDABPANABŠNNS SBPN SBASKSHϠHANG? MPH3N H30DAB30YSNҠPANNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD PSSBHAҠGԠA̠VAU MPPSҠҠDN? SBPSɬɠSŠNAB MPPSNNU PSDAN SZASSSKPƠ SBPSɬɠDN MPPA H3DAB3 SBPNԠSԠSH DAB3 HԠ SBS ANDBԲ SZA MPH3 SNϠU SBS ANDB3 SZASBԠ3S? MPPDNɬɠYS DASNADSNNUMB ADASԠADDNPN SBAɠA̠SN DAHà000 ҠSNSNNUMB SASHԠHAԠBNSNS SBSҠHKҠHAԠAԠNDƠSN ANDB9 SZA SHԠNP SBSҠHKҠSԠPA ANDBԷ SZASKPƠNϠPA MPSAҠPAԠASԠS DBSNUNԠUPSNNUMB NB SBSN PBD6VŠSNS ANASS MPSA غADAPASSNMNԠPASSNUMB SAPASS SBYK MPHHH DAPASS DBP036ANVԠPASS SBDNNUMB DAB36 H36SBPNԠPASS HHHSBSҠHKҠHAԠAԠNDƠS ANDBԱ SZA HԠB MPN HSMPBGNUNSԠV SKP SADƠ+ DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 ASADƠ- NVS NVԠHANN̠NUMBҠϠASɠANDSŠN MSSAGSMHUGHM.NAZŠH HUGHH3ϠHANN̠SԠD NVSNP SAA̠SAVŠSԠD SBNVPɠNV DAV3ASԠSGNANԠDGS SAP00AɠS SAP003AɠN SAP00AɠMSSAGS SAP005A SAP006A DBSA SBGBSAVŠSԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBASAɠDN? MPSԠYS SZGB MPB S SԠHANN SԠU à0àNAZŠɯϠSYSM HƠHAҠHANN̠AG HSSH SS SBŲƠҠSSAD-HANN̠- H3ƠHYAGAN HSàH SB3SàADHAGA-H. H5SƠH H6SàH SS ŴSBҠSƠҠSàADHANN̠- HSƠHYAGAN HSSH HԠ5SSADHAGSԠNY SԠNUPԠAPABY DAH3 SAGB DASBSԠUPNUPԠAP SAH3 H9SàH!  24184-80004 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 ;  HDS-SN SN HSSNSSMSԠNAŠUNNSUSNGSH ADSANDS. SҠUGB SNԠUGB DAYUGB3 NұUGB DADUGB5 SPԠUGB6 SNP DAAS SBSUƠUNԠSN DAҬɠؠUP SAAKAKNUMB DAB3NA SBPҠSAUS DADBԠDVŠADY ADABԠŠNABD SASHAS DAB335 SAMASK SBSAԠHK SBHKSAUS DAB35MASKƠADNHBԠSGNA SAMASK H5DAB5BUSYHKNS SBP A ô3A D÷3SàD SBSA D÷àD DADBԠDVŠADY ADABԠŠNABD ADADBBԠDVŠBUSY SASHAS SBHK DAB33S SAMASKMASK DASP PAD3 MPSA A SAA ÷AàAԠ ANDBԠADNHB SZASSBԠϠS MPH53 SZA̠DN'ԠAԠV MP÷ H53DAB53HKADNHBԠNS SBP DABԷAK ôA ÷6AàGԠSAUSUKY SASAUS DADBԠDVŠADY ADABԠŠNABD ADABԠADNHB SASHAS SBHK SAU HDABSҠADDSSHKNS SBP DASP PAD90 NAUSŠ9NSADƠ90 AƬA SASP BPVN SBMŠHANG DADBԠDVŠADY ADABԠŠNABD SASHAS SBSAԠGԠSAUS ANDH00SAŠSҠNUMB SAMPSAVŠNA̠SҠNUMB SADADSAVŠ( DADDSS ADABԸ PASP A SAMPMNԠSҠADDSS MPSAK SBSADADSAVŠDADDSS ADABԸ PASP A SAMPSԠUPNԠSҠVAU PAMPDN? MPSŠYS SàSZM SSK MPSDMŠU SAKA ANDH00 PADADS̠H? MPSàYSNNUŠKNGҠS PAMPNԠS? MPSBYSNNUŠKNGҠSS SDSBSAԠN ANDH00AS PAMPHAN MPSBK-MUSԠHAVŠBNPPAGANG DAMPSҠNԠUND AƬA DBP055A SBDN SBSBԸ SBPPUNԠPAN 55SBҠSҠؠMSSNGNSAUS SBADDɬ SŠSBSA SBHKAנP HKSҠAGMNG HDABSҠAGMNGHKNS SBP DASP PAD90 MPSZ90SSPҠAK DAMM99ҠNGDAY DBB00ҠASԠS MPSM SZDAMM9NGDAY DBƴ00ҠASԠS SMSADAY SBS B SBS SBSN SYA SSA MPS SZSNԠDN'ԠHANG MPSY SѠU SBSBԸ SBPPPNԠUNԠPAN DAB5SҠUNԠҠPHASŠMSSNG SBPN MPSV SؠANDH00 PAS SS MPSY SNDAMMDAYAԠAS NASZA35MSNDS MP- SBSA SSASS MPSU SBSBԸ SBPP 60SBҠSNDSҠKϠA MPSV SUANDH00SҠUN AƬA̧ PASҠ? MPS AƬA PA5000 MPS SBSBԸ SBPPPNԠUNԠPAN DAB6NԠSҠADDSS SBPN MPSV SԠDBSҠPPA BƬB SBDADҠNԠS PBSҠDN? MPSנYS SZS DADAYDAYϠGV NASZAMNMUMƠ360MSNDS MP-N6N3SPԠDVŠAND SBSAԠ5MSNDSN90SP SSASSDV MPSS SBSBԸ SBPPPNԠUNԠPAN 6SBҠSԠSҠKϠSN MPSV SSDAMM50DN'ԠAנMUHMŠHAN00 SASNԠMSNDSҠU̠S SPA SSASKPƠPHASŠ0 MPSAɠPHASŠ SZSN MPSPNNU MPSѠMŠU SAɠANDH00 PADAD MPSN SBSBԸ SBPP 56SBҠSҠUNҠHANGDBYS SҠUN SVSBADDɬ SנU SBHKAנP SҠADDSSNDNŠHK H33DAB33SҠADDSSNDNŠHK SBP DASP PAD90 MPS̠90SSPҠAK DAB00 SS S̠DAƴ00 SASҠASԠS SADAD B SBSҠSҠ0 SBSNԠDN'ԠHANG SKSBSA SZSN MPS SAAU SBSBԸ SBPPPNԠUNԠPAN DAB5SҠUNԠҠPHASŠMSSNG SAŠSBPN SHSBADDɬ MPSɠ SʠANDH00 SZA MPSK SANұ SAHDANұ ô6AàUPUԠSҠADDSS A SASN SABSBSAԠA SSA MPSAʠDSD SZSNԠS MPSABMNUS MPSAAN SAʠU ANDH00 PADAD SS MPSAB SAàSBSAԠAԠ SZSNԠ SSPHAS MPSAA SSA MPSA D÷SàDàSAԠAANS A SASN SADA SASAUSAԠҠA SSAHANGŠ MPD÷PHAS SZSN MPSAD MPSAA D÷àDàABԠANS ANDH00 AƬA PASҠADDSS? MPSA SBSBԸ SBPP DAB6NԠSҠADDSS MPSAŠ SAƠDASAUSSҠADDSS ANDABԠNDNŠU? SZA MPSAGYS SBSBԸ SBPPN 5SBҠNϠSҠADDSSNDN MPSH SAGDBS BƬB PBSҠDN? MPSɠYS SBDAD SZS SZNұ MPSAH SɠU DAB336 SAMASK SBHKAנP DAB33 SAMASK DAҬɠGԠSԠAKNAKAB SAұA SAұB SAұ SAұD SAұ SAұ SAұG SAұH SAұ SAұ SBVɠD60(VAABũ Dà6 ұABSS Dà0 Ԡ6 DAD6G ADABPҠSH SABUADDAA SBVɠD(VAABũ Dà ұBBSS Dà Ԡ6 DABP SABUAD DABPS SABUA SBVɠD60(VAABũ Dà6 ұàBSS bDà0 Ԡ6 DAD6N SANԠS SBDHKHKBUS SBVɠD(VAAB Dà ұDBSS Dà Ԡ6 DAD6 ADABP SABUAD DAD SANԠSS SBDHKHKBUS DABP SABUAD DABPS SABUA DASP PAD90 MPS SBVɠD569(VAABũ Dà56 ұŠBSS Dà9 Ԡ6 DAD56 ADABP SABUAD SBVɠD60(VAABũ Dà6 ұƠBSS Dà0 Ԡ6 DABP SABUAD SBVɠD569(VAABũ Dà56 ұGBSS Dà9 Ԡ6 DAD56U SANԠSS SBDHK DAD56 ADABP SABUAD SBVɠD60(VAABũ Dà6 ұHBSS Dà0 Ԡ6 DAD6N SANԠS SBDHK DABP SABUAD SƠU SBVɠD00(VAABũ Dà0 ұɠBSS Dà0 Ԡ6 DAMM5 SASN DBBP ADBD9 DAB SGNB SAB SZSN MPSG SBVɠD60(VAABũ Dà6 ұʠBSS Dà0 Ԡ6 DAD6N SANԠS SBDHK MPS HDBNY BNY NVԠAϠBNAYUSNGUNADDSSҠDN'ԠAŠMASK ANDSŠSUԠAԠADDSSNB(DS BNYNP SAMP5VAU SBMPADDSS DBBNYɠMASK DBB SZBNYSԠUPҠ DAMM5 SABNNԠSԠUPSԠNJ8DS BPSBBNANVԠDANDSŠ DAMP5SHԠVAU A SAMP5 B̠SHԠMASK SBBNàNVԠD SAMPɠSŠ SZMPSԠUPADDSS DAMP5SHԠVAU A̬A SAMP5 B̠SHԠMASK SZBNN MPBP SBBNANVԠASԠDANDSŠ MPBNY BNANP DAASDDBANK SSBSSSKPƠN MPBNZ DAMP5VAU SSASKPƠZ MPBNB DAASZ0BANK MPBNZ BNBDAASϠBANK BNZSAMPɠSŠD SZMPSԠUPADDSS MPBNAɠUN BNàNP SSBSKPƠZ MPBN B̠SHԠMASK DAASDDDD SSBSSSKPƠN MPBNì DAMP5SHԠVAU A SSASKPƠZ MPBN DAASDZD0 MPBNì BNŠDAASDϠD MPBNì BNƠB̠SHԠMASK DAMP5VAU SSBSKPƠZ MPBNH SSASKPƠZ MPBNG DAASZD0D MPBNì BNGDAASDD MPBNì BNHSSASKPƠZ MPBN A̠SHԠVAU SSASKPƠZ MPBN DAASZZ00 MPBNì BNנDAASZϠ0 MPBNì BNʠA̠SHԠVAU SSASKPƠZ MPBNK DAASZ0 MPBNì BNKDAASϠ MPBNì HDS-SN G000B SN HSSNSANDADSBAKPANS HKNGҠBADAKSҠMAGNA̠HADS. SNP DAAS SBSUƠUNԠSN DAP ҠD SAP SBSҠ ANDB5BԠ5S SZAS MPSɠUN A SAYؠSԠZϠNϠNA̠AK SAU SBYʠSԠAK DAMM0N SAPNؠPANS SBU DAM53SS SAMP DBPNؠADPANUN ADBPAPADDNABŠADDSS DAB SAPAԠSAVŠPANҠPHKUN DBBUAD SàU SAB NB SAB NB SAB NB SAB NB SZMPUNԠDNBYU MPSàNNU DAAK SAҲAS SAҲBUP SAҲàS SAҲDAND SAҲŠADS SAҲ SBVɠD00(VAABũ Dà0 ҲABSS Ԡ0 Ԡ6 DASP PAD3 MPSD SBVɠD666(VAABũ Dà66 ҲBBSS Dà6 Ԡ6 SBVɠD03(VAABũ Dà0 ҲàBSS Dà3 Ԡ6 SDU DABP SABUA SBVɠD00(VAABũ Dà0 ҲDBSS Dà0 Ԡ6 SBPHKɬɠHKBUҠ(SS0-3 DASP PAD3 MPS SBVɠD03(VAABũ Dà0 ҲŠBSS Dà3 Ԡ6 SBPHKɬɠHKBUҠ(SS3-63 SBVɠD666(VAABũ Dà66 ҲƠBSS Dà6 Ԡ6 SBPHKɬɠHKBUҠ(SS65-9 SŠU SZPNؠHAVŠA̠PANSBND? MPSBN SBYDNMNԠYؠANDHKҠND MPSANNU MPSɠUN Ԡ000000 Ԡ Ԡ55 Ԡ0555 Ԡ00 Ԡ0360 Ԡ65 Ԡ6336 Ԡ55555 Ԡ0 PAҠU PAPDƠPA HDS3-SN3 SN3 HSSNSANDADSBAKANDMDAA MANDMANSϠHKDAAANS PANS SKNԠUGB SAVŠUGB PԠUGB3 S3NP DAAS3 SBSUƠUNԠSN SBS DBM0 ANDB5 SZA DBMM6 SBSKN S3AU SBNSɬɠHSŠANDMAKANDS SBGGԠANDMDUN DABP SABUAD DABPS SABUA SBDGNGNAŠAANDMBU DANԠSAVŠAS SASAVŠAN+ ADABUAD ADAMM DBA NA SBA DAMM SAP S3BDABŠNS3 SBP SB DAN ANDB SZASKPƠVNMUPŠƠS SZN DABADNS3 SBP SBAD SBDHKHKҠS DASAV SAN SZPԠPAԠHŠMS MPS3B SZSKNԠSKPƠDN MPS3ANNU MPS3ɠUN HDGYDY HSUNŠGNASAANDMDUNԠBN AND03.HŠDUNԠ̠NԠND BYNDHŠNDƠAKNҠBŠUA̠Ϡ(MD6. GNP AU SBANDGԠAANDMNUMB A ANDBNԠ<0 SZASSZϠSNԠGA MPAƠZϬYAGAN SAN ԠU DAN ANDB PAD MPANԠ(MD6 DBSPԠADNUMBҠƠSSPҠAK MBNBNGAV ADBSҠAנҠHŠŠAŠN AƬAƠNVԠNԠϠSҠUN A̬A ANDB+SZƠHPƠA ADAB SSASKPƠϠNG MPGɠNGAVŠAMANSKAY DANԠADHSNDUNԠAND ASHAVŠ SAN MPԠANDSϠN SKP YDUNSUPYؠANDHKSҠMPN SԠNA̠AKS.ԠGVSASKPUNHN A̠AKSHAVŠBNVD. YDNP DBYؠADUNԠAKN NBUNԠԠUPBYN SBYؠANDSŠԠBAK MBMAKŠNSMPMN SBSҴADVŠSHGS ANDB6HKҠSDAKS SZASSSKPƠSHԠSԠUSD MPDYU̠S ADBD0HŠAŠNABŠNS MPDZ DYU ADBNԠHKҠNDƠDV DZU SSBSKPƠNԠDN SZYDUNԠUPUNADDSS(DNŠ MPYDɠUN YʠANSASHŠNUMBҠNYؠϠHŠDSD AKNUMBҠNAK YʠNP SBSҴADVŠSHGS ANDB6HKҠSDAKS SZASSSKPƠSHԠS MP DAY DBѴ9YSN56 ѠU ADAMM0HKҠYؠϠBG ADB06006YSN56 SSASSSKPƠKAY MPѠHSŬKPDUNG SAAKSAVŠPN SBA̠SAVŠUN MANAPPA ADAMMϠVSŠABŠUS DBPVS? SZB DAAKN DBA̠SŠUN c ADABPADDNABŠADDSS DAAɠADHŠDMHŠAB SAAKSԠBAKNϠAK SBK MPYʬɠUN נU DAYؠPPA MAϠVS ADANԠAKUS DBP SZB DAY SAAKSAGHԠPY DB303YSN56 SBK MPYʬɠUN BNUAKABŠBGN Dà06053 BPDƠ HDS-SN SN HSSNSHŠDVŠU̠ƠHK- SUMMDDAAҠS5.AHSҠSHKSUMMD SPAAY.HŠNŠSҠSUMSϠZ.H SԠϠDSSUMϠHŠAKNUMB.HŠN ϠDSSUMϠHŠSҠNUMB.AKSAŠUSDN ANAYNASNGHNDASNGDҠAHPASS. SNP DAAS SBSUƠUNԠSN SBS ANDB6SAVŠBԠ6ƠSH SAS00GSҠҠSANDS5 ANA SASAG A SAYؠSԠAKNŠD SAU SBYʠSԠUPAK DAAKS SAҴAUP SAҴBVAAB SAҴàS DAD0SԠUPN SANԠҠ3SS SBDGNGNAŠANDMDAA AS SASҠ0 SBGNɬɠGNAŠHKSUMS SBVɠD00(VAABũ Dà0 ҴABSS Dà0 Ԡ6 DASP PAD3 MPSB DAD3S SASҠ3 SBDGNGNAŠANDMDAA SBGNɬɠGNAŠHKSUMS SBVɠD03(VAABũ Dà0 ҴBBSS Dà3 Ԡ6 DAD66DUN SAlNԠ66 DAD6S SASҠ6 SBDGNGNAŠANDMDAA SBGNɬɠGNAŠHKSUMS SBVɠD666(VAABũ Dà66 ҴàBSS Dà6 Ԡ6 SBU SBYDUNԠUPYؠANDHKҠDN MPSANNU MPSɠUN HDS5-SN5 SN5 HSSNANDMYADSNŠSҠANDVS AKSҠANDHKSUM.HŠPANSPAD 9MS(Ҡ56MSSSHGSҠBԠ5SSԩ. SVKàUGB S5NP DAAS5 SBSUƠUNԠSN A SASVK DAD6N SANԠS S5ASBNSɬɠGNAŠAKANDS DAAK SA5A DAS SAS5A SBVɠD6(VAABũ Dà6 5ABSS S5ABSS Ԡ6 SBHK SZSVK DBSVK SBS ANDB5 ADBM56SHԠS? SZASSSKPƠYS ADBM936 SSBSKPƠDN MPS5A MPS5ɠUN HDHKHK HK HSUNŠHKSHŠBUSGNADBYGN ԠUSSBUAŠҠAPNҠANDHKSNŠS SŠGNҠADSPNƠHŠSҠMA HKNP DAHKSAVŠUNADDSSҠ SBHKMBUҠHKSUM SZASKPƠHKSUMK MPҠHKSUM DAMPGԠAKHKBAK PAAKHKҠPPҠAK SS MPҠNGAK DAMP3GԠSҠBAK PASҠHKҠPPҠS MPؠNϠBUҠSHKSAUS ҠU DAB3ADHKNS5 SAPN DAMPAD{HKSUM DBP05APN-HKSUM SBNPɠNVԠϠAS DAMPADAKHK DBP05BPN-AK SBNP DAMP3ADSҠHK DBP05àPN-S SBNPɠNVԠϠAS DAMP DBP05DPNԠAKNDMA SBDN DAMP3 DBP05ŠPNԠSҠNDMA SBDN Ŵ5DBB5BUҠHKSUMؠAK (YYYYSҠ(YY SBSƠSԠҠMSSAGŠPN SBàSAVŠҠH MPZGϠANAYZŠS HK MBUҠHKSUM HKNP SAHK DBѴ90-6690YSN56 SBK DBBUAŠADBUҠPN DAMM60+SZ SAMPSԠUNԠҠADDP DABɠADSԠD NB ADABɠMAKŠAKHK NB SAMPSAVŠAKHK DAB NB ADABɠMAKŠSҠHK NB SAMP3SAVŠSҠHK ADAMPHKSUMSϠA ѠU ADABɠADDUPA̠DS NB SZMPUNԠDNUN MP SAMPSAVŠHKSUM MPHKɠUN HDPHK PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠+`NLHU PABɠHKҠMAHHBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSSAG DABUA MANA ADAMPADNUMB MPű0 N  24184-80005 B S 0122 FIXED HEAD DISC/DRUM DIAGNOSTIC             H0101 <  HDSB SB ƠBԠSSԠPAԠASԠPAN 5MSBŠPNG SBɠNPHK SBSҠBԠ ANDBԸ SZASS MPSBɬɠԠBԠ0 SZBHK MPSԸA DAMM55HM SABHKSԠUN MPSBɬɠ SԸAA SAS SADM MPPҬɠYAGAN HDGNNS GN HSUNŠNSUSHŠHKSUMSҠHŠŠBU. .AHSҠSHKSUMMDSPAAY .HŠNŠSҠSUMSϠZϠ(SMPMNԠ 3.HŠSԠϠDSSUMϠHŠAKNUMB .DSAND3SUMϠHŠSҠNUMB GNNP DAN AƬA A̬A ANDBAVŠHŠNUMBҠƠSS MANAMPMNԠҠSZ SAMP DAS SAMP DBBUADADADDSSƠSԠS G̠U DAMM5+SZ SAMP3UNԠҠUҠUNԠP DABɠGԠDZ MANAMAKŠMPMN ADAAKHSSUMSϠHŠAKNUMB NBUNԠUPBUҠADDSS SAB NBUNԠUPBUҠPN DABɠADD MANAHKDSMPMN ADAMPADDS NBUNԠUPϠSԠҠD SABɠSAVŠSNDHKD DAAK ADAMPADDNSҠNUMB SUMϠDAŠNA GƠU NBUNԠUPBUҠPN ADABɠADDNNԠDƠBU NB ADAB NB ADAB NB ADAB SZMP3HKҠDN MPGƠGԠNŠBU MANAHKSNGAV ADABɠSUBAԠUԠASKzD SAB NBUNԠϠBGNNNGƠNԠS SZMPUNԠUPSҠNUMB SZMPHKҠDNŠHNŠŠBU MPG̠NϬGϠDϠANHҠS MPGNɠUN UNŠϠPKAANDMAKANDSҠNUMB. AVSϠMAHNŠYSUNUND. NSNP NAU DBѲ63YSN5AND6 SBK SBANDGԠAANDMNUMB AƬAƠUSŠԠNBS A̬A ANDBAK<0 SAYؠSAVŠNAKNŠD MANSMPMN ADANԠANNԠBŠNN-SANԠAK SSASKPƠKAY MPNAHSŬYAGAN SBYɬɠANSAŠYʠNϠAK NSAU DBѴ6596YSN5AND6 SBK SBANDA̠ANDHŠMSϠG SBANDSVNGDBSҠS SBAND AҠDϠNԠUSŠBԠ0(NԠANDM ANDBSҠ< SASҠSAVŠSҠNUMB MANSMPMN ADASPԠSԠҠGA̠SҠNUMB SSASKPƠKAY MPNSAHSŬYAGAN MPNSɠUN HDSҬPAԱPS SҠNPMV DA SұSAPNԠSԠPN DAPNԬ ADAMM SAADAK NAAB SASҠNY MVŠDAADɠDN SASҬɠN DAADAND SASҠPA ADAMMVAU SAADA ADAD PAPNԬ BSSP MPMV DAVAU SASҬ SBVAU MPSҬ PA PPAŠPANAB PAԱNP ' DAMMϠNS̠BŠUSD SAPNA DAPAҠADDSS ADAMM0ƠS SAPADPAN DAP0AADDSS SAPSҠƠMSSAG PàDAMM5VŠPANSPҠN SAPN PBDBPS DAPAD SBNPɠNVԠϠAS SZPAD DBPS ADBD3 DABBϠASɠBANKS SAB NB SBPS SZPNԠHAVŠŠDNŠVŠY MPPBN SZPNAYSHAVŠŠDNŠNY MPPAԱɠYS DAƠ06 SAPSҬ SZPS MPP PSҠNPADD DAPS SASҠSԠUPUN DAPA MPSұ HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠH0 NPH DƠH DƠű3 DƠH NPH5 NPH6 DƠH DƠH0 DƠH DƠH NPH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 DƠH3 DƠH33 DƠH3 DƠ35 DƠH36 DƠH3 DƠH0 NPH NPH DƠŴ3 DƠH DƠŴ5 NPH6 DƠŴ DƠH50 DƠH5 DƠH5 DƠH53 DƠ5 DƠ55 DƠ56 NP5 DƠ60 DƠ6 NP6 DƠH63 DƠH6 ҠDƠ MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM _w DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 HDS6-SN6(PDSN G6000B PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS6 SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS o{ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲҬS׬SSS PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADABSԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABPHUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3MV MPPU3N PU3MDAB6V SBPN MPPD PUԴҬ׬DD PUԴDAPPԴ SADSŠANSҠV A SAD3DAUԠAKNUMB SADDAUԠSҠNUMB SBHAҠGԠNԠHAA MPPUԴàDN SBPUԱGHKҠMMA SBPUԴBPSSSԠDDUN SZD SAD DAPNԠS PAB3 MPPUԴAD(6 PAB6 MPPUԴAҠ(? SBPU6DYSMԠDUN MPPUԴD PUԴADAD SZASS MPPUԱAD0 ANDB PAD MPPUԱADMD6 PUԴDSBPUԴBPSSSNDDAK SAD3 SBPUԴBPSSHDDS SAD DAPAGDN? SZASSSKPƠYS MPPUԱA PUԴàDAD5 MPPUԱ PUԴBNP DAPAGDN? SZA MPPUԴàYS SBPUԱؠNϬGԠNԠD MPPUԴBɠUN PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K AND DAD3MASK A SAD3 MPPU5B PԱ PԱSBHA SSSKPƠDN MPPUԱA DABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠBSԠB? SZASS MPPԱAYSB ҠB3 SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 dB@KSASP6 SBNNAZŠUN DADBԠ HAHUNƠN-NŠGH DAM5 DBAM5N-NŠGHԠSHUDBŠ. SBY.Ϭ DBSAԱ SBKSASP SBNNAZŠSԠUN DAM55 DBAM55PUSHADYHNPUSHUN. SBY.Ϭ HԠ55B DBSAԱ SBKSASP DAASMADD.ƠSPA̠ҠMSS. SANPAKSԠUN MPSBű ASMDƠ+ DAM6 DBAM6DVŠMMANDDDN'ԠK. SBY.Ϭɠ(Sԩ SBűU H5àHàSԠDVŠMMAND SBDAY SBDAY DBSAԱ SBKSASP9 A H6AH DAM5 DBAM5N-NŠGHԠSHUDBŠN SBY.Ϭ SBN DBSAԲ SBKSASP0 SBN DAM63PAŠGHԠNHPP.ADY DBAM63GHԠSHUDGϠU.MV SBY.ϬɠGHԠHNPSSUN. HԠ63B DBSAԱ SBKSASP SBN DAM55 DBAM55PSSADYHNPSSUN. SBY.Ϭ HԠ55B DBSAԲ SBKSASP SBN DAM65ASŠSAKҠVҠUN̠ADY DBAM65GHԠGSU.ҠԬHN SBY.ϬɠPSSUN HԠ65B DBSAԱ SBKSASP3 SBN DAM6PAŠADSNHPPҬPSS DBAM6ADYHNPSSUN SBY.Ϭ HԠ6B DBSAԲ SBKSASP SBN DAASBAADD.ƠAB SASABҠSHABԠBU DABԲ SAGNBԠPAKABԠB DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. 5SBADàADAAD MPSBNDNDƠS ASBADƠ+ DAM0SBŠAND. DBAM0 SBY.Ϭ MPND SBNDU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5SPAԠNDƠS? SBSױ3PAԠS? MPSBŬɠUN HDADAAD ADàNPADAAD YAGU NDDBANB SBADBPAKDAABUҠPN DAAMD SAADԠPAKMŠBUҠPN SBBƠAҠNPUԠBU DAMD SADԠPAKN.Ơ.ϠBŠAD H50SàHàNAŠAD N̠U A H5SàHHASAGMŠNY? MPDYSHKƠԠSA. NASZABUMPDAYUN MP-3NNUŠHKNGҠAG H5AHPKUPSAUSPUSDAA SAHSASAVŠ DYU H5àHàUNUNԠ DAHSAPKUPH.SAUS SSAAD-N-GA? MPNGYS A SSAND--AD? MPNGYS PKҠUPK SBKHPHKSAKҠSAUS SBAPŬɠPNԠPK MPYAG SPà NGU DAHSA ANDBԱHKSAUSB SZASSSAUSK? MPH53 SBPNƠPNԠNϠAG MPYAGN SPà H53àHàUNƠUN SBDUNADYADҠANDPSSUN MPNDNԠADY SPà DU SAADԬɠSAVŠMŠUN A SAADB H5àHàUNƠUN H5AHPKUPH.SAUS SSASSAD-N-GA? MPKàN.HKҠND--AD SAADBɠSAVŠDAAҠHS. SZADԠ)NDA.N.ƠADSAD MANAMAKŠԠ(- SAPKM(-ADUN SANDN.ADSAD A ANPԠADAADԬɠADDNNԠVAU SZADԠBUMPPNҠϠBU SSAϠBG MPGMA.PNԠMA.MŠDD SZPKMNSHD? MPANPԠADDNԠPKM DBASAPAANDB A- NA ADBNDDVDŠϠNDAVAG SSBSS MP-3 SAPKMSAVŠAVAGŠVAU DBAMԠADD.ƠMŠABŠNSANS MA ADABɠHKҠSSHAN SSA MPòBGUNԠϠBG SBSKSKPY DAM3 DBAM3AV.PKMŠSSHANMN.MS SBY.Ϭ MPKPҠHKPKS òBGU NBBASϠNԠMŠNSAN DAPKMPKUPAV.PKM MANA ADABɠPPAŠϠHKҠG.HAN SSASSϠBG? MPKPҠNϬHKPKS GMA.U SBSKSKPY DAM DBAMAV.PKMŠGҠHANMA.MS SBY.Ϭ KPҠU SBHKPŠHKƠANYPKSPN MPPNHMANDMNAŠS. PABDƠ+ SBSKSKPY? DAM0 DBAM0PԠAND SBY.Ϭ MPND3 PNU SBS09PNԠMSSAG? MPND3 DASM3 DBASM3 SBY.ϬɠPNԠMSG ND3U SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(HUSN MPPԬɠUN SKP KDYNPHKƠADY DADYA SANPAKҠADD. MPDYA- DYADƠ+ SBDUNADYADҠANDPSSUN SBDAY DYAàHàUNƠD A H~)60AHUNN-NŠGHԠN SBDAY DBSAԲ SBKSAHKSAUS MPKDYɠUN SPà3 AϠNPA..N. DAAԠ(-.UN ADAD0MAؠUMNS NA+ SBDASNVԠϠAS MPAϬɠUN SPà3 DASNPDàϠASɠNVSN DBSASHA̠5 ADAMD0 NB SSASSNSHDHDG MP-3N PBZϠSUPSSADNGZS DBSPAŠA̠0 BƬBƠPUԠSԠHAҠNϠHɠPSN. ADBNA̠ ADBANUDŠGHԠDàHA. MPDASɠUN SPà3 HKPŠNPHKN.PKS DAPKԠA̠PKS SZASSANYPKS? MPHKPŬɠUN DBPKԠA̠N.ƠPKS MBNB ADBD99 SSBGAҠHAN99 DAD99YSMA.ANNYBŠ99 SBDASNVԠMDàϠAS SBAM6+ɠSAVŠN.ƠPKS DAD50 SBNDA.N.ƠADSAD SBDASNVԠϠAS SBAM6+ɠSAVŠN.ƠADSAD SBSKSKPY DAM6N.PKS DBAM6N.ADSAD SBY.Ϭ MPHKPŬɠUN SPà3 NSUNPUNSUP SADԠPAKADUN A SAPKԠNAZŠPKUN MPNSUɠUN SPà3 NKNPUNHK SBABK SZDԠNSHDׯN.ADS? SSN MPNKɠUN SBKHPHPPҠMPYSAKҠU? MPNSUɠNϬPA KHPNPHKHSANDGNA̠SAUS H6AHPKUPUNԠ.BS AƬAGN.SAUSNŻHSNSB qSAHSSAUSK? MPSSBYS SBSKYSKP? DAM35 DBAM35HPPҠMPYSAKҠU SBY.Ϭ H6BàHàUNƠAD MPNKɠUN SPà SSBU SZGN.SAUSK? MPKHPɠYS DAASñASɠ SBBSԠBԠSHUDBŠS MPSABҬɠAB SPà3 DDԠNPADADMNG SAYSSAVŠN.PKS DDBNAZŠUN H6ASàHàNAŠAD DDU H63AHPKUPSAUSBS SSAAD-N-GAŠY? MPGYS H6SàHAGNBŠG? MPNGYS NBSZBMŠU? MPDDN SBPNƠPNԠNϠAG MPDDYAGAN NGU APUԠG(éBԠNPA SSASSGN? MPPKŠNϬPK SBSKSKPY? DAMG0ANDG DBAMHNAG SBY.Ϭ SBABKAB? MPDDPA PKŠU SBKHPHKSAKҠSAUS SZPKԠA̠PKS SZYSMA.PKSDD? MPDDN SZDDԠPNԠϠP+ MPNUN SPà GU BSBS BSBSSHԠMŠϠPPҠB-PN BSBS SBDMSAVŠPKMŠAԠ(-B-PN BNAZŠMŠUN DD3U H65AHPKUPSAUSBS NPMNG SSASSGNSHD? MPG0YS NBSZBMŠU? MPDD3N BPUԠNMA.UN G0U SBDM+SAVŠADM B H65AAHPKUPSAUSBS APUԠGNϠMSB SSASSG? MP+3N NBSZBMŠU MPH65AN NU H66àHàUNƠAD MPDDԬɠUN SPà3 NDNPA.N.ƠADSAD ADADԠAUAŠN.ADSAD SZASS NAPUԠNUNԠƠN MPNDɠUN HDADNGHMNGS ԠNPADNGHMNGS SBSNNAZŠSԠUN SBS09PNԠSAԠMSG.? MPUAN. DASMA DBASM SBY.Ϭ UAU DABԴ SAGNBԠPAKABԠB DAAB SASABҠPAKABԠADD. DAԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠDVŠADY DAMD0 SBNSU DAGU APKҠAD SBDDԠADADMNG MPDKADADK SBAPŬɠPNԠPK MPDAG DKU DADM+ SSAϠBG? MPGMAؠYS DBAMԠADD.ƠMŠNSANS ADBDBAS MANA ADABɠAUAŠVADUN SSAϠSMA MPGMNN MNU SBSKSKPY? DAM3 DBAM3AD"NGH"..MNMS SBY.Ϭ MPN GMNDADM+PKUPADMNG NBBUMPPNҠϠMŠAB MANA ADABɠAUAŠUN SSASSVAD? MPNYS GMAؠU SBSKSKPY? DAM DBAMAD"NGH".G.MAؠMS SBY.Ϭ MPN ABDƠ+ SBSKSKPY DAM DBAMԠAND SBY.Ϭ MPND DNU SBNK ҠU SBS09PNԠMSSAG? MPND DASM DBASM SBY.ϬɠPNԠMSG NDU SBSױ5HAԠAԠNDƠS? SBSױ3PAԠS?(VASN MPԬɠUN HDSANDADBԠS SBԠNPSANDADBԠS SBSNPAKPAԠSԠADD. SBS09PNԠSAԠMSG.? MPVAN. DASM5A DBASM5 SBY.Ϭ VAU DAB5 SAGNBԠABԠSH DASBAB SASABҠPAKABԠADD. DASBԠMUSԠSԠUPUNҠPSSB SANKSAKҠU̠NSԠAD. SBKDYHKƠADY DAMD0N.ADSϠAD SBNSUSԠUPUN DADMAH SZASSUSŠDMA? MP+3N SBDMAADADׯDMA MPDN SBADàADADׯϠDMA DNU NPSPA DAANB SAADBPAKNPUԠPN DAASDB SAASDAPAKSD.DAAPN DAMD0 SAA SASBԠPAK.UN SBNKHKN.Ơ. SSASSN.Ơ.K? MPSBԱYS SBPM5Ϡנ.AD MPSBN SBԱU SBS0HKSH MPSBԲHK. SB3DAMD0N..ϠHK SBBSԠPMBNAYS MPSBNNSHD SBԲSBK̠HKUMNS SBS0BNAYS? MPSBNNϬNSHD MPSB3YS SBABDƠ+ABԠADD. SBSK DAM5 DBAM5SBԠAND SBY.Ϭ MPND5 SBNU SBNKHKƠNSHD SBҠU SBS09PNԠMSSAG? MPND5 DASM5 DGB@ 7 ADB Z.7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O JSB ZISC INSTRUCTIONS HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * * * * * * * * * * * * * * 0.** * * * * * * * * * * HED BASIC I/O TESTS CH EQU 10B * TST00 EQU * NOP LDA USSC GET CELL LOCATION AND Z.77 JSB ZBIO DO BASIC I/O JMP TST00,I * ZBIO NOP CLC INTP,C TURN OFF ALL I/O LDB ZBIOD INITIALIZE BASIC I/O JSB ZISC INSTRUCTIONS * * INTERRUPT FLAG CHECK * ZBIO1 STF INTP CLF INTP SFC INTP RSS JMP *+3 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR DEF ZBE00 SFS INTP JMP *+3 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR DEF ZBE01 STF INTP SFC INTP JMP *+4 CLF INTP TURN OFF INTS E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR DEF ZBE02 SFS INTP JMP *+3 CLF INTP TURN OFF INTERRUPTS JMP ZBIO2 CLF INTP TURN OFF INTS E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR DEF ZBE03 JMP ZBIO2 * ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ * * s30  24200-18004 1615 S 0122 2600 CRT TERM DIAG.              H0101 9 SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF CH ZBS22 CLF CH ZBS23 SFC CH RSS JMP *+3 E005 JSB ERMS,I E005 CLF CH-SFC CH ERROR DEF ZBE05 ZBS24 SFS CH JMP *+3 E006 JSB ERMS,I E006 CLF CH-SFS CH ERROR DEF ZBE06 ZBS25 STF CH ZBS26 SFC CH JMP *+3 E007 JSB ERMS,I E007 STF CH-SFC CH ERROR DEF ZBE07 ZBS27 SFS CH RSS JMP ZBIO3 E010 JSB ERMS,I E010 STF CH-SFS CH ERROR DEF ZBE10 JMP ZBIO3 * ZBE05 ASC 13,E005 CLF CH-SFC CH ERROR/ ZBE06 ASC 13,E006 CLF CH-SFS CH ERROR/ ZBE07 ASC 13,E007 STF CH-SFC CH ERROR/ ZBE10 ASC 13,E010 STF CH-SFS CH ERROR/ * * * * * * * * * * * * * * * * * * * * * SKP * INTERRUPT CONTROL * * ZBIO3 JSB ZTCJI SET JSB INSTRUCTION DEF ZB3E ZBS31 STF CH SET THE FLAG ZBS32 STC CH SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TI INTERRUPT NOP ZBS33 CLF CH RESET CH FLAG JMP ZBIO4 * ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ * ZB3E NOP CLF INTP TURN OFF INTS E004 JSB ERMS,I E004 DEF ZBE04 * * * * * * * * * * * * * * * * * * * * * * * * SKP * SELECT CODE SCREEN TEST * ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS ZB40 LDA USSC GET SELECT CODE AND Z.77 CPB A IS IT THE CH? JMP Z.CLF+1 YES - SKIP TEST LDA Z.STF SET UP AND ZIOM IOR B STF INSTRUCTION STA Z.STF PUT IT IN PLACE LDA Z.CLF SET UP AND ZIOM IOR B CLF INSTRUCTION STA Z.CLF PUT IT IN LINE ZBS41 CLF CH CLEAR CHANNEL FLAG Z.STF STF CH EXECUTE STF CH INSTRUCTION ZBS42 SFC CH TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF CH CLEAR TEST FLAG Y; CPB Z.77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT CHANNEL * ZBE11 ASC 14,E011 STF XX SET CARD FLAG// * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT CH FOR MESSAGE JSB ZN2AO STA ZBE11+5 LDA ZBTMP RETRIEVE NUMBER E011 JSB ERMS,I E011 DEF ZBE11 * * * * * SKP * CHECK INTERRUPT & HOLD OFF * ZBIO5 JSB ZTCJI DEF ZBI5 CLA SET UP STA ZBF5 FLAGS STA ZBI5 FOR TEST STA ZBTMP ZBS51 STC CH TURN ON ZBS52 STF CH CARD STF INTP AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * ZBF5 NOP * ISZ ZBTMP INT. SHOULD BE HERE ISZ ZBTMP CLF INTP TURN I/O SYSTEM OFF LDA ZBI5 DID IT INTERRUPT? SZA JMP *+4 E014 JSB ERMS,I E014 NO INT DEF ZBE14 JMP ZBIO6 ABORT REST OF SECTION LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA Z.2 ? JMP *+3 E026 JSB ERMS,I E026 INT EXECUTION ERROR DEF ZBE26 ZBS53 CLF CH TURN OFF CH FLAG JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ ZBE13 ASC 12,E013 SECOND INT OCURRED/ ZBE14 ASC 06,E014 NO INT/ ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ ZBE26 ASC 13,E026 INT EXECUTION ERROR/ * * * * * SKP ZBI5 NOP CLF INTP TURN I/O SYSTEM OFF LDA ZBD5 CHECK TO SEE IF ALL CPA ZBF5 INSTRUCTION COMPLETED JMP *+3 YES E012 JSB ERMS,I E012 INT DURING HOLD OFF DEF ZBE12 LDA ZBD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA ZBI5 JMP ZBI5A E015 JSB ERMS,I E015 INT RTN ADDR ERROR DEF ZBE15 JMP ZBIO6 ZBI5A JSB ZTCJI SET SECOND INT TRAP DEF ZBT5 STF INTP TURN I/O SYSTEM ON JMP ZBI5,I CONTINUE TEST * * ZBT5 NOP CLF INTP TURN I/O SYSTEM OFF E013 JSB ERMS,I E013 SECOND INT OCURRED DEF ZBE13 * * * * * SKP * CLC CH AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC CH SET CH CONTROL ZBS62 STF CH SET CH FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC CH CLEAR CH CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF CH CLEAR CH FLAG ZBS65 STC CH SET CH CONTROL ZBS66 STF CH SET CH FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS E016 JSB ERMS,I E016 CLC CH ERROR DEF ZBE16 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF ZBE17 JMP ZBIO7 * ZBE16 ASC 9,E016 CLC CH ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ * * * * * * SKP * EXTERNAL & INTERNAL PRESET TEST * * ZBIO7 LDB ZS812 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF CH CLEAR CH FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLK * * * * * * * * * * HED BASE PAGE LINKS AND CONSTENTS ORG 126B OCT 104000 DSN ORG 140B IOIP DEF IOID POINTER TO I/O INSTRUCTIONS TSTP DEF TSTD POINTER TO TESTS HDMP DEF HDMD POINTER TO HEADER MESSAGE STDA OCT 3777 STDB OCT 0 * ORG 150B HDMD EQU * ASC 11,START KDT DIAGNOSTIC/ * IOID EQU * DEF T.SC1 DEF TOSC1 DEF TOSC2 DEF TOSC3 DEF TOSC4 DEF TISC1 DEF TISC2 DEF TISC3 DEF TISC4 DEF TISC5 DEF TISC6 DEF OSCS1 DEF OSCEX DEC -1 * TSTD EQU * DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEC -1 SKP B77 OCT 77 KDT EQU 10B SW2 OCT 4 CRLF OCT 6412 .5 OCT 5 .M4 OCT -4 .2 OCT 2 .40 OCT 40 .177 OCT 177 .377 OCT 377 D500 DEC 500 D2000 DEC 2000 .M1 DEC -1 .M10 OCT -10 DM17 DEC -17 DM25 DEC -25 DM28 DEC -28 DM35 DEC -35 CUDN OCT 13 CURT OCT 30 CULT OCT 31 CUUP OCT 32 CUCR NOP CUDR NOP CNTR NOP TMP NOP S128 OCT 10400 HED COMMON SUBROUTINES * OUTPUT TO KDT * * A2KDT NOP STA SAVE KEEP THE CHARACTER SSA,RSS IS IT A COMMAND? JMP *+4 NO-OUTPUT A REG T.SC1 OTA KDT YES-DO IT OTEX LDA SAVE RETRIEVE CHARACTER JMP A2KDT,I AND RETURN ALF,ALF UPPER CHR. FIRST AND .177 MASK OFF UNWANTED BITS SZA IS IT A CHARACTER JSB A1KDT YES - TRANSFER IT LDA SAVE DO OTHER HALF AND .177 MASK OFF UNWANTED BITS SZA IS IT A CHARACTER JSB A1KDT YES - TRANSFER IT JMP OTEX YES RETURN TO CALLER * SAVE NOP * * * * A1KDT NOP TOSC1 OTA KDT GIVE IT TO TERMINAL TOSC2 STC KDT,C *  CLA * TOSC3 SFC KDT *WAIT FOR JMP *+5 * INA,SZA * TRANSFERED JMP *-3 * E034 JSB ERMS,I REPORT TIME OUT DEF FTOM POINTER TO MESSAGE TOSC4 CLC KDT,C TURN CARD OFF JMP A1KDT,I * * FTOM ASC 10,E034 FLAG TIME OUT/ * * * PUT JSB IN TRAP CELL * TCJI NOP LDA USSC GET SELECT CODE AND B77 LDB JSBI GET JSB INSTRUCTION STB A,I PUT IT IN TRAP CELL LDA TCJI,I GET RETURN LOCATION STA 3B SAVE IT FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN * JSBI JSB 3B,I * SKP * OUTPUT DATA PATTERN TABLE * * IF CHR. IS POS. OUTPUT BOTH CHARACTERS * IF CHR. IS NEG. USE UPPER AS CHARACTER REP. COUNT * OPDPT NOP STB TMP SAVE POINTER AS ADDRESS CCB SET FOR 2 CHARACTERS LDA TMP,I GET CHRS. FROM TABLE CPA .M1 IS IT THE TERMINATOR JMP OPDPT,I YES-RETURN TO CALLER SSA,RSS NO-IS IT A MULTY CHR. OUTPUT JMP *+6 NO-SKIP SETUP IOR .377 * ALF,ALF * STA B * SET UP COUNT LDA TMP,I * AND .177 * JSB A2KDT INB,SZB OUTPUT AGAIN? JMP *-2 YES ISZ TMP NO-MOVE TO NEXT CHR. JMP OPDPT+2 DO IT * * KDT2A NOP TISC1 OTA KDT TISC2 STC KDT,C TISC3 SFC KDT JMP TISC4 LDB SW2 CHECK FOR ABORT JSB SWRT,I RSS JMP TISC3 LDA .5 WAIT FOR JSB TMRR,I SWITCH BOUNCE LDB SW2 JSB SWRT,I JMP *-2 JMP TISC5-1 TISC4 LIA KDT AND .177 MASK OFF PARITY BIT ISZ KDT2A ADJUST RETURN FOR DATA LDB OCMD RESTORE OUTPUT COMMAND TISC5 OTB KDT TISC6 CLC KDT,C TURN OFF CARD JMP KDT2A,I * * ICMD OCT 140000 INPUT ONLY COMMAND R*($SKP * PREPAIR TERMINAL WITH HOME UP AND EOF * * PREP NOP LDA OCMD OUTPUT COMMAND JSB A2KDT LDB HUEOF DO HOME-UP & EOF JSB OPDPT JMP PREP,I * OCMD OCT 120000 PRINT ONLY COMMAND * HUEOF DEF *+1 OCT 35 HOME-UP OCT 176037 4*EEOF OCT 177777 TERMINATOR * * WAIT 2 SECONDS THEN * CHECK SW. REG. BIT 1 FOR PAUSE * PAUSE NOP LDA D2000 PAUSE FOR 2 SECONDS JSB TMRR,I LDB SW1 SWITCH 1 UP? JSB SWRT,I y*  24200-18005 1615 S 0122 2600 CRT TERM DIAG.              H0101 9 JMP *-2 YES-LOOP JMP PAUSE,I NO-RETURN * SW1 OCT 2 * HED FUNCTIONAL TESTS * CHARACTER SET * TST01 EQU * * CS NOP JSB PREP PREPAIR TERMINAL LDA DM25 NUMBER OF LINES STA CNTR TO BE DISPLAYED LDA .40 FIRST CHARACTER CSL JSB A2KDT OUTPUT IT TO TERMINAL INA MOVE TO NEXT CHARACTER CPA MXCR IS THAT ALL? RSS YES JMP CSL NO-FINISH LINE ISZ CNTR LAST LINE RSS JMP *+4 YES-SKIP CRLF LDA CRLF NO-OUTPUT CRLF JSB A2KDT JMP CSL-1 NOW DO NEXT LINE JSB PAUSE JSB PREP CLEAR SCREEN JMP CS,I RETURN TO CONTROL * MXCR OCT 140 * SKP * MOS ?@ * TST02 EQU * * MOS NOP JSB PREP PREPAIR TERMINAL LDB DM25 DO 25 CURSOR DOWN'S STB CNTR REP COUNT LDB CDT CURSOR DOWN TABLE JSB OPDPT DO IT ISZ CNTR DO IT AGAIN? JMP *-3 LDA DM28 28 LINES STA CNTR LDA MOS@? CHARACTERS FOR FIRST LINE MOSL LDB DM35 70 CHARACTERS PER LINE JSB A2KDT INB,SZB LINE FINISHED JMP *-2 NO STA TMP YES ISZ CNTR JMP *+4 JSB PAUSE WAIT JSB PREP CLEAR SCREEN JMP MOS,I RETURN TO CONTROL LDA CRLF DO CRLF JSB A2KDT LDA MOS?@ SWAP ?@ CPA TMP ? LDA MOS@? YES JMP MOSL DO LOOP AGAIN * * MOS@? ASC 1,@? MOS?@ ASC 1,?@ * CDT DEF *+1 OCT 13 CURSOR DOWN COMMAND OCT 176177 FOLLOWED BY 4*RUBOUT OCT 177777 TERMINATOR SKP * DOT MATRIX * TST03 EQU * * DM NOP JSB PREP PREPAIR TERMINAL LDA DM25 NUMBER OF LINES STA CNTR DML LDB DM17 68 CHARACTERS V# LDA CR1 * JSB A2KDT * LDA CR2 * JSB A2KDT * OURPUT A LDA CR3 * LINE JSB A2KDT * LDA CR4 * JSB A2KDT * INB,SZB DONE WITH LINE? JMP DML+1 NO ISZ CNTR SCREEN FILLED JMP *+4 JSB PAUSE YES-WAIT JSB PREP CLEAR SCREEN JMP DM,I RETURN TO CONTROL LDA CR1 * LDB CR2 * STB CR1 * LDB CR3 * ROTATE STB CR2 * CHARACTERS LDB CR4 * STB CR3 * STA CR4 * LDA CRLF YES-DO A CRLF JSB A2KDT JMP DML DO IT AGAIN * CR1 OCT 116 ASC N CR2 OCT 043 ASC # CR3 OCT 132 ASC Z CR4 OCT 053 ASC + SKP * SPOW-EOL-EOF * TST04 EQU * * SEE NOP JSB PREP PREPAIR TERMINAL LDB SEEDP TEST PATERN FOR SEE JSB OPDPT OUTPUT DATA PATERN TABLE LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP1 OUTPUT FIRST OVERLAY JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP2 OUTPUT SECOND OVERLAY JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP3 OUTPUT THIRD PATERN JSB OPDPT LDA D2000 WAIT 2 SECONDS JSB TMRR,I LDB SEEP4 OUTPUT EOF JSB OPDPT JSB PAUSE WAIT FOR OBSERVATION JSB PREP CLEAR SCREEN JMP SEE,I RETURN TO CONTROL * * SEEDP DEF *+1 * * INITIAL PATERN * ASC 6,AAAAAABBBBBB OCT 6412,6412 ASC 3,DDDDDD OCT 6412,6412 ASC 6,AAAAAAEEEEEE OCT 6412,6412 ASC 6,AAAAAAFFFFFF OCT 6412,6412 ASC 3,FFFFFF OCT 177777 TERMINATOR * SKP * OVERLAY FOR B'S * SEEP1 DEF *+1 OCT 16415 HOME UP - RETURN ENABLES SPOW ASC 6, $$$$$$ OCT 177777 TERMINATOR * * CLEAR D'S * SEEP2 DEF *+1 OCT 6412,6412 2-LINES RELEASES SPOW ASC 3, OCT 177777 TERMINATOR * * OVERLAY FOR A'S AND EOL * SEEP3 DEF *+1 OCT 6412,6412 ASC 3,@@@@@@ OCT 176036 4*EEOL OCT 177777 TERMINATOR * * OVERLAY FOR A'S AND EOF * SEEP4 DEF *+1 OCT 6412,6412 ASC 3,###### OCT 176037 4*EEOF OCT 177777 TERMINATOR SKP * CURSOR CONTROL * TST05 EQU * * * CC NOP P JSB PREP PREPAIR TERMINAL LDB CCDP TEST PATERN JSB OPDPT OUTPUT DATA PATERN TABLE LDA CUCD SET UP STA TMP POINTER CCLP LDA TMP,I SZA,RSS END OF CONTROL LIST JMP ECL YES STA CUCR NO-SAVE CHARACTER ISZ TMP MOVE TO CURSOR CONTROL LDA TMP,I STA CUDR CURSOR DIRECTION CULP ISZ TMP MOVE TO REP COUNT LDA TMP,I SSA,RSS END OF REP COUNT? JMP CCLP YES STA CNTR NO - SAVE REP COUNT CUCLP LDB .M4 OUTPUT CLA NULL JSB A1KDT CHARACTER INB,SZB JMP *-3 LDA CUDR OUTPUT AND .177 CURSOR JSB A1KDT CONTROL ISZ CNTR IS THERE ANOTHER JMP CUCLP YES CC01 LDA CUCR OUTPUT CHARACTER JSB A1KDT JMP CULP TRY AAGAIN * ECL LDB CCP1 DO REST OF DIAPLAY JSB OPDPT JSB PAUSE WAIT FOR OBSERVATION JSB PREP CLEAR SCREEN JMP CC,I RETURN TO CONTROL SKP CCDP DEF *+1 OCT 175101 6*A OCT 6412,6412 OCT 5015 LF-CR OCT 177777 TERMINATOR * * CUCD DEF *+1 OCT 102 ASC B OCT 30 CURSOR RIGHT DEC -1 DEC -2 DEC -3 DEC -4 DEC -5 DEC -6 DEC -7 OCT 103 AS:C C OCT 13 CURSOR DOWN DEC -1 DEC -2 DEC -3 DEC -4 DEC -5 OCT 104 ASC D OCT 31 CURSOR LEFT DEC -6 DEC -9 DEC -8 DEC -7 DEC -6 DEC -5 DEC -4 OCT 105 ASC E OCT 32 CURSOR UP DEC -5 DEC -4 DEC -3 DEC -2 DEC -1 NOP TERMINATE LIST * CCP1 DEF *+1 OCT 35 HOME UP OCT 164012 24*LINE FEED OCT 176177 4*RUBOUT OCT 137040 66*SPACE OCT 172106 12*F OCT 142040 60*SPACE OCT 172107 12*G OCT 35 HOME UP OCT 175110 6*H OCT 34 HOME DOWN OCT 176177 4*RUBOUT OCT 15 ACTIVATE SPOW ASC 6, IIIIII OCT 177777 SKP * FULL KEYBOARD INPUT TEST * TST06 EQU * * FKI NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP FKI,I YES JSB PREP PREPAIR TERMINAL JSB FKIR CALL FOR DEF FKIH1 FIRST DEF FKIP1 LINE DEF FKIP1 * JSB FKIR NOP DEF FKIP2 DEF FKIP2 * JSB FKIR NOP DEF FKIP3 DEF FKIP3 * JSB FKIR NOP DEF FKIP4 4 DEF FKIP4 * JSB FKIR DEF FKIH5 DEF FKIP5 DEF FKIP5 * JSB FKIR NOP DEF FKIP6 DEF FKIP6 * JSB FKIR DEF FKIH7 DEF FKIP7 DEF FKIC7 * JSB FKIR DEF FKIH8 DEF FKIP8 DEF FKIC8 * * JSB PAUSE WAITE FOR OBSERVATION FKIEX JSB PREP CLEAR SCREEN JMP FKI,I RETURN TO CONTROL SKP FKIH1 ASC 10,INPUT THE FOLLOWING: OCT 177777 FKIP1 ASC 6,1234567890:- OCT 177777 * FKIP2 ASC 5,QWERTYUIOP OCT 177777 * FKIP3 ASC 5,ASDFGHJKL; OCT 177777 * FKIP4 ASC 5,ZXCVBNM,./ OCT a177777 * FKIH5 OCT 6412 ASC 3,SHIFT+ OCT 177777 FKIP5 ASC 6,!"#$%&'()*= OCT 177777 * * FKIP6 ASC 6,_@[\+^]<>? OCT 177777 * FKIH7 OCT 6412 ASC 3,CNTRL+ OCT 177777 FKIP7 ASC 2,HMX OCT 177777 FKIC7 OCT 4015 OCT 14040 OCT 177777 * FKIH8 OCT 6412 ASC 09,RBOT LF CR ESC OCT 177777 FKIP8 OCT 177777 FKIC8 OCT 77412 RBOT + LF OCT 06433 CR + ESC OCT 177777 * * SKP FKIR NOP LDB FKIR,I OUTPUT HEADER SZB IF THERE IS ONE JSB OPDPT LDA CRLF JSB A2KDT ISZ FKIR LDB FKIR,I OUTPUT REQUEST LINE CLE,ELB SET UPPER/LOWER FLAG STB PTR USE AS POINTER TO TABLE FKIL1 JSB TBL2A GET A CHARACTER FROM TABLE JMP FKIN1 NO MORE CPA .1SPC IF SPACE JMP FKIN1 SKIP IT JSB A2KDT LDA .2SPC JSB A2KDT LDA .2SPC JSB A2KDT JMP FKIL1 MOVE TO NEXT CHARACTER FKIN1 LDA CRLF JSB A2KDT ISZ FKIR LDB FKIR,I BET COMPAIR CHR. ISZ FKIR CLE,ELB SET UPPER LOWER FLG STB PTR SAVE AS TABLE POINTER FKIL2 JSB TBL2A GET A CHARACTER FROM TABLE JMP FKIR,I NO MORE CHARACTERS CPA .1SPC JMP FKIR,I STA TMP SAVE IT FOR COMPAIR LDA ICMD CALL FOR INPUT JSB KDT2A GO GET INPUT JMP FKIEX ABORT TEST CPA TMP WAS IT OK? JMP FKIO1 LDB FKIBD NO-OUTPUT CCE OCTAL JSB O2AS,I EQU. LDB FKIBD ADB .2 JSB OPDPT JMP *+3 FKIO1 LDB FKISP YES-OUTPUT 5 SPACES JSB OPDPT JMP FKIL2 SKP TBL2A NOP GET A CHARACTER FROM THE TABLE LDB PTR GET POINTER CLE,ERB ADJUST UPPER LOWER FLAG LDA B,I GET 2 CHARACTERS CPA .M1 IS IT THE TERMINATOR JMP TBL2A,I YEQS SEZ,RSS NO-IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND .177 MASK OFF UNWANTED BITS ISZ PTR MOVE TO NEXT CHARACTER ISZ TBL2A ADJUST CHARACTER RETURN JMP TBL2A,I * * * PTR NOP .1SPC OCT 40 .2SPC ASC 1, * FKIBD DEF *+1 NOP NOP NOP ASC 1, OCT 40 OCT 177777 * FKISP DEF *+1 OCT 175440 5*SPACE OCT 177777 SKP * FREE INPUT * TST07 EQU * * * FI NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP FI,I YES JSB PREP CLEAR SCREEN LDB FIH TELL OPERATOR TO JSB OPDPT INPUT ANY KEY LDA .M10 10 INPUTS PER LINE STA CNTR FIL LDA ICMD CALL FOR INPUT JSB KDT2A CALL FOR IT JMP FIEX ABORT TEST LDB A ADB M41 SSB * JMP FI1 *CHECK ADB M100 * FOR SSB,RSS * DISP.CHR. JMP FI1 * STA FIP+1 IT'S OK LDB FIP ECHO IT JSB OPDPT JMP FI2 DO IT AGAIN FI1 LDB FKIBD NO-OUTPUT CCE OCTAL JSB O2AS,I EQUIV. LDB FKIBD ADB .2 JSB OPDPT FI2 ISZ CNTR ALL FOR THIS LINE JMP FIL NO LDA CRLF YES DO RETURN LINE FEED JSB A2KDT JMP FIL-2 * FIEX JSB PREP CLEAR SCREEN JMP FI,I RETURN TO CONTROL * * FIP DEF *+1 NOP ASC 2, OCT 177777 * FIH DEF *+1 ASC 7,INPUT ANY KEY OCT 6412 OCT 177777 * M41 OCT -41 M100 OCT -100 SKP * ECHO * TST10 EQU * * ECHO NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP ECHO,I YES JSB PREP CLEAR SCREEN LDB ECHOM TELL OPERATOR HE IS JSB OPDPT IN ECHO MODE LDA ECHOC GET CARD ECHO COMMAND ? JSB KDT2A GO GET IT RSS JMP *-3 JSB PREP CLEAR SCREEN JMP ECHO,I RETURN TO CONTROL * * ECHOC OCT 160000 * ECHOM DEF *+1 ASC 15,ECHO MODE ANY INPUT IS ECHOED OCT 6412 OCT 177777 * * SKP * OSCILLATOR * TST11 EQU * * OSC NOP LDB S128 CHECK TO SUPPRESS TEST JSB SWRT,I JMP OSC,I YES JSB PREP PREPAIR TERMINAL * H030 JSB MSGH,I TELL OPERATOR TO SWITCH TO 110 DEF OSCM1 POINTER TO MESSAGE * LDA TOLZ1 OK NOW GET TOLERANCE LDB TOLZ2 JSB OSCC CHECK BOARD * H031 JSB MSGH,I TELL OPERATOR TO SWITCH TO 150 DEF OSCM2 * LDA TOLZ3 OK NOW GET TOLERANCE LDB TOLZ4 JSB OSCC CHECK BOARD * H035 JSB MSGH,I ALLOW OPERATOR TO DEF OSCM3 CHANGE BAUD RATE BACK JSB PREP CLEAR SCREEN JMP OSC,I RETURN TO CONTROL * OSCM1 ASC 15,H030 PUT TERMINAL IN 110 BAUD/ * OSCM2 ASC 15,H031 PUT TERMINAL IN 150 BAUD/ * OSCM3 ASC 13,H035 RETURN BAUD SWITCH TO ASC 10, ORIGINAL POSITION/ SKP * CHECK BOARD * OSCC NOP STA TOLZA SAVE TOLERANCE STB TOLZB LDA .M10 SET LOOP STA CNTR COUNT * OSCCL LDA OCMD SET OUTPUT JSB A2KDT MODE * JSB TCJI PUT JSB IN TRAP CELL DEF OSCCI LOCATION CCA SET OUT OF STA TMP TOLZ FLAG STF INTP TURN ON INTERRUPTS OSCS1 STC KDT,C START TRANSFER LDA TOLZA WAIT FOR INT. JSB TMRR,I ISZ TMP SHOW IN TOLZ NOP LDA TOLZB JSB TMRR,I ISZ TMP OUT OF TOLZ LDA TOLZA JSB TMRR,I * CLF INTP TURN OFF INTERRUPTS JSB ERMS,I LONG ENOUGH - ERROR DEF FTOM POINTER TO MESSAGE OSCEX CLC KDT,C TURN CARD OFF JMP OSCC,I SKP OSCCI NOP [A0.* INTERRUPTED CLF INTP TURN INTERRUPTS OFF LDA TMP SZA WAS IT IN TOLERANCE? JMP OSCE0 NO ISZ CNTR DO LOOP AGAIN? JMP OSCCL YES JMP OSCEX * OSCE0 SSA,RSS EARLY OR LATE JMP OSCE1 * E032 JSB ERMS,I EARLY ERROR DEF OSEM1 JMP OSCEX * OSEM1 ASC 08,E032 CLOCK FAST/ * OSCE1 EQU * E033 JSB ERMS,I LATE ERROR DEF OSEM2 JMP OSCEX * OSEM2 ASC 08,E033 CLOCK SLOW/ * TOLZA NOP TOLZB NOP TOLZ1 DEC 96 * 110 BAUD TOLZ2 DEC 7 * TOLZ3 DEC 70 $ 150 BAUD TOLZ4 DEC 6 $ SKP * DISPLAY ALLIGNMENT * TST12 EQU * * DA NOP JSB PREP PREPAIR TERMINAL LDA DM25 SET 25 LINES STA CNTR DAL LDB DADP OUTPUT E'S JSB OPDPT ISZ CNTR ALL LINES DONE? JMP *+4 JSB PAUSE YES JSB PREP CLEAR SCREEN JMP DA,I RETURN TO CONTROL LDA CRLF NO- DO A CRLF JSB A2KDT JMP DAL * * DADP DEF *+1 OCT 134505 71*E OCT 177777 FWAA EQU ZCEND END 0  24202-80001 A S 0122 2100A TTY MULTIPLEXOR TEST             H0101 %n ASMBAB G òUBNA̠ϠϠPSSҠHANN PҠU3BPHADҠHANN SPà HSPGAMSUSDϠADHŠɯϠPSS HUGHHŠNA̠PSSҠAD.ԠADS SNGŠHAASANDPASSSHMϠHŠɯ PSS"SBASàBNAYADҠNNŠƠH MMUNANHANNS. SPà PSàPҬàSAԠPHAD SSPҠAԠҠAHAA MP- APҠGԠHAAҠMPHAD SSòAԠҠɯϠPSSҠϠAK MP-PVUSHAA. Aò SàòàSԠAG MPPGԠNԠHAA ND ASMBABì̬ HD00AYMUPҠS GB SPà 00AYMUPҠS SPà NGUANAN00B SPà MPNGɠPAҠNGUAN SPà G00B MPSA SPà G05B DƠAMSԠDAVAABŠMMY SPà G0B àDƠNؠUVŠUNADDSS SPà ABŠƠSԠDSϠBŠMDD SPà SԠDƠ+ DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH30 DƠH3 DƠH3 DƠH5 DƠH6 DƠH DƠH50 DƠH5 DƠH53 DƠH5 DƠDH DƠH ASԠDƠ- SPà àABS- ҠDƠ+ DƠ0 DƠ0 DƠ03 DūGDƠ.0 ʲMP+ DƠ. 3MP+ DƠ.35 ʴMP+ DƠ. 5MP+ DƠ3 6MP+ DƠŴA SKP HDNGUAN G000B SPà NGUAN NGUSHADA NGUSɯϠHANN ADSNNA̠SHGS SPà NGà0 A0 SZA 33SBҬɠGA̠DAANɯϠBUS.SHUD ABŠZ.BUSDAANA-G. SAϠSAVŠSHGSҠNNS ANDABS0-5ƠS-G SASAVA SZASSSS-G0? ŷSBҬɠNԬPASŠNҠɯϠH. NPADADDSSBPSSUN. DA ANDMSK6 SZASS ŷSBҬɠNԬPASŠNҠSà NPADADDSSBPSSUN. DBSԠMDYɯϠNSUNS SBSP NGDBSPɠPP DABɠɯ ANDP00HANN ҠSAVA SAB PBASԬɠNSHD? MP+3YS SZSPN MPNG SPà Ԡ00HADAŠNAZD SPà A SANS Ԡ00NGUANMP SKP SA ADSAP̠HAS SPà SAԠà0 DBKH DAHԠADSAP̠HAS SԱSAB NB NA PBA000 SS MPSԱ MP.00GϠϠSԠS HDɯϠNAŠS ɯϠNAŠS SSNAŠN̠G SPà AGS SPà .00à0àDSABŠNS H0SƠH HSàH MPHPASS MPH3AGS? SPà HSSHPASS 03SBҬɠSSADϠSKPHɯϠAG MPHS SPà Q H3SSH MP0 0SBҬɠSàAUSDBADSKPHɯ MPHAGS 0SBҬɠSƠDDNԠSԠɯϠAG SPà HƠH H5SSH MPH6 MPH3 H6SàH 06SBҬɠSàADϠSKPHɯϠAG MP.0A H3SàH MP0 05SBҬɠSSAUSDBADSKPHɯ MP.0AGA 0SBҬɠƠDDNԠAҠɯϠAG SPà NUPԠNABŠANDDSABŠS SPà .0SƠ0 Sà0 MP.05PASS MP.06AGS? .05SS0 űSBҬɠSS0ADϠSKPHAG MP.0S .06SS0 MP0 ű0SBҬɠSà0AUSDBADSKPHAG MP.0S 0SBҬɠSƠ0DDNԠNABŠNUPS SPà .0Ơ0 SS0 MP. MP. .Sà0 űSBҬɠSà0ADϠSKPHAG MP.5A .Sà0 MPű ű3SBҬɠSS0AUSDBADSKPHAG MP.5A űSBҬɠƠ0DDNԠDSABŠNUPS SPà SԠNUPԠAPABY SPà .5Ơ0 DA5 SADH H5SàH H6SƠH NPɯϠNUPԠNԠPD NP MP. SPà 3SBҬɠƠ0DDNԠNHBԠɯϠN SPà .DAʱ SADH DAHA DBHB HSàH HSƠH SƠ0 SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH SPà ű5SBҬɠNϠɯϠNUPԠVD MP.5 SPà .0NP Ơ0_DSABŠNUPS H50SàH MP+ ŲSBҬɠAGƯƠSԠBYAK DAʲNԠUN SADH SƠ0 NPS-SHUDNԠNUP NP Ơ0DSABŠN DA.0 PAADDS SS ű6SBҬɠNUPԠADDSSSN SB.0HANGŠNY MP.5 SPà .Ơ0 űSBҬɠɯϠNUPԠAKDDNԠK SPà GA̠SԠDŠS SPà .5à0 HƠH A NA .PADH NA SASAV DASñ ANDP00 ҠSAV SASñ SñSƠS HSSH MP. DASAV B 3SBҬɠBADSPNDSGAY NԠSԠD GA̠DŠNA-G. .DASAV PAA MP.9 NA MP. SPà SԠN̠S SPà .9DA6 SADH DAHA DBHB H5SàH H53SƠH H5àHSHUDAҠN̠ SƠ0NAB NPS-SHUDNԠNUP NP MP.30 SPà ŴAƠ0 ŴSBҬɠàDDNԠAҠɯϠN̠ SPà .30DA3 SADH DAHA DBHB H9SàH H0SƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPS-SHUDNԠN NP MP.0 SPà .35Ơ0 Ų0SBҬɠà0DDNԠAҠɯϠN MP.0B SPà NNA̠ANDNA̠PSԠS SPà .0DAHA DBHB HSàH SƠ0NABŠNS SPà H00HԠ00BPSSNNA̠ANDNA PSԠAND 4UN. SPà HSSHSAGS? MP+N Sà0YSSNԠSYSDSABD? ŲSBҬɠNNA̠PSԠDDNԠDSAB NUPS. MP.YS Sà0 MPŲ3 ŲSBҬɠNA̠PSԠDDNԠSԠAG MPH3 Ų3SBҬɠNA̠PSԠDDNԠSԠAG ANDNNA̠PSԠDDN DSABŠNUPS. MPH3 .DAʴ SADH DAHA DBHB SƠ0NABŠNS NPS-SHUDNԠNUP NP Ơ0 MPH3 SPà .Ơ0 ŲSBҬɠNA̠PSԠDDNԠA N̠B. SPà H3HԠ3BNSA̠ɯϠMPؠSԠNN SPà A MAADA-GA̠'S HBHADNMPؠUPUԠG PBA MP+PASS Ų5SBҬɠNA̠PSԠDDNԠS UPUԠGϠMAKSAŠ NPUԠGSDPPNGBS. PDDAA-A-G AUA̠DAA---B-G .50A HAHUPUԠA̠ZS H5BH PBA MP+PASS Ų6SBҬɠHҠUPUԠGҠNPUԠG PKNGUPBS. PDDAA-A-G AUA̠DAA---B-G MA H6AHUPUԠA̠'S HBH PBA MP+PASS 3SBҬɠHҠUPUԠGҠNPUԠG DPPNGBS. PDDAA-A-G AUA̠DAA---B-G SBSל3ɬɠPNS? MP.50YS DAH SADH MP.00NϬGϠϠNԠS HDDAAMNA̠ADYS DAAMNA̠ADYS SPà .00DAN SANԱ H5SàHUNND SBM5ɬɠDAY H9àHUNƠD SBM5ɬɠDAY SZNԱ MPH5PA SBSױ3ɬɠPNS? MP.00YS MP.300 HDPMUŠUPUԯNPUԠDAAS PMUŠUPUԯNPUԠDAAS SPà .300A H0AH HBH PBA MP+ 30SBҬɠPMUDUPUԯNPUԠDAA PDDAA-A-G AUA̠DAA---B-G SZA MPH0 SBSױ3ɬɠPNS? MP.300YS MP.00 HDAGSAGŠƠS AGSAGŠƯƠS SPà .00Ơ0DSABŠNS H6ƠH B SBɬɠAGS? MP+YS Ŵ0SBҬɠKDDNԠSԠAGҠAG SAGŠƠDDNԠS. SBSױ3ɬɠPNS? MP.00YS H3ƠH NP NP HSàH 35SBҬɠAGSAGŠƠDDNԠS SPà SBSױ3ɬɠPNS? MP.00YS MP.500PASS SPà HDSAҠS SAҠS SPà .500DAϠSԠPPҠ A SSABԠS MP.506HZ A SSABԠ0S MP.503HZ A SSABԠ9S MP.530HZ A SSABԠS MP.509HZ MP.550HZ SPà .50DAñ6HZ DBHñ MP.560 SPà .50DAf)ò3HZ DBHò MP.560 SPà .530DA3HZ DBH3 MP.560 SPà .50DAô9HZ DBHô MP.560 SPà .550DA5HZ DBH5 .560SAñBGNS SBò .56DAN50 SANԱ HƠH H9SSHSYNàSA MP- H3ƠH B SBMP .56SZMPPUN H30SSH MP.56PMAYP H3ƠH SZNԱ MP.56SNDAYP DAñMPAŠҠM DBMPPUN ADBA SSBSHUDBŠPSV ŴSBҬɠSAҠѠϠHGH DAòMPAŠUPPҠM DBMP ADBA SSBSSSHUDBŠNGAV ŴSBҬɠSAҠѠϠ SBSױ3ɬɠPNS? MP.56 MPNDNϬԠS HDND ND PVDSUNϠUVŠPGAM MNASDAGNS SPà NDMPì NؠHԠB MP- HDSUBUNS S SSHҠNNA̠ҠNA̠SHGSS SPà SҠNP AADS-G SA MP+ƠAUSŠNA̠S-G DANSҠƠA0USŠNNA̠S-G MPSҬɠUN SPà AGS AGSԠBŠMUԠN+ MUԠBŠAGSԠN+ SPà ԠNP HSSHAGS? MP+ MPԬɠYSN+ NBSZBN.MUԠY? MPHN.PA SZ NP MPԬɠYS.MUԠBŠAGN+ SPà Sױ3 SH3S--PNUNԠS SPà Sױ3NP DBSױ3 NB SBS ANDMSK3 SZA MPSױ3ɠ{G  24203-80001 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A ASMBAB̬ì HDHP00AADGŠDSàMMYDAGNS DAGNSàҠMVNGHADDSKDVŠANDN NGUANADDSS SANGADDSS00B SHGSҠDUNGNGUAN BS0-5SԠDŠҠHŠɯϠHANN̠NANNGH YP BS6-SԠDŠҠHŠɯϠHANN̠NANNGH DAANAŠҠHŠDS HŠMMANDHANN̠NAŠBADSHŠN HGHҠSԠD BS-3SPA BԠSԠϠZϠҠDMAHANN̠6. SԠϠNŠҠDMAHANN̠.(MAYNԠSԩ BԠ5SPA SHGSҠDUNGUN BS0-SPAS(USDBYŠNS BԠƠSԠϠNŬAҠYNDҠABŠAND PANABŠANDҠSԠHADS BԠ3ƠSԠϠNŬUŠPAҠDSGNPGAM BԠƠSԠϠNŠANDBԠSԠϠNŬU ŠADDSSSԠ(S0 BԠ5ƠSԠϠNŬSHNSԠNSS3S5ANDS6 BԠ6ƠSԠϠNŬSԠYNDҠSN BԠƠSԠϠNŬPAԠASԠSN BԠƠSԠϠNŬMUPŠDVSAŠϠBŠSD BԠ9ƠSԠϠNŬHAԠAҠAHSNƠH PGAM BԠ0ƠSԠϠNŬA̠NN-ҠMSSAGSҠH YPŠ̠BŠSUPPSSDPԠUN PANMSSAGSANDH5 BԠƠSԠϠNŬA̠MSSAGSҠHŠYPŠ BŠSUPPSSD BԠƠSԠϠNŬHAԠAԠNDƠS.ƠN ADDNBԠ0ANDBԠAŠSԠϠZϬ MNGMSSAGS̠BŠPNDNSANDS5 BԠ3ƠSԠϠNŬPNASԠPAN BԠƠSԠϠZϬPGAMHASAҠAH BԠ5ƠSԠϠNŬPGAM̠MŠϠANDY HA G MPNGɠNGUŠPGAM G00B MPSAD G05BϠDNŠNDNGADDSSҠSϠDUMP DƠPNDNDNGANƠPGAM G0B NDƠHϬɠUNPN(ASUSD NUPԩ GB UNԠPAN(PADDSS PҠNP SAPNAPU ADBD9UN MPPҬɠADDSS AU0AGSҠADDSS BUBGSҠADDSS àU0HSSYMB̠SUSDAԠA̠PAS HŠHŠMMANDHANN̠NUMB SSD HU0HSSYMB̠SUSDAԠA PASHŠHŠYP HANN̠NUMBҠSSD DàU0HSSYMB̠SUSDAԠA PASHŠHŠDAAHANN NUMBҠSSD DMAàUDMAN̠HANN̠(Ҡ3 DMADUDMA+DMANUPԠHANN̠(6Ҡ SϠU0BNYADDSSҠSϠSԠUPU SZƠU0APPASHŠANŠDPNDS NHŠSҠSZ. ANBSS BDBSS BPABSS BUADBSSPMAYBUҠADDSS BUAŠBSSSNDAYBUҠADDSS ÷Ԡ0 HAҠBSS NԠBSS H3NP HԠ0 ADBSS NSנBSS PNNP PNԠBSS PNԠBSS SAVŠBSS SҠBSS VԱBSS VԲBSS V3BSS Y̠BSSYNDҠNUMB YؠBSS DñԠ0 DԠBSS DMƠBSSDMAҠNDA àBSSASԠҠNUMB SԠeBSSUSDNS5 6BSS AGBSS SAVŠBSS GBBSS GBBSS GB3BSS GBBSS GB5BSS GB6BSS HDNԠ0 HADԠ0BS-0HADNUMB HAGԠ0 SԠBSS KMSDà-000 AB̠BSS ABàԠ0 BPBSS BPBSS NԠBSS A̠BSS AMBSSASԠDƠAVAABŠMMY MNԠBSSMSNDUN MNҠBSSYSHNMSND NɠBSS NUMPDà PNԠBSS PSԠBSS PASSBSSPASSNUMBҠSDH PNԠBSS PNABSS PAGBSS PADBSS PSAVŠNP PSҠBSS SAԠBSS S00DƠS0 S0BSS S6NԠBSS SAV6BSS SNBSSUNԠSNNUMB SҠԠ0SҠHŠUNԠPAN ̠SA SAGBSS SHASBSS SAUSBSSDVŠSAUSSDH SƠBSSҠPNҠҠZϠƠN MPBSS MPBSS MP3BSS MPBSS MP5BSS UNSDƠUNA UNAԠ0 BSS3 UNàԠ UNԠԠ0 VA̱BSS VA̲BSS VAUŠBSS NԠBSSPSVŠDUNԠ UNԠPAN D0DƠ DBSS DBSS D3BSS DBSS SKP D0Dà0 BDà B0UB DUB DDà ̠UD BԱUD D3Dà3 B3UD3 DDà BԲUD BUD D5Dà5 D6Dà6 DDà BUD DDà B3UD B0UD D9Dà9 D0Dà0 DDà DDà D3Dà3 B5UD3 DDà B6UD D5Dà5 BUD5 BԴDà6 B0UBԴ DDà BUD DDà BUD D9Dà9 B3UD9 D0Dà0 BUD0 B5Dà B6Dà D3Dà3 BUD3 B30Dà D5Dà5 B3UD5 B3Dà6 B3eK3Dà DDà B3UD D9Dà9 B35UD9 D30Dà30 B36UD30 B3Dà3 B0Dà3 B5UB0 D3UB0 BDà33 D33UB BDà3 B3Dà35 D35UB3 BDà36 B5Dà3 B6Dà3 BDà39 D39UB B50Dà0 B5Dà B5Dà B53Dà3 B5Dà B55Dà5 B56Dà6 B5Dà B60Dà B6Dà9 B6Dà50 B6Dà5 B65Dà53 B66Dà5 B6Dà55 B0Dà56 BDà5 D60Dà60 B00Dà6 B6UB00 B03Dà6 B0Dà6 DDà D95Dà95 D05Dà05 B000Ԡ000 BԷԠ00 BԸԠ00 B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 B6Ԡ6 BԠ BBԠ000 ÷6Ԡ6 ƠԠ6 D6Ԡ36 DԠ3 Ʒ6Ԡ56 H6Ԡ6 HԠ HAԠ000 HBԠ00 HàUBԸ MPɠԠ6000 SBSBұ NNԠ000 P00Ԡ00 P00Ԡ00 P6Ԡ6 HԠԠ06003 HԲԠ0600 HàԠ000 YYԠ300 BԠ BԠ B3Ԡ3 BԠ B3Ԡ3 B30Ԡ0030 D00Dà00 DUBԷ D9Dà9 D0Dà0 D03Dà03 D56UBԸ D3Dà3 D35Dà35 D5UB9 B6000Ԡ6000 D000Dà000 D330Dà330 D0UBԱ0 D30Dà30 PAGŸԠ6000 MMDà- MMUP6 MMDà- MM5Ԡ-5 MMDà- MM0Dà-0 MM3Dà-3 MM6Dà-6 MM3Dà-3 MMԠ-60 MM56Ԡ-0 MM5Ԡ- MM6UP00 MM00Dà-00 MDà- M56UP00 M30Dà-30 M000Dà-000 M0Dà-0 M936Dà-936 ASD0ASà.0 ASZZASà00 BPҠDƠBUBŠBU BPSDƠBUB+0ADBU BPϠUPAGŸSAԠƠPDSNPGAM DMAנABS0000B+D AS0ASàS0 ASASàS ASASàS AS3ASàS3 ASASàS AS5ASàS5 AS6ASàS6 ASASàS SKP BASŠPAGŠNKSANDPNS ADDɠDƠADD ADDSDƠNP+ NGDƠN NVPDƠNV NPDƠN ɠDƠ YɠDƠY DDDDƠD0 DNŠDƠAGANԠMPDSN HϠDƠHS ҠDƠ àDƠ ҠDƠ AKŠDƠAKŠUSDNHK ҠDƠBN SKɠDƠSK PDNɠDƠPDSN P00ADƠ00A P003ADƠ003A P00ADƠ00A P005ADƠ005A P006ADƠ006A P00ADƠ00A P03ADƠP3A P03BDƠP3B P05ADƠP5A P0ADƠPA P03ADƠP3A P0ADƠPA P0ADƠPA P036ADƠP36A P00ADƠP0A P03ADƠP3A P0ADƠPA P05ADƠP5A P06ADƠP6A P0ADƠPA P0BDƠPB P0àDƠP P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ADƠP5A P05BDƠP5B P05àDƠP5 P05DDƠP5D P05ŠDƠP5 P05ƠDƠP5 P053ADƠP53A P053BDƠP53B P05ADƠP5A P05BDƠP5B P056ADƠP56A P060ADƠP60A P06ADƠP6A P06BDƠP6B P065ADƠP65A P00ADƠP0A PAҠDƠPAP PAɠDƠGBUSDNPHK PHKɠDƠPHK PMɠDƠM PM̠DƠM PVʠDƠV PPԱSBV PPԲSBV PPԴSBV PP5SBV5 PP6SBV6 PPԷMPDNŬ PPԸSBV PP9SBV9 PPԱ0SBV0 PPԱ3SBV3 PPԱMPV PPԱ5SBV5 P3NɠDƠPU3N ұDƠN NHɠDƠNH NSɠDƠNS SADDƠSA ԠDƠBP VDƠVP VDƠVP VDƠVP V5DƠVP5 V6DƠVP6 VDƠVP V9DƠVP9 V0DƠVP0 V3DƠVP3 VDƠVP V5DƠVP5 VA̠DƠVAU ADɠDƠADA SԠDƠɠ DƠS <DƠS DƠS3 DƠS DƠS5 DƠS6 HŠNGDSANDUASDMNŠHS SAUSSMMANDSSZS.HAԠMGH VAYBAUSŠƠDSGNHANGSAND. YHKԠ060000YàHKMMAND YPPUD03NUMBҠƠYNDSPҠPAK DBUBԸDVŠAKBԠҠADDSSS Y̠U0ASԠYND PAԠԠ30000ANAŠPSNMMAND PSԠԠ030000PSNMMAND ADàUBԱ3ADMMAND NŠԠ050000 SPԠUDNUMBҠƠSSPҠAK SASUD0SAUSMMAND PàUDNUMBҠƠAKSPҠYND BUB9ŠKUԠBԠҠADDSSS AԠ0000ŠADDSSMMAND àUBԱŠMMAND ABԠUB0ANYҠB BԱDAAҠB PBBԠUBԲDVŠBUSYB BԠUB3AGGDYNDҠB NBԠUBԴADDSSҠB BԠUB5NDƠYNDҠB NBԠUB6NԠADYB BԷNԠUSD SBԠUBԸSKHKB SBԠUB9SKNMPŠB BԱ0ASSHUNNGB BԱASSUNSAŠB BԱADŠUNSAŠB VBԠUBԱ3VҠUN SBԠUBԱSԠSKB BԱ5ANNB SSԠUDSҠHŠSNDHDSAS SԠUDSҠHŠASԠHDSAS ԠUD5+SZƠDUNԠҠSԠHD ԠUD5+SZƠDUNԠҠASԠHD NBUH HDK KUN HSUNŠSADHAUNԠƠMAHN YSUSDNHŠBGS. ԠUPDASHŠMSNDUN KNP KU r ADBD9ADDNMAHNŠYSUSDH DABPYϠBHGSS BAҠҠSUBSUNԠAS ADAMNҠKNMSNDUN SAMN ADAKMSHKMSNDUNԠV SSA MPK ADAD3ADUSԠҠHSSN SAMN ANA ADAMNԠADUSԠMSàUN SAMN DAN NAADUSԠAMSNDUN SAN MPKHAUSԠUN HDAND ANDMNUMBҠGNA HSUNŠGNASBԠPANS HŠDSKDAGNS.NϠAMSMADŠ SASA̠ANDMNSS. SHPANNA BUNHANGD UNŠUSS6MAHNŠYS ANDNP DABASŠADBAS ADAPMŠSUBAԠHŠPM SSASKPƠS̠PSV DABASŠPSBASŠNԠBGNUGH ŬADUBŠBASŠҠMAND SABASŠҠNԠY MPAND PMŠDà-3069 HSPMŠNUMBҠPSVY 306MSNSPA PANSN BASŠABS035B HDSKSSSHSAԬMMDDADϬAD UNSϠDϠMMNYUDPANS. AHUNŠSAҠADDNGϠBHŠNUMB ƠMAHNŠYSUSD. SKNP DAY̠PUԠYNDҠNUMBҠUԠB SBDADϠGVNGHŠMMAND DAPSԠADMMANDҠPSN SKSBMMDSSUŠMMAND SBAD DAHAD ҠHDNSԠSUA AƬAƠHADNUMBҠϠԠHA ҠSҠPUGNSҠNUMB SBDADϠUPUԠHAD-S SBAD ADBD9ADDNYSUSDAY MPSŢ640 AؠU SANԠSԠAKUN ADBD3MAKŠUPҠNYYS ASDU SBK ADBDYSNHŠP 05SSàSKPƠSKDN MPAS SBSAԠA̠ҠSAUS SBK MPAS ASѠU DANԠHKK SSASKPHNMDU MPASDKPPNG SBMàPŠUԠHŠADS SBPPPNԠUNԠPANMSSAG ű0SBҠNϠàAG SBADDɬ MPASɠUN AHASNUGHMŠҠHAD SHNGϠU. AHNP DAAHADUNADDSS SAASSAVŠҠUN DAMMAנϠMSNDS MPA ASASMŠҠSҠSHNG U. ASUAH HDSKSHSS SKSHSS PMSBSKҠSH SBASҠAH SBHK HPDSAUS0 SKNP SBSKPMSK SBASAԠҠSKϠMP SKDASHAS SASAVŠSAVŠSAUS-PDҠH APAN SASHASPDSAUSҠSKS0 SBHKHKSAUS DASAV SASHASSŠPDSAUS MPSK SSU SHNP SBSHSHHADS SBAHAԠҠHADSϠSH DASH SASK MPSK 6  24203-80002 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDPPҬBKSҬPNԬYKH PPNPUNŠϠPNԠP DAPN SBPNԠUPUԠMSSAG DAPNADHAԠD MPPP PԠҠMSSAGS USSSϬSҬBK HŠUNADDSSSUSDϠKUPHŠADDSSNGHAND NUMBҠƠHŠҠMSSAG ҠNP Ơ0DSABŠNUPS B ADB DAҬɠNDҠNUMBҠBASDNN ҲU PBAɠADDSSANDAB MPұUND NA PAҬ MP00BPGAMҬPAGŠ0MAYB PDU. MPҲ ұU ADAì ADAMM SA SBPNԠPNԠMSSAG DB ADBMM- SSBSKPƠҠNUMBҠGҠHAN SBHԠHKҠHA MPҬ BK ƠYSUPSSDUN ƠYNԠSUPSSDSKPNԠNSUNNUN USSS BKNP SBS ANDBԱ SZASYSUPSSD MPBKɠYS DABKN NA MPA S NPUԠSHGSҠϠA-GS SҠNP A MPSҬ PN AҠNUMB PNԠNP SAPSAV SBBK MPPNԬ DAPSAV DBA ADBPMɬɠMSSAGŠADDSS DBB ADAPM̬ɠMSSAGŠNGH DAA SBSϬɠUPUԠMSSAG MPPNԬ YK UNƠYNԠAVAABŠҠNN-ҠMSSAGS NMNԠUNADDSSƠPNUԠK YKNP DBYK NB SBSҠADSHGS ANDB6000 SZASYAVAAB MPYKjɠNϬABԠPNU MPBɠYS H SSHAԠBԠ(BԱAҠ USSS HԠNP SBBKYAVAAB? MPHN DA̠YS DB SBSϬɠPNԠBANKN HU SBS ANDBԱ SZAHA? MPHԬɠN DAàYS HԠ MPHԬ HDDNDNDNSҴ DN NVSDMA̠NGSϠAS AVAUŠNNPU NVԱSԠϠDGSN NVԲSNDϠDGSN DNNP BB- DPADAM000ASSUMŠNGҠSSHAN0000 NBUNԠUPHUSANDSPA SSASSSKPHNBGS MPDP ADAD000S BƬB ADBMM DPADAMM00 NBUNԠUPHUNDDSPA SSASSSKPHNBGS MPDP ADAD00S ADBASZZ SBVԱ BB- DP3ADAMM0 NBUNԠUPNSPA SSASSSKPHNBGS MPDP3 ADAD0S BƬB ҠB ҠASZZ SAVԲ MPDN DN SŠNŠDƠNVDAAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԲS SAA̬ɠNϠMSSAG MPDN DN SŠϠDSƠNVDASANGAԠB DNNP SBA̠SAVŠPN SBDNNVԠϠAS DAVԱS DBA̠ SABɠDS NBN DAVԲMSSAG SAB MPDN SҴ NPUԠSHGSҠƠSAG0(SSS3 USŠS[DVSNƠSAG(SS5S6 SҴNP DASAGSAG? SZA MPSҴAN SBSҠYSUSŠSHGS MPSҴ SҴADAS00US ADAUNԠSD DAAɠVAU MPSҴ HDDHKHK HŠDHKUNŠSADAҠAAD. ԠMPASHŠADANDŠBUS. HŠHKUNŠSADAҠA. ԠHKSNYHŠSAUS. HŠؠANDZNSAŠUSDBYH HҠUNSϠDϠHҠSAUSHK. HŠPHKUNŠSADAҠAAD. ԠMPASHŠADBUҠϠAPAND. HŠHKUNŠSADAҠAAD. ԠHKSHŠHKSUMMDSҠN HŠADBU. HYMPAŠHŠUNԠSAUS(SAUSHH PDDSAUS(SHASBYANGHŠANUN. HŠUNSGVŠANMA̠UNƠNϠSA DD.ƠANҠUSHŠUNSGNAŠAN ҠMSSAGŠANDHKҠHAԠҠNNU. DHKNPϠHKҠSN ADANDϠMPAŠAD ANDŠBUS DADHKADUNADDSS SAHKSAVŠҠPSSBŠA MPASHŠBUADANDBUAŠBUSUSNGN ҠBUҠNGH. DABUADADSԠBUҠADDSS SAMP DABUAŠADSNDBUҠADDSS SAMP DAN MANA SAMP3SԠSZUN DMU DAMP PAMP MPD̠UA̠MPA DAMP3 ADANԠGNAŠAVŠAN ű0DBP0AADPN SBDNA̠NVԠUN DAMPɠADHAԠDSHUDB DBP0àADPNҙ SBNPɠA̠NVԠANDMVŠUN DAMPɠADHAԠDAUAYAS DBP0BADPN SBNPɠNVԠϠAS DANUMPDMN ADAMMPNUԠUN SZASS MPDAƠAVŠAԠAND SANUMP ŴSBҠDAADؠSYYYYYYSHUD BŠZZZZZZ MPD DAU DBBDAADؠSYYYYYYSHUD BŠZZZZZZ SBàSAVŠҠH SBS MPZGϠANAYZŠS D̠U SZMPUNԠUPBU SZMPADDSSSAND SZMP3HKҠMPN MPDM DBNԠD9N BƬB ADBN BS ADBN ADBD6060YS SBK MPؠBUSKAYNMA̠SAUSHK SKP HKNPϠHKҠSN NN-ADPANS DBD3YSϠBŠUSD SBK ؠU SBANA̠ҠMPA SZASKPƠNϠ MPZPԠ DADMƠHKҠDMANԠNSHD SZASSSKPƠ MPUԠUNƠNϠUB SBPPPNԠUNԠPANMSSAG SBDMѠPNԠDMAҠMSSAG UԠSBADDɬ UԠSBSҠNPUԠSHGS SSA HԠHAԠƠBԠ5S HŠPUNŠSADϠSŠ HŠSNUNYNUNSϠBŠSADV ҠSϠNNUŠN. DBD SBSҠNPUԠSHGS ANDBԱ3HKҠPAԠPAN SZASSSKPҠP MPHKɠNϬNNU MPPҬɠPBAK ZU SBPPPNԠUNԠPANMSSAG SBDMѠHKҠDMA SBANHKҠSAUSS SZASKPƠSAUSKAY SBPNԠPNԠUԠҠMSSAG DASƠHKҠBUҠS SZASKPƠNϠSUHS SBPN B SBSƠAҠUԠPNҠD MPU HDAN ANNPUNŠϠPMҠANA. DASAUS ҠSHASSA̠ASSHUDB SZASS MPANɠVYHNGSN DASAUSADUNԠSAUS DBP06AANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV DASHASADHAԠSAUSSHUDB DBP06BANDADDSSҠAS SBNPɠNVԠϠA̠ANDMV 6DAB6SAUSSؠSHUDBŠ SAàSAVŠҠH AMUSԠBŠNN-ZϠAԠHSPN MPANɠUN HDDGN DGN HSGDYSUPHŠBUҠHAנANDMDAA USSNԠASANGH USSBUADҠADDSS DGNNP DAN MANA SAMPNGAVŠDUN DABUAD SAMP DG̠U SBANDGԠANDMNUMB SAMP SZMPUNԠUPADDSS SZMPUN MPDG DBN BS ADBN BSBS ADBN BS ADBNԠN ADBD9YSUSDUSDŠP SBK MPDGN HDDMҬDM HSŠUNSSԠUPDMAANDSAԠHŠDAAHANN. HŠDMҠUNŠSSUPAADNϠHŠNPU BUҠ(ADDSSNBUAŬUNԠNNԠ HŠDMנUNŠSSUPAŠMHŠUPU BUҠ(ADDSSNBUADUNԠNNԠ DMҠNPSԠUPDMA7ADPAN DADMAנADDMAMMANDD DM6AADMADϠDAAHANN DMAàDMAàPPAŠϠADADDSS DABUA ҠBԱ5ҠNDNB DMBADMAàUPUԠMMYADDSS DMàSàDMAàPPAŠϠADUN DANԠADDUN MANASMPMNԠSUSDBYDMA DMDADMAàUPUԠDUN D05SàDì DM6BSàDMADàSAԠDMAHANN MPDMҬɠUN DMנNP DADMAנADDMAMMANDD DM6àADMADϠDAAHANN DMŠàDMAàPPAŠϠADADDSS DABUADAND DMƠADMAàUPUԠMMYADDSS DMGSàDMAàPPAŠϠADUN DANԠAND MANAUPUԠSMPMNԠ DMHADMAàDUN D06SƠDàMAKŠSUŠSѠSHGH DM6DSàDMADàSAԠDMAHANN MPDM׬ɠUN HDAD ADAND HSŠUNSAŠADϠNAZŠA DMAANSSϠANDMHŠDSK. HYASSUMŠHA HŠDUNԠSNN ADASSUMSBUҠADDSSNBUA ŠASSUMSBUҠADDSSNBUAD ADNP SAPN(UNԠPAN SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPADɠUN ŠNP SAPN(UNԠPAN SBDMנSԠUPDMAŠPAN DAàADŠMMAND SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS MPŬ HDDMA HSSNSHUDBŠADҠAHANSҠUSNGH DMA.ԠNNUUSYHKSҠHŠAGϠBŠSԠNH MMANDHANN̠HŠMNNGHŠDAAANSҠAND HÏKNGҠVM. DMAԠNP DAM30Aנ30MSNDS MUSԠAנMŠҠANY USANDNGSKS NSH SANԠSԠAK DMɠADMAàADUNԠDUN SAMPANDSAVŠԠҠMPASN DBD DMB̠U ADBD SBHKA̠AGHK DMʠADMAàADUNԠDUN PAMPHKҠSAԠƠPAN MPDMB̠ƠPANHASNԠSADDAA ANSҬP DBNԠADDUNԠAND ADBD3ADDNYSUSD HSANSUSDBYUNSHA MUSԠNUPԠHŠDMAANS. DMSPNP DMS̠U ADBD SBHKNNUŠϠHKAG MPDMS MàNP DM6ŠàDMAD DM6ƠSƠDMADK̠DMAANS 06à DñàD DòSƠD MPMì HKNPUNSAUNDHKNGҠND ƠPANAG. MSUԠHNNԠGSPSV ADBD3 SBK DANԠHKҠMU SSASS MPUԠMŠU 0SS MPHKɠNϠAGY.USԠUN DM6GSàDMADSKPƠDMANԠDN MPDNVYHNGSAGH DABԱ5ANSҠNԠMPŠB MPؠA̠DUNԠNV DNU DBD6ADDNYSUSDAY SBK MPDMAԬɠUN UԠU ANA DM6HSSDMADHKҠAGNDMAHANN ҠBԱ5ANSҠNԠMPŠB ؠU SADMƠSAVŠҠAҠHK SBMàUB.BMBUԠADS DMKADMAàADUNԠDUN ADANԠMAKŠNϠPSVŠD1UN ANDBMASKƠUPPҠHŠBS DBP03AADPNҠҠASɠS SBDNA̠NVԠUN MPDMAԬɠUNANDAԠҠVD DMѠNP SBYK MPDMѬ DBDMƠHKҠAUA̠ SZBSSSKPƠҠNDNSS MPDMѬɠԠƠNϠ SBSKPƠNԠMŠU űSBҠNϠMMANDAGNDMAPAN DBDM A SADMƠAҠҠNDA SSBSSSKPƠDMAAGASNԠS MPDMѬɠUN DANԠADHŠPDDUN DBP03BADPNҠҠASɠS SBDNA̠NVԠUN ű3SBҠؠDSANSDYYYY PD MPDMѬɠUN HDHAҬDHAҬHAҬHNH3 HA GԠNԠNN-BANKHAA NԠSKPƠBUҠMPY HAҠNP HAұSZNԠDN? PP3SSN MPHAҬɠYS DABPAɠYD SZS MPS AƬAƠUSŠԠHA MPU SàBUSŠGHԠHA SBS SZBPABUMPDPN UԠANDB3 SAHAҠSAVŠ ҠB0SԠBANK SZASSSKPƠN MPHAұGNŠBANKS DAHA SZHA MPHAҬ DHA GԠDMA̠VAU SKPSNԠƠNԠDN DHAҠNP DAMM5UPPҠM DBVA̠PNSϠVAU DHұSAVA̲ SBVA̱ DAMM SADԠDԠ- ANAZŠϠZ DHҲSAVAUŠSŠVAU SBHAҠGԠNԠHAA MPDUԲDN ҠB5SHAA SZASSAMMA MPDUԱYSDN DAVA̲HK ˁ SBKVADYƠHAA MPDUԲBAD SADԠDԠ- DBVAUŠKBUD BƬBҠUP ADBVA̱ɠVAU ADBVA̱ ADAB MPDHҲNNU DUԱSZDHAҠNMA̠ DUԲDAVAUŠҠҠNDƠADBU MPDHAҬ HA GԠA̠VAU SKPSNԠƠNԠDN HAҠNP DAHA SADHAҠSԠUN DAMM56UPPҠM DBDDDPNSϠD0 MPDHұ KNPHK ADAHAҠVADY SSA MP+3HAA ҠSBH3BADNPU MPK DAHA ADAMMҠM SSA MP SZK MPK HN NPUԠMY HNNP DADHAAҠUN DBBNABUҠADDSS SB0BɠYNPUԠDV SZASSŠZϠDSNPU? MPHN+YSYAGAN MA SANԠSAVŠHAAҠUN A SASԠAG- DABNA SABPASԠPN MPHN BNADƠBUB H3NP DAB3BADNPU SBPN MPH3 HDSU SU SԠUPUNԠSN SUƠNP SAP05AɠA SAP0Aɠ SAP03AɠDHK SAP036AɠD SAP0AɠS SAP05AɠD SAP06AɠD SAP060Aɠ MPSUƬ HDASK ASKPAҠƠHŠSHSϠHANGŠAB ASKNP H5DAB5DϠYUSHϠHANGŠAB? SBPN SBHNNPUԠMKYBAD DABNAɠNPUԠBU ANDP00 ҠNN000BSSԠHAAҠN? SZASSSKPƠN 4MPASK ҠYY300BSSԠHAAҠY? SZA MPH5YAGAN SZASK MPASK HDSA G000B SA HKSADҠANDSUSHASNנ SAԠà0àUNVYHNG DA0BAUAŠANƠASԠD ADAMMƠMMYBנYDVҠAND SAAMSŠԠNAM SBYKSYAVAAB? MPAGANN A H0SBPNԠHP00AADGŠDSàMMY DAGNS AGANU DBB6K SBSH DB÷6K SBSH DBD66K SBSH DBƷ6K SBSH DBH63K SBSH űSBҠAҠADҠDSAB BM SBA̠U PBKSZA̠UN MP- NB PBB6 MPAGAN MPPBK SHNP SBA DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠSŠH? SSYS MPűNϬŠHASNDD SAA̬ɠSŠŠNN SZA̠YNԠAN DAA̬ɠSAVŠŠNN SBA̬ɠAMPԠϠDSY PBA̬ɠSADҠH? SSN MPUԠYS SAA̬ɠSŠŠNN MPSHɠUN UԠDBB3AP̠AN DAHԠAP̠HA PSAB NB NA PBB00AP̠HASMP? SSYS MPPNϬPA A SADMSPSԠDϠN-P SAUNԠNAZŠUNԠNUMBҠϠZ SAMN SAMN SAPASSSA SAN DABP SABUADNAZŠBU_AD ANA SAN BGNU ANAA_ SASNSAԠHSNN H35DAB35NA̠SAUS SBP DAHYP SBNVSNVԠANDS DADñDAAHANN SBNVS DA÷MMANDHANN SBNVS B SBA SZA̠DAYAנ MP-SHHŠϠBŠS DAHԲ SABKNGUAN DAUNԠSAV SAGBUNԠNUMB A SASHAS HPSBSKɬɠA NPSKPBMS DAUNԠNMN NAUNԠNUMB PADDN? ASS MPHPNϬNNU HPSBSKɬɠSԠANNBS MPHPNԠADY B HP9SA MPHP0 NB A PBD SS MPHP9 HPSBPP DABMSSNGҠDUPAŠANN SA SBPN SBADDɬ MPHP HP0PBUN SS MPHP HPDAUN NA PAD SS MPHP DAGB SAUN SAҠUSNA SBS ANDBԲSBԲS? SZAN SBYKYSSKPƠYAVAAB MPSNϠABԠHK DSBYɬɠPPAŠSYMB̠AB HDABYNDҠABŠNNS SBPN SBASKSHϠHANG? MPPAԠN H6DAB6YSNҠYNDҠNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD SSBDHAҠGԠDMA̠VAU MPSҠҠDN? SBSҠSŠNAB MPSNNU SDAN SZASSSKPƠ K;SBSҠDN MPD PAԠSBPAԱPPAŠPANAB HDABPANABŠNNS SBPN SBASKSHϠHANG? MPHDN H30DAB30YSNҠPANNUMBS SPAADBYMMAS SBPN SBHNNPUԠMKYBAD PSSBHAҠGԠA̠VAU MPPSҠҠDN? SBPSҠSŠNAB MPPSNNU PSDAN SZASSSKPƠ SBPSҠDN MPPA HDDAB6HSŠHADMDŻA0B3 ý0HN3 H6SBPN SBHN A SAHAG DABNA ANDP00 ҠHA000 SZASS MPHD ҠHB00 SZASS MPHD ҠHà00 SZA MPHD ANA SAHAG HDASS HDDAD SAHDN H3DAB3 SBPNԠSԠSH DAB3 HԠ SBS ANDBԲ SZA MPH3 SNϠU SBS ANDBԸSBԸS? SZASKPƠN SBYKYSSKPƠYAVAAB MPSSNϠAB H3DAB3NҠUNԠNUMB(0-3SPAAD BYMMAS SBPN SBHNNPUԠMKYBAD A SAUNàNUMBҠƠUNS0 DAUNS SAGB3PNҠҠUNԠNUMBS H3ASBHAҠGԠHAA MPH3BҠҠDN SAGB3ɠSŠUNԠNUMB ADAMMS SSAANGŠ0ѠؠѠ3 MPH3àK H3ŠSBH3BADNPU MPH3YAGAN H3àSZGB3BUMPPN SZUNàBUMPUN DAUNàPSSS dPADUҠNY MPH3DDN MPH3ANNU H3BDBNԠDNŠҠ? SZB MPH3Ҡ(AADYPD SZUNàBUMPUN SAGB3ɠSŠUNԠNUMB ADAMMS SSASSANGŠ0ѠؠѠ3 MPH3Š H3DU DAUNàS MANAUPNUMB SA6ƠUNS AZ SASHASPDSAUS DAUNSS SAGBUPPN H3ƠU DAGBɠADUNԠNUMB SAUN SBSAԠGԠSAUS DASAUS ANDNBԠSNԠADYBԠS? SZASKPƠN SBHKYSPNԠ SZGBNԠUNԠNUMB SZ6DN? MPH3ƠNϬNNU DAUNASHNUMB SAUN H33DAB33SԠSH SBPN DAB33 HԠ SBSҠSBԸS? ANDBԸ SZA MPH33N SSNϠU SBS ANDB3 SZASBԠ3S? MPPDNɬɠYS DASNADSNNUMB ADASԠADDNPN SBAɠA̠SN DAHà000 ҠSNSNNUMB SASHԠHAԠBNSNS SBSҠHKҠHAԠAԠNDƠSN ANDB9 SZA SHԠNP SBSҠHKҠSԠPA ANDBԷ SZASKPƠNϠPA MPSAҠPAԠASԠS DBSNUNԠUPSNNUMB NB SBSN PBDSؠSNS ANASS MPSA ADAPASSNMNԠPASSNUMB SAPASS SBYK MPHHH DAPASS DBP065ANVԠPASS SBDNNUMB DAB65 H65SBPNԠTRNPASS HHHSBSҠHKҠHAԠAԠNDƠS ANDBԱ SZA HԠB MPN HSMPBGNUNSԠV =gT  24203-80003 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A SKP SADƠ+ DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH5 ASADƠ- NVS NVԠHANN̠NUMBҠϠASɠANDSŠN MSSAGSMHUGHM.NAZŠH HUGHH3ϠHANN̠SԠD NVSNP SAA̠SAVŠSԠD SBNVPɠNV DAV3ASԠSGNANԠDGS SAP00AɠS SAP003AɠN SAP00AɠMSSAGS SAP005A SAP006A SAP00A DBSA SBGBSAVŠSԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBASAɠDN? MPSԠYS SZGB MPB S SԠHANN SԠU à0àNAZŠɯϠSYSM DAM0PUԠGA̠DS H5AHMMANDNA HƠHAҠHANN̠AG HSSH SS ŲSBҠƠҠSSADNHANN̠ H3ƠHYAGAN HSàH 3SBҠSàADHAGA-H. H5SƠH H6SàH SS ŴSBҠSƠҠSàADNHANN̠ HSƠHYAGAN HSSH 5SBҠSSADHAGSԠ-H. SԠNUPԠAPABY DAH3 SAGB DASBSԠUPNUPԠAP SAH3 H9SàHSԠHANN̠ϠUS H0SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN !}DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 6SBҠNϠNUPԠNHANN̠ MPH NNPNUPԠSUBUN Ơ0DSABŠNUPS DAGBAP̠HA SAH3 SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠNUPS DANDDNUPԠUҠAԠH PAADDSԠMMYAN SS ŷSBҠNԠUNADDSS-H. HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NABŠNUPS NPSHUDNԠNUP NPH à0UNVYHNG DAGB SAH3 Ơ0 MPNVSɠYS HDS0-SN0(AD UNŠϠŠADDSSSNHŠDSKAND HKUԠA̠HŠPANSHAԠHAVŠϠDϠH PAKADDSSNG. UNŠASKSҠVDŠSHϠBŠSԠNHŠDU. SPUGBANҠPɠANDDɠBS ҠUGBM ADNPNYҠŠADDSSUN DAAS0 SBSUƠUNԠSN DAD30+SZƠŠU̠YND SANԠDUNԠҠNŠAK DABP SABUADNAZŠBUҠADDSS DABPSADADBUҠADDSS SABUAŠSԠPN SBYKSYAVAAB? MPHAN DAB66YS SBPN HADAB66SԠVDŠSHPUSHUN HԠ PAŠŠKUԠBSNYNDҠZ PAŠDVŠYNDҠBSNYNDҠN AԠYNDҠZϠHNND. DABADŠKUԠB SASP SBDGNGNAŠBU SBADҠŠADDSSSNϠDSK DABԠAGGDAKB SASHASHAԠSAUSSHUDB DAD+SZƠADN SANԠS SBADҠADBAK DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABYàHKNAD SAPN DADNŠS SBDAD DAYHKYàHKMMAND SBMMDUPUԠMMAND SBASAԠҠMPN SBHKHKSAUS A SASHASHAԠSAUSSHUDB ANA SAY̠SԠϠYNDҠN DAD30+SZƠŠU̠YND SAN DABSKNS0 SBP SBSKSKNS0 DADBADDVŠAKNDA SASP SBDGNGNAŠBU SBADҠŠNϠDSK SBYKSYAVAAB? MPHBN DAB6YS SBPN HBDAB6AҠVDŠSHPUSHUN HԠ ADANDHKҠDVŠYND A SASPNϠMŠBS DAD+SZ SANԠSԠDUNԠҠNŠS DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 HDABADDVŠAKNS0 SBAD DABԠAGGDAKB ҠNBԠNԠUND ҠAB SASHASHAԠSAUSSHUDB DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKҠDVŠY. ŠANDHKҠŠKU A SAY̠SԠϠYNDҠZ DABSKNS0 SBP SBSKSKNS0 HDABŠPŢDAKNS0 SB DABԠAGGDAK ҠAB SASHAS DADMƠMASKU ANDHDMADDNԠNSH SADMƠAG SBHKHKSAUS ŠADDSSANDHKҠKU DABSKNS0 SBP SBSKSKNS0 SBDGNGNAŠBU DAD30+SZ SAN SBADAŠADDSSS DADMƠMASKU ANDHDMADDN SADMƠNSHAG SBHKHKSAUS A SASHASHAԠSAUSSHUDNMAYB SBYKSYAVAAB? MPHàN DAB66YS SBPN HàDAB66SԠVDŠSHPUSHUN HԠ A SAHADSԠHADZ ̠U SAY̠SԠNנYNDҠNUMB HŠNGPANSASKHA AUSSPSNҠMN. DABSKNS0 SBP SBSK SBDGNGNAŠBU SBASAԠҠSKMPN SBADҠŠANDADADDSSS DAD0+SZƠADBAKGHԠSS SAN SBADҠADBAK DAD30+SZƠŠU̠YND SAN ANANMNԠYND ADAY̠UNԠUPϠNԠYND PAYPPHKҠNDƠPAK SS MP̠NԠDNŬNSHPAK SBYKSYAVAAB? MPHDN DAB6YS SBPN HDDAB6AҠVDŠSHPUSHUN HԠ DAUNԠNV ADAB60UNԠNUMB SAP00AɠϠAS SAP00A SAP03A SBYKSYAVAAB? MPHŠN H0DAB0YS SBPN H$VŠDAB0UNKUNԠجPUSHUN HԠ H3DAB3UNԠؠNԠADYHKNS0 SBP SBSA DANBԠNԠADY ҠAB SASHASSԠHAԠSAUSSHUDB SBHK DAD+SZ SAN DAB5ŠNS0 SB DADMƠAנDMA ANDHϠN SADMƠNSH SBHKANDHKҠS NBU DAMM6PNԠVY SAҠ3SNDS SBYK MPH H0DAB0ADYUNԠ SBPN HƠDAM936 SANԠSԠMSNDUN ñ3ààSԠUP ñSàìàAGNHAD-AD NƠU ñSààSKPƠNԠADY MPñAGSS ADBD0 SBK DANԠHKҠMŠ SSAPNԠMSSAG MPN SZҠADYϠPN? MPHƠN MPNBYS ñBàANNBS DAB SZBSS SBPNԠMSSNGANNBS B A SAY SAHAD SAS DAB SBPҠSKNS0 SBSK SԠSԠSKB DASB ҠAB SASHASPDSAUS000B SBAS SBHKVYSAUS A SASHAS SZY̠HANGŠYNDҠNUMB DAB5 SBP SBSSADDSSDNS0 DAD+SZ SAN AҠNנDSMPSN. AAD̠SHנASAUSƠB DAB SAPNADNS0 SBDMҠSԠUPDMAADPAN DAADàADADMMAND SBMMDUPUԠMMAND SBDMA SBYK MPHG DAB HSBPNԠHn$"PSSPSԠHNPSSUN HGDAB HԠ SBSA HŠNGSԠVSHŠPPϠN SBHK MPADɠUN UNŠSADDSSSNϠDSKAND ADSHMBAKϠHK. ASDMAԠҠDMAPANS ADҠNP SBADAŠADDSS SBHKHKҠS MPADҬɠUN ADANP H36DAB36ŠADDSSNS0 SAPN SBDMנSԠUPDMAŠPAN DAAADŠADDSSMMAND ҠSPPUGNPɠANDDɠBS SBMMD SBDMA SBSAԠGԠSAUS MPADA ADBAKADDSSSANDMPA ADҠNP DAB5ADDSSDNS0 SBP SBSHADDSSDNS0 H3DAB3ADAҠŠADDSSNS0 SBADADBAKDAAD SBDHKHKAD MPADҬɠUN MԠDUN-AVDBMBNGDV DGNNP DAD0+SZ SAN SBDGNGNAŠBU DAD30+SZ SAN MPDGN b$  24203-80004 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS-SN SN HSSNNSSS ASAUSHK ADSADƠUSD. .ASK .ASAUSKNGҠPSNҠBUSY. AԠHŠNDƠHŠPAKASKSSSUD GϠϠHŠNԠ(NN-SANԠYNDҬ ANDSAUSSHKD. ASKSSSUDDUNGASKANDSAUSSHKD HŠNGPANSA PMDNHŠSԠYNDҠN HŠYNDҠAB. ANŠSҠŠSANGAԠAKZϬSҠZ AϠSҠŠSANGAԠAKZϬSҠSVN AADANDHKƠHŠDAA ANŠANDAAD AUҠSҠŠSANGNAKZ APSNPANϠUNϠAKZ AϠSҠYàHKƠAKZϬSҠSVN AADANDHKƠHŠUҠSS APSNPANϠMVŠϠAK(P- AϠDŠHAԠGNASANVUN AUҠSҠŠSANGAԠSҠ(SP-3 APSNPANϠUNϠAK(P- AADϠHKҠZϠ AADANDHKƠHŠSS SNP DAAS SBSUƠUNԠSN B SBSAG SBSHASHAԠSAUSSHUDB SBDMƠNϠDMASAԠSA SBSƠNϠNA̠S SBY SBHAD SBSҠHSPSASAԠSҠZ SBSAԠGԠSAUS SBHKHKҠS DABSKNS SBP SBSKSKNS SBSҠADSHGS ANDB000000BBԠ ҠB000000BANDBԠ SZASSSKPƠHҠSA SBADA̠ŠADDSSUN DR<AAS SBSUƠUNԠSN A SAY SAHAD SAS SASHASHAԠSAUSSHUDB DABSKNS SBP BMŠUSDSZ SBSKSKNS ANA SAY̠SAVŠYNDҠNUMB HŠNGPANSAŬ ASKHAԠAUSSPSNҠMN ANDASAUSPANMMDAY NGHHSHUDSŠA PSNҠBUSYSAUS. DABSKNS SBP B SBSK DAPBB SASHASHAԠSAUSSHUDB SBSAԠGԠSAUSHŠBUSY SBHKHKҠS BҠASMŠUN SBSHASHAԠSAUSNMAYS SBASAԠҠSKϠNSH DAYPPADSԠNN-SANԠYNDҠNUMB SAY HŠNGPANSASKHA AMPSϠMVŠHŠPSNҠBYND SMSANDASKDUNGASK. HŠSKNMPŠSAUSSHKD. DABSKNS SBP SBSKSKϠNN-SANԠYND SBASAԠҠSK DASBԠSKHK ҠABԠANY SASHAS SBHKHKҠS A SAHAD SAS DAҬɠGԠSԠYNDҠHA SAY̠ŠAŠADϠŠN. DABSKNS SBP SBSK SBSKSKHNASK SBASAנMPN SBHKHKSAUS A SASHASSAUSSNMAYZ HSSKUNSϠY̠0HAD0NDAUԠAS DABSKNS SBP SBSKSKɺ{NS DABP SABUAD DAD3+SZ SANԠSԠDUNԠҠHŠSS SBDGNGNAŠNנBU HŠNGPANDSHŠS ŠNHŠDSKNHADZϬSҠZ DAD+SZ SANԠSԠDUNԠҠNŠS B DAB5ŠNS SBŠŠNSԠS SBHKHKҠS HŠNGPANSAϠSҠNG ŠSANGAԠHADZϬSҠSVN DAD SASҠPANSASAԠSҠ DAB5ADDSSDNS SBP SBSS DAD+SZ ADABPҠNנBUҠADDSS SABUAD DAD56+SZ SANԠϠSҠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HŠNGPANSAAD ADBAKHŠNMANN NSҠZ. HŠDAASMPADHHAԠN. A SASҠNԠPSASAԠSҠZ DAB5ADDSSDNS SBP SBSS DAD+SZ SANԠSԠDUNԠҠNŠS DABP SABUADPUԠBUҠADDSSBAK DABPS SABUAŠSԠADADDSS SBASAԠҠSҠSHNG DAB6ADNS SBADA̠ADUN SBDHKHKҠSANDMPAŠBUS HŠNGPANADSBAKH NMANNNSSSVNAND GH HŠDAASMPADHHAԠN. DAD SASҠPANSASAԠSҠ DA'B5ADDSSDNS SBP SBSS DAD+SZ ADABP SABUADSԠϠSNDADŠADDSS DAD+SZƠADDUN ADABPS SABUA DAD56+SZƠϠS SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS HŠNGPANSANŠMMAND DBYAAD DAB5ADDSSDNS SBP SBSSADDSSDNS DAB60NŠNS SBP DANŠNŠMMAND SBMMDSSUŠMMAND SBAS SBHKHKSAUS DAB5ADDSSDNS SBP SBSSADDSSDNS DAB6ADAҠNŠNS SBAD SBDHKHKDAA HŠNGPANSAŠHA SASNAҠHŠNDƠAKZϠAND NNUSNϠHŠNԠAK DASP-3 SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠUҠSҠDUN DABP SABUAD DABPS SABUA SBDGNGNAŠBU SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAD SASҠSԠSҠSVN HSPANSKSBAKϠHADZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANDSAYàHKN SSSVNANDGH DABYàHKNS SAPN $DADHKSҠϠSS SBDADϠSҠUN DAYHKADYàHKMMAND SBMMDSSUŠMMAND SBASAԠҠMPN SBHKHKSAUS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSSADDSSDNS HŠNGPANADSBAK HŠDAANBYHŠPVUS HŠDAASMPADHHAԠN. DAB6ADNS SBAD SBDHKHKҠSANDMPAŠBUS PSNϠMVŠϠHŠBMAK DAP-ADASԠAKNUMB SAHAD DAD SASҠSԠSҠϠSVN HŠNGSKMVSϠHŠBM AKƠHŠYND DAB5ADDSSDNS SBP SBSHMVŠϠHŠBMAK HSPANUPUSAPAҠƠDSϠH DAAHANN.ABUԠ50MSNDSAҠHŠSND SAPDAHDDSUPUԠϠSԠVUNAG. DABUAD B SBAɠSԠϠDSϠZ NA SBA DAD SANԠSԠDUN DAVSUMPϠSUBUN SADMSPSԠDMABAKAN SBAHAԠҠHADSHNG H50DAB50VUNNS SB SBHKHKҠVUN A SASHASHAԠSAUSNMAYS DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBDGNGNAŠBU SBASAԠҠSҠSHNG HŠNGŠSASNAҠH ŌYNDƠHŠYNDҠANDNNUS UN̠HŠNDƠYNDҠҠUS DAB5ŠNS SB MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD35+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBHKHKҠS SԠMMANDBԠ ƠMSSNGYHKBMSADàANDNDƠYNDҠN'ԠU DAB SBP SBSKSKNS DAD+SZ SAN DABYàHKNS SAPN SBDMҠSԠUPDMANASŠԠSAD DAD30HKSҠ30 SBDADϠSS DAYHK SBMMDUPUԠMMAND SBDMA SBSAԠGԠSAUS SBHKVYSAUS A SASHASSAUSSHUDNMAYBŠZ DAD SASҠSԠSҠϠSVN HSSKUNSϠHŠBMAK DAB5ADDSSDNS SBP SBSHUNϠBMAK HSPANSAADANDHKƠHŠS HAԠSHUDHAVŠBNZϠD. HŠPANHKSHAԠHŠDAUSNGH VUNASNԠNNϠHŠS. DAD30 SANԠSԠDUNԠҠNŠS DAVS SADMSPSԠϠNUPԠDMAANS SBAHAԠҠHADSHNG H5DAB5VUNHKNS SBAD A SAPAԠSԠPAND SBPHKɬ HŠNGADADSBAKHŠDAA NBYHŠPVUS. HŠDAASMPADtHHAԠN. DASP-3 SASҠSԠS DAB5ADDSSDNS SBP SBSS DAD5+SZ SANԠSԠDUNԠҠUҠSS SBASAԠҠSҠSHNG DAB6ADNS SBADADAND MAKŠSUŠHAԠNDƠYNDҠҠUS DAH ANDDMƠANNMPŠDMAANSҠSK SADM DAD3+SZ SANԠSԠDUNԠҠHŠSS DABԠADNDƠYNDҠB ҠABԠҠNANYҠB SASHASHSSHAԠSAUSSHUDB SBDHKHKҠSANDMPAŠBUS A SASHASSAUSSHUDNMAYBŠZ PANϠMAKŠADDSSGSҠDN MAUA̠PSN. DAB5ADDSSDNS SBP DAD0 SBDADϠYNDҠNUMBҠU DAPAԠANAŠPSNPAN SBMMDSSUŠMMAND SBADAԠҠDAADϠG DAHAD ҠHDN SBDADϠHADU SBADAԠҠMPN SBASANDMPN PANHKSҠNԠUND DAD+SZ SANԠSԠDUNԠҠNŠS DAB6ADNS SBAD DANBԠNԠUND ҠABԠANY SASHASHAԠSAUSSHUDB SBHK A SASHASHAԠSAUSSHUDNMAYB SKϠYNDҠ0ANDHNSKϠSԠYND NYNDҠAB.AԠHADSҠ9ADN SҠANDVYNNS.HŠADMMANDSSSUD BŠHŠSKSMP. DBD0 DAҬɠSSԠNYNAB PAD0UA̠Ϡ0 BYS SBY̠Y̠0(Ҡ0 B [DABSKNS SBP SBSKPMU̠SK DAҬ SAY DAP- SAHAD DASP-3 SAS DABSKNS SBP SBSK DAB6ADNS SBAD SBDHKHKSAUSANDMPAŠBUS MPS VSSBPVʬ VʠNP A SADMSPSԠBAKϠN-P ADBDKPMNGAUA DAM56AנASHԠAԠҠHŠAG VҠU SSANASSDN'ԠHANGV MPVؠPNDAGS ADBDADDNYSUSDNP DM6ɠSSDMADSKPHNDMADN MPVҠBAKƠNԠDN SBKAԠҠNԠUSԠϠMŠUP DAVBԠVUNB ҠABԠANY SASHASHAԠSAUSSHUDB SBDADϠUPUԠNŠAD...A VؠU MPVʬɠUNϠDMA HDSҬPAԱPS SҠNPMV DA SұSAPNԠSԠPN DAPNԬ ADAMM SAADYND NAAB SASҠNY MVŠDAADɠDN SASҬɠN DAADAND SASҠPA ADAMMVAU SAADA ADAD PAPNԬ BSSP MPMV DAVAU SASҬ SBVAU MPSҬ PA PPAŠPANAB PAԱNP DAMMϠNS̠BŠUSD SAPNA DAPAҠADDSS ADAMM0ƠS SAPADPAN DAP0AADDSS SAPSҠƠMSSAG PàDAMM5VŠPANSPҠN SAPN PBDBPS DAPAD SBNPɠNVԠϠAS SZPAD DBPS ADBD3 DABBϠASɠBANKS SAB NB SBPS SZPNԠHAVŠŠDNŠVŠY MPPBN SZPNAYSHAVŠŠDNŠNY MPPAԱɠYS DAƠ06 SAPSҬ SZPS MPP PSҠNPADD DAPS SASҠSԠUPUN DAPA MPSұ HDS-SN G000B SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .PANGNA .GNAŠBUSҠAHƠHŠPANSNPA .SKPHSSNƠSH5 .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSNASHŠBKS .... ....ŠDAABU .... .. ..AKADVAN ..A̠AKSM0ϠP- ... ...BKADVAN ...AHAKSADASH ...BKS .... ....ADAHBK .... ....HKDAAAD .... ... .. . . SVԠUGBUSDϠUNԠA̠M SVҠUGB SVKàUGB3 PAԠUGBVAABŠϠSAVŠUNԠPAN PNؠUGB5UNҠҠPANAB SNP DAAS SBSUƠUNԠSN A SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SAYؠSԠZϠNϠNA̠YND S̠U SBYʠANSAŠYؠNϠY AA_0 SAHADPSNҠHADZϠAND SASҠSҠZ DASVԠMVŠSAVDUNSBAK SAMN DASV SAMN HSSKMVSHŠPSNҠNŠYND. HSŠSKSAŠMDANDHŠSUSPND. DBD3NUMBҠƠYSUSDSH DABSKNS SBP SBSK SBAS DAMN SASVԠSAVŠUNԠMSNDUN DAMN SASV SBHKHKҠS DASVK NAUNԠUPSKUN SASVK PAD9HAVŠŠDNŠU̠SKS SSYSPNԠUԠSKMNG MPNנNϬNNUŠN SBSҠADSHGS ANDBԱ SZASKPƠBԠA SBYK MPNנABԠPNU DASVԠADNUMBҠƠMSNDS SBMSVA̠NV DAVԲANS SAP053Aɠ DAV3MSSAG SAP053B H53DAB53AVAGŠMNMUMSKMŠ. SBPNԠPNԠUԠSKMŠMSSAG NנU SBSҠADSHGS ANDB5HKҠSHԠS SZASKPƠNG MPSHSHNSN HŠNGSNƠDŠYSHUGH A̠NPANSNHŠPANAB DABPҠADBUҠADDSS SABUADSԠŠAND SABUAŠADBUҠADDSSS DAMM0PANABŠSNNSNG SAPNؠSAVŠNUNҠD GNU DAM56+SZƠSҠDUNԠ SAMPSAVŠҠHŠASԠ̠P DBPNؠADHŠPANUN ADBPAPADDNHŠABŠADDSS DABɠADHŠPANϠA SAPAԠSAVŠԠҠHŠPHKUN DBBUADADHŠŠADDSS G̠U SAB NB SAB NB SAB NB SAB NB SZMPUNԠDNUNҠ(BYUҠ MPG̠NNUŠNƠNԠDN SKP HŠNGDŠSHŠPANNHŠBU NϠHŠNŠYND ϠUSŠHŠMNMUMMŠҠAHAKHŠAK SDVDDNϠHDSHHAŠN NHŠDҬSԬHDSND. B SBHADSԠHADϠZ SBSHASSԠSҠϠZ NHנU A SASҠSԠBKSASAԠSҠZ HSSKSSANנHAD DAB5ADDSSDNS SBP SBSHSKϠUNԠHAD HŠNGŠSҠH SԠHDƠHSAK DA SANԠSԠDUN SBAHAԠҠHADSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠHDƠHSAK DAS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠSNDHDƠHSAK DASS SAS DAB5ADDSSDNS SBP SBSS DA SANԠSԠDUN SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAHAD NAUNԠUPHADNUMB SAHADAND PAPàNNUŠNƠNԠNSHDHHŠYND ASSDNŬSKPU MPNHנŠNAHAK SKP HŠNGSNADSBAKHŠPANSAND MPASAHDHPA. AUҠSҠADSANGAԠSҠZ SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠGH SҠMSAŠAVAABŠϠHKHŠDAA AUҠSҠADSANGAԠSҠU SҠMSAŠAVAABŠϠHKHŠDAA HŠADANDHKSNSHDNVUNS SAHADSԠHADZ NHҠU A SASҠSAԠAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANSAAD HŠSԠHDƠHSAK DA SANԠSԠNGHƠSԠHD DAB6ADNS SBAD SBPHKHKҠBUҠMSMAH HSPANSAAD HŠASԠHDƠHSAK DAS SASҠSԠSҠNUMB DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHK HSPANSAAD HŠSNDHDƠHSAK DASSԠSҠHŠSNDHDSAS SAS DAB5ADDSSDNS SBP'NLH SBSS DAԠDUNԠҠSԠHD SANԠSԠDUN SBASAԠҠSҠSHNG DAB6ADNS SBAD SBPHKHKҠBUҠS DAHAD NA SAHADUNԠUPHADNUMBҠAND PAPàHKҠNDƠYND SSSKPUԠƠDN MPNHҠNNUŠҠA̠AKS SZPNؠHAVŠA̠PANSBND MPGNNϬGϠBAKҠN SKP SHU SBYDUNԠUPYؠANDHKҠDN MPS̠P MPSɠUN Ԡ000000 Ԡ Ԡ55 Ԡ0555 Ԡ00 Ԡ0360 Ԡ65 Ԡ6336 Ԡ55555 Ԡ0 PAҠU PAPDƠPA FN  24203-80005 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS3-SN3 SN3 SN3SGANZDASS GNAŠANDMYNDҠNUMBSAND ANDMHADANDSҠNUMBS . . .GNAŠAANDMDUN .(NԠBYNDNDƠYNDҠ .. .. ..GNAŠABUҠƠANDMDAA ..SŠADƠZϠNϠH ..SԠUNUSDD .. .. ..ŠBUҠϠDSK .. .. ... ...SSUŠSK ... ... ...ADBKBAK ...ADANDHKNŠAD ...NԠAMUPŠƠSҠSZ ... ... ...HKDAAAD ... ... .. .. . . SKNԠUGB PԠUGB SAVŠUGB3 S3NP DAAS3 SBSUƠUNԠSN SBSҠSHGSҠϠA ANDB5 DBM0UNԠҠNGVSN SZASKPƠNDDNGS DBMM6UNԠҠSHԠS SBSKN S3AU SBNHGԠANDMYNDҬHADNUMB SBNSàGԠANDMSҠNUMB HSSKMVSHŠPSNҠϠAANDM YNDҠANDHAD. DABSKNS3 SBP SBSKSAԠSKNSAY SBGGԠANDMDUN DABPҠADSԠBUҠPN SABUAD DABPSADSNDBUҠPN SABUA SBDGNGNAŠAANDMBU DANԠSAVŠAS SASAVŠAN+ ADABUADADDBASŠƠŠBU B {SBAɠSAVŠϠHKSҠZNG SBASAԠҠSKϠNSH SBHKHKҠS DAMMYUҠADS SAP S3AU HSŠSUPAGVNAAH ANDMDAA.HŠDUNԠMAYBŠM NŠDϠ03DS. DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 DAB5ŠNS3 SBŠ̠UPHSNAAHUNK SBHKHKҠS DANԠHKҠSҠBUNDAY ANDB+SZƠHKҠVNSҠBUNDAY SZASKPƠVNMUPŠƠS SZNԠUNԠUPDUN HSSKSSHŠPPҠHAD DAB5ADDSSDNS3 SBP SBSHADDSSDNS3 HSADADSBAKHŠDAAN BYHŠPVUS. HŠDAASMPADHHAԠN. DAB6ADNS3 SBADADBAKUNK SBDHKHKҠS DASAV SAN SZPԠHKҠNUGHMS MPS3AYSMŠMŠADS SZSKNԠAŠŠDNŠHHSSN MPS3ANԠDNŬYANHҠPA MPS3ɠUN HDGYDY HSUNŠGNASAANDMDUNԠBN AND03.HŠDUNԠ̠NԠND BYNDHŠNDƠYND. GNP AU SBANDGԠAANDMNUMB A ANDBNԠ<0 SZASSZϠSNԠGA MPAƠZϬYAGAN ԠU SANԠSAVŠHSNDUN DBHADHKҠASԠHADNYND NB PBPàHKҠASԠHAD SSASԠHADMAYBŠUB MPGɠNԠNASԠAKNϠSA DBSPԠADNUMBҠƠSSPҠAK MBNBNGAV ADBSҠAנҠHŠŠAŠN AƬAƠNVԠNԠϠSҠUN A ANDB+SZƠHPƠA ADAB SSASKPƠϠNG MPGɠNGAVŠAMANSKAY DANԠADHSNDUNԠAND ASHAVŠ MPԠANDSϠN SKP YDUNSUPYؠANDHKSҠMPN SԠNA̠YNDS.ԠGVSASKPUNHN A̠YNDSHAVŠBNVD YDNP DBYؠADUNԠYNDҠN NBUNԠԠUPBYN SBYؠANDSŠԠBAK MBMAKŠNSMPMN SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠSԠUSD MPDYU̠S ADBD0HŠAŠNABŠNS MPDZ DYU ADBYPPHKҠNDƠPAK DZU SSBSKPƠNԠDN SZYDUNԠUPUNADDSS(DNŠ MPYDɠUN YʠANSASHŠNUMBҠNYؠϠHŠDSD YNDҠNUMBҠNY YʠNP SBSҴADVŠSHGS ANDB6HKҠSDYNDS SZASSSKPƠSHԠS MP DAY DBD39 ѠU ADAMM0HKҠYؠϠBG DBD SSASSSKPƠKAY MPѠHSŬKPDUNG ADABPADDNABŠADDSS DAAɠADHŠDMHŠAB SAY̠SԠBAKNϠYND MP נU DAY SAY̠SAGHԠPY DBD35 ؠSBK MPYʬɠUN  BNUAKABŠBGN Ԡ00000000 ABSY BPDƠ HDS-SN SNSGANZDASS YNDҠADVAN SH60--A̠YNDSM0Ϡ0 SH6--A̠YNDSNAB . . .ANDMNUMBҠGNA .GNASANנBUҠƠANDMDAA .ҠAHYND . .AKADVAN .A̠AKSM0ϠP- .. ..BKADVAN ..AHAKSNASH ..BKS ..HŠSHMŠUSDSHŠSAM ..ASHAԠƠHŠSN ..PANADSN ..GNANDPHKAK ..ABUԠHŠSAMŠAMUN ..ƠM. ... ...HKSUMBKSϠHAԠԠS ...UNUŠANDDNAB. ... ...ŠBKϠDSK ... .. . . . SNP DAAS SBSUƠUNԠSN SBSҠADSHGS ANDB6SAVŠBԠ6 DBS00 ADBUNԠSS5ANDS6 SAB ANAA SASAG A SAYؠSԠYNDҠNŠD S̠U SBYʠANSAŠYؠNϠY A SAHADPSNҠHADZϠAND SASҠSҠZ DBD3YSUSD HSSKAUSSPSNҠMN HŠNԠYND. DABSKNS SBP SBSKSKNS HŠNGSNƠDŠGNASH HKSUMMDANDMDAA. DAԠNGHƠSԠHD SANԠSԠDUN SBDGNGNAŠANDMBU A SASHASSAUSSHUDBŠZ SNU A SASҠHSPSASAԠSҠZ DAB5ADDSSDNS SBP SBSHADDSSDNS HSPANSAŠ HŠSԠHDƠHSAK NԠANDSҠAŠSԠUP SBGNGNAŠHKSUMS DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠASԠHDƠHSAK DASԠSҠHŠASԠHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠASԠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS HSPANSAŠ HŠMDDŠHDƠHSAK DASSԠSҠHŠHSHDSAS SAS DAB5ADDSSDNS SBP SBSS DAԠNGHƠMDDŠHD SANԠSԠDUN SBGNGNAŠHKSUMS SBASAԠҠSҠSHNG DAB5ŠNS SB SBHKHKҠS DAHAD NAUNԠUPAKNUMB SAHAD PAPàHKϠSŠƠDN SSSKPUԠHNDN MPSNNSHNŠYND SBYDUNԠUPYؠANDHKҠDN MPS̠NNUŠNϠNԠYND ASKϠHŠSԠNYNHŠYNDҠABŠPDSAH YàHKƠ6AND0SS.HŠNNZϠS UNS̠SUԠNANDƠYNDҠSAUSSHUDANYB ƠHŠSҠUNҠA̠ϠS.HŠZϠSҠUNԠ A̠ϠSUԠNANDƠYNDҠSAUSSHUDANYBԠ HŠSҠUNҠA̠ϠA. A SAHAD SAS DAҬ SAY DAB0D SBDHK DABԱD56 SBDHK DABԲD5 SBDHK DAB3D0 SBDHK DABԴD0 SBDHK DAB ҠAB SASHASPDSAUS AD0 SBDHK MPSɠUN DHKNP SANԠSAVŠNUMBҠƠSS DABSKNS SBP SBSKPMU̠SK DABYàHKNS SAPN DANԠNUMBҠƠSS SBDAD DAYHK SBMMDUPUԠYàHKMMAND SBASAԠҠMPN SBHKHKSAUS MPDHK HDGNNHNS GN HSUNŠNSUSHŠHKSUMSҠHŠŠBU. .AHSҠSHKSUMMDSPAAY .HŠNŠSҠSUMSϠZϠ(SMPMNԠ 3.HŠSԠϠDSSUMϠHŠYNDҠNUMB .DSAND3SUMϠHŠHADSҠNUMB GNNP DAN AƬA A ANDBAVŠHŠNUMBҠƠSS MANAMPMNԠҠSZ SAMP DAHAD ҠHDN AƬAƠHADNUMBҠϠԠSD ҠSҠPUGNSҠNUMB SAMP DBBUADADADDSSƠSԠS G̠U DAMM3+SZ SAMP3UNԠҠUҠUNԠP DABɠGԠD8&Z MANAMAKŠMPMN ADAY̠HSSUMSϠHŠYNDҠNUMB NBUNԠUPBUҠADDSS SAB NBUNԠUPBUҠPN DABɠADD MANAHKDSMPMN ADAMPADDHADS NBUNԠUPϠSԠҠD SABɠSAVŠSNDHKD DAY ADAMPADDNHADSҠNUMB SUMϠDAŠNA GƠU NBUNԠUPBUҠPN ADABɠADDNNԠDƠBU NB ADAB NB ADAB NB ADAB SZMP3HKҠDN MPGƠGԠNŠBU MANAHKSNGAV ADABɠSUBAԠUԠASԠD SAB NBUNԠϠBGNNNGƠNԠS SZMPUNԠUPSҠNUMB SZMPHKҠDNŠHNŠŠBU MPG̠NϬGϠDϠANHҠS B MPGNɠUN UNŠϠPKAANDMYNDҠANDHADNUMB AVSϠMAHNŠYSUNUND. NHNP NAU DBD33 SBK SBANDGԠAANDMNUMB AƬAƠUSŠԠHA ANDB3Y̠<56 SAYؠSAVŠNYNDҠNŠD MANSMPMN ADAYPPANNԠBŠANN-SANԠYND SSASKPƠKAY MPNAHSŬYAGAN SBYʠANSAŠYؠNϠY DBD5 SBK SBANDGԠAANDMNUMB AҬAҠϠMNAŠAN-S ANDBHAD< SAHADSԠHADNUMB MPNHɠUN UNŠϠPKAANDMSҠNUMB NSàNP NSAU SBANDA̠ANDHŠMS SB0.*ANDGԠHŠGDBSNGHԠND SBANDANԠNϠANHHADNUMB SBAND AҠDϠNԠUSŠBԠ0(NԠANDM ANDD5SҠ<6 SASҠSAVŠSҠNUMB MANSMPMN ADASPԠSԠҠGA̠SҠNUMB SSASKPƠKAY MPNSAHSŬYAGAN MPNSìɠUN Q0  24203-80006 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDS5-SN5 SN5 HSSNADSANDMSSANDVS HAԠHYAUAYAŠHŠSSUSD. HŠSԠUNSҠABUԠ50SKS AԠHŠNDƠAHSKAADSSSUDҠH NԠAVAABŠS.ASSNASHSADSMPDH NԠSKSSAD.HŠDAADSHKDASSN ASHŠSKSNAD. ANԠUGBSKNGHUN ZY̠UGB5HDSPVUSYNDҠNUMB ZHDSUGB6HDSPVUSHADS S5NP DAAS5 SBSUƠUNԠSN A SAANԠZϠSKNGHUN SASVԠZϠA̠MŠNSKS SASV SASVKàZϠSKUN SASHASHAԠSAUSSHUDB A- SAS DAD+SZƠHKNŠS SANԠSԠDUNԠҠNŠS S5àU DAY̠ADPVUSYNDҠNUMB SAZY̠ANDSAVŠԠҠHK DAHADADPVUSHADNUMB ҠHDN AƬAƠMVŠϠԠHA ҠSҠPUGNSҠNUMB SAZHDSANDSAVŠҠHK AKŠUUSDNHK SBNHGNAŠYNDҠANDHADNUMB SBNS DASVԠMVŠHŠUNS SAMN DASV SAMN HSSKMVSϠA ANDMYNDҠANDHAD. DABSKNS5 SBP DBD3 SBSKSAԠSK SBKAKŠAŠƠUN SZSԠSKPƠSԠM SBHKYSNԠSԠMŠHUGH SBASAԠҠSKMPN DAMNԠMVŠUNSBAK SASV DAMN SASV SBHK HSADADSNNŠS FMAANDMAN DAB6ADNS5 SBADGϠDϠAD A SASԠPPAŠҠP SBHK A SASԠS DAY̠ADYNDҠNUMB MANA ADAZY̠GԠSKNGH SSASKPƠNנPSV MANAABSUŠVAU ADAANԠADDϠA SAAN DASVK NAUNԠUPSKUN SASVK PADSKPƠNϠPN SSH.PNԠUԠMNG MPS5ŠNԠN SBS ANDBԱABԠ SZASSBԠSA MPS5ŠABԠPNU SBYK MPS5ŠABԠPNU DASVԠADA̠M SBMSVNVԠϠAS DBP05A DAVԱANS SABɠ NB DAVԲMSSAG SAB NB DAV3 SAB DAANԠADA̠NGH SBMSVNVԠϠAS DBP05B DAVԲANS SABɠ NB DAV3MSSAG SAB H5DAB5 SBPNԠAVAGŠANDMSKMŠ.. AVAGŠANDMSKNGH. S5ŠU DBSVKàADSKUN SBSҠSHGSҠϠA ANDB5 ADBM56SHԠS SZASSSKPƠYS ADBM936N SSBSKPƠDN MPS5àDϠANH MPS5ɠUN HDHKHK HK HSUNŠHKSHŠBUSGNADBYGN ԠUSSBUAŠҠAPNҠANDHKSNŠS SŠGNҠADSPNƠHŠSҠMA HKNP DAHKSAVŠUNADDSSҠ SBHKMBUҠHKSUM SZD<ASKPƠHKSUMK MPҠHKSUM DAMPGԠYNDҠHKBAK PAZY̠HKҠPPҠYND SS MPҠNGYND DAMP3GԠHADSҠBAK PAZHDS MPؠNϠBUҠSHKSAUS ҠU SBASPAUN DAZY̠S SAY̠Y DAZHDS AƬA ANDB3 SAHADHAD DAZHDS ANDB3 SASҠANDS A- SASԠSԠSԠAG DAB3ADHKNS5 SAPN DAAKŠS SAHKUN ұU DAMPADHKSUM DBP05APN-HKSUM SBNPɠNVԠϠAS DAMPADYNDҠHK DBP05BPN-YND SBNP DAMP3ADHADSҠHK DBP05àPN-HADANDS SBNPɠNVԠϠAS DAMP DBP05DPNԠYNDҠNDMA SBDN DAMP3 AƬA ANDB3 DBP05ŠPNԠHADNDMA SBDN DAMP3 ANDB3 DBP05ƠPNԠSҠNDMA SBDN 5DBB5BUҠHKSUMؠY YYYYYYHDSZZZZZZ SBSƠSԠҠMSSAGŠPN SBàSAVŠҠH MPZGϠANAYZŠS HK MBUҠHKSUM HKNP SAHK DBD330 SBK SBA DBBUAŠADBUҠPN DAM+SZ SAMPSԠUNԠҠADDP DABɠADSԠD NB ADABɠMAKŠYNDҠHK NB SAMPSAVŠYNDҠHK DAB NB ADABɠMAKŠHSADSҠHK NB SAMP3SAVŠHDSHK ADAMPHKSUMSϠA ѠU ADABɠADDUPA̠DS NB SZMPUNԠDNUN MP SAMPSAVŠHKSUM DBA MPHKɠUN HDS6-SN6 SN6 HSSNUNSMUPŠUNԠSԠƠAԠASԠϠUNS AŠPSN.HŠSKSVAP.HŠADHKSHŠSAM HAԠS5PMS. S6NP DAAS6 SBSUƠUNԠSN DAUNàNUMBҠƠUNS PADSԠNYN? MPS6NϠYSABԠS DANɠNUMBҠNAZD PAUNàAŠA̠NAZD? MPS6SԠYS DANɠNϬNSH ADAUNSNAZAN DAA SAUNԠNAZŠNԠUN SZN MPS6ɠUN S6SԠU A SAS6NԠZϠUN SASHASANDSAUS HKҠSDYND SBS6S A S6رU DBSAV6 ADBS00 ҠBɠҠHŠS'SGH SZSAV6 SZ6 MPS6ر SAMP SBS6S DAMP S6زU DBSAV6 ADBS00 SABɠSŠSUԠBAK SZSAV6 SZ6 MPS6ز DAD+SZ SANԠDUNԠ HSSNSMŠDPNDNԠANDMAYNԠBŠSNGŠYD S6̠U A SAGB6 SBNHSԠANDMY̠ANDHAD SBNSàSԠANDMS DABSKNS6 SBPҠSKNS6 SBS6S S6S̠U DASAV6ɠGNA SAUNԠUNԠNUMB SBSKPMSK SZSAV6NԠUN SZ6DN? MPS6S̠N SBS6S DBBPϠKAA S6̱USԠUPҠVADYHK DASAV6 SAB NB SZSAV6 SZ6 MPS6̱ SBS6S S6̠U DABSKNS6 SAPNSKNS6 DAM56 SANԠAנ56MSNDSҠAG DBD5 S6DU SBKUPDAŠM DBD0 09Sà MPñ0AGSS DAN SSASKPNMŠU MPS6D SBPPUNԠPAN DAB0NϠàAG SA SBPN MPS6̴ ñ0A SAANSAVŠANNBS B S6̲UAUAŠUNԠNUMB SABYSANNNGANNBS MPS6ƠGHԠϠ NB A PBD SS MPS6̲ SZGB6AנHŠNSNŠ DAGB6AHUNԠAҠHŠS PAD MPŲҠ-MSSNGANNB SBSA DASAԠASUNԠHUGH? SSA MPS6ƱYSPSSUN MPS6 ŲSBPP ŲSBҠMSSNGҠDUPAŠANN S6̴SBADDɬ MPS6 S6ƠSBUN S6ƱSBSA DAUNàHKVADYƠUNԠNUMB MANA SAGB DBBP S63U DAB PAUN MPS6K NB SZGB MPS63 MPŲNԠVADB S6KSBBɠDN'ԠAנSAMŠBԠAGAN SBHKHKSAUS DAB5S SBPҠHAD SBSHADDSSDNS6 DAB6ADNS6 SBADADNS6 SBHKHKSAUS SBS6HKHKBU SZ6DN? MPS6̠N SZS6NԠBUMPUN DBS6N SBS ANDB5SHNQS? ADBM56-56 SZASSSKPƠYS ADBM936-936 SSBDN? MPS6̠N DAUNAS SAUNԠUNԠNUMBҠҠNԠPASS S6NϠUYS ANA SANɠNɠ DAHAGSAGS SASSSKPƠYS MPS6ɠN DAHDNSH ҠDSUA SAHDN MPS6 S6HK HKSBUҠҠPPҠPSNANDDAA ANS S6HKNP DAS6HK SBHKMBUҠHKSUM SZASKPƠK MPSҠ DAMP PAY̠SYNDҠK? SSYS MPSҠNϬ DAMP3 AƬA ANDB3 DBA DAHAD ҠHDN PABSHADK? SSYS MPSҠNϬ DAMP3 ANDB3 PASҠSSҠK? MPؠYS SҠU H3DAB3 SAPNADHKNS6 MPұ S6SԠNP DAUNàNUMBҠƠUNS MANA'SMPMN SA6 DAUNSPNҠ SASAV6UNԠNUMBS MPS6SԬ HDPHKMSV PHKUN. HSUNŠHKSHŠNŠADBUҠ UAYHHŠDNPA. PHKNP DAPHKADUNADDSS SAHKSAVŠҠPSSBŠA DANԠADBUҠNGH ASASDVDŠBYGH AS(ҠGHԠUNԠP MANASMPMN SAMPSԠUNҠҠP DAPAԠADMPASND DBBUAŠADADBUҠADDSS BGNNNGƠHŠP PH̠U PABɠHKҠMAH*($HBU NBSSUNԠUPBUҠADDSSANDSKP MPPHŠMS-MPA PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH PAB NBSS MPPH SZMPUNԠU MPPH̠NԠDNŬNNUŠHKNG MPؠNϠBUҠSHKSAUS PHŠSBMPPNҠ-S DAPAɠSԠUP SAMPSHUDBŠPAԠƠҠMSSAG DABUA MANA ADAMPADNUMB MPű0 SKP HSUNŠAKSHŠNUMBҠNHŠA-G DVDSBYANDPUSHŠASɠ(DMA̠ SUԠNϠVԱVԲANDV3(.ة MSVNP SAMPADNUMBҠƠMSNDS AƬA A̠DVDŠBY ANDB3NGA̠NUMBҠƠMSNDS SBDNNVԠNGҠϠDMA̠AS DAMPSAԠNANPA ANDBAVŠNYANPA BB_- MD̠ADAMM3SŠϠ0 NBUNԠUPNHSPA SSASSSKPƠNHSAUANDN MPMD ADBASD0MAKŠNϠ. SBV3S MPMSVɠUN *  24203-80007 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A HDMSSAGŠABS àABS- ҠDƠ+ DƠH0MSSAGŠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠű0 DƠű DƠű DƠű3 DƠű NPH5 NPH6 DƠH DƠH0 DƠŲ DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH30 DƠH3 DƠH3 DƠH33 DƠH3 DƠH35 DƠH36 DƠH3 DƠH0 DƠH DƠH DƠH3 NPH NPH5 NPH6 DƠŴ DƠH50 DƠH5 DƠ5 DƠH53 DƠH5 DƠH55 DƠH56 DƠH5 NPH60 NPH6 DƠH6 DƠ63 DƠ6 DƠH65 NPH66 NPH6 DƠH0 DƠH ҠDƠ MɠDƠ+MSSAGŠADDSSAB DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM3 DƠM33 DƠM3 DƠM35 DƠM36 DƠM3 DƠM0 DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM DƠM50 DƠM5 DƠM5 DƠM53 DƠM5 DƠM55 DƠM56 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM66 DƠM6 DƠM0 DƠM M̠DƠ+MSSAGŠNGHAB DƠ0 DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̷ DƠ̱0 DƠ̱ DƠ̱ DƠ̱3 DƠ̱ DƠ̱5 DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲ DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ3 DƠ33 DƠ3 DƠ35 DƠ36 DƠ3 DƠ̴0 DƠ̴ DƠ̴ DƠ̴3 DƠ̴ DƠ̴5 DƠ̴6 DƠ̴ DƠ50 DƠ5 DƠ5 DƠ53 DƠ5 DƠ55 DƠ56 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ66 DƠ6 DƠ̷0 DƠ̷ HDS-SN(PDSN PDSN PAҠDSGNSN HSSNASHŠPAҠϠDSGN HSNSԠANDHNUŠ. PDSNDAAS SBSUƠUNԠSN DABPϠSAԠƠKAA SABDSAGŠPN SAPS DAAMM MANAAM ADABԱ3 DBBK SSASS DBAM ADBMM SBBP DABPҠS SABUADUP DABPSPNS SABUA A SAAB SASHASZϠPDSAUS SAS SADM SAHDN SAHAG H55DAB55NҠNSUNS SBPN PDU SBHNNPUԠN A SAPAG DADMMNYUSD SADDAUԠAS SBPAKGԠPD MPH0ҠNNPU DBD PDUQSAH PABɠDŠMAH MPPD3UND NB PBD SSҠ-BADPD MPPD H0DAB0UNDNDNSUN SBPN MPPD PD3U ADBD SBPNԠPD ADBU SBPNDHKҠAB DABɠPSSNSUN MPA PUԱAҬDSSS PUԱDAPPԱ SADSŠANSҠV A SADDAUԠAS SBPUԱHKҠMMA SBPUԱDPSSSԠDYND AƬA SAD SBPUԱDPSSSNDDHAD AƬA ҠD SAD SBPUԱDPSSHDDS ҠD SAD DAPAGDN? SZASSSKPƠYS MPPUԱA PUԱBDAD3 PUԱƠSBBUD MPPD PUԱASBH3BADNPU MPPD PUԱDNP DAPAGDN? SZA MPPUԱBYS SBDHAҠNϬGԠNԠD SS MPPUԱD SBPUԱŠDNŠҠ? SZPAGDN MPPUԱDɠNNU PUԱŠNPDNŠҠ? DBNԠUMNSMANNG SZB MPPDҠ(AADYPD MPPUԱŬ PUԱGNPHKMMA ҠB5 SZASS MPPUԱGɠK MPPUԱA PUԱHNP SBHAҠGԠNԠHAA MPPUԱBDN SBPUԱGHKҠMMA MPPUԱHɠUN PUԲŬ̬ҬSS PUԲNP DAPPԲ SADSŠANSҠV SBHA SSSKPƠDN MPPUԱA MPPU3ʠ PU3GϬB PU3DAPP3ANSS SADSŠANSҠV SBHADz MPPUԱA SBPU3KGԠAB SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS DAPNԠPD MANA ADAB5SԠB? SZASKPƠYS MPPU3AMUSԠBŠG SBPU3DSAHҠAB MPPU3BNԠH SZBPUND DABPɠADDSSD SZASSSKPƠPVUSYDND MPPU3 HDABDUPAŠAB SBPN MPPD PU3BSBPU3̠HKҠV PU3ŠDABDNԠAVAABŠAN SABPɠSŠADDSS PU3ʠDAD MPPUԱƠ PU3ASBPU3DGϬSAHAB MPPU3ƠDDNԠND SZBPUND PU3GDABP ANDB3 ҠMPɠ6000B SAD MPPU3 PU3ƠSBPU3̠HKҠV A SABPɠZϠADDSSD MPPU3G PU3DNPSAHAB DBABàNUMBҠƠABS PU3ɠSZBSS MPPU3DɠZϠABS DABP PAAB MPPU3HUND DABPSP ADAMMBAK SABPHUGH ADBMMDMNԠAB̠UN MPPU3 PU3HSZPU3DNMA MPPU3Dɠ PU3KNPGԠAB SBPUԱGHKMMA SBPAK MPPUԱA SAAB̠SAVŠAB DABP SABP MPPU3K PU3̠NPHKҠKSPAŠV SBPU3N SZAB DAAB SABP SZBP MPPU3̬ɠNMA̠ PU3NNP DAAB ASϠANSPҠAB ADABD ADAD DBBP MBNB ADBA SSBSS MPPU3M"V MPPU3N PU3MDAB6V SBPN MPPD PUԴDDD PUԴDAPPԴ SADSŠANSҠV SBPUԱHKҠMMA SBPUԱDPSSDDUN SAD DAPNԠS ҠB6 SZASSAD? SBPU6DYSMԠDUN DAPAGDN? SZASSSKPƠYS MPPUԱA MPPUԱB PU5B PU5DAPP5 SADANSҠV ANA SAD3DAUԠNUMBҠƠҠPNS SBHA MPPU5BDN SBPUԱGHKMMA SBDHA MPPU5ADNŠҠ? SZDԠSKPNDAU SAD SBDHA SS MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SAD3 MPPU5B PU5ASBPUԱ SZDԠSKPNDAU SAD PU5BDAD MPPUԱƠ PU6DB PU6DAPP6 SADSŠANSҠV SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPNDAU SAD SBPU6D SBHA MPPU6ADNŠҠ? SBPU6B SBHA MPPUԱA ҠB03 SZA MPPUԱA DAD ҠBԱ SAD SBHA MPPU5BSHUDBŠDN MPPUԱA PU6ASBPUԱŠDNŠҠ? SBPU6B MPPU5B PU6BNP SZDԠSKPƠDAU SSK MPPUԱA SAD3 DABԱ5 ҠD SAD MPPU6B PU6àSBPUԱŠDNŠҠ? SZDԠSKPƠDAU SAD SBPU6D MPPUԱB PU6DNPHKD-MUSԠNԠBŠGA DADHAN0 SSAMUSԠB MPPUԱAPSV MANA ADAD0 SSA MPPUԱA MPPU6D PUԷN PUԷDAPPԷ PUԷGSADSŠANSҠV DBABàNUMBҠƠABS DABP NA SABP PUԷDSZBSSSAH MPPUԷBUNDNDABS DABP SZASS MPPUԷ DABP ADAMM SABP ADBMM MPPUԷD PUԷBSBHA MPPUԷƠNMA̠SA SBPU3K SBHAҠHKNԠHAA SSK-SKP MPPUԱA-ϠMANYHAAS SBPU3DSAHAB MPPUԷADDNԠND SZBPUND DABP SAPS PUԷƠDAD SBBUD MPPSԬɠSAԠUN PUԷàDBBP ADBMM DAB PUԷŠSAP056A H56DAB56UNDNDAB̬ SBPN MPPD PUԷADAAB MPPUԷ PUԸSD PUԸDAPPԸ SADSԠUPANSҠV SBHA MPPUԱA SBPUԱGHKMMA SBDHA SSSHUDBŠDN MPPUԱA SBPUԱŠҠҠDN? SZDԠDAU? SSN MPPUԱAYS SAD MPPUԱB PU9D PU9DAPP9 SADSԠUPANSҠV DAD30 SADDAUԠAS SBPUԱHKҠMMA SBDHA MPPU6àDNŠҠ? SZDԠSKPND SAD SBHA NP ҠB0SԠAD? SZASKPɷLƠYS MPPU9AN DABԱDVŠNDA PU9BҠD SAD SBHA SS MPPUԱA MPPUԱB PU9AҠBSԠAP? SZASKPƠYS MPPUԱANϬ DABԱ5PVŠNDA MPPU9B PԱ0SìH PԱ0DAPPԱ0S DBPN ADBMM0-0 SZBSSSKPƠS DAPPԱ3H SADSŠANSҠV A SADDAUԠVAU SBPUԱHKҠMMA SBHA SSK MPPUԱA SBPUԱŠDNŠҠ? SZDԠSKPNDAU SADSŠVAU MPPUԱB PԱ PԱDABD PABP MPPDNHNGϠAS ADAMM DAA SAA̠PVUSANSҠV AƬA ANDB3DUN MANA ADABD SABDBDBD-DUN DAA ANDB3 ҠB5SԠB SZASS MPPԱAYSB ҠB SZASKPƠG MPPD DABD ANDBGԠADDSS ADAPAGŸ6000B SAA̠ƠNDAB DAA̬ɠSHSAB SZADND? MPPDYS DABDɠSAHҠHҠNS SAMPMASKUSDϠSAHҠH DABDNS SAMPPN PԱàPABP MPPԱBNԠUND DAMP ADAMMGԠANSҠV DAA AƬA ANDB3GԠDUN MANA ADAMPADDSSADDSS-DUN SAMP DBMP PBMP MPPDANHҠNŠASUND 20.*MPPԱ PԱADABPSAHABŠҠAN NAHSAB PԱŠSABP DABP PABD MPPԱDUND DABP ADAMM MPPԱ PԱDSAMPKAAPN DABP SAA̠ADDSSƠAB ANDB3 ҠMPɠ6000B SAMPMASKUSDϠSAHҠH ANS SAA̬ɠZϠUԠAB DAMP MPPԱ PԱBANϠNŠUND DBA ADBMM SABɠAB̠0 NA SAA̬ɠADDSS0SϠԠ̠B MPPDDND PԱP PԱUPDSN PԱP PԱDAPPԱANSҠV MPPUԷG PԱ5 PԱ5DAPPԱ5 SADSŠANSҠV SBHA MPPUԱA SBPU3KGԠAB SBPU3DSAHAB MPPUԷADDNԠND- SZBPUND DABP ANDB3 ҠMPɠ6000B SAD SBHA MPPUԱA SBPUԱG SBDHAҠGԠNUMBҠƠMSϠPA SSK-SKP MPPUԱA SBPUԱŠDNŠҠ? SAD A SAD3 DAD5 SBBUD MPPD ?0  24203-80008 A S 0122 2100A CARTRIDGE DISC MEMORY DIAGNOSTIC             H0101 A SKP VPAҬDSSS VPNP SBPNDHKҠAB DBVPɠD DAVP SAA DAB AƬA ANDB3 SAY̠YND DAB ANDB SASҠS DAB AƬA AƬA ANDB SAHADHAD SZVP DAVPɠD3 SZVP ANDB3PD SZA MPVPA VPHDAB5A SBP B SBSHADA SBAHAԠҠHADSϠSH VPƠDAVPɠNԠANSҠV SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB VPDDABS SBP B SBSKSK SBASAԠҠSK MPVP VPBҠB6 SZA MPVP DABDS ANDB3SAVŠHAD-S DBY SZBSS DBD03 ADBMMDMNԠY VPŠBƬB ҠB SAA̬ɠHANGŠD MPVPD VPàDABS ANDB3SAVŠHAD-S DBY NBNMNԠYND PBD03 B MPVP VPGNP PAPPԱ0SNԠANSҠVҠS MPVPGɠYS SBHKN MPVPG VPŬ̬ҬSS VPNP SBPNDHKҠAB DAVPɠD SZVP ANDB3PD ҠB SZA MPVPA DAB60 SBP B DANŠNŠD SBMMD SBAS VPGDAVP SBVPGHKSAUS MPVP VPAҠB3 SZA MPVP SBNHɬɠSANDMYNDҠANDHAD SBNSɬɠANDMS DAVP SAVP &MPVPD VPŠҠD6 SZA MPVPB DAVP SAVP MPVPH VPBҠB5 SZA MPVP A SAHAD SAS VPàSBS DBD95 ANDB3 SZASS MPVPDSҠ0Y̠95 DBD00 ADAMM SZASS MPVPDSҠY̠00 DBD05 ADAMM SZASҠY̠05 MPVPɠSҠ3DN VPDSBY DAB SBP SBSKSKNS DAD0 SANԠSS DAB6 SBAD SBHK MPVPàY VPƠSBSAԠS MPVPG VPDDD VPNP SBPNDHKҠAB DAVPɠD SAN SZVP DAVPɠD3 SZVP ANDB3PD ҠB6 SZA MPVPA DAB6D SBAD VPàDAVP SBVPGHKSAUS MPVPɠ VPAҠB3 SZA MPVPB DAB5D SB MPVP VPBDABD SAPN B DAN AƬA A ANDB3SҠUN SANԠNUMBҠƠSS SBDAD DAYHKYàHKMMAND SBMMD SBAS MPVP VP5B VP5NP SBPNDHKҠAB DAVP5ɠD SAN SZVP5 DAVP5ɠD3 SANUMP SZVP5 SBDHKMPAŠBUS SZVP5 DAD SANUMP MPVP5 VP6DB VP6NP SBPNDHKҠAB DAVP6ɠD DBA ANDD3 SAN SZASS MPVP6ƠDUNԠ0 DAN MANA SANԠNԠ-N DABP SAA SSB MPVP6Aƽ VP6BSBANDƽ0 SBVP6ŠSŠNBUҬHKҠND MPVP6B VP6AB SSB Bý0ƽ SZVP6ýƽ DAVP6 VP6àSBVP6ŠSŠNBUҬHKҠND SZBSS MA MPVP6 VP6ŠNP SAA̬ɠSŠANBU SZA SZNԠDN? MPVP6ŬɠN VP6GSZVP6YS SZVP6 MPVP6ɠ VP6ƠSSB SZVP6 MPVP6G VPSD VPNP SBPNDHKҠAB DAVPɠD SZVP SAUNԠSŠUNԠNUMB SZVP MPVPɠ VP9D VP9NP SBPNDHKҠAB DAVP9ɠD DBA ANDD3B SAN A SSB DABPVŠAKNDA B SSB DADBDVŠAKNDA SASP SBADɬɠŠADDSS SZVP9 SZVP9 DAVP9 SBVPGHKSAUS MPVP9ɠ VP0S VP0NP SBPNDHKҠAB DAVP0ɠD SASHASPDSAUS SZVP0 SZVP0 SBHKHKSAUS A SASHASSԠPDSAUS MPVP0 VP3H VP3NP SBPNDHKҠAB DAVP3ɠHAԠD HԠ SZVP3 SZVP3 MPVP3 VPP VPSBPNDHKҠAB MPBPϬ VP5 VP5NP SBPNDHKҠAB DAVP5ɠNUMB%1ƠMSϠPA SZVP5 PAVP5ɠDN? MPV5AYS SZVP5 SZVP5 MPVP5ɠUMPϠAB V5AA SAVP5ɠSԠUN SZVP5 SZVP5 SZVP5 MPVP5 ANSҠVS PNSUSDBYANSҠVS DàABS-- DŠDƠ+ ASàAҠ0 ASàB ASàD ASàŠ3 ASàDB ASàDS5 ASàŠ6 ASàN ASàP0 ASàGϠ ASàHԠ ASàD3 ASàS ASàB5 ASàD6 ASàҠ ASàS0 ASàSà ASàSD ASàSҠ3 ASàD ASàP5 ASà̠6 ASàSԠ ASàԠ30 DƠDƠ ABŠƠPDS DŠGNAҠANSҠAB UàDƠ+ DƠPUԱA DƠPU5B DƠPUԴD DƠPUԲ DƠPU6DB DƠPUԱDS DƠPԱ DƠPUԷN DƠPԱP DƠPU3G DƠPԱ0H DƠPU9D DƠPUԱS DƠPU3B DƠPUԴD DƠPUԲ DƠPUԲS DƠPԱ0S DƠPUԸSD DƠPUԱS DƠPUԴD DƠPԱP DƠPUԲ DƠPUԲS DƠPԱ5 HDPAK PAK NPUԠϠHAASPAKDNϠNŠD SKPSN-Š PAKNP SBHAҠSԠHAA MPPAKɠ AƬAƠPSNϠԠHAA SAA̠SAV SBHAҠSNDHAA MPPAKɠ ҠA̠PAKGH SZPAK MPPAK HDBUDPND BUD ANSSDŠMDDD3ANDD HŠKAA. NNYANUMBҠƠDSϠANS BUDNP DBASAVŠUN ADBD0MPNҠϠNԠD SBA AƬAƠMDN ADAPN SABɠSŠNϠANSҠAA SBP3NɬɠHKҠV DAD0 BU̱NA DBAɠANS SBBDɠϠKAA SZBD PAA̠DN? MPBUDɠYS MPBU̱N PND HKSҠABԠ(B30 PNDNP SBS ANDB3 SZASSSB30? MPDNŬɠYSAB MPPNDɠNϬK HDMSSAGS SUP M0Ԡ06 ASà9H0HP00AADGŠDSàMMYDAGN ASà03S 0U+-M0-M0 MASàűAҠADҠNAB ̱U+-M-M MASà5ŲƠҠSSAD-HANN 00ABSS ̲U+-M-M M3ASà93SàADHAGA-HANN 003ABSS 3U+-M3-M3 MASà5ŴSƠҠSàAD-HANN 00ABSS ̴U+-M-M M5ASà5SSADHAGS-HANN 005ABSS 5U+-M5-M5 M6ASà6NϠNUPԠNHANN 006ABSS 6U+-M6-M6 MASà6ŷNGUNADDSS-HANN 00ABSS ̷U+-M-M M0ASà0ű0NϠMMANDAG ̱0U+-M0-M0 MASà09űAŠDAAAG ̱U+-M-M MASà6űNϠDAAAG(GNGSAUS ̱U+-M-M M3ASà0ű3 P3ABSS ASà0DSANSD P3BBSS ASà05PD ̱3U+-M3-M3 MASà5űNϠMMANDAG(USNGDMA ̱U+-M-M M5ASàH5ADDSSDN P5ABSS ̱5U+-M5-M5 M6ASà06H6V ̱6U+-M6-M6 MASà0HDUPAŠAB ̱U+-M-M M0ASà3H0UNDNDNSUN ̲0U+-M0-M0 MASà9ŲMSSNGҠDUPAŠANNB ̲U+-M-M MASà0HYàHKN PABSS ̲U+-M-M M3ASà09H3ADHKN P3ABSS ̲3U+-M3-M3 MASà09HYNDҠAB Ԡ06 PABSS0 ̲U+-M-M M5ASàH5SHϠAҠAB? ̲5U+-M5-M5 M6ASà0H6NҠYNDSSPAADBYMMAS ̲6U+-M6-M6 MASà09HPANAB Ԡ06 PABSS ̲U+-M-M M30ASà9H30NҠPANSSPAADBYMMAS 30U+-M30-M30 M3ASà0H3NPUԠ 3U+-M3-M3 M3ASà09H3SԠSH 3U+-M3-M3 M33ASà09H33SԠSH 33U+-M33-M33 M3ASà0H3NҠUNԠNUMBS(0-3SPAADBY ASà03MMAS 3U+-M3-M3 M35ASà09H35NA̠SAUS 35U+-M35-M35 M36ASàH36ŠADDSSN P36ABSS 36U+-M36-M36 M3ASàH3ADAҠŠADDSSNS0 3U+-M3-M3 M0ASà0H0ADYUN P0ABSS ̴0U+-M0-M0 MASà5HADDVŠAKNS0 ̴U+-M-M MASà6HŠPDAKNS0 ̴U+-M-M M3ASà05H3UN P3ABSS ASàNԠADYHKNS0 ̴3U+-M3-M3 MASà06HSKN PABSS ̴U+-M-M M5ASà0H5ŠN P5ABSS ̴5U+-M5-M5 M6ASà06H6ADN P6ABSS ̴6U+-M6-M6 MASà0ŴDAAD PABSS ASà0S PBBSS3 ASà06SHUDB PàBSS3 ̴U+-M-M M50ASà09H50VUNNS 50U+-M50-M50 M5ASà0H5Y P5ABSS ASà03HAD P5BBSS ASà0S P5àBSS ASà06DUN P5DBSS ASà03UN P5ŠBSS 5U+-M5-M5 M5ASà05BUҠHKSUM P5ABSS3 ASà03Y P5BBSS3 ASà0( P5DBSS ASà03HDS P5àBSS3 ASà0(H P5ŠBSS ASà0S P5ƠBSS ASà0 5U+-M5-M5 M53ASà5H53AVAGŠMNMUMSKM P53ABSS P53BBSS 53U+-M53-M53 M5ASà5H5AVAGŠANDMSKM P5ABSS3 ASà0NGH P5BBSS 5U+-M5-M5 M55ASàH55NҠNSUNS 55U+-M55-M55 M56ASà0H56UNDNDAB P56ABSS 56U+-M56-M56 M5ASàH5VUNHKNS 5U+-M5-M5 M60ASà0H60NŠN P60ABSS 60U+-M60-M60 M6ASàH6ADAҠNŠNS 6U+-M6-M6 M6ASàH6YPŠAҠHADS0BҠ3 ASà5ҠANAY0HN3 6U+-M6-M6 M63ASà063NϠDAAAG 63U+-M63-M63 M6ASà06SAUSS P6ABSS3 ASà06SHUDB P6BBSS3 6U+-M6-M6 M65ASà05H65PASS P65ABSS 65U+-M65-M65 M66ASà6H66SԠVDŠSHPUSHUN 66U+-M66-M66 M6ASàH6AҠVDŠSHPUSHUN 6U+-M6-M6 M0ASà0H0UNKUN P0ABSS ASà05PUSHUN ̷0U+-M0-M0 MASà6HPSSPSԠHNPSSUN ̷U+-M-M HDADD UNŠϠPNԠUԠHŠUNԠDSKADDSS ADDϠNP SBBKSYAVAAB? MPAUԠN DAY̠YSNVԠYNDҠNUMB DBP05AϠAS SBDNANDSŠNMSSAG DAHADNVԠHADNUMB ҠHDN DBP05BϠAS SBDNANDSŠNMSSAG D'ASҠNVԠSҠNUMB DBP05àϠAS SBDNANDSŠNMSSAG DANԠNVԠDUN DBP05DϠAS SBDNANDSŠNMSSAG DAUNԠNVԠUNԠNUMBҠϠAS ADAASZZ030060BANDSŠNMSSAG SAP05Ŭ H5DAB5Y̬HADS SBPNԠDUNԠؠUNԠ AUԠSBHԠAנHAS MPADDϬ HDNԬNV HŠNԠUNŠUSSNVԠϠNVԠHŠDN HŠAGϠA̠ANDMVSHŠHŠASɠDS HŠANSPDBYHŠBG. NԠNP SBMPSAVŠADDSSҠA̠DS SBNVԠNVԠAUA̠DϠA DAVԱADSԠD SAMP SZMPUNԠUPADDSS DAVԲ SAMP SZMP DAV3 SAMP MPNԬ HŠNVԠUNŠNVSHŠSNGŠDNHŠA G.ϠHŠASɠDS(A̠NVԱVԲANDV3. NVԠNP SAMP5SAVŠD DBADϠBAS A ANDD SSB ҠBԸNŠҠԠA̠DG ҠASZZ SAVԱ DAMP5GԠDBAK AƬA A̬A ANDBAVŠϠDGS DBASAVŠҠAH AƬA̠MSԠϠPSN ҠBҠHŠϠGH ANDB30 ҠASZZ SAVԲ DAMP5GԠDBAK ANDBAVŠASԠϠDGS DBA AƬA ҠB ANDB30 ҠASZZ SAV3SAVŠGHMSԠDGS MPNVԬɠUN HDY Y NVԠYNDҠABŠϠASɠANDSŠNMSSAG YԠNP DAP0ANAZ SAPNԠPN DAMM0- SASAV PADAԬɠYNDҠABŠPN DAA SBDNNVԠNUMB DAVԱUSŠGH ANDB3HAA AƬAƠ DBAVԱ DAVԲAND ANDP00 AƬAƠHAA ҠBƠVԲ SAPNԬɠҠS SZPNԠD DAVԲUS ANDB3GH AƬAƠHAA ҠB5ƠVԲ SAPNԬɠAND SZPNԠASɠMMA SZSAVŠҠSND DASAVŠD SSA MPP DBP0AMV ADBD9AS DABɠMMA ANDP00 ҠB0 SAB MPYԬ HDSK(PMNA̠SKS SKNP SAUNԠSԠUPUNԠNUMB SBSAԠGԠSAUS DASAUSSHS ANDNBԠUN SZAADY? MPSKɠN SBSKYSPMSK DAM56 SANԠAנ56MSNDSҠAG DBD SKU SBK DBD0 ò0Sà MPSK DAN SSASKPNMŠU MPSK SBPPUNԠPAN DAB0NϠàAG SA SBPN SBADDɬ MPSK SKU òAàGԠANNBS SAAN SBAS DAAN SZSK MPSK BUBDƠ HDN G000B N NGUSAHƠHŠHANNS NԠSBS SANSנSAVŠNGUANSHG ANDB SAHSAVŠYPŠSԠD DANSנADNGUANSHG AƬAƠSHԠGH A̬A̠Sؠ̠<ANS ANDB SAA̠SAVŠDAAHANN̠SԠD DBSB SBGBSAVŠSԠPN A SAAGAG- DBASB ASBGBSAVŠASԠPN BDBGBɠADPN DABɠADD ANDP00MASKUԠSԠD ҠA̠SUƠNNנSԠD SABɠSŠBAK PBGBɠDN? MPàYS SZGBN MPB àU SZAGSKPƠNԠDN MPUԠDN SZA̠NMNԠSԠD DBS SBGBSAVŠSԠPN DBASàADASԠPN MPA UԠU SԠUPDMA DANSנADNGUANSHG ANDBԱ SZASKPҠDMA6 ANAHSSDMA SAA DBSD SBGBSԠUPPN DDBGBɠADADDSSMAB DABɠADVAUŠM ANDP6MASKƠBԠ0 ҠA̠ADDDMAHANN̠B SABɠSŠ PBASDɠDN? MPŠYS SZGBNϬNNU MPD ŠU Ԡ00AנҠSϠDUMP MP00B SBDƠ+ DƠDMA DƠD0 DƠD0 DƠD03 DƠD0 DƠD05 DƠD06 DƠDñ DƠDñ DƠDñ3 DƠDò DƠDò3 DƠDñ ASBDƠ- SàDƠ+ DƠ0 DƠ0 DƠ03 DƠ0 DƠ05 DƠ06 DƠ÷ DƠ09 DƠñ0 DƠñ DƠñ DƠñ3 DƠñ DƠò0 DƠò ASàDƠ- SDDƠ+ DƠDMA DƠDMB DƠDM DƠDMD DƠDM DƠDM DƠDMG DƠDMH 0 B@MPAYSAG ɠSB+ DƠ DɠSB+ DƠD SB0SBAԬ SBSBA+ SBSBA+ SBŲSB+ DƠ. ASԠDƠSPԠASԠPAAMҠAB ASԠDƠSPԠASԠPAAMҠAB PSNPSԠPAAMҠABŠPN SPԠBSS56SԠBUҠƠSԠDS BUADƠBUƠAYNPUԠBU NԠNPHASNNPUԠBU PSNPHAҠPSNNPUԠBU BUƠBSS33HAAҠYNPUԠBU MADƠM MADƠMG MABDƠMGB MGADƠMG MGADƠMG MG3ADƠMG3 MGADƠMG MADƠM MADƠM M5ADƠM5 M5ADƠM5 M6ADƠM6 M6ADƠM6 M6YADƠM6Y MADƠM MADƠM M0ADƠM0 ű0ADƠM0 MADƠM űADƠM űYADƠMY MɠABS ASà00ANP.S MGASàP MGAASà3 MGBASà MGASà9-Ơ0-Sà0 MGASà9-Ơ0-SS0 MG3ASà9-3SƠ0-Sà0 MGASà9-SƠ0-SS0 MASà? MASàNP? M5ASà5-5NɠSý M5ؠASà M6ASà-6ҽ M6ؠASà5ؠSB M6YASà3YYYYYY MASà5-DɠSý MؠASà M0ASà6-0NɠSý M0ؠASà MASà6-UɠSý MؠASà3ؠSB MYASàYY AADƠA AԠBSS6NDԠADDSSAB SPà3 SUBUNŠϠHKҠҠMSSAG MNP A AND0000 SZASSHKSHS SZMBHSԠ-UNP+ MPMɠHҠSԠ-UNP+ SPà3 SUBUNŠϠHKҠҠHA HԠNP A A SSAHKSH SZHԠSԠ-UNP+ MPHԬɠSԠ-UNP+ SPà3 SUBUNŠϠHKSH ñUPNP A A SSASSHKSH SZñUPSԠ-UNP+ MPñUPɠSԠ-UNP+ SPà3 SUBUNŠϠPAKSԠDŠNMSSAG GVNSԠDŠNA GVNMSSAGŠADDSSNB SϠNP SAԱSAVŠD ANDB SAԲSAVŠBS-0 DAԱ ANDB0MASKBS5-3 AƬA̠MVŠϠBԠPSN0- ҠԲMGŠBS-0 ҠA00ADDASɠP SABɠSŠNMSSAG NBSPMSSAGŠADDSS MPSϬɠUNP+ SPà3 SUBUNŠϠPAK6A̠DGԠDNMSSAG GVNDNA GVNMSSAGŠADDSSNB ϠNP AƠGHԠUSYBS5- SA3SAVŠADNNS ANDBKPNYBS3-0 SBSϠPUԠSԠHASNMSSAG DA3 A A̬A SBSϠPUԠNDHASNMSSAG DA3 AƬA A SBSϠPUԠ3HHASNMSSAG MPϬɠUNP+ SPà3 SUBUNŠϠSԠNDƠPASSUNS P0NP DAASSԠNDƠPASSUN SAMGASŠASɠSPASNHŠ SAMGA+DSSANGAԠ.MGA SAMGA+ SAMGB ASԠNDƠPASSUNԠ(DSPAY SAPA SAPB MPP0 SPà3 SAԠà0àUNVYHNG DAM6MNDԠADDSSNGAB SAԱҠUNPDNUPS: DBAAAԠ_DƠU0 DAUAA+_DƠU0+ SԱSABɠA+_DƠU0+ NB. ADA. SZԱ MPSԱUNUŠҠ6DS SBP0SԠNDƠPASSUNS A A SSAHKSH MPSPSԠ-NϠNDUYMSSAG DA. DBMA SBSԬɠAҠ-PNԠNDUYMSG. SPà0àUNVYHNG SPà3 SԠ:HKƠ0-Sà0MBNAN Ơ0 Sà0 SS MPSԲƠ0-Sà0MBNANK SBMҠ-HKҠMSSAG MPԱ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Ա.HSBHԠHKҠҠHA HԠҠHA SPà3 SԠ:HKƠ0-SS0MBNAN SԲƠ0 SS0 MPS3Ơ0-SS0MBNANK SBMҠ-HKҠMSSAG MPԲ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Բ.HSBHԠHKҠҠHA HԠҠHA SPà3 SԠ3:HKSƠ0-Sà0MBNAN S3SƠ0 Sà0 MPSԴSƠ0-SàMBNANK Ơ0UNƠNP.SYSM SBMҠ-HKҠMSSAG MP3.HNϠҠMSSAG DA. DBMG3A SBSԬɠPNԠҠMSSAG 3.HSBHԠHKҠҠHA HԠ3ҠHA SPà3 SԠ:HKSƠ0-SS0MBNAN SԴSƠ0 SS0 SS MPHKNSƠ0-SS0MBNANK Ơ0UNƠNP.SYSM SBMҠ-HKҠMSSAG MPԴ.HNϠҠMSSAG DA. DBMGA SBSԬɠPNԠҠMSSAG Դ.HSBHԠHKҠҠHA HԠҠHA SPà3 HKҠNנSԠPAAMҠBU HKNà0àUNVYHNG DBAS PBAS MPNԠBUҠMPY-GԠNנNPU A SSASSHKSH5 MPPàSԠ-DϠNP.PYHK. SPà3 NנNPUԠƠSԠPAAMҠAB NԠDBAS SBASԠSԠBUҠPN SBP0SԠNDƠPASSUNS A A SSASSHKSH MPNSԠ-NPUԠSBYY SHGSҠNPU SNԠ0000NA̠HA:Խ0000 SNANPUԠSԠD ANDBKPNYBS5-0 SZASS MPSN3DNŠƠ0 SBPԠPUԠSԠDŠNSԠBU MPSNSԠDŠNPUԠ Ԡ000HAԠҠNԠNPU:Խ000 MPSNNNU SN3DBAS PBAS MPSNNPUԠ:NϠSS Ԡ00NA̠HA:Խ00 MPPàGϠDϠNP.PYHK YPŠNPU NANA DBMA SBSԬɠPNԠA"?" NSBNPUԠNPUԠDN NSBGNàGԠNԠA̠DG AƬAҠMVŠԠϠBԠPS.5-3 SAԱSAVŠԠMPAY SBGNàGԠNԠA̠DG ҠԱMGŠHŠDGS SZA MPN3MAYBŠDNŠƠ0 DBAS PBAS MPҠNPUԠ:NϠSS MPPàDNŠƠ0 N3SBPԠADDSԠDŠϠSԠBU SS MPNGϠGԠNԠSԠD ҠDA. DBMA SBSԬɠPNԠ"NP?" MPNYAGAN SPà3 SUBUNŠϠNPUԠYPŠN NPUԠNP DA.3 DBBUA SBKYBDɠSϠA̠-HAAS SANԠSAVŠHAAҠUN PA.3 MPҠϠMANYHAASƠ3 B SBPSSԠPSNƠNԠHA MPNPUԬɠUNP+B_PS0 SPà3 SUBUNŠϠGԠNԠHAAҠNA(-0 GNàNP GNñDBPSHGԠHAAҠPSN PBN SBNPUԠNDƠBUҠ-NPUԠNנN SZPSSPHAҠPSN ŬBŠ_HAҠPSB_.ADDSS ADBBUAGԠADDSSNBU DABɠGԠDƠHAS SZSS AƬAƠŽ0GHԠUSYHAA ANDB3SAŠHAA PAMMA MPGNñGNŠƠAMMA PASPA MPGNñGNŠƠASPA ADAN60SPƠASɠP SSA MPҠ:<0 ADAN0 SSASS MPҠ: ADAB0 MPGNìɠUNP+ SPà3 SUBUNŠϠPUԠSԠDŠNANSԠBU ƠSàNԠ0HUAҠBUҠUNP+ ƠSàSAADYNBUҬAҠBUҠUNP+ SŠNSԠԠNHŠBUҠUNP+ PԠNP SAԱSAVŠSԠDŠNY ANDB0 SZANԠ0HU MPPԲ PԱDBAS SBASԠSԠPNS MPPԬɠUNP+ PԲDBAS SS P3NB PBAS MPP9NDƠBUҠ-NSԠNY DAB PAԱ MPPԱDUPAŠSԠD MANA ADAԱ SSASS MPP3NNUŠUN̠NSԠADDҠUND SBԲSAVŠNSԠADDSS DBASԠMVŠSԠƠBUҠDN PԴADBM DAB NB PBԲ MPP9 SAB ADBM MPPԴ P9DAԱ SABɠNSԠD SZASԠSPA SZP MPPԬɠUNP+ SKP HSSNHKSHAԠHHŠN̠ANDAG'S SԠҠAHSԠDŠGVNNHŠSԠBUҬHAԠN NUPԠUSHHŠNUPԠSYSM. ANUNPDNUPԠHŠSUSNAAP̠HA HԽ030.ؠSHŠSԠ:nDŠƠHŠBADS. HŠPAҠSHUDNԠNNU.HKHŠNSGNA̠N NHŠNAŠADNSԠ. Pàà0àUNVYHNG DAM6 SAԱԱ_-6 DB.PUԠ030ؠHASNA̠AP DAH30S:ؽ003... PñSAB NA NB PBB00 SS MPPñ DBASԠSԠAGN̠'S PòPBASԠA̠SԠDSNAB MPP3 DABɠGԠSԠDŠ ҠS0MSàؠNSUN SA+PUԠԠNN NPUŠ DAB ҠS0MSƠؠNSUN SA+PUԠԠNN NPUŠ NB MPPòDϠҠNԠSԠD P3DAH3000_03000 DBH30_0300 SZԱGVŠԠAHANŠϠNUP MP- SPà3 HSSNHKSAHƠHŠSԠDSGVNNHŠS BUҠNDVDUAY.HKDA: .HAԠAHSԠNUPS .HAԠANDNUPԠDSN'ԠUҠNAHS 3.HŠNNSƠHŠNA̠NUPԠGSҠAҠHŠNP. .HAԠNϠUNPDNUPSU. HŠNA̠NUPԠGSҠSNԠHKDƠSH3SS. NϠNUPSSUԠNҠ5. NԠNA̠NUPԠGSҠNNSSUSNҠ6. DUBŠNUPSSUSNҠANDSVAB à0àUNVYHNG DAH60 DB.PUԠ060ؠHASNA̠AP Pñ0SABɠS:ؽ003... NA NB PBB00 SS MPPñ0 DBAS PñSBPSNԠBUҠADDSS DAB SASàPDSԠHANN DA SASìɠAP̠_SBҠ(NDԩ DAS ҠS0 MSàSàNSUN SA+SŠNN NPU DAS ҠS0MSƠSàNSUN SA+SŠNN NPU DAH600A_06000 DBH60B_0600 SƠ0UNNNUPԠSYSM NPGVŠԠAHANŠϠNUP NP Ơ0Ҡ-NϠNUP SBMHKҠҠMSSAG MPPñNϠҠMSSAG DAS DBM5A SBSϠMҠMSSAG DA. DBM5A SBSԬɠPNԠҠMSSAG PñSBñUPHKSH MPPñ3SԠ-NϠҠHA B DASàA_PDSԠD HԠ5ҠHA Pñ3DAS Ҡ0àMàSìàNSUN SA+SŠNN NPU DAH600 ҠS SASìɠAP̠_060ؠ(ؽSé DBPS NBNԠSԠBUҠADDSS PBAS MPPò0NDƠBU MPPñNԠNDƠBUҠ-NNU SPà3 PDNUPԠUN ҠNP Ơ0UNƠNUPԠSYSM A A̬A SSAHKSH3 MPҲSԠ-DN'ԠHKN.N.G. A SAҠSAVŠNA̠NUPԠGS PAS MPҲNNSK SBMHKҠҠMSSAG MP.HNϠMSSAG DA DBM6AMҠMSSAG SB DAS DBM6YA SB DA. DBM6A SBSԬɠPNԠҠMSSAG .HSBñUPHKҠҠHA MPҲNϠҠHA DAҠA_NA̠NP.G. DBSàB_PDNNS sHԠ6ҠHA ҲDAD SASìɠAP̠_SBDҠ(NDԩ DAM6 SAԱ DAH600A_06000 DBH60B_0600 SƠ0UNNHŠNUPԠSYSM SZԱA MP- Ơ0K-NϠNDNUP MPPñ3NNU DҠNPҠ-NDNUP Ơ0UNNUPԠSYSM SBMHKҠҠMSSAG MPDҲNϠҠMSSAG DAS DBMAMҠMSSAG SBS DA. DBMA SBSԬɠPNԠҠMSSAG DҲB DAS HԠVABŠҠHA MP-Խ000ASԠD SPà3 HSSNSSA̠HŠAGSNSƠA̠SԠDS GVNNHŠSԠBUҬHNHKSHAԠHŠNUPSUҠAS PDHNHŠNUPԠSYSMSUNDN. Ҡ0SUSƠANPDNUPԠDSN'ԠU. ANUNPDNUPԠSUSNҠANVAB HAԠ. Pò0à0àUNVYHNG DB. DASBSԠA̠APSHA PòSABɠSBɠϠHŠUNPD NANUPԠUNS NB PBB00 SS MPPò DBM6SԠNP'SNHŠUN SBԱADDSSSƠA̠UNPD A DBUA SAB ADB. SZԱ MP-3 DBASԠSԠNSAGSҠAH Pò3DABɠSԠDŠGVNNH ҠS0SԠBU. SA+ NPSàNSUN DAB ҠS0 SA+ NPSƠNSUN NB PBAS SS MPPò3 DBAS Pò6SBPSNԠADDSSNSԠBU DAB SASàSԠDŠƠNԠPDN DASBŲ SASìɠAP̠_SB.Ҡ(NDԩ DASB0A_SBU0(NDԩ DBSBB_SBU0+(NDԩ SƠ0UNNNUPԠSYSM NP NP Ơ0Ҡ-NϠNUP SBM MPPòNϠҠMSSAG DAS DBű0AMҠMSSAG SBS DA. DBM0A SBSԬɠPNԠҠMSSAG PòSBñUP MPPò5NϠҠHA B DASàA_SàƠPDNUP HԠ0BҠHA SS .ҠNP Ơ0UNƠNUPԠSYSM Pò5DAS Ҡ0 SA+MàSìàNSUN NPUŠ DAS ADASB0 SASìɠAP̠_SBɠϠUNPD DBPS NBNԠADDSSNBU PBAS SSNDƠBUҠ-DN MPPò6NNU DBM6DNŠ-BUԠMAKŠSUŠAN SBԱUNPDNP.DSN'ԠU DASB0 DBSB SƠ0UNNNP.SYSM SZԱ MP- Ơ0UNƠNUPԠSYSM SPà3 NDƠPASS PDBMABSPNDƠPASSUN NԲDABɠNMSSAG NA ҠB0 SAB ANDB PAB SS MPDN DAB ADAB366 ҠBԱ SAB ANDD00 PAD5000 SS MPDN DAA00 SAB ADBM MPNԲ DNŠSZPASPDSPAYNDƠPASSUN SS SZPB NP A ANDŲ000 SZAHKSHS0 MPPHҠSԠ-NϠPMSSAG DA. DBMA SBSԬɠMNB@MMP6+YS SBSKɬ DAM6 DBM6 SBY.ϬɠS SBNHԬɠHŠUNADDSS 6HԠ6SN SBNHANGŠN SPà SԠN̠S SPà ҠDAHAAP̠HAS DBHB Pұ3SàPҠSԠN PұSƠP à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH Pұ5ƠPҠAҠAG ASHG SSAAUϠNNUŠƠBԠ5S MPGD SBSKɬɠNԠS DAM DBMɷ SBY.ϬɠS DBHBAP̠HAS DAHA SƠ0 ŷHԠ SPà PSԠSԠ SPà Pұ6SàP MPű0+AGSԬNNU SBSKɬɠNԠS DAM0 DBMɱ0 SBY.ϬɠS SBNHԬ ű0HԠ0BPSԠDDNԠSԠAG DAHA DBHB PұSƠP PҲ0SàP NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH PҲSAPҠSԠHANN̠AP̠HA ASנG AƠSHԠBԠ9 A̬A SSASSSKPƠS MPű+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS űHԠBNDBɯ ASנGϠA MŬSSAYŠS? MPBɯϠYSPA MPGàNϬ SPà HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN SBSBұɠNUPԠUN ADDSDƠNP+ HDGà-DAASԠGàS GàNP DAN3Pɠ0MUSPDŠNԠN PҲAPҠDUPU SBDY PҲBƠPҠDAYƠNŠYŠNSSAY DANPɬPNDDSSDϬAҠ0 PҲ3AP SBDY PҲSSP MPű3+ SBSKɬ DAM3 DBMɱ3 SBY.Ϭ SBNHԬ ű3HԠ3BAGSSԠANDSHUDBŠ0 PҲ5APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPű+ DBMA SBDAAMDYMSSAG SBSKɬ DAM DBMɱ SBY.Ϭ SBNHԬ űHԠBBɠSAUSN SPà DAN3Pɠ0.PNDDSSDϬAҠ PҲ6AP SBDY PҲSSP MPű5+ SBSKɬ DAM5 DBMɱ5 SBY.Ϭ SBNHԬ ű5HԠ5BAGSSԠANDSHUDBŠ0 P30APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPű6+ DBMA6 SBDAAMDYMSSAG SBSKɬ DAM6 DBMɱ6 SBY.Ϭ SBNHԬ ű6HԠ6BBɠSAUSN SPà DANPɠMUSԠBŠUD P30BAP SBDY P30àƠPҠDAYƠNŠYŠNSSAY DANPɠ.PNDDSSDϬAҠ0 P3AP SBDY P3SSP MPű+ SBSKɬ DAM DBMɱ SBY.Ϭ SBNHԬ űHԠBAGSSԠANDSHUDBŠ0 P33APҬàBɠNϠA ANDMSKSԠBS-5 SZA SS MPŲ0+ DBMA0 SBDAAMDYMSSAG SBSKɬ DAM0 DBMɲ0 SBY.Ϭ SBNHԬ Ų0HԠ0BBɠSAUSSN SPà DAN5PɬPND.DSSDϬAҠ0 v P3AP SBDY P35SàP MPŲ+ SBSKɬ DAM DBMɲ SBY.Ϭ SBNHԬ ŲHԠBAGS0ANDSHUDBŠS P36APҬàBɠNϠA SSASԠBԠ5 MPŲ+ SBSKɬ DAM DBMɲ SBY.Ϭ SBNHԬ ŲHԠBBɠBԠ5SHUDBŠS SPà DANSԠA̠US P3AP SBDY PҴ0ƠPҠŠɯϠAGA DAN6PɬDSS.PNDDϬAҠ0 PҴAP SBDY PҴSàP MPŲ5+ SBSKɬ DAM5 DBMɲ5 SBY.Ϭ SBNHԬ Ų5HԠ5BAGS0ANDSHUDBŠS PҴ3APҬàBɠNϠA A̠SԠBԠ SSA MP35+ SBSKɬ DAM35 DBM35 SBY.Ϭ SBNHԬ 35HԠ35BBɠBԠSHUDBŠS SPà DANPɬDϠ.PNDDSSAҠ0 PҴAP SBDY PҴ5APҬàBɠNϠA A̬A̠SԠBԠ3 SSA MPŴ0+ SBSKɬ DAM0 DBMɴ0 SBY.Ϭ SBNHԬ Ŵ0HԠ0BBɠBԠ3SHUDBŠS SPà DANSԠA̠US PҴ6AP SBDY PҴƠPҠŠɯϠAGA DANPɬAҠ.PNDDSSDϠ0 P50AP SBDY P5SàP MPŴ3+ SBSKɬ DAM3 DBMɴ3 SBY.Ϭ SBNHԬ Ŵ3HԠ3BAGS0ANDSHUDBŠS P5APҬàBɠNϠA AҬAƠSԠBԠ SSA MPŴ6+ SBSKɬ DAM6 DBMɴ6 SBY.Ϭ SBNHԬ Ŵ6HԠ6BBɠBԠSHUDBŠS SPà 1ASנG A A̬A̠SHԠBԠ9 SSASS MP50+ SBSKɬɠUNSM-AU DAM50 DBM50 SBY.Ϭ 50HԠ50BNDG A MŬSSAYŠS? MPGàYS MPDPҠNϬ HDDPҠ-DGԠPSNԠS DPҠA SSAYŠS? MPH5+YSSKPYPU DAM5 DBM5 H5SBY.Ϭ DAP0SԠUN SADY P53àP DAN0Ѡ ҠN9PND P5APҠUNNGHԠDS DAN9PND P60APҠGHԠUNSN SBDYDAY DANUNƠGH P55AP SBDYDAY SZDY MPP53+ SPà ASנG A A̬A̠SHԠBԠ9 SSASS MP5+ SBSKɬɠUNSM-AU DAM5 DBM5 SBY.Ϭ 5HԠ5BNDDP A MŬSSAYŠS? MPDPҠYS MPMϠNϬ P0Ԡ0 DYNP SPà DYNPDAYABUԠS A SZA SS MPDY NP NP NP NP NP NP NP NP MPDY+ HDMϠ-MUPŠNŠPN MϠNP A SSAYŠS? MPH53+YSSKPYPU DAM53 DBM53 H53SBY.Ϭ DAP60SԠDAY SAN3 DAN0Ѡ P56AP ASנG MA ANDMSK ҠN9ANDPNDHSנGBS0-3 P5AP SZNԴDAYABUԠNŠMN MPP56+ SZN3 MPP56+ SPà ASנG A #A̬A̠SHԠBԠ9 SSASS MP5+ SBSKɬɠUNSM-AU DAM5 DBM5 SBY.Ϭ 5HԠ5BNDM A MŬSSAYŠS? MPMϠYS MPNDNϬ N3NP NԴNP P60Ԡ60 HDSVŠANDSUBUNS NDDAM DBMɷ SBY.Ϭɠ̠PAҠSԠSNSHD ŷHԠB MPSԱ SPà SUBUNS SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBA000MDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBA0003MDYUNADDSS ASנGϠA A SSAPSUPPSSD? MPBɠYSSKPPNU MPSKɠNϬԠANDPN SPà NHɠNPƠBԠNSנGSԬDϠN SZNԲHAԠNSAYA SSS.ASԠSGNԠNNԲ SZNԱANDMSԠSGÒ'<:6S ̲U+-M-M M5ASà9Ų5.PɬDSS.PNDDϬAҠ0. ASà6AGSAҠANDSHUDBŠS ̲5U+-M5-M5 M35ASà035.BɠSAҠANDSHUDBŠS 35U+-M35-M35 M0ASà9Ŵ0.PɬDϠ.PNDDSSAҠ0. ASàBɠ3SAҠANDSHUDBŠS ̴0U+-M0-M0 M3ASà9Ŵ3.PɬAҠ.PNDDSSDϠ0. ASà6AGSAҠANDSHUDBŠS ̴3U+-M3-M3 M6ASà0Ŵ6.BɠSAҠANDSHUDBŠS ̴6U+-M6-M6 M50ASàH50.NDG 50U+-M50-M50 M5ASà6H5.DSSHUDUNƠANDN 5U+-M5-M5 M5ASà6H5.NDDP 5U+-M5-M5 M53ASàH53.DSSHUDUNƠANDNHN ASà3BS0-3ƠHŠSH Ԡ6 ASà3GSҠAŠSԠANDS 53U+-M53-M53 M5ASà6H5.NDM 5U+-M5-M5 MASàH.DAASԠ59ADAGNSàHAS ASàBNMPD ̷U+-M-M AMUSԠDAVAABŠMMY ND m<  24222-80001 A S 0122 2100A MEMORY PROTECT TEST             H0101 e ASMBAB̬Ԭ HDHP00AMMYPԠDAGNS G00B SԱMPSҬ SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY SPà נMMYPGAMSABSANDNSANS SPà G0B PSBPDPAŠD SZV SZN SZNà(NŠ- PSBMDMVŠD SBSDSԠDŠƠSPA̠S DAN PANDSHSHŠND? MP+6YS AMPNMNԠHŠN SƠ0NABŠNS SàMPUNNMP NP MPNŬɠUŠSPA̠S SBPDPAŠDŠBŠNGP MP+ DƠҲ(BAKϠMANPGAM SPà BNԠDƠ+ NP SZBN+ MPBN+ ZDNP ZŠMP+ DƠZű ZƠDƠ+ MP+ DƠZŲ ZGNP MPZG ZHDƠ+ NP MP- AƠMP+ DƠAN ANNP MP- ʱSB+ DƠNԱ ʠàMP DAAɠDƠDAA ҠNP NDNP NàNPNŠ- NŠNP V̠NP SNP P00Ԡ00 P0Ԡ-0 AԠ ABNP ABDƠAB ABBSS0BMPAYSAGŠAA SPà SPA̠SԠPGAMHAԠSUDN A̠ƠMMY SPà ABNP ABDƠAB ABDANìɠNԠ ʲSANìɠNԠNϠҬNϠNԠ SàMPŠNԠϠPԠ DANŬɠNԠ SANŬɠNԠ àMPNԠNϠҬNϠNԠ Ơ0NԠ MPجɠNϠNԬPԠ SPà ؠDƠ+NϠNSAҠUNGSPA SBPDPGAM DAN DBŲ SBDAAɬ 33SBҬɠNϠNUPS MPP+ SPà PDNPPAŠD DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPPD SPà MDNPMVŠD DAP0 SA DAAB SAAB DBN DAB SAAB NB SZAB SZ MP-5 MPMD SPà SDNPSԠSPA̠D DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPSD SPà NԱNP Ơ0 AMP DBA PBʲSԠGA̠N? MPSԠYSNNUŠSPA̠S PBʠSԠGA̠N? MPPYSSPSԠKSϠYAGAN SBSSAVŠBMP SBPDPAŠD DAS DBV SBDAAɬɠNSUNNMSG AMP DB SBDAAɬɠVAN.NMSG DAN DBN SBDAAɬɠNŠ.NMSG 3SBҬɠGA̠NUP MPP+ SԠSBV AMP ADAA SƠ0NABŠNS SàMPUNNMP NP MPAɠUNϠSPA̠S SPà VؠNP AMP PAV̠V̠GK? MPVجɠYS SAS SBPD DAS DBV SBDAAɬɠNԠDAANMSG DAV DBVSԠDAA SBDAAɬɠNMSG 3SBҬɠVANGSҠN MPP+ SPà MMNABSANDNSANS SPà àABS- ҠDƠ+ҠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠű0 DƠű DƠű DƠű6 DƠű DƠŲ0 DƠŲ DƠŲ DƠŲ5 DƠŲ6 DƠŲ DƠ30 DƠ3 DƠ33 DƠ3 DƠŴ0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠŷ0 DƠŷ ҠDƠ SPà HԠDƠDDHAԠAB HԠ HԠ HԠ3 HԠ HԠ5 HԠ6 HԠ0B HԠB HԠB HԠ6B HԠB HԠ0B HԠB HԠB HԠ5B HԠ6B HԠB HԠ30B HԠ3B HԠ33B HԠ3B HԠ0B HԠ50B HԠ5B HԠ60B HԠ6B HԠ6B HԠ63B HԠ6B HԠ65B HԠ0B HԠB SPà MɠDƠMSSAGŠADDSSAB DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM0 DƠM DƠM DƠM6 DƠM DƠM0 DƠM DƠM DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM33 DƠM3 DƠM0 DƠM50 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM0 DƠM SPà M̠DƠMSSAGŠNGHAB DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̱0 DƠ̱ DƠ̱ DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲  DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ33 DƠ3 DƠ̴0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ̷0 DƠ̷ SPà SԠDƠ+ABŠƠSԠDSϠB DƠHMDD DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH3 DƠH DƠH5 DƠH6 DƠH DƠH DƠH9 DƠH30 DƠH3 DƠ DƠH DƠDH DƠHԷ ASԠDƠ- SPà A00ԠMMNNSANSANDSYMBS A0003Ԡ3 A000Ԡ00 MNԠ6 MN3Ԡ5 HԠԠ0600 ؠƠH 0Ơ0 A03Ԡ3 DŠԠ0000 ؠNP BDƠ+ Ԡ Ԡ Ԡ Ԡ3 Ԡ Ԡ5 Ԡ6 BؠԠ MN0Ԡ-0 MPؠMP+ DƠN NYNP NP NؠԠ000 Ԡ000 NNP NP NؠDƠ+ NP NP A0300Ԡ300 ANŠDƠA ANàDƠAN NDƠM3+ ŠDƠM3+3 VԠDƠM3+50 ŲDƠM33+9 VɠDƠM3+9 VSDƠM3+30 MPɠDƠMP SBɠDƠSB MSABSM+6 MDABSM+ MƱABSM+6 P0000Ԡ0000 HҠNP HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN HԷԠ0000 DHNP ϠNP SPNP ̠Ԡ ɠDƠ+ Ԡ006Ҭ SAɠDƠSA àDƠM0+3 V̠DƠM0+60 ɠDƠM0+9 MàDƠM50+w ŠDƠM50+5 NSԠDƠM50+3 MòDƠM5+3 ŲDƠM5+53 NSԲDƠM5+33 ZAԠ3 ZBԠ6 ZàԠ6 MPU5MMYP AU0AG BUBG HU0BNA̠VAUŠƠSԠD SPà SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN ҠDƠ ADDSDƠNP+ ʱSB+ DƠNԱ ʲSB+ DƠNԲ ʴSB+ DƠNԴ 5SB+ DƠN5 6SB+ DƠN6 ʷSB+ DƠNԷ 9SB+ DƠN9 ʱ0SB+ DƠNԱ0 ʱSB+ DƠNԱ ʱ3SB+ DƠNԱ3 ʱSB+ DƠNԱ ʱ5SB+ DƠNԱ5 ʱ6SB+ DƠNԱ6 ʱSB+ DƠNԱ ʲ0SB+ DƠNԲ0 ʲSB+ DƠNԲ ʲSB+ DƠNԲ MɷDƠM MDƠ̷ MɱDƠM MDƠ̱ Mɱ3DƠM3 M3DƠ̱3 MɲDƠM MDƠ̲ M3DƠM3 M3DƠ3 M3DƠM3 M3DƠ3 MɴDƠM MDƠ̴ M53DƠM53 M53DƠ53 MɷDƠM MDƠ̷ ұDƠN SҠDƠSA HDNAZANPGAM HSPGAMSSAP ̠HASNA̠ɯϠANSANDMDSHŠPN ɯϠNSUNSNDVASHGS SPà G000B SAԠà0àUNVYHNG DBBDMNŠŠSZ SB PDBج ADBP00 DAB SBB PBB MP+3 ŷ0SBҬɠDSABŠHŠAD MPSA SAB DBج SZ DAB SBB PBB SS MPU SAB MPP UԠSBHҠHGHSԠMMYAN SPà DBA D`0AHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA APKUPSDHANN̠M ANDA00BS0-5ƠH SAϠSHGS DBSԠMDYɯϠNSUNS SBSP ̠DBSP DAB ANDP00 Ҡ SAB PBASԬɠNSHD? MP+3YS SZSP MP ASHGϠA SSASKPƠBԠ5S0 MPBɯϠPAԠSԬMԠҬ SBSKɬ DA DB SBY.ϬɠUPUԠҬ HDBɯϠ-BASàɯϠS HSPGAMSSHŠPNҠɯ SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà BɯϠDAHAAP̠HAS DBHB HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS űSBҬɠAUSDSKPHAGA H3SàH ŲSBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 3SBҬɠAUSDSKPHAGS H6SSH ŴSBҬɠSSNϠSKPHAGS SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 5SBҬɠDDNԠNUP MP NNPNUPԠSUBUN Ơ0DSABŠNUPS DAHàAP̠HA SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠUNADDSSSN SBNHANGŠN SPà SԠN̠S SPà ҠDAHàAP̠HAS SADH DAHA DBHB HSàHSԠN HSƠH à0SHUDAҠA̠N̠BS SƠ0NAB NPSHUDN NPNUPԠH Ơ0 HàH ASHG SSAAUϠNNUŠƠBԠ5S MPGD SBSKɬɠNԠS DAM DBMɷ SBY.Ϭ DBHB DAHA H0SàH H3ƠHAҠAG SƠ0 HHԠ SPà PSԠSԠ SPà HSSH ű0SBҬɠPSԠDDNԠSԠAG DAHA DBHB H5SƠH H6SàH NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH SADHɠSԠAP̠HA ASנG AƬAҠSHԠBԠ SSASSSKPƠS MPH+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS A HHԠBNDBɯ ASנGϠA A SSAYŠS? MPBɯϠYSPA HDMP HSPGAMSSHŠMMYPԠɯϠNSUNSH AANDBGSSHŠPSʼn@ԠSH MPNUPNGBUԠANGϠPԠMMYND UMPNUPԠGAŠM65DANDNDԠADDSSNGHUGH PDAAS SPà HSSNSSHŠSìABAAND BNSUNSҠHŠMPPN SPà MPϠNP DAʱ6SԠNԠADDSS SAMP DAN SAN AMP SƠ0 SàMP NP SAҠSAN Ơ0ŠNԠANDUN+ 6SBҬɠNϠNUPԬSàҠAMGH MPBҠHAVŠADҠNϠMPNSAD SPà NԱ6NP Ơ0 AMP DBA PB0ASԠƠ0? MP6YS PASAɠMPAŠV̠GHàSA SS 63SBҬɠNԠNԠNGHԠPAŬA BMPMGHԠHAVŠAD PBSA SS 6SBҬɠNԠNԠNGHԠPAŬB SPà BҠDAʱ SAMP DBN SBN BMP SƠ0 SàMP NP SBN Ơ0ŠNԠANDUN+ 65SBҬɠNϠNUPԬSìBMGH MPANBHAVŠADҠNϠMPNSAD SPà NԱNP Ơ0 AMP DBA PB0 MP65 SPà SԠHŠAANDBGSS SPà ANBDAʱSԠNԠADDSS SAMP DAN SAN SAN AMP SƠ0NABŠNS SàMPUNNMMP NP SABSHUDNԠNԠH SBAҠH Ơ0BUԠKH MPPS SPà NԱNPAANDBGSҠNԠUN Ơ0 AMPVANGSҠNNSϠA DAAɠNSUNϠA PA0GA̠N? MPPSԠYS DBMSPԠHŠ ]SBDAANSUNNϠMSG AMP DBMD SBDAAANNϠMSG DAN DBMƱ SBDAANŠNϠMSG űSBҬɠAANDBGSҠSԠAD SPà SԠABYƠPSԠϠUNƠMMYP SPà PSԠASנG SSASKPSԠƠAUϠS MPPV SBSKɬɠNԠS DAM3 DBMɱ3 SBY.Ϭ DAʲSԠNUPԠADDSS SAMP DAN SAN AMP SƠ0 SàMPUNNMP DAM SAM SZM3MŠUԠҠ5SNDS MP- SZM MP-3 SƠ0NABŠNS-SHUDAUS DAN SAN Ơ0 MPPVϠSԠK MNP MDà-50 M3NP SPà NԲNP Ơ0 űSBҬɠPSԠDDNԠUNƠMP SPà SԠҠMMYPԠϠNUPԠAND S̠A̠ϠPԠMMY SPà PVϠDAʱ5SԠN SAMP DAN SAN AMP SƠ0 SàMP A SAN Ơ0ŠNԠANDUN+ 60SBҬɠNϠNUP MP SPà NԱ5NP Ơ0 AMP DAA PA0 MP60 DAN PAN SS 6SBҬɠMPNԠANDVANUD SPà SԠNDԠUMPNUPԠGAŠM65D BYSNGAGϠANDUNGSBBNԬ.ƠGAŠSBAD PHASŠƠHŠNGNSUN̠BŠUDHHN HSASŠSA. SPà ɠDAʴ SAMP DAN SAN AMP SƠ0 SàMPUNNMP ANA SBBNԬɠSHUDNԠHŠANDUNA ANԠS Ơ0CŠNԠϠDSABŠMP űSBҬɠNϠNUP MPAPA SPà NԴNP Ơ0 SZA MP+3 ű6SBҬɠGAŠAD MPAPA AMP DAA PA0 MPű MPAPA SPà SԠNDԠADDSSNGHUGHPDAAS SPà APADA5 SAMPSԠNUPԠADDSS DAN SAN AMP SƠ0 SàMPUNNMP DAN SAN Ơ0NUPԠHŠANDUN MP SPà N5NP Ơ0 AMPV̠G DAAɠNSԠϠA PA0GA? SSYSPD Ų0SBҬɠNDԠADDSSNGHUGH SPà SԠAP̠NSUNS SPà ANɯϠNSUNUDNAP̠̠NԠUNƠMP AND̠NԠAUSŠANMPNUP SPà ɠDAؠSԠɯϠNSUNNAP SADHɠ̠(PNҩ DA6 SAMPSԠNԠADD DAN SAN AMP DAHA DBHB HSàHGNAŠN HSƠHHNUŠAP̠NS SƠ0 SàMPUNNMP NPҠ̠AUSŠN NP Ơ0 MPŲ SPà ANNɯϠNSUNUDNAP̠̠UNƠMP AND̠NԠAUSŠANMPNUP SPà NϠDAMPؠSԠNNɯϠNSUNNAP SADHɠ DAʷ SAMPSԠNԠN DAN SAN AMP H9SàHGNAŠNԠHN H0SƠHUŠAP̠NS SƠ0 SàMPUNNMP NPSHUDNԠH NɠƠ0NԠHŠS SPà ASנG AƬA SB@ * LDB * JSB READ * READ NOP CMA,INA STA RDCNT STB RD10 JSB %READ UTILITY READ ROUTINE DEF *+5 DEF IO/LU RD10 DEF * DEF RDCNT JMP NDFIL END OF FILE ERROR RETURN STB A SET # CHAR INA JMP READ,I RETURN RDCNT NOP NDFIL JSB EXEC DEF *+5 DEF .2 DEF .1 DEF ENDFA DEF .6 JMP STOP1 ENDFA ASC 6,END OF FILE * WRITE ROUTINE OUTPUTS ONE LINE TO OUTPUT DEVICE * * CALLING SEQUENCE: * LDA # OF CHARS(+) OR 0 IF SINGLE SPACE * LDB BUFFER ADDRESS * JSB WRITE * WRITE NOP SZA,RSS CHECK IF TO SPACE 1 LINE JMP WSPAC YES CMA,INA CONVERT CHARS TO DOS CHAR COUNT STA WRCNT STB WRI10 STORE BUFFER ADDRESS JSB EXEC OUTPUT ONE LINE DEF *+5 DEF .2 DEF .6 WRI10 NOP DEF WRCNT JMP WRITE,I RETURN * WSPAC JSB EXEC OUTPUT SINGLE SPACE DEF *+4 DEF .3 DEF OCTCL DEF .1 JMP WRITE,I RETURN STOP JSB EXEC DEF *+5 DEF .2 DEF .1 DEF BMESS DEF M16 STOP1 LDA SVSUB GET ORIGINAL SUBCHANNEL # LDB SAVE. IF LUN IS = 2 CPB .2 GO RESTORE SUBCHANNEL # JSB CHGSC TO ORIGINAL VALUE. LDA TDEFS LDB DEFS JSB EXEC RESTORE ORIGINAL JFILS DEF *+2 DEF N19 LDA TDEFC RESTORE ORIGINAL JFILC JSB EXEC DEF *+2 DEF N19 JSB EXEC COMPLETION REQUEST DEF *+2 DEF .6 BMESS ASC 8, X-REF COMPLETE * * KEYBD READS INPUT FROM SYSTEM TELETYPE FOR SETTING * CROSS-REFERENCE GENERATION SEARCH LIMITS * * CALLING SEQUENCE: * * LDA <# CHARACTERS(+)> * LDB =16 ? JMP CASEA YES ADA K7 SSA,RSS X>=.125 ? JMP CASEB YES ADA K8 SSA,RSS X>=.00005 ? JMP CASEC YES CASED LDA X LDB X+1 ABS(ANS)=X CKNEG STA X LDA SGN SSA WAS X<0 JMP COMP YES LDA X JMP EXIT COMP LDA X JSB ..FCM EXIT JSB $LIBX DEF TDB DEC 0 CASEA LDA K1 LDB K1+1 ABS(ANS)=1 JMP CKNEG CASEB LDA X LDB X+1 JSB .PWR2 DEF D1 JSB EXP NOP STA F STB F+1 F=EXP(2*X) FAD K1 STA T STB T+1 T=F+1 LDA F LDB F+1 FSB K1 FDV T JMP CKNEG ABS(ANS)=(F-1)/T CASEC LDA X LDB X+1 FMP A STA F STB F+1 F=A*X FMP F STA F2 STB F2+1 F2=F**2 FAD D STA T STB T+1 T=F2+D LDA C LDB C+1 FDV T FAD B FMP F2 FAD A STA T STB T+1 T=A+F2*(B+C/T) LDA F LDB F+1 FDV T JMP CKNEG ABS(ANS)=F/T M5 DEC -5 K7 DEC 7 K8 DEC 8 K1 DEC 1. A DEC 5.7707801636 B DEC .01732867951 C DEC 14.1384114018 D DEC 349.6699888 D1 DEC 1 TDB NOP DEC 12 NOP SGN OCT 0 X BSS 2 O T BSS 2 F BSS 2 F2 BSS 2 END ASMB,R,B,L,F NAM .RTOR,6,0,0,0,0,0,0,0 ENT .RTOR EXT ALOG,EXP EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALL.. * * JSB .RTOR (RESULT FLOATING) * DEF BASE (FLOATING) * DEF POWER (FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES BASE**POWER. * .RTOR NOP JSB $LIBR DEF TDB LDA TDB+2,I STA BASE ISZ TDB+2 LDB TDB+2,I STB PWR ISZ TDB+2 DLD PWR,I PICK UP POWER STA PWR STB PWR+1 DLD BASE,I PICK UP BASE STA BASE STB BASE+1 LDB PWR SZA,RSS BASE=0 ? JMP BZER YES SZB,RSS POWER=0 ? JMP PZER YES SSA BASE<0 ? JMP FAIL YES LDB BASE+1 JSB ALOG JMP FAIL+2 FMP PWR JSB EXP JMP FAIL+2 JMP EXIT ANS=EXP(POWER*ALOG(BASE)) BZER SZB SSB POWER<=0 ? JMP FAIL YES CLB NO JMP EXIT ANS=0 FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 PZER LDA E1 ANS=1 LDB E1+1 EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,04UN E1 DEC 1. TDB NOP DEC 7 NOP BASE BSS 2 PWR BSS 2 END ASMB,R,B,L,F NAM TAN,6,0,0,0,0,0,0,0 ENT TAN EXT .PWR2,..FCM,.IENT,.CHEB,FLOAT EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALLING SEQUENCE.. * * DLD X (FLOATING,RADIANS) * JSB TAN (RESULT FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES TAN(X) * TAN NOP JSB $LIBR DEF TDB FMP FOPI STA X STB X+1 X=4*X/PI FAD K1 JSB .PWR2 DEF DM2 JSB .IENT JMP FAIL  JSB FLOAT JSB ..FCM JSB .PWR2 DEF D2 FAD X STA X STB X+1 X=X-4*ENTIER((X+1)/4) FSB K1 STA FLAG SSA X<1 ? JMP ELSE1 YES LDA K2 NO LDB K2+1 FSB X Y=2-X BOTH1 STA Y STB Y+1 FMP Y FMP K2 FSB K1 JSB .CHEB DEF COEFF FMP Y STA Y STB Y+1 Y=Y*CHEBY(2*Y**2-1) LDA FLAG SSA X<1 JMP ELSE2 YES LDA K1 NO LDB K1+1 FDV Y JMP EXIT ELSE1 LDA X LDB X+1 JMP BOTH1 Y=X FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 ELSE2 LDA Y LDB Y+1 EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,09OR DM2 DEC -2 D2 DEC 2 FOPI DEC 1.273239545 4/PI K1 DEC 1. K2 DEC 2. COEFF DEC 1.4458E-8 DEC 2.013766E-7 DEC 2.804816E-6 DEC 3.906637E-5 DEC 5.4417038E-4 DEC 7.586101578E-3 DEC .10675392857 DEC 1.7701474227 OCT 0 TDB NOP DEC 8 NOP FLAG OCT 0 X BSS 2 Y BSS 2 END ASMB,R,B,L,F NAM EXP,6,0,0,0,0,0,0,0 ENT EXP EXT .IENT,FLOAT,.PWR2 EXT $LIBR,$LIBX * * REAL TIME EXECUTIVE RE-ENTRANT LIBRARY ROUTINE * * * CALL.. * * DLD X (FLOATING) * JSB EXP (RESULT FLOATING) * (ERROR RETURN) * (NORMAL RETURN) * * CALCULATES EXPONENTIAL OF X. * EXP NOP JSB $LIBR DEF TDB FMP L2E STA F STB F+1 F=X*LOG2(E) JSB .IENT JMP FAIL ERROR IF EXPO(F) >=15 STA INT INT=ENTIER(F) JSB FLOAT STA TMP STB TMP+1 TMP=ENTIER(F) LDA INT ADA M124 SSA,RSS F>=124 ? JMP FAIL YES, ERROR ADA E244 F<-120 ? SSA JMP ZER YES, ANS=0 LDA F LDB F+1 [ FSB TMP STA F STB F+1 F=F-ENTIER(F) FMP F STA F2 STB F2+1 F2=F**2 FAD A STA TMP STB TMP+1 TMP=F**2+A LDA B LDB B+1 FDV TMP STA TMP STB TMP+1 TMP=B/TMP LDA C LDB C+1 FMP F2 FAD D FSB F FSB TMP STA TMP TMP=-F+D+C*F**2-TMP STB TMP+1 LDA F LDB F+1 FDV TMP FAD HLF ISZ INT INT=INT+1 NOP JSB .PWR2 DEF INT JMP EXIT ANS=(.5+5/TMP)*2**INT FAIL LDA ASCII LDB ASCII+1 JSB $LIBX DEF TDB DEC 0 ZER CLA CLB EXIT JSB $LIBX DEF TDB DEC 1 ASCII ASC 2,07OF M124 DEC -124 E244 DEC 244 A DEC 87.417497202 B DEC 617.9722695 C DEC .03465735903 D DEC 9.9545957821 L2E DEC 1.4426950409 LOG BASE 2 OF E HLF DEC .5 TDB NOP DEC 10 NOP INT BSS 1 F BSS 2 TMP BSS 2 F2 BSS 2 END ASMB,R,B,L,F HED <> NAM RSFLG,7 * ENT RSFLG,#RSFG EXT .ENTR * * * THIS ROUTINE IS USED BY CERTAIN BASIC DEVICES SUBROUTINES TO * SET A FLAG(#RSFG). THIS FLAG IS INTEROGATED BY 'CALSB' WHICH IS * THE BASIC SUBROUTINE PARAMETER PASSING MODULE. IF THIS * FLAG IS SET BY CALLING THIS ROUTINE THEN BASIC WILL * PERFORM A SAVE RESOURCES TERMINATION. IF THIS ROUTINE IS NOT * CALLED (WHICH IS THE NORMAL CASE) THEN BASIC WILL PERFORM A * SERIAL RE-USABLE TERMINATION. * * THE ROUTINES THAT NEED TO CALL THIS ROUTINE ARE DEFINED AS * THOSE THAT STORE VARIABLES LOCALLY OR MODIFY THEMSELVES IN * ANY WAY WHAT-SO-EVER. AN EXAMPLE OF THIS WHERE A USER CALLS * A DEVICE SUBROUTINE TO STORE A DEVICE LOGICAL UNIT NUMBER * LOCALLY FOR USE BY SUBSEQUENT SUBROUTINE CALLS. * * RSFLG NOP JSB .ENTR DEF RSFLG CLA,INA SET FLAG FOR SAVE RESOURCE 640STA #RSFG TERMINATION JMP RSFLG,I * #RSFG DEC -1 END g6   24248-80002 B S 0122 RTE/DOS RELOCATABLE LIBRARY-FLOATING PT             H0101 r ASMBҬB̬ HDMAG.APŠUNNUSS NAMMAGP NԠƬҬԬDSA̬SԬSB Ԡ.NҬ SKP UN.NPUN-NŠNUMBҠPAAM. ƠNPNYPN. SB.NҠ"A"HN(PAAM. DƠUN. DAUN.ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬŬAƠSHԠHŠ""BԠϠ5. MPƬɠUN. SPà .UNԠNPUN-NŠNUMBҠPAAM. ҠNPNYPN. SB.NҠ"A"HN(PAAM. DƠ.UN DA.UNԬɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. ANDB0000SAVŠHŠҠBSNY. ŬSZAŠHŠANYS? AŬAҠYSSϠMAKŠ"A"NGAV. MPҬɠNϬUN. SPà U.5NPUN-NŠNUMBҠPAAM. ԠNPNYPN. SB.NҠ"A"HN(PAAM. DƠU.5 DAU.5ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬŬAƠSHԠHŠ""BԠϠ5. A̬ŬA̠SHԠHŠ""BԠϠ5. MPԬɠUN. SPà UNɠNPUN-NŠNUMBҠPAAM. DSNPNYPN. SB.NҠ"A"HN(PAAM. DƠUN DAUNɬɠADHŠUN-NŠNUMB. SASԠGA̠UN SBàɯϠSAUS DƠ+5 DƠSAàSAUSUSԠD DƠS DƠSA.DUMMY DƠSA.DUMMY AU00000BDNSHŠADDSSƠ"A". SBASŠHŠGN"A"ҠUN. AŬAMVŠHŠMDŠ̟AG. MPDSɠUN. SPà UN.ƠNPUN-NŠNUMBҠPAAM. A̠NPNYPN. SB.NҠ"A"HN(PAAM. DƠUN. DAUN.ƬɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AҬŠSHԠHŠ"A"BԠϠ5. MPA̬ɠUN. SPà U.0NPUN-NŠNUMBҠPAAM. SԠNPNYPN. SB.NҠ"A"HN(PAAM. DƠU.0 DAU.0ɠADHŠUN-NŠNUMB. DBDSDADDYNAMàSAUSD SBSA.GϠGԠHŠUNԠSAUS. AƬAƠSHԠHŠ"S"BԠϠ5. A̬ŠSHԠHŠ"S"BԠϠ5. MPSԬɠUN. SPà U.NPUN-NŠNUMBҠPAAM. SBNPNYPN. SB.NҠ"A"HN(PAAM. DƠU. DAU.ɠADHŠUN-NŠNUMB. DBSBDADNDSANDBYD SBSA.GϠUŠHŠUS. MPSBɠUN. SPà SA.NPNYPN. SZASHŠUN-NŠZ(0? SSANϠ-SԠNGAVŠ? MPSA.ɠYS-UN ANDB0000SAVŠHŠUNԠNUMBҠNY. BU0000BDNSHŠADDSSƠ"B". ҠBNUDŠHŠPAND. SASԠSUPHŠUSԠD. SB DƠ+3 DƠD DƠS MPSA.ɠUN. SPà3 BGN"A̠SAG". SPà SAàDà3 DŠDà3 DSDԠ000600 SBDԠ000500 SԠԠ0USԠD SPà NDƠ"A̠SAG". SPà ND ASMBҬB̬ HDANSҠPAAMS NAM.NҬ6 NԠ.NҬ.NP Ԡ$BҬ$B ?SPà ANGSUNS: SUBUNŠA: SBSUB DƠ+(N+ AG AG . . . AGN UYUNS: PAMBSSM SUBҠNP SB.N DƠPAM PVGDUNS: PAMBSSM SUBҠNP SB$B NP SB.NP DƠPAM 3-NANԠUNS: PAMBSSM SUBҠNP SB$B DƠDB SB.NP DƠPAM SADB+ SPà .NPNP SB$B NP DA.NP SA.N DAD- MPNN .NҠNP SB$B NP A NNԠSAA DB.NҬɠBSUBҠ-M SBDS MBBM-SUBҠ- ADB.NҠBM+ ADBAàBM-Ҡ-NANԠҠPV SBMPS ADBDSԠBSUBҠ+ ADBMN DAɠAA̠+ SAS DA0ɠGԠUNADDSS SAɠSSNDԠBԠNUNAD. SAUNSAVŠҠ-NANԠPGS DASŠAA MANAA-A̠- ADASŬɠAN+ SA MANAA-N- ADAMPSAM-N SSA DBMPSBMN(MN+ SZ.NҠBUMPUNAD. MBNB PNBSZBSSDNŠ? MP SZSŠADVANŠPN DASŬɠGԠPAAM NDA̬ŬSAASԠB MPND SADSԬ SZDS MPP NDҠDA0 MPND ԠDAUN SB$B DƠ.N MNDà- DSԠBSS SŠBSS MPSBSS AàBSS UNBSS ND ASMBҬB̬ NAM.UN60000000 NԠ.UN Ԡ$BҬ$B xԠ.ZB A̠MŠUVŠPVGDBAYUN NҠHBנPAԠƠAANGPNԠNUMB. UNHAPNNԬBנMANSSA. .UNNP SB$B NP SB.ZBDŠDS$BҬؠAS DƠ DAMVŠAGUMNԠϠA ANDMASK̠GԠPNNԠBS MBSUBA ADB0M MBB SAAҠPSNSԠSGN.ƠMNUS ҠSPPUԠNABS. ԠSB$B DƠ.UN MP.UN MASK̠Ԡ3 SPԠ600 ND ASMBҬB̬ NAM.PAK60000000 NԠ.PAK Ԡ$BҬ$B Ԡ.ZB A̠MŠUVŠPVGDBAYUN NҠHASGND3BԠMANSSANAB. ԠHAANGPNԬNMAZDNUMBҠNAB. A:SB.PAK ؠBSS(NANSPNNԩ ҠAN. SBSSԠSDVŠSYSMY SAPANYS!SԠB DAԱ0ɠADAHASɠD PANƠSDŠAN-D MPNKYSGϠHKNŠUN PAԠSDŠAMD MPMGϠSԠSAUSϠP--M PANSDŠAAAGŠUN DBN3SԠBϠ-3ҠSA PBN3ƠNGϠϠSA PSBSA̠SA SBԱ0ɠSԠBNԠϠSPA̠HAA DAԱ MSZASSANYMSN̠? MPPNԱNϬGϠPN SSANŠSPANG? MPSPAŠ-YS B SBԱɠAҠMSN SS SPAŠDAN ԠSAԱ0ɠSAVŠDŠҠSA MPUPԠUPUԠHAA SA̠NP SBԱ0ɠSAVŠSA̠NGH ANASԠA ҠԴɠADDNNNSƠԠ SAԴɠSAVŠNԴ DANƠADAN-DHA PBNSSA̠NGH- MPUPԠYSUPUԠAN-DNSD PDAMASKADADŠHAA MPUPԠUPUԠHAA SA̱SZԱ0ɠASԠSA̠DN?? MPPNϬNNUŠNԠSA DAԴɠS AҬŬAԴ SAԴɠD MPSA̬ɠUNϠNNA̠PSSNG NKDAԱɠNMN NANS SAԱɠSPAD DBMSԠSA̠NGHϠ SBSA̠GϠSA SBNSGϠNMNԠNŠUN MPP+NNU MSBPMSԠSAUSϠP--M DBN3SԠSA̠NGHϠ3 MPPGϠSA PMNP ASԠN SA5ɠUN DAԴɠGԠSAUSD ҠB00SԠBԠ6N SAԴɠSŠNSAUSD MPPMɠUN NSNP DAԴɠGԠSAUSD ANDMSKMVŠBԠ6 SAԴɠSŠSAUSD DA5ɠGԠUNԠN NAPSNANDNMN SA5ɠSԠNנNŠUN PA.59ASԠNŠƠPAG?? MPSKPGϠSŠƠN-DϠUPU PA.60 MPYZYSSԠϠP--PAG MPNSɠUN YZSBPMSԠSAUSϠP--M DBN3SԠSA̠ҠAUϠ SBSA̠GϠDϠSA MPNSɠUN SKPSBSԠSA̠MSYSM?? BSSSԠB0HNSKP MPNSɠUN SBSA̠GϠUPUԠAN-D MPYZUN PNԱPAԱɠBUҠADDҠ0 MPMP̠-YSGϠSԠANSMSSNG PAԱ3ɠHAҠNDؽ0? MPUԠ-YSGϠUPUԠAAGŠUN DAԱɠGԠUNԠHAҠBҠADDSS SZԱɠNDؠҠNԠHA. ŬANVԠϠDADDSS DAAɠGԠUNԠD SZSSANDPSNPPҠHA. AƬAƠNϠBS ANDMMASKƠHGHBS PANSHAҠAUN MPSAҠYSSKPSS PAMSHAҠAMD MPSAҠYSSKPSS PANƠSHAҠANŠD MPSAҠYSSKPSS PAB̠SHAAҠAB DAP3YSSԠSϠ̠UPUԠAD SAB ADBM0HAҠGA SSBSԠ DAB00A"" ADBM00ƠҠAS SSBSSASɠSԠ ADAM0UPPҠAS SAҠSAԱ0ɠSԠHAҠҠYPŠHK SZԱ3ɠASԠHA? MPUPԠNϬSKPSS PAAנYSԠA? MPMP̠YSSKP- RPAB00SASԠHAҠA"" DABANKYSADBANKҠBPҠPN UPԠҠDA AA0 AA0 SñSà0 PNԲSZ.5 MPԴ MP̠DAԱ3ɠGԠMANNGHAAҠUN DBԱɠGԠUSҠ.HAүDUN SSBSSUSҠ.ҠDS? B00Ԡ00-YSNVԠSDUŠ(AS SAԱ3 DA.3GԠHA.UNԠM MBSSBNBHAS..? .59Dà59ŬSAAҪ MBNB-YSSԠNGAV ADBA MBSSBNBSS.UNԠM? BNB-YSSԠUNԠM ADBԱ3ɠSUBAԠSDU MP3 UԠSAԱ DA6ɠGԠMP.MN SAԱɠSԠԠ DANADAAAGŠUN MPԠGϠUPU NGNP ҠA SA3SԠNANS. SAϸ ADAB00ADDϠNSҠSϠ06 SAϱS SA6N SAAA SAAA ADAB00ADD00ϠNSҠSϠ0 SAϲSԠNSàNS ADAB000ADD000SϠNSҠ03 SAϷS SASñN ADAB3000 SA5SԠNàNS ADAB000ADD000ϠNSҠSϠ0 MPNG SSԠS P+ƠSYSMY P+ƠNԠSYSMY SSԠNP BS ADBUABɠ SBD56SYSM BƠNS ADBD56 ADBABGUA PBԱɯ SSDV SZSSԠNMNԠUNADD MPSSԬɠUN AA0 B̠U..+ AנԠ3 NƠU..+0NŠD ԠԠPAGb640 NUN NŠԠ3000 B000Ԡ000 B3000Ԡ3000 MSKԠ6 DAԠ000 P3Ԡ3 .3Dà3 N3Dà-3 N3Dà-3 NDà- M.0Ԡ-0 M0Ԡ-0 MUB M00U0B AU0 BU B00U..+ MU..+5 MU..+6 MU..+ ABU.+5 UABU.+ PGU.+33 3U.+69 ԴU.+0 5U.+ 6U.+ ԷU.+3 9U.+5 Ա0U.+6 ԱU.+ ԱU.+ Ա3U.+9 ԱU.+0 ND u6 ! / 24263-80001 C S 0122 2100A HP2605 CONSOLE PRINTER DIAGNOSTIC             H0101 U ASMBAB̬Ԭ HDNSŠPNҠDAGNS G SUP 605NNSŠPҠDAGNS B 0 SԱNAŠS NAŠMNG 33PPŠPN PNԠHSPA̠DS 55MDMNG 66YPNG YPŠ-PNԠBAK -HZNA̠AGNMN 0SUPPSSNNҠMSSAGS SUPPSSA̠MSSAGS HAԠAҠMPŠSԠY 3PNUNԠS SUPPSSҠHAS 5HAԠAҠAHS AU0 BU MPNƠNAZ GB DƠN MPS BSS DƠAM BSS DؠDƠؠUNҠH SҠà0àNAZŠNUP Ơ0 DAM60 SANN SBSGGԠSHGS MPSS SUNŠN SSѠSBSGGԠSHGS ANDBԱ0 SZASSSUPPSSNN-ҠMSSAGS? SBMSNϠ-NDƠSԠMSSAG SBSG ANDBԱ3 SZAPNASԠSԠ? MPSSYS SBSG ANDBԱ5 SZAHAԠAҠAHSԠ? HԠBYS DAS PANASԠSԠ(SԠ MPSS-YS MA-(S+ SAMPSP-SHԠUN ADAN MANA SAMSԠSHԠUN SBSGGԠS.G. AҠP-SH SZMPS MP- SSAҬSANDNԠSԠP.B MPSS3 SZMS MP-3KPSNG SBSG ANDBԱ SZAHAԠAҠMPŠSԠ? MPDجɠYSHA SSDBM SBMS SBSG MPSS SS3DAMSԠMSԠND ADAN SAS SLBSG ANDBԱ0 SZASUPPҠNNҠMSS. MPSSYS DADSUPNԠSԠUPMSS. ADAS DAA SBMSS SSDADԠSԠS ADAS DAA SAS DADSANSҠϠS ADAS DAA MPA ؠHԠB MPS NAŠS Sà0àNAZŠNUP SƱSƠ0SԱ SS HԠBSKPAҠS ƱƠ0 SS HԠBSKPAҠ SñSà0 HԠ3BƠDDNԠAҠҠSàDD NPNԠAUSŠSKP SSSS0 SS HԠBSSAUSDSKPHAGA SƲSƠ0 SS HԠ5BSKPAҠS SòSà0 SS HԠ6BSƠDDNԠSԠAGҠS NPAUSDSKP SSSS0 HԠBSSAUSDNϠSKP NPHAGS DBNɠSԠNPUԠNUPԠS B3B0àPVNԠSàϠNAB.K SñSà0 ñà0 SƠ0UNNNUP S3SƠ0 NPMUSԠNԠNUP NP SòSà0 NPMUSԠNԠNUP NP DADNNKNUP SABϠNԱ SƴSƠ0 NPMUSԠNUP NP HԠ0BADϠNUP ԱƠ0UNƠNUP òà0 DADNԠS SABNUPԠNK BSԠDAAB BB0HZ-S A AA0 ANDHD SZA HԠBDAABUҠҠHZS BDAABU BB0HN-S A AA0 ANDHD PAHD SS HԠBDAABUҠҠHN-S S3Sà0àSԠKţNABŠ B BB0 SSBSHUDNԠBŠS HԠ3BKNABŠƠS NPBYSàҠNPU MPSSѠUN NԱNPNUP Ơ0UNƠNUP DADNŠNK SABNUP SƠ0UNNNUP NPSHUDNԠNUP NPƠAGBUҠGԠS MPԱUN DNDƠNԱ ҠNUPԠNDNY AGBUҠNԠSԠBYNUPԠAKNDG NŠNP Ơ0UNƠNUP HԠ6BAGBUҠADϠGԠS MPԱUN DNŠDƠN NAŠMNGS SDADNNKNUP SABϠNԲ DAMàMŠM SAM à0àNAZŠNUP SƠ0UNNNUP DANϠS A3A0UPU DAHSP AA0 S5Sà0 S5Sà0 MPԲNϠNUP SZMҠSKPAGNԠSԠű MP-3 ԲƠ0UNƠNUP DADN SAB SB MPSSѠUN ԲSZSàҠNϠNUPԠű3 MPԲ NUP NԲNP SZS SZS DAM ADAMנM SSAϠASԠ? MPԲYS SZS DAM ADAHM SSASSϠSנ? MPԲYS Ơ0UNƠNUP DADN SAB MPSSѠUN DNDƠNԲ MàNP36MS MNP.MS HMNP.MS PPŠPNԠS S3SBND DAM3PS SAPSàPSNUN DAHSPPS SASHSANGHA 3SBHԠHAAҠU SZPSàSKPNASԠPNԠPSN MP3 SBNDNŠD DAM3S SAPSàPSNUN DASH PAHSASԠHAA? MPSSѠYSUN NANMN SASHSAԠHA. MP3NԠN 3PAHSASԠH.(NSUNũ? MP33YS NANԠHAA MP3 33DAHSPSAԠSUN MP3KPPNNG PNԠHSPA̠DS SSBND DAM3PSԠPSNUN SAPS DAHSMSԠҠASŠD ԴSBH SZPSàASԠPSN? MPԴN SBND SBNNϠSԠNŠDHUԠ. DAM3SԠUP SAPSàSNDN DAHSM Դ3SBH SZPSàASԠPSN MPԴN SBND DAM0ϠUPUԠSԠ0SP.D SAPS AҠNU̠D Դ5SBH NANԠD SZPSàSԠHŠ0-H MPԴ5N NASKPDŠNנN SBHԠUPUԠ̠K DAMҠHŠNԠDS SAPS DAHSϠNUŠH̠N Դ6SBH NANԠD SZPSàASԠHA MPԴ6N DAHD̠UPUԠD SBH DAHŠUPUԠ SBH SBND MPSSѠUN ԴPAHNASԠNSUN MP+3YS NAN MPԴUN DAHSM MPԴUN ԴPAHNASԠNSUN MP+3YS NAN MPԴ3UN DAHSM MPԴ3UN SSM 24275-80001 B S 0122 HP2610/2614 LINE PRINTER DIAGNOSTIC             H0101 f ASMBAB̬Ԭ G00B 606NŠPNҠDAGNS HD606NŠPNҠDAGNS SUP SԠPNS B 0SSNA̠SHG. SԠBASàɯ SԠPSԠANDSAUS 3SԠ3HAAҠS SԠPPŠPN 5SԠ5ANGUAҠPNNG 6SԠ6VA̠MAԠN DMAPAN SԠMANUA̠PNNGS 9MAKSVԠMAԠN̠SԠNG 0SUPPSSNNҠMSSAGS SUPPSSA̠MSSAGS HAԠAҠMPŠSԠY 3PNUNԠS SUPPSSҠHAS 5HAԠAҠAHS PҠU3B BU AU0 MPSS BSSAPŠNPU YϠBSSSԠUPU BSSPUNH YɠBSSKYBADNPU DƠAMSԠAVAABŠMMY BSS DؠDƠؠNA̠HAԯ MPDN DNBADƠNBA DVDBDƠVDB DVBDƠVB DNDƠN DBUƠDƠBU DԱDƠB DԲDƠB D3DƠB3 DԴDƠB PNDNDƠA5+ DԠDƠԱ DԱ0DƠB0- DԲ0DƠB0- SDƠS DƠS DƠS3 DƠS DƠS5 DƠS6 DƠS DƠS DSDƠS DADƠASԠNAMŠPNҠAB DADƠA DA3DƠA3 DADƠA DA5DƠA5 DA6DƠA6 DADƠA DADƠA BDƠA6 DƠA6 DƠA63 DƠA6 DƠA65 DƠA66 DƠA6 DƠA6 DƠA69 DƠA0 DƠA DƠA DƠA3 DADƠA DADƠA DA5DƠA5 DDADƠDA DA00DƠA00 DA3DƠA3 DHDƠH DHDƠH DH3DƠH3 DHDƠH DH5DƠH5 DH6DƠH6 DHDƠH DHDƠH DH9DƠH9 DHDƠH DH3DƠH3 DHDƠH DH5DƠH5 B0DƠűd DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠŷ DƠű0 DƠű DƠű DƠű3 DƠű DƠű5 DƠű6 DƠű DƠŲ0 BDà36 Dà36 Dà363 Dà6 Dà65 Dà66 Dà6 Dà6 Dà69 Dà̷0 Dà3̷ Dà3̷ Dà3̷3 B0Dà0NGHҠҠMSS. Dà Dà0 Dà Dà Dà Dà30 Dà Dà Dà9 Dà Dà Dà Dà39 Dà Dà6Ų0 ḎDƠ̱ ̱Dà6 ̲Dà0 3Dà0 ̴Dà 5Dà5 6Dà30 ̷Dà9 ̸Dà 5Dà9 ̷Dà ̷Dà6 00Dà 3Dà3 HDà HDà H3Dà HDà3 H5Dà3 H6Dà HDà3 HDà3 H9Dà9 HDà9 H3Dà3 HDà36 H5Dà6 B3U Ԡ0000SNGŠSPA Ԡ0000DUBŠSPA Ԡ00003 Ԡ000 Ԡ00055 VU0Ԡ0000PƠM VUԠ000BMƠM VUԠ000 VU3Ԡ0003 VUԠ000 VU5Ԡ0005 VU6Ԡ0006 VUԠ000NԠ6PAG BBSS5NŠUNԠAB DàPƠM Dà Dà0 Dà60 Dà0 Dà Dà Dà NԠNP NNP SNNP SPNNP NNNP MSàDà-0 SנNP PNԠNP PàNP ԱNP ԲNP 3NP ԴNP 5NP MPNP ԠNP MPSNP MSԠNP SؠNP SԠNP SHNP SHNP HAҠNP PSàNP SDNP DMANP HNBNP #DŠNP NBNNP ױNP MDYNP MMNP NSANS B9Ԡ000 BԱ0Ԡ000 BԱԠ000 BԱԠ0000 BԱ3Ԡ0000 BԱԠ0000 BԱ5Ԡ00000 MSB̠Ԡ0000BANKNSԠB HB̠Ԡ0 B3Ԡ3 B0Ԡ0ASàBANK BԠ B60Ԡ60ASà0 B5Ԡ560ASà0 BԠԱASà9 B5Ԡ5HA.M B3Ԡ3 B6Ԡ6 BԠ MԠDà-0000 NԠDà000 MHDà-00 NDà N3Dà3 NDà N5Dà5 N6Dà6 NDà NDà N9Dà9 N0Dà0 NDà NDà N5Dà5 N6Dà6 N66Dà66 MDà- M3Dà-3 MDà- M5Dà-5 MDà- MDà- M0Dà-0 MDà-Ԡ-60 M50Dà-50 M56Dà-56 M63Dà-63 M9Dà-9 M3Dà-3 NϠASàN YŠASàY S6ASà6 S96ASà96 SPԠ0000 SSԠ0000 HNDà-63 HԠ3 MԠDà-000 MPDà00 נԠ0000 DDBƠDƠDB DBƠNP AA0 BB0 SƠSƠ0 ƠƠ0 SàSà0 SSSS0 SàSà0 àà0 AA0 SUNŠN SSѠSBSGGԠSHGS ANDBԱ0 SZASSSUPPSSNN-ҠMSSAGS? SBMSNϠ-NDƠSԠMSSAG SBSG ANDBԱ3 SZAPNASԠSԠ? MPSSYS SBSG ANDBԱ5 SZAHAԠAҠAHSԠ? HԠBYS DAS PANASԠSԠ(SԠ MPSSYS MA-(S+ SAMPSP-SHԠUN ADAN MANA SAMSԠSHԠUN SBSGGԠS.G. AҠP-SH SZMPS MP- SSAҬSANDNԠSԠP.B MPSS3 SZMS MP-3KPSNG SBSG ANDBԱ SZAHAԠAҠMPŠSԠ? MPDجɠYSHA SSDBM SBMS SBSG MPSS SS3DAMSԠMSԠND ADAN SAS SBSG ANDBԱ0 SZASUPPҠNNҠMSS. MPSSYS DBDDAPNԠSԠUP ADBS DBB DAḎ ADAS DAA SBYϬ SSDADSANSҠϠS ADAS DAA MPA ؠHԠB MPSS MSNPSԠMPD DA00SԠMPDMSSAG DA00SԠMDMSSAG DBDA00 SBYϬ MPMSɠUN ҠSN PNSҠMSSAGS USDDҠHAS ADNGϠSԠPNS ҠAԠNUNADDҠA ADƠSS+ ҠNP DAҠUN SS ҠDAAUNADDSS SA Ơ0AҠNUPS SBSGMSSAGŠSUPPSSD? ANDBԱ SZA MPҲYS DBDԱ0ҠMSSAGŠGAB ADBN DBB DADԲ0ҠMSS.NGHAB ADAN DAA SBYϬɠYPŠUPU ҲSBSGҠHAS ANDBԱ SZASUPSSD? MPԬɠUN DAHԠHA ҠNNSԠҠ SAHA HAԠNP MPԬɠUN HԠH SԠBASàɯ SԠAGG SDANҠű6 SAN SƱSƠP SS MPҠű6SKPAҠNN-SKPɯ ƱƠP SS MPҠű6 ANASԠң SANϠ SS6SSP SS SBҠ@ű SZN SòSàP SBҠŲ SZN3 SƲSƠP S3SàP SS SBҠ3 SZN SS9SSP SBҠŴ SZN5 SԠN̠GàANDNUP ASԠPN A6APҠҠHAAS DBN9Ҡ SBNҠҠUN DBM3 S÷SàPҬàNŠPNҠSHUD NBSZBSSUNAG MPSNϠAG-MŠU SSSSP MP-3 SS SSBҠNϠAG-MŠU ƲƠP DAN5 SANNUPԠ SƠ0UNNNUP NPSHUDN NPNUP DADNNKNUP SANNϠNԱ S3SƠPҠNUP SàSHUD SƠB àDAYD ƠUN MP+ɠ. DƠ+. SB+ɠ. DƠ+. NP. HŠNPH à0àAҠSYSM DADNԠNK SANNNMA̠NUP MPҠADϠNUPԠ(5 ԱNPNUPԠUN-GD ñàP DADNNK SANNҠUNŠű SƴSƠP SƠ0UNNNUP NPSHUDN NPNUPԠ-N̠S à0àAҠSYSM DADNԠ-NK SANNNMA̠NUP SZN6ҠUNADD. DADA PANԱ SS SBҠ6NԠUNADDSS MPSSѠUN NԱNPNUP Ơ0UNƠNUP DADNŠNK SANNҠNUP SƠ0UNNNUP NPSHUDNԠNUP NPAGBUҠS MPԱ NŠNPҠNUP à0àAҠSYSM DADNԠ-NK SANNNMA̠NUP DANҠŷ SAN MPҠŷAGBU NNPҠNUPԠ- à0àAҠSYSM DADNԠ-NK SANNNMA̠NUP DAN5űàAD SAN MP NNNP DNŠDƠN DNDƠNԱ DADƠH+ DNԠDƠN DNDƠN NԠNPGA̠NUP à0àAҠSYSM DAN5Ҡű SAN MP PSԠSAUSS SDAVU0P SBPNԠM DBDA3PN DA3NԠNŠMUSԠBŠBANK SBP Ԡ0000HSNGŠSPA DAM3UPU SANNAN DAB5ƠM-S SBHPϠHŠPN 3ƠP DBDH DAH"PSSPSԠPSSUN" SBYϬɠNY HԠ0B DAN0Ҡ SANPSԠADϠSԠAG SSSSP SB DADNNK SANNNUP S5SƠP SƠ0UNNNUP NPSHUDN NPNUPԠ(N̠AD Ơ0AҠNUP DADNԠ-NK SANNNMA̠NUP DASSPN SBPNԠHSNGŠSPAŠ(BANK DBDA3PN DA3NԠNŠMUSԠBŠBANK SBPԠH Ԡ0000SNGŠSPA DAM3UPU SANNAN DAB5ƠM-S SBHPoKϠHŠPN DBDH DAH"PSSPҠN(P SBYϬɠPSSUN"NY HԠB DANҠ SANSAUSҠ-NԠADY AAP SSAADYBԠƠ? SBҠN DBDH9 DAH9"PSSSAԠ(P SBYϬɠPSSUN"NY HԠB SZNҠ_5 AAP SSASSADYBԠN SBҠN DASSPNԠMUSԠBŠBANK SBPNԠPҠNSHDAҠBU MPSSѠUN NNPҠNUP à0 DADNԠ-NK SANNNMA̠NUP SZNҠ_3 MP DNDƠN HAAҠSԠS S3à0àAҠSYSM DAVU0P SBPNԠM DAHNSԠUN SANԠϠNŠ DAM3SԠPNNG SANNNGH DAB S3SAHA SBHP DASSPNԠH SBPNԠSNGŠSPA DAHA NA SZN MPS3 DBDA3PN DA3NԠNŠMUSԠBŠBANK SBPԠ. Ԡ0000. ASԠNNPNNGHA. SASH SAS DAB3ASԠNNPNNGHA. SASH SBPԠUPUԠNŠϠPN DASSPN SBPNԠHSNGŠSPA MPSSѠUN PŠPNԠS SDAVU0P SBPNԠM DAHSԠASԠHA. SASH. DAB0SANGHA. SASH SSASԠҠSԠPNԠPSN SBPԠUPUԠANŠƠHA.SU. DASSMAԠN̠(p0000 SBPN DASԠAS PASHNŠ? MPSSѠYS-UN NA MPS ANGŠPAN S5DAVU0P SBPNԠƠM DAM3SԠUN SANN S5DAB5UPUԠHA.M SBHPAN DASSPN SBPNԠHSNGŠSPA SZNNASԠNŠ? MPS5N MPSSѠYSUN SԠ6VA̠MAԠN S6à0àAҠSYSM DAVU0P SBPNԠƠM DBDA6 DA6 SBPԠPN Ԡ0000DUBŠSPA DBNҠSHԠS SBSGNGSԠ? ANDB9 SZASS DBNN SBSPN(ҠSHԠSԩ S65DBDASUPPSSSPA DA̷ SBP Ԡ00000 DAN66SHԠNԠMSSAG SBBNKH66BANKS DBDA5PNҠ"DN"BU DA5 SBPԠPN"DN" Ԡ0000DUBŠSPA ANԠSNSSUNNS SASNAҠSPN.MABS S6DAD3N̠DŠAB ADASN DAA SAVòN̠D DBDԱPNҠϠUNN ADBSN DBB DADԲNGH ADASN DAA SBPԠPNԠUNN VòNPHSUSSVŠDS DBDA5PNҠϠ"DN..." DA5PNҠϠNGH SBPԠPNԠ"DN..." Ԡ0000HDUBŠSPA DASNAS SZSN PASPNSP? SS MPS6PNԠHNԠN.D DASPNSH PANS? MPSSѠYS S63640DAVUBM SBPNԠPAG DASPSPA SBPNԠNS DADԴNŠUN ADASN DAA MANA SANN DAD3N̠D ADASN DAA SAV3 SAVô DBDԱUNNNAM ADBSN DBB DADԲNGH ADASN DAA SBPԠPNԠUNN V3NPHN̠D S6DBDA5PN DA5 SBPԠDN VôNPHN̠D SZNNASԠNŠHUNN? MPS6N DASNASԠUNN? PAN MPSSѠYS SZSN MPS63NԠUNN |6 - ; 24275-80002 B S 0122 HP2610/2614 LINE PRINTER DIAGNOSTIC             H0101 g DMAS SDADMA SZASHŠDMA? MPS DBDAN DA̷ SBYϬɠYPŠNϠDMA MPSS+UN SDAVU0P SBPNԠM DAHNSԠUN SANԠϠNŠ DABSANGHA. SSAHA DBDBUƠ SBPNԠMMY DBM3BU S3SAPNԬɠHHA.-S SZPN NBSZBASԠPSN MPS3N SBDMAԠUPUԠHUGHDMA DASSPN SBPNԠHSNGŠSPA DAHAҠN NAHAA SZNԠASԠHAA MPSN MPSSѠUN DMASUBUN DMAԠNP DAױ A6 à DADBUƠBUҠG. NA AHSGN0UPU Sà DAM3UN NA A DADBUƬ AAP SøSàPҬ Sà6àUNNDMA DBM3ҠDMAMŠU SBMSŠMSàDAY Sà6DMAMPŠ? MPMAԲYS NBSZBMŠUԠ? MP-N DAN6Ҡ0 SANҠDMAMŠU à0àAҠSYSM MP MAԲà6UNƠDMA MPDMAԬɠUN MANUA̠PNNGS SDAVU0P SBPNԠƠM SDBDHYP DAHYPŠƠNS SBYϬ DBDBU DAN5 SBYɬɠADMY SAHNB ADAM SSASSMŠHAN3HAS.? MPSYS ADAN DBDBU SBDVDBɠNVԠMDMA MPSҠUN MBNB SBNBNNUMBҠƠNS(NGAVũ SDBDH3 DAH3YPŠHAA SBYϬ DBDBUƠAD DAN5HAAҠD SBYɬ ADAMMŠHAN SSASS3HAAS? MPSYS ADANSŠNGH DBDBU SBDVBɠNVԠA̠ASàϠBNAY MPSҠUN SAHAҠHAA S3DBDH DAHYPŠMAԠN SBYϬ DBDBU DAN5 SBYɬ ADAMMŠHAN SSASS3HAAS? MPS3YS ADANSŠNGH DBDBUƠNVԠASàϠBNAY SBDVBɠNVԠA̠ASàϠBNAY MPS3ҠUN ҠBԱ5 SAD SDBDH5YP DAH5MŠDAY SBYϬ DBDBU DAN5 SBYɬɠAD ADAM5MŠHAN SSASSHAAҠ? MPSYS ADAN5 DBDBU SBDVDBɠNVԠMDMA MPSҠUN MB SBMM DAM3NŠNGH SANN SDAHAҠHAA SBHPUPUԠϠPNҠBU DADŠPN SBPN DAMM SAMDY S5SZMDYUHҠMŠDAY? MPS6YS SZNBNASԠNŠ? MPSN MPSSѠUN S6SBMSŠMŠDAY MPS5 SUBUNS GԠSHGS SGNP A SASSNNA̠? DASנYS MPSG MSŠMSUԠMS MSŠNP DAMS NASZA MP- MPMSŬ PؠUPUSԠϠPNҠBU PNҠϠԠNBNGHƠSNGA PؠNP SBPNԠPNҠϠSNG MANASNG SANԠNGH DAN9Ҡ SANBUҠADMŠU PزDBM3ҠMŠU DAPNԬɠMSHAA AƬA ANDBMASK AAP S3SàPҬ NBSZBSS MPҠMŠU SSSSP MP-3 SZN SS MPPج DBM3ҠMŠU DAPNԬ ANDBMASK A3AP SôSàPҬ NBSZBSS MPҠMŠU SS3SSP MP-3 SZPN SZN MPPز MPPج PNԠPNSHMAԠN̠NA ԠMSPNNGANDPAPҠPSNNG MŠNASàSNGPAŠϠ"DN"BU PNԠNP AAP DBMԠҠMŠUԠNG.MSS DANҠ0 SANMŠU SñSàPҬ SBMSŠMSàUN SñSàP MPNԲ NBSZB MP- MP NԲDAB ADAMPNVԠMSSϠASàSNG DBPNDNPNҠ"DN"BU SBDNBA MPPNԬɠUN PԠPNSԠMBUҠANDPSNSPAP PNҠϠԠNBNGHNA MAԠN̠DNP+(ANGS. PԠNP SBPؠUPUԠ DAPԬɠMAԠN.D SBPNԠPN SZP MPPԬ PԠUPUSANŠƠHAA SUNSϠHŠPNҠBU SANGHAAҠƠSUNŠAԠSH ASԠHAAҠƠSUNŠAԠSH HAAҠNSԠPNԠPSNAԠS PԠNP DAN9Ҡ SANҠMŠU DAM3S SAPSàUN DAS PԱDBN3ҠMŠU SAHAҠSAVŠHAA AAP S5SàPҬ NBSZBSS MPҠMŠU SSSSP ~MP-3 SZPSàASԠPNԠPSN? SSN MPPԬɠYSUN DAHAҠASԠHA. PASHNSUNŠ? MPPԲYS NA MPPԱ PԲDASH MPPԱ HPUPUSANŠƠDNA̠HAAS ϠHŠPNҠBU HAAҠDŠNA NUMBҠƠHAASNNN(NGAVũ HPNP DBN9Ҡ SBNҠҠUN DBNNS SBPSàPSNUN HPDBN3ҠMŠU A5AP S6SàPҬ NBSZBSS MPҠMŠU SS5SSP MP-3 SZPS MPHP MPHP BNKUPUSBANKSϠHŠPN BNKNP MANAƠBANKSNA DBHB̠BANKԠ0 BBP DBN9Ҡ SBNҠMŠU NKDBN3 SòSàPҬ NBSZBSS MPҠMŠU SSSSP MP-3 NASZAASԠBANK? MPNKN MPBNKɠUN G000B NBANVSBNAYϠDMA̠ASàSNG PSVŠBNAYNUMBҠNA PNҠϠASàBUҠNB NBANP SBPN DBB5DVDŠBY0000 ADAMԠ-0000 NB SSASSS̠PSV? MP-3YS SBԱ DBBDVDŠBY000 ADANԠ000 ADBM- SSAS̠NGAV? MP-3YS SBԲ DBB5DVDŠBY00 ADAMH-00 NB SSASSS̠PSV? MP-3YS SB3 DBBDVDŠBY0 ADAN00 ADBM SSAS̠NGAV? MP-3YS SBԴ ADAB60PKUPUNS SA5 DA$MSUPPSSADNGZS SAPàPUN DBD BADAB PAB60Z? SSYS MPBA DAB0BANK SAB NBPNҠNB SZP MPBA BADAMSB̠SAKASàSNGϠBU ADAԱMSԠSGN.DGԠPDD SAPNԬɠBYBANK SZPN DAԲSNDAND AƬA ADA3HDDGS SAPNԬ SZPN DAԴUHAND AƬA ADA5HDGS SAPNԬ MPNBA VBNVSA̠ASàSNGϠBNAY SNGGNBSNGNGHNA MAؠNGH6HAASMSDGԠ< BNAYUNDNA NMA̠UNP+.ҠUNP+ VBNP SBPNԠPNҠϠSNG ADAM SSASSNGH6? MPVBɠYS-ҠUN ADAN PAN6NGH6? MPB3YS BMANA DBANGAVŠNGHϠB A SAMPAҠMPAY BDAPNԬ AƬAƠSԠB SBSàSԬNV MPVBɠҠUN ADAMP NBSZBSSASԠDGԠ? MPB5YS AƬAҠSHԠԠ3 SAMP DAPNԬɠVNA̠DG SBS MPVBɠҠUN ADAMP NBSZBSSASԠDG? MPB5YS AƬAҠSHԠԠ3 SAMP SZPN MPB B5SZVB MPVB B3SAMPMSDGԠS DAPNԬɠҠ6DGԠAS AƬA ANDB ADAM50-6 SSASSSMSDGԠVҠ(6 MPVBɠҠUN DAMP MPB SàNP ANDB ADAM56-Ԡ0 SSb"ASSVҠԠ6? MPSìɠYS-ҠUN ADANԱ0 SSABנԠ60(0 MPSìɠYSҠUN SZS MPSì VDBNVSDMA̠ASàSNGϠBNAY SNGGNBSNGNGHNA MAؠNGH5MAؠ36 BNAYUNDNB NMA̠UNP+ҠUNP+ VDBNP SBPNԠSNGG SAHNBHAAҠ BBUSDҠMPAY SBN AHAAҠUNԠ(0... DBPŬA:SBϠŠ(DD_ ADAPN DAAɠHAAҠPA SZSSVNHAAҠ? AƬAƠYS ANDB ADAM-60ASàϠBD SSANԠSSHANԠ60 MPVDBɠҠUN ADAM0VADDMA? SSASS MPVDBɠNϠҠUN ADAN0SŠDG ϠAҠV BSز ADAB BSBSش(ظ ADBA SàVנ?(36 MPVDBɠYSҠUN SZNԠDGԠUN DAN PAHNBASԠDG SSYS MPDBPNԠDG SZVDBUNADDҠP+ MPVDB NGUANSN NƠà0àAҠSYSM DBDDB DAN SBYϬɠ.-. NƱDBDH DAH SBYϬɠYPŠSԠD DBDBU DAN5 SBYɬɠADSԠD PANϠHAAS? SSYS MPNƱ DBDBU SBVB MPNƱҠUN SASDSԠD NƲDBDH DAH SBYϬɠYPŠMŠNSAN DBDBU DAN5 SBYɬɠADMŠNSAN PAN3 SS MPNƲ DBz!DBU SBDVDBɠNVԠDMA̠ϠBNAY MPNƲ MBNB SBMSàSŠMŠNSAN N3DBDH3 DAH3 SBYϬɠDMA?YSҠN DBDBU DAN5 SBYɬɠADYSҠN DBDBUƬ A PBNϠNϠ?SŠϠϠDMA MP+5 PBYŠYS?SŠϠDMA SS MPN3NHҠYSNҠN NA SADMADMAAG NƴDBDH DAH SBYϬ DBDBU DAN5 SBYɬɠADHAAҠS DADBUƬ PAS6SԠ6? MPNƴYS PAS96SԠ96? MPNƴN:-ADԠAGAN MPNƴYS NƴDAM63HAAҠUN DBB3ASԠHA.NS MP+3 NƴDAM9HAAҠUN DBB6ASԠHA.NS SAHN SBH DBM56SԠҠHSϠAPS DAHSMUSԠBŠNAZD SA+SUSSVŠNGUAN DAHɠDDHԠSԠH0B SA0B SZ- NA NBSZBANB? MP-N DASàNGU ҠSDɯϠNSUNS SASñ SASò SAS3 SASô SAS5 SAS6 SAS÷ SASø DAAA ҠSD SAA SAA SAA3 SAA SAA5 SAA6 SAA DABB ҠSD SAB DASƠS ҠSD SASƱ SASƲ SAS3 SASƴ SAS5 DAƠ ҠSD SAƱ SAƲ SA3 DASàS ҠSD SASñ SASò SAS3 DASSSS Ҡ,-SD SASS SASS SASS3 SASS SASS5 SASS6 SASS SASS SASS9 DAà ҠSD SAñ DAAA ҠSD SAA SAA DANKNK SASDɠNUP DAנDMA ҠSDN̠D SAױ DBDH5YP DAH5NҠSHPNS SBYϬ HԠ6B AADSHGS SASנNNA̠SHGS DBDH6 DAH6 SBYϬɠDAGNSàNGUD Ԡ00HA MPSS HɠԠ0600 HSSA0B NKSBNN AASàNϠDMANSYSM A3ASàNԠNŠMUSԠBŠBANK A00ASàSԠMPD űASà0űƠҠSSAD ŲASàŲSàAD-AGA 3ASà03SƠҠSàAD ŴASàŴSSAD-AGS 5ASà5ADϠNUP 6ASà6UNADDSSN ŷASà5ŷAGBUҠADϠS ű0ASà9ű0PNԠMŠU űASàűBUҠADMŠU űASà5űAGNԠSԠAҠPS ű3ASàű3N̠SԠAҠPS űASàűSAUSҠ-ADY ű5ASàű5SAUSҠ-NԠADY ű6ASà0ű6SKPPDNNN-SKPɯϠNSUN űASàűàAD Ų0ASàŲ0DMAMŠU AASàSԠBASàɯ AASà0SԠPSԯSAUS A3ASà0SԠ3HAAҠS AASàSԠPPŠPAN A5ASà3SԠ5ANGUAҠPAN A6ASà5SԠ6VA̠MAԠN AASà0SԠDMAUNN AASà9SԠMANUA̠S A5ASà0DNŠNMSS A6ASàSNGŠSPA A6ASàDUBŠSPA A63ASàPŠSPA A6ASàSPAŠNS A65ASàSPAŠ5NS A66ASà6PƠM A6ASàBMƄM A6ASàSNGŠSPAůSPV A69ASàDUBŠSPAůSPV A0ASàPŠSPAůSPV AASàNԠPAG AASàNԠPAG A3ASàNԠ6PAG AASàSUPPSSSPA HASàHYPŠSԠDŠ(A̩ HASàHYPŠMŠNSAN H3ASà9H3DMA?YSҠN HASà6HHAAҠS?YPŠ6Ҡ96 H5ASà9H5NҠSHG.PNSPSSUN H6ASàH6DAGNSàNGUD HASàHPSSPSԠANDUN HASà6HPSSPҠN(PPSSUN H9ASà5H9PSSSAԠ(PPSSUN HASà0HYPŠƠNS H3ASà6H3YPŠHAAҠDŠ(A̩ HASàHYPŠMAԠN̠DŠ(A̩ H5ASà3H5YPŠMŠDAY(MSé BUƠBSS3 AMNP ND ASMBAB̠SBSYSM-000Ơ(VS.B G00B NKAGŠNMANUSDBYHŠSBADҠANDH MAGAPŠDUMP. DƠBASYSMBAYPGAMGN DƠM6SYSMBAYDSàADDSSS ABSY0-Y00NGHƠAYAB DƠY00+?DSàADDSSƠUSҠDSàADDSS DƠY00+?DADDSSƠD-NAM DƠNAMŠADDSSƠUS-DPNDNԠMS ABSUS-PGB-NGHƠSAPAA DƠUSҠŠADDSSƠSAPAA DƠSBSYSMSANGADDSS SBPNɠϠGϠNϠà. DƠGMBMSSAGŠBUҠG ABS$SP-BANUMBҠƠBAYPGAMS HDBASŠPAG AU0AGSҠADDSS BUBGSҠADDSS DAHU0 ̠U5ŠABŠNYNH G HԠҠSYSM MP-PN HԠàHANGDBYAD. HԠ5PAY. à6 DMASB?ADN HSBұDҬɠMMUNANM HHԠB ?SàSB35DҬɠNSŠNK HԠ3B HԠB HԠ5B KSBKDҬɠKNK G30B MPBSS6MPSUSDBYNNSDNԠUNS. MVSBSSSUŠANDDSNAN MVDBSSҠMVנUN. DBSSUSDҠSUSƠGDUN. MDBSS 35PBSS35BUҠPNҠҠB.PGS. 35àBSSSUԠƠ35HUN. PBPҠBSSPNҠϠNDƠUNԠPGAM SPà MҠBSSPNSϠKƠAVŠUS. SBHDBSS SH̠BSS ѠBSS SHDBSS SHPBSS SNԠBSS SHPҠBSS MABSS MBBSS MŠBSS DBSSDUNԠϠDSàUN. SVHBSS NԠBSS DPBSS DNPBSS SKP BGNNNGƠUPMNԠAB HŠNԠSԠƠADSNSUŠHŠSDNԠNϠABU DSàSDNԠABS.HSŠADSMUSԠBŠGNDAԠ00B. HYAŠNAZDBYHŠVAUSADSANDH NNSAŠNNDSàBYHŠSPUN. G00B DàBSS9DABŠHADS SԠDNAK DUMADDSS 3USU̠NGH NDԠBSSNUMBҠƠDAKS ADàBSSADԠDUMADDSS ADNBSSADԠNGHN-DS NDԠBSSNUMBҠƠDҠAؠPҠDSK DADàBSSDSàADԠDUMADDSS DADNBSSDSàADԠNGHSN-DS ?B̠BSSDUMSԠDŠAB DKB̠BSSDSàSԠDŠUNԠAB AؠBSS6AVAABŠAKAB SYSDBSS5SYSMDNAN MAGSàBSSMAGAPŠSԠD NPԠBSS-NUMBҠƠAVAABŠPS YAҠBSSANUMBҠM0Ϡ99 DAMBSSPSNSMŠƠYA.S DNANSHUҠƠYA.SN@FD SƠ00MSUNSNHҠ- 36000. HDAŠBSSASԠHBNAŠDA SPԠBSS0SZSPԬ-SZN NDƠHŠUPMNԠAB DBSABSSDSàBSAPADDSS SDABSSADҠSGMNԠABŠADDSS DANBSS-NGHƠDSàAANAB MHADBSSADDSSƠM.H.DSàAB GMBPBSSMSSAGŠBUҠG DSABSSADDSSƠDSàDVҠNY DSBBSSDSàDVҠNUPԠNYADD MBUSYBSSDSàDVҠBUSYAG MDBSSDSàUSDDUN DDPBSSDSàAUϠSAԠUN NDƠAAHAԠMUSԠSPNDHHŠAD DSZDƠZDS SKP SNDDVҠPDS ҠԠ000000UPUԠHAA SŠԠ00000SAԠMNGN GàԠ00000GԠHAA PHϠԠ060000PHNSM SPŠԠ00000BAUDAŠN SBPԠ0000SAVŠBUҠPN BPԠ0000SŠBUҠPN BPUSBPŠSAVDSPA NɠԠ60000NAZŠSYSM UҠԠ6000USҠSUNNNG UNҠԠ6000USҠNԠUNNNG ԠԠ60003NPUԠA HUUԠ6000HANGUSҠUP UϠԠ60005USҠGGDN ϠԠ60006H-N ƠԠ6000H- PϠԠ6000APŠMDŠN ɠԠ600GA̠NPU? NUàԠ600NנUSҠAD KAϠԠ6003K̠A̠UPU AɠԠ600AנNPU ԠԠ6005UPUԠA BƠԠ6006SBUҠU? PSàԠ600NŠPNҠSԠD PҠԠ6000NŠPNҠUS PDԠ600NŠPNҠDSNN PSԠ600NŠPNҠSAUS BKRNSԠ6003BAKSPAŠNBU HSԠ600HA.SZŠN SPԠ6005SUBYPŠN SPԠ6006HAԠBAUDA? SԠ600HAԠHA.SZ? PԠ60030HAԠMNA̠YP? KKԠ6003KUDGŠPUPU ABԠԠ6003USҠSBNGABD HŠNGVAABSAŠSYSMSAUSVAABS PSԠNPPNDA AGNP MANNPNDASUSҠNŬ0ƠNN BNPNDASBAYPG.N NDMNP-ƠDUMBUSY0ƠN HDSNP0UNSSHADƠUUŠDSNN 35GNPPSUD-AGMUSԠBŠ0DS BŠ35 MƠNPHNUNԠPGSMD. UNU00NGHƠUSҠAA BAU5000BSYSMBAYPGAMADDSS HҠNP ADYDƠ+ Ԡ5- ASàADY MNKDƠ+PNSϠBASàUUŠNY. DƠNKϠHADƠUU. ԠMA.PYUSDҠѠNSS NƠUMNK+ YNYҠY35 35̠NPPSUDϠK. 35SNPSAԠADDSS 35SԠNPSAUS 35KNPNK 35PҠNPPY 35NDƠ35K 35BABS35B+35BƠHAҠPNҠϠY35BU 35NDABS35B+35B+PNSϠNDƠBU 35BDƠ35BƠPNSϠDADDSSƠBU MSNU39NGHƠPAҠMSSAGS MSBNUMSN+MSN+MSN+MSN+MSN+MSN MSԠԠ0MSSAGŠUN MSPDƠMSHD+MSBN-MSN MSP3DƠMSHD MSNDDƠMSHD+MSBNMS MSBGDƠMSHDƠMSSAGŠUU NSANSANDMPASNAS-35DV. 5 35ƱNPSYSM 35ƲNPNS 353NPAGS GNA̠USŠNSANS SUP DԠ- MBUD+ M3Dà-3 Dà-6 Dà-5--3---0-9---6 Dà-5--3---0-9---6-5- Dà-3-- .Dà035690356 Dà90356930 Dà333333536333903 Dà569505 .5Dà5 BU.5 .00Dà00 .Dà BԠ B00Ԡ00 B3Ԡ3 B00Ԡ00 B000Ԡ000 B0MԠ0000 B30MԠ30000 BԱUG ABҠU.+ NPԠU.+ UנU.+3 SYNԠU.+ DSàU.- NϠU.-3 PUNU.- UNS 3ɠDƠ3 5ɠDƠ5 SKP ANGUAGŠPSSҠNSANSANDADDSSS DԠDƠSS SBBDƠS SYNADƠSYN DƠSBK D600Dà600 DƠ PNDƠP DƠPP AUSDƠUS+UN DƠVP ұDҠDƠұM DƠAD 35DҠDƠ?Բ DƠPGN MBPDƠMBS DƠBS KDҠDƠKN DƠGP ANԠDƠN DƠPK ?ADNDƠDN DƠPK SSàDƠSSH SPUSS DƠ BԠ DƠSP BɠDƠBA DƠS BDƠBA DƠDGK AABDƠAB DƠK DAؠDƠA DƠSBPU SHNDƠSH DƠSYK SHNDƠSHѠNKAGŠҠNPUԠUS. DƠN DMDƠMP DƠNMK Y35DƠ?35 DƠMB0 ASADƠAS DƠDB0 A5ADƠAS5 DƠNM UNDƠBUS+UN DƠPAK SHBDƠSH DƠV ABKDƠABHK DƠDP ̱0DƠBUS+0 DƠDPS USSDƠM6+PNҠϠDSàADDSSƠUSS. DƠSSYM P9Dà9 DƠASYM SADƠS DƠDMP DY0DƠY00 DƠPNS D3DƠY3 DƠUSP AA DƠS ADŇEƠ DƠS ñADƠñ DƠGS ԠDƠұ0 DƠM BDDƠBUS DƠSS PBSDƠU- DƠSB BDɠDƠBUS DƠPS ASBBASà DƠUK 35HDƠ35 DƠS AS00ASà00 DƠMP UHDƠU DƠPHK SHADƠSH DƠH BԠ DƠSDP GԠNPNUMBҠƠMNSNGG DƠDA GPDƠGG+63PNSϠSԠAND DƠSH D00Ԡ-00 DƠPSHS B000Ԡ000 DƠAN B3000Ԡ3000 DƠBNP PPԠ0000 DƠSP GPDƠGG+63ASԠNSNGG DƠPK BPԠ000 DƠSK PPԠ3000 DƠAD GBGDƠGGҠPNSϠBGNNNGƠGG DƠSB GNDDƠGG+6PNSϠNDƠGG DƠMP MUPԠ000 DƠDV DMPԠ000 DƠUN DòDƠò DƠ MPԠ5000 DƠN S3DƠS+3 DƠNM NPԠ55000 DƠGDG NDPԠ60000 DƠN DAPԠ6000 DƠDM 9DƠUS+UN-9 DƠSP PPԠ65000 DƠP PԠ0000 DƠG NɠDƠ DƠHB PMSKԠ000 DƠN DHDƠH DƠPҲ N̠Ԡ00003 DƠN PD̠Ԡ000 DƠG MBDABS-BUS DƠBKSP ?AB̠DƠ?B DƠ PDMKԠ00 DƠN PBUƠDƠPGB+ DƠM D36KABS30000+6000 DƠS PԠ003 DƠSN SMDƠM DƠBD SM5DƠM5- DƠDM MDà- DƠVHK MASNDà-0000 DƠS ŠԠ05 DƠHU B3Ԡ3 DƠMV D60Dà60 DƠ PԠ3000 DƠ .0Ԡ0 DƠV ޅM000Ԡ6000 DƠS BԠ DƠS B000Ԡ000 DƠGY PDBSMPPDB- DƠBU MPԠ5000 DƠA SMMԠ6000 DƠSP MGPԠ000 DƠN M5Dà-5 DƠMG M3Dà-3 DƠḎ PDNSDƠPDS DƠUND SBASDƠSYNB-B DƠB HBDƠHB DƠ M56Dà-56 DƠDSH MDà- DƠMH M96Ԡ-0 DƠVP DUMDƠDUM DƠUSK B00Ԡ00 DƠPSH AHNDƠHN DƠM USPԠ3000 DƠPU MUNABS-UN DƠSK ̸9DƠBUS+9 DƠD UADƠU DƠU DԴADƠDAԴ DƠDAB DñDƠñ UNNUNNYADDSSS PDBDƠAB DƠN DƠSPA DƠAN DƠAN DƠP DƠG DƠABS DƠS DƠN DƠND DƠSGN DVSҠDƠDVSS'N'SDNŠNASPA̠AY DƠYP DƠM DƠSN DƠS DƠBK SPà DVSSDà0000 Dà000 Dà00 Dà0 MNGԠ00000 Ԡ36 HAƠDà0.5 M6UD00 HMSKUM56 ƠU.- ҠU.- BԱ5UMNG A000UB000 HŠNGNSANSAŠMASKSҠHŠB-AGD NAHUS'SYAB ҠU.+APŠ AGU.+MPŠMD HAGU.+$HϠSUNNNG APƠU.+USҠNAPŠMD UNABԠU.+6UNABŠϠAB UԠU.+3UPUԠBUҠU MUB00MMUNANM ABYUB00ABԠAMP DHKUB00HKҠDYS HNGUB000HANUNNNG NDSԠUB000NDMPSV MBUSԠUB000MBUSYPSV PBGUPPABԠAPABYDSABD BG^`^ZUB0M"BAK"MMANDGVN ҠUMPAB SSDƠS P35 DƠS SDƠS P9 DƠS SDƠS P DƠS SDƠS P9 DƠS ` .C 24277-80001 A S 0122 12908A WCS BCS DRIVER (D.33)             H0101 5 ASMBҬB̬Ԭ HDBSHP90AABŠN̠SŠDVҠ(D.33 NAMD.33 ԠDMAñDMAò NԠD.33.33 D.33NP SASAVASAVŠԠNYADDSS SBSAVBSAVŠUSԠDADDSS SBMPSAVŠADDSSƠ(SB.. DAAɠGԠԠD ANDMSAVŠNYHANN SAHN̠SAVŠNHANN̠D GAŠSSSKPƠDVҠBUSY MPBUSYDVҠBUSYHN DABɠGԠHŠUSԠD AƠSAŠUSԠD ANDMϠBS3-0 SASԠSAVŠUSԠD PANŠSUSԠҠAAD MPK...YSSKP PAϠSUSԠҠA MPK...YSSKP ԠBSԠBϠ0ҠGA̠US DANŠSԠAϠҠPAN MPD.33ɠԠҠ BUSYDBB5SԠB00000ҠDVҠBUSY MP+ԠҠ DMAʠDBNŠSԠBϠҠDMABUSY MP+GϠԠUSԠҠDMABUSY SUPA̠DUBŠDUN SSASUSԠNGHPSV MPUPDAԠNϬUSԠϠAGŠSԠϠMA MANAMAKŠUSԠNGAV MPNGϠBAKANDPSS UPDAԠDAB-000SԠϠDAUԠNGH MPNGϠDϠAS NDMAADAHŠSԠAϠ3 BSԠBϠ- ADBMPADDADDSSƠ(SB.. MPҠBYŠPGAMABD K...SZSAVBSԠUSԠPN SZSAVBϠPNԠA DASAVBBUҠADDSS DAAɠGԠBUҠADDSS A̬ŬSAAGԠADDSSƠBU MP-ƠNDԠYAGAN SABUƠSŠSAV SZSAVBSԠPNҠϠPAMSҠNH DASAVBɠGԠNԠDϠA-GS SAASAVŠASԠPAAMҠD DBSԠGԠUSԠDϠB-G. SBƠAŠUSԠSKP MPADƠNԠGϠϠADSN SZASSƠŠNGHSZ MPԠHNGA̠US NSANGSAVŠHSNGHUS SSASSƠ00DSSKP MPSUPƠSDSGϠMAKŠNGAV NSA3SAVŠNDMAN̠D3 ADAB000SUS SSAϠAG MPUPDAԠYSSԠϠDAUԠVAU DA3SUSԠGA SASUSԠҠANDDNUMB MPԠYS DASAVAɠADHŠDMAUSAGŠNDA ŬSSASSSDMAϠBŠUSD MP SàNԠYSSHŠNUPԠSYSMN BYSSԠBϠ- ƠNԠDSABŠNUPԠSYSM DADMAñADDMAAGD SZASSDSDMASԠҠSYSM MPNDMANϬABԠPGAM SSAYSSDMAAVAAB MPDMA.NϬGϠHKDMA AAҠYSSԠDMABUSY SADMAñSԠDMAAGBUSY MPDMAƠGϠNGUŠҠDMA DMA.DADMAòADDMAAGD SZADSDMAS SSAYSSDMAAVAAB MPDMAƠNϬGϠԠUS AAҠYSSԠHŠBUSYBԠ5 SADMAòNDMAAGD DMAƠSZBASHŠNUPԠSYSMN SƠNԠYSNABŠNUPԠSYSM BSZŬNBDMAHANN̠ASSGND? MPDMAʠNϬԠUS ANDBSAVŠNYDMAHANN̠NUMB SABNB-GS SBNGNGU DƠSA.ؠHŠNUPԠUMPAN SBNGNGU DƠDMA06Sà6àNSUN SBNGNGU DƠDMA0à6NSUN SBNGhNGU DƠDMA0A6NSUN ADAD-SUBAԠϠMAKŠA ADBD-SUBAԠϠMAKŠҠHANN̠ SADMA03NGUŠHŠA SADMA05NSUNS SBNGNGU DƠDMA0àNSUN SBNGNGU DƠDMA0SàNSUN DBHN̠SԠB-GSҠϠHANN SBNGNGU DƠS0SƠSNSUN SBNGNGU DƠS0ƠSNSUN SBNGNGU DƠױN̠D DMA0AS..UPUԠSԠN̠D DMA0à..PPAŠDMAҠSND DAײGԠNDN̠D DMA03A..UPUԠNDN̠D DMA0Sà..PPAŠDMAҠ3D DA3GԠ3DN̠D DMA05A..UPUԠ3DN̠D DAHN̬ɠSԠUPUN SA.ؠSAS..PUԠSBNSҠNNUPԠ. DBSAVAGԠADDSSƠԠD NBSԠADDSSϠD DABɠSԠԠD ҠB5ϠNDA SABɠDVҠBUSY ASԠDV SAGAŠBUSY DMA06SàS..àUNNDMA S0SƠSNAZŠSP-PS S0ƠSSAԠDAAANS MPD.33ɠԠҠNUP .33NP DMA0àS..AҠN̠NDMAHANN SANGSAVŠA SBײSAVŠB-GS AASSԠŠϠBԠ5 SààVBԠSԠ? NAYSSԠBԠN SAMPSAVŠŠANDVBS ŠAҠ-GS DADMA0ADASAMPŠƠANGUDNS. ANDHŠSAVŠSԠϠBS PAϠASנDMAHANN̠USD MPDMAGϠSԠDMAñ DADMAòGԠDMAò AAҠAҠBԠ5 SwADMAòSŠD MPNDNGGϠNSHUP DMADADMAñGԠDMAñ AAҠAҠBԠ5 SADMAñSŠD NDNGDASSSԠDVҠ SAGAŠNԠBUSY SBNSHGϠSԠD3 DAMPGԠŠANDVGSS ϠS SAA-GSS SϠANDVנB DANGSŠA DBײSŠB-GS MP.33ɠԠBY!! ŠDBHN̠GԠHANN̠ƠS SBNGGϠNGU DƠS.SƠSNSUN SBNGGϠNGU DƠS.ASNSUN SBNGGϠNGU DƠS.3BSNSUN SBNGGϠNGU DƠS.SàSNSUN S.SƠSNAZŠSP-PS DABUƠGԠSԠDƠBUҠADDSS SAPNԠSAVŠNPNҠD PDAPNԬɠGԠD SZPNԠNMNԠPN DBPNԬɠGԠNDDϠB-GS SZPNԠNMNԠϠNԠSԠD S.ASUPUԠSԠDϠNA S.3BSUPUԠNDDϠNA S.SàSGϠSŠASD DA3GԠMANNGHAAҠUN ADAϠNMNԠҠASԠ PANŠSMANҠN MPNYSGϠNSHUP SZASSSMANDҠZ MPNYSGϠNSHUP SA3ƠNԠHNSԠNנHA.UN MPPGϠDϠNԠD ADDBHN̠GԠHN̠ƠS SBNGGϠNGU DƠS.5SƠSNSUN SAS.SԠHҠSƠSNSUN SBNGGϠNGU DƠS.6ASNSUN SBNGGϠNGU DƠS.ASNSUN SBNGGϠNGU DƠS.9BSNS%UN DABUƠGԠADDSSƠSԠDƠBU SAPNԠSAVŠNPNҠD DAAGԠPAMSD(NGH+ADDSS SZASSƠNԠZϠSKP MPZSƠZϠGϠSԠUPҠAGSԠAD AƬAƠSԠNGHϠҠHAƠƠD ANDM3MASKƠUPPҠPA SZASSSNGHҠZϠDS MPԠYSGA̠US SANGSAVŠUSԠNGH MANAMAKŠNGHNGAV SA3SAVŠNDMAN̠D3 DAAGԠPAMSAGAN ANDM3HSMŠSAVŠNYҠD AƬAƠMVŠADDSSϠUPPҠPA PSASADDSAVŠNSAԠADDSSD S.5SƠSSԠSP-PϠNAZ S.6ASUPUԠADDSSϠBŠN S.SƠSNAZŠP-PS S.ASGԠUPPҠDϠA-GS S.9BSGԠҠDϠB-GS ҠSADDSԠNADDSSNϠSԠD SAPNԬɠSŠUPPҠDNBU SZPNԠNMNԠϠNԠBUҠD SBPNԬɠSŠNDBUҠD SZPNԠNMNԠϠNԠD DASADDGԠSADDSS ADAB00SԠϠNԠSADDSS SZ3HAVŠA̠DSBNAD MPPNϬYAGAN NSBNSHSԠD3 DAB5SԠAϠ00000ҠMPNK MPD.33ɠ NSHNP DBSAVAGԠADDSSƠԠ NBNMNԠϠԠD DASԠADAHԠ500 SABɠSԠNԠD NBSԠϠPNԠϠԠ3 DANGGԠDUN SSAƠAADYPSVŠSKP MANAMAKŠSUԠPSV ҠB5ADDBԠ5ҠBNAY SABɠSԠNԠ3 MPNSH ZSDAB-00SԠϠMAUMADNGH SA3@-$"SAVŠNNGHD ASԠSAԠADDSS SASADDϠSԠDƠS MPPGϠSAԠAD NGNP DANGɠADNS.ADDSS SAMPSAVŠNMPAYAN DAAɠADNSUN ANDB00SAVŠA̠BUԠHANN ҠBADDNNנHANN̠NUMB SAMPɠUNϠPPҠAN SZNGNMNԠUNADDSS MPNGɠUN SSSSSSNSANԠҠSKPS AU0 BU ..UB S..U6B SU0B SVNUB NԠU0 SԠԠ500 BUƠԠ0 HN̠Ԡ0 SԠԠ0 ױԠ0000 ײUBU 3Ԡ0 AԠ0 SAVAԠ0 SAVBԠ0 NGԠ0 PNԠԠ0 SADDԠ0 MPԠ0 MԠ MԠ M3Ԡ3 NŠDà ϠDà HŠDà3 B5Ԡ00000 NDD.33 $ / : 24278-80001 1419 S 0122 DOS DVR33 - 12908 WCS             H0101 u ASMBҬB̬Ԭ HDDSABŠN̠SŠDVҠ(DV33 NAMDV330 NԠ.33.33 SKP NANҠADSANDS SPà .33NP DA3ɠGԠԠD3 ANDMSAVŠNYHANN̠NUMB SA6ɠSAVŠSUԠN6 DA9ɠGԠUSԠN̠D AND..+3SAVŠNYBS0Ϡ DBԴɠGԠSAUSD SSBSDVŠBUSY MPBUSYYSԠANDA PA..+ƠUSԠSҠAAD MPADGϠϠADSN PA..+ƠUSԠSҠA MPŠGϠϠŠSN DA..+SŠGA̠US MP.33ɠANDԠA NG0DA..+SԠAϠҠPAN MP.33ɠNAND BUSYSZASSSUSԠҠAA MPAҠYSGϠAҠDMAHANN DA..+3SŠԠUSԠ MP.33ɠDVҠBUSYA3 SKP ŠNANSN SPà ŠDAԱɠGԠGNA̠BUҠNGH SZASSSUSԠҠZϠHAAS MPNG0YSԠGA̠NGHUS SSASSSUSԠҠ00DS MPSUPNϬHNDUBŠNGHANDNGA NSA5ɠSAVŠUPDADUSԠNGH SAƠUSԠSDDHNGϠ MPNG0GA̠US ADAB000MAKŠPSVŠƠGA SSASUSԠNGHHNMS MPUPDAԠNϬGϠMDYϠMA DA3ɠADDMAUSAGŠNDA SSASSSDMAϠBŠUSD MPԲNϬGϠϠNN-DMA SPà ŠHDMASN SPà DBHANGԠDMAHANN SBNGNGU DƠDMA06SàDMAàNSUN SBNGNGU DƠDMA0àSؠNSUN SBNGWNGU DƠDMA0ADMANSUN ADA..-SUBAԠMADMANS. ADB..-SUBAԠMDMAHANN SADMA03SԠAϠNSUN SADMA05SԠAϠNSUN SBNGNGU DƠDMA0àϠNSUN SBNGNGU DƠDMA0SàϠNSUN DB6ɠADSHANN̠NUMB SBNGNGU DƠS0SƠSNSUN SBNGNGU DƠS0ƠSNSUN SBNGNGUŠSԠN̠D DƠױADSԠN̠D DMA0ADMAUPUԠSԠN̠D DMA0à..PPAŠDMAҠNDN̠D DAԱ0ɠGԠBUҠADDSS DMA03A..UPUԠNDN̠D DMA0Sà..PPAŠDMAҠ3DD DA5ɠGԠBUҠNGH DMA05A..UPUԠ3DN̠D ASԠA0ҠPANNAD DMA06SàDMAàUNNDMA S0SƠSNAZŠSNA S0ƠSSAԠDAAANS MP.33ɠUNUN̠DMANUP SKP ŠHUԠDMASN SPà ԲDB6ɠGԠSHANN̠NUMB SBNGNGU DƠS.SƠSNSUN SBNGNGU DƠS.ASNSUN SBNGNGU DƠS.3BSNSUN SBNGNGU DƠS.SàSNSUN S.SƠSNAZŠSNA DAԱ0ɠGԠBUҠADDSS SANGSAVŠNAUNUSDAN PDANGɠGԠSԠDƠ SZNGNMNԠBUҠPN DBNGɠGԠSNDDϠB-GS SZNGNMNԠPNҠϠNԠD S.ASUPUԠSԠDϠNA S.3BS7UPUԠNDDϠNA S.SàSSԠDVŠϠDϠS DA5ɠGԠBUҠNGH ADAϠADDϠϠUN PANŠSSUԠN MPNYSGϠMP SZASSSSUԠZ MPNYSGϠMP SA5ɠNϬSAVŠNנUN MPPDϠNԠD SKP NAҠADSN SPà ADDB6ɠGԠSHANN̠NUMB SBNGNGU DƠS.5SƠSNSUN SAS.DϠHҠSƠSNSUNAS SBNGNGU DƠS.6ASNSUN SBNGNGU DƠS.ASNSUN SBNGNGU DƠS.9BSNSUN DAԱɠGԠNGH+SAN SZASSƠZ MPZSGϠSԠUPϠMAؠVA. ANDM3ƠNԠSAVŠSAN AƬAƠMVŠϠUPPҠPAԠƠD SAԱɠSAVŠSAԠSADDSS DAԱɠGԠHŠDAGAN AƬAƠMVŠNGHϠҠANS ANDM3SAVŠNYHŠUSԠNGH SZASSSNGHҠZϠDS MPNG0YSGA̠US SAԱɠSAVŠNUMBҠUSD MANAMAKŠUSԠNGAV SA5ɠSAVŠNUMBҠƠDSϠBŠAD DAԱ0ɠGԠBUҠADDSS SANGSAVŠNUNUSDD PDAԱɠGԠSSANGADDSS S.5SƠSNAZŠSNA S.6ASUPUԠADADDSS S.SƠSSԠSNA S.ASGԠUPPҠDϠA-GS S.9BSGԠҠDϠB-GS ҠԱɠNSԠADDSSϠUPPҠHA SANGɠSŠUPPҠDNBU SZNGNMNԠϠNԠBUҠD SBNGɠSŠҠDNBU SZNGNMNԠϠNԠBUҠD DAԱɠSԠSADDSSϠNԠD ADAB00ADD00BϠMAKŠNԠADDSS SAԱɠSAVŠNנADDSS SZ5ɠHAVŠA̠DSBNAD MPPNϬDϠNԠD NDBԱɠGԠGNA̠BUҠNGH SBԱɠSŠASANSMSSNG DA..+SԠAϠҠMMDAŠMPN MP.33ɠ SPà3 ZSDAB-00SԠNGHҠ00DS SA5ɠSAVŠUSԠNGHUN MANASԠUSԠNGHϠ+00 SAԱɠSAVŠNGNA̠NGHD ASԠSANGADDSSϠZ SAԱɠSAVŠSANGADDSS MPP-NנGϠDϠMAؠADUS SPà3 AҠASԠANSMSSN SAԱɠGϠZϠDS MPDMA0GϠDϠAҠPAN SPà3 NGNP DANGɠADNSUNADDSS SAMPSAVŠNAMPAYAN DAAɠADNSUNYP ANDUPPҠMVŠDSԠD ҠBADDNNנSԠD SAMPɠSŠVҠDNSUN SZNGNMNԠUNADDS MPNGɠUNANGUDNS. SPà3 SUPA̠DUBŠDUN SSASSGNNנNGAV MPUPDAԠYSϠAGŠGϠHANG MANAANDMAKŠNGAV MPNNNUŠPSS SPà3 UPDAԠDAB-000SԠUSԠNGH SAԱɠϠMAUMVAU MPNANDNNUŠPSSNG SKP NNUANSNҠDMAS SPà .33NP DMA0àS..AҠDMAHANN ASԠA0ҠMPN DBԱɠSԠBANSMSSNG MP.33ɠ SKP NSANSSN SPà ..U53B .U00B 3U.+69 ԴU.+0 5U.+ 6U.+ 9U.+5 Ա0U.+6 ԱU.+ ԱU.+ ԱU.+0 AU0 BU NŠU..+ ϠU..+ ..U S..U6 ױԠ0000 M3UB MUB UPPҠUB SU5B HANU.+ DMAU6 MPBSS ND.33  0 : 24279-80001 A S 0122 BCS HP2100 MICRO ASSEMBLER             H0101 l HPA̬̬B"A00" BGN NGҠZ_"" NGҠAAYSYMB0:5ݻ NGҠSԬPHDҬMԬɬʬKԬNԬM_00 NDجNS_ Y_ BASŬNҬHKSUMBѬDNԬNŬNUMS MAԠ("Ҡ"3"" BANSUPPSS PìPNSKPPNSKPMPGNPNBUSNPNSBUS SNSBUSSNSBUSS3NSBUSSNSBUSNNSBUSADDYPŬMNSŬ ADNSBUS PNSBUS NSPA̻ NGҠAAYAD0:ݬAB0:9:5ݬVAUS0:9 YP0:9ݬMA0:56ݬMB0:56ݻ MAԠƱ(0ұ3(ج5ұ3جK6ұ9(ج3جKجK3جK63ج 0ұ 6(ج30ұƲ("SYMB̠AB" NPUԠNAD(Ҡ_0ϠDADݩ UPUԠUAD(Ҡ_0ϠDADݩ ABNY(Ҡ_0ϠN-DҠ_Ϡ5DABɬݬ VAUSݬYPݩ AB̠SAԻ PDUŠSKP(S VAUŠSNGҠS BGN AB̠S S:ƠND SYSTEM LIBRARY DISC ADDRESSES ABS TTY01-TTY00 LENGTH OF A TTY TABLE DEF TTY00+?DISC ADDRESS OF USER DISC ADDRESS DEF TTY00+?MASK ADDRESS OF USER MASK DEF TTY00+?BHED =>START OF LOGICAL BUFFER DEF TTY00+?BSTR =>END OF LOGICAL BUFFER DEF TTY00+?BGIN =>START OF PHYSICAL BUFFER DEF TTY00+?BEND =>END OF PHYSICAL BUFFER DEF TTY00+?ID ADDRESS OF ID-NAME DEF LMSK ADDRESS OF USER-DEPENDENT ITEMS ABS USER-PROGB-1 LENGTH OF SWAP AREA DEF USER CORE ADDRESS OF SWAP AREA DEF DATIM ADDRESS OF HOUR OF YEAR DEF DATIM+1 ADDRESS OF TENTHS OF HOUR DEF YEAR ADDRESS OF YEAR DEF TSBLB DISC ADDRESS FOR START UP DEF MGSLE MAG SLEEP LOC. DEF UTLTY STARTING ADDR. OF UTILITY JSB POWIN,I SET IN LOCATION 4 BY LOADER HED BASE PAGE A EQU 0 A REGISTER ADDRESS B EQU 1 B REGISTER ADDRESS ORG 2 2e HLT DEATH+2 FOR SYSTEM JMP *-1 PROTECTION HLT 4,C CHANGED BY LOADER HLT DEATH+5 PARITY ERROR DMA JSB ?ADIN,I 6 - FIRST DMA CHANNEL CLC 7,C 7 - SECOND DMA CHANNEL ?SC JSB T35DR,I 10 - SYSTEM CONSOLE DC CLF 11B 11 - DISC DATA CHANNEL CC JSB ?ADIN,I 12 - DISC COMMAND CHANNEL CLC 13B 13 - PHOTO READER MPX JSB MPXO,I 14 - MULTIPLEXER DATA MPXO DEF MPXIO 15 - MULTIPLEXER STATUS DSCB JSB DSCBA,I 16 - MULTIPLEXER PHONES CLOCK JSB CLKDR,I 17 - TIME BASE GENERATOR SPC 2 * ** STORAGE AND POINTERS * LTEMP BSS 16 TEMPORARIES FOR LIBRARY OVERLAYS YEAR BSS 1 CURRENT YEAR - 0 TO 99 DATIM BSS 2 TWO WORD ENTRY FOR TIME OF YEAR * 1) HOUR OF YEAR * 2) # OF 100MS UNITS IN HOUR UTLTY BSS 1 FILLED BY LOADER/ MGSLE BSS 1 UTILITY PROGRAM MOVES BSS 1 SOURCE AND DESTINATION MOVED BSS 1 FOR MOVEW ROUTINE ID BSS 1 USED FOR RESULTS OF GETID MID BSS 1 T35CP BSS 1 SC BUFF POINTER FOR LIB PROGRAMS T35LC BSS 1 CONTAINS CHAR RETRIEVED BY T35CH PBPTR BSS 1 POINTER TO END OF CURRENT PROG TIMER BSS 1 POINTS TO CLOCK OF ACTIVE USER. SBHED BSS 1 SCHL BSS 1 TTQ BSS 1 SCHID BSS 1 1 SCHP BSS 1 SCNT BSS 1 SCHPR BSS 1 CTEMP BSS 1 WORD BSS 1 WORD COUNT TO DISC ROUTINE. TOG BSS 1 TADR BSS 1 TCNT BSS 1 IDTRA BSS 1 IDTLA BSS 1 IDCNT BSS 1 IDCAD BSS 1 IDMAX DEC -12256 MSQCT NOP MSQP1 DEF MSQHD BEGINNING OF MESSAGE BUFFER * ** *** MUERTO ** * DEATH EQU 0 [E] * * ALL SYSTEM HALTS CAN BE REFERENCED BY THE LABLE 'DEATH'. THE * FOLLOWING IS A LIST OF THE HALTS AND THEIR MEANINGS AS WELL * AS AN INDICATION OF POSSIBLE RECOVERY OR A MESSAGE OF DOOM. * * * 2 - AN ERRONEOUS, NON-RECOVERABLE SYSTEM TRANSFER * HAS OCCURRED. * * 4 - POWER FAILURE HAS OCCURRED. CHECK RESTART SWITCH * POSITION. * * 5 - A PARITY ERROR HAS OCCURRED. CHE9CK THE CPU HARDWARE. * * 10B - DISC FAILURE - THE DISC'S STATUS IS DISPLAYED IN THE * A-REGISTER. MAKE HARDWARE CORRECTIONS AND PRESS RUN. * IF CPU CONTENTS ARE ALTERRED WHILE REPAIRING HARDWARE * (I.E. RUNNING DISC DIAGNOSTIC), THE SYSTEM IS LOST. * * 11B - ALLOWS OPERATOR TO CHANGE DISC PACKS DURING A SLEEP. * WHEN THE DISC IS UP TO SPEED, PRESS RUN. SPC 3 * ** NUSE * * * ALL UNUSED CORE LOCATIONS MAY BE LOCATED BY REFERENCING * THE LABLE 'NUSE'. SKP * ** *** EQUIPMENT TABLE *** * * THIS SECTION, WHICH IS ORIGINED AT 100B, CONSTITUTES THE RESIDENT * INFORMATION ABOUT THE DISC RESIDENT TABLES. THESE TABLES ARE * INITIALIZED BY THE VARIOUS LOADERS AND THEIR CONTENTS ARE WRITTEN * ON DISC BY THE SLEEP ROUTINE. THIS EQUIPMENT TABLE MUST EXACTLY * CORRESPOND THE VERSION IN THE LOADER. SPC 1 ORG 100B SPC 1 DIREC BSS 56 DIREC HAS 8 7-WORD ENTRIES, ONE FOR * EACH POSSIBLE DIRECTORY TRACK AT 2 * TRACKS PER LOGICAL DISC. EACH * ENTRY CONSISTS OF THE FOLLOWING: * 0) LENGTH OF TRACK IN -WORDS * 1-5) 1ST 5 WORDS OF DIRECTORY TRK * 6) DISC ADDRESS * IDLEN BSS 1 TOTAL LENGTH OF ID TABLE IDTTA DEF *+1 TABLE OF DISC ADDRESSES BSS 4 FOR THE FOUR ID TRACKS IDTRL DEF *+1 TABLE OF TRACK LENGTHS BSS 4 FOR THE FOUR ID TRACKS ADLOC BSS 1 DISC ADDRESS OF ADT TABLE ADLEN BSS 1 LENGTH OF ADT IN -WORDS ?TBL BSS 1 NPORT BSS 1 - NUMBER OF SWAP TRACKS RESERVED PHR DEC -120 PHONES TIMING WORD (2 MIN. DEFAULT) FILLR NOP NUMBER OF DELAY CHARACTERS [E] SLEPT BSS 1 0 - SYSTEM SLEPT; 1 - NOT SLEPT * ** END OF EQUIPMENT TABLE * SPC 1 1 * ** SYSTEM STATUS VARIABLES * MAgIN NOP INDICATES USER IN CORE,0 IF NONE LIB NOP => DISC ADDRESS OF LIBRARY * PROGRAM IN CORE, 0 IF NONE ENDSK NOP 1 IF DISC IS BUSY, 0 IF NOT TIMEF NOP 1 WHEN CURRENT PROGRAM IS TIMED MPCOM NOP PORT COMMUNICATIONS BIT FLAG TAPEF NOP USER IN TAPE MODE BIT FLAG CHNFG NOP CHAIN RUNNING BIT FLAG HFLAG NOP $HELLO RUNNING BIT FLAG TERR NOP TAPE ERROR BIT FLAG CFLAG NOP COMPILE MODE BIT BLAG * . EQU 526B DOT TABLE 0 REFERENCE POINT LIBRA EQU 37300B SYSTEM LIBRARY PROGRAM ADDRESS BUFLN EQU 50 PORT BUFFER LENGTH MBLEN ABS -BUFLN-BUFLN BLEN ABS BUFLN+BUFLN MAXBL ABS -BUFLN-BUFLN+2 SPC 1 * ** *** SYSTEM CONSOLE POINTERS AND TEMPORARIES ** * TTA BSS 1 INTERRUPT TTB BSS 1 REGISTER TTE BSS 1 STORAGE T35F1 NOP CONSOLE T35F2 NOP STATE T35F3 NOP FLAGS TBITS OCT 160000 INTERFACE STATE B120K OCT 120000 B130K OCT 1300000 B160K OCT 160000 * TTY35 DEF ?TT35 => SYSTEM CONSOLE DRIVER T35DR DEF ?TT2 => DRIVER INTERRUPT ENTRY POINT T35CH DEF T35CQ => CONSOLE CHARACTER GETTER T35LN DEF T35LK => LINK ENTRY * ** SYSTEM CONSOLE TTY TABLE ENTRY * T35CL NOP PSEUDO CLOCK T35RS NOP RESTART ADDRESS T35ST NOP STATUS T35LK NOP LINK T35PR NOP PRIORITY * ** SYSTEM CONSOLE BUFFER * T35BF BSS 36 BUFFER FOR I/O CRLF OCT 6412 T35B1 DEF T35BF => WORD ADDRESS OF BUFFER T35B2 ABS T35BF+T35BF => CHAR ADDRESS OF BUFFER T35ND ABS T35BF+T35BF+72 => END OF CHARACTER BUFFER SPC 1 * ** THE USER QUEUE * MLINK DEF *+1 POINTS TO BASIC QUEUE ENTRY DEF * LINK TO HEAD OF QUEUE INF OCT 77777 MAXIMUM PRIORITY USED * FOR QUEQE INSERTS SPC 1 * ** LOGG=9R POINTERS * LOGCT NOP NUMBER OF ELEMENTS IN LOGGR LOGBG DEF LOGGR POINTS TO BEGINNING OF LOGGR LOGP1 DEF LOGGR+31 POINTS TO FIRST AND LOGP2 DEF LOGGR+31 LAST ENTRIES IN LOGGR LOGND DEF LOGGR+32 POINTS TO END OF LOGGR * *** DISC DRIVER TEMPORARIES AND STORAGE * CORE NOP DADDR NOP DRIVE NOP HDSCT NOP CYL# NOP MMMM DSAVE BSS 2 FAIL DEC -10 WRIT OCT 10000 READ OCT 20000 SEEK OCT 30000 CYLMK OCT 77600 CMDMA ABS 120000B+DC SYSID NOP SPC 1 * ** SYSTEM DRIVER AND SUBROUTINE POINTERS * ?ADIN DEF DINT => DISC COMMAND CHAN INT HANDLER ABCK DEF ABCHK => ABORT CHECK ROUTINE CLKDR DEF CLKIN => CLOCK DRIVER DISC DEF LDISC => DISC DRIVER DISCP DEF CHECK => POWERFAIL DISC I/O HANDLER DSCBA DEF DSCBL => DATA SET CONTROL BOARD DRIVER MUXR DEF MUXOR => MULTIPLEXER OUTPUT ROUTINE POCR DEF POC => PROCESS OUTPUT CHARACTER POWIN DEF POW => POWER FAIL/RESTART SCHEN DEF SCHEQ => EXECUTION TERMINATION HANDLER SCHIN DEF SCHIQ => INPUT REQUEST HANDLER SCHLB DEF SCHLQ => LIBRARY ROUTINE SCHEDULER SCHOU DEF SCHOQ => SUSPEND REQUEST HANDLER TAPEA DEF TAPER => OUTPUT TAPE MODE ERRORS SPC 1 * ** SYSTEM ADDRESS POINTERS * #LIB# DEF LIBRA ADDRESS FOR LIBRARY WRITES #LIBI DEF LIBRA,I ADDRESS FOR LIBRARY READS ?ABP2 DEF CRLF DCLC1 DEF CLC1 DCLC2 DEF CLC2 DCOM6 DEF COM6 => LIBRARY DISC ADDRESSES TABLE DEH DEF EH => "???" BUFFER DIRD0 DEF DIREC DIRD1 DEF DIREC+7 DIRD3 DEF DIREC+49 DLTEM DEF LTEMP => START OF LIBRARY TEMPORARIES DTTY0 DEF TTY00 => START OF TELETYPE TABLES ERS32 DEF ERSEC+32 FUSS DEF COM6+1 => DISC ADDRESS OF FUSS L128 DEF LIBUS+128 LIBD DEF LIBUS ADDRESS OF USER AREA FOR WRITES LIBDI DEF LIBUS,I ADDRESS OF USER AREA FOR READS MLP2A DEF MLOP2 => INTO ASSIGN MATRIX VALUE ONEI DEF B,I PBUFF DEF PROGB+1 => START OF USER AREA SCOM1 DEF COM1 => COMMAND TABLE HEAD SCOM5 DEF COM5-1 => END OF COMMAND TABLE TTYTP DEF TTPT => TTY TABLES POINTER TABLE U4475 DEF USER+4475 => END OF USER AREA USEND DEF MSQHD-1 => MESSAGE BUFFER HEAD -1 SPC 1 1 * ** SYSTEM CONSTANTS AND TEMPORARIES * DID NOP LCHCR NOP MFLAG NOP USED BY SUPERSAVE TCNTR BSS 1 TPNTR BSS 1 TSPNT BSS 1 B1777 OCT 1777 SYNCC OCT 77577 SYNCHRONIZING CHARACTER D36K ABS 30000+6000 M36K ABS -30000-6000 MCOM2 ABS -COM2 MLIBD ABS -LIBUS ASC00 ASC 1,00 ASC0B ASC 1,0 ASCBA ASC 1, @ ASCBB ASC 1, ASCFF ASC 1,FF ASCIN ASC 1,N RVRSL ASC 1, \ READY DEF *+1 OCT 5122 READY MESSAGE ASC 2,EADY SPC 1 * ** *** DOT TABLE AND GENERAL USAGE CONSTANTS ** * * THE LOADER HAS AN IDENTICAL COPY OF THE DOT TABLE WHICH MUST * BE ORIGINED AT THE SAME LOCATION AS THE SYSTEM VERSION. * M3072 DEC -3072 M2000 OCT 176000 M1000 DEC -1000 M256 DEC -256 M252 DEC -252 M128 DEC -128 M96 OCT -140 M74 DEC -74 M73 DEC -73 3z M72 DEC -72 D100 OCT -100 D66 OCT -66 D72 OCT -72 M72B EQU D72 D65 OCT -65 D62 OCT -62 M60B OCT -60 D53 OCT -53 M41B OCT -41 M32 DEC -32 ORG .-29 DEC -29,-28,-27,-26,-25,-24,-23,-22,-21 DEC -20,-19,-18,-17,-16,-15,-14,-13,-12,-11 DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 DEC 0,1,2,3,4,5,6,7,8,9 DEC 10,11,12,13,14,15,16,17,18,19 DEC 20,21,22,23,24,25,26,27,28,29 DEC 30,31,32,33,34,35,36,37,38,39 DEC 40,41,42,43,44,45,46,47,48,49 B63 OCT 63 .58 DEC 58 B73 OCT 73 D60 DEC 60 B77 OCT 77 B100 OCT 100 .72 DEC 72 ?72 EQU .72 .74 DEC 74 .75 DEC 75 B133 OCT 133 3 BKSPC OCT 137 D203 DEC 203 B300 OCT 300 0 .105 DEC 105 .112 DEC 112 B177 OCT 177 B200 OCT 200 B377 OCT 377 B400 OCT 400 B776 OCT 776 B777 OCT 777 P3072 OCT 3072 CHNOP OCT 71000 NUSE1 BSS 5 NOT USED [E] SKP * ** LANGUAGE PROCESSOR# CONSTANTS AND ADDRESSES * DMID NOP DELSA DEF DELST SBJTB DEF #FSC SYNTA DEF SYNTX DEF #SBCK D600 DEC 600 DEF #FRCR MIOEN DEF MIO7 DEF #FPOP LWAUS DEF FILBF-1 1h DEF #VROP LW200 ABS 200-FILBF+1 DEF #ARID STBAS DEF SYNTB-45B,I DEF #PGIN N MCBOP DEF MCBOS DEF #TBSR MCREL DEF MRELS DEF #GTPF ANOT DEF NOT DEF #LPCK STTYP DEF STYPS DEF #RPCK AEND DEF EOFOP DEF #LTR MATIO DEF IOSTS DEF #STOP ATHEN DEF THEN DEF #CRST ASTEP DEF STEP DEF #DGCK ATAB DEF TAB DEF #LTCK K7 PDFNS DEF PRDFS DEF #SBPU MATFN DEF MATFS DEF #SYCK OF ASC 1,OF DEF #FINC TO ASC 1,TO DEF #NMCK FN ASC 1,NF DEF #MB10 ACCSA DEF ACCST DEF #DB10 ACC5A DEF ACCS5 DEF #NRML DONEA DEF EXIT3 DEF #PACK SER7A DEF SERR7 DEF #OVFL DSERR DEF DSERA DEF #DLPR SERRA ABS -SERRS DEF #FDPS RERRA ABS SERRS-RERRS DEF #SSYM WERRA ABS RERRS-WERRS DEF #ASYM ERSCA DEF ERSEC DEF #DCMP APTR1 DEF SYMT6 DEF #PNST APTR2 DEF SYMT7 DEF #CUSP A.10 DEF .+10 DEF #STRI EXITA DEF EXIT DEF #RSTO XEC1A DEF XEC1 DEF #GTST FRET DEF FOR10 DEF #FORM XECBR DEF XECTB-45B,I DEF #STST FOPBS DEF QUOTE-2 DEF #SBFX ARBAS DEF FOJT-12B,I DEF #PSTR MINP1 DEF EINP1 DEF #TRST MINP2 DEF EINP0+3 DEF #CMPR ENDIN DEF EIN12 2 DEF #PCHK FSCHA DEF FSCH DEF #FTCH FINCA DEF FINCH DEF #STDP NMBFA DEF NUMBF DEF #FDAT LCALL DEF LIS10-1 DEF #FSCH B1000 OCT 1000 DEF #PSHS B2000 OCT 2000KK DEF #ARIN B3000 OCT 3000 DEF #BNOP RPOP OCT 10000 VV DEF #STTP RBOP OCT 11000 DEF #OPCK LBOP OCT 12000 DEF #RSCK LPOP OCT 13000 DEF #FADA, UNPLC OCT 14000 DEF #FSB UNMNC OCT 15000 DEF #FMP MU0.*LOP OCT 22000 nn DEF #FDV EXPOP OCT 24000 DEF #OUCK DIMOP OCT 47000 DEF #FLUN DEFOP OCT 50000 DEF #IFIX REMOP OCT 51000 DEF #ENOT FOROP OCT 54000 DEF #NMOT NXTOP OCT 55000 DEF #GTDG ENDOP OCT 60000 DEF #OTLN DATOP OCT 62000 0 DEF #EDLM INPOP OCT 63000 DEF #STPT PRTOP OCT 65000 DEF #EXP FILOP OCT 70000 DEF #LOG TOOP OCT 76000 DEF #CHEB OPMSK OCT 77000 DEF #IENT SMSK OCT 77600 DEF #PWR2 INTFL OCT 100003 DEF #INCL PDFFL OCT 100017 DEF #GTCR TABCN OCT 100037KK DEF #BKSP LENCN OCT 100337 DEF #OTCR OPDMK OCT 100777 DEF #OTIN DHMSK OCT 100100-- DEF #MCOT HMASK OCT 174000 DEF #OTST OFOP OCT 174003 DEF #SINI .2500 DEC 2500 DEF #BLDI TENTH OCT 63146 DEF #RDIM D1111 OCT -1111 DEF #VCHK MAXSN DEC -10000 DEF #SERR R E OCT 105 DEF #CHOU F OCT 106 DEF #MOVE N OCT 116 DEF #RECR LETOP OCT 72000 0 DEF #FILR .140 OCT 140 DEF #VLFI D133 OCT -133 DEF #RQST D577 OCT -5777| DEF #FILS B4000 OCT 40000 DEF #GTTY Y PDFBS JMP PDFTB-1,I I DEF #WRBU COMOP OCT 45000 DEF #ALCO SCOMM OCT 16000 DEF #SLCK (D) STATS NOP USED BY "DISC-UP" COMMAND FDT4A DEF FDAT4 @0 2 ? 24280-80002 1534 S 0122 TSB/E SYSTEM              H0101 * ** FUNCTION EXECUTION ENTRY ADDRESSES * PDFTB DEF ETAB DEF ESIN DEF ECOS DEF ETAN DEF EATN DEF EEXP DEF ELOG DEF EABS DEF ESQR DEF EINT DEF ERND DEF ESGN LDVSR DEF DVSRS 'LEN' IS DONE IN A SPECIAL WAY DEF ETYPYk DEF ETIM SPC 2 DVSRS DEC 10000 DEC 1000 DEC 100 DEC 10 MNEG OCT 100000 OCT 376 HALF DEC 0.5 M64 EQU D100 HIMSK EQU M256 EOF EQU .-1 EOR EQU .-2 B17 EQU .+17B B CANCL EQU .+30B Bn .100 EQU DVSRS+2 M133B EQU D133 * ** BIT FLAGS * BIT0 EQU .+1 BIT1 EQU .+2 BIT2 EQU .+4 BIT3 EQU .+10B BIT4 EQU .+20B BIT5 EQU .+40B BIT6 EQU B100 BIT7 OCT 000200 BIT8 EQU B400 BIT9 EQU B1000 BIT10 EQU B2000 0 BIT11 EQU B4000 BIT12 EQU WRIT BIT13 EQU READ BIT14 EQU HALFL BIT15 EQU MNEG NBT0 EQU .-2 NBT1 EQU .-3 NBT2 EQU .-5 NBT3 EQU .-9 NBT5 EQU M41B NBT6 OCT 177677 NBT7 OCT 177577 NBT12 OCT 167777 NECHO EQU NBT12 A000 EQU B2000 * ** ERROR JUMP TABLE * SERRS DEF SERR REP 323 DEF SERR RERRS DEF SERR REP 44 (D) DEF SERR WERRS DEF SERRR REP 8 DEF SERR HED USER AREA USE DEF USER USEI DEF USER,I ORG 1325B USER EQU * AREG NOP BREG NOP EREG NOP PREG NOP LIBUS EQU * * ** SUBROUTINE RETURN ADDRESSES * FSC NOP JMP *-JTD,I SBSCK NOP JMP *-JTD,I FRCUR NOP JMP *-JTD,I FPOP NOP JMP *-JTD,I VAROP NOP JMP *-JTD,I ARRID NOP JMP *-JTD,I PRGIN NOP JMP *-JTD,I TBSRH NOP JMP *-JTD,I GETPF NOP P JMP *-JTD,I LPCK NOP JMP *-JTD,I RPCK NOP JMP *-JTD,I LTR NOP JMP *-JTD,I STROP NOP  JMP *-JTD,I CHRST NOP JMP *-JTD,I DIGCK NOP JMP *-JTD,I LETCK NOP JMP *-JTD,I SBPUD NOP JMP *-JTD,I SYMCK NOP JMP *-JTD,I FINCH NOP JMP *-JTD,I I. NUMCK NOP JMP *-JTD,I MBY10 NOP JMP *-JTD,I DBY10 NOP JMP *-JTD,I NORML NOP JMP *-JTD,I .PACK NOP JMP *-JTD,I OVFLW NOP JMP *-JTD,I DELPR NOP JMP *-JTD,I FNDPS NOP P5 JMP *-JTD,I SSYMT NOP JMP *-JTD,I ASYMT NOP JMP *-JTD,I DCMPL NOP JMP *-JTD,I PRNST NOP JMP *-JTD,I CUSP NOP JMP *-JTD,I STRID NOP JMP *-JTD,I RSTOP NOP JMP *-JTD,I GETST NOP JMP *-JTD,I FORMX NOP JMP *-JTD,I STSTR NOP JMP *-JTD,I SBFIX NOP JMP *-JTD,I PSTR NOP JMP *-JTD,I TRSTR NOP JMP *-JTD,I COMPR NOP JMP *-JTD,I PCHK NOP JMP *-JTD,I FETCH NOP JMP *-JTD,I SETDP NOP JMP *-JTD,I FDATA NOP JMP *-JTD,I FSCH NOP JMP *-JTD,I PSHST NOP JMP *-JTD,I ARINV NOP JMP *-JTD,I BINOP NOP JMP *-JTD,I STTOP NOP  JMP *-JTD,I OPCHK NOP JMP *-JTD,I RSCHK NOP JMP *-JTD,I .FAD NOP JMP *-JTD,I .FSB NOP P JMP *-JTD,I .FMP NOP JMP *-JTD,I .FDV NOP JMP *-JTD,I OUCHK NOP JMP *-JTD,I .FLUN NOP JMP *-JTD,I IFIX NOP JMP *-JTD,I ENOUT NOP JMP *-JTD,I NUMOT NOP P JMP *-JTD,I GETDG NOP JMP *-JTD,I OUTLN NOP JMP *-JTD,I EDELM NOP JMP *-JTD,I SETPT NOP GG JMP *-JTD,I .EXP NOP JMP *-JTD,I .LOG NOP JMP *-JTD,I .CHEB NOP JMP *-JTD,I .IENT NOP JMP *-JTD,I .PWR2 NOP JMP *-JTD,I INCAL NOP JMP *-JTD,I GETCR NOP JMP *-JTD,I BCKSP NOP JMP *-JTD,I OUTCR NOP JMP *-JTD,I OUTIN NOP JMP *-JTD,I MCOUT NOP JMP *-JTD,I OUTST NOP JMP *-JTD,I SINIT NOP P JMP *-JTD,I BLDIN NOP P JMP *-JTD,I I. REDIM NOP JMP *-JTD,I VCHK NOP JMP *-+bJTD,I SERR NOP  JMP *-JTD,I CHOUF NOP JMP *-JTD,I MOVER NOP JMP *-JTD,I RECRF NOP JMP *-JTD,I .. FILRF NOP JMP *-JTD,I I. VLFIL NOP JMP *-JTD,I RQSTR NOP JMP *-JTD,I FILST NOP nn JMP *-JTD,I GTTYP NOP P JMP *-JTD,I WRBUF NOP JMP *-JTD,I ALCOM NOP JMP *-JTD,I STLCK NOP (D) JMP *-JTD,I (D) RSTPT NOP (D) JTD EQU FSC-SBJTB+1 * * ** GENERAL USAGE INFORMATION * RNDX1 BSS 1 30-BIT RANDOM RNDX2 BSS 1 INTEGER. .LNUM BSS 1 LMSK BSS 1 CMSK BSS 1 LBUFA BSS 1 LBUFE BSS 1 PRBFA BSS 1 PRBFE BSS 1 LNAME BSS 1 BADDR BSS 1 CHRCT BSS 1 BLANK OCT 40 SBPTR BSS 1 $$ SYMTB BSS 1 VALTB BSS 1 1 SPROG DEF PROGB+1 VLFLG BSS 1 ENOUF NOP TEMP BSS 9 XTEMP BSS 2 YTEMP BSS 2 UTEMP BSS 2 X2TMP BSS 2 ATMP BSS 2 BTMP BSS 2 DTMP BSS 2 BINO1 BSS 1 BINO2 BSS 1 JMP BINOP,I NUSE2 BSS 2 NOT USED [E] ERSEC BSS 64 BSS 0 END OF USER AREA BASE PAGE * ORG USER+456B PROGB EQU *-1 FLGBT EQU MNEG GFLAG EQU NUMOT PINTG EQU ERSEC SIGN EQU LETCK K MANT1 EQU SSYMT MANT2 EQU ASYMT EXP EQU DCMPL EXPON EQU PRNST T DPFLG EQU .PACK FFLAG EQU FORMX NMTMP EQU SETDP NMPTR EQU FDATA NUMBF EQU TEMP+3+ DIGCT EQU FETCH NT0 EQU MBY10 OCTMP EQU OVFLW LT0 EQU RSCHK LT1 EQU EDELM LT2 EQU FINCH LT3 EQU SETPT LT4 EQU .CHEB LT5 EQU .IENT LT6 EQU .PWR2 // LT7 EQU .EXP OT1 EQU INCAL OT3 EQU BCKSP DGCNT EQU STTOP SOURC EQU FILST DEST EQU GTTYP TAP0 EQU MOVER TAP1 EQU SERR CU1 EQU CHOUF * ** SYNTAX INFORMATION TEMPORARIES * ERRCT EQU VALTB SBUFA EQU TEMP+5 SYNTQ EQU VCHK SSTAK EQU TEMP+4+ MAXCR EQU .FAD TABLE EQU .FSB LNGTH EQU .FMP SMBGN EQU .FDVD SLENG EQU .EXP COUNT EQU .CHEB TBLPT EQU .IENT TSPTR EQU .PWR2 \\\\ SBT0 EQU .PACK CDFLG EQU .FLUN * ** COMPILE INFORMATION TEMPORARIES * FLINK EQU FRCUR FILTB EQU FILRF F STEND EQU ARRID SPTR EQU FSC C NSPTR EQU FPOP STYPE EQU VAROP NUMPT EQU STLCK (D) STMP1 EQU TEMP STMP2 EQU TEMP+1+i VTMP1 EQU TEMP VTMP2 EQU TEMP+1 VTMP3 EQU TEMP+2 VTMP4 EQU TEMP+3 VTMP5 EQU TEMP+4 COMSN EQU TEMP+4 STPTR EQU TEMP+5 COMPT EQU TEMP+5 STCT1 EQU TEMP+6 STCT2 EQU TEMP+2 STCT3 EQU TEMP+3 * ** EXECUTION INFORMATION TEMPORARIES * FCORE EQU SBSCK FCNTR EQU RECRF RTRNQ EQU VAROP P RTNST EQU ARRID FORQ EQU TBSRH FORST EQU GETPF TMPST EQU STRID OPDST EQU RSTOP OPTRQ EQU BLDIN PRGCT EQU GETST DCCNT EQU CHRST NXTDT EQU PRGIN TEMP1 EQU TEMPMS TEMP2 EQU LPCK TEMP3 EQU RPCK TEMP4 EQU LTR R TEMP5 EQU SYMCK TEMP6 EQU STROP GTMP EQU MOVER FVT EQU EDELM EFN0 EQU NUMOT EFN1 EQU GETDG EFN2 EQU OUTLN EFN3 EQU PSHST INITF EQU MCOUT IFCNT EQU NUMOT MCNT EQU ALCOM INTMP EQU PCHK EOL EQU VCHK EOPF EQU MCOUT BS1 EQU SBPTR BS2 EQU TRSTR BS3 EQU COMPR MT0 EQU DELPR MT1 EQU FNDPS MT2 EQU XTEMP MT3 EQU XTEMP+1 MOP EQU STSTR MEXIT EQU FSCH MMT0 EQU ATMP MMT1 EQU ATMP+1+ MMT2 EQU BTMP MMT3 EQU BTMP+1 MMT4 EQU DTMP MMT5 EQU DTMP+1 MMT6 EQU X2TMP MMT7 EQU X2TMP+1 MMT8 EQU OPCHK ID0 EQU WRBUF ID1 EQU FDATA RD0 EQU VCHK VT0 EQU RSCHK SCALR EQU XTEMP MAXE EQU YTEMP TOL EQU UTEMP PIVEL EQU PSTR EST1 EQU .CHEB EST2 EQU .IENT EST3 EQU .PWR2 2 A1 EQU TEMP+5+ A2 EQU TEMP+7 FD0 EQU .FAD TT1 EQU DIGCK TT2 EQU LETCK TT3 EQU TEMP+3 TT4 EQU TEMP+4 RQ1 EQU ERSEC+1 1p RQ2 EQU ERSEC+2 RQ3 EQU ERSEC+3 3q FBASE EQU FPOP EORFL EQU ERSEC+4 FILE# EQU FRCUR R RCRD# EQU RSTPT VL0 EQU WRBUF DADRR EQU ERSEC+5 FILT EQU ERSEC+6 MPT EQU RSCHK NQT EQU OPCHK TNULL EQU .FMPM TPRME EQU .FDV PS0 EQU REDIM PS1 EQU SINIT CP0 EQU .EXP CP1 EQU PSTR TRFCH EQU .FAD TRS0 EQU .FSB RT0 EQU .CHEB RT1 EQU .IENT LBTMP EQU .LOG CTMP EQU OPCHK HED USER BUFFERS ORG 14000B-853 FILBF BSS 13 * MESSAGE BUFFER * MSQHD BSS 39 * * * ** USER BUFFERS * BUF00 BSS BUFLN BUF01 BSS BUFLN BUF02 BSS BUFLN BUF03 BSS BUFLN BUF04 BSS BUFLN N BUF05 BSS BUFLN N BUF06 BSS BUFLN BUF07 BSS BUFLN N BUF10 BSS BUFLN BUF11 BSS BUFLN BUF12 BSS BUFLN BUF13 BSS BUFLN BUF14 BSS BUFLN N BUF15 BSS BUFLN BUF16 BSS BUFLN BUF17 BSS BUFLN BSS 0 WHERE ARE WE?  3 = 24280-80003 1534 S 0122 TSB/E SYSTEM              H0101  HED STATEMENT SYNTAX PROCESSORS ORG 14000B * * ******************************* **** *** *** CHECK SYNTAX OF STATEMENT *** **** *** * ******************************* * * PBPTR POINTS TO THE LAST WORD +1 OF THE PREVIOUS PROGRAM AND * THUS ALSO POINTS TO THE FIRST WORD OF AVAILABLE USER SPACE, * WHERE THE NEW STATEMENT WILL BE TRANSLATED. WHEN AN ERROR * OCCURS UNDER 'TAPE' MODE, THE USER'S TERR BIT IN THE FIRST WORD * OF HIS TTY TABLE IS SET AND HIS COPY OF ERRCT IS BUMPED. IF AN * OUT-OF-STORAGE ERROR OCCURS IN 'TAPE' MODE, SYMTB IS SET TO 1 * AND ALL SUBSEQUENT PROGRAM MATERIAL IS REJECTED. IF UPON ENTRY * THE PRIOR PROGRAM IS NULL, ALL FLAGS ARE SET TO NULL; IF THE * PRIOR PROGRAM IS NOT NULL, IT IS PLACED IN 'SOURCE' MODE. SYNTAX * WILL REJECT ADDITIONAL STATEMENTS IF FEWER THAN 200 WORDS OF * USER SPACE ARE AVAILABLE BUT WILL ACCEPT STATEMENT DELETIONS IF * IN 'KEY' MODE. * SYNTX LDB PBPTR NULL CPB PBUFF PROGRAM? JMP DCLNU,I YES LDA TERR ANY TAPE ERRORS IOR CMSK FOR THIS USER? INA,SZA A/ JMP SYNT1 NO CPA ERRCT IMBEDDED IN CODE? JMP TAPEA,I NO,FINISH ABORTED ERROR CLEANUP SYNT1 JSB SINIT YES, PREPARE PROGRAM JSB DCMPL FOR SYNTAX CLB SET LINE NUMBER STB PBPTR,I TO ZERO LDA PBPTR SET SYNTAX POINTER TO FIRST STA SBPTR AVAILABLE WORD OF USER SPACE STA SBUFA SAVE POINTER TO SYNTAX BUFFER ADA .105 AND TO STA SSTAK SYNTAX STACK STA SYNTQ INB DOES 'OUT OF STORAGE' CPB SYMTB ERROR EXIST? JMP SER7A,I YES JSB GETCR NO, EMPTY RECORD? JMP ACC5A,I YES JSB BCKSP NO * * ** DETERMINE SEQUENCE NUMBER ** * * * * * A RECORD CONSISTING ONLY OF A SEQUENCE NUMBER WILL CAUSE THE * DELETION OF A PREVIOUSLY ACCEPTED STATEMENT REFERENCED BY THAT * SEQUENCE NUMBER. * * JSB BLDIN RECORD STB SBPTR,I SEQUENCE ISZ SBPTR NUMBER CPA .+15B NULL STATEMENT? JMP DELSA,I YES ISZ SBPTR NO, SKIP STATEMENT LENGTH WORD STA SBPTR,I SAVE FIRST CHARACTER LDA PBPTR ACCEPTABLE AMOUNT ADA LW200 OF USER SPACE SSA,RSS REMAINING? JSB SERRS,I NO * * ** DETERMINE STATEMENT TYPE ** * * LDA .+7 SET MAXIMUM STA MAXCR SYMBOL LENGTH LDA STTYP STATEMENT-TYPE NAMES LDB .-21 -(NUMBER OF STATEMENT TYPES) JSB TBSRH FIND STATEMENT TYPE LDA LETOP NO, ASSUME 'IMPLIED' LET LDB .-9 DISALLOW STB MSFLG MULTIPLE STORE LDB .+3 SET MAXCR TO MOST STB MAXCR COMMON VALUE CLB TURN OFF STB PFLAG 'PARAMETER' MODE LSR 9 RIGHT JUSTIFY OPERATOR CODE STA SFLAG TURN OFF STRING AND STORE MODES STA DFLAG TURN ON 'SUBSCRIPT' MODE ADA STBAS BRANCH TO JMP 0,I SYNTAX ROUTINE * *** ** ** SYNTAX ** *** ** * LET0 LDA LETOP FAKE STA SBPTR,I A JSB BCKSP 'LET' LETS LDB SBPTR ENABLE A STB SFLAG STRING VARIABLE ISZ MSFLG TURN ON 'MULTIPLE STORE' MODE JSB FSC ANALYZE FORMULA ISZ SFLAG STRING VARIABLE FOUND? JMP LET1 NO JSB SYMCK YES, (B) IS LEFT AT -1 DEF ASSOP-1 DEMAND ASSIGNMENT OPERATOR JSB SERRS+3,I NOT FOUND JSB RSTOP RECORD A STRING OPERAND JMP EOST DEMAND END OF STATEMENT LET1 ISZ SFLAG DID A STORE OCCUR? JSB SERRS+3,I NO ** ** *** CHECK FOR END OF STATEMENT *** ** ** EOST CPA .+15B END OF STATEMENT? JMP ACCSA,I YES JSB SERRS+4,I NO * * *** ** ** SYNTAX ** *** ** * DIMS CLA FLAG AS DIM STATEMENT * *** ** ** SYNTAX ** *** ** * COMS STA CDFLG FLAG AS COM STATEMENT STB DFLAG TURN ON 'DIM' MODE ( (B)=0 ) LDA SBPTR ENABLE STRING STA SFLAG VARIABLE JSB VAROP SEEK VARIABLE OPERAND JSB SERRS+5,I IMPROPER SUBSCRIPT COMS0 JMP COMS1 ARRAY OR STRING FOUND CLB SIMPLE VARIABLE CPB CDFLG 'DIM'? JSB SERRS+5,I YES--ERROR COMS1 CPA .+15B NO, CARRIAGE RETURN FOLLOWS? JMP ACCSA,I YES CCB NO JSB SYMCK COMMA? DEF COMMA-1 JSB SERRS+6,I NO JMP COMS+2 YES * *** ** ** SYNTAX ** *** ** * DEFS JSB LTR FIRST TWO JSB SERRS+7,I ALF,ALF CHARACTERS IOR TEMP+1 CPA FN 'FN' ? RSS YES JSB SERRS+7,I NO JSB LTR FOLLOWED BY A LETTER? JSB SERRS+7,I NO LDA TEMP+1 YES, LDB .58 RECORD JSB STROP FUNCTION LDA TEMP+2 RETRIEVE FOLLOWING CHARACTER JSB LPCK DEMAND LEFT PARENTHESIS IOR FLGBT SET FLAG FOR STA SBPTR,I FORMAL PARAMETER JSB VAROP DEMAND A SIMPLE VARIABLE NOP NONE JSB SERRS+8,I FOUND JSB RPCK DEMAND A RIGHT PARENTHESIS CCB ASSIGNMENT JSB SYMCK OPERATOR DEF ASSOP-1 NEXT? JSB SERRS+3,I NO LDA .-2 YES, ADA SBPTR ISOLATE LDA 0,I AND SAVE AND B777 FORMAL STA PFLAG PA8RAMETER JSB FSC FETCH DEFINING FORMULA JSB SBPUD RECORD END-OF-FORMULA OPERATOR JMP EOST DEMAND END OF STATEMENT * * *** ** ** SYNTAX ** *** ** * FILES CLA,RSS SUPPRESS BLANKS * ** ** *** SYNTAX *** ** ** * CHANS EQU FILES * *** ** ** SYNTAX ** *** ** * REMS LDA .+15B DUMMY STATEMENT TERMINATOR CLB,INB SET CHARACTER FLAG TO 'LOW HALF' JSB CHRST RECORD REMAINDER OF STATEMENT JMP ACCSA,I AS A STRING * *** ** ** & SYNTAX ** *** ** * GOTOS LDA BADDR SAVE BUFFER STA TEMP+1 POINTER CCA SET INTCK MODE TO STA GFLAG 'EXIT ON ERROR' JSB PRGIN SEEK SEQUENCE NUMBER JMP GOTO3 FOUND CCB NOT FOUND GOTO1 ADB SBPTR BACK UP STB SBPTR SYNTAX POINTER LDA SBPTR,I ERASE AND OPMSK 'INTEGER FOLLOWS' STA SBPTR,I FLAG LDA TEMP+1 RESTORE BUFFER STA BADDR POINTER JSB FSC SEEK FORMULA CPA .+15B END-OF-RECORD? JSB SERRS+9,I YES ALF,ALF NO, DO STA TEMP+1 NEXT JSB GETCR TWO JSB SERRS+9,I CHARACTERS IOR TEMP+1 FORM CPA OF 'OF' ? RSS YES JSB SERRS+9,I NO LDA OFOP RECORD STA SBPTR,I 'OF' AND JSB SBPUD ADVANCE POINTER GOTO2 JSB BLDIN DEMAND A SEQUENCE NUMBER STB SBPTR,I RECORD IT JSB SBPUD CPA .+44 COMMA NEXT? JMP GOTO2 YES JMP EOST NO, DEMAND END OF STATEMENT GOTO3 ^CPA .+15B IF END-OF-STATEMENT, JMP ACCSA,I ACCEPT IT STA GFLAG NO, RE-ENABL BAD INTEGER ERROR LDB .-2 jj JMP GOTO1 !! * *** ** ** SYNTAX ** *** ** * IFS ISZ SBPTR FETCH NEXT JSB GETCR CHARACTER JSB SERRS+10,I NONE FOUND (D) STA SBPTR,I FOUND, SAVE IT LDA AEND LOOK CCB FOR JSB TBSRH 'END' JMP IF0 NOT FOUND JSB FILRF FOUND, GET FILE REFERENCE JSB SERRS+32,I NONE FOUND JMP IF1+1 FOUND IF0 JSB BCKSP RESTORE CCB TO ADB SBPTR ENTRY STB SBPTR STATUS STB SFLAG ENABLE STRING VARIABLE JSB FSC SEEK DECISION FORMULA ISZ SFLAG STRING VARIABLE FOUND? JMP IF1+1 NO STA TEMP+1 YES, SAVE NEXT CHARACTER LDB .-3 MAXCR = 3 FROM FSC STA SBPTR,I MULTICHARACTER LDA MCREL RELATIONAL JSB TBSRH OPERATOR? RSS NO JMP IF1 YES LDA TEMP+1 RETRIEVE CHARACTER LDB .-4 SINGLE CHARACTER JSB SYMCK RELATIONAL DEF RELOS-1 OPERATOR? JSB SERRS+16,I NO IF1 JSB RSTOP YES, RECORD A STRING OPERAND STA SBPTR,I SAVE NEXT CHARACTER ISZ MAXCR BUMP LIMIT TO FOUR CHARACTERS LDA ATHEN LOOK CCB FOR JSB TBSRH 'THEN' JSB SERRS+10,I NOT FOUND JSB PRGIN DEMAND A SEQUENCE NUMBER JMP EOST DEMAND END OF STATEMENT * *** ** ** SYNTAX ** *** ** * FORS JSB VAROP SEEK A SIMPLE VARIABLE NOP NONE JSB SERRS+8,I FOUND CCB DEMAND AN JSB SYMCK ASSIGNMENT DEF ASSOP-1 OPERATOR JSB SERRS+3,I NOT FOUND JSB +-FSC RECORD INITIALIZATION FORMULA CPA .+15B ARE WE AT STATEMENT END? [X] JSB SERRS+11,I YES ERROR [X] ALF,ALF DO STA TEMP+1 NEXT JSB GETCR TWO JSB SERRS+11,I CHARACTERS IOR TEMP+1 FORM CPA TO 'TO' ? RSS YES JSB SERRS+11,I NO LDA TOOP RECORD STA SBPTR,I 'TO' JSB FSC RECORD LIMIT FORMULA CPA .+15B END OF STATEMENT? JMP ACCSA,I YES STA SBPTR,I NO, IS NEXT ISZ MAXCR LDA ASTEP SYMBOL CCB JSB TBSRH 'STEP' ? JSB SERRS+12,I NO JSB FSC YES, RECORD STEP SIZE JMP EOST DEMAND END OF STATEMENT * *** ** ** SYNTAX ** *** ** * NEXTS JSB VAROP SEEK SIMPLE VARIABLE NOP NOT JSB SERRS+8,I FOUND JMP EOST DEMAND END OF STATEMENT * *** ** ** , , ** ** AND SYNTAX ** *** ** * ENDS ISZ SBPTR RECORD NULL OPERAND JSB GETCR END OF STATEMENT? JMP ACCSA,I YES JSB SERRS+4,I NO * SKP *** ** ** SYNTAX ** *** ** * DATAS JSB SBPUD CLA INITIALIZE STA SIGN SIGN JSB GETCR REQUEST A CHARACTER JSB SERRS+13,I END-OF-INPUT CONDITION CLB,INB CPA .+43 '+' ? JMP DATA4 YES CCB NO CPA .+45 '-' ? JMP DATA4 YES DATA1 JSB NUMCK NO, NUMBER? JMP DATA3 NO JSB SERRS+14,I BAD EXPONENT LDB .-3 NUMBER, ADB SBPTR MARK LDA 1,I PREVIOUS IOR FLGBT OPERATOR AS  STA 1,I 'NUMBER FOLLOWS' LDA TEMP+1 RETRIEVE FOLLOWING CHARACTER DATA2 CCB COMMA JSB SYMCK DEF COMMA-1 NEXT? JMP EOST NO, DEMAND END OF STATEMENT JMP DATAS YES DATA3 CPB SIGN SIGN FOUND? ( (B) = 0 ) RSS NO JSB SERRS+15,I YES JSB GETST DEMAND A STRING CONSTANT JMP DATA2 2 DATA4 STB SIGN RECORD SIGN JSB GETCR JSB SERRS+15,I END-OF-INPUT CONDITION JMP DATA1 * *** ** ** SYNTAX ** *** ** * READS JSB RECRF READ FROM FILE? JMP READ1 NO CPA .+15B YES, PSUEDO-RESTORE? JMP ACCSA,I YES CPA B73 NO, ';' ? JMP INPTS YES JSB SERRS+6,I NO READ1 JSB BCKSP * *** ** ** SYNTAX ** *** ** * INPTS LDB SBPTR ENABLE STRING STB SFLAG VARIABLE JSB VAROP SEEK VARIABLE OPERAND JSB SERRS+17,I NONE FOUND NOP P CCB JSB SYMCK COMMA? DEF COMMA-1 JMP EOST NO, DEMAND END OF STATEMENT JMP INPTS YES * *** ** ** SYNTAX ** *** ** * PRINS JSB RECRF WRITE ONTO FILE? JMP PRIN0-1 NO CCB YES, SET STB FILRF 'FILE' FLAG CPA .+15B NULL WRITE? JMP ACCSA,I YES CPA B73 NO, ';' ? JMP PRIN0 YES JSB SERRS+6,I NO JSB BCKSP PRIN0 JSB SBPUD ADVANCE SYNTAX BUFFER POINTER JSB GETCR MORE STATEMENT? JMP PRIN7 NO CCB YES, ENABLE STB PFLAG FORMULA AND TAB CPA .+42B " ? RSS YES JMP PRIN3 NO PRIN1 JSB GETST RECORD A STRING CONSTANT CPA .+15B END OF STATEMENT? JMP ACCSA,I YES CCB NO STB PFLAG PRIN2 CPA .+42B " ? JMP PRIN1 YES LDB .-2 NO JSB SYMCK COMMA OR DEF COMMA-1 SEMICOLON? CLB,RSS NO JMP PRIN0 YES STB SBPTR,I ZERO NEXT WORD JSB SBPUD PRIN3 ISZ PFLAG FORMULA OR TAB PERMITTED? JSB SERRS+6,I NO STA SBPTR,I YES CCB 'FILE' ISZ FILRF MODE? JMP PRIN4 NO STB FILRF YES, SET FLAG AGAIN LDA AEND JSB TBSRH 'END' ? JMP PRIN5 NO JSB SBPUD YES JSB GETCR FETCH NEXT NOP CHARACTER JMP PRIN6 PRIN4 LDA ATAB JSB TBSRH 'TAB' ? JMP PRIN5 NO CCB YES ADB SBPTR RECORD STB SBPTR 'TAB' LDA TABCN WITH IOR 1,I PREVIOUS STA 1,I OPERATOR JSB GETPF RECORD PARENTHESIZED FORMULA JMP PRIN6 PRIN5 JSB BCKSP BACKUP CCB TO POINT ADB SBPTR FOLLOWING STB SBPTR LAST OPERATOR STB SFLAG ENABLE STRING VARIABLE JSB FSC RECORD FORMULA PRIN6 CPA .+15B END OF STATEMENT? JMP ACCSA,I YES JMP PRIN2 NO PRIN7 ISZ FILRF 'FILE' MODE? JMP ACCSA,I NO JSB SERRS+2,I YES * *** ** ** SYNTAX ** *** ** * MATS JSB LTR FIRST TWO JSB SERRS+18,I CHARACTERS JSB LETCK LETTERS? JMP MATS3 NO ISZ SBPTR YES, ALF,ALF RETRIEVE IOR TEMP+1 FIRST CHARACTER STA SBPTR,I LOOK LDA .+5 FOR STA MAXCR 'INPUT', LDA MATIO 'READ', LDB .-3 OR JSB TBSRH 'PRINT' JSB SERRS+18,I NONE FOUND CPA PRTOP IS IT 'PRINT'? JMP MATS2 YES  CPA INPOP NO, 'INPUT' ? JMP MATS1-2 YES JSB RECRF NO, READ FROM FILE? JMP MATS1-3 NO CPA B73 YES, ';' ? JMP MATS1-2 YES JSB SERRS+6,I NO JSB BCKSP CLA,INA TURN ON STA DFLAG 'MATRIX SUBSCRIPT' MODE MATS1 JSB ARRID RECORD AN ARRAY JSB SBSCK RECORD SUBSCRIPT NOP IF PRESENT CPA .+15B END OF STATEMENT? JMP ACCSA,I YES CCB NO, DEMAND JSB SYMCK COMMA DEF COMMA-1 JSB SERRS+6,I NOT FOUND JMP MATS1 MATS2 JSB RECRF WRITE ON FILE? JMP MAT11 NO CPA B73 YES, ';' ? CCB,RSS YES JSB SERRS+6,I NO STB FILRF NOTE 'FILE' MODE MAT10 JSB ARRID RECORD AN ARRAY CPA .+15B END OF STATEMENT? JMP ACCSA,I YES LDB .-2 NO, DEMAND JSB SYMCK COMMA OR DEF COMMA-1 SEMICOLON JSB SERRS+6,I NOT FOUND JSB GETCR END OF STATEMENT? JMP *+3 YES MAT11 JSB BCKSP NO JMP MAT10 JSB SBPUD UPDATE POINTER ISZ FILRF 'FILE' MODE? JMP ACCSA,I NON[ JSB SERRS+2,I YES MATS3 LDB SBPTR SAVE ADDRESS STB ARYAD OF ARRAY OPERAND LDA TEMP+1 RECORD STA SSTAK,I AND SAVE LDB .+46 THE ARRAY JSB STROP IDENTIFIER LDA TEMP+2 RETRIEVE CCB NEXT CHARACTER JSB SYMCK AND TEST FOR DEF ASSOP-1 ASSIGNMENT OPERATOR JSB SERRS+3,I NOT FOUND JSB LTR LETTER NEXT? JMP MATS5 NO JSB LETCK YES, ANOTHER LETTER? JMP MATS6 NO ISZ SBPTR YES, ALF,ALF CONCATENATE IOR TEMP+1 LETTERS STA SBPTR,I AND LDA MATFN SEARCH FOR LDB .-5 AN ARRAY JSB TBSRH FUNCTION JSB SERRS+7,0I NONE FOUND ALF,ALF FOUND, ALF,RAR CONVERT IOR PDFFL TO OPERAND CCB COMBINE ADB SBPTR WITH IOR 1,I OPERATOR STA 1,I AND RECORD AND B777 'INV' ADA D577 ORO SSA,RSS 'TRN' ? JMP MATS4 YES JSB GETCR NO, END OF STATEMENT? JMP ACCSA,I YES CLB,INB NO, TURN ON STB DFLAG 'MATRIX SUBSCRIPT' MODE JSB SBSCK DEMAND SUBSCRIPT JSB SERRS+5,I NONE FOUND JMP EOST DEMAND END OF STATEMENT MATS4 SZA,RSS ALLOW INVERSION STA SSTAK,I INTO SELF JSB GETCR DEMAND JSB SERRS+22,I LEFT JSB LPCK PARENTHESIS JSB ARRID DEMAND ARRAY JSB RPCK DEMAND RIGHT PARENTHESIS LDB TEMP+1 SAME SOURCE AND CPB SSTAK,I DESTINATION ARRAYS? JSB SERRS+19,I YES JMP EOST NO, DEMAND END OF STATMENT MATS5 JSB BCKSP BACK UP AND JSB GETPF DEMAND PARENTHESIZED FORMULA CCB SEEK JSB SYMCK K DEF TIMES-1 '*' JSB SERRS+20,I NOT FOUND JSB ARRID DEMAND ARRAY JMP EOST DEMAND END OF STATEMENT MATS6 LDA TEMP+1 RECORD LDB .+46 ARRAY JSB STROP OPERAND LDA TEMP+2 END OF CPA .+15B STATEMENT? JMP ACCSA,I YES LDB .-3 NO, SEEK JSB SYMCK '+', '-', DEF PLUS-1 OR '*' JSB SERRS+21,I NOT FOUND CLB SET '*' FLAG TO FALSE CPA MULOP '*' ? JMP MATS9 YES MATS7 STB PFLAG NO JSB ARRID DEMAND ARRAY STA TEMP+2 SAVE CHARACTER ISZ PFLAG '*' ? JMP MATS8 NO LDA TEMP+1 YES, DOES ARRAY CPA SSTAK,I MATCH LEFT-HAND SIDE? JSB SERRS+19,I YES MATS8 LDA TEMP+2 NO, RETRIEVE CHARACTER JMP EOST DEMAND ENDRB@< OF STATEMENT MATS9 CCB SET '*' FLAG TO TRUE LDA TEMP+1 DOES ARRAY CPA SSTAK,I MATCH LEFT-HAND SIDE? JSB SERRS+19,I JMP MATS7 NO ^B 4D 24280-80004 1534 S 0122 TSB/E SYSTEM              H0101  HED FORMULA SYNTAX CHECKER * *** ** ** SYNTAX CHECKER ** *** ** * * * FSC ANALYZES THE INPUT STRING UNDER THE ASSUMPTION * THAT A LEGITIMATE FORMULA IS THERE. EXIT TO ERROR ON * UNRECOGNIZABLE OR OBVIOUSLY INCORRECT INPUT. EXIT TO * (P+1) WHEN CONTINUED INPUT CANNOT BE A PART OF THE * FORMULA AND THE INPUT SCANNED SO FAR FORMS A COMPLETE * FORMULA IN ITSELF (I.E., ... A+B TO ... EXITS AFTER * THE 'B'). ON EXIT (A) HOLDS THE FIRST CHARACTER NOT * PARSED INTO THE FORMULA, (B) = 0, AND SBPTR,I = 0 * (END-OF-FORMULA OPERATOR). DURING THE FORMULA PARSE, * SSTAK,I HOLDS THE COUNT OF UNMATCHED LEFT PARENTHESES. * IF THE FIRST SYMBOL ENCOUNTERED IS A STRING VARIABLE, * EXIT TO ERROR IF IT IS NOT ENABLED ELSE RECORD THE * VARIABLE AND ANY FOLLOWING SUBSCRIPT AND EXIT TO (P+1) * WITH THE NEXT CHARACTER IN (A), (B) = -1, AND SFLAG = -1. * #FSC CLA SET LEFT PARENTHESIS STA SSTAK,I COUNT TO ZERO LDA .+3 SET MULTICHARACTER SEARCH STA MAXCR TO MAXIMUM OF 3 CHARACTERS FSC1 CCA ENABLE STA UFLAG UNARY OPERATORS * * ** LOOK FOR AN OPERAND ** * * FSC2 JSB VAROP SEEK VARIABLE OPERAND JMP FSC7 FIRST CHARACTER NOT A LETTER JMP FSC13-3 SUBSCRIPTED OR STRING VARIABLE JSB LETCK SIMPLE VARIABLE. LETTER NEXT? JMP FSC13 NO * * ** DOES 'AND', 'OR', 'MAX', OR 'MIN' FOLLOW ** ** A SIMPLE VARIABLE? ** * * LDB .-4 WW STA SBPTR,I SEARCH FOR LDA MCBOP 'AND', 'OR', JSB TBSRH 'MAX', AND 'MIN' RSS NONE FOUND JMP FSC6 FOUND * * ** SEE IF OPERAND IS A FUNCTION RATHER ** ** THAN A SIMPLE VARIABLE. ** * * LDA TEMP+2 ALF,ALF WERE IOR TEMP+1 TWO LETTERS CPA FN 'FN' ? JMP FSC4 YES STA SBPTR,I NO, LDA PDFNS PREDEFINED LDB .-14 JSB TBSRH JMP FSC11 NO ALF,ALF YES, ALF,RAR BUILD IOR PDFFL NAME FSC3 STA TEMP+1 SAVE FUNCTION CCB RETRIEVE ADB SBPTR PREVIOUS STB SBPTR OPERATOR- LDA 1,I OPERAND AND OPMSK REPLACE IOR TEMP+1 OPERAND STA SBPTR,I WITH FUNCTION LDA TEMP+1 CPA LENCN 'LEN' ? JMP FSC0 YES LDB .-9 NO, TURN OFF STB MSFLG 'MULTIPLE STORE' MODE JSB GETPF DEMAND PARENTHSIZED JMP FSC13 FORMULA FSC4 JSB GETCR DOES JSB SERRS+7,I LETTER JSB LETCK FOLLOW? JSB SERRS+7,I NO ADA D100 YES, ALF BUILD ADA .+17B FUNCTION JMP FSC3 NAME FSC0 ISZ SBPTR MOVE TO CORRECT PROGRAM WORD JSB GETCR RECORD JSB SERRS+22,I LEFT JSB LPCK PARENTHESIS JSB LTR LETTER NEXT? JSB SERRS+24,I NO CPA .+44B YES, FOLLOWED BY '$' ? RSS YES JSB SERRS+24,I NO LDA TEMP+1 RECORD LDB .+53B STRING JSB STROP VARIABLE JSB GETCR RECORD JSB SERRS+23,I RIGHT JSB RPCK PARENTHESIS JMP FSC8 * * ** CHECK FOR LEFT PARENTHESIS ** * * FSC5 LDA LPOP RECORD STA SBPTR,I A '(' ISZ SSTAK,I COUNT IT FSC6 LDB .-9 TURN OFF STB MSFLG 'MULTIPLE STORE' JMP FSC1 MODE FSC7 JSB SBPUD UPDATE POINTER CPA .+40 '(' ? JMP FSC5 YES CPA B133 NO, ]'' ? JMP FSC5 YES SKP * * ** CHECK FOR A NUMBER ** * * CLB SET '+' STB SIGN AS SIGN JSB NUMCK SEEK A NUMBER JMP FSC9 NOT FOUND JSB SERRS+14,I BAD EXPONENT LDB SBPTR RETRIEVE ADB .-3 PRECEDING LDA 1,I OPERATOR IOR FLGBT SET FLAG TO SAY STA 1,I NUMBER FOLLOWS LDA TEMP+1 RETRIEVE CHARACTER FSC8 LDB .-9 TURN OFF STB MSFLG 'MULTIPLE STORE' JMP FSC13 MODE * * ** CHECK FOR A UNARY OPERATOR ** * * FSC9 ISZ UFLAG UNARY OPERATORS PERMITTED? JSB SERRS+25,I NO LDB UNMNC YES LOAD UNARY MINUS OPCODE CPA .+43 '+' ? JMP *+4 YES CPA .+45 NO, '-' ? JMP *+3 YES JSB SERRS+25,I NO LDB UNPLC CONVERT (B) TO UNARY '+' OPCODE STB SBPTR,I RECORD UNARY OPERATOR FSC10 LDB .-9 TURN OFF STB MSFLG 'MULTIPLE STORE' JMP FSC2 MODE * * ** CHECK POSSIBILITY OF 'NOT' RATHER THAN ** ** A SIMPLE VARIABLE ** * * FSC11 ISZ UFLAG 'NOT' PERMITTED? JMP FSC14-1 NO LDA SBPTR,I YES ALF,ALF STA SBPTR,I LDA ANOT SEEK CCB Bd JSB TBSRH 'NOT' JMP FSC14-1 'NOT' NOT FOUND STA SBPTR,I FOUND CCB ERASE ADB SBPTR LDA 1,I SPURIOUS AND OPMSK STA 1,I OPERAND JMP FSC10 * * ** CHECK FOR RIGHT PARENTHESIS ** * * FSC12 LDB .-2 ')' JSB SYMCK OR DEF RPARN-1 ']' ? JMP FSC14 NO LDA RPOP YES, STA SBPTR,I ? RECORD ')' LDA .+41 RETRIEVE ')' CCB MATCHING ADB SSTAK,I LEFT SSB PARENTHESIS? JMP FSC14 NO STB SSTAK,I YES JSB SBPUD UPDATE POINTER JSB GETCR FETCH NEXT JMP FSC14 CHARACTER JMP FSC13 3> * * ** CHECK FOR A BINARY OPERATOR ** * * CCB STRING VARIABLE CPB SFLAG JUST FOUND? JMP FSC,I YES FSC13 CPA .+15B NO, END OF STATEMENT? JMP FSC14 YES STA UFLAG NO, DISABLE UNARY OPERATORS STA TEMP+1 SAVE CHARACTER LDB .-7 SEARCH STA SBPTR,I FOR A LDA MCBOP MULTICHARACTER JSB TBSRH BINARY OPERATOR RSS NONE FOUND JMP FSC6 FOUND LDA TEMP+1 NO, RECOVER A CHARACTER LDB MSFLG SINGLE JSB SYMCK CHARACTER DEF PLUS-1 BINARY OPERATOR? JMP *+4 NO CPA EXPOP YES, '^' ? JMP FSC10 YES JMP FSC6 NO CCB ASSIGNMENT JSB SYMCK DEF ASSOP-1 OPERATOR? JMP FSC12 NO LDA .-2 YES, SET FLAG STA SFLAG TO SAY JMP FSC1 STORE OCCURRED * * ** END OF FORMULA ** * * LDA TEMP+2 RETRIEVE CHARACTER FSC14 CLB RECORD STB SBPTR,I END-OF-FORMULA CPB SSTAK,I ALL LEFT PARENTHESES MATCHED? JMP FSC,I YES JSB SERRS+23,I NO SKP ** ** *** SAVE LOCAL VARIABLES OF FSC *** ** ** * * SAVING MSFLG, UFLAG, VAROP, GETPF, AND FSC MAKES FSC A * RE-ENTRANT SUBROUTINE. THEY ARE SAVED ON THE SYNTAX * STACK BELOW THE ACTIVE SYNTAX BUFFER. ON ENTRY (B) * CONTAINS THE NUMBER OF WORDS TO BE SAVED. * #FRCR ISZ SSTAK SAVE PREVIOUS '(' sCOUNT ADB SSTAK SUFFICIENT CMB USER ADB LWAUS SPACE SSB LEFT? JSB SERRS,I NO LDB MSFLG YES, SAVE STB SSTAK,I 'MULTIPLE STORE' ISZ SSTAK FLAG LDB UFLAG SAVE STB SSTAK,I 'UNARY OPERATOR' ISZ SSTAK FLAG LDB VAROP SAVE STB SSTAK,I VAROP ISZ SSTAK RETURN ADDRESS LDB GETPF SAVE STB SSTAK,I GETPF ISZ SSTAK RETURN ADDRESS LDB FSC SAVE STB SSTAK,I FSC ISZ SSTAK RETURN ADDRESS CCA DISABLE ADA SFLAG SFLAG STA SFLAG VALUE JMP FRCUR,I I+ ** ** *** RESTORE FSC LOCAL VARIABLES *** ** ** * * INVERSE OF FRCUR. (A) IS SAVED BUT (B) IS NOT. * #FPOP STA TEMP+1 SAVE (A) LDB SSTAK RESET ADB .-6 SYNTAX STACK STB SSTAK POINTER INB RESTORE LDA 1,I 'MULTIPLE STORE' STA MSFLG FLAG INB RESTORE LDA 1,I 'UNARY OPERATOR' STA UFLAG FLAG INB RESTORE LDA 1,I VAROP STA VAROP RETURN ADDRESS INB DLD 1,I RESTORE GETPF STA GETPF RETURN ADDRESS AND STB FSC FSC RETURN ADDRESS ISZ SFLAG RESTORE SFLAG VALUE LDA TEMP+1 RESTORE (A) JMP FPOP,I SPC 2 ** ** *** SINGLE CHARACTER AND/OR FORMULA OPERATORS *** ** ** * * BITS 15-9 OF THE OCTAL WORD ARE THE OPERATOR CODE. * BITS 3-0 ARE THE PRECEDENCE FOR FORMULA OPERATORS. * THE ASCII WORD IS USED TO RECOGNIZE THE OPERATOR ON * INPUT AND TO PROVIDE THE PRINT NAME ON OUTPUT. THE * ORDERING OF THE TABLE FACILITATES SEARCHING. * QUOTE OCT 1000 STRING DELIMITER ASC 1," COMMA OCT 2000 COMMA ASC 1,, OCT 3000 SEMICOLON ASC 1,; HATCH OCT 4000 HATCH SIGN ASC 1,# BSS 6 UNUSED RPARN OCT 10001 RIGHT PARENTHESIS ASC 1,) OCT 11001 RIGHT BRACKET OCT 56440 ] LBRAC OCT 12013 LEFT BRACKET OCT 55440 [ OCT 13013 LEFT PARENTHESIS ASC 1,( OCT 14011 UNARY PLUS ASC 1,+ OCT 15011 UNARY MINUS ASC 1,- SCMMA OCT 16002 SUBSCRIPT SEPARATOR ASC 1,, ASSOP OCT 17002 ASSIGNMENT OPERATOR ASC 1,= PLUS OCT 20007 ADDITION ASC 1,+ + OCT 21007 SUBTRACTION ASC 1,- TIMES OCT 22010 MULTIPLICATION ASC 1,* OCT 23010 DIVISION ASC 1,/ OCT 24012 EXPONENTIATION ASC 1,^ RELOS OCT 25005 GREATER THAN ASC 1,> OCT 26005 LESS THAN ASC 1,< OCT 27005 UNEQUAL ASC 1,# OCT 30005 EQUAL ASC 1,= DCLNU DEF CLNUP Pf DCOM0 DEF COMS0 BSS 2 UNUSED OCT 33004 AND DFLAG NOP OCT 34003 OR MSFLG NOP OCT 35006 MINIMUM PFLAG NOP OCT 36006 MAXIMUM SFLAG NOP OCT 37005 UNEQUAL UFLAG NOP P OCT 40005 GREATER THAN OR EQUAL ARYAD NOP OCT 41005 LESS THAN OR EQUAL NOP OCT 42011 NOT HED SYNTAX SUBROUTINES SPC 2 ** ** *** SUBSCRIPT SYNTAX *** ** ** * * SBSCK ASSUMES A PRIOR ARRAY OPERAND REFERENCED THROUGH * THE POINTER ARYAD. ENTRY IS MADE WITH A CHARACTER IN * (A); EXIT TO (P+1) IF THIS CHARACTER IS NOT '(' OR '', * OTHERWISE ANALYZE THE SUBSCRIPT WHICH MUST FOLLOW, * EXITING TO (P+2). SBSCK HANDLES BOTH SINGLE AND DOUBLE * SUBSCRIPTS. IF DFLAG=0 THE SUBSCRIPT IS FROM A * AND THE BOUNDS MUST BE POSITIVE * INTEGERS. IF DFLAG=1 THE SUBSCRIPT RE-DIMENSIONS A * MATRIX AND A COMMA SEPARATES THE TWO BOUNDS OF A * DOUBLE SUBSCRIPT AND AN END-OF-FORMULA OPERATOR * FOLLOWS THE LAST BOUND. OTHERWISE A 'SUBSCRIPT' * COMMA SEPARATES THE TWO PARTS OF A DOUBLE SUBSCRIPT * AND NO END-OF-FORMULA OPERATOR APPEARS. IN ALL CASES, * THE ARRAY OPERAND IS MARKED AS ONE- OR TWO-DIMENSIONAL. * IF THE SUBSCRIPT BELONGS TO A STRING VARIABLE IN A * , IT MUST HAVE ONE AND ONLY ONE BOUND * CONSISTING OF A POSITIVE INTEGER NOT LARGER THAN 72. * IN THIS CASE ARYAD HOLDS A DUMMY POINTER SINCE STRING * VARIABLES ARE NOT MARKED WITH DIMENSIONALITY. * #SBCK LDB .-2 '(' JSB SYMCK OR DEF LBRAC-1 '' ? JMP SBSCK,I NO, RETURN TO (P+1) ISZ SBSCK YES, SET RETURN TO (P+2) LDA ARYAD,I SET ADA .-2 ARRAY TO STA ARYAD,I SINGLE DIMENSION LDA LBOP RECORD STA SBPTR,I '' ISZ DFLAG BUMP MAGIC FLAG CLB,INB DIM CPB DFLAG STATEMENT? JMP SBSC5 YES LDB .+7 NO, SAVE FSC JSB FRCUR LOCAL VARIABLES LDB SBSCK SAVE STB SSTAK,I RETURN ISZ SSTAK ADDRESS LDB ARYAD SAVE ARRAY STB SSTAK,I REFERENCE ISZ SSTAK RESERVE SPACE FOR '(' COUNT LDA .-9 TURN OFF 'STORE STA MSFLG ALLOWED' MODE JSB FSC DEMAND SUBSCRIPT CCB RESTORE ADB SSTAK STB SSTAK ARRAY LDB 1,I STB ARYAD REFERENCE LDB DFLAG 'MATRIX SUBSCRIPT' CPB .+2 MODE? JMP SBSC4 YES SBSC1 CCB NO, SEEK JSB SYMCK 'SUBSCRIPT' DEF SCMMA-1 COMMA JMP SBSC3+1 NONE FOUND ISZ ARYAD,I SET ARRAY AS DOUBLY-SUBSCRIPTED CLB,INB DIM CPB DFLAG STATEMENT? JMP SBSC3 YES JSB FSC  NO, DEMAND SECOND SUBSCRIPT RSS SBSC3 JSB PRGIN DEMAND SECOND BOUND CCB RESTORE ADB DFLAG ORIGINAL STB DFLAG DFLAG VALUE CPB .+1 'MATRIX SUBSCRIPT' MODE? JSB SBPUD YES LDB .-2 DEMAND JSB SYMCK ')' OR DEF RPARN-1 ']' JSB SERRS+23,I NOT FOUND LDA RBOP RECORD STA SBPTR,I ']' JSB SBPUD UPDATE POINTER JSB GETCR FETCH NEXT NOP CHARACTER CLB DIM CPB DFLAG STATEMENT? JMP SBSCK,I YES CCB NO, ADB SSTAK RESTORE STB SSTAK THE LDB SSTAK,I RETURN STB SBSCK ADDRESS JSB FPOP RESTORE FSC JMP SBSCK,I LOCAL VARIABLES SBSC4 CCB JSB SYMCK COMMA? DEF COMMA-1 JMP SBSC3+1 NO JMP SBSC1+4 YES SBSC5 JSB PRGIN DEMAND DECLARED BOUND ISZ SFLAG STRING VARIABLE? JMP SBSC1 NO ADB M73 YES, DOES BOUND SSB,RSS EXCEED 72? JSB SERRS+30,I YES JMP SBSC3+1 NO SKP ** ** *** RECORD ARRAY IDENTIFIER *** ** ** * * ARRAY IDENTIFIER LEFT IN TEMP+1, ARRAY OPERAND ADDRESS * PUT IN ARYAD. EXIT WITH FOLLOWING CHARACTER IN TEMP+2 * AND IN (A). * #ARID JSB LTR FETCH IDENTIFIER JSB SERRS+26,I NONE FOUND LDB ARRID SET STB STRID EXIT ** ** *** RECORD STRING IDENTIFIER *** ** ** * * STRING IDENTIFIER LEFT IN TEMP+1, SFLAG SET TO -1. * EXIT WITH FOLLOWING CHARACTER IN (A). EXIT TO ERROR * IF A STRING VARIABLE IS NOT PERMITTED IN THIS CONTEXT. * * #STRI CPA .+44B '$' ? JMP STRI1 YES LDA SBPTR NO, SET POINTER TO STA ARYAD VARIABLE LOCATION LDA TEMP+1 RECOwRD LDB .+56B ARRAY JSB STROP VARIABLE LDA TEMP+2 RETRIEVE FOLLOWING JMP STRID,I CHARACTER STRI1 LDA SFLAG STRING VARIABLE CPA SBPTR PERMITTED? CCA,RSS YES JSB SERRS+27,I NO STA SFLAG SET FLAG TO 'STRING OCCURRED' LDA TEMP+1 RECORD LDB .+53B STRING JSB STROP VARIABLE LDA SSTAK SET POINTER TO DUMMY STA ARYAD VARIABLE LOCATION JSB GETCR FETCH NOP NEXT JMP STRID,I CHARACTER ** ** *** RECORD A STRING OPERAND *** ** ** * * DEMAND A STRING VARIABLE OR A STRING COSTANT. EXIT * TO ERROR IF NEITHER IS FOUND, ELSE EXIT WITH THE NEXT * CHARACTER IN (A). * #RSTO LDA SBPTR SEEK STA SFLAG STRING JSB VAROP OPERAND JMP RSTO1 1ST CHARACTER NOT A LETTER ISZ SFLAG STRING VARIABLE? JSB SERRS+28,I NO JMP RSTOP,I YES RSTO1 JSB SBPUD DEMAND A JSB GETST STRING JMP RSTOP,I CONSTANT ** ** *** FETCH A STRING CONSTANT *** ** ** * * EXIT TO ERROR IF (A) # " UPON ENTRY. ELSE SAVE CURRENT * BUFFER POINTER AND PACK THE INPUT STRING INTO THE BUFFER * FOLLOWING THE INITIAL BUFFER WORD. EXIT TO ERROR IF NO * CLOSING " IS FOUND. RECORD THE OPENING " ALONG WITH A * COUNT OF THE STRING CHARACTERS AND EXIT WITH THE NEXT * CHARACTER IN (A). EXIT TO ERROR IF STRING EXCEEDS * 72 CHARACTERS. tt * #GTST LDB SBPTR SAVE SYNTAX STB ARYAD BUFFER POINTER CPA .+42B " ? CLB,RSS YES, SET (B) = 0 JSB SERRS+28,I NO JSB CHRST RECORD STRING CONSTANT JSB SERRS+29,I NO CLOSING QUOTE LDA QUOTE RECORD CHARACTER COUNT ADA TEMP+1 ALONG WITH STA ARYAD,I OPENING QUOTE ADA D1111 vMORE THAN 72 SSA,RSS CHARACTERS? JSB SERRS+30,I YES JSB GETCR NO, FETCH NOP NEXT JMP GETST,I CHARACTER ** ** *** SEEK A VARIABLE OPERAND *** ** ** * * VAROP SCANS FOR AND RECORDS A VARIABLE OPERAND. IF * THE FIRST CHARACTER IS NOT A LETTER, EXIT IS TO (P+1) * WITH THE CHARACTER IN (A). OTHERWISE A VARIABLE * OPERAND IS RECORDED AND UPON EXIT (A) CONTAINS THE * FOLLOWING CHARACTER. EXIT IS TO (P+2) AFTER FINDING * AN ARRAY OR STRING VARIABLE ALONG WITH ANY FOLLOWING * SUBSCRIPT. IF A STRING VARIABLE IS FOUND AND SFLAG = * SBPTR, SET SFLAG = -1; IF SFLAG # SBPTR, NO STRING * VARIABLE IS PERMITTED AT THIS POINT: EXIT TO ERROR. * AFTER FINDING A SIMPLE VARIABLE EXIT TO (P+3) WITH * TEMP+2 = (A) AND THE LAST CHARACTER OF THE SIMPLE * VARIABLE IN TEMP+1. IF INSIDE A , * SIMPLE VARIABLES ARE COMPARED WITH THE PARAMETER AND * MATCHES ARE MARKED. * #VROP JSB LTR LETTER? JMP VAROP,I NO, EXIT VIA (P+1) ISZ VAROP YES CPA .+50B '(' ? JMP VARO4 YES CPA B133 NO, '' ? JMP VARO4 YES CPA .+44B NO, '$' ? JMP VARO4 YES ISZ VAROP NO JSB DIGCK DIGIT NEXT? JMP VARO1 NO LDA TEMP+1 YES, LOAD LETTER, ADB .+48 RESTORE DIGIT, STB TEMP+1 AND RECORD JSB STROP SIMPLE VARIABLE JSB GETCR FETCH NOP AND SAVE STA TEMP+2 NEXTX) JMP VARO2 CHARACTER VARO4 JSB STRID RECORD ARRAY OR STRING VARIABLE JSB SBSCK FETCH THE SUBSCRIPT RSS NO SUBSCRIPT JMP VAROP,I EXIT VIA (P+2) LDB VAROP WAS VAROP CALLED FOR CPB DCOM0 DIM OR COM SYNTAX? JSB SERRS+5,I YES--ERROR JMP VAROP,I NO--EXIT VARO1 LDA TEMP+1 RETRIEVE LETTER, LDB B@<.+57B SET 'NO DIGIT', JSB STROP AND RECORD LDA TEMP+2 SIMPLE VARIABLE VARO2 CLB INSIDE A CPB PFLAG 'DEF' STATEMENT? JMP VAROP,I NO, EXIT VIA (P+3) CCB YES, ADB SBPTR ISOLATE LDA 1,I LATEST AND B777 OPERAND CPA PFLAG IS IT THE PARAMETER? JMP *+3 YES VARO3 LDA TEMP+2 NO, RETRIEVE CHARACTER JMP VAROP,I AND EXIT VIA (P+3) LDA 1,I FLAG IOR FLGBT OPERAND STA 1,I AS JMP VARO3 PARAMETER * * ** CLEAN UP FOR NEW PROGRAM ** * * CLNUP LDA CMSK SET PROGRAM MODE AND CFLAG TO 'UNCOMPILED' STA CFLAG LDB PBUFF INSURE CORRECT STB SPROG START-OF--PROGRAM SETTING CLB INITIALIZE STB SYMTB ERROR FLAG JMP SYNT1 B 5E 24280-80005 1534 S 0122 TSB/E SYSTEM              H0101 * *** ** ** SYNTAX ** *** ** * RSTRS JSB GETCR END OF STATEMENT? JMP RSTR1 YES JSB BCKSP NO, DEMAND JSB PRGIN SEQUENCE NUMBER JMP EOST DEMAND END OF STATEMENT RSTR1 ISZ SBPTR RECORD DUMMY OPERAND JMP ACCSA,I * *** STATEMENT SYNTAX ENTRY POINTS *** * SYNTB DEF COMS COM DEF LETS LET DEF DIMS DIM DEF DEFS DEF DEF REMS REM DEF GOTOS GOTO DEF IFS IF DEF FORS FOR DEF NEXTS NEXT DEF GOTOS GOSUB DEF ENDS RETURN DEF ENDS END DEF ENDS STOP DEF DATAS DATA DEF INPTS INPUT DEF READS READ DEF PRINS PRINT DEF RSTRS RESTORE DEF MATS MAT DEF FILES FILES DEF CHANS CHAIN DEF LET0 'IMPLIED' LET * *** DEMAND A RIGHT PARENTHESIS * * * IF (A) HOLDS ')' OR ']' RECORD A ')' AND EXIT * WITH THE FOLLOWING CHARACTER IN (A), ELSE ERROR. * #RPCK LDB .-2 ')' JSB SYMCK OR DEF RPARN-1 ']'? JSB SERRS+23,I NO LDA RPOP YES, RECORD STA SBPTR,I A ')' JSB SBPUD RECORD A NULL OPERAND JSB GETCR FETCH NOP NEXT JMP RPCK,I CHARACTER * *** CHECK FOR A LETTER * * ENTER WITH CHARACTER IN (A). EXIT TO (P+2) IF A * LETTER, ELSE EXIT TO (P+1). (A) IS NOT CHANGED. * #LTCK LDB 0 ASCII ADB D133 133B OR SSB,RSS GREATER? JMP LETCK,I YES ADB .+32B NO, ASCII 101B SSB,RSS OR GREATER? ISZ LETCK YES JMP LETCK,I NO ** ** *** PROCESS CHARACTER STRING *** ** ** * * UPON ENTRY (A) CONTAINS THE STRING DELIMITER AND (B) * INDICATES WHETHER THE FIRST CHARACTER IS TO BE STORED * IN THE LOWER HALF OF THE CURRENT BUFFER WORD ( (B) = 1) * OR THE UPPER HALF OF THE NEXT BUFFER WORD ( (B) = 0). * EXIT TO (P+1) ON EMPTYING THE INPUT STRING. EXIT TO * (P+2) ON FINDING THE STRING DELIMITER. BLANKS ARE NOT * STRIPPED OUT OF THE INPUT STRING IF (A) # 0 UPON ENTRY. UPON * EXIT SBPTR POINTS TO THE FIRST BUFFER WORD NOT CONTAINING PART OF * THE STRING WHILE TEMP+1 CONTAINS A COUNT OF THE STRING * CHARACTERS BIASED BY THE VALUE OF (B) UPON ENTRY. * #CRST STB TEMP+1 SET CHARACTER FLAG AND COUNTER STA TEMP+2 NOTE TERMINATOR CHARACTER LDB .+10 IF (A) # 0 SZA STOP BLANK STB BLANK SUPPRESSION CHRS1 JSB GETCR FETCH CHARACTER JMP CHRS3+1 NONE FOUND LDA 1 ALLOW LOWER CASE B] CPA TEMP+2 TERMINATOR? JMP CHRS3 YES LDB TEMP+1 NO, COUNT CHARACTER SLB,INB AND SELECT WORD HALF JMP CHRS2 LOW HALF JSB SBPUD HIGH HALF, MOVE TO NEXT WORD ALF,SLA,ALF POSITION CHARACTER AND SKIP CHRS2 IOR SBPTR,I COMBINE WITH PREVIOUS CHARACTER STA SBPTR,I STB TEMP+1 SAVE FLAG/COUNTER JMP CHRS1 CHRS3 ISZ CHRST SET EXIT TO (P+2) JSB SBPUD ADVANCE POINTER LDB .+40B RESTORE BLANK STB BLANK SUPPRESSION JMP CHRST,I * *** CHECK FOR A DIGIT * * * ENTER WITH CHARACTER IN (A). IF NOT A DIGIT, EXIT * TO (P+1) WITH CHARACTER IN (A). EXIT TO (P+2) * WITH DIGIT (BINARY) IN (A) AND (B) IF FOUND. * #DGCK LDB 0 ASCII ADB D72 72 OR SSB,RSS GRAETER? JMP DIGCK,I YES ADB .+12B NO, ASCII 57B SSB OR LESS JMP DIGCK,I YES LDA 1 NO, LOAD ISZ DIGCK DIGIT JMP DIGCK,I INTO (A) * *** INSURE SPACE FOR NEW ENTRY * * * A CHECK IS MADE THAT THE UNUSED USER SPACE IS AT * LEAST AS LARGE AS THE NUMBER OF WORDS SPECbIFIED BY * (A). EXIT TO ERROR IF NOT SE. (B) IS NOT CHANGED. * ON NORMAL EXIT (A) CONTAINS ITS ENTRY VALUE + (PBPTR). * #CUSP ADA PBPTR AT LEAST STA CU1 (A) WORDS CMA OF AVAILABLE ADA LWAUS USER SSA,RSS SPACE? JMP *+3 YES CUSP1 JSB DCMPL NO, DECOMPILE JSB RERRS+10,I OUT OF STORAGE SPACE LDA CU1 RETURN WITH NEW JMP CUSP,I VALUE OF PBPTR SKP ** ** *** DELETE SOME PROGRAM *** ** ** * * THAT PART OF THE PROGRAM REFERENCED BY CORE LOCATIONS * (TEMP+1)+(A) THROUGH (TEMP+1)+(B)-1 INCLUSIVE IS * DELETED BY SLIDING UP ALL OF THE PROGRAM FROM * (TEMP+1)+(B) TO (PBPTR)-1 (I.E., THE REST OF THE * PROGRAM FOLLOWING THE 'GAP'). PBPTR IS THEN * UPDATED TO POINT TO LAST WORD +1 OF THE PROGRAM. * * #DLPR ADA TEMP+1 COMPUTE INITIAL STA TEMP+2 DESTINATION ADDRESS ADB TEMP+1 COMPUTE INITIAL SOURCE ADDRESS DELP1 CPB PBPTR DONE? JMP DELP2 YES LDA 1,I NO, TRANSFER STA TEMP+2,I A WORD ISZ TEMP+2 BUMP INB POINTERS JMP DELP1 DELP2 LDA TEMP+2 UPDATE STA PBPTR END-OF-PROGRAM JMP DELPR,I POINTER ** ** *** DELETE A PROGRAM STATEMENT *** ** ** * * THE STATEMENT REFERENCED BY THE SEQUENCE NUMBER IN * (B) IS DELETED. EXIT TO EXECUTIVE. * DELST LDA PBPTR LOAD SEARCH TERMINATION POINTER JSB FNDPS SEARCH FOR STATEMENT JMP ACC5A,I NOT JMP ACC5A,I FOUND CLA INB (B),I = STATEMENT LENGTH LDB 1,I LOAD LENGTH OF OLD STATEMENT JSB DELPR DELETE JMP ACC5A,I STATEMENT SKP ** ** *** ACCEPT A STATEMENT *** ** ** * * A CORRECT STATEMENT IS ADDED TO THE PROGRAM BUFFER. * IF ITS jSEQUENCE NUMBER IS THE HIGHEST SO FAR, ONLY * THE END-OF-PROGRAM POINTER REQUIRES CHANGE, SINCE THE * STATEMENT IS TRANSLATED IMMEDIATELY BELOW THE PREVIOUS * PROGRAM. OTHERWISE THE NEW STATEMENT IS INSERTED INTO * THE PROGRAM IN PROPER SEQUENTIAL POSITION. IF ITS * SEQUENCE NUMBER COINCIDES WITH THAT OF A PREVIOUS * PROGRAM STATEMENT, IT REPLACES IT, WITH SPACE MADE OR * DELETED IN THE PROGRAM AS NECESSARY. EXIT TO EXEC. * IF STATEMENT LENGTH = 0 THE STATEMENT WAS REJECTED DUE TO * A STORAGE OVERFLOW IN TAPE MODE. IF IN KEYBOARD MODE AND * SYMTB = 4 AT LEAST ONE OVER/UNDERFLOW OCCURRED WHILE ANALYZING * THE STATEMENT SO EMIT THE ERROR; OTHERWISE ECHO A LINE FEED. * IF IN TAPE MODE MOVE THE START-OF-RECORD POINTER TO THE START * OF THE NEXT BUFFER AND IF IT IS COMPLETED SYNTAX IT NOW, ELSE * EXIT TO EXEC. * ACCST LDB SBUFA INB LDA SBUFA COMPUTE CMA,INA STATEMENT ADA SBPTR LENGTH SZA,RSS UNPROCESSED STATEMENT? JMP ACCS6 YES STA 1,I NO, STORE LENGTH IN STATEMENT STA TEMP+2 SAVE IT LDA PBPTR FIND STATEMENT'S LDB SBUFA,I SEQUENTIAL JSB FNDPS POSITION JMP ACCS4 APPEND STATEMENT TO PROGRAM JMP ACCS2 INSERT STATEMENT INTO PROGRAM INB REPLACE PRIOR STATEMENT LDA 1,I COMPARE LENGTH CMA,INA OF NEW STATEMENT ADA TEMP+2 WITH THAT OF OLD SZA,RSS EQUAL? JMP ACCS1 YES SSA,RSS NO, LONGER? JMP ACCS2+1 YES LDA TEMP+2 NO, SHORTER LDB 1,I LOAD LENGTH OF OLD STATEMENT JSB DELPR DELETE EXTRA LENGTH ACCS1 LDB SBUFA LOAD FIRST SOURCE ADDRESS LDA 1,I TRANSFER STA TEMP+1,I A WORD ISZ TEMP+1 ADVANCE DESTINATION INB AND SOURCE ADDRESSES CPB SBPTR DONE? JMP ACCS5 YES JMP ACCS1+1 NO ACCS2 LDA TEMP+2 LOAD SPACE REQUIREMENT ADA SBUFA UPDATE POINTER STA SBUFA TO NEW STATEMENT ADA TEMP+2 RESET LDB SBPTR END OF STATEMENT STA SBPTR POINTER STA TEMP+2 INITIALIZE DESTINATION ADDRESS CMA USER ADA LWAUS SPACE SSA OVERFLOW? JSB SERRS,I YES LDA SBUFA NO, UPDATE POINTER STA PBPTR TO END-OF-PROGRAM ACCS3 CPB TEMP+1 EVERYTHING MOVED? JMP ACCS1 YES CCA NO, BACK UP ADA TEMP+2 SOURCE AND STA TEMP+2 DESTINATION ADB .-1 ADDRESSES LDA 1,I TRANSFER STA TEMP+2,I A WORD JMP ACCS3 ACCS4 LDA SBPTR RESET POINTER TO STA PBPTR LAST WORD+1 OF PROGRAM ACCS5 LDA TAPEF TAPE AND LMSK SZA MODE? JMP ACCS6 YES LDB SYMTB NO STA SYMTB RESET UNDER/OVERFLOW FLAG CPB .+4 UNDER/OVERFLOW ERROR(S)? JSB RERRS+32,I YES LDA .+12B NO, JSB OUTCR OUTPUT A JMP SCHEN,I LINE FEED ACCS6 LDB BADDR ALLOW INB CPB PRBFE,I MORE LDB PRBFA,I CLF 0 INPUT STB LBUFA,I CPB LBUFE,I JMP SCHEN,I NONE LDA MLINK+1 MORE IN BUFFER [E] ADA .+?MASK-?LINK [D] LDA A,I SET PORT COMMUNICATIONS [D] IOR MPCOM BIT TO SCHEDULE USER [D] STA MPCOM (D) JMP SCHEN,I (D) ** ** *** FIND A STATEMENT'S SEQUENTIAL POSITION *** ** ** * * UPON ENTRY (A) POINTS TO THE LAST WORD+1 OF THE PROGRAM * AND (B) HOLDS A SEQUENCE NUMBER. IF (B) IS LARGER THAN * ANY SEQUENCE NUMBER IN THE PROGRAM, EXIT TO (P+1) WITH * (B) POINTING TO THE LAST WORD+1 OF THE PROGRAM. IF (B) * FALLS BETWEEN TWO SEQUENCE NUMBERS, EXIT TO (P+2) WITH * (B) POINTING TO THE STATEMENT WITH A LARGER SEQUENCE * NUMBER. IF A STATEMENT IN THE PROGRAM HAS THE SEQUENCE * NUMBER IN (B), EXIT TO (P+3) WITH (B) POINTING TO THIS * STATEMENT (IF IT IS AN EMBEDDED ERROR MESSAGE, STATEMENT * TYPE = 0, DECREMENT THE ERROR COUNT). IN ALL CASES TEMP+1 * = (B) UPON EXIT. * #FDPS STB TEMP+1 SAVE TEST SEQUENCE NUMBER STA TEMP+3 SAVE TERMINATION POINTER LDB PBPTR [E] CPB PBUFF [E] JMP FNDP4 [E] LDB SPROG START WITH FIRST WORD OF PROGRAM FNDP1 CPB TEMP+3 PROGRAM EXHAUSTED? JMP FNDP4 YES, EXIT TO P+1 LDA 1,I NO, IS CMA,INA PROGRAM ADA TEMP+1 SEQUENCE NUMBER SZA,RSS THE SAME? JMP FNDP2 YES, EXIT TO (P+3) SSA NO, GREATER? JMP FNDP3+1 YES, EXIT TO (P+2) LDA 1 NO, CHECK (D) INA STATEMENT (D) LDA 0,I LENGTH AND (D) ADB 0 SET (B) TO POINT (D) JSB STLCK TO THE (D) JMP FNDP1 NEXT STATEMENT (D) FNDP2 LDA 1 LOAD ADA .+2 STATEMENT LDA 0,I ERROR AND OPMSK SZA STATEMENT? JMP FNDP3 NO CCA YES, ADA ERRCT DECREMENT STA ERRCT ERROR COUNT SZA ONLY ERROR? JMP FNDP3 LDA CMSK YES, SET FLAG AND TERR TO SAY 'NO STA TERR EMBEDDED ERRORS' FNDP3 ISZ FNDPS ISZ FNDPS FNDP4 STB TEMP+1 SAVE POINTER TO [E] JMP FNDPS,I FINAL STATEMENT SEEN ** ** *** FETCH PARENTHESIZED FORMULA *** **  ** * * AN END-OF-FORMULA OPERATOR FOLLOWS THE FORMULA * #GTPF LDB .+5 SAVE FSC JSB FRCUR LOCAL VARIABLES JSB SBPUD UPDATE POINTER JSB GETCR RECORD JSB SERRS+22,I LEFT JSB LPCK PARENTHESIS JSB FSC DEMAND FORMULA JSB SBPUD RECORD END-OF-FORMULA OPERATOR JSB RPCK RECORD RIGHT PARENTHESIS JSB FPOP RESTORE FSC JMP GETPF,I LOCAL VARIABLES ** ** *** RECORD AN INTEGER *** ** ** * * PRGIN FLAGS THE PREVIOUS OPERATOR TO SAY 'INTEGER FOLLOWS'. * STORE THE INTEGER AND EXIT WITH IT IN (B) AND THE FOLLOWING * CHARACTER IN (A). * #PGIN LDA SBPTR,I SET IOR INTFL 'INTEGER FOLLOWS' STA SBPTR,I FLAG JSB SBPUD ADVANCE POINTER JSB BLDIN BUILD INTEGER STB SBPTR,I RECORD INTEGER JSB SBPUD ADVANCE POINTER JMP PRGIN,I ** ** *** BUILD AN INTEGER *** ** ** * * MISSING OR ILLEGAL INTEGER EXITS TO (P+2) OF PRGIN IF PFLAG = -1, * ELSE TO ERROR. A LEGAL INTEGER IS NON-ZERO AND LESS THAN 10000. * #BLDI CLA INITIALIZE TO STA PINTG ZERO INTEGER. JSB GETCR JMP BLDI2 JSB DIGCK DIGIT? JMP BLDI2 NO STA PINTG+1 YES, SAVE IT LDA PINTG MULTIPLY PREVIOUS MPY .+10 INTEGER BY 10 CLE ADD IN ADA PINTG+1 NEW DIGIT SEZ,SZB,RSS OVERFLOW? JMP #BLDI+1 NO BLDI1 ISZ GFLAG YES, RETURN ON ERROR? JSB SERRS+1,I NO ISZ PRGIN YES, EXIT TO JMP PRGIN,I (P+2) OF PRGIN BLDI2 LDB PINTG ZERO CLE,SZB,RSS INTEGER? JMP BLDI1 YES S ADB MAXSN NO, INTEGER SEZ TOO LARGE? JMP BLDI1 YES LDB PINTG NO JMP BLDIN,I ** ** *** SEEK RE̾CORD REFERENCE *** ** ** * * IF THE NEXT CHARACTER IS NOT '#', RESTORE SBPTR AS UPON ENTRY * AND EXIT TO (P+1) WITH THE CHARACTER IN (A). OTHERWISE CHECK * CHARACTER RETURNED IN (A) FROM FILRF. IF IT IS A COMMA OR A * SEMICOLON RECORD IT. EXIT TO (P+2) WITH THE CHARACTER IN (A) * IF IT IS A SEMICOLON. IF A COMMA, PROCESS THE FOLLOWING RECORD * REFERENCE AND EXIT TO (P+2) WITH CHARACTER FOLLOWING IT IN (A) * (IF A SEMICOLON, RECORD IT BEFORE EXITING). * #RECR JSB FILRF SEEK FILE REFERENCE JMP RECR1 NONE FOUND ISZ RECRF FOUND CPA .+54B COMMA? RSS YES JMP RECR0 NO LDB B2000 RECORD STB SBPTR,I COMMA JSB FSC PROCESS RECORD REFERENCE RECR0 LDB B3000 CPA B73 SEMICOLON? STB SBPTR,I YES JMP RECRF,I RECR1 CCB RESTORE ADB SBPTR STB SBPTR SBPTR JMP RECRF,I ** ** *** SEEK FILE REFERENCE *** ** ** * * IF THE NEXT CHARACTER IS NOT A '#' RETURN TO (P+1) WITH IT IN * (A). OTHERWISE RECORD THE FILE REFERENCE AND RETURN TO (P+2) * WITH THE FOLLOWING CHARACTER IN (A). * #FILR ISZ SBPTR JSB GETCR NEXT JMP FILRF,I CCB CHARACTER JSB SYMCK DEF HATCH-1 A '#' ? JMP FILRF,I NO JSB FSC YES, PROCESS FILE REFERENCE ISZ FILRF JMP FILRF,I SKP ** ** *** SEARCH TABLE FOR MULTICHARACTER SYMBOL *** ** ** * * UPON ENTRY (A) POINTS TO THE TABLE OF ACCEPTABLE * SYMBOLS, (B) CONTAINS THE NUMBER OF ENTRIES IN THE * TABLE (IN 2'S COMPLEMENT), MAXCR CONTAINS THE MAXIMUM * ACCEPTABLE NUMBER OF CHARACTERS IN THE SYMBOL, AND * SBPTR,I CONTAINS THE FIRST CHARACTER OF THE PROSPECTIVE * SYMBOL IN BITS 7-0 AND EITHER 0 OR THE SECOND CHARACTER * IN BITS 15-8. IF NO ACCEPTABLE SYMBOL IS FOUND, EXIT TO * (P+1) WITH THE HALVES OF SBPTR,I SWAPPED AND THE INPUT * STRING AS UPON ENTRY. ON SUCCESS EXIT TO (P+2) WITH * THE OPERATOR CODE IN BOTH (A) AND SBPTR,I; THE NEW INPUT * STRING BEGINS WITH THE CHARACTER FOLLOWING THE SYMBOL. * #TBSR STA TABLE SAVE TABLE ADDRESS STB LNGTH SAVE -(NUMBER OF ENTRIES) LDA BADDR SAVE BUFFER STA TEMP+3 POINTER LDA SBPTR SAVE CURRENT STA SMBGN SYNTAX BUFFER POINTER CLA,INA COUNT FIRST CHARACTER STA SLENG OF SYMBOL LDA SBPTR,I LEFT JUSTIFY ALF,ALF FIRST STA SBPTR,I CHARACTER AND B177 TWO O SZA,RSS CHARACTERS? JMP TSRC4 NO TSRC1 ISZ SLENG COUNT NEW CHARACTER LDB LNGTH SET COUNTER STB COUNT FOR TABLE ENTRIES LDA TABLE SET POINTER TSRC2 STA TBLPT TO NEXT ENTRY LDA TBLPT,I TABLE ENTRY AND AND .+7 CURRENT SYMBOL CPA SLENG OF SAME LENGTH? JMP TSRC6 YES TSRC3 ADA .+3 NO, UPDATE ARS TABLE ADA TBLPT POINTER ISZ COUNT MORE ENTRIES? JMP TSRC2 YES TSRC4 JSB GETCR NO, FETCH NEXT CHARACTER JMP TSR10 NONE FOUND LDB SLENG SYMBOL ALREADY CPB MAXCR OF MAXIMUM LENGTH? JMP TSR10 YES SLB,RSS NO, EVEN-NUMBERED CHARACTER? JMP TSRC5 NO IOR SBPTR,I YES, FILL LOWER HALF STA SBPTR,I OF LAST WORD OF SYMBOL JMP TSRC1 TSRC5 JSB SBPUD ADVANCE SYMBOL POINTER ALF,ALF STORE CHARACTER IN JMP *-4 UPPER HALF OF WORD TSRC6 LDB TBLPT SET POINTER TO STB TSPTR SYMBOL IN TABLE LDB SMBGN SET (B) TO JMP *+4 INPUT SYMBOL TSRC7 CPB SBPTR ALL OF SYMBOL MATCHED? JMP TSRC8 YES INB NO, ADVANCE ISzkZ TSPTR POINTERS LDA TSPTR,I COMPARE NEXT CPA 1,I WORD OF SYMBOLS JMP TSRC7 EQUAL LDA SLENG UNEQUAL, TRY JMP TSRC3 NEXT TABLE SYMBOL TSRC8 LDA TBLPT,I LOAD, ISOLATE AND OPMSK AND STORE STA SMBGN,I OPERATOR CODE ISZ TBSRH SET EXIT TO (P+2) TSRC9 LDB SMBGN CORRECT SYNTAX STB SBPTR BUFFER POINTER JMP TBSRH,I TSR10 LDA TEMP+3 RESTORE BUFFER STA BADDR POINTER JMP TSRC9 ** ** *** FETCH A LETTER *** ** ** * * EXITS TO (P+1) IF NEXT CHARACTER NOT A LETTER. * OTHERWISE STORES IT IN TEMP+1, STORES FOLLOWING * CHARACTER IN TEMP+2, AND EXITS TO (P+2) WITH * SECOND CHARACTER IN (B). * #LTR JSB GETCR FIRST NOP CHARACTER JSB LETCK A LETTER? JMP LTR,I NO, EXIT WITH CHARACTER IN (A) ISZ LTR YES, SET RETURN ADDRESS TO (P+2) STA TEMP+1 SAVE CHARACTER JSB GETCR SAVE NOP SECOND STA TEMP+2 CHARACTER JMP LTR,I SKP ** ** *** STORE AN OPERAND NAME *** ** ** * * OPERANDS ARE STORED AS 9-BIT QUANTITIES. BITS 8-4 * HOLD A LETTER (1-32 OCTAL FOR A-Z). BITS 3-0 INDICATE * THE TYPE OF OPERAND: 0 FOR A STRING, 1 AND 2 FOR * SINGLY AND DOUBLY SUBSCRIPTED VARIABLES, 3 FOR A * SUBSCRIPTED VARIABLE WITH DIMENSIONALITY NOT DEFINED * LOCALLY, 4 FOR A SINGLE-LETTER SIMPLE VARIABLE, 5-16 * OCTAL FOR A LETTER-DIGIT SINGLE VARIABLE, AND 17 OCTAL * FOR A PROGRAMMER-DEFINED FUNCTION. * #STOP ADA D100 LETTER = ASCII CODE - 100 OCTAL ADB D53 DIGIT = ASCII CODE - 53 OCTAL ALF COMPLETE IOR 1 OPERAND IOR SBPTR,I MERGE OPERATOR STA SBPTR,I AND OPERAND JSB SBPUD SET POINTER TO JMP STROP,I FRESH WORD ** NB@< ** *** CHECK FOR SINGLE-CHARACTER OPERATORS *** ** ** * * ENTER WITH CHARACTER IN (A) AND NUMBER OF ACCEPTABLE * OPERATORS IN (B) IN 2'S COMPLEMENT. (P+1)+2 POINTS * TO THE LIST OF ACCEPTABLE OPERATORS. ON A MATCH * EXIT TO (P+3) AFTER RECORDING THE OPERATOR CODE, * WHICH REMAINS IN (A). ON NO MATCH EXIT TO (P+2) * WITH THE CHARACTER IN (A). * #SYCK STB COUNT SAVE COUNT OF POSSIBLE MATCHES ALF,ALF POSITION IOR .+32 CHARACTER LDB SYMCK,I LOAD ISZ SYMCK STARTING SYMC1 ADB .+2 TABLE ENTRY CPA 1,I MATCH? JMP SYMC2 YES ISZ COUNT NO, POSSIBILITIES LEFT? JMP SYMC1 YES ALF,ALF NO, AND B177 RESTORE JMP SYMCK,I CHARACTER SYMC2 ADB .-1 FETCH LDA 1,I AND AND OPMSK STORE STA SBPTR,I OPERATOR ISZ SYMCK CODE JMP SYMCK,I B 6F 24280-80006 1534 S 0122 TSB/E SYSTEM              H0101  HED COMPILATION AND DECOMPILATION * * ************************** **** ** *** 'COMPILE' THE PROGRAM ** **** ** * ************************** * * * SYMTB=0 IMPLIES THE PROGRAM IS IN 'SOURCE': ALL OPERANDS ARE IN * SYMBOLIC FORM. SYMTB#0 AND SPTR=0 IMPLIES THE PROGRAM IS 'SEMI- * COMPILED': VARIABLE OPERANDS ARE POINTERS TO A SYMBOL TABLE AND * STATEMENT REFERENCES ARE REPLACED BY ABSOLUTE POINTERS. * SYMTB = SPTR IMPLIES THE PROGRAM IS 'COMPILED': THE SYMBOL TABLE * ENTRIES CONTAIN POINTERS TO A VALUE TABLE OR IN THE CASE OF * FUNCTIONS TO THE DEFINING FORMULA, AND A TABLE IS BUILT * CONTAINING INFORMATION FOR EACH FILE IN THE PROGRAM. BEFORE * BUILDING THE SYMBOL TABLE, THE INTERPRETER'S PROGRAM COUNTER * IS SET TO THE STATEMENT REFERENCED BY THE 'RUN' COMMAND (THE * LOWEST NUMBERED STATEMENT IS THE DEFAULT CHOICE). * * CMPLE LDB PBUFF NULL CPB PBPTR PROGRAM? JMP DONEA,I YES CLB,INB INITIALIZE STB PRGCT PROGRAM COUNTER JSB SINIT SIMPLE JSB GETCR 'RUN' ? JMP CMP15 YES JSB BCKSP NO JSB BLDIN DEMAND AN INTEGER STB PRGCT SAVE STARTING STATEMENT NUMBER CPA .+15B END OF RECORD? RSS YES JSB RERRS+12,I NO CMP15 EQU * CLF 0 LDB MAIN DON'T ADB .+?TSTA LDA 1,I ALLOW IOR UNABT STA 1,I ABORTS STF 0 LDB PBUFF CPB SPROG NO, COM STORAGE ALLOCATED? JSB ALCOM NO--DO IT LDA SYMTB GET SYMBOL TABLE POINTER SZA,RSS IS PROGRAM COMPILED ? LDA PBPTR NO, USE PBPTR LDB PRGCT GET STARTING STATEMENT NUMBER JSB FNDPS SEEK REFERENCED STATEMENT JMP DONEA,I NOT WITHIN PROGRAM NOP SET STB PRGCT PROGRAM COUNTER CMP14 EQU * LDB MAIN SET USER'S ADB .+?TSTA I/O STATUS LDA B,I TO 'USER IS IOR RNBT RUNNING' STA B,I CMPL0 LDA SYMTB SZA PROGRAM COMPILED? JMP VALUE YES STA FILTB NO, SET FOR FILES CLF 0 LDA LMSK SET MODE TO IOR CFLAG COMPILED STA CFLAG G STF 0 ** ** *** BUILD THE SYMBOL TABLE *** ** ** * * THE PROGRAM IS EXAMINED STATEMENT BY STATEMENT. ALL * VARIABLE OPERANDS ARE REPLACED BY POINTERS (RELATIVE * TO THE START OF THE SYMBOL TABLE) TO TWO WORD ENTRIES. * SYMBOL TABLE ENTRIES KEEP THE SYMBOL IN THE FIRST WORD * AND INFORMATION IN THE SECOND. FOR FUNCTIONS THE * SECOND WORD CONTAINS A POINTER TO THE DEFINING FORMULA * (0 BEFORE FINDING THE ). FOR SIMPLE * VARIABLES THE SECOND WORD IS USED TO FORM A LINKED LIST * OF UNMATCHED FOR-VARIABLES (OTHERWISE IT IS 0) WITH * FLINK POINTING TO THE INNERMOST NESTED FOR-VARIABLE. * IF THE SIMPLE VARIABLE APPEARS IN A * THE SECOND WORD IS SET TO -1. FOR ARRAY AND STRING * VARIABLES THE SECOND WORD IS 0 UNLESS THE VARIABLE * APPEARS IN A , IN WHICH CASE IT * POINTS TO THE DIMENSIONS IN THE CODE, OR IT APPEARS * IN A , IN WHICH CASE IT IS THE * NEGATION OF A POINTER TO THE DIMENSIONS. * PROGRAM INTEGERS ARE REPLACED BY A POINTER TO THE * STATEMENT THEY REFERENCE. ON EXIT TO VALUE OR DCMPL, * SPTR POINTS TO THE FIRST WORD NOT PROCESSED. * LDB PBPTR CREATE POINTER STB SYMTB TO SYMBOL TABLE * * COUNT NUMBER OF STATEMENTS IN PROGRAM * CLA,INA INITIALIZE STATEMENT COUNTER LDB SPROG CMP01 INB MOVE TO ADB 1,I NEXT ADB .-1 STATEMENT CPB PBPTR DONE? JMP CMP02 YES INA NO--BUMP COUNTER JMP CMP01 CMP02 CLB DIVIDE # OF STATEMENTS DIV .+32 INTO 32 PARTS u CMB SET B=-1-# OF OVERSIZE GROUPS, SZA,RSS BUT IF <32 STATEMENTS USE -# INB INA SET A TO SIZE OF LARGER GROUP STA STCT1 SET COUNTER STB STCT2 LDB ERSCA SET POINTER TO TABLE STB NUMPT * * BUILD A TABLE OF 64 WORDS. THE FIRST 32 CONTAIN THE SEQUENCE * NUMBERS OF STATEMNTS WHICH DIVIDE THE PROGRAM INTO 32 ALMOST * EQUAL PARTS. THE SECOND 32 WORDS ARE THE ABSOLUTE ADDRESSES * OF THESE STATEMENTS * * LDA SPROG CMP03 ADB .+32 STA 1,I SET ABSOLUTE ADDRESS INTO TABLE LDB 0,I SET SEQUENCE # INTO TABLE STB NUMPT,I ISZ NUMPT BUMP POINTERS ISZ STCT2 TEST FOR ANY MORE CLB,RSS OVERSIZE WUPS CCB COMPUTE SIZE OF NEXT GROUP ADB STCT1 STB STCT1 CMB STB STCT3 LDB NUMPT TEST FOR DONE CPB ERS32 JMP CMP04 ISZ STCT3 COMPUTE FIRST STATEMENT INA,RSS IN NEXT GROUP JMP CMP03 ADA 0,I ADA .-1 1 JMP *-5 * CMP04 CLA,INA STA FLINK SET FOR-QUEUE TO EMPTY JSB PRNST INITIALIZE DEF CMP11 COMPILATION SEZ,RSS WAS FLAG BIT SET? JMP CMPL3 NO * * ** PROCESS NON-VARIABLE OPERAND ** * * ADA .-4 PROGRAM SSA,RSS INTEGER? JMP PRNS2 NO, MUST BE A PARAMETER CMPL1 ISZ SPTR YES, MOVE LDB SPTR TO NEXT WORD CPB NSPTR STATEMENT FINISHED? JMP CMP11 YES LDB ERSCA BEGIN SEARCH FOR REFERNECED STMT CMP05 LDA 1,I FIRST STATEMENT =>SOUGHT STATE.? CMA ADA SPTR,I SSA,INA JMP CMP06 FOUND ONE INB CPB ERS32 TEST FOR DONE RSS JMP CMP05 ADB .+31 LDA SYMTB STATEMENT IS IN LAST GROUP JMP CMP07 W\ CMP06 ADB .+32 B=> FIߝRST STATEMNT IN GROUP SZA,RSS TEST FOR FOUND JMP CMP09 CPB ERS32 TEST FOR NOT THERE JMP CMPL2 ERROR LDA 1,I SET A=> FIRST WORD BEYOND GROUP ADB .-1 CMP07 LDB 1,I STA STCT1 SAVE END TEST LDA SPTR,I GET SEQUENCE NUMBER CMP08 INB BUMP STATEMENT POINTER ADB 1,I ADB .-1 CPB STCT1 TEST FOR DONE JMP CMPL2 LABEL NOT FOUND--ERROR CPA 1,I TEST FOR FOUND JMP CMP09+1 JMP CMP08 CMP09 LDB 1,I STB SPTR,I FOUND--REPLACE INTEFER JMP CMPL1 WITH ABSOLUTE ADDRESS CMPL2 JSB DCMPL DECOMPILE JSB RERRS,I NON-EXISTENT STATEMENT NUMBER * * ** PROCESS VARIABLE OPERAND ** * * CMPL3 STA STMP1 SAVE SYMBOL AND .+17B CPA .+17B FUNCTION? ?V JMP CMPL6 YES SZA,RSS NO, STRING VARIABLE? JMP CMPL9-3 YES ADA .-4 NO, SSA ARRAY? JMP CMPL9 YES JSB SSYMT NO, COMPILE ISZ SPTR SIMPLE VARIABLE CPB COMOP 'COM'? JMP CMP41 YES CPB FOROP NO, FOR-VARIABLE OF 'FOR'? JMP CMPL4 YES CPB NXTOP NO, FOR-VARIABLE OF 'NEXT' ? RSS YES JMP PRNS2+1 NO LDB FLINK SSB MAKEK CMB,INB POSITIVE CPB STMP2 MATCH LATEST ? JMP *+3 YES JSB DCMPL NO, DECOMPILE JSB RERRS+1,I NEXT NOT PRECEDED BY PROPER FOR LDB FLINK LDA STMP2,I REMOVE STA FLINK VARIABLE SSB WAS VARIABLE IN COMMON? CCB,RSS NO CLB NO STB STMP2,I RESET AS SIMPLE VARIABLE JMP PRNS2+1 CMPL4 LDA STMP2,I LOAD SECOND WORD OF TABLE ENTRY SZA ALREADY IN FOR-QUEUE? INA,SZA,RSS MAYBE JMP CMPL5 NO JSB DCMPL YES, DECOMPILE JSB RERRS+2,I NESTED "FOR'S" WITH SAME VARIABLE CMPL5 LDB STMP2 LDA STMP2,I WAS VARIABLE SSA IN COMMON? CMB,INB YES LDA FLINK ADD STA STMP2,I TO STB FLINK FOR-QUEUE ISZ STYPE DESTROY STATEMENT TYPE JMP PRNS2+1 CMP41 EQU * B] LDA STMP2 B] LDB 0,I B] SZB VARIABLE ALREADY IN COMMON? B] JMP CMP10+1 YES B] CCB NO, FLAG VARIABLE B] STB 0,I IN COMMON B] JMP PRNS2+1 CMPL6 JSB SSYMT COMPILE FUNCTION NAME CPB DEFOP FUNCTION DEFINITION? RSS YES JMP PRNS2 NO LDB STMP2,I PREVIOUSLY SZB DEFINED? JMP CMPL8 YES LDA STMP2 NO ISZ STYPE DESTROY STATEMENT TYPE CMPL7 LDB SPTR ADVANCE ADB .+3 PROGRAM STB SPTR POINTER STB 0,I SAVE JMP PRNS2+1 POINTER CMPL8 ISZ SPTR JSB DCMPL DECOMPILE JSB RERRS+3,I FUNCTION DEFINED TWICE JSB SSYMT COMPILE STRING VARIABLE ISZ STMP1 SET TO 'SINGLY SUBSCRIPTED' RSS PROCESS POSSIBLE DECLARATION CMPL9 JSB ASYMT COMPILE ARRAY VARIABLE CCE SET 'COM' FLAG CPB COMOP 'COM'? JMP CMP91 YES CPB DIMOP NO, 'DIM'? CLE,RSS YES--SET 'DIM' FLAG JMP PRNS2 CMP91 LDB STMP2,I WAS VARIABLE SZB PREVIOUSLY DIMENSIONED? JMP CMP10 YES LDB SPTR NO, SAVE POINTER ADB .+2 TO DIMENSIONS SEZ DIMENSIONED IN 'COM' ? CMB,INB YES--FLAG IT STB STMP2,I NO LDB SPTR RESTORE ADB .+2 POINTER LDA STMP1 RETRIEVE SYMBOL s SLA,RSS ADVANCE ADB .+2 POINTER ADB .+2 PAST STB SPTR ONE OR TWO JMP PRNS2+2 CMP10 ISZ SPTR JSB DCMPL DECOMPILE JSB RERRS+4,I VARIABLE DEFINED TWICE * * ** PROCESS END OF STATEMENT ** * * CMP11 CPB SYMTB END OF PROGRAM? RSS YES JMP PRNS1 NO STB SPTR INSURE CORRECT SETTING FOR SPTR LDA STYPE LAST STATEMENT CPA ENDOP AN 'END' ? JMP CMP12 YES JSB DCMPL NO, DECOMPILE JSB RERRS+5,I MISSING 'END' CMP12 CLA,INA CPA FLINK ALL FORS MATCHED? JMP *+3 YES JSB DCMPL DECOMPILE JSB RERRS+6,I 'FOR' WITHOUT 'NEXT' CLA A* STA VLFLG MUST RUN VALUE. LDB PBPTR SET POINTER TO STB FILTB END OF SYMBOL TABLE. * * FILCT = -5 AT THIS POINT UNLESS THE PROGRAM CONTAINS A * . THE CALL TO SCHLB,I LEAVES VALTB = * FILTB+7*(NUMBER OF FILES REQUESTED). IF NO * APPEARS, VALTB = FILTB. * ISZ VALTB JMP CMP13 STB VALTB JMP VALU0 CMP13 JSB SCHLB,I REQUEST FILE TABLE DEF FILIB JSB RERRS+13,I BAD FORMAT OR ILLEGAL NAME JSB RERRS+14,I MISSING OR PROTECTED FILE JSB RERRS+10,I OUT OF STORAGE JMP VALU0 SUCCESSFUL REQUEST SKP ** ** *** DECOMPILE ALL OR PART OF PROGRAM *** ** ** * * IF CFLAGI] = 0 PROGRAM IS IN SOURCE, EXIT IMMEDIATELY; * ELSE SET CFLAGI] = 0 AND DECOMPILE PROGRAM. SPTR POINTS * INITIALLY TO LAST WORD+1 OF COMPILED PROGRAM. ABSOLUTE * ADDRESSES ARE REPLACED BY THE SEQUENCE NUMBERS TO WHICH * THEY POINT. VARIABLE OPERAND POINTERS ARE REPLACED BY * THEIR SYMBOL. PBPTR IS SET TO LAST WORD+1 OF PROGRAM. * #DCMP LDA LMSK IS PROGRAM COMPILED? X] F AND CFLAG X] SZA,RSS X] JMP DCMP4 NO CLF 0 YES X] XOR CFLAG SET MODE TO 'UNCOMPILED' X] STA CFLAG [X] STF 0 X] LDA PBPTR NULL CPA PBUFF PROGRAM? JMP DCMP3+2 YES LDA SPTR SPTR=0 TO FLAG STA FILTB ADDRESS JSB PRNST INITIALIZE DEF PRNS1 DECOMPILATION CLB,SEZ,RSS WAS FLAG BIT SET? JMP DCMP2 NO * * ** PROCESS NON-VARIABLE OPERAND ** * * ADA .-4 PROGRAM SSA,RSS INTEGER? JMP PRNS2 NO DCMP1 ISZ SPTR YES, MOVE TO LDB SPTR NEXT WORD CPB FILTB DONE? JMP DCMP3 YES CPB NSPTR NO, STATEMENT DONE? JMP PRNS1+1 YES LDA SPTR,I NO, REPLACE LDA 0,I ABSOLUTE ADDRESS STA SPTR,I WITH SEQUENCE JMP DCMP1 NUMBER * * ** PROCESS VARIABLE OPERAND ** * * DCMP2 ADA .-1 COMPUTE RRR 15 SYMBOL TABLE ADB SYMTB ADDRESS LDA SPTR,I EXTRACT AND OPMSK OPERATOR IOR 1,I REPLACE OPERATOR- STA SPTR,I OPERAND PAIR IN CODE LDB STYPE CPB DIMOP 'DIM' ? JMP DCMP6 YES CPB COMOP NO, 'COM'? RSS YES JMP PRNS2 NO DCMP6 LDB SPTR INB CPB FILTB DONE? JMP DCMP3 YES INB NO AND .+17B STRING ADA .-4 SIMPLE SSA,RSS VARIABLE? JMP PRNS2 YES ADA .+4 NO, STRING SZA,RSS VARIABLE? INA YES, SET TO SINGLE SUBSCRIPT MODE JMP CMP10-5  DCMP3 LDA SYMTB SET ACTIVE USER AREA POINTER STA PBPTR TO LAST WORD+1 OF PROGRAM CLA ZERO STA SYMTB POINTER DCMP4 STA DCLC1,I BLOCK CLOCK LDB PBUFF CPB SPROG COMMON ALLOCATED? JMP DCMP5 NO CPB PBPTR YES, NULL PROGRAM? JMP DCMP5 YES STB DEST NO LDA SPROG SET UP STB SPROG POINTERS LDB PBPTR FOR MOVE JSB MOVER REMOVE COMMON AREA LDB DEST RESET END-OF- STB PBPTR PROGRAM POINTER DCMP5 EQU * JSB ABCHK ABORT? LDA DCLC2,I NO--UNBLOCK STA DCLC1,I CLOCK JMP DCMPL,I SKP ** ** * X] * STILL HAVE TO CHANGE PRNST X] * X] *** PROCESS NEXT STATEMENT OF PROGRAM *** ** ** * * USED BY CMPLE AND DCMPL TO SCAN THROUGH THE PROGRAM. * A 'JSB PRNST' INITIALIZES THE SCAN: (P+1) IS A POINTER * TO THE CODE FOR HANDLING THE END-OF-STATEMENT CONDITION; * .LNUM HOLDS THE SEQUENCE NUMBER OF THE STATEMENT BEING * PROCESSED; SPTR POINTS TO THE WORD OF THE PROGRAM BEING * PROCESSED. PRNST HANDLES , , * STRING CONSTANTS, NULL OPERANDS, NUMERICAL CONSTANTS, AND * . OTHER CASES EXIT TO (P+2). PRNST IS * RE-ENTERED DIRECTLY, LEAVING THE INITIALIZED EXIT ADDRESSES * UNCHANGED THROUGHOUT PROCESSING OF THE PROGRAM. * #PNST LDA PRNST,I SET POINTER TO STA STEND END-OF-STATEMENT ISZ PRNST PROCESSING ROUTINE CCA SET VALTB TO INDICATE NO FILES [A] STA VALTB [A] CLA INITIALIZE STA COMSN COM FLAG LDB SPROG INITIAL PROGRAM POINTER PRNS1 STB SPTR SET PROGRAM POINTER TO STATEMENT LDA SPTR,I SAVE STATEMENT STA .LNUM SEQUENCE NUMBER ISZ SPTR COMPUTE ADB SPTR,I LENGTH STB NSPTR SAVE POINTER TO NEXT STATEMENT ISZ SPTR EXTRACT LDA SPTR,I STATEMENT AND OPMSK TYPE STA STYPE SAVE IT CPA COMOP 'COM' ? JMP *+3 YES STB COMSN NO--CLEAR COM FLAG. JMP PRNS4 LDB COMSN NON-COM SZB,RSS STATEMENT SEEN? JMP PRNS2+1 NO LDB SPTR YES, RESET ADB .-2 STATEMENT STB SPTR POINTER JSB DCMPL ERROR JSB RERRS+42,I 'COM' OUT OF ORDER PRNS4 CPA REMOP 'REM' ? JMP PRNS2+2 YES CPA DATOP NO, DATA? JMP PRNS2+2 YES CPA CHNOP NO, CHAIN? JMP PRNS2+2 YES CPA FILOP NO, ? RSS YES JMP PRNS2+1 NO LDB SPTR ADB .-2 2G ISZ VALTB SECOND STATEMENT? [X] JMP *+4 YES [X] STB VALTB NO, SAVE POINTER [X] LDB NSPTR SKIP OVER THE REST [X] JMP PRNS2+2 [X] STB SPTR TWO FILES SATEMENTS [X] JSB DCMPL DECOMPILE JSB RERRS+34,I EXTRA STATEMENT [X] * * ** PROCESS NEXT WORD OF STATEMENT ** * * PRNS2 ISZ SPTR MOVE TO LDB SPTR NEXT WORD CPB FILTB DECOMPILE FINISHED? JMP DCMP3 YES CPB NSPTR NO, STATEMENT FINISHED? JMP STEND,I YES LDA SPTR,I NO, ISOLATE AND OPMSK OPERATOR CPA B1000 " ? JMP PRNS3 YES XOR SPTR,I NO, GET OPERAND SZA,RSS NULL OPERAND? JMP PRNS2 YES RAL,CLE,ERA NO, PUT FLAG BIT IN (E) SZA,RSS GVNUMBER? JMP CMPL7 YES JMP PRNST,I NO PRNS3 XOR SPTR,I EXTRACT LENGTH ADA .+3 COMPUTE ARS POINTER ADA SPTR TO CLOSING STA SPTR QUOTE JMP PRNS2+1 1 ** ** *** 'COMPILE' A SYMBOL *** ** ** * * * ENTER WITH A SYMBOLIC NAME IN STMP1 AND SEARCH THE * SYMBOL TABLE FOR A MATCHING ENTRY. IF NO ENTRY IS * FOUND, APPEND A NEW TWO WORD ENTRY WITH THE SYMBOL * IN THE FIRST WORD AND 0 IN THE SECOND. THE SYMBOL IN * THE PROGRAM IS REPLACED WITH THE ORDINAL NUMBER OF * ITS SYMBOL TABLE ENTRY. EXIT WITH THE NEW PROGRAM * WORD IN (A), A POINTER TO THE SECOND WORD OF THE * TABLE ENTRY IN STMP2, AND THE STATEMENT TYPE IN (B). * #SSYM LDA .+4 INSURE SPACE JSB CUSP FOR NEW ENTRY LDA STMP1 RETRIEVE SYMBOL LDB SYMTB SYMT1 CPB PBPTR SYMBOL TABLE EXHAUSTED? JMP SYMT3 YES CPA 1,I NO, IS NEXT SYMBOL A MATCH? JMP SYMT5 YES ADB .+2 NO, MOVE JMP SYMT1 TO NEXT ENTRY * * ** HANDLE UNMATCHED ARRAY SYMBOL ** * * SYMT2 CPA STMP1 "DON'T KNOW" SYMBOL? RSS YES JMP SYMT3 NO, MAKE NORMAL TABLE ENTRY ISZ PBPTR ALLOCATE SPACE ISZ PBPTR FOR NEW ENTRY LDA STMP2 WAS A SINGLE OR DOUBLE INA,SZA SUBSCRIPTED ENTRY FOUND? JMP SYMT4 YES, INCLUDE POINTER IN ENTRY STA 1,I NO, SAVE SPACE FOR LATER ENTRY ADB .+2 WITH NUMBER OF DIMENSIONS * * ** CREATE A NEW TABLE ENTRY ** * * SYMT3 ISZ PBPTR ALLOCATE SPACE ISZ PBPTR FOR NEW ENTRY CLA INITIALIZE SYMT4 INB SECOND STA 1,I WORD ADB .-1 PUT SYMBOL LDA STMP1 IN FIRST STmB@ IN THE PROGRAM OR THE DEFAULT * DIMENSIONS, ARRAY SPACE IS ALLOCATED AT TWO WORDS PER * ARRAY ELEMENT CONTIGUOUS WITH THE DIMENSIONS, THE * ELEMENTS ARE INITIALIZED TO 'UNDEFINED,' AND A * POINTER TO THE FIRST ELEMENT IS PLACED IN THE SECOND * WORD OF THE SYMBOL TABLE ENTRY; FOR STRINGS FOLLOW THE * PATTERN FOR ARRAYS WITH ONE WORD HOLDING THE PHYSICAL * DIMENSION IN BITS 15-8 AND THE DYNAMIC DIMENSION IN * BITS 7-0 (DIMENSION HERE MEANS LENGTH AS NUMBER OF * CHARACTERS), STRING SPACE IS ALLOCATED ONE WORD PER * TWO CHARACTERS, AND THE DYNAMIC LENGTH IS INITIALIZED * TO ZERO. FOR "DON'T KNOW" ARRAY ENTRIES, THE SECOND * WORD OF THE SYMBOL TABLE ENTRY IS COPIED FROM THE * ASSOCIATED SINGLY OR DOUBLY SUBSCRIPTED ENTRY (OR * EXIT TO ERROR IF NONE EXISTS). * FOR VARIABLES WHICH HAVE BEEN DECLARED IN A , STORAGE IS ALLOCATED IN THE COMMON AREA * WHICH RESIDES AHEAD OF THE PROGRAM. FOR ARRAYS AND * STRINGS, THIS AREA IS LEFT UNDISTURBED IF THE DIMENSIONS * DECLARED IN THE MATCH THOSE FOUND IN * THE COMMON AREA, AND THE DYNAMIC DIMENSIONS ARE CONSISTENT * IF A VALUE TABLE ALREADY EXISTS, VARIABLES IN COMMON ARE * LEFT UNTOWHED, VALUES OF SIMPLE VARIABLES AND ARRAY * ELEMENTS ARE SET TO 'UNDEFINED' AND DYNAMIC ARRAY * DIMENSIONS ARE SET TO DECLARED DIMENSIONS; THE DYNAMIC * LENGTHS OF STRINGS ARE SET TO ZERO. EXIT TO XEC IF * PROCESSING IS SATISFACTORILY COMPLETED. * VALUE LDB FCORE INSURE CORRECT STB PBPTR SETTING FOR PBPTR VALU0 LDB PBUFF INITIALIZE STB COMPT COMMON POINTER LDB SYMTB SET (B) TO RSS SYMBOL TABLE VALU1 INB SYMBOL TABLE CPB FILTsB EXHAUSTED? JMP VAL99 YES LDA 1,I NO, LOAD SYMBOL INB POINT (B) TO VALUE TABLE POINTER SZA,RSS NULL SYMBOL? JMP VAL14 YES AND .+17B NO CPA .+17B FUNCTION? JMP VALU4 YES SZA,RSS NO, STRING VARIABLE? JMP VAL15 YES ADA .-4 NO, SSA ARRAY? JMP VALU5 YES * * ** INITIALIZE SIMPLE VARIABLE ** * * LDA VLFLG SIMPLE VARIABLE SZA,RSS STORAGE ALLOCATED? JMP VALU3 NO LDA 1,I YES CMA,INA VARIABLE ADA 1 IN SSA,RSS COMMON? JMP VALU1 YES LDA 1,I NO VALU2 STA VTMP1 SAVE POINTER TO VALUE CCA SET STA VTMP1,I VALUE TO JMP VALU1 UNDEFINED VALU3 LDA 1,I VARIABLE SSA IN COMMON? JMP VAL31 YES LDA .+2 NO--ALLOCATE JSB CUSP STORAGE STA PBPTR FOR VALUE ADA .-2 PUT VALUE POINTER STA 1,I INTO SYMBOL TABLE JMP VALU2 VAL31 LDA COMPT ALLOCATE STORAGE STA 1,I IN COMMON ADA .+2 UPDATE COMMON STA COMPT POINTER JMP VALU1 * * ** CHECK FUNCTION ** * * VALU4 LDA 1,I WAS FUNCTION SZA DEFINED? JMP VALU1 YES JSB DCMPL NO, DECOMPILE JSB RERRS+7,I UNDEFINED FUNCTION * * ** INITIALIZE ARRAY ** * * VALU5 CPA .-1 IS ARRAY TYPE "DON'T KNOW" ? JMP VAL13 YES STB VTMP1 NO, SAVE POINTER TO SYMBOL TABLE INA SAVE INFORMATION ON STA VTMP2 NUMBER OF DIMENSIONS LDA VLFLG STORAGE SZA ALLOCATED? JMP VAL12 YES LDA 1,I NO %" SSA IN COMMON? JMP VAL51 YES LDB VTMP1,I NO, LOAD POINTER TO DIMENSIONS LDA PBPTR SET POINTER TO STA VTMP3 DIMENSION ENTRY LDA .+4 ALLOCATE JSB CUSP SPACE STA PBPTR FOR ENTRY STA VTMP1,I SYMBOL TABLE POINTER TO ARRAY SZB,RSS DEFAULT DIMENSIONS? JMP VAL11 YES LDA 1,I NO, LOAD ROW DIMENSION ADB .+2 BUMP POINTER VALU6 ISZ VTMP2 TWO DIMENSIONAL? CLB,INB,RSS NO, SET COLUMN DIMENSION TO 1 LDB 1,I YES, LOAD COLUMN DIMENSION STA VTMP3,I PUT ISZ VTMP3 DECLARED DIMENSIONS STB VTMP3,I IN VALUE TABLE VALU7 ISZ VTMP3 PUT STA VTMP3,I DYNAMIC DIMENSIONS ISZ VTMP3 IN STB VTMP3,I VALUE TABLE MPY VTMP3,I COMPUTE NUMBER OF ARRAY ELEMENTS SZB,RSS TOO SSA LARGE? JMP VAL10 YES STA VTMP4 SAVE POSITIVE CMA,INA AND NEGATIVE STA VTMP2 COUNT LDB VTMP3 HAS INB ARRAY BEEN CPB PBPTR ALLOCATED? JMP VALU9 NO VALU8 CCA INITIALIZE STA 1,I ARRAY ELEMENT ADB .+2 TO 'UNDEFINED' ISZ VTMP2 DONE? JMP VALU8 NO LDB VTMP1 YES JMP VALU1 VALU9 ADA .2500 ARRAY SSA TOO LARGE? JMP VAL10 YES LDA VTMP4 NO ALS ALLOCATE JSB CUSP SPACE STA PBPTR FOR ARRAY JMP VALU8 VAL10 JSB DCMPL DECOMPILE JSB RERRS+8,I ARRAY TOO LARGE VAL11 LDA .+10 LOAD (A) WITH 10 LDB A.10 LOAD (B) WITH JMP VALU6 ADDRESS OF 10 VAL12 LDA 1,I IS ARRAY CMA,INA ADA 1 IN COMMON? SSA,RSS S JMP VALU1 YES LDA VTMP1,I NO--LOAD ADA .-4 STA VTMP3 DECLARED S LDA VTMP3,I ISZ VTMP3 DIMENSIONS LDB VTMP3,I JMP VALU7 VAL51 LDB VTMP1,I SET CMB,INB DIMENSION STB VTMP5 POINTER STB VTMP1,I POSITIVE LDA COMPT SET STA VTMP3 POINTER ADA .+4 IN SYMBOL STA VTMP1,I TABLE LDA 1,I PHYSICAL ROW DIMENSION CPA VTMP3,I SAME AS DECLARED DIMENSION? RSS YES JMP VAL52 NO ADB .+2 B=> SECOND DIMENSION LDA VTMP2 TWO CPA .-2 DIMENSIONAL? CLB,INB,RSS NO--SET COLUMN DIMENSION TO 1 LDB 1,I YES--LOAD COLUMN DIMENSION ISZ VTMP3 PHYSICAL COLUMN DIMENSION CPB VTMP3,I SAME AS DECLARED DIMENSION RSS YES JMP VAL52 NO LDA COMPT,I COMPUTE SIZE OF MPY VTMP3,I ARRAY AS DECLARED SZB,RSS TOO SSA LARGE? JMP VAL52 YES STA VTMP4 NO--SAVE SIZE ADA .2500 TOO SSA LARGE? JMP VAL52 YES ISZ VTMP3 NO LDA VTMP3,I COMPUTE SIZE ISZ VTMP3 AS SPECIFIED BY MPY VTMP3,I DYNAMIC DIMENSIONS SZB,RSS TOO SSA LARGE? JMP VAL52 YES CMA,INA,SZA,RSS JMP VAL52 CHEESE IT! DYNAMIC DIMENSION = 0 ADA VTMP4 DYNAMIC SIZE SSA > DECLARED SIZE JMP VAL52 YES LDA VTMP1,I = COMPT+4 ADA VTMP4 ADA VTMP4 UPDATE STA COMPT COMMON POINTER LDB VTMP1 RESTORE (B) JMP VALU1 VAL52 LDB VTMP5 => ROW DIMENSION LDA 1,I ADB .+2 => COLUMN DIMENSION ISZ VTMP2 TWO-DIMENSIONAL? CLB,INB,RSS NO--LOAD DEFAULT DIMENSION LDB 1,I PUT STA COMPT,I DECLARED ISZ COMPT DIMENSIONS IN STB COMPT,I COMMON AREA ISZ COMPT PUİT STA COMPT,I DYNAMIC ISZ COMPT DIMENSIONS IN STB COMPT,I COMMON AREA MPY COMPT,I COMPUTE NUMBER OF ARRAY ELEMENTS SZB,RSS TOO SSA LARGE? JMP VAL10 YES CMA,INA NO--SAVE COMPLEMENT STA VTMP2 OF NUMBER OF ELEMENTS CMA,INA ARRAY ADA .2500 TOO SSA LARGE? JMP VAL10 YES ISZ COMPT NO LDB COMPT INITIALIZE CCA ALL VAL53 STA 1,I ELEMENTS ADB .+2 TO ISZ VTMP2 UNDEFINED JMP VAL53 STB COMPT UPDATE COMMON POINTER LDB VTMP1 RESTORE (B) JMP VALU1 1 VAL13 LDA VLFLG STORAGE SZA ALLOCATED? JMP VALU1 YES LDA 1,I NO, GET LDA 0,I AND STORE STA 1,I POINTER TO JMP VALU1 VALUE TABLE VAL14 JSB DCMPL DECOMPILE JSB RERRS+9,I NUMBER OF DIMENSIONS NOT KNOWN * * ** INITIALIZE STRING VARIABLE ** * * VAL15 STB VTMP1 SAVE (B) LDA VLFLG STORAGE SZA ALLOCATED? JMP VAL17 YES LDA 1,I NO SSA IN COMMON? JMP VAL18 YES LDB VTMP1,I NO, SAVE LENGTH POINTER LDA PBPTR SET POINTER TO STA VTMP3 LENGTH ENTRY INA MORE CPA LWAUS USER SPACE? JSB RERRS+10,I NO STA PBPTR YES, SET POINTER TO STRING STA VTMP1,I INTO SYMBOL TABLE ENTRY SZB,RSS DEFAULT LENGTH? CLA,INA,RSS YES, SET (A) = 1 LDA 1,I NO, LOAD DECLARED LENGTH ALF,ALF STORE PHYSICAL LENGTH STA VTMP3,I ALONG WITH ZERO ALF,ALF LOGICAL LENGTH INA ALLOCATE ARS SPACE JSB CUSP FOR STA PBPTR o> STRING VAL16 LDB VTMP1 RESTORE JMP VALU1 (B) VAL17 LDA 1,I CMA,INA STRING ADA 1 IN SSA,RSS COMMON? JMP VALU1 YES CCB NO--RESET ADB VTMP1,I LDA 1,I LOGICAL LENGTH AND M256 STA 1,I TO ZERO JMP VAL16 6 VAL18 CMA,INA SET POINTER POSITIVE STA VTMP3 => DIMENSION INFORMATION LDA COMPT SET VALUE INA POINTER IN STA 1,I SYMBOL TABLE LDA COMPT,I EXTRACT PHYSICAL ALF,ALF LENGTH FROM AND B377 COMMON AREA CPA VTMP3,I SAME AS DECLARED LENGTH? RSS YES JMP VAL20 NO LDA COMPT,I LOGICAL AND B377 CMA,INA LENGTH <= ADA VTMP3,I SSA PHYSICAL LENGTH? JMP VAL20 NO LDA VTMP3,I LOAD PHYSICAL LENGTH JMP VAL19 yK VAL20 LDA VTMP3,I RESET PHYSICAL LENGTH TO ALF,ALF DECLARED LENGTH AND STA COMPT,I LOGICAL LENGTH TO ZERO ALF,ALF VAL19 INA UPDATE ARS INA COMMON ADA COMPT STA COMPT POINTER JMP VALU1 VAL99 CLA,INA SAY STORAGE HAS STA VLFLG BEEN ALLOCATED JMP XEC SKP Pl ** ** *** ALLOCATE COM STORAGE *** ** ** * * THE BEGINNING OF THE PROGRAM IS SCANNED FOR . THE * AMOUNT OF COM STORAGE NEEDED IS COMPUTED. A POINTER (SPROG) TO * THE START OF THE PROGRAM IS CREATED AND THE PROGRAM IS SHIFTED TO * HIGHER CORE TO ALLOW FOR THE COM STORAGE. * #ALCO CLB SAY NO COMMON STB DEST ALLOCATED YET. LDB PBUFF STB STPTR POINTER TO FIRST STATEMENT ALCO1 LDA STPTR,I SAVE STATEMENT STA .LNUM NUMBER ISZ STPTR ADB STPTR,I STB NSPTR POINTER TO NEXT STATEMENT $6 ISZ STPTR LDA STPTR,I EXTRACT AND OPMSK OPERATOR CPA COMOP COM STATEMENT? JMP ALCO2 YES ALCO6 LDA DEST GET TOTAL COMMON ALLOCATED SZA,RSS EXIT IF THERE WERE JMP ALCOM,I NO COM STATEMENTS ADA PBUFF PROGRAM BEGINNING MOVES BY STA SPROG AMOUNT OF COMMON ALLOCATED. CCB POINTER TO FIRST ADB PBPTR WORD TO BE MOVED LDA 1 POINTER TO ADA DEST FIRST DESTINATION STA DEST LOCATION INA RESET END OF STA PBPTR PROGRAM POINTER ALCO0 LDA 1,I MOVE A STA DEST,I WORD CPB PBUFF DONE? JMP ALCOM,I EXIT ADB .-1 NO--BUMP CCA ADA DEST POINTERS STA DEST JMP ALCO0 AND LOOP ALCO2 LDA STPTR,I EXTRACT AND .+17B OPERAND SZA STRING? JMP ALCO3 NO ISZ STPTR YES-- ISZ STPTR EXTRACT LDA STPTR,I LENGTH INA COMPUTE ARS STORAGE INA REQUIRED ISZ STPTR BUMP PAST RIGHT BRACKET JMP ALCO7+1 ALCO3 ADA .-4 SSA SIMPLE VARIABLE? JMP ALCO4 NO CLA,INA YES-- ALLOW TWO WORDS JMP ALCO7 ALCO4 ISZ STPTR MUST BE ARRAY ISZ STPTR LDB STPTR,I EXTRACT LENGTH ISZ STPTR LDA STPTR,I GET NEXT AND OPMSK OPERATOR CPA SCOMM SUBSCRIPT COMMA? JMP *+3 YES LDA 1 NO JMP ALCO5+1 LDA 1 COMPUTE ISZ STPTR ARRAY MPY STPTR,I SIZE SZB TOO BIG? JMP CUS1A,I YES ALCO5 ISZ STPTR BUMP PAST CLE,ELA SEZ,SSA,RSS TOO BIG? SLA,ERA NO JMP CUS1A,I YES ADA .+2 ALLOW 4 WORDS FOR DIMENSIONS ALCO7 ALS DOUBLE EVERYTHING ADA DEST UPDATE 4NLH STA DEST POINTER ADA .100 JSB CUSP CHECK FOR ENOUGH ROOM ISZ STPTR LDB STPTR R> CPB NSPTR END OF STATEMENT RSS YES JMP ALCO2 NO CPB PBPTR END OF PROGRAM? JMP ALCO6 YES JMP ALCO1 NO * CUS1A DEF CUSP1 ** ** *** ADVANCE SYNTAX BUFFER POINTER *** ** ** * * (A) AND (B) REMAIN AS UPON E^RY * #SBPU STA SBT0 SAVE (A) ISZ SBPTR ADVANCE POINTER LDA SBPTR BUFFER CPA SYNTQ OVERFLOW? JSB SERRS+31,I YES LDA SBT0 NO, RETRIEVE (A) JMP SBPUD,I ** ** *** DEMAND A LEFT PARENTHESIS *** ** ** * * * INSIST CHARACTER IN (A) BE '(' OR ''. RECORD IT * AS A '('. * #LPCK LDB .-2 '(' JSB SYMCK OR DEF LBRAC-1 '' ? JSB SERRS+22,I NO LDA LPOP YES, RECORD STA SBPTR,I A '(' JMP LPCK,I,6 AfN 8J 24280-80008 1534 S 0122 TSB/E SYSTEM              H0101  HED MAIN EXECUTION LOOP * * ************************* **** *** *** EXECUTE THE PROGRAM *** **** *** * ************************* * * * * THE CORE-RESIDENT FILE BUFFERS FOLLOW THE VALUE TABLE: ONE * 64-WORD BLOCK OF CORE IS ALLOCATED FOR EACH FILE REQUESTED * IN THE . FIVE STACKS EXIST DURING EXECUTION: * SINCE STACK POINTERS ARE ASSUMED TO REFERENCE THE TOPMOST * ENTRY IN THEIR STACK THEY ARE INITIALLY SET ONE ENTRY BELOW * THE PHYSICAL START OF THE STACK; THUS THE FIRST ENTRY ADVANCES * A STACK POINTER TO THE FIRST WORD OF ITS STACK SPACE. GOSUBS * QUEUE THEIR RETURN ADDRESSES IN THE RETURN STACK, WHICH HAS A * FIXED LENGTH OF NINE WORDS ALLOCATED IMMEDIATELY FOLLOWING * THE FILE BUFFERS. THE FOR-STACK (SIX-WORD ENTRIES) CONTAINS * ALL INFORMATION PERTAINING TO ACTIVE FOR-NEXT LOOPS; INITIALLY * EMPTY, ITS CORE SPACE IS ALLOCATED DYNAMICALLY AS NEEDED. THE * TEMPORARY STACK HOLDS INTERMEDIATE RESULTS DURING FORMULA * EVALUATION; IT IS INITIALIZED TO HOLD TEN TEMPORARIES AND * EXPANDS DYNAMICALLY AS NECESSARY. THE OPERAND AND OPERATOR * STACKS FOLLOW WITH THEIR ONE-WORD ENTRIES OCCUPYING ALTERNATE * LOCATIONS, EXPANDING INTO FREE USER SPACE ON A DEMAND BASIS. * THE TOP OF THE OPERATOR STACK, ALWAYS AT LEAST ONE WORD AHEAD * OF THE OPERAND STACK, IS PBPTR SO THAT ALL ACTIVE USER SPACE * IS KEPT WITHIN THE SWAP REGION. SINCE ALL STACKS EXCEPT THE * RETURN STACK EXPAND DYNAMICALLY, STATIC AND DYNAMIC NESTING * OF FORMULAS AND FOR-NEXT LOOPS IS FREELY PERMITTED UP TO * THE EXHAUSTION OF USER SPACE. * ** ** *** INITIALIZE EXECUTION *** ** ** * * PRINT THE PROGRAM NAME. INITIALIZE FILE STATUS INFORMATION * IN THE FILE TABLE AND NOTIFY USER OF ANY REQUESTED FILES * WHICH ARE READ-ONLY. ALLOCATE A 64 WORD BUFFER FOR EACH FILE. * ALLOCATE RUN-TIME STACKS, INITIALIZE POINTERS TO THE DATA BLOCK, * AND MOVE TO A FRESH TELETYPE LINE. * XEC CLA BLOCK STA DCLC1,I CLOCK JSB ABCK,I ANY ABORTS? LDA DCLC2,I NO--UNBLOCK STA DCLC1,I CLOCK LDA PBPTR SET POINTER TO LAST WORD +1 STA FCORE OF FIXED TABLES LDA LMSK SAVE THE CHAIN X] AND CHNFG FLAG X] STA TEMP2 X] SZA,RSS WAS THIS PROGRAM X] JMP XEC01 CHAINED TO? X] CLF 0 YES X] LDA CMSK CLEAR CHAIN FLAG X] AND CHNFG X] STA CHNFG [X] STF 0 X] JMP XEC0 * XEC01 LDA .+12B ECHO JSB OUTCR LINE FEED LDA LNAME STA LT1 ADA .+?NAME-?ID LDA 0,I AND INF SZA,RSS NAME? JMP XEC0 YES CLB NO STB LT2 OUTPUT LDA .-3 PROGRAM JSB OUTST NAME XEC0 CLA ZERO STA FCNTR FILE COUNTER STA RTNST AND MESSAGE FLAG STA ENOUF TURN OFF OVER/UNDERFLOW LDB FILTB LOAD ADDRESS OF FILE TABLE XEC2 CPB VALTB DONE? JMP XEC4 YES ISZ FCNTR NO, COUNT FILE LDA HFLAG IF HELLO PROGRAM [X] AND LMSK IS RUNNING [X] IOR TEMP2 OR PROGRAM WAS CHAINED TO SZA THEN DO NOT PRINT READ ONLY MESSAGE JMP XEC3 YES LDA 1,I READ SSA ONLY? JMP XEC5 YES XEC3 CCA NO ADB .+2 SET NULL STA 1,I RECORD ADDRESS ADB .+2 ALLOCATE LDA B200 128 WORD JSB CUSP BUFFER FOR STA PBPTR THE FILE STA 1,I SET IN * * ** EXECUTE STATEMENT ** * * * * SAVE SEQUENCE NUMBER FOR POSSIBLE USE BY ERROR ROUTINE. * ADVANCE PROGRAM COUNTER TO NEXT STATEMENT AND BRANCH TO * CODE FOR EXECUTION OF CURRENT STATEMENT. * XEC1 LDB PRGCT SAVE CURRENT LDA 1,I SEQUENCE STA .LNUM NUMBER LDA 1 CHECK (D) INA STATEMENT (D) LDA 0,I LENGTH (D) JSB STLCK (D) LDA 1 COMPUTE INA ADDRESS ADB 0,I OF NEXT STB PRGCT STATEMENT INA SET INTRA- STA TEMP1 STATEMENT POINTER LDA TEMP1,I COMPUTE AND OPMSK BRANCH ALF,ALF ADDRESS RAR FOR CURRENT ADA XECBR STATEMENT TYPE STA FILE# SET 'NO FILE' FLAG JMP 0,I BRANCH TO APPROPRIATE ROUTINE * * ** OUTPUT READ-ONLY WARNING ** * * XEC5 STB RTRNQ SAVE (B) LDB MLINK+1 ADB .+?ID-?LINK LDA 1,I % GET ID AND M2000 IS IT CPA A000 AN 'A'? JMP XEC7 YES ISZ RTNST NO, FIRST TIME THROUGH? JSB WERRS+8,I YES, EMIT MESSAGE CCA SET FLAG FOR STA RTNST MESSAGE SUPPRESSION LDA .+43B OUTPUT JSB OUTCR A '#' LDA FCNTR OUTPUT ADA .+60B OUTPUT DIGIT JSB OUTCR LDA .+40B OUTPUT JSB OUTCR BLANK XEC7 LDB RTRNQ RETRIEVE (B) JMP XEC3 HED STATEMENT EXECUTION PROCESSORS * *** ** ** EXECUTE ** *** ** * ELET CLA,INA ALLOW STRING CONSTANT STA EOL IN FORMULA JSB FORMX EVALUATE JMP XEC1 FORMULA * *** ** ** EXECUTE ** *** ** * * EIF1 ISZ TEMP1 EVALUATE JSB VLFIL FILE REQUEST ISZ FBASE TRANSFER ISZ TEMP1 EOF LABEL LDB TEMP1,I TO STB FBASE,I FILE TABLE JMP XEC1 EIF DLD TEMP1,I EOF CPB ENDOP SSA OPERATOR? CLA,INA,RSS NO JMP EIF1 YES STA EOL ALLOW STRING CONSTANT JSB FETCH EVALUATE DECISION FORMULA SZA,RSS RESULTANT 'TRUE' ? JMP XEC1 NO * * *** ** ** EXECUTE ** *** ** * EGOTO CLB,RSS SET FLAG TO 'GOTO' MODE * * *** ** ** EXECUTE ** *** ** * EGOSB CCB SET FLAG TO STB GTMP 'GOSUB' MODE LDB TEMP1 COMPUTE SIMPLE BRANCH INB 'ADDRESS' ADDRESS LDA TEMP1,I SIMPLE AND OPDMK BRANCH CPA INTFL STATEMENT? JMP EGOS1 YES JSB FETCH NO, COMPUTE JSB SBFIX BRANCH INDEX JMP XEC1 UN~SUITABLE RESULT ADB TEMP1 COMPUTE INB 'ADDRESS' LDA 1 ADDRESS CMA WITHIN ADA PRGCT STATEMENT SSA RANGE? JMP XEC1 NO EGOS1 LDB 1,I YES, LOAD BRANCH ADDRESS ISZ GTMP ? JMP XEC1+1 YES LDA PRGCT NO, STACK ISZ RTNST RETURN STA RTNST,I ADDRESS LDA RTNST NESTING ADA .-10 10 CPA RTRNQ DEEP? JSB RERRS+15,I YES JMP XEC1+1 NO * *** ** ** EXECUTE ** *** ** * EFOR0 CPB FORST TOP ENTRY? JMP EFOR5+1 YES STA EFN0 NO, SAVE (A) STB DEST SET DESTINATION ADDRESS LDB FORST COMPUTE MOVE ADB .+6 TERMINATION ADDRESS LDA DEST COMPUTE ADA .+6 SOURCE ADDRESS JSB MOVER DELETE FOR-TABLE ENTRY LDA EFN0 RETRIEVE (A) JMP EFOR5 EFOR LDA TEMP1,I EXTRACT AND B777 AND SAVE THE STA FVT FOR-VARIABLE ALS COMPUTE ADA SYMTB ADDRESS ADA .-1 OF ITS LDA 0,I VALUE LDB FORST LOAD POINTER TO FOR-STACK EFOR1 CPB FORQ AT BOTTOM OF FOR-STACK? JMP EFOR2 YES CPA 1,I NO, ENTRY FOR THIS FOR-VARIABLE? JMP EFOR0 YES ADB .-6 NO, CHECK JMP EFOR1 LOWER ENTRY EFOR2 LDB FORST MOVE TO SPACE ADB .+6 FOR ENTRY JSB SETPT RESET EXECUTION POINTERS EFOR5 STA FORST,I SAVE ADDRESS OF VALUE IN ENTRY JSB FORMX INITIALIZE FOR-VARIABLE LDA FORST SAVE POINTERS TO INA ENTRY FOR STA EFN0 LIMIT VALUE ADA .+2 AND STA EFN1 STEP SIZE ADA .+2 SAVE ADDRESS OF LDB PRGCT FOLLOWING STATEMENT STB 0,I IN ENTRY JSB FETCH COMPUTE AND SAVE DST EFN0,I LIMIT VALUE LDA TEMP1 IMPLICIT CPA PRGCT STEP SIZE? JMP EFOR6 YES JSB FETCH NO, COMPUTE STEP SIZE EFOR3 DST EFN1,I AND SAVE VALUE CLB SET SIGN FLAG SSA TO -1 FOR CCB NEGATIVE STEP SIZE, STB EFN2 0 FOR POSITIVE STEP SIZE ISZ PRGCT LOAD LDB PRGCT TYPE WORD OF EFOR4 INB STATEMENT FOLLOWING LDA 1,I THE STA EFN3 SAVE IT ADB .-1 COMPUTE POINTER ADB 1,I TO ITS SUCCESSOR AND OPMSK ? RSS YES JMP EFOR4 NO XOR EFN3 SAME CPA FVT FOR-VARIABLE? RSS YES JMP EFOR4 NO ADB .-1 SET PROGRAM COUNTER STB PRGCT PAST LDB FORST,I LOAD DLD 1,I INITIAL VALUE OF JMP ENEX3 FOR-VARIABLE EFOR6 LDA HALF LOAD LDB .+2 DEFAULT JMP EFOR3 OF 1.0 * *** ** ** EXECUTE ** *** ** * ENEXT LDA TEMP1,I EXTRACT AND B777 FOR-VARIABLE ALS COMPUTE ADA SYMTB ADDRESS ADA .-1 OF ITS LDA 0,I VALUE LDB FORST LOAD POINTER TO FOR-STACK ENEX1 CPB FORQ BOTTOM OF STACK? JMP XEC1 YES, IGNORE STATEMENT CPA 1,I NO, MATCHING ENTRY? JMP ENEX2 YES ADB .-6 NO,CHECK JMP ENEX1 LOWER ENTRY ENEX2 STA EFN1 SAVE FOR-VARIABLE VALUE ADDRESS CPB FORST TOP ENTRY OF FOR-STACK? JMP *+3 YES JSB SETPT NO, RESET LDB FORST EXECUTION POINTERS INB SAVE ADDRESS STB EFN0 OF LIMIT VALUE ADB .+2 LDA .-2 SET SIGN FLAG TO SAY STA EFN2 POSITIVE STEP SIZE DLD 1,I LOAD STEP SIZE SSA POSITIVE? ISZ EFN2 NO, RESET SIGN FLAG JSB .FAD ADD STEP SIZE DEF EFN1,I TO VALUE OF FOR-VARIABLE DST EFN1,I SAVE NEW VALUE ENEX3 JSB .FSB SUBTRACT DEF EFN0,I LIMIT VALUE ISZ EFN2 IF STEP SIZE POSITIVE, ELA INVERT SIGN OF RESULT SSA LIMIT VALUE EXCEEDED? JMP ENEX4 YES LDA FORST NO, LOAD ADDRESS ADA .+5 OF STATEMENT LDB 0,I FOLLOWING THE JMP XEC1+1 ENEX4 LDB FORST REMOVE ADB .-6 ENTRY FROM JSB SETPT FOR-STACK JMP XEC1 SKIP PAST * *** ** ** EXECUTE ** *** ** * ERTRN LDA RTNST RETURN STACK CPA RTRNQ EMPTY? JSB RERRS+16,I YES LDB 0,I NO, POP ADA .-1 RETURN ADDRESS STA RTNST FROM STACK JMP XEC1+1 * *** ** ** EXECUTE ** *** ** * EINPT CLA TURN OFF STA MCNT MATRIX INPUT COUNTER EINP1 STA INITF SAVE ADDRESS FLAG CLA REQUEST STA SYNTQ FIRST JSB INCAL INPUT RECORD EINP2 ISZ IFCNT COUNT INPUT QUANTITY CCA MATRIX CPA INITF INPUT? JMP EINP3 YES JSB FORMX NO, EVALUATE NEXT ADDRESS LDB OPDST,I IS IT A SSB STRING VARIABLE? JMP EIN13 YES LDA OPDST NO, , ADA .-2 UNSTACK STA OPDST ADDRESS STB SBPTR SAVE DESTINATION ADDRESS EINP3 CLA SET SIGN STA SIGN TO POSITIVE STA INTMP FLnAG REQUEST FOR NUMBER JMP EINP4 STB SIGN RESET SIGN TO POSITIVE JSB INCAL ISZ IFCNT FETCH EINP4 JSB GETCR FIRST JMP *-3 CHARACTER CCB TURN OFF STB SERR OVER/UNDERFLOW FLAG CPA .+45 '-' ? JMP EIN11 YES CLB,INB NO CPA .+43 '+' ? JMP EIN11 YES EINP5 JSB NUMCK NO, NUMBER? JMP EINP7 NO JMP EINP8 BAD EXPONENT EINP6 LDB .+40B TURN ON STB BLANK BLANK SUPPRESSION ISZ MCNT MATRIX COMPLETED? RSS NO JMP MIOEN,I YES EINP0 LDB TEMP1 CPB PRGCT SATISFIED? JMP EIN12 YES ISZ SERR DID OVER/UNDERFLOW OCCUR? JMP EINP9 YES CPA .+15B NO, END OF INPUT RECORD? JMP EINP2-1 YES CPA .+54B NO, COMMA NEXT? JMP EIN10 YES EINP9 JSB WERRS,I NO LDB IFCNT OUTPUT NEXT INB ITEM JSB OUTIN NUMBER LDA .+15B OUTPUTU) JSB OUTCR CARRIAGE RETURN JMP EINP2-1 EIN10 JSB GETCR END OF INPUT RECORD? JMP EINP9 YES JSB BCKSP NO JMP EINP2 2 EINP7 CPA .+42B " ? JMP EINP8 YES CPB SIGN NO, SIGN FOUND? JMP EINP4 NO, IGNORE CHARACTER EINP8 JSB WERRS,I YES LDB IFCNT OUTPUT JSB OUTIN ITEM NUMBER LDA .+15B OUTPUT JSB OUTCR CARRIAGE RETURN CLB NUMBER CPB INTMP REQUESTED? JMP EINP4-3 YES JMP EIN14 NO EIN11 STB SIGN SAVE SIGN JSB GETCR JMP EINP8 OUT-OF-DATA ERROR JMP EINP5 EIN12 CPA .+15B END OF RECORD? CLA,RSS YES JSB WERRS+7,I NO STA CHRCT ZERO CHARACTER COUNT LDA .+12B OUTPUT A JSB OUTCR LINE FEED JMP XEC1 EIN13 CMB EXTRACT xLDA 1,I PHYSICAL ALF,ALF LENGTH OF AND B377 DESTINATION STRING CMA SET IT AS END ADA TMPST,I OF UNSPECIFIED STA TPRME DESTINATION STRING CCA PREPARE JSB PSTR DESTINATION STRING LDB TNULL SAVE LENGTH STB INTMP ALLOWANCE JMP *+3 EIN14 JSB INCAL ISZ IFCNT FETCH JSB GETCR FIRST JMP *-3 CHARACTER CCB TURN OFF STB SERR OVER/UNDERFLOW FLAG CPA .+42B " ? RSS YES JSB BCKSP NO, STRING BEGINS HERE CLB TURN OFF STB BLANK BLANK SUPPRESSION LDA FINCA POINT TO INPUT BUFFER JSB TRSTR TRANSFER STRING CLB ALL REQUESTED CPB TNULL CHARACTERS TRANSFERRED? JMP EIN21 YES CPB PS1 NO, TRANSFER LENGTH SPECIFIED? JMP EIN20 NO STA INTMP YES, SAVE (A) CCA FINISH STA TPRME ADA TNULL TRANSFER STA TNULL LDA FSCHA WITH BLANKS JSB TRSTR LDA INTMP RESTORE (A) EIN18 CPA .+15B TRANSFER ENDED BY END-OF-INPUT? JMP EINP6 YES EIN19 JSB GETCR NO, WAS A " NOP EXIT WITH JMP EINP6 NEXT CHARACTER EIN20 LDB TEMP6,I SET LOGICAL ADB TNULL TO ACTUAL STB TEMP6,I STRING LENGTH JMP EIN18 EIN21 CPB PS1 LENGTH OF TRANSFER SPECIFIED? JMP EIN15 NO EIN16 JSB GETCR YES JMP EINP6 IMPLIED CLOSING QUOTE CPA .+42B " ? JMP EIN19 YES JMP EIN16 NO, LOOK FOR " OR END-OF-INPUT EIN15 JSB GETCR END-OF-INPUT NEXT? JMP EINP6 YES CPA .+42B NO, CLOSING " ? JMP EIN19 YES LDA INTMP NO, DESTINATION STRING EXCEEDED STA TNULL RESTORE LDA SBPTR DESTINATION STRING ) STA TEMP5 PARAMETERS LDA .+40B STA BLANK RESET DEBLANKING JMP EINP8 * *** ** ** EXECUTE ** *** ** * EREAD JSB VLFIL LOOK FOR FILE REQUEST JMP EREA1 FILE REQUEST FOUND JSB FORMX EVALUATE DESTINATION ADDRESS LDA OPDST,I STRING SSA VARIABLE? JMP EREA2 YES STA SBPTR NO, SAVE AND LDA OPDST UNSTACK ADA .-2 DESTINATION STA OPDST ADDRESS CLB,INB FETCH JSB FDATA NUMBER DST SBPTR,I STORE NUMBER EREA1 LDA TEMP1 END OF CPA PRGCT STATEMENT? JMP XEC1 YES JMP EREAD+2 NO EREA2 LDB .+2 PREPARE JSB FDATA SOURCE STRING CCA PREPARE JSB PSTR DESTINATION STRING LDA FSCHA JSB TRSTR TRANSFER STRING JMP EREA1 * *** ** ** EXECUTE ** *** ** * EPRIN JSB VLFIL VALIDATE FILE REQUEST JMP EPR13 JMP EPRI2+1 NO FILE REQUEST FOUND EPRI1 LDA FILE# FILE SSA,RSS MODE? JMP EPRI2 YES CLA NO, EXECUTE COMMA CPA EOL UNLESS PRECEDED BY JSB EDELM A 'TAB' (EOL = 1) EPRI2 CCA,RSS TURN OFF 'END-OF-LINE' FLAG CLA TURN ON STA EOL 'END-OF-LINE' FLAG EPRI3 LDA TEMP1,I EXTRACT AND OPDMK NEXT OPERAND SZA NULL? JMP EPRI5 NO, BEGINS FORMULA ISZ TEMP1 YES EPRI4 LDB TEMP1 STATEMENT CPB PRGCT FINISHED? JMP EPR12 YES LDA TEMP1,I NO, EXTRACT AND OPMSK NEXT OPERATOR CPA B2000 COMMA? JMP EPRI1 YES CPA B3000 NO, SEMICOLON? JMP EPRI2 YES CPA B1000 NO, " ? JMP EPRI8 YEۙS CPA ENDOP NO, 'END' ? JMP EPR11 YES SZA,RSS NO, NULL? JMP EPRI3 YES CCA NO, MUST BE FORMULA ADA TEMP1 RESET TO PRIOR STA TEMP1 NULL OPERAND EPRI5 CCA TURN OFF STA EOL 'TAB' FLAG JSB FORMX EVALUATE FORMULA LDB OPDST,I IS IT A A SSB STRING VARIABLE? JMP EPRI8+1 YES JSB OPCHK NO, UNSTACK VALUE ADDRESS LDA FILE# TO BE WRITTEN SSA,RSS ON A FILE? JMP EPRI7 YES ISZ EOL NO, A 'TAB' ? JMP EPRI4 YES (EOL = 1 NOW) DLD 1,I NO, OUTPUT JSB ENOUT A NUMBER JMP EPRI4 77 EPRI7 STB SBPTR SAVE VALUE ADDRESS LDB .-2 WRITE NUMBER JSB FILST ON FILE JMP EPRI4 EPRI8 JSB STSTR STACK STRING CONSTANT LDA .-2 PREPARE JSB PSTR PRINT STA TEMP4 STRING STB TPRME LDB .-3 PRESET TO WRITE ON FILE LDA FILE# TO BE WRITTEN SSA,RSS ON A FILE? JMP EPRI7+2 YES CLA NO, TURN ON STA EOL 'END-OF-LINE' FLAG LDA TNULL ENOUGH CMA,INA SPACE ADA CHRCT ON ADA M74 CURRENT SSA,RSS LINE? JSB OUTLN NO JMP EPR10 YES EPRI9 JSB FSCH FETCH LDA .+40B CHARACTER CPA .+16B PSUEDO LINE FEED? LDA .+12B YES CPA .+17B PSUEDO CARRIAGE RETURN? RSS YES JMP EPR10-1 NO LDA .+15B OUTPUT JSB OUTCR CARRIAGE RETURN LDA B377 AND RUBOUT JSB OUTCR OUTPUT CHARACTER EPR10 ISZ TNULL MORE STRING? JMP EPRI9 YES JMP EPRI4 NO EPR11 STA EORFL FILE JSB GTTYP CPA .+3 FULL? JMP EPRI4-1 YES CCB NO, WRITE JMP EPRI7+jHFB2 END-OF-FILE EPR12 ISZ EOL 'END-OF-LINE' FLAG SET? JSB OUTLN YES JMP XEC1 NO EPR13 ADB .-5 LDA 1,I SET IOR BIT14 DIRTY STA 1,I BIT. LDB TEMP1 NULL CPB PRGCT PRINT? JMP XEC1 YES JMP EPRI2 NO {H 9J 24280-80009 1534 S 0122 TSB/E SYSTEM              H0101 *** ** ** COMPLETE EXECUTION ** *** ** * EXIT EQU * CLF 0 LDB MAIN INHIBIT ADB .+?TSTA LDA 1,I ABORTS IOR UNABT STA 1,I I STF 0 LDA FCNTR SET COUNTER TO CMA 1'S COMPLEMENT OF STA FCNTR NUMBER OF FILES LDA FCORE LOAD FIRST BUFFER ADDRESS LDB FILTB LOAD POINTER TO ADB .+2 FIRST DISC ADDRESS EXIT0 ISZ FCNTR MORE FILES? JMP EXIT2 YES EXIT3 CLB NO, OUTPUT STB LT2 STB DCLC1,I JSB ABCK,I ANY ABORTS? LDA DCLC2,I I STA DCLC1,I LDA EXIT1 STA LT1 COMPLETION LDA HFLAG CHECK E HELLO FLAG X] AND LMSK X] CLB SZA MESSAGE UNLESS CCA,RSS LDA .-4 JSB OUTST $HELLO PROGRAM LDB MAIN REMOVE 'USER ADB .+?TSTA IS RUNNING' LDA B,I AND 'X-OFF' AND RNNBT BITS FROM HIS AND XONBT I/O STATUS STA B,I JMP SCHEN,I EXIT1 DEF * OCT 64121 ASC 2,DONE OCT 6412 EXIT2 STB FBASE WRITE STA RQ3 OUT JSB WRBUF RECORD LDA RQ3 MOVE ADA B200 POINTERS X] LDB FBASE FOR NEXT ADB .+7 FILE JMP EXIT0 * *** ** ** EXECUTE ** *** ** * ERSTR LDA TEMP1,I LOAD FLAG WORD ISZ TEMP1 ADVANCE STATEMENT POINTER LDB SPROG SET (B) TO START OF PROGRAM SSA 'LABELLED RESTORE' LDB TEMP1,I YES, RESET (B) TO STATEMENT JSB SETDP SET DATA POINTERS JMP XEC1 * ** ** *** EXECUTE *** ** ** *  ECHAN JSB SCHLB,I CALL SYSTEM TO EXECUTE DISC ROUTINE DEF CHLIB JSB RERRS+38,I JSB RERRS+39,I JSB RERRS+40,I JSB RERRS+41,I SKP * * * *** EXECUTION BRANCH TABLE *** * XECTB DEF XEC1 COMM DEF ELET LET DEF XEC1 DIM DEF XEC1 DEF DEF XEC1 REM DEF EGOTO GOTO DEF EIF IF DEF EFOR FOR DEF ENEXT NEXT DEF EGOSB GOSUB DEF ERTRN RETURN DEF EXIT END DEF EXIT STOP DEF XEC1 DATA DEF EINPT INPUT DEF EREAD READ DEF EPRIN PRINT DEF ERSTR RESTORE DEF EMAT MAT DEF XEC1 FILES DEF ECHAN CHAIN DEF ELET 'IMPLIED' LET HED UTILITY ROUTINES ** ** *** SET POINTERS TO DATA STATEMENT *** ** ** * * STARTING WITH THE STATEMENT REFERENCED BY (B) UPON * ENTRY, FIND THE NEXT AND SET THE DATA * BLOCK POINTERS APPROPRIATELY. IF NO * IS FOUND, SET THE POINTERS TO THE 'OUT OF DATA' * CONFIGURATION AND EXIT WITH (A) = -1. * #STDP CPB SYMTB PROGRAM EXHAUSTED? JMP SETD2 YES, SET 'OUT OF DATA' CONDITION ADB .+2 NO, LDA 1,I STATEMENT ADB .-1 OF AND OPMSK TYPE CPA DATOP 'DATA'? JMP SETD1 YES ADB 1,I NO, COMPUTE ADB .-1 ADDRESS OF JMP #STDP NEXT STATEMENT SETD1 LDA 1,I LOAD STATEMENT LENGTH INB SET CMA,INA DATA INA,RSS COUNTER SETD2 CCA TO STA DCCNT 1-STATEMENT LENGTH STB NXTDT SET POINTER ONE WORD JMP SETDP,I ABOVE FIRST DATA CONSTANT ** ** *** VALIDATE A FILE REQUEST *** ** ** * * EXIT TO (P+2) IF (TEMP1)+1 DOES NOT BEGIN A FILE REFERENCE; * ELSE EVALUATE THE FILE REFERENCE AND VERIFY ITS CORRESPONDENCE * WITH A REQUESTED FILE. IF A RECORD REFERENCE IS ALSO PRESENT, * EVALUATE IT AND CALL FOR ITS SWAPPING INTO THE CORE BUFFER. * #VLFI LDB TEMP1 IS INB BE CPB PRGCT NEXT JMP VLFI0 LDA 1,I OPERATOR AND OPMSK CPA B4000 A '#' ? JMP VLFI1 YES VLFI0 ISZ VLFIL NO, EXIT JMP VLFIL,I TO (P+2) VLFI1 CCB SET LDA TEMP1,I VL0 = 0 AND OPMSK FOR CPA PRTOP 'PRINT', CLB ELSE STB VL0 VL0 = -1 ISZ TEMP1 EVALUATE JSB FETCH FILE REFERENCE JSB SBFIX 15-BIT INTEGER? JSB RERRS+35,I NO STB FILE# YES, SAVE IT LDA TEMP1,I NEXT AND OPMSK OPERATOR LDB TEMP1 IS THIS (D) CPB PRGCT END OF STATEMENT? (D) CLA YES (D) CPA B2000 A COMMA? JMP VLFI3 YES CCB NO, USE NULL RECORD VLFI2 STB RCRD# SSB NULL RECORD? LDB .-2 YES, DO NOT ADJUST FILE POINTER LDA FILE# ISZ VL0 WRITE REQUEST? CMA YES JSB RQSTR VALIDATE FILE/RECORD REQUEST JMP VLFIL,I VLFI3 JSB FETCH EVALUATE RECORD REFERENCE JSB SBFIX 15-BIT INTEGER? LDB B1000 NO, LOAD IMPOSSIBLE RECORD JMP VLFI2 YES ** ** *** FETCH DATA ITEM *** ** ** * * UPON ENTRY (B) = 1 IF A NUMBER IS REQUESTED OR (B) = 2 IF A * STRING IS REQUESTED. FDATA FILLS THE REQUEST FROM A FILE IF * ONE IS REFERENCED BY THE CALLER, ELSE FROM THE DATA BLOCK. * TYPE MATCH IS CHECKED. NUMBERS RETURN IN (A) AND (B); STRINGS * ARE PREPARED AS SOURCE STRINGS. FDATA MOVES TO NEW FILE * RECORDS OR S AS NECESSARY. * #FDAT LDA FILE# READ FROM SSA,RSS FILE? JMP FDAT3 YES ISZ DCCNT NO, DATA IN CURRENT STATEMENT? JMP FDAT1 YES STB TEMP5 NO, SAVE (B) LDB NXTDT MOVE TO NEXT JSB SETDP LDB TEMP5 RETRIEVE (B) ISZ DCCNT DATA FOUND? RSS YES JSB RERRS+21,I NO, OUT OF DATA FDAT1 ISZ DCCNT INCREMENT COUNTER LDA NXTDT,I CORRECT ISZ NXTDT RBR TYPE OF XOR 1 SSA DATA? JSB RERRS+22,I NO SSB,RSS YES, STRING? JMP FDAT2 YES DLD NXTDT,I NO, LOAD NUMBER ISZ NXTDT UPDATE ISZ NXTDT POINTER ISZ DCCNT JMP FDATA,I FDAT2 LDA NXTDT,I LOAD STRING LENGTH ISZ NXTDT SET LDB NXTDT START-OF-STRING BLS CHARACTER STB TEMP4 ADDRESS AND B377 SET CMA TRANSFER STRING STA TPRME LENGTH CMA,INA UPDATE ARS LDB 0 ADA NXTDT DATA STA NXTDT ADB DCCNT STB DCCNT POINTERS JMP FDATA,I FDAT3 STB TEMP5 SAVE DATA REQUEST TYPE LDB RCRD# GET TYPE STB EORFL OF NEXT ITEM JSB GTTYP IN FILE CPA TEMP5 MATCHING TYPES? JMP FDAT5 YES CPA .+4 NO, END-OF-RECORD? JMP FDAT4 YES CPA .+3 NO, END-OF-FILE? RSS YES JSB RERRS+22,I NO, TYPE MISMATCH FDAT4 ISZ FBASE LOADA LDB FBASE,I EOF/EOR ADDRESS SZB,RSS NULL? JSB RERRS+37,I YES, UNPROTECTED EOF/EOR STB PRGCT NO LDB FORST CLEAN UP JSB SETPT EXECUTION STACKS JMP XEC1A,I FDAT5 LDB FBASE,I LOAD DATA ADDRESS SLA,RSS STRING? JMP FDAT6 YES DLD 1,I NO, LOADR NUMBER ISZ FBASE,I ADJUST RECORD POINTER ISZ FBASE,I PAST DATA JMP FDATA,I Iz FDAT6 LDA 1,I LOAD STRING HEADER INB SET BLS SOURCE STB TEMP4 ADDRESS BRS AND B377 SET CMA TRANSFER STA TPRME LENGTH CMA,INA ADJUST ARS RECORD POINTER ADB 0 PAST STB FBASE,I STRING JMP FDATA,I SKP ** ** *** REQUEST AN INPUT RECORD *** ** ** * * * SERVICES REQUESTS FOR TELETYPE INPUT. IF (A) = 0 EMIT A '?' * AND 'X-ON' ELSE EMIT A LINE FEED, TWO '?', AND AN 'X-ON'. * #INCL SZA INITIAL REQUEST? JMP INCL2 NO LDA CHRCT YES ADA M72 LINE SSA FULL? JMP INCL1 NO LDA .+15B YES, OUTPUT JSB OUTCR CARRIAGE RETURN LDA .+12B AND JSB OUTCR LINE FEED INCL1 LDA B77 OUTPUT JSB OUTCR '?' LDA .+21B OUTPUT JSB OUTCR AN X-ON CLA RESET STA CHRCT OUTPUT CHARACTER COUNTER STA IFCNT AND INPUT ITEM COUNTER JSB SCHIN,I REQUEST INPUT RECORD X] CCA SET LOCA X] ADA LBUFA,I BUFFAR X] STA BADDR POINTER X] JSB GETCR FIRST JMP INCL2 CHARACTER A CPA .+3 'CONTROL C' ? JMP EXITA,I YES, TERMINATE EXECUTION JSB BCKSP NO, RETURN JMP INCAL,I TO CALLER INCL2 LDA .+12B OUTPUT A JSB OUTCR LINE FEED LDA B77 AND JSB OUTCR A '?' JMP INCL1 ** ** *** SET EXECUTION POINTERS *** ** ** * * SETS POINTERS TO THOSE STACKS WHOSE LOCATION MAY CHANGE * DURING EXECUTION, USUALLY DUE TO INITIATION OR COMPLETION * OF FOR-LOOPS. * #STPT STB FORST SET TOP OF FOR-STACK ADB .+4 SET POINTER TO TOP STB TMPST OF TEMPORARY STACK ADB .+20 SET POINTER TO TOP STB OPDST OF OPERAND STACK ADB .+3 SET POINTER TO BOTTOM STB OPTRQ OF OPERATOR STACK CMB OUT ADB LWAUS OF SSB STORAGE? JSB RERRS+10,I YES LDB OPTRQ NO, SET POINTER TO TOP STB PBPTR OF OPERATOR STACK JMP SETPT,I HED FORMULA EVALUATION ROUTINES ** ** *** EVALUATE A FORMULA *** ** ** * * ENTER WITH TEMP1 POINTING TO THE FIRST OPERAND OF THE * FORMULA. OPERATORS AND THE ADDRESSES OF OPERANDS ARE * STACKED SEPARATELY. OPERAND ADDRESSES ARE STACKED AS * SOON AS THE OPERAND IS SCANNED. AN OPERATOR IS NOT * STACKED WHILE THE OPERATOR ON TOP OF THE STACK HAS EQUAL * OR HIGHER PRECEDENCE, INSTEAD THE LATTER IS UNSTACKED * AND EXECUTED; THUS AN OPERATOR FORCES EXECUTION OF THOSE * PREVIOUSLY STACKED, DOWN TO THE LATEST ONE STACKED WHICH * HAS A LOWER PRECEDENCE. THE OPERATOR STACK IS INITIALIZED * WITH AN END-OF-FORMULA (LOWEST PRECEDENCE) OPERATOR. THE * ACTION OF OPERATORS IS IN GENERAL TO COMBINE THE TOP TWO * OPERANDS STACKED . THE ADDRESS OF THE PARTIAL RESULT THUS * OBTAINED REPLACES THE ADDRESSES OF ITS CONSTITUENT OPERANDS * ON THE STACK (VALUES OF PARTIAL RESULTS ARE KEPT ON THE * TEMPORARY STACK). UPON EXIT TEMP1 POINTS TO THE FIRST PROGRAM * WORD WHOSE OPERATOR DOES NOT MANIPULATE THE STACK (THIS * MAY BE AN END-OF-FORMULA, 'THEN', 'OF', ETC.). * #FORM JSB PSHST STACK CLB BEGINNING-OF-FORMULA STB PBPTR,I OPERATOR * * ** PROCESS NEXT OPERAND ** * * FORM1 LDA TEMP1,I EXTRACT ISZ TEMP1 NEXT AND OPDMK OPERAND SZA,RSS NULL OPERAND? JMP FORM2 YES ISZ OPDST NO, BUMP POINTER ISZ OPDST TO OPERAND STACK SSA VARIABLE OPERAND? JMP FORM6 NO * * ** STACK NON-FUNCTION VARIABLE OPERAND ADDRESS ** * * * * THE ADDRESSES STACKED ARE AS FOLLOWS: FOR SIMPLE VARIABLES, * A POINTER TO THE VALUE; FOR ARRAYS, THE BASE ADDRESS; FOR * STRING VARIABLES, THE NEGATION OF THE BASE ADDRESS. * ADA .-1 COMPUTE ALS POINTERS ADA SYMTB TO SYMBOL LDB 0 TABLE INB ENTRY LDA 0,I PROGRAMMER- AND .+17B DEFINED CPA .+17B FUNCTION? JMP FORM8 YES LDB 1,I NO, LOAD VALUE POINTER SZA STRING VARIABLE? JMP FORM2-1 NO LDA TEMP1 YES, END CPA PRGCT OF FORMULA? JMP FORM0 YES LDA TEMP1,I NO, AND OPMSK FOLLOWED BY CPA LBOP SUBSCRIPT? JMP FORM2-2 YES FORM0 STB TEMP4 NO JSB RSCHK CREATE TEMPORARY CLA RECORD CCB DST TMPST,I (0,-1) LDB TEMP4 RETRIEVE AND CMB,INB NEGATE STRING ADDRESS STB OPDST,I STACK ADDRESS * * ** PROCESS NEXT OPERATOR ** * * FORM2 LDA TEMP1 FORMULA CPA PRGCT EXHAUSTED? JMP FORM3 YES LDA TEMP1,I NO, AND OPMSK EXTRACT ALF,ALF NEXT LDB 0 OPERATOR CPA .+2 STRING CONSTANT? JMP FOR13 YES ADA .-20B NO, NON-FORMULA SSA OPERATOR? CLB YES ADA D66 NO, NON-FORMULA SSA,RSS OPERATOR? FORM3 CLB YES CLA NO SZB,RSS END-OF-FORMULA? JMP *+4 YES ADB FOPBS NO, LOAD OPERATOR LDA 1,I INFORMATION WORD AND B377 SAVE STA TEMP2 PRIORITY XOR 1,I SAVE ARS INTERNAL STA TEMP3 NAME * * ** STACK PRESENT OR EXECUTE PREVIOUS OPERATOR ** * * FORM4 LDA PBPTR,I DOES OPERATOR AND B377 ON TOP CMA OF STACK ADA TEMP2 HAVE HIGHER SSA PRIORITY? JMP FORM5 YES LDA TEMP2 NO CPA .+13B CORRECT CLA,INA STACK PRIORITY IOR TEMP3 ADD NAME JSB PSHST STACK STA PBPTR,I OPERATOR JMP FORM1 FORM5 LDA PBPTR,I POP LDB .-2 OPERATOR ADB PBPTR FROM TOP STB PBPTR OF STACK ALF,ALF BRANCH AND B377 TO ADA ARBAS APPROPRIATE JMP 0,I ROUTINE * * ** STACK CONSTANT OR PARAMETER ADDRESS ** * * * * FOR NUMERICAL CONSTANTS STACK A POINTER TO THE VALUE * EMBEDDED IN THE PROGRAM, FOR PARAMETERS STACK THE * PARAMETER ADDRESS. * FORM6 ELA,CLE,ERA ERASE FLAG BIT SZA CONSTANT? JMP FORM7 NO LDB TEMP1 YES, ISZ TEMP1 STACK ISZ TEMP1 ADDRESS JMP FORM2-1 FORM7 STA TEMP2 PRE- AND .+17B DEFINED CPA .+17B FUNCTION? JMP *+3 YES LDB OPTRQ,I NO, STACK JMP FORM2-1 PARAMETER ADDRESS * * FOR FUNCTIONS RECURSION ON FORMX EVALUATES THE PARAMETER * AND, FOR PROGRAMMER DEFINED FUNCTIONS, THE VALUE. * FUNCTION VALUES ARE LEFT ON THE TEMPORARY STACK AND A * POINTER THERETO IS PLACED ON THE OPERAND STACK. * 'LEN' IS HANDLED IN A SPECIAL WAYd. * * * ** EVALUATE PRE-DEFINED FUNCTION ** * * XOR TEMP2 IDENTIFY ALF,ALF ALF FUNCTION CPA .+15B 'LEN' ? JMP FOR12 YES ADA PDFBS NO, STACK JSB PSHST JUMP TO STA PBPTR,I ENTRY POINT LDA FORMX SAVE FORMX STA OPDST,I RETURN ADDRESS JSB FORMX EVALUATE ARGUMENT JSB STTOP BRANCH TO JMP PBPTR,I SUBROUTINE SKP * * ** EVALUATE PROGRAMMER-DEFINED FUNCTION ** * * FORM8 LDA 1,I LOAD ADDRESS OF FORMULA JSB PSHST SAVE VALUE OF LDB TMPST CURRENT POINTER TO STB PBPTR,I TEMPORARY STACK JSB PSHST SAVE ADDRESS OF STA PBPTR,I DEFINING FORMULA LDA FORMX SAVE FORMX STA OPDST,I RETURN ADDRESS JSB FORMX EVALUATE ARGUMENT LDA OPDST,I SWAP LDB OPTRQ,I OLD AND NEW STB OPDST,I ARGUMENT STA OPTRQ,I ADDRESSES CPA TMPST PROTECT PARAMETER JSB RSCHK ON TEMPORARY STACK LDA TEMP1 SWAP ADDRESSES LDB PBPTR,I OF CURRENT STB TEMP1 AND FUNCTION STA PBPTR,I FORMULAS JSB FORMX EVALUATE FUNCTION LDB OPDST,I POP LDA .-2 OPERAND ADA OPDST STACK, STA OPDST SAVING LDA OPDST,I RESULT ADDRESS STA OPTRQ,I AND ADDRESS OF STB OPDST,I OLD PARAMETER LDA PBPTR,I RESTORE STA TEMP1 FORMULA POINTER LDA PBPTR POP ADA .-2 OPERATOR STA PBPTR STACK LDA PBPTR,I RESTORE ORIGINAL STA TMPST TEMPORARY STACK POINTER JSB STTOP LOAD FUNCTION RESULT * * ** RECORD RESULT OF FUNCTION ** * * * * PRE-DEFINED FUNCTIONS RETURN TO THIS POINT WITH THEIR * RESULT IN (A) AND (B). * FOR10 DST TMPST,I SAVE RESULT LDA OPDST,I RESTORE FORMX STA FORMX RETURN ADDRESS LDA TMPST RECORD LOCATION STA OPDST,I OF RESULT LDB PBPTR POP ADB .-2 FUNCTION STB PBPTR ADDRESS ISZ TEMP1 OF RESULT ISZ TEMP1 ON TOP OF JMP FORM2 OPERAND STACK * * ** EVALUATE 'LEN' ** * * FOR12 JSB RSCHK CREATE SPACE ON TEMPORARY STACK LDA TEMP1,I FIND AND OPDMK STRING'S ADA .-1 SYMBOL ALS TABLE ADA SYMTB ENTRY INA LOAD ADDRESS LDA 0,I OF STRING ADA .-1 EXTRACT LDA 0,I STRING AND B377 LENGTH OCT 105120 FLT - STACK DST TMPST,I STRING LENGTH LDA TMPST STACK ADDRESS STA OPDST,I OF RESULT JMP FOR12-3 3 * * ** PROCESS STRING CONSTANT ** * * * * WHEN STRING CONSTANTS ARE STACKED, AN APPROPRIATE * ENTRY IS PLACED ON THE TEMPORARY STACK SO THAT ALL * STRING OPERANDS HAVE THE SAME FORM: A NEGATED BASE * ADDRESS ON THE OPERAND STACK AND A TWO WORD ENTRY ON * THE TEMPORARY STACK CONTAINING THE START-OF-STRING * AND END-OF-STRING DESIGNATORS BIASED BY -1 (DEFAULT * START-OF-STRING DESIGNATORS HAVE A STACK VALUE OF 0, * DEFAULT END-OF-STRING DESIGNATORS HAVE A STACK VALUE * OF -1). IN THE CASE OF SUBSCRIPTED STRING VARIABLES, * THE TEMPORARY IS CREATED WHEN THE ']' IS SCANNED; THE * ENTRY FOR NON-SUBSCRIPTED STRING OPERANDS IS CREATED * WHEN THEY ARE SCANNED. * FOR13 CLA,INA PRINT STATEMENT CPA EOL STRING CONSTANT? JSB STSTR NO, STACK STRING CONSTANT ؗ JMP FORM3 EXECUTE END-OF-FORMULA SKP * * ** RECORD RESULT OF OPERATION ** * * * * OPERATORS CREATING INTERMEDIATE RESULTS RETURN TO HERE. * FOR14 ISZ OPDST STACK ISZ OPDST TEMPORARY DST TMPST,I RESULT LDA TMPST SAVE STA OPDST,I ADDRESS ON JMP FORM4 OPERAND STACK * * ** EXIT FORMULA EVALUATOR ** * * * * THIS WORD IS ACTUALLY PART OF THE FORMULA OPERATOR JUMP * TABLE. THE WORDS BETWEEN IT AND FOJT CORRESPOND TO * OPERATORS WHICH ARE NOT EXECUTED, SO CODE IS INSERTED HERE * TO UTILIZE THIS SPACE. * DEF FORMX,I Iy ** ** *** SET LOGICAL VALUES *** ** ** FALSE CLA LOAD CLB ZERO JMP FOR14 TRUE LDA HALF LOAD LDB .+2 1.0 JMP FOR14 4" ** ** *** EXECUTE UNARY - *** ** ** EUMIN JSB STTOP UNSTACK AND LOAD TOP OF STACK JSB ARINV NEGATE IT JMP FOR14 STORE IT ** ** *** FORMULA OPERATOR JUMP TABLE *** ** ** FOJT DEF ELBRC DEF FORM1 ( DEF FORM4 UNARY + DEF EUMIN UNARY - DEF ESCMA SUBSCRIPT COMMA DEF ESTR ASSIGNMENT OPERATOR DEF EFAD + DEF EFSB - DEF EFMP * DEF EFDV / DEF EPWR ^ DEF EGTRT > DEF ELST < DEF ENEQL # DEF EEQL = NOP UNUSED NOP CODES DEF EAND AND DEF EIOR OR DEF EMIN MIN DEF EMAX MAX DEF ENEQL <> DEF EGORE >= DEF ELORE <= DEF ENOT NOT 6HFBBH :K 24280-80010 1534 S 0122 TSB/E SYSTEM              H0101 ** ** *** EXECUTE LEFT BRACKET *** ** ** * * LOAD A DEFAULT SECOND SUBSCRIPT AND ENTER THE CODE FOR * A SUBSCRIPT COMMA. * ELBRC LDA OPDST LOAD ADA .-2 -1 LDA 0,I FOR A CCB STRING, SSA,RSS 0 CLB FOR JMP ESCM1 AN ARRAY ** ** *** EXECUTE SUBSCRIPT COMMA *** ** ** * * BOTH SUBSCRIPTS ARE ROUNDED TO INTEGERS AND TESTED TO BE * POSITIVE. FOR STRINGS, THE TWO INTEGERS ARE SAVED ON THE * TEMPORARY STACK AS A PSUEDO-ENTRY LATER USED BY PSTR. FOR * ARRAYS, THE SUBSCRIPTS ARE CHECKED AND IF WITHIN THE CURRENT * BOUNDS THEY ARE COMBINED WITH THE BASE ADDRESS OF THE ARRAY. * THE ARRAY ELEMENT ADDRESS THEN REPLACES THE BASE ADDRESS ON * THE OPERAND STACK. UNSUITABLE SUBSCRIPTS EXIT TO THE ERROR * ROUTINE. * ESCMA JSB OPCHK UNSTACK DLD 1,I SECOND SUBSCRIPT JSB SBFIX ROUND TO INTEGER JSB RERRS+17,I UNSUITABLE RESULT LDA PBPTR UNSTACK ADA .-2 THE STA PBPTR '' ESCM1 STB TEMP4 SAVE RESULT JSB STTOP POP FIRST SUBSCRIPT JSB SBFIX ROUND TO INTEGER JSB RERRS+17,I UNSUITABLE RESULT STB TMPST,I STORE IN TEMPORARY STACK LDA OPDST,I STRING SSA,RSS VARIABLE? JMP ESCM2 NO, ARRAY VARIABLE LDA TMPST YES, INA SAVE LDB TEMP4 SECOND SUBSCRIPT IN STB 0,I TEMPORARY STACK JMP FORM1 ESCM2 ADA .-2 LOAD COLUMN DLD 0,I AND ROW BOUNDS CMA,INA IS SPECIFIED ADA TMPST,I ROW SSA,RSS LEGAL? JSB RERRS+17,I NO STB TEMP5 YES CMB,INB IS SPECIFIED ADB TEMP4 COLUMN SSB,RSS LEGAL? JSB RERRS+17,I NO  LDA TMPST,I YES, COMPUTE ROW MPY TEMP5 DISPLACEMENT ADA TEMP4 ADD COLUMN DISPLACEMENT ALS DOUBLE FOR CORE WORDS ADA OPDST,I STORE ACTUAL STA OPDST,I ELEMENT ADDRESS LDA TMPST POP UNUSED ADA .-2 TEMPORARY STA TMPST STACK JMP FORM1 ENTRY ** ** *** EXECUTE STORE *** ** ** * * * IN ORDER TO ALLOW MULTIPLE ASSIGNMENT STATEMENTS, NO * ASSIGNMENT CAN TAKE PLACE UNTIL THE RIGHT-HAND FORMULA * IS EVALUATED; I.E. ONLY AN END-OF-FORMULA OPERATOR CAN * FORCE AN ASSIGNMENT OPERATOR OFF OF THE STACK. ASSIGNMENTS * MAY BE NUMERICAL TO NUMERICAL TYPE OPERAND, IN WHICH CASE * THE ASSIGNED QUANTITY IS SAVED FOR POSSIBLE ADDITIONAL * ASSIGNMENTS; OR STRING TO STRING OPERAND. IN THE LATTER * CASE AN INTERMEDIATE STRING IS NECESSARY IF THE HEAD OF * THE DESTINATION STRING LIES IN THE TAIL OF THE ACTUAL * SOURCE STRING. * ESTR LDB TEMP2 NEXT OPERATOR AN SZB END-OF-FORMULA? JMP ESTR5 NO CPB TEMP3 YES, FIRST STORE OF FORMULA? JMP ESTR2 YES ESTR1 LDA OPDST,I NO, SET STA TEMP6 DESTINATION ADDRESS DLD TEMP3,I TRANSFER DST TEMP6,I THE NUMBER LDA OPDST UNSTACK ADA .-2 DESTINATION STA OPDST OPERAND JMP FORM4 ESTR2 LDA OPDST,I STRING SSA OPERANDS? JMP ESTR3 YES JSB OPCHK NO, UNSTACK SOURCE STB TEMP3 AND SAVE VALUE ADDRESS JMP ESTR1 ESTR3 LDA .-2 PREPARE JSB PSTR SOURCEC STA TEMP4 STRING STB TPRME CCA PREPARE JSB PSTR DESTINATION STRING LDB PBPTR SAVE CORE STB EST1 POINTER LDA TEMP4 TRANSFER CMA TO ADA TEMP5 HIGHER SSA CORE? JMP ESTR4 NO " ADA TPRME YES, ADA .+2 OVERLAPPING SSA,RSS TRANSFER? JMP ESTR4 NO LDA TEMP5 YES, SAVE STA EST2 DESTINATION ADDRESS INB SET DESTINATION BLS ADDRESS TO START STB TEMP5 OF FREE CORE LDA TNULL SAVE TRANSFER STA EST3 LENGTH CMA,INA ALLOCATE ARS SPACE FOR JSB CUSP INTERMEDIATE STA PBPTR STRING LDA FSCHA JSB TRSTR TRANSFER STRING TO FREE CORE LDA EST3 RESTORE TRANSFER STA TNULL LENGTH STA TPRME RESET ACTUAL SOURCE LENGTH LDA EST1 SET SOURCE INA ADDRESS TO ALS INTERMEDIATE STA TEMP4 STRING LDA EST2 RESTORE ORIGINAL STA TEMP5 DESTINATION STRING ESTR4 LDA FSCHA JSB TRSTR COMPLETE TRANSFER LDA EST1 RESTORE FREE STA PBPTR CORE POINTER JMP FORM5 EXECUTE END-OF-FORMULA ESTR5 ISZ PBPTR DEFER ISZ PBPTR EXECUTION LDA BASSO STA PBPTR,I JMP FORM4+6 * BASSO OCT 7402 ** ** *** EXECUTE + *** ** ** EFAD JSB BINOP JSB .FAD JMP FOR14 SKP ** ** *** EXECUTE - *** ** ** EFSB JSB BINOP JSB .FSB JMP FOR14 ** ** *** EXECUTE * *** ** ** EFMP JSB BINOP JSB .FMP JMP FOR14 ** ** *** EXECUTE / *** ** ** EFDV JSB BINOP JSB .FDV JMP FOR14 ** ** * *** EXECUTE ^ *** ** ** * * ** REAL POWER ** * * * * EXIT TO ERROR IF BASE IS NEGATIVE. ELSE COMPUTE * RESULT AS E^(POWER*LN(BASE)). * EPWR LDB OPDST,I LOAD DLD 1,I POWER JSB IFIX INTEGER? JMP *+3 DNO SOS YES, 16-BIT? JMP IPWR YES JSB BINOP NO, UNSTACK RSS ARGUMENTS JSB PCHK CHECK ARGUMENTS SSA NEGATIVE BASE? JSB RERRS+30,I YES LDB BINO1 NO, LOAD BASE ADDRESS JSB .LOG TAKE NATUAL LOG JSB .FMP MULTIPLY DEF BINO2,I BY POWER JSB .EXP EXPONENTIATE JMP FOR14 * * ** INTEGER POWER ** * * * * MULTIPLY BASE REPEATEDLY, USING POWERS-OF-TWO METHOD * TO SPEED PROCESS. IF POWER IS NEGATIVE, TAKE RECIPROCAL * FOR FINAL RESULT. * * IPWR STB TT1 SAVE SIGN SSB FORM ABSOLUTE CMB,INB VALUE OF POWER STB TT2 SAVE IT JSB BINOP UNSTACK RSS ARGUMENTS JSB PCHK CHECK ARGUMENTS LDB BINO1 STORE STA BINO1 STB BINO2 BASE LDA HALF INITIALIZE STA TT3 RESULT LDA .+2 TO STA TT4 1.0 IPWR1 LDB TT2 DIVIDE POWER SLB,BRS BY 2 JMP IPWR4 ODD POWER STB TT2 EVEN POWER IPWR2 SZB ZERO? ?( JMP IPWR5 NO LDA TT1 YES SSA POSITIVE POWER? JMP IPWR3 NO LDA TT3 YES, RETURN LDB TT4 WITH JMP FOR14 RESULT IPWR3 LDA HALF TAKE LDB .+2 RECIPROCAL JSB .FDV FOR DEF TT3 FINAL JMP FOR14 RESULT IPWR4 STB TT2 SAVE POWER LDA BINO1 LOADA LDB BINO2 BASE JSB .FMP MULTIPLY BY DEF TT3 RESULT SO FAR STA TT3 SAVE NEW STB TT4 PARTIAL LDB TT2 RESULT JMP IPWR2 IPWR5 LDA BINO1 SQUARE LDB BINO2 JSB .FMP BASE DEF BINO1 STA BINO1 RECORD STB BINO2 NEW JMP IP0WR1 BASE SKP ** ** *** EXECUTE > *** ** ** EGTRT JSB COMPR COMPARE OPERANDS SSA < ? JMP FALSE YES JMP ENEQL+1 NO ** ** *** EXECUTE < *** ** ** ELST JSB COMPR COMPARE OPERANDS CMA,RSS REVERSE COMPARISON SENSE ** ** *** EXECUTE >= *** ** ** EGORE JSB COMPR COMPARE OPERANDS SSA < ? JMP FALSE YES JMP TRUE NO ** ** *** EXECUTE = *** ** ** * EEQL JSB COMPR COMPARE OPERANDS SZA = ? JMP FALSE NO JMP TRUE YES ** ** *** EXECUTE <= *** ** ** ELORE JSB COMPR COMPARE OPERANDS SSA >= ? JMP TRUE NO JMP EEQL+1 YES ** ** *** EXECUTE # OR <> *** ** ** ENEQL JSB COMPR COMPARE OPERANDS SZA # ? JMP TRUE NON JMP FALSE YES ** ** *** EXECUTE 'MAX' *** ** ** EMAX JSB BINOP SUBTRACT THE JSB .FSB TOP TWO OPERANDS SSA,RSS TOP OPERAND LARGER? JMP ARG1 NO ARG2 DLD BINO2,I YES, RETRIEVE JMP FOR14 ITS VALUE ** ** *** EXECUTE 'MIN' *** ** ** * EMIN JSB BINOP SUBTRACT THE JSB .FSB TOP TWO OPERANDS SSA,RSS TOP OPERAND LARGER? JMP ARG2 NO ARG1 ISZ OPDST YES, ISZ OPDST RETRIEVE LDB OPDST,I VALUE OF DLD 1,I NEXT-TO-TOP JMP FOR14+2 OPERAND ** ** *** EXECUTE 'AND' *** ** ** EAND JSB BINOP UNSTACK RSS OPERANDS SZA,RSS TOP OPERAND ZERO? JMP FALSE YES LDA BINO2,I NO, CHECK JMP ENEQL+1 NEpXT-TO-TOP OPERAND ** ** *** EXECUTE 'OR' *** ** ** EIOR JSB BINOP UNSTACK RSS OPERANDS SZA TOP OPERAND NON-ZERO? JMP TRUE YES LDA BINO2,I NO, CHECK JMP ENEQL+1 NEXT-TO-TOP OPERAND ** ** *** EXECUTE 'NOT' *** ** ** ENOT JSB STTOP LOAD TOP OPERAND JMP EEQL+1 GO TO CHECK ** ** *** INSURE VALID POWERING *** ** ** * * INSURES THAT A^B HAS ACCEPTABLE ARGUMENTS. A=B=0 IS A NON- * RECOVERABLE ERROR. A=0 AND B<0 PRINTS A WARNING MESSAGE AND * RETURNS THE MAXIMUM POSITIVE NUMBER AS THE RESULT. * #PCHK STB BINO1 LOAD HIGH PART LDB BINO2,I OF POWER SZA BASE ZERO? JMP PCHK1 NONL SZB,RSS YES, POWER ZERO? JSB RERRS+29,I YES SSB,RSS NO, POWER POSITIVE? JMP FALSE YES JSB WERRS+2,I NO LDA INF USE POSITIVE LDB .-2 INFINITY JMP FOR14 FOR RESULT PCHK1 SZB,RSS POWER ZERO? JMP TRUE YES, TAKE RESULT AS 1.0 JMP PCHK,I NO SKP ** ** *** COMPARE TOP OPERANDS OF STACK *** ** ** * * ON EXIT (A) IS NEGATIVE IF THE TOP OPERAND OF THE * STACK IS GREATER THAN THE NEXT-TO-TOP OPERAND, * POSITIVE IF IT IS LESS, AND ZERO IF THEY ARE EQUAL. * #CMPR LDA OPDST,I STRING SSA ARGUMENTS? JMP COMP1 YES JSB BINOP NO, COMPARE JSB .FSB NUMERICAL JMP COMPR,I OPERANDS COMP1 LDA .-2 PREPARE JSB PSTR COMPARISON STA TEMP4 STRING STB TPRME LDA TNULL SAVE SPECIFIED STA CP0 LENGTH LDA .-2 PREPARE JSB PSTR TEST STRING STB CP1 SAVE ACTUAL LENGTH ISZ TMPST {RESERVE SPACE ISZ TMPST FOR RESULT COMP2 ISZ CP0 MORE SPECIFIED STRING? JMP COMP3 YES CLB NO, LOAD A JMP COMP4 NULL CHARACTER COMP3 JSB FSCH LOAD NEXT LDA .+40B COMPARISON LDB 0 CHARACTER COMP4 ISZ TNULL MORE SPECIFIED TEST STRING? JMP COMP6 YES CLA NO, LOAD NULL CHARACTER COMP5 CMB,INB COMPARE ADA 1 CHARACTERS SZA,RSS EXIT ON NOT EQUAL SZB,RSS OR BOTH NULL JMP COMPR,I CHARACTERS JMP COMP2 COMP6 LDA CP1 MORE ACTUAL INA,SZA TEST STRING? JMP COMP7 YES LDA .+40B NO, LOAD A BLANK JMP COMP5 COMP7 STA CP1 LDA TEMP5 EXTRACT CLE,ERA LDA 0,I NEXT SEZ,RSS ALF,ALF TEST AND B3777 ISZ TEMP5 CHARACTER JMP COMP5 SKP Pl ** ** *** PREPARE STRING OPERAND ** ** ** * * THE STRING ADDRESS ON TOP OF THE OPERAND STACK IS COMBINED * WITH THE SUBSCRIPTS IN A PSUEDO-ENTRY ON THE TEMPORARY STACK * TO FORM A STRING OPERAND. (A) = 0 UPON ENTRY FOR A SOURCE * STRING; (A) = -1 FOR A DESTINATION STRING. THE ADDRESS OF * THE FIRST CHARACTER OF THE STRING OPERAND IS LEFT IN TEMP5; * FOR SOURCE STRINGS (A) = TEMP5 UPON EXIT. THE REQUESTED * STRING LENGTH (IN CHARACTERS) IS LEFT IN TNULL; FOR SOURCE * STRINGS THE ACTUAL STRING LENGTH (WHICH MAY BE LESS THAN THE * REQUESTED LENGTH) IS IN (B) UPON EXIT. THE FOLLOWING * CONDITIONS EXIT TO ERROR: NEGATIVE STRING LENGTH, REQUESTED * DESTINATION STRING WOULD EXCEED PHYSICAL STRING BOUNDARY, OR * REQUESTED DESTINATION STRING WOULD PRODUCE A STRING QUANTITY * WITH TWO UNCONNECTED PARTS. THE LOGICAL LENGTH OF A * DESTINATION STRING IS ADJUSTED AS NEEDED. * .73 DEC 73 B] *  B] #PSTR STA PS0 SAVE MODE FLAG JSB OPCHK UNSTACK OPERAND STB PS1 SET FLAG POSITIVE BLS SAVE ADDRESS OF FIRST STB TEMP5 CHARACTER OF STRING BRS SAVE ADB .-1 POINTER TO STB TEMP6 STRING LENGTH LDB TMPST LOAD ADB .+2 START-OF-STRING LDA 1,I DESIGNATOR STA MPT SAVE IT ADA TEMP5 RECORD CHARACTER ADDRESS STA TEMP5 OF START-OF-STRING STA SBPTR SAVE ADDRESS INB LOAD LDA 1,I END-OF-STRING DESIGNATOR INA,SZA SPECIFIED? JMP PSTR2 YES CCA NO CPA PS0 'SOURCE' MODE? JMP PSTR1 NO LDA TEMP6,I YES, LOAD STRING'S AND B377 LOGICAL LENGTH JMP PSTR2 PSTR1 STA PS1 SET FLAG TO -1 LDA TPRME COMPUTE CMA END-OF-STRING ADA MPT DESIGNATOR PSTR2 STA NQT SAVE IT CMA IS LENGTH ADA MPT OF SPECIFIED STRING SSA,RSS NEGATIVE? JSB RERRS+18,I YES STA TNULL SAVE LENGTH B] ADA .73 B] SSA TOO LONG? B] JSB RERRS+20,I YES B] LDA TEMP6,I DOES AND B377 START-OF-STRING CMA CHARACTER ISZ PS0 RELATE TO INA PREVIOUS ADA MPT VALUE SSA,RSS OF STRING? JMP PSTR3 NON LDA TEMP6,I YES, EXTRACT ISZ PS0 END-OF- ALF,ALF PERMITTED-STRING AND B377 DESIGNATOR CMA COMPUTE DIFFERENCE FROM ADA NQT END OF SPECIFIED STRING -1 CLB,INB 'SOURCE' CPB PS0 MODE? JMP PSTR5 NO LDB TNULL YES, SPECIFIED SOURCE STRING INA CONTAINED WITHIN SSA,RSS DEFINED SOURCE STRING? ADB 0 NO, CORRECT LENGTH JMP PSTR4 OF ACTUAL SOURCE STRING PSTR3 ISZ PS0 'SOURCE' MODE? JSB RERRS+19,I NO CCB YES, SET ACTUAL LENGTH TO 0 PSTR4 LDA TEMP5 LOAD START-OF-STRING JMP PSTR,I CHARACTER ADDRESS PSTR5 SSA,RSS PHYSICAL STORAGE OVERFLOW? JSB RERRS+20,I YES ISZ PS1 END-OF-STRING SPECIFIED? JMP PSTR7 YES PSTR6 LDA TEMP6,I NO, AND M256 RESET IOR NQT LOGICAL LENGTH STA TEMP6,I OF STRING JMP PSTR,I PSTR7 LDA TEMP6,I IS NEW AND B377 DESTINATION CMA STRING ADA NQT LONGER SSA,RSS THAN OLD? JMP PSTR6 YES JMP PSTR,I NO ** ** *** STACK STRING CONSTANT *** ** ** * * SEE NOTE AT FOR13 OF ROUTINE FORMX * #STST ISZ OPDST STACK ISZ OPDST NEGATIVE LDA TEMP1 OF CMA STRING STA OPDST,I ADDRESS LDA TEMP1,I COMPUTE AND B377 STRING CCB LENGTH ADB 0 -1 ADA .+3 UPDATE ARS INTRA-STATEMENT ADA TEMP1 POINTER STA TEMP1 PAST STRING JSB RSCHK CREATE TEMPORARY CLA RECORD DST TMPST,I (0,(B) ) JMP STSTR,I ** ** *** FETCH SOURCE CHARACTER *** ** ** * * CHARACTER ADDRESS IN TEMP4, SOURCE CHARACTER COUNT * IN TPRME (IN 1'S COMPLEMENT). EXIT TO (P+1) ON NO * MORE CHARACTERS (TPRME = -1) ELSE EXIT TO (P+2) WITH * NEXT CHARACTER IN (A). * #FSCH LDA TPRME MORE INA,SZA,RSS CHARACTERS? JMP FSCH,I NO I STA TPRME YES, UPDATE CHARACTER COUNT LDA TEMP4 LOAD CHARACTER CLE,ERA ADDRESS LDA 0,I EXTRACT SEZ,RSS NEXT ALF,ALF CHARACTER AND B377 ISZ TEMP4 UPDATE CHARACTER ADDRESS ISZ FSCH JMP FSCH,I ** ** *** FETCH INPUT CHARACTER *** ** ** * * EXITS NORMALLY TO (P+2) WITH NEXT INPUT CHARACTER IN (A). * IF THE CHARACTER IS A " OR THE INPUT RECORD IS EMPTY, * EXIT TO TRSTR,I (THE ONLY CALLER WHO CAN ENCOUNTER THIS * CONDITION). * #FINC ISZ FINCH JSB GETCR FETCH NEXT CHARACTER JMP TRSTR,I NONE IN BUFFER LDA 1 ALLOW LOWER CASE B] CPA .+42B " ? JMP TRSTR,I YES, TERMINAL EXIT JMP FINCH,I NO SKP ** ** *** FETCH TOP OF STACK *** ** ** * * EXIT WITH TOP OPERAND IN (A) AND (B) AFTER UNSTACKING * IT. CREATE EMPTY SPACE ON TEMPORARY STACK FOR FUTURE * INTERMEDIATE RESULT. * #STTP JSB OPCHK UNSTACK OPERAND JSB RSCHK CREATE SPACE FOR TEMPORARY DLD 1,I LOAD TOP OPERAND JMP STTOP,I I ** ** *** EXECUTE A BINARY OPERATOR *** ** ** * * ON ENTRY (P+1) CONTAINS A SUBROUTINE CALL FOR A BINARY * OPERATION. THE TOP TWO OPERANDS ON THE STACK ARE * UNSTACKED AND VERIFIED AS NOT BEING 'UNDEFINED.' THE * APPROPRIATE SUBROUTINE IS CALLED WITH THE TOP ARGUMENT'S * ADDRESS IN BINO2 AND THE NEXT-TO-TOP ARGUMENT'S VALUE IN * (A) AND (B). EXIT IS TO (P+2) WITH THE RESULT IN (A) * AND (B). * #BNOP LDA BINOP,I SAVE STA BINO1 SUBROUTINE ISZ BINOP CALL JSB OPCHK SAVE ADDRESS OF STB BINO2 TOP OPERAND JSB STTOP FETCH NEXT OPERAND JMP BINO1 EXECUTE SUBROUTINE ** ** *** VERIFY LEGI*YTIMACY OF OPERAND *** ** ** * * THE VALUE REFERENCED BY THE TOP OF THE OPERAND STACK * IS CHECKED. EXIT TO ERROR IF VALUE IS 'UNDEFINED.' * ELSE REMOVE OPERAND ADDRESS FROM STACK AND REMOVE VALUE * FROM TOP OF TEMPORARY STACK, IF IT IS THERE. EXIT * WITH OPERAND ADDRESS IN (B). * #OPCK LDB OPDST,I STRING SSB OPERAND? JMP OPCH3-1 YES LDA 1,I NO, HIGH PART OF RAL,RAL IS INA OPERAND RAR,SLA NORMALIZED? JMP OPCH1 YES CPA BIT15 WAS FIRST WORD ZERO INB,RSS YES JSB RERRS+23,I NO--ERROR LDA 1,I SECOND SZA WORD ZERO? JSB RERRS+23,I NO--ERROR ADB .-1 YES--RESTORE OPERAND ADDRESS OPCH1 CPB TMPST TEMPORARY? JMP OPCH3 YES OPCH2 LDA OPDST NO, ADA .-2 UNSTACK STA OPDST OPERAND JMP OPCHK,I ADDRESS CMB,INB SET ADDRESS TRUE OPCH3 LDA TMPST UNSTACK ADA .-2 TEMPORARY STA TMPST OPERAND JMP OPCH2 ** ** *** ALLOCATE AN ENTRY ON THE TEMPORARY STACK *** ** ** * * (B) IS UNCHANGED UPON EXIT. ON STACK OVERFLOW, * THE OPERATOR AND OPERAND STACKS ARE MOVED TO HIGHER * CORE TO MAKE ROOM FOR FIVE MORE TEMPORARY ENTRIES. * #RSCK LDA TMPST ADVANCE ADA .+2 POINTER TO STA TMPST NEXT ENTRY INA STACK CPA OPTRQ OVERFLOW? RSS YES JMP RSCHK,I NO STB RT0 SAVE (B) LDB PBPTR LOAD SOURCE ADDRESS LDA .+10 ALLOCATE SPACE FOR JSB CUSP FIVE MORE STA PBPTR TEMPORARIES STA RT1 SAVE DESTINATION ADDRESS RSCH1 LDA 1,I TRANSFER STA RT1,I A WORD CPB TMPST DONE? JMP RSCH2 HFB YES CCA NO, DECREMENT ADA RT1 DESTINATION STA RT1 AND SOURCE ADB .-1 ADDRESSES JMP RSCH1 RSCH2 LDA OPDST CORRECT ADA .+10 STA OPDST STACK LDA OPTRQ ADA .+10 POINTERS STA OPTRQ LDB RT0 RESTORE (B) JMP RSCHK,I xH ;L 24280-80011 1534 S 0122 TSB/E SYSTEM              H0101  HED EXECUTION UTILITY ROUTINES ** ** *** INTEGERIZE A NUMBER *** ** ** * * ENTER WITH A FLOATING POINT NUMBER IN (A) AND (B). * IF EXPONENT EXCEEDS 23, NUMBER HAS INTEGER SIGNIFICANCE; * EXIT TO (P+1). ALL OTHER CASES EXIT TO (P+2) WITH 32-BIT * INTEGER RIGHT JUSTIFIED IN (A) AND (B). ON EXIT (O) = 0 * IF NUMBER IS EXACTLY REPRESENTABLE AS A 16-BIT INTEGER. * IF EXPONENT IS NEGATIVE, TRUNCATE TO 0 OR -1 APPROPRIATELY * AND LET (O) = 1. OTHERWISE RIGHT JUSTIFY INTEGER AND EXIT * WITH LAST BIT LOST IN (E). * #IFIX STA TEMP6 SAVE (A) STO SET 'NOT ONE-WORD INTEGER' MODE JSB .FLUN UNPACK (B) SSA NEGATIVE EXPONENT? JMP IFIX3 YES ADA .-16 NO, EXPONENET SSA <= 15? CLO YES ADA .-8 NO, EXPONENT SSA,RSS <= 23? JMP IFIX,I NO, ALL SIGNIFICANCE IS INTEGER ADA .-8 YES, MOVE BINARY POINT TO END OF STA EXP (B) AND SAVE SHIFT COUNT LDA TEMP6 RETRIEVE (A) JMP IFIX2 IFIX1 CLE,SLA,ARS SHIFT (A) RIGHT CME SHIFT SLB,ERB (B) RIGHT STO LOST A 1 IFIX2 ISZ EXP ALL SHIFTS DONE? JMP IFIX1 NO ISZ IFIX YES JMP IFIX,I IFIX3 LDA TEMP6 RETRIEVE (A) CLE,SSA TRUNCATE CCA,RSS TO CLA,RSS -1 CCB,RSS OR CLB 0 JMP IFIX3-2 2C SKP ** ** *** GET NEXT FILE ITEM TYPE *** ** ** * * THE NEXT ITEM IN THE FILE, NUMBER, STRING, END-OF-FILE, OR * END-OF-RECORD, IS IDENTIFIED AND UPON EXIT (B) =1,2,3, OR 4 * RESPECTIVELY. EORFL = -1 WILL IGNORE END-OF-RECORD'S AND * RETURN WITH THE FIRST OF THE OTHER ITEMS ENCOUNTERED. * GTTY1 LDA FILE# REQUEST JSB RQSTR NEXT RECORD #GTTY CCB  LOAD ACTIVE ADB FBASE AND LIMIT DLD 1,I RECORD POINTERS CPA 1 PHYSICAL END OF RECORD? JMP GTTY3 YES LDA 1,I NO, LOAD WORD CLB,INB OF RECORD CPA EOR END-OF-RECORD? JMP GTTY3 YES CPA EOF NO, END-OF-FILE? JMP GTTY4 YES AND M256 NO CPA B1000 STRING? INB YES, (B) = 2 GTTY2 LDA 1 SET (A) = (B) JMP GTTYP,I GTTY3 LDB FBASE PHYSICAL ADB .-4 END DLD 1,I OF CPA 1 FILE? JMP GTTY5 YES CCB NO CPB EORFL EOR'S WANTED? JMP GTTY1 NO LDB .+2 YES, SET (B) = 4 GTTY4 ADB .+2 (B) = 3 JMP GTTY2 2 GTTY5 LDA .+3 (B) = 3 3 JMP GTTYP,I SKP ** *** PUSH DOWN OPERATOR STACK ** * * ALLOCATE AN ENTRY ON THE OPERATOR STACK. * (A) IS NOT CHANGED D * #PSHS LDB PBPTR ADVANCE ADB .+2 STACK POINTER CMB USER ADB LWAUS SPACE SSB OVERFLOW? JSB RERRS+10,I ISZ PBPTR NO, ALLOCATE ISZ PBPTR STORAGE JMP PSHST,I ** ** *** ROUND NUMBER TO INTEGER *** ** ** * * ENTER WITH NUMBER IN (A) AND (B). EXIT TO (P+2) IF * INTEGER FORM (ROUNDED AS NEEDED) IS POSITIVE AND NOT * LARGER THAN 15 BITS, ELSE EXIT TO (P+1). ON EXIT TO * (P+2), (B) HOLDS THE INTEGER BIASED BY -1. * #SBFX JSB IFIX TRUNCATE NUMBER JMP SBFIX,I NUMBER TOO LARGE SZA INTEGER OVERFLOW? JMP SBFIX,I YES SEZ,RSS NO, ROUNDING BIT? ADB .-1 NO, BIAS INTEGER BY -1 SSB,RSS YES, POSITIVE RESULT? ISZ SBFIX YES JMP SBFIX,I NO * NUSE4 BSS 4 NOT USED [D] * * * ROUTINE USED BY POWERFAIL/AUTO REtSTART * TO DO A DISC TRANSFER. * CHECK NOP JSB DISC,I START TRANSFER. LDA ENDSK WAIT FOR COMPLETION. SZA JMP *-2 CLF 0 TURN OFF INTERRUPT. JMP CHECK,I I * * SKP ** ** *** REQUEST A RECORD *** ** ** * * UPON ENTRY (A) HOLDS A FILE NUMBER (POSITIVE FOR A READ * REQUEST, NEGATIVE FOR A WRITE REQUEST) AND (B) SPECIFIES * VALIDATION OF THE FILE'S EXISTENCE ( (B) = -2) OR THE FILE * RECORD TO BE PUT IN THE FILE BUFFER ( (B) = -1 REQUESTS * THE RECORD WHICH FOLLOWS THE ONE CURRENTLY IN THE BUFFER, * (B) >= 0 REQUESTS RECORD (B)+1 ). EXIT TO ERROR IF THE * FILE DOES NOT EXIST OR A WRITE REQUEST IS GIVEN FOR A * READ-ONLY FILE. EXIT TO THE END-OF-FILE CODE IF THE * REQUESTED RECORD DOES NOT EXIST. OTHERWISE, THE DIRTY * BIT IS EXAMINED TO DETERMINE IF THE FILE BUFFER SHOULD * BE WRITTEN BACK TO DISC. * A READ REQUEST READS THE REQUESTED RECORD INTO THE BUFFER; * A WRITE REQUEST MERELY INITIALIZES THE BUFFER TO 'EMPTY'. * THE FILE TABLE IS UPDATED TO REFLECT THE CHANGES. * * #RQST STB RQ2 SAVE RECORD REFERENCE CCB GET 1'S COMPLEMENT SSA OF FILE NUMBER AND CLB,RSS SET RQ1 = -1 FOR A CMA READ REQUEST OR 0 STB RQ1 FOR A WRITE REQUEST ADA FCNTR DOES REQUESTED CMA,SSA,RSS FILE EXIST? JSB RERRS+35,I NO ADA FCNTR YES MPY .+7 SET POINTER ADA FILTB TO FILE TABLE STA FBASE ENTRY LDA FBASE,I LOAD NUMBER OF RECORDS ISZ FBASE BIT 15 =1 ISZ FBASE CCB,CLE SSA READ-ONLY FILE? CPB RQ1 YES, READ REQUEST? ELA,CLE,SLA,ERA YES, CLEAR BIT 15 AND SKIP JSB RERRS+36,I NO AND B1777 LDB RQ2 FILE VALIDATION CPB .-2 ONLY? JMP RQST5+2 YES ISZ RQ2 NO, RECORD SPECIFIED? JMP RQST2 YES LDB FBASE,I NO, LOAD OLD RECORD ADDRESS CMB,SZB,RSS NULL RECORD? JMP RQST2 YES ISZ FBASE NO, COMPUTE ADB FBASE,I CMB,SLB NEW ADB 0 BRS RECORD INB,RSS NUMBER RQST2 ISZ FBASE CMA,INA DOES ADA 1 RECORD SSA EXIST? JMP *+4 YES ISZ FBASE NO, CORRECT FBASE ISZ FBASE JMP FDT4A,I FOR EOF EXIT CHECK ADA 1 IOR .+1 COMPUTE BLS DISC SSA ADDRESS LDA 1 OF NEW ADA FBASE,I RECORD STA RQ2 SAVE IT ISZ FBASE SET POINTER LDB FBASE,I ADB M128 TO BEGINNING X] ISZ FBASE STB FBASE,I OF RECORD BUFFER STB RQ3 SAVE ADDRESS OF BUFFER LDB FBASE MOVE TO ADB .-3 DISC STB FBASE ADDRESSES CPA FBASE,I OLD AND NEW RECORDS THE SAME? JMP RQST3 YES JSB WRBUF NO, WRITE OLD RECORD TO DISC ISZ RQ1 READ REQUEST? JMP RQST4 NO LDA RQ2 YES LDB M128 READ IN [X] CLF 0 STB WORD LDB RQ3 REQUESTED ADB FLGBT JSB DISC,I LDA ENDSK RECORD SZA JMP *-2 JMP RQST5 5 RQST3 ISZ RQ1 WRITE REQUEST? RSS YES JMP RQST5 NO RQST4 LDB EOR SCRATCH RECORD STB RQ3,I WITH END-OF-RECORD MARK RQST5 LDA RQ2 SET DISC ADDRESS OF STA FBASE,I NEW RECORD INTO FILE TABLE LDB FBASE MOVE POINTER ADB .+3 TO REFERENCE STB FBASE RECORD POINTER JMP RQSTR,I SKP Pl ** ** *** STORE ITEM IN FILE *** ** ** * * UPON ENTRY 5(B) INDICATES WHAT IS TO BE WRITTEN ON THE FILE: * (B) = -1 WRITES AN END-OF-FILE MARK, (B) = -2 WRITES A TWO- * WORD FLOATING POINT NUMBER, (B) = -3 WRITES A STRING. IF * THE RECORD CANNOT ACCOMMODATE THE QUANTITY, A SERIAL WRITE * WILL PLACE IT IN THE FOLLOWING RECORD WHILE A RECORD WRITE * WILL EXIT TO THE END-OF-FILE CODE. * #FILS STB FILT SAVE REQUEST TYPE CCB LOAD ADB FBASE ACTIVE AND LIMIT DLD 1,I RECORD POINTERS CPA 1 RECORD FULL? JMP FILS1 YES STB DADRR NO, SAVE ACTIVE POINTER ISZ FILT EOF REQUEST? JMP FILS2 NO CCA YES,OVERLAY PREVIOUS STA 1,I EOR OR EOF WITH EOF MARK FILS7 LDB FBASE MAKE POINTER TO FIRST WORD OF ADB .-5 FILE TABLE ENTRY. LDA 1,I SET IOR BIT14 DIRTY STA 1,I BIT. JMP FILST,I FILS2 ISZ FILT STRING? JMP FILS6 YES ADB .+2 NO FILS3 CMA,INA COMPARE PROSPECTIVE ADA 1 ACTIVE POINTER WITH CMA,INA END-OF-RECORD POINTER SSA OVERFLOW? JMP FILS0 YES S[ STB FBASE,I NO, SAVE NEW ACTIVE POINTER SZA,RSS RECORD EXACTLY FULL? JMP FILS4 YES LDA EOR NO, FOLLOW ENTRY SPACE STA 1,I WITH EOR MARK FILS4 ISZ FILT STRING? JMP FILS5 NO LDA TNULL YES CMA COMPUTE AND IOR B1000 STORE STRING STA DADRR,I HEADER WORD LDA FSCHA TRANSFER JSB TRSTR STRING JMP FILS7 7 FILS5 DLD SBPTR,I TRANSFER DST DADRR,I NUMBER JMP FILS7 FILS6 INB COMPUTE BLS DESTINATION STB TEMP5 ADDRESS CMB,INB COMPUTE ADB TNULL RECORD CMB,INB SPACE BRS REQUIRED JMP FILS3 FILS0 LDA EOR INSURE EOR MARK STA DADRR,I ENDS PRESENT RECORD LDA .-2 RESTORE ADA FILT REQUEST STA FILT TYPE FILS1 CCB CPB RCRD# SERIAL WRITE? RSS YES S JMP FDT4A,I NO LDA FILE# REQUEST CMA RECORD JSB RQSTR TO WRITE JMP #FILS+1 HED ARITHMETIC SUBROUTINES ** ** *** ADD TWO FLOATING POINT NUMBERS *** ** ** #FAD STA A1 SET POINTER TO 2ND ARG LDA .FAD,I STA A2 LDA A1 OCT 105000 FAD A2,I DEF A2,I ISZ .FAD SOC C JSB OUCHK OVERFLOW OR UNDERFLOW JMP .FAD,I ** ** *** SUBTRACT TWO FLOATING POINT NUMBERS *** ** ** #FSB STA A1 SEtPOINTER TO 2ND ARG LDA .FSB,I STA A2 LDA A1AK OCT 105020 FSB A2,I DEF A2,I ISZ .FSB SOC JSB OUCHK K JMP .FSB,I ** ** *** MULTIPLY TWO FLOATING POINT NUMBERS *** ** ** #FMP STA A1 SET POINTER TO 2ND ARG LDA .FMP,I STA A2 LDA A1 OCT 105040 FMP A2,I DEF A2,I ISZ .FMP SOC JSB OUCHK JMP .FMP,I ** ** *** DIVIDE TWO FLOATING POINT NUMBERS *** ** ** #FDV STA A1 LDA .FDV,I STA A2 LDA A1 OCT 105060 FDV A2,I DEF A2,I ISZ .FDV SOC JSB OUCHK JMP .FDV,I * * CHECK OVERFLOW OR UNDERFLOW CONDITION * #OUCK STA A1 SAVE REGISTERS STB A2 SZA JMP OUCK2 UNDERFLOW JSB CHOUF JSB WERRS+6,I OUCK1 LDA A1 LDB A2 JMP OUCHK,I OUCK2 JSB CHOUF JSB WERRS+5,I OVERFLOW JMP OUCK1 ** ** *** TAKE ARITHMETIC INVERSE *** ** ** * * ENTER WITH A FLOATING POINT NUMBER IN (A) ABD (B). * EXIT WITH ITS ARITHMETIC INVERSE IN (A) AND (B). * #ARIN DST A1 SAVE NUMBER CLA SUBTRACT CLB IT OCT 105020 FROM DEF A1 ZERO JMP ARINV,I ** ** *** UNPACK LOW WORD OF NUMBER *** ** ** * * ENTER WITH LOW WORD OF FLOATING POINT NUMBER IN (B). * EXIT WITH EXPONENT IN (A) AND MANTISSA IN (B). * * #FLUN CLA EXTRACT LSR 8 EXPONENT ALF,ALF IN (A) AND BLF,BLF MANTISSA IN (B) SLA,RAR NEGATIVE EXPONENT? IOR SMSK YES, FILL IN LEADING BITS JMP .FLUN,I NO HED ERROR ROUTINES * * WHILE READING A PROGRAM IN 'TAPE' MODE, ERRONEOUS STATEMENTS * ARE REPLACED WITH ERROR PSUEDO-STATEMENTS. THESE ARE THREE * WORD 'STATEMENTS': THE STATEMENT NUMBER, THE LENGTH (ALWAYS * 3), AND THE ERROR NUMBER. SINCE BITS 15-9 ARE CLEAR IN WORD * THREE, ERRORS HAVE A STATEMENT TYPE OF 0. ERRCT HOLDS A * COUNT OF THE EMBEDDED ERRORS AND THE USER'S BIT OF TERR IS * SET IF ANY EMBEDDED ERRORS EXIST. ADDITIONALLY, THE 'OUT-OF- * STORAGE' ERROR SETS SYMTB = 1 TO ASSIST SYNTAX. ALL STATEMENTS * WITH A SEQUENCE NUMBER OF ZERO WILL BE COLLAPSED INTO A SINGLE * ERROR AND UNDER/OVERFLOWS IN NUMERICAL CONSTANTS ARE NOT * REPORTED. * ** ** *** OUTPUT TAPE MODE ERRORS *** ** ** * * UPON ENTRY ALL EMBEDDED ERRORS ARE STRIPPED FROM THE PROGRAM * AND STORED BELOW IT AS TWO-WORD QUANTITIES (THE LENGTH WORD * IS DROPPED). FOLLOWING THIS THE ERRORS ARE PRINTED ONE BY * ONE WITH LINE NUMBERS. AFTER PRINTING ALL ERRORS (OR, IF THE * USER ABORTS THE ERROR PRINTING, AFTER THE USER TYPES THE NEXT * LINE) EVERYTHING IS CLEANED UP AND A MESSAGE PRINTED TO SAY * THE LAST RECEIVED INPUT HAS BEEN IGNORED. * TAPER CLA FIRST CPA ERRCT ENTRY? JMP TAPE5 NO STA SYMTB YES, RESET 'OUT OF STORAGE' FLAG LDA PBPTR INITIALIZE STA SPTR LDB PBUFF PROGRAM STB DEST STB SOURC POINTERS * * ** STRIP OUT EMBEDDED ERRORS ** * * TAPE1 INB SET (B) LDA 1 TO FIRST WORD ADB 1,I OF NEXT ADB .-1 PROGRAM STATEMENT INA IS THE LDA 0,I CURRENT STATEMENT AND OPMSK OF TYPE SZA 'ERROR' ? JMP TAPE1 NO LDA SOURC YES, LOAD SOURCE ADDRESS STB SOURC SET SOURCE TO NEW VALUE ADB .-3 JUXTAPOSED CPA 1 ERRORS? JMP TAPE2 YES, NO MOVE NEEDED CPA DEST NO, FIRST ERROR ENCOUNTERED? JMP TAPE6 YES JSB MOVER NO, DELETE PRIOR ERROR(S) TAPE2 LDB PBPTR ENOUGH STB TAP0 INB USER SPACE CPB LWAUS JMP TAPE7 TO TRANSFER INB CPB LWAUS ERROR? JMP TAPE7 NO STB PBPTR YES, APPEND TWO WORDS LDB 0,I TRANSFER STB TAP0,I LINE NUMBER ISZ TAP0 ADA .+2 TRANSFER LDB 0,I ERROR STB TAP0,I NUMBER LDB SOURC RETRIEVE POINTER TO STATEMENT CCA DECREMENT ADA ERRCT ERROR STA ERRCT COUNTER SZA ALL ERRORS DELETED? JMP TAPE1 NO CPB SPTR YES, PROGRAM REMAINING? JMP TAPE3 NON LDA SOURC YES, SLIDE UP LDB SPTR OVER LAST JSB MOVER ERROR(S) * * ** OUTPUT ERROR MESSAGES ** * * TAPE3 LDA RETAD SET STA SERR RETURN ADDRESS LDA WERRA FAKE CMA,INA 'WARNING ONLY' STA LT5 ERROR MODE TAPE4 CCB FORCE STB LT6 LINE NUMBER LDB SPTR,I MAKE LINE NUMBER OF STB .LNUM CURRENT ERROR ACCESSIBLE ISZ SPTR LOAD LDA SPTR,I ERROR NUMBER CLB EXIT TO JMP SERR1+3 ERROR PRINTER RETAD DEF *+1 ISZ SPTR MORE LDA SPTR CPA PBPTR ERRORS? RSS NO JMP TAPE4 YES TAPE5 LDA DEST CORRECT POINTER TO STA PBPTR LAST WORD +1 OF PROGRAM CLF 0 LDA TERR TURN AND CMSK ERROR FLAG X] STA TERR OFF X] STF 0 JSB RERRS+33,I EMIT PARTING SHOT * TAPE6 STB DEST SET DESTINATION POINTER LDA 1 TO FIRST ERROR ENCOUNTERED JMP TAPE2 TAPE7 STA TAP1 SAVE SOURCE ADDRESS CMA,INA COMPUTE SIZE OF AREA ADA DEST TO BE RECLAIMED STA TAP0 AND SAVE IT ADA SPTR RESET POINTER TO STA SPTR LAST WORD +1 OF PROGRAM LDB SOURC SET POINTER TO ADB TAP0 NEXT STATEMENT STB SOURC TO NEW VALUE LDA TAP1 RETRIEVE SOURCE ADDRESS LDB PBPTR RECLAIM JSB MOVER SPACE LDB DEST SET NEW POINTER TO STB PBPTR PROTECTED AREA LDA SOURC COMPUTE POINTER TO ADA .-3 CURRENT ERROR STATEMENT STA DEST SET NEW DESTINATION POINTER JMP TAPE2+1 ** ** *** MOVE BLOCK TO LOWER CORE *** ** ** * * UPON ENTRY (B) POINTS TO THE LAST WORD +1 TO BE MOVED AND * (A) POINTS TO THE FIRST WORD TO BE MOVED. DEST POINTS TO THE * FIRST WORD OF THE DESTINATION SPACE. * #MOVE STB NUMPT SAVE POINTER TO LAST WORD+1 [E] LDB 0,oI TRANSFER STB DEST,I WORD ISZ DEST BUMP INA POINTERS CPA NUMPT DONE? [E] JMP MOVER,I YES JMP #MOVE+1 NO * *** OUTPUT AN ERROR MESSAGE * #SERR CCA COMPUTE X] ADA SERR X] LDA 0,I AND SAVE X] ADA SERRA X] AND B777 ERROR NUMBER. X] STA LT3 X] ADA RERRA X] STA LT5 SYNTAX X] SSA,RSS ERROR? X] JMP SERR1 NO X] LDA TAPEF YES, X] AND LMSK TAPE X] SZA MODE? X] JMP SERR6 YES X] CLB NO X] LDA SYMTB IS SYMTB A FLAG? (D) CPA .+4 CHECK (D) STB SYMTB YES (D) STB LT2 OUTPUT X] LDA ASCER 'ERROR' X] STA LT1 AND X] LDA .-3 WAIT X] JSB OUTST FOR X] JSB SCHIN,I INPUT X] CCA SET X] ADA LBUFA,I BUFFER X] STA BADDR POINTER X] JSB GETCR CARRIAGE RETURN ONLY? X] JMP SERR4 YES X] * *** PRINT ERROR MESSAGE * SERR1 LDA LT3 [X] * X] CLB LOAD X] STB LT6 S X] RRR 4 BIDRANT X] STB LT3 X] ADA DSERR ADDRESS X] LDB 0,I X] CLA BLOCK THE CLOCK (D) STA DCLC1,I (D) LDA LT3 COMPUTE (D) RAL (D) AND .+1 SECTOR (D) ADA 1 (D) LDB M128 AND (D) STB WORD (D) LDB #LIBI READ IT (D) JSB DISC,I (D) LDA ENDSK WAIT FOR (D) SZA DISC TRANSFER (D) JMP *-2 TO COMPLETE (D) STA LIB (D) LDB DEST SAVE (D) STB MVNDT DEST (D) LDB ERSCA SET UP FOR (D) STB LT1 ERROR STATEMENT (D) STB DEST TRANSFER (D) LDA LT3 COMPUTE (D) ALF,ALF MESSAGE ADDRESS (D) AND .112 (D) ADA #LIB# (D) LDB .+17 MOVE MESSAGE TO (D) ADB 0 ERSEC BUFFER (D) JSB MOVER (D) LDB MVNDT RESTORE DEST (D) STB DEST (D) LDA LT5 WAS THIS AN EXECUTION (D) SSA,RSS ERROR? (D) JMP SERR5 YES (D) LDA B377 NO, OUTPUT A RUBOUT (D) JSB OUTCR AND 7 BLANKS (D) LDA .-7 (D) STA LT3 (D) LDA .+40B (D) JSB OUTCR (D) ISZ LT3 (D) JMP *-3 (D) SERR2 LDA DCLC2,I UNBLOCK THE CLOCK (D) STA DCLC1,I (D) CCB LDA LT1,I PRINT LINE NUMBER? SSA JMP *+3 NO STB LT6 YES, SET FLAG CMA,INA CLB OUTPUT X] STB LT2 ERROR X] JSB OUTST MESSAGE X] ISZ LT6 LINE NUMBER FLAG SET? X] JMP SERR3 NO X] LDA LINEA YES X] STA LT1 PRINT X] CLB X] LDA .-5 'IN LINE' X] JSB OUTST X] LDB .LNUM OUTPUT X] JSB OUTIN LINE NUMBER X] SERR3 LDA LT5 'BAD X] ADA WERRA INPUT' X] SZA,RSS ERROR X] JMP SERR8 YES X] STA LT5 NO - SAVE FOR RETURN CHECK X] LDA .+15B OUTPUT X] JSB OUTCR CARRIAGE RETURN X] SERR4 LDA .+12B OUTPUT X] JSB OUTCR LINE-FEED X] LDA LT5 WARNING X] SSA ONLY? X] JMP SCHEN,I NO X] CLA YES X] SERR8 STA CHRCT X] JMP SERR,I ] X] * X] SERR5 JSB ABCK,I ANY ABORTS? (D) LDA .+15B NO, OUTPUT (D) JSB OUTCR CARRIAGE RETURN X] LDA .+12B AND X] JSB OUTCR LINE-FEED X] LDA LT5 WARNING X] ADA WERRA ERROR? X] SSA,RSS X] JMP SERR2 YES X] LDA CHNFG NO X] AND CMSK CLEAR [X] STA CHNFG CHAIN FLAG X] LDB MAIN ADB .+?TSTA REMOVE 'USER LDA B,I IS RUNNING' AND RNNBT AND 'X-OFF' AND XONBT BITS FROM HIS STA B,I I/O STATUS JMP SERR2 X] SERR6 LDB PBPTR X] ADB .+2 STORE X] LDA LT3 ERROR X] STA 1,I NUMBER X] INB SET POINTER TO X] STB SBPTR LAST WORD+1 OF ERROR X] SZA,RSS 'OUT OF STORAGE' ERROR? X] ISZ SYMTB YES X] CLF 0 NO X] LDA TERR FIRST X] IOR LMSK X] CPA TERR ERROR? X] JMP *+4 NO X] STA TERR YES - SET FLAG X] CLA CLEAR X] STA ERRCT ERROR COUNTER X] STF 0 X] ISZ ERRCT COUNT ERROR X] JSB BCKSP SEEK X] SERR7 JSB GETCTRNR CARRIAGE RETURN X] JMP ACCSA,I X] JMP *-2 X] MVNDT NOP P{ * X] ASCER DEF ERR-1 X] ERR OCT 5105 X] ASC 2,RROR X] LINEA DEF * X] ASC 4, IN LINE X] OCT 20000 X] flT <O 24280-80012 1534 S 0122 TSB/E SYSTEM              H0101  HED LIST ROUTINES * ********************** **** *** *** LIST THE PROGRAM *** **** *** * ********************** * * * * 'LIST' CONVERTS THE CURRENT USER PROGRAM TO A STANDARD ASCII * FORMAT AND PRINTS IT ON THE TELETYPE ONE LINE PER PROGRAM * STATEMENT. 'PUNCH' ADDS A LEADER AND TRAILER TO THE ASCII * PROGRAM DUMP. LISTING BEGINS WITH THE FIRST PROGRAM STATEMENT * UNLESS DIRECTED OTHERWISE BY THE 'LIST' OR 'PUNCH' COMMAND. * LT1 IS THE PROGRAM POSITION POINTER. LT2 IS THE STATEMENT * LENGTH COUNTER. * XPNCH CLA,INA SET FLAG TO XPUNCH JMP LIST+1 PUNCH CCA,RSS SET TO 'PUNCH' MODE LIST CLA SET TO 'LIST' MODE STA LT0 SAVE MODE LDB PBUFF NULL CPB PBPTR PROGRAM? JMP LIS16 YES LDB SPROG NO STB LT3 JSB SINIT PREPARE PROGRAM FOR LISTING LDB PBPTR LDA CFLAG SAVE AND LMSK PROGRAM [X] STA LT5 MODE * * ** DETERMINE FIRST STATEMENT TO BE LISTED ** * * SZA SAVE POINTER TO LDB SYMTB LAST WORD +1 STB LT6 OF PROGRAM LDB BIT15 GET LARGE SEQUENCE NUMBER STB LT7 SET ENDING SEQUENCE NUMBER JSB GETCR STARTING LINE NUMBER? JMP LIST1 NO CLB CPA .+54B CHECK FOR COMMA JMP LISCM FIRST STATEMENT NUMBER OMITTED. JSB BCKSP BACK UP FOR FIRST STATEMENT NUMBER JSB BLDIN FETCH INTEGER CPA .+15B CHECK FOR CARRIAGE RETURN JMP LISCR YES, END OF COMMAND CPA .+54B COMMA? JMP LISCM YES JSB RERRS+12,I NOPE LISCM EQU * STB LT3 SAVE STARTING SEQUENCE NUMBER JSB BLDIN GET INTEGER CPA .+15B END OF RECORD? CMB,RSS YES JSB RERRS+12,I NO STB 'LT7 SAVE ENDING SEQUENCE NUMBER LDB LT3 GET BACK STARTING SEQUENCE NUMBER LISCR EQU * LDA LT6 SEEK JSB FNDPS STATEMENT JMP LIS16 ALL LINE NUMBERS < GIVEN INTEGER NOP SAVE DESIRED STB LT3 STARTING POINT LIST1 LDA .+12B OUTPUT A JSB OUTCR LINE FEED * * ** OUTPUT PROGRAM NAME ** * * LDA LNAME STA LT1 ADA .+?NAME-?ID LDA 0,I AND INF SZA,RSS NAME? JMP *+7 YES CLB NO STB LT2 OUTPUT LDA .-3 PROGRAM JSB OUTST NAME LDA .+15B OUTPUT JSB OUTCR CARRIAGE RETURN LDA .+12B AND JSB OUTCR DOUBLE LDA .+12B LINE JSB OUTCR FEED * * ** OUTPUT LEADER IF 'PUNCH' ** * * CLA 'LIST' CPA LT0 MODE? JMP LIST2-2 YES LDA M72B NO, STA DIGCT OUTPUT CLA FEED JSB OUTCR FRAMES ISZ DIGCT FOR JMP *-3 LEADER LDB LT3 SET POINTER TO STB LT1 STARTING POINT * * ** MAIN LIST LOOP ** * * LIST2 LDB LT1 PROGRAM CPB LT6 EXHAUSTED? JMP LIS15 YES LDB LT1,I GET LINE NUMBER ADB LT7 CHECK FOR END OF LISTING SSB,RSS SKIP IF NOT DONE YET JMP LIS15 STOP LISTING HERE LDB LT1,I NO, OUTPUT JSB OUTIN LINE NUMBER LDA .+40B OUTPUT JSB OUTCR BLANK ISZ LT1 CHECK STATEMENT LENGTH (D) LDA LT1,I (D) JSB STLCK (D) LDA LT1,I SET LENGTH (D) CM7A,INA COUNTER INA FOR STA LT2 STATEMENT JMP LIST3 LDB LT1,I OUTPUT JSB OUTIN BOUND LIST3 ISZ LT1 MORE OF ISZ LT2 STATEMENT? JMP LIST4 YES CLA,INA IS IT XPUNCH? CPA LT0 RSS YES JMP *+3 LDA .+23B OUPUT X-OFF CHARACTER JSB OUTCR kk LDA .+15B NO, JSB OUTCR OUTPUT A LDA .+12B CARRIAGE RETURN JSB OUTCR AND LINE FEED JMP LIST2 2 * * ** IDENTIFY OPERATOR ** * * LIST4 LDA LT1,I EXTRACT AND OPMSK OPERATOR SZA,RSS NULL OPERATOR? JMP LIST5 YES CPA LETOP NO, 'IMPLIED' LET? JMP LIST5-2 YES, OUTPUT A BLANK ALF,ALF NO, ADA D62 SINGLE-CHARACTER SSA,RSS OPERATOR? JMP LIS12 NO ADA B63 YES, ADA FOPBS EXTRACT LDA 0,I ASCII ALF,ALF CODE AND B177 CPA .+42B " ? ? JMP LIS14 YES RSS NO LDA .+40B LOAD A BLANK JSB OUTCR * * ** IDENTIFY OPERAND ** * * LIST5 LDA LT1,I EXTRACT AND OPDMK OPERAND STA LT3 SSA FLAG BIT SET? JMP LIST9 YES CLB NO, NULL CPB LT3 OPERAND? JMP LIST3 YES CPB LT5 NO, 'COMPILED' ? JMP LIST0 NO ADA .-1 YES ALS LOAD ADA SYMTB ACTUAL LDA 0,I SYMBOL STA LT3 SAVE SYMBOL * * ** LIST SYMBOLIC OPERAND ** * * LIST0 AND PDFFL ISOLATE TYPE PART CPA .+17B FUNCTION? JMP LIST8 YES LIST6 LDA LT3 NO, RRR 4 COMPUTE AND .+37`B ASCII FOR ADA B100 LETTER JSB OUTCR OUTPUT LETTER LDA LT3 3 AND .+17B CPA .+17B FUNCTION? JMP LIST3 YES SZA,RSS NO, STRING VARIABLE? JMP LIST7 YES ADA .-5 NO SSA DIGIT? JMP LIST3 NO ADA .+60B YES, JSB OUTCR OUTPUT IT JMP LIST3 LIST7 LDA .+44B LOAD ASCII '$' JMP *-3 LIST8 LDA F OUTPUT JSB OUTCR LDA N 'FN' JSB OUTCR JMP LIST6 * * ** LIST CONSTANT OPERAND OR PARAMETER ** * * LIST9 ELA,CLE,ERA CLEAR FLAG BIT SZA CONSTANT? JMP LIS10 NO STA CHRCT YES, SET STA SIGN FOR NO SIGN ISZ LT1 LOAD ISZ LT2 DLD LT1,I CONSTANT ISZ LT1 ISZ LT2 CLE,SSA NEGATIVE NUMBER? CCE YES, ENABLE SIGN JSB NUMOT OUTPUT THE CONSTANT JMP LIST3 LIS10 AND .+17B ISOLATE TYPE PART CPA .+3 PROGRAM INTEGER? JMP LIS11 YES CPA .+17B NO, PRE-DEFINED FUNCTION? RSS YES JMP LIST6 NO, MUST BE A PARAMETER SYMBOL LDA LT3 OUTPUT ALF,RAL LDB ATAB FUNCTION JSB MCOUT JMP LIST3 SYMBOL LIS11 ISZ LT1 ISZ LT2 LDA LT4 LISTING A CPA DIMOP ? JMP LIST3-2 YES CPA COMOP NO, 'COM'? JMP LIST3-2 YES LIS18 EQU * B] LDA LT5 NO LDB LT1,I LOAD PROSPECTIVE INTEGER SZA PROGRAM 'COMPILED' ? LDB 1,I YES JSB OUTIN OUTPUT INTEGER ISZ LT1 MORE ISZ LT2 STATEMENT? RSS YES JMP LIST3+3 NO LDA .+54B EMIT JSB OUTCR A COMMA 3 JMP LIS18 B] * * ** LIST MULTICHARACTER OPERATOR ** * * LIS12 LDA .+40B OUTPUT JSB OUTCR A BLANK LDA LT1,I OUTPUT LDB MCBOP MULTICHARACTER JSB MCOUT OPERATOR LDA .+40B LDB LT4 WAS IT CPB REMOP A 'REM' ? JMP LIS13 YES CPB FILOP NO, 'FILES' ? JMP LIS13-1 YES CPB CHNOP NO, 'CHAIN'? JMP LIS13-1 YES JSB OUTCR NO, OUTPUT A BLANK JMP LIST5 JSB OUTCR OUTPUT A BLANK LIS13 LDA LT2 OUTPUT CCB THE JSB OUTST REMARK JMP LIST3 * * ** OUTPUT TRAILER IF 'PUNCH' ** * * LIS15 CLA LISTSK CPA LT0 MODE? JMP SCHEN,I YES LDA M72B NO, STA DIGCT OUTPUT CLA FEED JSB OUTCR FRAMES ISZ DIGCT FOR JMP *-3 TRAILER JMP SCHEN,I * LIS16 LDA .+12B ECHO JSB OUTCR LINE JMP SCHEN,I FEED * * ** LIST A STRING CONSTANT ** * * LIS14 JSB OUTCR OUTPUT " LDA LT1,I COMPUTE AND B377 WORDS SZA,RSS JMP LIS17 CMA,INA OF ARS STRING CLB OUTPUT JSB OUTST STRING LIS17 LDA .+42B OUTPUT JSB OUTCR CLOSING " JMP LIST3 ** ** *** WRITE BUFFER TO DISC *** ** ** * * THE BUFFER OF THAT FILE CURRENTLY REFERENCED BY FBASE IS * WRITTEN TO ITS PLACE ON THE DISC, UNLESS NOTHING HAS BEEN * WRITTEN INTO THE BUFFER. * * #WRBU LDB FBASE LOAD FIRST ADB .-2 WORD FROM LDA 1,I FILE TABLE RAL,ELA  ENTRY SEZ,CLE,RSS HAS BIT14 BEEN SET? JMP WRBUF,I NO ERA,RAR YES--CLEAR IT STA 1,I LDA FBASE,I LOAD ACTIVE RECORD ADDRESS CPA .-1 NULL RECORD? JMP WRBUF,I YES LDB M128 NO X] CLF 0 WRITE STB WORD LDB RQ3 JSB DISC,I RECORD LDA ENDSK SZA JMP *-2 TO DISK JMP WRBUF,I I6 ** ** *** TRANSFER A STRING *** ** ** * * THE NUMBER OF CHARACTERS SPECIFIED BY TNULL (IN 1'S * COMPLEMENT) IS TRANSFERRED FROM THE SOURCE STRING TO * A DESTINATION STRING BEGINNING WITH THE CHARACTER * ADDRESSED BY TEMP5. * * #TRST STA TRFCH SAVE SUBROUTINE CALL ISZ TNULL MORE TRANSFER STRING? RSS YES JMP TRSTR,I NO JSB TRFCH,I FETCH A SOURCE CHARACTER LDA .+40B NONE LEFT, LOAD A BLANK STA TRS0 SAVE IT LDB TEMP5 LOAD CLE,ERB DESTINATION LDA 1,I WORD SEZ,RSS SAVE ALF,ALF OTHER AND M256 CHARACTER IOR TRS0 COMBINE WITH SEZ,RSS NEW CHARACTER ALF,ALF AND STORE STA 1,I WORD ISZ TEMP5 INCREMENT DESTINATION ADDRESS JMP #TRST+1 ** ** *** LIST A MULTICHARACTER SYMBOL *** ** ** * * UPON ENTRY (A) HOLDS A WORD CONTAINING A SYMBOL CODE AND (B) * HOLDS A POINTER TO THE PRINT NAME TABLE. THE SYMBOL IS FOUND * IN THE TABLE AND ITS ASCII FORM OUTPUT. * #MCOT AND OPMSK SAVE STA LT4 SYMBOL MCOT1 LDA 1,I DESIRED AND OPMSK TABLE CPA LT4 ENTRY? JMP MCOT2 YES LDA 1,I NO, AND .+7 COMPUTE ADA .+3 ADDRESS ARS OF NEXT ADB 0  ENTRY JMP MCOT1 MCOT2 LDA 1,I COMPUTE AND .+7 COUNT CMA,INA OF ARS ASCII STA LT3 WORDS STB OUTST SAVE ASCII SYMBOL ADDRESS MCOT3 ISZ OUTST MOVE TO NEXT WORD OF SYMBOL LDA OUTST,I OUTPUT ALF,ALF HIGH JSB OUTCR LDA OUTST,I OUTPUT AND B377 LOW CHARACTER SZA IF NOT JSB OUTCR NULL ISZ LT3 MORE SYMBOL? JMP MCOT3 YES JMP MCOUT,I NO ** ** *** LIST A STRING *** * ** ** * * UPON ENTRY (A) HOLDS A NEGATIVE WORD COUNT OF THE STRING. IF * (B) # 0 THE STRING BEGINS WITH THE LOW HALF OF (LT1),I ; IF * (B) = 0 IT BEGINS WITH THE HIGH HALF OF THE WORD FOLLOWING * (LT1),I . A TRAILING NULL CHARACTER WILL NOT BE PRINTED. * #OTST STA LT4 SAVE STRING WORD COUNT SZB 'REM' ? JMP OTST2 YES OTST1 ISZ LT1 NO, MOVE TO ISZ LT2 NEXT PROGRAM WORD LDA LT1,I OUTPUT ALF,ALF HIGH JSB OUTCR OTST2 LDA LT1,I OUTPUT AND B377 LOW CHARACTER SZA IF NOT JSB OUTCR NULL ISZ LT4 MORE STRING? JMP OTST1 YES JMP OUTST,I NO SKP ** ** *** OUTPUT AN INTEGER *** ** ** * * ENTER WITH A POSITIVE INTEGER IN (B). OUTPUT IT WITHOUT * LEADING ZEROS. * #OTIN LDA .-4 SET DIGIT STA DGCNT COUNTER LDA LDVSR SET DIVISOR STA OT1 ADDRESS CLA SUPPRESS STA OUTCR ZEROS OUTI1 LSR 16 DIVIDE INTEGER BY DIV OT1,I CURRENT DIVISOR STB OT3 SAVE THE REMAINDER CPA OUTCR LEADING ZERO? JMP OUTI2 YES ADA .+60B NO. JSB OUTCR OUTPUT DIGIT OUTI2 LDB OT3 RE TRIEVE REMAINDER ISZ OT1 SET FOR NEXT DIVISOR ISZ DGCNT ALL DIVISORS USED? JMP OUTI1 NO LDA 1 YES ADA .+60B OUTPUT JSB OUTCR LAST DIGIT JMP OUTIN,I SKP Pl ** ** *** SPACE FOR A COMMA *** ** ** * * MOVE TO THE NEXT FIELD OF 15 ON THE PRINT LINE OR TO THE * NEXT LINE IF THE CURRENT ONE IS EXHAUSTED. * #EDLM LDB CHRCT LOAD CURRENT CHARACTER COUNT SZB,RSS ZERO? JMP EDELM,I YES, AT START OF ZONE ADB .-15 NO, SUBTRACT ZONE WIDTH SSB,RSS NON-NEGATIVE RESULT? JMP #EDLM+1 YES STB EOL NO, SAVE COUNT LDA .+40B OUTPUT JSB OUTCR A BLANK ISZ EOL ZONE FULL? JMP *-3 NO LDB CHRCT YES, ADB M74 PAST THE SSB,RSS END OF LINE? JSB OUTLN YES JMP EDELM,I NO ** ** *** OUTPUT AN END-OF-LINE *** ** ** #OTLN LDB EOPF RESET ADB CHRCT END-OF-FIELD STB EOPF MARKER LDA .+23B OUTPUT JSB OUTCR AN X-OFF LDA .+15B OUTPUT A JSB OUTCR CARRIAGE RETURN LDA .+12B AND A JSB OUTCR LINE FEED JMP OUTLN,I ** ** *** OUTPUT A CHARACTER *** ** ** * * OUTPUT THE CHARACTER IN (A). NON-PRINTING CHARACTERS DO NOT * COUNT AGAINST THE 72 CHARACTERS PER LINE. A CARRIAGE RETURN * ('CONTROL O' IN A STRING OR AN END-OF-LINE, FOR EXAMPLE) * RESETS THE PRINT POSITION TO 0. * #OTCR STA OCTMP SAVE CHARACTER AND .140 NON- SZA PRINTING CPA .140 CHARACTER? RSS YES ISZ CHRCT NO, COUNT IT CLB LDA OCTMP RETRIEVE CHARACTER CPA .+15B CARRIAGE RETURN? STB CHRCT YES, ZERO 640CHARACTER COUNT LDB MLINK+1 ADB .-?LINK JSB POCR,I, JMP OUTCR,I 6 = K 24280-80013 1534 S 0122 TSB/E SYSTEM              H0101  HED MATRIX EXECUTION * *** ** ** EXECUTE ** *** ** * * EMT1 DEF EMAT1 * * EMAT LDA TEMP1,I FIRST AND OPDMK OPERAND SZA NULL? JMP EMT1,I NO * * ** IDENTIFY MATRIX I/O ** * * ISZ TEMP1 LDA TEMP1,I COMPUTE AND SAVE RRR 9 I/O TYPE: AND B77 INPUT = -2 ADA D65 READ = -1 STA MT1 PRINT = 0 SSA,INA,SZA SAVE FLAG STA MT0 IF 'INPUT' JSB VLFIL PROCESS ANY NOP FILE REQUEST MIO1 LDA TEMP1,I LOAD NEXT AND OPDMK IDENTIFIER SZA,RSS ZERO? JMP XEC1A,I YES * * ** PREPARE A MATRIX FOR I/O ** * * ALS LOAD ADA SYMTB BASE ADDRESS ADA .-1 OF ARRAY LDB 0,I ADB .-2 SAVE POINTER TO STB SBPTR DYNAMIC DIMENSIONS LDA TEMP1 LAST INA WORD OF CPA PRGCT STATEMENT? CLA YES LDA 0,I NO, LOAD (A) WITH AND OPMSK FOLLOWING OPERATOR LDB MT1 MAT SZB,RSS PRINT? JMP MIO2 YES CPA LBOP NO, '' NEXT OPERATOR? JSB REDIM YES, REDIMENSION ARRAY LDA SBPTR,I SET POINTER ISZ SBPTR TO FIRST ELEMENT MPY SBPTR,I OF ARRAY ISZ SBPTR WHILE COMPUTING CMA,INA NUMBER OF STA MCNT ELEMENTS CCA MAT CPA MT1 READ? JMP MIO9 YES * * ** INPUT VALUES FOR MATRIX ** * * ISZ MT0 FIRST MATRIX TO BE INPUT? RSS NO JMP MINP1,I YES ADA MT0 RETRIEVE JMP MINP2,I SAVED CHARACTER * * ** READ VALUES FOR MATRIX ** * * MIO9 CLB,INB FETCH JSB FDATA CONSTANT DST SBPTR,I STORE ISZ SBPTR ISZ SBPTR IT ISZ MCNT DONE? JMP MIO9 NO JMP MIO7 YES * MIO2 CPA B3000 ';' FOLLOWING ARRAY? CCB YES STB MCNT NO, TREAT AS COMMA LDB SBPTR VALIDATE JSB VCHK ARRAY ELEMENTS LDA SBPTR,I SAVE ISZ SBPTR COUNT CMA,INA OF STA MT0 ROWS LDA SBPTR,I ISZ SBPTR LDB FILE# WRITE ON SSB A FILE? JMP MIO3 NO * * ** WRITE MATRIX ON FILE ** * * MPY MT0 SET STA MCNT ELEMENT COUNTER MIO4 LDB .-2 WRITE ELEMENT JSB FILST TO FILE ISZ SBPTR MOVE TO ISZ SBPTR NEXT ELEMENT ISZ MCNT MATRIX DONE? JMP MIO4 NO JMP MIO7 YES SKP * * ** WRITE MATRIX ON TELETYPE ** * * MIO3 CMA,INA SAVE STA MT3 COLUMN COUNT MIO8 STA MT2 SET COLUMN COUNT JMP MIO6O MIO5 CLA CPA MCNT JSB EDELM MIO6 DLD SBPTR,I PRINT JSB ENOUT ELEMENT ISZ SBPTR MOVE TO ISZ SBPTR NEXT ELEMENT ISZ MT2 ROW DONE? JMP MIO5 NO JSB OUTLN YES, DOUBLE JSB OUTLN SPACE LDA MT3 3 ISZ MT0 MATRIX DONE? JMP MIO8 NO * * ** CHECK FOR MORE MATRICES ** * * MIO7 ISZ TEMP1 LDB TEMP1 STATEMENT CPB PRGCT FINISHED? JMP *+3 YES STA MT0 NO, SAVE (A) JMP MIO1 LDB .-2 MATRIX CPB MT1 ZINPUT? JMP ENDIN,I YES JMP XEC1A,I NO * * ** PREPARE MATRIX ASSIGNMENT ** * * EMAT1 LDB XEC1A SET MAIN LOOP TO STB MEXIT STATEMENT EXIT MODE ALS ADA SYMTB COMPUTE ADA .-1 POINTER LDB 0,I TO ADB .-2 DESTINATION STB BS1 MATRIX ISZ TEMP1 LDA TEMP1,I MATRIX SSA FUNCTION? JMP EMAT6 YES LDB MLP2A NO, SET OPERATION EMAT2 STB MOP JUMP TO 'REPLACE' MODE ISZ TEMP1 AND OPDMK SCALAR SZA,RSS MULTIPLICATION? JMP EMAT5 YES ALS NO ADA SYMTB COMPUTE ADA .-1 POINTER LDB 0,I TO FIRST ADB .-2 SOURCE STB BS2 MATRIX JSB VCHK VALIDATE ITS ELEMENTS LDA TEMP1 END OF CPA PRGCT STATEMENT? JMP EMAT3 YES LDA TEMP1,I NO AND OPDMK COMPUTE ALS ADA SYMTB POINTER TO ADA .-1 LDB 0,I SECOND ADB .-2 STB BS3 SOURCE MATRIX JSB VCHK VALIDATE ITS ELEMENTS LDA TEMP1,I AND OPMSK MATRIX CPA MULOP MULTIPLICATION? JMP EMAT4 YES RRL 6 NO JMP EMT3 SPC 1 1 * ** POINTERS AND CONSTANTS * MLP3A DEF MLOP3 MADDA DEF MADD MSUBA DEF MSUB SMULA DEF SMULT IDNA DEF IDN N( MCPYA DEF MCPY TOLC DEC +1E-6 F0.0A DEF F0.0 F0.0 DEC 0.0 F1.0A DEF F1.0DD F1.0 DEC 1.0 SKP * * ** SET UP MATRIX ADD, SUBTRACT, OR REPLACE ** * * EMT3 EQU * // LDB MADDA RECORD SSA 'MATRIX ADD' LDB MSUBA OR 'MATRIX SUBTRACT' STB MOP OPERATION JUMP LDB BS1 Ɠ LDA 1,I ROW CPA BS3,I COMPATIBILITY? INB,RSS YES JSB RERRS+11,I NO ISZ BS3 LDB 1,I COLUMN CPB BS3,I COMPATIBILITY? RSS YES JSB RERRS+11,I NO ISZ BS3 EMAT3 LDA BS2,I ROW CPA BS1,I COMPATIBILITY? RSS YES JSB RERRS+11,I NO ISZ BS2 ISZ BS1 COMPUTE NUMBER MPY BS2,I OF MATRIX ELEMENTS LDB BS2,I COLUMN CPB BS1,I COMPATIBILITY? CMA,INA,RSS YES JSB RERRS+11,I NO STA MCNT SAVE 2'S COMPLEMENT OF SIZE ISZ BS2 ISZ BS1 SKP * * ** ASSIGN MATRIX VALUE ** * * * * MOP HOLDS A POINTER TO CODE WHICH COMPUTES ONE ELEMENT OF THE * DESTINATION MATRIX AND RETURNS IT IN (A) AND (B). MEXIT * HOLDS THE EXIT ADDRESS SET BY THE CALLER. * MLOOP DLD BS2,I LOAD ELEMENT OF SOURCE MATRIX JMP MOP,I JUMP TO OPERATION MLOP1 ISZ BS3 MOVE TO NEXT ELEMENT ISZ BS3 OF SECOND SOURCE MATRIX MLOP2 ISZ BS2 MOVE TO NEXT ELEMENT ISZ BS2 OF FIRST SOURCE MATRIX MLOP3 DST BS1,I RECORD ELEMENT ISZ BS1 OF DESTINATION MATRIX ISZ BS1 AND MOVE TO NEXT ELEMENT ISZ MCNT DONE? JMP MLOOP NO JMP MEXIT,I YES * * ** COMPUTE MATRIX PRODUCT ** * * EMAT4 LDA BS1,I DESTINATION MATRIX CPA BS2,I ROW COMPATIBILITY? CMA,INA,RSS YES JSB RERRS+11,I NO STA MMT0 SAVE ROW COUNTER ISZ BS1 ISZ BS2 LDA BS2,I INNER PRODUCT CPA BS3,I COMPATIBILITY? CMA,INA,RSS YES JSB RERRS+11,I NO STA MMT1 SAVE INNER PRODUCT STA MMT2 COUNTERS ALS SAVE ROW STA MMT6 BACK UP AMOUNT MPY BS1,I SAVE COLUMN  ADA .+2 BACK UP STA MMT7 AMOUNT ISZ BS3 LDA BS1,I DESTINATION MATRIX CPA BS3,I COLUMN COMPATIBILITY? CMA,INA,RSS YES JSB RERRS+11,I NO STA MMT3 SAVE COLUMN STA MMT4 COUNTERS CMA,INA SAVE COLUMN ALS ADVANCE STA MMT5 AMOUNT ISZ BS1 MOVE TO ISZ BS2 FIRST ELEMENT ISZ BS3 OF MATRICES LDB BS3 SAVE FIRST-ELEMENT ADDRESS STB MMT8 OF SECOND SOURCE MATRIX MPR1 DLD F0.0 INITIALIZE DESTINATION DST BS1,I ELEMENT TO ZERO MPR2 DLD BS2,I COMPUTE ISZ BS2 TERM ISZ BS2 OF JSB .FMP INNER DEF BS3,I PRODUCT JSB .FAD ADD IN PREVIOUS DEF BS1,I RUNNING SUM DST BS1,I SAVE RUNNING SUM LDB BS3 ADVANCE TO ADB MMT5 NEXT ROW OF STB BS3 SECOND SOURCE MATRIX ISZ MMT2 INNER PRODUCT COMPLETE? JMP MPR2 NO ISZ BS1 YES, MOVE TO NEXT ISZ BS1 DESTINATION ELEMENT LDB MMT1 RESET INNER PRODUCT STB MMT2 TERM COUNTER ISZ MMT4 ROW COMPLETE? JMP MPR3 NO LDB MMT3 YES, RESET STB MMT4 COLUMN COUNTER ISZ MMT0 DONE? JMP MPR4 NO JMP XEC1A,I YES MPR3 LDB BS2 BACK UP ADB MMT6 TO BEGINNING OF ROW OF STB BS2 FIRST SOURCE MATRIX LDB BS3 BACK UP TO BEGINNING ADB MMT7 OF NEXT COLUMN RSS OF SECOND SOURCE MATRIX MPR4 LDB MMT8 BACK UP TO FIRST ELEMENT STB BS3 JMP MPR1 * * ** SET UP SCALAR MULTIPLICATION ** * * EMAT5 JSB FETCH COMPUTE AND DST SCALR SAVE SCALAR ISZ TEMP1 LOAD OPERATION JUMP  ISZ TEMP1 PROCESS LDA TEMP1,I FOLLOWING LDB SMULA MATRIX JMP EMAT2 * * EMAT6 RRR 4 COMPUTE AND .+37B MATRIX ADA .-27B FUNCTION STA ID0 TYPE SSA,RSS MATRIX INITIALIZATION? JMP EMAT8 NO * * ** SET UP MATRIX INITIALIZATION ** * * LDB TEMP1 INB CPB PRGCT REDIMENSIONING? RSS NO JSB REDIM YES INVL LDA BS1,I COMPUTE STA ID1 NUMBER ISZ BS1 OF ELEMENTS MPY BS1,I IN 2'S CMA,INA COMPLEMENT STA MCNT SAVE IT ISZ ID0 'IDN' ? JMP EMAT7 NO LDA BS1,I YES CPA ID1 SQUARE MATRIX? CMA,RSS YES JSB RERRS+24,I NO STA ID0 SET CCA DIAGONAL STA ID1 COUNTER LDA IDNA LOAD OPERATION JUMP JMP *+4 EMAT7 LDA MLP3A RECORD LDB F1.0A CORRECT CONSTANT: ISZ ID0 0.0 FOR 'ZER' LDB F0.0A 1.0 FOR 'CON' STB BS2 0.0 FOR 'IDN' STA MOP RECORD OPERATION JUMP JMP MLOOP-1 * * EMAT8 ISZ TEMP1 COMPUTE LDA TEMP1,I AND OPDMK POINTER ALS ADA SYMTB TO ADA .-1 LDB 0,I SOURCE ADB .-2 STB BS2 MATRIX JSB VCHK VALIDATE IT LDB BS1,I LOAD DESTINATION ROW DIMENSION BLS SAVE COLUMN STB MMT3 ADVANCE AMOUNT BRS ISZ BS1 LDA BS1,I ARE COLUMNS OF DESTINATION CPA BS2,I AND ROWS OF SOURCE EQUAL? CMA,INA,RSS YES JSB RERRS+11,I NO STA MMT1 SAVE DESTINATION MATRIX STA MMT2 COLUMN COUNTERS ISZ BS2 ARE ROWS OF DESTINATION AND CPB BS2,I A COLUMNS OF SOURCE EQUAL? CMB,INB,RSS YES JSB RERRS+11,I NO STB MMT0 SAVE ROW COUNTER MPY MMT3 SAVE COLUMN BACK UP ISZ BS2 LDB ID0 SZB,RSS 'TRN' ? JMP INV NO ADA .+2 YES, SAVE COLUMN STA MMT4 BACK UP AMOUNT ISZ BS1 FOR SOURCE MATRIX JMP TRN TRN1 LDB MMT1 RESET STB MMT2 COUNTER LDB BS2 BACK UP TO ADB MMT4 FIRST ELEMENT STB BS2 OF NEXT COLUMN * * ** TRANSPOSE A MATRIX ** * * TRN DLD BS2,I TRANSFER DST BS1,I ELEMENT ISZ BS1 eeee ISZ BS1 LDB BS2 ADVANCE TO ADB MMT3 NEXT ELEMENT STB BS2 OF COLUMN ISZ MMT2 COLUMN TRANSFERRED? JMP TRN NO ISZ MMT0 YES, DONE? JMP TRN1 NO JMP XEC1A,I YES * * ** INVERT A MATRIX ** * * *| INV LDB 0 SAVE 2'S COMPLEMENT ARS OF NUMBER OF STA MCNT ELEMENTS IN MATRIX LDA BS1 SAVE ADDRESS OF STA BS3 DESTINATION MATRIX LDA TMPST SET ADDRESS ADA .+2 OF FREE CORE STA BS1 AS BASE ADDRESS CMA,INA SUFFICIENT ADA LWAUS FREE CORE ADA 1 TO COPY CMA,SSA,RSS SOURCE MATRIX? JSB RERRS+10,I NO ADA LWAUS YES, INCLUDE IT STA PBPTR IN SWAP AREA CLB SET 'MAXIMUM ELEMENT' STB MAXE VALUE TO STB MAXE+1 ZERO LDA MCPYA SET UP TO STA MOP COPY MATRIX, LDA INV1 FIND MAXIMUM (ABSOLUTE STA MEXIT VALUE) ELEMENT, JMP MLOOP AND RETURN INV1 DEF *+1 DLD MAXE COMPUTE JSB .FMP RELATIVE DEF TOLC TOLERANCv E DST TOL L CCA STA ID0 RESTORE ADA BS3 DESTINATION STA BS1 BASE ADDRESS CMA,INA COMPUTE DIFFERENCE ADA TMPST BETWEEN BASE ADDRESSES CMA,INA OF SOURCE (COPIED) STA BS3 AND DESTINATION LDA INV2 MATRICES STA MEXIT SET DESTINATION MATRIX JMP INVL TO IDENTITY AND RETURN INV2 DEF *+1 LDB TMPST SAVE ADB .+2 BASE ADDRESS LDA 1 OF SOURCE STB BS2 MATRIX ADB BS3 SAVE BASE ADDRESS OF STB BS1 DESTINATION MATRIX CLB SET PIVOT ELEMENT STB ID0 BIAS TO ZERO JMP INV4 INV3 LDA ID0 SET BIAS ADA .-2 FOR NEXT STA ID0 PIVOT ELEMENT LDA MMT0 INITIALIZE COUNTER TO STA MMT2 2'S COMPLEMENT OF COLUMNS LDA PIVEL UPDATE PIVOT ADA MMT3 ADDRESS ADA .+2 TO NEXT INV4 STA PIVEL DIAGONAL ELEMENT STA MMT4 INITIALIZE CLB PIVOT ELEMENT STB MAXE AS MAXIMUM STB MAXE+1 IN COLUMN LDB MMT1 SET COUNTER TO SEARCH STB MMT5 REMAINDER OF COLUMN INV5 STA MMT6 LOADAj DLD MMT6,I ELEMENT SSA GET JSB ARINV ABSOLUTE DST SCALR VALUE JSB .FSB SUBTRACT DEF MAXE PREVIOUS MAXIMUM SZA RESULT SSA POSITIVE? JMP INV6 NO DLD SCALR YES, RECORD DST MAXE NEW MAXIMUM LDA MMT6 AND ITS STA MMT4 LOCATION INV6 LDA MMT6 MOVE TO NEXT ADA MMT3 ELEMENT OF COLUMN ISZ MMT5 COLUMN DONE? JMP INV5 NO LDB PIVEL YES ADB ID0 SET POINTERS STB MMT7 TO OLD ADB BS3 PIVOT ROWS OF STB MMT5 BOTH MATRICES STB ID1 LDA MMT4 NEED TO CPA PIVEL SWAP ROWS? JMP INV8 NO ADA ID0 YES, SET POINTERS STA MMT8 TO NEW ADA BS3 PIVOT ROWS OF STA MMT6 BOTH MATRICES INV7 DLD MMT5,I SWAP DST SCALR DLD MMT6,I ROW DST MMT5,I DLD SCALR ELEMENT DST MMT6,I DLD MMT7,I OF DST SCALR DLD MMT8,I EACH DST MMT7,I DLD SCALR MATRIX DST MMT8,I ISZ MMT5 BUMP ISZ MMT5 ISZ MMT6 ALL ISZ MMT6 ISZ MMT7 FOUR ISZ MMT7 ISZ MMT8 POINTERS ISZ MMT8 ISZ MMT2 ROW SWAPPED? JMP INV7 NO INV8 DLD MAXE YES JSB .FSB PIVOT ELEMENT DEF TOL SMALLER THAN SSA TOLERANCE? JSB RERRS+26,I YES DLD F1.0 NO JSB .FDV COMPUTE DEF PIVEL,I INVERSE OF DST MAXE PIVOT ELEMENT LDA MMT1 LAST INA,SZA,RSS PIVOT? JMP INV10 YES STA MMT5 NO, PREPARE LDA PIVEL TO SCALE STA MMT6 PIVOT ROW INV9 ISZ MMT6 MOVE TO NEXT ISZ MMT6 ELEMENT OF ROW DLD MMT6,I MULTIPLY JSB .FMP BY 1/PIVOT DEF MAXE AND STORE DST MMT6,I NEW VALUE ISZ MMT5 ROW DONE? JMP INV9 NO INV10 LDA ID1 YES STA MMT6 LDA MMT0 SET STA MMT2 STA MMT5 COUNTERS INV11 DLD MMT6,I SCALE ELEMENTS OF SZA,RSS JMP INV12 PIVOT ROW JSB .FMPM- DEF MAXE OF DESTINATION DST MMT6,I INV12 ISZ MMT6 MATRIX ISZ MMT6 ISZ MMT5 ROW DONE? JMP INV11 NO LDB BS1 YES, SET POINTER TO STB VT0 DESTINATION ARRAY LDA BS2 SET POINTER CMA,INA TO PIVOT COLUMN ADA ID0 IN FIRST ROW CMA,INA OF SOURCE INV13 STA MMT8 MATRIX CPA PIVEL PIVOT ROW? JMP INV19 YES STA MMT7 NO DLD MMT7,I LOAD MULTIPLIER FOR PIVOT ROW SZA,RSS ZERO? JMP INV19 YES DST SCALR NO, SAVE MULTIPLIER LDA MMT1 LAST INA,SZA,RSS ROW? JMP INV15 YES STA MMT5 NO, SET POINTER TO LDA PIVEL PIVOT ELEMENT IN STA MMT6 SOURCE MATRIX INV14 ISZ MMT6 MOVE ISZ MMT6 TO ISZ MMT7 NEXT ISZ MMT7 COLUMN DLD SCALR COMPUTE JSB .FMP DEF MMT6,I DST MAXE TRANSFORMED DLD MMT7,I JSB .FSB DEF MAXE ELEMENT DST MMT7,I ISZ MMT5 ROW DONE? JMP INV14 NO INV15 LDA ID1 YES, SET POINTER TO PIVOT STA MMT6 ROW OF DESTINATION MATRIX LDA MMT0 SET STA MMT4 COUNTER INV16 DLD MMT6,I COMPUTE SZA,RSS JMP INV17 JSB .FMP DEF SCALR TRANSFORMED DST MAXE DLD VT0,I JSB .FSB DEF MAXE ELEMENT DST VT0,I INV17 ISZ VT0 MOVE ISZ VT0 TO ISZ MMT6 NEXT ISZ MMT6 COLUMN ISZ MMT4 ROW DONE? JMP INV16 NO INV18 LDA MMT8 YES, MOVE TO NEXT ADA MMT3 ROW IN SOURCE MATRIX ISZ MMT2 ALL ROWS TRANSFORMED? JMP INV13 NO ISZ MMT1 YES, MATRIX INVERTED? JMP INV3 NO LDA TMPST YES ADA .+23 RELEASE EXTRA STA PBPTR CORE JMP XEC1A,I INV19 LDA VT0 ADVANCE TO ADA MMT3 NEXT ROW OF STA VT0 DESTINATION JMP INV18 MATRIX B@<N 24280-80014 1534 S 0122 TSB/E SYSTEM              H0101 * * ** CODE TO COMPUTE AN ELEMENT ** * * MADD JSB .FAD ADD DEF BS3,I SOURCE JMP MLOP1 ELEMENTS * MSUB JSB .FSB SUBTRACT DEF BS3,I SOURCE JMP MLOP1 ELEMENTS * IDN ISZ ID1 DIAGONAL ELEMENT? JMP MLOP3 NO LDA ID0 YES, RESET STA ID1 DIAGONAL COUNTER DLD F1.0 LOAD JMP MLOP3 1.0 * * SMULT JSB .FMP MULTIPLY DEF SCALR SOURCE ELEMENT JMP MLOP2 BY SCALAR * MCPY SSA GET JSB ARINV ABSOLUTE DST SCALR VALUE JSB .FSB SUBTRACT DEF MAXE PREVIOUS SZA MAXIMUM SSA POSITIVE RESULT? JMP MCPY1 NO DLD SCALR YES, RECORD DST MAXE NEW MAXIMUM MCPY1 DLD BS2,I RELOAD VALUE JMP MLP2A,I ** ** *** CHECK VALIDITY OF MATRIX *** ** ** * * * ENTER WITH (B) POINTING TO THE DYNAMIC ARRAY DIMENSIONS. * COMPUTE THE NUMBER OF ELEMENTS AND CHECK EACH ONE. EXIT * TO ERROR IF ANY ELEMENT HAS VALUE 'UNDEFINED'. * #VCHK LDA 1,I LOAD ROW DIMENSION INB STB VT0 MPY VT0,I MULTIPLY BY LDB VT0 COLUMN DIMENSION CMA SAVE 1'S COMPLEMENT STA VT0 OF MATRIX SIZE VCHK1 ISZ VT0 DONE? INB,RSS NO, MOVE TO NEXT ELEMENT JMP VCHK,I YES LDA 1,I RAL,RAL IS INA OPERAND RAR,SLA NORMALIZED? JMP VCHK2 YES CPA BIT15 MAYBE, WAS FIRST WORD ZERO? INB,RSS YES JSB RERRS+23,I NO--ERROR LDA 1,I SECOND SZA WORD ZERO? JSB RERRS+23,I NO--ERROR JMP VCHK1 1% VCHK2 INB JMP VCHK1 * fv B] ** ** *** REDIMENSION A MATRIX *** ** ** * * * UPON ENTRY (TEMP1)+1 POINTS TO THE REDIMENSION SUBSCRIPT IN * THE PROGRAM AND SBPTR POINTS TO THE CURRENT DYNAMIC DIMENSIONS * OF THE ARRAY. THE SUBSCRIPT BOUNDS ARE EVALUATED, ROUNDED, * AND RECORDED. IF THE NUMBER OF ELEMENTS IS WITHIN THE * PHYSICAL ARRAY ALLOWANCE, EXIT WITH TEMP1 POINTING TO THE * WORD FOLLOWING THE SUBSCRIPT AND SBPTR AS UPON ENTRY, ELSE * EXIT TO ERROR. * #RDIM ISZ TEMP1 COMPUTE NEW JSB FETCH ROW DIMENSION JSB SBFIX 15 BIT INTEGER > 0? JSB RERRS+17,I NO INB YES, SAVE STB RD0 VALUE IN TEMP (D) LDB TEMP1,I EXPLICIT NEW SZB,RSS COLUMN DIMENSION? JMP RDIM1 NO JSB FETCH YES, JSB SBFIX COMPUTE JSB RERRS+17,I IT RDIM1 INB SAVE TRUE VALUE STB SBFIX IN TEMP (D) LDA RD0 COMPUTE MPY SBFIX NUMBER OF (D) SZB,RSS ELEMENTS CMA,SSA,INA,RSS SPECIFIED JSB RERRS+25,I TOO MANY STA FETCH (D) LDB SBPTR RESET ADB .-2 ARRAY POINTER (D) LDA 1,I AND COMPUTE INB NUMBER OF MPY 1,I ELEMENTS AVAILABLE (D) ADA FETCH SUFFICIENT (D) SSA PHYSICAL SPACE? JSB RERRS+25,I NO LDB SBPTR OK, REPLACE THE (D) LDA RD0 OLD DIMENSIONS (D) STA 1,I WITH THESE (D) INB NEW DIMENSIONS (D) LDA SBFIX (D) STA 1,I (D) ISZ TEMP1 YES JMP REDIM,I HED OUTPUT ROUTINES ** ** *** PRINT A NUMBER *N** ** ** * * ENTER WITH A FLOATING POINT NUMBER IN (A) AND (B). PRINT THE * NUMBER AND APPEND BLANKS TO REACH THE PRINT POSITION SPECIFIED * BY -EOPF ON RETURN FROM NUMOT. * #ENOT CCE ENABLE SIGN JSB NUMOT OUTPUT NUMBER JMP *+3 LDA .+40B OUTPUT JSB OUTCR A BLANK LDB EOPF FIELD ADB CHRCT SZB FULL? JMP *-5 NO JMP ENOUT,I YES * MINFX DEC -0.099999959 MAXFX DEC -999999.5 ** ** *** OUTPUT A NUMBER *** ** ** * * ENTER WITH A FLOATING POINT NUMBER IN (A) AND (B) AND (E) = 1 * IF A SIGN IS WANTED. DETERMINE THE FORM OF THE NUMBER AND * SET EOPF ACCORDINGLY. NON-INTEGERS ARE ROUNDED AFTER CONVERSION * TO DECIMAL. TRAILING ZEROS ARE SUPPRESSED ON NUMBERS WITHOUT * EXPONENTS (AND ON NUMBERS WITH EXPONENTS IF CALLED FROM 'LIST'). * #NMOT STA NUMBF SAVE HIGH MANTISSA SEZ,RSS SIGN? JMP NUMO1 NO SSA,RSS YES, NEGATIVE NUMBER? JMP *+5 NO JSB ARINV YES, NEGATE NUMBER STA NUMBF SAVE HIGH MANTISSA LDA .+55B LOAD '-' RSS LDA .+40B LOAD '+' STA SIGN SAVE SIGN LDA NUMBF RETRIEVE HIGH MANTISSA NUMO1 STB NUMBF+1 SAVE LOW MANTISSA JSB IFIX INTEGER? JMP NUMO2 NO SOC YES, 16-BIT INTEGER? JMP NUMO2 NO * * ** OUTPUT AN INTEGER ** * * STB NUMBF SAVE INTEGER ADB M1000 0_ LDA .+6 SSB,RSS 3 DIGIT INTEGER? ADA .+3 NO ADA CHRCT COMPUTE END-OF-FIELD CMA,INA SAVE STA EOPF IT ADA .74 ENOUGH SSA ROOM? JSB OUTLN NO LDA SIGN YES SZA SIGN? JSB OUTCR YES, OUTPUT IT LDB NUMBF NO JSB OUTIN OUTPUT ToHE INTEGER JMP NUMOT,I * * ** OUTPUT A FLOATING POINT NUMBER ** * * NUMO2 LDA .-2 SET 'FIXED' STA FFLAG FLAG FALSE DLD NUMBF LOAD NUMBER JSB .FAD IS NUMBER DEF MAXFX LESS THAN SSA,RSS 999999.5 ? JMP NUMO3 NO DLD NUMBF YES, IS JSB .FAD NUMBER DEF MINFX LESS THAN SSA,RSS 0.09999995 ? ISZ FFLAG NO, SET 'FIXED' FLAG TRUE NUMO3 DLD NUMBF LOAD NUMBER STA MANT1 UNPACK JSB .FLUN STB MANT2 NUMBER STA EXP CLA INITIALIZE STA EXPON DECIMAL EXPONENT CPA EXP ZERO EXPONENT? JMP NUMO5 YES NUMO0 JSB MBY10 NO LDA EXP MULTIPLY CMA,SSA,INA,SZA NUMBER BY 10 JMP *+3 UNTIL IT IS ISZ EXPON GREATER JMP NUMO0 THAN 1 JSB DBY10 DIVIDE BY 10 LDA EXPON NUMO4 LDB EXP DIVIDE CMB,INB NUMBER SSB,RSS BY 10 JMP NUMO5 UNTIL STA EXPON IT IS JSB DBY10 LESS CCA THAN ADA EXPON 1 JMP NUMO4 4 NUMO5 CMA SET EXPONENT STA EXPON TO TRUE VALUE-1 LDB .-6 SET DIGIT STB DIGCT COUNTER LDB NMBFA SET BUFFER STB NMPTR POINTER SKP * * ** CONVERT MANTISSA TO ASCII ** * * NUMO6 JSB GETDG STORE A ADA .+60B DECIMAL STA NMPTR,I DIGIT ISZ NMPTR ISZ DIGCT SIXTH DIGIT? JMP NUMO6 NO JSB GETDG YES, ADA .-5 NEXT DIGIT SSA >= 5 ? JMP NUMO9+1 NO * * ** ROUND ASCII MANTISSA **6 * * LDB NMPTR NUMO7 ADB .-1 LOAD LAST LDA 1,I DIGIT INA INCREMENT IT CPA .58 WAS IT A 9? RSS YES JMP NUMO9 NO CPB NMBFA LEADING DIGIT? JMP NUMO8 YES LDA .+60B NO, OVERLAY STA 1,I A 0 JMP NUMO7 NUMO8 ISZ EXPON BUMP DECIMAL NOP EXPONENT AND LDA .+61B OVERLAY A 1 NUMO9 STA 1,I LDA EXPON IS NUMBER SSA,RSS LESS THAN 1 ? JMP NMO11 NO STA NMTMP YES LDA .+60B LDB NMPTR NMO10 ISZ NMTMP COUNT ZEROS NOP PLUS 1 ADB .-1 LAST CPA 1,I DIGIT 0? JMP NMO10 YES LDA NMTMP NO, ALL SIGNIFICANCE SSA IN SIX DIGITS? JMP NMO11 NO CCA YES, SET STA FFLAG 'FIXED' FLAG TRUE NMO11 LDB .+12 COMPUTE ISZ FFLAG FIELD ADB .+3 WIDTH ADB CHRCT SAVE CMB,INB END-OF-FIELD STB EOPF MARKER ADB .75 ENOUGH SSB ROOM? JSB OUTLN NO LDA SIGN YES SZA SIGN? JSB OUTCR YES, OUTPUT IT LDB .-7 SET OUTPUT STB DIGCT DIGIT COUNTER LDB NMPTR CCA FIXED CPA FFLAG FORMAT? JMP *+5 NON LDA EXPON YES, SET CMA INDICATOR TO STA NMTMP DECIMAL POINT JMP NMO16 STA NMTMP SET INDICATOR FOR DECIMAL POINT LDA LCALL CALLED CPA NUMOT FROM 'LIST' ? JMP NMO16 YES JMP NMO14 NO * * ** DELETE TRAILING ZEROS ** * * NMO12 LDA DIGCT AT RIGHT OF INA DECIMAL CPA NMTMP POINT? JMP *+6 NO STA DIGCT YE9S, DELETE ZERO NMO16 ADB .-1 LAST LDA 1,I DIGIT CPA .+60B 0? JMP NMO12 YES CCA NO, FIXED CPA FFLAG FORMAT? JMP NMO14 NO LDA EXPON YES, LEADING SSA,RSS DECIMAL POINT? JMP NMO14 NO STA NMTMP YES, SET LEADING ZEROS COUNTER * * ** OUTPUT MANTISSA ** * * LDA .+56B OUTPUT A RSS DECIMAL POINT NMO13 LDA .+60B OUTPUT JSB OUTCR A ZERO ISZ NMTMP MORE LEADING ZEROS? JMP NMO13 YES ISZ DIGCT NO, COUNT DECIMAL POINT NMO14 LDB NMBFA SET STB NMPTR DIGIT POINTER JMP *+5 NMO15 ISZ NMTMP DECIMAL POINT NEXT? JMP *+3 NO LDA .+56B YES, LOAD IT JMP *+3 LDA NMPTR,I LOAD NEXT ISZ NMPTR DIGIT JSB OUTCR OUTPUT CHARACTER ISZ DIGCT MORE DIGITS? JMP NMO15 YES ISZ FFLAG NO, EXPONENT? JMP NUMOT,I NO * * ** OUTPUT THE EXPONENT ** * * LDA E JSB OUTCR OUTPUT AN 'E' LDA .+55B OUTPUT LDB EXPON SSB AN CMB,INB,RSS LDA .+53B EXPONENT STB EXPON JSB OUTCR SIGN LDA EXPON CLB COMPUTE DIV .+10 ADA .+60B EXPONENT'S ADB .+60B STB EXPON 10'S DIGIT JSB OUTCR OUTPUT IT LDA EXPON OUTPUT JSB OUTCR 1'S DIGIT JMP NUMOT,I HED LIBRARY FUNCTIONS * * * ** COMPUTE INT(X) * * * ENTER WITH NUMBER IN (A) AND (B). EXIT WITH FLOATING * POINT FORM OF ENTIER IN (A) AND (B). * * EINT STB LBTMP SAVE (B) JSB IFIX TAKE ENTIER JMP EINT1 ALL SIGNIFICANCE IN MANTISSA STB LBTMP SAVE (B) LDB .+31 CORRtECT FOR STB EXP BINARY POINT BIAS LDB LBTMP RETRIEVE (B) JSB .PACK NORMALIZE AND PACK JMP FRET,I EINT1 LDA TEMP6 RETRIEVE LDB LBTMP NUMBER JMP FRET,I * * * ** EXECUTE TIM(X) * * * * ETIM JSB IFIX INTEGERIZE ARGUMENT JSB RERRS+43,I ILLEGAL ARGUMENT SZA JSB RERRS+43,I ILLEGAL ARGUMENT LDA 1 IS ARGUMENT AND .+3 <=3 AND CPA 1 >=0 ? RSS YES JSB RERRS+43,I NO--ILLEGAL ARGUMENT ADA DTMTB BRANCH TO JMP 0,I APPROPRIATE ROUTINE ETIM0 LDA DATIM+1 # OF 100 MS ADA D36K UNITS CLB CONVERT DIV D600 TO MINUTES JMP ETIM3+1 ETIM1 LDA DATIM HOURS OF YEAR CLB CONVERT DIV .+24 TO DAYS LDA 1 REMAINDER IS HOUR OF DAY JMP ETIM3+1 ETIM2 LDA DATIM HOURS OF YEAR CLB CONVERT DIV .+24 TO DAYS RSS ETIM3 LDA YEAR GET YEAR OCT 105120 CONVERT TO POATING POINT JMP FRET,I EXIT WITH RESULT IN (A) AND (B) DTMTB DEF *+1,I DEF ETIM0 DEF ETIM1 [[ DEF ETIM2 DEF ETIM3 * * * ** COMPUTE RND(X) * * * * * * THE RANDOM NUMBER FUNCTION COMPUTES A RANDOM NUMBER FROM THE * FORMULAS: * * X(N)=A*X(N-1)+C(MOD 2^30) (A=5^11,C=2^30*(1/2-1/SQR(12))) * RND =X/2^30 MIN (1-2^-23) * ERND SSA,RSS IS ARGUMENT POSITIVE? JMP *+5 YES RBL,CLE,ERB NO,INITIALIZE RANDOM ELA VALUE STA RNDX1 STB RNDX2 * LDA RNDX1 COMPUTE FIRST MPY RNDA2 CROSS PRODUCT. STA RNDX1 SAVE (ONLY NEED LOW ORDER PART) LDA RNDX2 COMPUTE 2ND MPY RNDA1 CROSS PRODUCT. ADA RNDX1 ADD IN FIRST. ADA RNDC1 ADD IN HIGH PART OF C. wSTA RNDX1 SAVE TOTAL. (THIS IS HIGH PART). CLA,CLE SET EXP=0. STA EXP LDA RNDX2 COMPUTE LOW ORDER PRODUCT. MPY RNDA2 2 ADA RNDC2 ADD IN LOW PART OF C. SEZ ADD ANY CARRY INTO INB B. RAL,CLE,ERA E_A(15),A(15)_0. STA RNDX2 SAVE LOW ORDER RESULT. ELB SHIFT HIGH ORDER PART & ADD IN ADB RNDX1 PREVIOUS TOTAL. ELB,CLE,ERB CLEAR BIT 15 AND STORE. STB RNDX1 RAL SHIFT A ADJACENT TO B. SWP EXCHANGE REGISTERS AND JSB .PACK PACK. CPB .+2 TEST FOR RESULT=1.0 RSS JMP FRET,I EXIT IF NOT. LDA INF SET RESULT TO 1-2^-23 LDB M256 JMP FRET,I * * * RNDA1 DEC 1490 A DIV 2^15 RNDA2 DEC 3805 A MOD 2^15 RNDC1 OCT 16441 C DIV 2^15 RNDC2 OCT 7701 C MOD 2^15 * * * ** COMPUTE SGN(X) * * * * * * ENTER WITH ARGUMENT IN (A) AND (B). IF ARGUMENT IS * NEGATIVE RETURN -1.0, IF ZERO RETURN 0, IF POSITIVE * RETURN 1.0 . * ESGN CLB CLEAR LOW PART OF NUMBER SZA,RSS ZERO? JMP FRET,I YES, RETURN 0 SSA,RSS POSITIVE? LDB .+2 YES, LOAD EXPONENT FOR +1 LDA FLGBT NO, LOAD HIGH PART OF -1 SZB WAS ARGUMENT POSITIVE? RAR YES, SET RESULT TO +1 JMP FRET,I NO * * * ** COMPUTE TYP(X) * * * * * * UPON ENTRY (A) AND (B) HOLD A FILE NUMBER IN FLOATING POINT * FORM. FILE 0 REFERS TO THE S. IF THE FILE * NUMBER IS NEGATIVE RETURN 1.0, 2.0, 3.0, OR 4.0 IF THE NEXT * ITEM IN THE FILE IS A NUMBER, STRING, EMD-OF-FILE, OR END- * OF-RECORD RESPECTIVELY. IF THE FILE NUMBER IS POSITIVE RETURN * WITH THE VALUE CORRESPONDING TO THE FIRST ITEM FOUND OF ONE * OF THE FIRST THREE TYPES. * ETYP STB LBTMP SAVE (B) LDB FILE# SAVE VAL640UE STB PINTG OF FILE# LDB FBASE SAVE [E] STB NUMPT POINTER [E] SZA,RSS 'DATA' FILE? JMP ETYP3 YES CCB NO, IGNORE SSA END-OF-RECORDS CLB UNLESS ARGUMENT STB EORFL IS NEGATIVE LDB LBTMP RETRIEVE (B) SSA TAKE ABSOLUTE VALUE JSB ARINV OF ARGUMENT JSB SBFIX 15-BIT INTEGER? JSB RERRS+35,I NO STB FILE# YES LDA FILE# VALIDATE LDB .-2 JSB RQSTR FILE JSB GTTYP GET TYPE ETYP1 LDB PINTG RESTORE STB FILE# FILE# LDB NUMPT RESTORE [E] STB FBASE POINTER [E] OCT 105120 JMP FRET,I FLOATING POINT FORM ETYP2 LDA .+3 LDB NXTDT OUT-OF-DATA CPB SYMTB CONDITION? JMP ETYP1 YES, (A) = 3 JSB SETDP NO, SEEK NEXT ETYP3 CCA MORE DATA IN CPA DCCNT CURRENT STATEMENT? JMP ETYP2 NO LDB NXTDT,I YES, LOAD TYPE WORD CLA,INA SET NUMBER SSB,RSS NUMBER? LDA .+2 NO, SET FOR STRING JMP ETYP1 p6 ? M 24280-80015 1534 S 0122 TSB/E SYSTEM              H0101  SKP ** ** *** COMPUTE CHEBYSHEV(X) *** ** ** #CHEB JSB .FMP DEF K2 DST X2TMP X2TMP = X*2 LDB .CHEB,I STB CTMP POINTER TO COEFFICIENT TABLE DLD 1,I DST DTMP DTMP = COEFF(N) CLA STA BTMP STA BTMP+1 B = 0 CHEB1 ISZ CTMP ISZ CTMP N = N-1 LDA CTMP,I SZA,RSS C(N) = 0? JMP CHEB2 YES DLD BTMP NO DST ATMP A = B DLD DTMP DST BTMP B = D JSB .FMP-- DEF X2TMP JSB .FSB DEF ATMP JSB .FAD DEF CTMP,I DST DTMP D = COEFF(N)-A+B*X2 JMP CHEB1 CHEB2 DLD DTMP JSB .FSB DEF ATMP JSB .FMP DEF HALF ISZ .CHEB ANS = (D-A)/2 JMP .CHEB,I SPC 1 * * * ** EXECUTE TAB(X) * * * * ETAB JSB .IENT INTEGERIZE ARGUMENT LDA .72 ARG > 32767 CLB SET FLAG TO STB EOL 'TAB OCCURRED' ADA M72 IS ARGUMENT SSA,RSS > 71 ? JMP ETAB2 ADA .72 NO CMA,INA ANY ADA CHRCT BLANKS SSA,RSS REQUIRED? JMP ETAB2+1 NO STA LBTMP YES ETAB1 LDA .+40B OUTPUT JSB OUTCR A BLANK ISZ LBTMP DONE? JMP ETAB1 NO RSS YES S ETAB2 JSB OUTLN MOVE TO NEXT LINE LDA BIT15 INSURE THAT OPCHK DOESN'T BARF JMP FRET,I * * * ** COMPUTE ABS(X) * * * * EABS SSA ARGUMENT NEGATIVE? JSB ARINV YES, NEGATE IT JMP FRET,I NO SPC 1 ** ** *** LIBRARY ENTIER *** ** ** * * ENTER WITH NUMBER IN (A) AND (B). IF EXPONENT > 14 * THEN EXIT TO (P+1), ELSE EXIT TO (P+2) WITH THE * ENTIER OF THE ARGUMENT IN (A). * #IENT STA LBTMP SAVE (A)  LDA 1 EXTRACT AND B377 EXPONENT SLA,RAR NEGATIVE? JMP IENT1 YES ADA .-15 NO, LESS THAN SSA,RSS OR EQUAL TO 14? JMP .IENT,I NO IENT1 ISZ .IENT YES LDA LBTMP RESTORE (A) JSB IFIX TAKE ENTIER NOP LDA 1 LOAD INTEGER JMP .IENT,I INTO (A) SPC 2 ** ** *** MULTIPLY BY A POWER OF 2 *** ** ** * * ENTER WITH NUMBER IN (A) AND (B). AUGMENT EXPONENT * BY THE VALUE POINTED TO BY (P+1) AND EXIT TO (P+2). * NO CHECK ON EXPONENT UNDERFLOW OR OVERFLOW. * #PWR2 SZA,RSS ARGUMENT ZERO? JMP PWR2A YES, RETURN 0 STA X2TMP NO, SAVE HIGH PART OF MANTISSA JSB .FLUN UNPACK LOW PART OF NUMBER STB X2TMP+1 SAVE LOW MANTISSA LDB .PWR2,I COMPUTE NEW ADA 1,I EXPONENT RAL POSITION AND B377 AND MASK IT STA 1 COMPUTE NEW LOW ADB X2TMP+1 PART OF NUMBER LDA X2TMP RETRIEVE HIGH MANTISSA PWR2A ISZ .PWR2 JMP .PWR2,I * * * ** COMPUTE COS(X) * * * * ECOS JSB .FAD COMPUTE DEF PIBY2 SIN(X+PI/2) * * * ** COMPUTE SIN(X) * * * * ESIN JSB .FMP DEF TOPI DST XTEMP X = 2*X/PI JSB .FAD DEF K1 JSB .PWR2 DEF .-2 JSB .IENT JSB RERRS+31,I EXPONENT EXCEEDS 14 OCT 105120 FLT JSB .FMP DEF MM4 JSB .FAD DEF XTEMP DST XTEMP X = X-4*ENTIER((X+1)/4) JSB .FSB DEF K1 SSA X<1? JMP ESIN1 YES DLD K2 NO JSB .FSBS DEF XTEMP DST XTEMP X = 2-X ESIN1 DLD XTEMP JSB .FMP DEF XTEMP JSB .PWR2 DEF .+1 JSB .FSB DEF K1 JSB .CHEB DEF COEF2 I JSB .FMP DEF XTEMP JMP FRET,I ANS = X*CHEBY(2*X^2 -1) * TOPI DEC .636619772 2/PI MM4 DEC -4. COEF2 DEC 1.18496E-6 DEC -1.365875E-4 DEC 9.118016E-3 DEC -.2852615692 DEC 2.5525579248 OCT 0 0 * * * ** COMPUTE TAN(X) * * * * ETAN JSB .FMPMy DEF FOPI 4/PI DST XTEMP JSB .FAD DEF K1K] JSB .PWR2 DEF .-2 25 JSB .IENT JSB RERRS+31,I OCT 105120 FLT JSB ARINV JSB .PWR2 DEF .+2 JSB .FAD DEF XTEMP DST XTEMP X = X-4*ENTIER((X+1)/4) JSB .FSB DEF K1 STA LBTMP SSA X<1? JMP ETAN2 YES DLD K2 NO JSB .FSB DEF XTEMP ETAN1 DST YTEMP Y = 2-X JSB .FMP DEF YTEMP JSB .FMP DEF K2 JSB .FSB DEF K1K] JSB .CHEB DEF COEF0 JSB .FMP DEF YTEMP DST YTEMP Y = Y*CHEBY(2*Y^2 -1) LDA LBTMP SSA X<1? JMP ETAN3 YES DLD K1 NO JSB .FDV DEF YTEMP JMP FRET,I ANS = 1/Y ETAN2 DLD XTEMP JMP ETAN1 Y = X ETAN3 DLD YTEMP JMP FRET,I ANS = Y * FOPI DEC 1.273239545 K1 DEC 1. K2 DEC 2. COEF0 DEC 1.4458E-8 DEC 2.013766E-7 DEC 2.804816E-6 DEC 3.906637E-5 DEC 5.4417038E-4 DEC 7.586101578E-3 DEC .10675392857 DEC 1.7701474227 OCT 0 * * * ** COMPUTE ATN(X) * * * * EATN DST XTEMP LDA 1 AND B377 STA LBTMP SZA SLA ABS(X) > 1? JMP EATN2 NO DLD K1 YES JSB .FDV DEF XTEMP U = 1/X EATN1 DST UTEMP JSB .FMP DEF UTEMP JSB .FMP DEF K2 JSB .FSB DEF K1 JSB .CHEB DEF COEF1 JSB .FMP DEF UTEMP DST YTEMP Y = U*CHEBY(2*U^2 -1) LDA LBTMP SZA SLA ABS(X) > 1? JMP EATN3 NO LDA XTEMP YES SSA X<0? JMP EATN4 YES DLD PIBY2 NON7 JMP EATN4+2 EATN2 DLD XTEMP JMP EATN1 U = X EATN3 DLD YTEMP JMP FRET,I ANS = Y EATN4 DLD MP2 JSB .FSBS DEF YTEMP JMP FRET,I ANS = -PI/2-Y * PIBY2 DEC 1.5707963268 PI/2 MP2 DEC -1.5707963268 -PI/2 COEF1 DEC -1.33034E-8 DEC 8.64888E-8 DEC -56.99186E-8 DEC 3.821037E-6 DEC -2.6215196E-5 DEC 1.8574297E-4 DEC -1.381195004E-3 DEC .01113584206 DEC -.1058929245 DEC 1.762747174 OCT 0 * * * ** COMPUTE EXP(X) * * * * EEXP JSB .EXP JMP FRET,I #EXP JSB .FMPMi DEF L2E DST XTEMP X = ARG*LOG2(E) JSB .IENT JMP .EXP2 STA LBTMP OCT 105120 FLT DST YTEMP Y = ENTIER(X) LDA LBTMP ADA M124 SSA,RSS X >= 124? JMP .EXP2 YES ADA .244 NO SSA X < -120? JMP .EXP1 YES DLD XTEMP NO JSB .FSB DEF YTEMP DST XTEMP X = X-ENTIER(X) JSB .FMP DEF XTEMP DST UTEMP U = X^2 JSB .FADA$ DEF AAAA DST YTEMP Y = X^2+AAAA DLD BBBB JSB .FDV DEF YTEMP DST YTEMP Y = BBBB/Y DLD CCCC JSB .FMP DEF UTEMP JSB .FAD DEF DDDD JSB .FSB DEF XTEMP JSB .FSB DEF YTEMP DST YTEMP Y = -X+DDDD+CCCC*X^2-Y DLD XTEMP JSB .FDV DEF YTEMP JSB .FAD DEF HALF ISZ LBTMP NOP JSB .PWR2 2I DEF LBTMP JMP .EXP,I ANS = (0.5+X/Y)*2^ENTIER(ARG*LE) .EXP1 CLA CLB JMP .EXP,I ANS = 0 .EXP2 LDA LBTMP LARGE ARGUMENT SSA NEGA6TIVE? JMP .EXP1 YES JSB WERRS+4,I NO LDA INF F# LDB .-2 ANS = POSITIVE INFINITY JMP .EXP,I * M124 DEC -124 .244 DEC 244 AAAA DEC 87.417497202 BBBB DEC 617.9722695 CCCC DEC .03465735903 DDDD DEC 9.9545957821 L2E DEC 1.4426950409 SKP * * * ** COMPUTE LOG(X) * * * * ELOG JSB .LOG JMP FRET,I #LOG SZA,RSS NON-ZERO ARGUMENT? JMP .LOG1 NO SSA YES, POSITIVE ARGUMENT? JSB RERRS+27,I NO STA XTEMP YES, JSB .FLUN SAVE MANTISSA STB XTEMP+1 AND FLOATED OCT 105120 EXPONENT DST YTEMP SEPARATELY DLD XTEMP P JSB .FAD DEF R22 2N DST UTEMP U = X+SQR(0.5) DLD XTEMP JSB .FSB DEF R22 JSB .FDV DEF UTEMP DST UTEMP U = (X-SQR(0.5))/U JSB .FMP DEF UTEMP JSB .FSB DEF CCC DST XTEMP DLD MB JSB .FDV DEF XTEMP JSB .FAD DEF AAA JSB .FMP DEF UTEMP JSB .FSB DEF HALF JSB .FAD DEF YTEMP JSB .FMP DEF LE2 ANS = LOG(2)* JMP .LOG,I (MANTISSA-0.5+U*(AAA+MB/X)) .LOG1 JSB WERRS+1,I LDA MNEG LDB B776 ANS = NEGATIVE INFINITY JMP .LOG,I * R22 DEC .707106781 SQR(0.5) LE2 DEC .6931471806 LOG BASE E (2) AAA DEC 1.2920070987 MB DEC -2.6398577035 CCC DEC 1.6567626301 SKP * * * ** COMPUTE SQR(X) * * * * ESQR SZA,RSS X= 0? JMP FRET,I YES, ANS = 0 SSA NO, X < 0? JSB RERRS+28,I YES STA XTEMP NO JSB .FLUN SLA,ARS EXPONENT ODD? JMP ESQR2 YES ADA .-1 NO STA LBTMP EXPONENT/2 -1 STB XTEMP+1 MANTISSA SAVED LDA XTEMP P/ JSB .FMP DEF SA2 JSB .FAD  DEF SB2 Y = SB2+SA2*X ESQR1 DST YTEMP P DLD XTEMP JSB .FDV DEF YTEMP JSB .FAD DEF YTEMP JSB .PWR2 DEF .-1 DST YTEMP Y = (Y+X/Y)/2 DLD XTEMP JSB .FDV DEF YTEMP JSB .FAD DEF YTEMP JSB .PWR2 2I DEF LBTMP JMP FRET,I ANS = (P+F/P)*2^ESQ0 ESQR2 STA LBTMP EXPONENT/2 ADB B377 STB XTEMP+1 MANTISSA/2 SAVED LDA XTEMP JSB .FMP DEF SA1 JSB .FAD DEF SB1 JMP ESQR1 Y = SB1+SA1*X * SA1 DEC .875 SA2 DEC .578125 SB1 DEC .27863 SB2 DEC .421875 HED ASCII TO BINARY NUMBER CONVERSION ** ** *** HANDLE OVERFLOW *** ** ** * * (A) CONTAINS THE HIGH MANTISSA UPON ENTRY. (A) AND * (B) CONTAIN THE LARGEST REPRESENTABLE NUMBER OF * APPROPRIATE SIGN, PACKED, UPON EXIT. * #OVFL LDB .-2 SSA LDB B776 IOR INF F~ SSA LDA MNEG JMP OVFLW,I ** ** *** LOOK FOR A NUMBER *** ** ** * * * NUMCK LOOKS FOR AN UNSIGNED NUMBER, SIGN MUST BE SET * BY THE CALLER (SIGN = -1 FOR NEGATIVE, ELSE POSITIVE). * (A) CONTAINS A CHARACTER UPON ENTRY; IF IT IS NEITHER * A DIGIT NOR A DECIMAL POINT, EXIT IS TO (P+1) WITH * (A) UNCHANGED AND (B) = 0. EXIT IS TO ERROR ON FINDING * AN EXPONENT PART OF INCORRECT FORMAT. ZERO REPLACES AN * UNDERFLOW; THE LARGEST REPRESENTABLE NUMBER OF THE * APPROPRIATE SIGN REPLACES AN OVERFLOW. AFTER STORING A * FLOATING POINT NUMBER IN M AND M+1 (WHERE SBPTR,I = M) * EXIT IS TO (P+2) WITH THE NEXT INPUT STRING CHARACTER * IN (A) AND TEMP+1. * #NMCK CLB ZERO STB EXP ALL STB MANT1 COMPONENTS STB MANT2 OF THE STB EXPON NUMBER STB TEMP+1 SET 'NUMBER FLAG' FALSE CCB SET 'DECIMAL POINT' STB DPFLG FlELAG FALSE NUMC1 CPA .+56B DECIMAL POINT? ISZ DPFLG YES JMP NUMC2 NO CLA ZERO POST-DECIMAL STA EXPON DIGIT JMP NUMC4+1 COUNTER NUMC2 JSB DIGCK DIGIT? JMP NUMC7 NO ISZ EXPON YES, COUNT DIGIT ASL 11 LEFT-JUSTIFY DIGIT STA TEMP+2 AND SAVE IT JSB MBY10 MULTIPLY PREVIOUS NUMBER BY 10 LDB EXP ZERO SZB,RSS EXPONENT? JMP NUMC6 YES ADB .-4 NO, CMB SAVE LDA TEMP+2 SHIFT STB TEMP+2 COUNT CLB CLEAR LOWER MANTISSA NUMC3 ISZ TEMP+2 ALL SHIFTS DONE? JMP NUMC5 NO CLE YES, ADD IN ADB MANT2 LOW PART CLO OF NUMBER SEZ OVERFLOW FROM (B)? INA YES ADA MANT1 ADD IN HIGH PART OF MANTISSA SOS OVERFLOW? JMP NUMC4 NO CLE,ERA YES, CORRECT ERB MANTISSA ISZ EXP AND BUMP NOP EXPONENT NUMC4 JSB NORML NORMALIZE THE NUMBER ISZ TEMP+1 SET 'NUMBER FLAG' TRUE JSB GETCR FETCH CHARACTER JMP NUM12-1 NONE FOUND JMP NUMC1 NUMC5 CLE,ERA SHIFT ERB DIGIT JMP NUMC3 RIGHT NUMC6 LDA .+4 SET STA EXP EXPONENT LDA TEMP+2 LOAD CLB NUMBER JMP NUMC4 NUMC7 CLB SET EXPONENT STB TEMP+2 SIGN TO '+' CPB TEMP+1 DIGIT OR DECIMAL POINT FOUND? JMP NUMCK,I NO CPA E 'E' ? RSS YES JMP NUM12 NO JSB GETCR FETCH CHARACTER JMP NUM16 NONE FOUND CPA .+53B '+' ? JMP NUMC8 YES CPA .+55B NO, '-' ? CCA,RSS YES JMP NUMC9 NO STA TEMP+2 SET EXPONENT SIGN TO '-' NUMC8 JSB GETCR FETCH CH0.*ARACTER JMP NUM16 NONE FOUND NUMC9 JSB DIGCK DIGIT? JMP NUM16 NO STA TEMP+1 YES, SAVE IT JSB GETCR JMP NUM11 JSB DIGCK DIGIT? JMP NUM11 NO LDA TEMP+1 YES, MULTIPLY STB TEMP+1 PREVIOUS DIGIT MPY .+10 BY 10 ADA TEMP+1 ADD IN NEW DIGIT STA TEMP+1 SAVE EXPONENT JSB GETCR JMP NUM11 JSB DIGCK THIRD DIGIT? RSS NO JMP NUM16 YES NUM11 LDB TEMP+1 LOAD EXPONENT ISZ TEMP+2 POSITIVE? CMB,INB YES, COMPLEMENT IT RSS NO CLB NUM12 STA TEMP+1 SAVE CHARACTER ISZ DPFLG DECIMAL POINT FOUND? ADB EXPON YES, CORRECT EXPONENT SZB,RSS NO, ZERO EXPONENT? JMP NUM14 YES SSB NO, POSITIVE EXPONENT? JMP NUM13 YES CMB,INB NO, SET STB EXPON COUNTER JSB DBY10 DIVIDE NUMBER BY 10 ISZ EXPON DONE? JMP *-2 NO JMP NUM14 YES NUM13 STB EXPON SET COUNTER JSB MBY10 MULTIPLY NUMBER BY 10 ISZ EXPON DONE? JMP *-2 NO NUM14 LDA MANT1 LOAD LDB MANT2 MANTISSA ISZ SIGN POSITIVE? JMP NUM15 YES CMA NO, COMPLEMENT CMB,INB,SZB,RSS THE INA NUMBER NUM15 JSB .PACK NORMALIZE AND PACK STA SBPTR,I STORE JSB SBPUD NUMBER IN STB SBPTR,I DESTINATION JSB SBPUD ADDRESS LDA TEMP+1 RETRIEVE CHARACTER ISZ NUMCK NUM16 ISZ NUMCK JMP NUMCK,I 0 @ M 24280-80016 1534 S 0122 TSB/E SYSTEM              H0101 ** ** *** MULTIPLY UNPACKED NUMBER BY 10 *** ** ** * * THE FLOATING POINT NUMBER IN MANT1, MANT2, AND EXP * IS MULTIPLIED BY 10. * #MB10 LDA MANT1 LOAD HIGH MANTISSA SZA,RSS ZERO NUMBER? JMP MBY10,I YES LDB EXP NO, ADB .+3 MULTIPLY STB EXP BY 8 LDB MANT2 LOAD LOW MANTISSA CLE,ERA DIVIDE ERB BY CLE,ERA 4 ERB,CLE ADB MANT2 ADD INTO SEZ BOTH REGISTERS INA PRODUCING ADA MANT1 1.25 * MANTISSA SSA,RSS CORRECT JMP MBY01 CLE,ERA ON ERB ISZ EXP OVERFLOW NOP MBY01 STA MANT1 STORE STB MANT2 MANTISSA JMP MBY10,I ** ** *** NORMALIZE UNPACKED NUMBER *** ** ** * * ENTER WITH NUMBER IN (A), (B), AND EXP. EXIT WITH * NORMALIZED NUMBER IN MANT1, MANT2, AND EXP (MANTISSA * IS LEFT IN (A) AND (B) AS WELL). * #NRML STA NT0 SET CLA LEFT-SHIFT STA TEMP+2 COUNTER LDA NT0 TO ZERO SZA,RSS IF NUMBER SZB IS ZERO, JMP NORM2+1 CLEAR STA EXP EVERYTHING STA MANT1 STORE NORM1 STB MANT2 MANTISSA JMP NORML,I NORM2 ISZ TEMP+2 COUNT A LEFT SHIFT CLE,ELB ROTATE (A) ELA AND (B) LEFT SEZ,SSA,RSS TWO HIGHEST BITS 0? JMP NORM2 YES, POSITIVE UNNORMALIZED SEZ,SSA NO, TWO HIGHEST BITS 1? JMP NORM2 YES, NEGATIVE UNNORMALIZED ERA NO, NORMALIZE ERB,CLE MANTISSA STA MANT1 COMPUTE LDA TEMP+2 CMA,INA CORRECTED ADA EXP STA EXP EXPONENT LDA MANT1 1R JM@P NORM1 SKP ** ** *** NORMALIZE AND PACK NUMBER *** ** ** * * NUMBER IN (A), (B), AND EXP ON ENTRY. ON EXIT (A) * AND (B) CONTAIN THE NORMALIZED, ROUNDED, AND PACKED * NUMBER. UNDERFLOW BECOMES A ZERO, OVERFLOW BECOMES * THE LARGEST REPRESNTABLE NUMBER OF APPROPRIATE SIGN. * #PACK JSB NORML NORMALIZE NUMBER CLE,SZA,RSS ZERO? JMP .PACK,I YES ADB B177 NO, ROUND SSA,RSS POSITIVE? INB YES, FINISH ROUND CLO SEZ ON OVERFLOW FROM (B) CLE,INA CORRECT (A) SOS OVERFLOW? ( (A)=100000, (B)=0 ) RAL TWO HIGH BITS SSA,SLA,RSS BOTH 1? ( IF (A) WAS 140000 ) JMP PACK1 NO CCE YES ARS,SLA,ALS SET (A) = 100000 AND SKIP PACK1 RAR UNDOES RAL ABOVE STA TEMP+2 SAVE (A) LSR 8 DELETE 8 LOW BITS BLF,BLF OF MANTISSA LDA EXP DECREMENT SEZ EXPONENT ADA .-1 ON (E) # 0 SOC INCREMENT INA EXPONENT ON OVERFLOW ADA B200 EXPONENT SSA UNDERFLOW? JMP PACK3 YES ADA M256 NO, EXPONENT SSA,RSS OVERFLOW? JMP PACK4 YES ADA B200 NO, RESTORE EXPONENT RAL POSITION AND B377 EXPONENT AND ADB 0 ADD LOW MANTISSA LDA TEMP+2 RETRIEVE HIGH MANTISSA CPA MNEG RSS NEGATIVE JMP .PACK,I CPB MNEG+1 OVERFLOW? JMP PACK4 YES JMP .PACK,I NO PACK3 JSB CHOUF CHECK STATUS JSB WERRS+6,I I CLA ZERO RESULT CLB ON UNDERFLOW JMP .PACK,I PACK4 JSB CHOUF CHECK STATUS JSB WERRS+5,I LDA TEMP+2 RETRIEVE HIGH MANTISSA JSB OVFLW JMP .PACK,I ** Y ** *** DIVIDE UNPACKED NUMBER BY 10 *** ** ** * * INVERSE OF MBY10 * #DB10 LDA MANT1 RETURN SZA,RSS ON JMP DBY10,I ZERO LDB .-2 ADD EXPONENT ADB EXP OF 1/10 TO STB EXP THAT OF NUMBER LDA MANT2 JUSTIFY CLE,ERA LOWER MANTISSA MPY TENTH MULTIPLY BY 1/10 CLE,ELA SHIFT ELB,CLE BACK ADA 1 ADD IN EQUIVALENT OF SEZ LOWER MANTISSA* CLE,INB TENTH*2^(-16) STB MANT2 AND ROUND TO 16 BITS LDA MANT1 DO MPY TENTH SAME TO ADA 1 HIGH MANTISSA ADA MANT2 PERFORM EFFECTIVE SEZ SUM OF DOUBLE-LENGTH INB PRODUCTS SWP SWAP (A) AND (B) JSB NORML NORMALIZE JMP DBY10,I RESULT HED ** DISC DRIVER ** * * A-REG = DISC ADDRESS * A(15) =DISC DRIVE * A(14:7)=CYLINDER NUMBER * A(6) =1 IF FIXED DISC/0 IF CARTRIGE * A(5:0) =SECTOR NUMBER * * B-REG = CORE ADDRESS AND DIRECTION * B(15) =1 FOR DISC READ/0 FOR DISC WRITE * B(14:0)=CORE ADDRESS * * * WORD = - NUMBER OF WRODS TO BE TRANSFERRED * * ENDSK = DRIVER FLAG, SET WHEN A TRANSFER IS INITIATED * AND CLEARED UPON SUCCESSFUL COMPLETION * * WHEN AN ATTEMPTED TRANSFER FAILS, IT IS REPEATED NINE * ADDITIONAL TIMES. IF IT CONTINUES TO FAIL, THE COMPUTER * HALTS DISPLAYING THE DISC STATUS IN THE A-REGISTER. * SPC 2 LDISC NOP CLF 0 STA DADDR SAVE DISC AND STB CORE CORE ADDRESSES LDB LDISC STORE RETURN STB DINT ADDRESS ISZ ENDSK SET BUSY FLAG LDOR LDB WORD IS WORD SZB,RSS COUNT=0? JMP LDEND YES-NO TRANSFER * LDORP EQU * RAL AND .+1 ISOLATE STA DRIVE DRIVE NUMBER * LDA DADDR ISOLATE AND B100 HEAD NUMBER STA B LDA DADDR ISOLATE SECTOR AND B77 ADDRESS ADA .-24 IF SECTOR NUMBER SSA,RSS GREATER THAN 23, THEN ADB .+40B ADJUST HEAD NUMBER SSA IF SECTOR NUMBER LESS ADA .+24 THAN 12, RESET IT BLF,RBR POSITION AND ADD IOR B DISC NUMBER STA HDSCT SAVE * LDA DADDR AND CYLMK ISOLATE ALF,ALF CYLINDER RAL NUMBER STA CYL# * ** INITIATE SEEK OPERATION * OTA DC OUTPUT CYLINDER # STC DC,C TO DATA CHANNEL LDA SEEK LOAD SEEK COMMAND AND IOR DRIVE ADD ON DRIVE NUMBER CLC CC CLEAR PREVIOUS COMMAND OTA CC OUTPUT SEEK TO STC CC,C COMMAND CHANNEL SFS DC WAIT FOR CYLINDER # JMP *-1 TO BE ACCEPTED LDA HDSCT OUTPUT OTA DC HEAD/SECTOR STC DC,C ADDRESS SFS DC WAIT FOR JMP *-1 ACCEPTANCE * ** INITIATE DISC TRANSFER * * LDA CORE LDB CMDMA SET UP OTB 6 DMA CLC 2 OTA 2 OUTPUT CORE STC 2 ADDRESS LDB WORD OUTPUT WORD OTB 2 COUNT LDB READ LOAD SSA,RSS DISC LDB WRIT COMMAND ADB DRIVE ADD ON DRIVE # CLC CC OTB CC OUTPUT COMMAND SSA,RSS IF OUTPUT, PRESET STF DC DATA CHANNEL FLAG SSA IF INPUT, CLEAR THE STC DC,C FLAG AND SET CONTROL STC 6,C START DMA STC CC,C START DISC JMP LDE2 RETURN SPC 2 * ** PROCESS COMMAND CHANNEL INTERRUPT * DINT NOP CLF 0 DST DSAVE SAVE REGISTERS STF 6 >[ TURN OFF DMA LIA 4 WAS INTERRUPT CPA .+CC FROM DISC? RSS JMP LDE1 NO * * ** CHECK STATUS * LIA CC GET ATTENSION BITS AND ADA .-1 CONVERT TO DRIVE NUMBER STC DC,C SET UP DATA CHANNEL OTA CC OUTPUT CLC CC STATUS STC CC,C COMMAND SFS DC WAIT FOR JMP *-1 STATUS LIA DC RETRIEVE STATUS CLC DC TURN OFF DATA CHANNEL SLA ANY ERRORS? JMP LDERR YES * ** TRANSFER COMPLETED - NO ERRORS * LDEND CLC CC LDA .-10 RESET FAIL STA FAIL COUNTER CLA CLEAR DRIVER STA ENDSK BUSY FLAG LDE1 CLC 6,C TURN OFF DMA LDE2 DLD DSAVE RESTORE REGISTERS STF 0 JMP DINT,I RETURN SPC 2 * ** ERROR HAS BEEN DETECTED * LDERR ISZ FAIL INCREMENT FAIL COUNTER JMP LDER1 INITIATE RESTART LDER2 HLT DEATH+10B,C HALT WITH STATUS LDA .-10 IN A-REGISTER STA FAIL * LDER1 LDA DADDR INITIATE JMP LDOR RESTART * * THE FOLLOWING INSTRUCTIONS ARE USED BY "DISC-UP" COMMAND * TO PREVENT A SYSTEM HALT WHEN OPERATOR ERRONEOUSLY UPS * A NON-EXISTENT OR NOT READY DISC. * IT WILL BE ENTERED BY INSERTING THE INSTR. AT LABEL "LDER5" INTO * LOCATION "LDER2" * LDER3 STA STATS STORE STATUS LDA LDER4 RESTORE "HALT" INSTRUCTION STA LDER2 JMP LDEND EXIT * LDER4 HLT DEATH+10B,C [E] LDER5 JMP LDER3 * LDSND EQU * SPC 3 HED * POWER FAIL/RESTART ROUTINE * * ** POWER FAIL/RESTART * POW NOP SFC 4 FAIL OR RESTART? JMP POW1 RESTART. * ** POWER FAIL SECTION * DST POWIT SAVE REGISTERS TEMP. ERB,BLS SOC INB * LDA FLAG SZA CHECK FLAG. JMP POW2 FLAG=1C? OR FLAG=2, * * * LDA POW FLAG=0. FAILED IN RESTART? ADA POWD1 1? SSA JMP POW81 NO. NORMAL FAIL. ADA POWD2 SSA JMP POW2 YES. FAILED IN RESTART. ADA POWD3 MAY BE. SSA,RSS JMP POW81 NO. NORMAL FAIL. LDA LDER2 YES. FAILED IN RESTART. STA SVHLT SAVE CONTENTS OF "LDER2" AND LDA LDER4 REPLACE WITH "HALT" INSTRUC- STA LDER2 TION. JMP POW2 * * NORMAL POWER FAILURE. * POW81 STB POWEO SAVE REGISTERS DLD POWIT PERMANENTLY. DST POWAB LDA POW SAVE RETURN ADDRESS. STA POWP LIA 01 FETCH AND STA POWSW SAVE SWITCH REGISTER. * CLA GET ALL DEVICE FLAGS. SFC DMA CHECK DMA FLAG. INA SET BIT 0, IF SET. SFC ?SC CHECK CONSOLE FLAG. IOR .+4 SET BIT 2,IF SET. * * DISC * * CHANNELS. * * PHOTOREADER CHANNEL. SFC MPX CHECK MUX(DATA) FLAG. IOR B100 SET BIT 6, IF SET. * * MUX(STATUS) CHANNEL. SFC DSCB CHECK PHONES FLAG. IOR B400 SET BIT 8, IF SET. SFC CLOCK CHECK TBG FLAG. IOR B1000 SET BIT 9,IF SET. STA POWFL SET FLAG WORD. LDA DADDR SAVE DISC ADDRESS. STA PDADR LDA CORE SAVE CORE ADDRESS STA PCORE LDA WORD SAVE WORD COUNT. STA PWORD LDA ENDSK SAVE DISC FLAG. STA PNDSK LDA DINT SAVE INTERRUPT RET.ADDR. STA PDINT OF DISC DRIVER. LDA LDER2 SAVE CONTENTS OF "LDER2" AND STA SVHLT REPLACE WITH "HALT" INSTR. LDA LDER4 STA LDER2 * CLB IF CENTRAL INTERRUPT SFC 0 FLAG IS SET, STORE "STF 0" LDB SETF0 IN "POWND"V; ELSE "NOP". STB POWND * POW2 EQU * CLC 4 HLT DEATH+4 [E] * * * ******************************************************************* ***** END OF POWER FAIL SECTION ***** ******************************************************************* * * * * * * * ******************************************************************* ** CORE RESIDENT RESTART SECTION ******************************************************************* * * POW1 STC 4,C SET FOR POWER FAIL. LDA M256 SET WORD LENGTH FOR ROLL IN AND STA WORD ROLL OUT. * * WAIT FOR DISC TO GET UP TO SPEED. * LDA LOOPS DELAY. POW30 EQU * * CLB ISZ B JMP *-1 ISZ A JMP POW30 POW3 EQU * STC DC,C SET UP DATA CHANNEL. OTB CC OUTPUT CLC CC STATUS. STC CC,C COMMAND. SFS DC WAIT FOR ACCEPTANCE. JMP *-1 LIA DC GET STATUS. CLC DC SZB DRIVE #1? JMP POW31 YES. CONTINUE. AND B100 NO. CHECK READY BIT. SZA,RSS SET? INB NO. NOW DO DRIVE #1. JMP POW3 YES. RECHECK. * POW31 EQU * CLC CC LDA FLAG CHECK FLAG. SLA ;; JMP POW56 FLAG=1. SZA JMP POW51 FLAG=2. * POW55 ISZ FLAG SET FLAG=1. POW56 EQU * LDA SWLBA,I ROLL OUT SYSTEM LIBRARY. LDB #LIB# JSB DISCP,I * ISZ FLAG SET FLAG=2. POW51 EQU * LDA RSLBA,I ROLL IN RESTART. LDB #LIBI JSB DISCP,I * JMP #LIB#,I EXECUTE RESTART. * * * ******************************************************************* * CONTINUATION OF CORE RESIDENT RESTART LOGIC. ******************************************************************* * * OVERLAY RESTART LOGIC MUST HAVE BEEN EXECUTED * BEFORE ENTERING THIS SECTION. *  * POW57 EQU * LDA SWLBA,I ROLL IN SYSTEM LIBRARY. LDB #LIBI JSB DISCP,I * * * TURN ON ALL DEVICES. * STC CLOCK START TBG. STC ?SC START CONSOLE. LDA TBITS RE-ESTABLISH PREVIOUS OTA ?SC STATE OF CONSOLE. STC MPX START MUX. STC DSCB START PHONES. * * LDA PNDSK RESTORE DISC BUSY FLAG. STA ENDSK LDA PWORD STA WORD LDB PCORE LDA CKFLG CHECK FLAG. SZA,RSS JMP POW58 =0. DRIVER NOT BUSY. SLA JMP POW59 =1.DRIVER BUSY.NOT FAILED IN DR. LDA PDINT =2.DRIVER BUSY.FAILED IN DRIVER. STA DINT LDA SVHLT RE-INSTATE CONTENTS OF STA LDER2 LOCATION "LDER2". CLA ST FLAG=0. STA FLAGA LDA PDADR JMP LDORP * POW59 EQU * LDA PDADR RECALL DISC DRIVER. JSB DISCP,I CLF 0 POW58 EQU * CLA LDB SVHLT RE-INSTATE LOCATION "LDER2". STB LDER2 STA FLAG SET FLAG=0. * DLD POWAB RESTORE A AND B REGISTERS. * * RESET INTERRUPT TO SAME * AS BEFORE POWER FAILURE. * POWND NOP JMP POWP,I EXIT. PEXIT EQU * * * * * POWIT BSS 2 POWFL BSS 1 FLAG NOP POWD1 ABS -POW1 POWD2 ABS -POW55+POW1 POWD3 ABS -PEXIT+POW55 SVHLT HLT DEATH+10B,C [E] CKFLG BSS 1 PDINT BSS 1 POWAB BSS 2 POWEO BSS 1 POWSW BSS 1 PDADR BSS 1 1- PCORE BSS 1 PWORD BSS 1 1O PNDSK BSS 1 POWP BSS 1 TO SAVE RETURN ADDRESS. SETF0 STF 0 LOOPS DEC -190 RSLBA DEF RSLIB POINTERS SWLBA DEF SWLIB TO DISC ADDRESSES. * * * HED PRINT NAME TABLE ** ** *** PRINT NAME TABLE FOR MULTICHARACTER SYMBOLS *** ** ** * * BITS 15-9 OF THE 'OCT' WORD ARE THE BASIC OPERATOR * CODES OF THE SYMBOLS. BITSB$ 2-0 ARE THE LENGTH IN * CHARACTERS OF THE SYMBOLS. THE ASCII VERSION (PRINT * NAME) FOLLOWS. * * * ** MULTICHARACTER BINARY OPERATORS ** * * MCBOS OCT 33003 AND ASC 1,ANA OCT 42000 OCT 34002 OR ASC 1,OR OCT 35003 MIN ASC 1,MI OCT 47000 OCT 36003 MAX ASC 1,MA OCT 54000 MRELS OCT 37002 UNEQUAL ASC 1,<> OCT 40002 GREATER THAN OR EQUAL ASC 1,>= OCT 41002 LESS THAN OR EQUAL ASC 1,<= * * ** MULTICHARACTER UNARY OPERATOR ** * * NOT OCT 42003 ASC 1,NO OCT 52000 * * ** STATEMENT TYPES ** * * STYPS OCT 45003 COM ASC 1,CO OCT 46400 OCT 46003 LET ASC 1,LE OCT 52000 OCT 47003 DIM ASC 1,DID OCT 46400 OCT 50003 DEF ASC 1,DE OCT 43000 0 OCT 51003 REM ASC 1,RE OCT 46400 OCT 52004 GOTO ASC 2,GOTO OCT 53002 IF ASC 1,IF OCT 54003 FOR ASC 1,FO OCT 51000 OCT 55004 NEXT ASC 2,NEXT OCT 56005 GOSUB ASC 2,GOSU OCT 41000 OCT 57006 RETURN ASC 3,RETURN EOFOP OCT 60003 END ASC 1,ENE OCT 42000 OCT 61004 STOP ASC 2,STOP OCT 62004 DATA ASC 2,DATA IOSTS OCT 63005 INPUT ASC 2,INPU OCT 52000 OCT 64004 READ ASC 2,READ OCT 65005 PRINT ASC 2,PRIN OCT 52000 OCT 66007 RESTORE ASC 3,RESTOR OCT 42400 OCT 67003 MAT ASC 1,MA OCT 52000 OCT 70005 FILES ASC 2,FILE OCT 51400 OCT 71005 CHAIN ASC 2,CHAI OCT 47000 OCT 72001 'IMPLIED' LET X] OCT 0 * * ** MISCELLANEOUS OPERATORS ** * * OCT 74002 OF ASC 1,OF THEN OCT 75004 ASC 2,THEN OCT 76002 TO ASC 1,TO STEP OCT 77004 ASC 2,STEP * * ** PREDEFINED FUNCTIONS. BITS 13-9 ARE USED ** ** FOR INTERNAL IDENTIFICATION ** * * TAB OCT 1003 TAB ASC 1,TA OCT 41000 0 PRDFS OCT 2003 SIN ASC 1,SI OCT 47000 OCT 3003 COS ASC 1,CO OCT 51400 OCT 4003 TAN ASC 1,TATn OCT 47000 0 OCT 5003 ATN ASC 1,AT OCT 47000 OCT 6003 EXP ASC 1,EX OCT 50000 OCT 7003 LOG ASC 1,LO OCT 43400 OCT 10003 ABS ASC 1,AB OCT 51400 OCT 11003 SQR ASC 1,SQ OCT 51000 OCT 12003 INT ASC 1,IN OCT 52000 OCT 13003 RND D ASC 1,RN OCT 42000 OCT 14003 SGN ASC 1,SG OCT 47000 OCT 15003 LEN ASC 1,LE OCT 47000 OCT 16003 TYP ASC 1,TY OCT 50000 OCT 17003 TIM ASC 1,TI OCT 46400 * * ** MATRIX FUNCTIONS ** * * MATFS OCT 24003 ZER ASC 1,ZE OCT 51000 OCT 25003 CON ASC 1,CO OCT 47000 999999 OCT 26003 IDN 9999 ASC 1,ID OCT 47000 OCT 27003 INV ASC 1,IN OCT 53000 OCT 30003 TRN ASC 1,TR OCT 47000 HED PHONES LOGIC * ** *** DATA SET CONTROL BOARD LOGIC ** * DSCBL NOP CLF .0 STA PHNA SAVE STB PHNB ERA REGISTERS STA PHNE LIA DSCB LOAD AND SAVE STA NSTAT PHONES STATUS ALF,RAL RAL AND .+15 A = PORT# ADA TTYTP LDB A,I B => TTY TABLE ADB .+?PPRM LDA B,I A = PHONES PARAM AND .+3 ISOLATE AND SAVE STA OSTAT PHONES STATUS BITS LDA NSTAT STORE NEW STA B,I PHONES STATUS OTA DSCB OUTPUT TO PHONES BOARD ADB .+?TSTA-?PPRM B => I/O STATUS AND .+3 ISOLATE NEW STATUS BITS XOR OSTAT TAKE CARE SZA,RSS OF NOISE JMP DEXIT SLA DID DSR CHANGE? JMP DSC2 YES SPC 1 * ** CARRIER STATUS CHANGED * AND OSTAT RAR,SLA JMP DSC1 * * CONNECTION MADE OR CONNECTION RESTORED WITHIN * LINE DROP-OUT TIMING. * DSR(OLD)=1 CARRIER(OLD)=0 * DSR(NEW)=1 CARRIER (NEW)=1 * LDA B,I REMOVE LINE AND LDNBT DROP-OUT BIT STA B,I FROM STATUS JMP DEXIT Tv * * LINE DROP-OUT OR HANG UP. * DSR(OLD)=1 CARRIER(OLD)=1 * DSR(NEW)=1 CARRIER(NEW)=0 * DSC1 LDA B,I LOG TIMING OR AND LTLDB LINE DROP-OUT SZA BIT SET? JMP DEXIT YES, EXIT LDA B,I NO, SET LINE IOR LDBT DROP-OUT BIT STA B,I ADB .+?PHON-?TSTA LDA .-2 SET FOR TWO STA B,I SECONDS TIMING JMP DEXIT SPC 1 * ** DATA SET READY CHANGED * * DSC2 AND OSTAT SLA * * HERE'S JOE COOL ANSWERING THE PHONE - * RATS, WRONG NUMBER! * * * DSR(OLD)=1 CARRIER(OLD)=0 OR =1 * DSR(NEW)=0 CARRIER(NEW)=0 =0 * JMP DSC1 * * PHONE JUST ANSWERED OR HARDWIRED TERMINAL CONNECTED * DSR(OLD)=0 CARRIER(OLD)=0 OR =0 * DSR(NEW)=1 CARRIER(NEW)=0 =1 * LDA B,I HFB LOG TIMING OR AND LTLDB LINE DROP-OUT SZA BIT SET? JMP DEXIT YES,EXIT LDA B,I NO, SET LOG IOR LTBT TIMING BIT STA B,I ADB .+?PHON-?TSTA LDA PHR STORE LOG-ON TIME STA B,I IN PHONES WORD SPC 1 * ** EXIT * DEXIT LDA PHNE RESTORE ELA LDA PHNA REGISTERS LDB PHNB CLF DSCB STF 0 JMP DSCBL,I DSCED EQU * SPC 2 * LTLDB EQU B300 OSTAT BSS 1 1 NSTAT BSS 1 PHNA BSS 1 PHNB BSS 1 PHNE BSS 1 [[ yH AR 24280-80017 1534 S 0122 TSB/E SYSTEM              H0101  HED SYSTEM CONSOLE DRIVER * THE SYSTEM CONSOLE DRIVER CONTROLS ALL TRANSMISSION OF DATA BE- * TWEEN THE SYSTEM CONSOLE (ASR-35) AND THE SYSTEM. IT HANDLES ALL * * IO FOR THE DEVICE AND PROVIDES FOR COMMUNICATION OF MESSAGES TO * THE SYSTEM, THE FOLLOWING VARIABLES ARE SIGNIFICANT: * * T35F1: =0 DURING INPUT, -1 DURING OUTPUT. * T35F2: NORMALLY 0, IT IS SET TO -1 WHEN A COMPLETE MESSAGE HAS * BEEN RECEIVED. UNTIL IT IS CLEARED BY THE SYSTEM, ALL FUR- * THER INPUT IS INHIBITED. * T35F3: NORMALLY 0, IT IS SET TO -1 WHEN A COMPLETE MESSAGE HAS * BEEN RECEIVED. UNTIL IT IS CLEARED BY THE OUTPUT * INITIALIZATION SECTION OF THE DRIVER, LOG AND MESSAGE * ENTLRIES ARE HELD OFF. * TOG: NOT USED DURING INPUT. DURING OUTPUT, BIT 0 = 0 IF NEXT * CHARACTER IS ON LEFT, 1 IF ON RIGHT. * TADR: NOT USED DURING INPUT. DURING OUTPUT, TADR(14:0) POINTS TO * THE WORD FROM WHICH THE NEXT CHARACTER WILL BE TAKEN. * BIT 15=1 FOR PUNCH & PRINT, 0 FOR PRINT ONLY. * TCNT: DURING INPUT, TCNT=# OF CHARS IN SO FAR. DURING OUTPUT, * TCNT(14:0)=# OF CHARS REMAINING TO BE OUTPUT, BIT 15=0 * IF A CRLF IS TO BE APPENDED, 1 IF NOT. * TBITS: CONTAINS CURRENT CONTROL BITS. * 120000 => PRINT * 130000 => PUNCH AND PRINT * 160000 => INPUT * TTA,TTB,TTE: USED TO SAVE THE VALUES OF A,B,E REGISTERS DURING * INTERRUPTS. * * CALLING SEQUENCE: * JSB TTY35,I A=# OF CHARS (BIT 15=0 FOR CRLF, 1 FOR NONE) * B=BUFFER ADDRESS (BIT 15=1 FOR PUNCHING) * * INPUT MESSAGES ARE STORED IN THE 72 CHARACTER BUFFER T35BF. * SPC 2 ?TT35 NOP ENTRY POINT FOR OUTPUT. CLF 0 INHIBIT INTERRUPT. STA TCNT SET UP INITIAL PARAMETERS. STB TADRD CCA SET FLAG TO SAY STA T35F1 OUTPUT. LDA ?TT35 COPY RETURN ADDRESS INTO THAT OF STA ?TT2 INTERRUPT SECTION. CLA SET TOG TO SAY LEFT HAND CHAR. STA TOG G STA T35F3 * * TEST FOR PENDING INPUT. IF THERE IS ANY, EXIT IMMEDIATELY AND LET * THE INTERRUPT TRIGGER THE FIRST OUTPUT CHARACTER. * LIA ?SC SSA,RSS JMP TT18 NONE PENDING--GO OUTPUT 1ST CHAR. STF 0 JMP ?TT35,I * * INTERRUPT SECTION * ?TT2 NOP P+ STA TTA SAVE REGISTERS. STB TTB ERA STA TTE LDA T35F1 TEST FLAG TO DETERMINE IF SZA,RSS INPUT OR OUTPUT. JMP TT17 INPUT LIA ?SC LOAD BACK LINE STATUS DURING OUTPUT LDB T35ST GET CONSOLE STATUS B] CPB %OUTW IF STATUS IS OUTPUT B] LDB T35PR WAIT, USE PRIORITY B] CMB,INB B] ADB %RUN-COM2+ROS [E] SSB,RSS ABORTABLE LIBRARY ROUTINE? B] CPA B377 YES, CHECK FOR A KEY STRUCK B] JMP TT18 NO INPUT, CONTINUE ON CLA STA T35F2 CLEAR CONTINUEING OUTPUT FLAG STA T35ST SET CONSOLE STATUS TO IDLE * TT18 LDA TCNT GET # OF CHARS LEFT. RAL,CLE,ERA COPY CRLF BIT INTO E. LDB FILCT PRINTING FILL CHARACTERS? (D) ISZ FILCT CHECK IF DONE (D) SSB,RSS MAKE SURE FILCT IS NEGATIVE (D) JMP TT7 POSITIVE OR DONE (D) LDA B377 GET FILL CHARACTER [E] JMP TT8 (D) * TT7 SZA ANY CHARACTERS LEFT? (D) JMP TT5 YES--GO OUTPUT NEXT ONE. SEZ NO--WANT CRLF? JMP TT6 NO--GO RESET FOR INPUT. STA TOG SET UP OUTPUT OF CRLF. LDA .+3 3 CHARS WITH IOR BIT15 NO CRLF FOLLOWING. STA TCNT LDA TADR KEEP PRINT/PUNCH BIT. AND BIT15 IOR TTXCP STA TADR JMP TT18 * * END OF OUTPUT--RESET FOR INPUT. * TT6 STA TCNT SET COUNTER TO SAY NO CHARS IN. STA T35F1 SET FLAG TO SAY INPUT. LDA B160K GET CONTROL BITS FOR INPUT. STA TBITS SAVE. TT8 OTA ?SC OUTPUT TO CONSOLE. TT10 LDA TTE RESTORE REGISTERS. ELA LDA TTA LDB TTB B2 STC ?SC,C ENABLE DEVICE. STF 0 ENABLE INTERRUPT. JMP ?TT2,I EXIT. * * OUTPUT NEXT CHARACTER * TT5 CCA DECREMENT ADA TCNT COUNTER. STA TCNTN8 LDB TADR GET POINTER TO OUTPUT BUFFER. LDA B120K GET BITS FOR PRINT ONLY. RBL,CLE,SLB,ERB TEST & CLEAR BIT 15 OF B. LDA B130K GET PRINT/PUNCH BITS. STA TBITS SAVE CONTROL BITS. OTA ?SC OUTPUT TO DEVICE. LDA 1,I GET WORD CONTAINING CHARACTER. LDB TOG GET LEFT/RIGHT TOGGLE. SLB IF RIGHT CHARACTER, ISZ TADR BUMP POINTER. SLB,RSS IF LEFT CHARACTER, ALF,ALF POSITION ON RIGHT. ISZ TOG REVERSE TOGGLE SENSE. TT15 AND B177 KEEP BITS 6-0 AND IOR B200 SET BIT 7. LDB FILLR GET # OF FILL CHARACTERS (D) CPA B212 PRINTING A LINE FEED? (D) STB FILCT YES, FOLLOW WITH FILLS (D) JMP TT8 GO OUTPUT CHARACTER. * * CHARACTER HAS BEEN INPUT. * TT17 LDA T35F2 IGNORE CHARACTER IF T35F2 IS SET MIA 1 OR SWITCH 0 IS SET. SLA JMP TT10 LIA ?SC GET CHARACTER IN A. AND B177 CCB PREPARE -1 IN B. CPA .+12B IGNORE LF, RUBOUT, NULL, XOFF. JMP TT10 CPA B177 JMP TT10 SZA CPA .+23B JMP TT10 * ** TEST FOR 'CONTROL X' * CPA .+30B JMP TT11 * CPA BKSPC TEST FOR "_" JMP TT12 CPA .+15B TEST FOR CR. STB T35F2 SET COMMUNICATION FLAG. CPA .+15B STB T35F3 3ߺ * * NOW INSERT CHARACTER IN BUFFER. * LDB TCNT GET COUNT IN B. CPB ?72 DON'T IF BUFFER IS FULL. JMP TT10 CLE,ERB MOVE LEFT/RIGHT BIT TO E, AND ADB T35B1 COMPUTE ADDRESS OF DESTINATION. SEZ,RSS LEFT/RIGHT TEST. ALF,SLA,ALF LEFT. IOR 1,I RIGHT. ISZ TCNT BUMP COUNTER. TT16 STA 1,I STORE IN BUFFER. JMP TT10 GO EXIT. * * HANDLE BACKSPACE. * TT12 LDB TCNT GET CHARACTER COUNT SZB,RSS IGNORE IF NO CHARS YET. JMP TT10 ADB .-1 GET NEW TCNT. STB TCNT CLE,ERB CLEAR RIGHT HALF OF NEW DESTIN- ADB T35B1 ATION. LDA 1,I AND HIMSK JMP TT16 * * ** HANDLE 'CONTOL X' * TT11 STB T35F1 SET OUTPUT FLAG. CLA SET TCNT FOR CRLF AFTER "\". STA TCNT STA TADR SET FOR NO PUNCHING LDA B120K SET FOR PRINT ONLY. STA TBITS OTA ?SC LDA RVRSL GO OUTPUT "\" JMP TT15 TTYED EQU * TTXCP DEF *+1 OCT 11415 OCT 5000 FILCT DEC -1 (D) B212 OCT 212 LINE FEED (D) HED MULTIPLEXER OUTPUT ROUTINE * ** *** MULTIPLEXER OUTPUT ROUTINE ** * * THIS ROUTINE HANDLES ALL OUTPUT TO BOTH MULTIPLEXER BOARDS. * THE FORMAT IS AS FOLLOWS: * A REGISTER = DATA * B REGISTER = UNIT NUMBER * MUXOR NOP CLF 0 STOP INTERRUPTS STA ATEMP SAVE A RBL,RBL POSITION UNIT NUMBER LIA MPX+1 WAIT FOR SSA SEEKING BIT JMP *-2 TO CLEAR LDA ATEMP RESTORE A OTA MPX OUTPUT DATA OTB MPX+1 AND UNIT NUMBER STC MPX X JMP MUXOR,I RETURN MUXND EQU * SPC 1 * ** MULTIPLEXER CONSTANTS AND TEMPORARIES * XTNUM BSS 1 => PORT NUMBER XCCNT BSS 1 => CHARACTER COUNT XBPNT BSS 1 => RUNNING BUFFER POINTER XBSTR BSS 1 => START OF BUFFER XBHED BSS 1 => START OF FIRST BUFFER XBGIN BSS 1 => START OF PHYSICAL BUFFER XBEND BSS 1 => END OF PHYSICAL BUFFER XSTAT BSS 1 => STATUS XDCNT BSS 1 => CR AND LF DELAY COUNT XRPRM BSS 1 => RECEIVE PARAMETER XMASK BSS 1 => MASK WORD XCHAR BSS 1 TEMPORARY CHARACTER STORAGE XTPNT BSS 1 BUFFER POINTER TEMPORARY MPXA BSS 1 MULTIPLEXER MPXB BSS 1 REGISTER MPXE BSS 1 STORAGE MPXLC BSS 1 LOWER MPX SC STORAGE MPXUC BSS 1 UPPER MPX SC STORAGE SPC 1 * ** GENERAL USAGE CONSTANTS * * DMASK OCT 43400 SCLER OCT 71102 ATEMP BSS 1 HED MULTIPLEXER DRIVER * * ** DRIVER INITIALIZATION * MPXIO NOP STA MPXA S A, STB MPXB A B, ERB V AND STB MPXE E E LIA MPX GET MPX STA MPXLC STATUS LIA MPX+1 AND STA MPXUC SAVE IT ALF MOVE TTY# TO RAL,RAL RIGHT END AND AND B17 MASK TO 4 BITS ADA TTYTP ADD ON TTY TABLE POINTER LDB A,I B => TTY# STB XTNUM SAVE INB B => CHARACTER COUNT STB XCCNT INB B => RUNNING BUFFER POINTER STB XBPNT INB B => START OF BUFFER STB XBSTR INB B => START OF FIRST BUFFER STB XBHED INB B => START OF PHYSICAL BUFFER STB XBGIN N@ INB B => END OF PHYSICAL BUFFER STB XBEND INB B => STATUS STB XSTAT INB B => DELAY COUNTER STB XDCNT ADB .+?RPRM-?DCNT B=> RECEIVE PARAMETER STB XRPRM ADB .+?MASK-?RPRM B => MASK STB XMASK LDA MPXLC GET CHARACTER. AND B1777 IS IT A BREAK?7 SZA,RSS JMP ABORT YES - GO TO ABORT LOGIC LDA MPXUC NO - GET STATUS AND SLA TEST FOR INPUT JMP MPXOP NO GO TO OUTPUT LOGIC LDA XSTAT,I GET USER'S STATUS AND NIBT IS INPUT ALLOWED? SZA YES JMP MPXEP NO - IGNORE IT HED MULTIPLEXER DRIVER - RECEIVE CHANNEL PROCESSING * ** *** RECEIVE CHANNEL PROCESSING ** * LDA MPXLC GET DATA WORD AND B177 MASK DATA BITS STA XCHAR LDB A B = CHARACTER LDA XSTAT,I A = STATUS AND XOBT CHECK FOR X-OFF BIT SZA JMP INPX YES LDA XSTAT,I A = STATUS AND CXBT CHECK FOR CANCEL BIT SZA,RSS JMP INPX0 NONE * * TAPE MODE - IGNORE CHARACTERS UNTIL 'CR' * INPX XOR XSTAT,I REMOVE CANCEL OR X-OFF CPB .+15B BIT IF CHARACTER IS A STA XSTAT,I CARRIAGE RETURN JMP MPXEP * * ** TEST THE CHARACTER * INPX0 CPB CANCL TEST FOR 'CONTROL X' JMP INPX2 2 CPB BKSPC TEST FOR BACKSPACE JMP INPX7 SZB IGNORE FEED FRAMES CPB B177 AND RUBOUTS JMP MPXEP CPB .+12B IGNORE LINEFEEDS JMP MPXEP CPB .+23B TEST FOR X-OFF RSS JMP INPX1 NO LDA XSTAT,I YES AND XOFBT TEST FOR SPECIAL [E] SZA,RSS X-OFF PROCESSING JMP MPXEP NO - IGNORE CHARACTER LDA XSTAT,I YES IOR XOBT SET X-OFF BIT STA XSTAT,I AND REPLACE THE LDA .+15B X-OFF WITH A CR STA XCHAR * ** APPEND CHARACTER TO BUFFER * INPX1 LDA XBPNT,I A => POSITION FOR THIS CHARACTER INA A => POSITION FOR NEXT CHARACTER CPA XBEND,I IF A => BEYOND END OF BUFFER, ADA MBLEN MAKE IT POINT TO START CPA XBHED,I IF BUFFER FULL, TRANSFER JMP INPX2 FOR SPECIAL HANDLI:`NG LDB XBPNT,I B => ADDRESS FOR THIS CHARACTER STA XBPNT,I SAVE THE INCREMENTED POINTER CLE,ERB B = WORD ADDRESS LDA B,I A = DESTINATION WORD SEZ,RSS IF HIGH CHARACTER ALF,ALF ROTATE TO BOTTOM AND HIMSK CLEAR LOWER 8 BITS IOR XCHAR MERGE WITH NEW CHARACTER SEZ,RSS IF HIGH CHARACTER, ALF,ALF ROTATE BACK STA B,I STORE BACK IN BUFFER LDA XCHAR IF CHARACTER CPA .+15B WAS A 'CR' JMP INPX4 GO PROCESS IT JMP MPXEP * ** PROCESS 'CONTROL X' (CANCEL) * INPX2 LDA XBSTR,I RESET BUFFER POINTER STA XBPNT,I TO BEGINNING LDA XMASK,I IS USER IN AND TAPEF TAPE MODE? SZA JMP INPX3 YES LDB XBSTR,I NO, MOVE CLE,ERB REVERSE LDA RVRSL SLASH AND STA B,I CR LF TO INB USER'S LDA CRLF BUFFER STA B,I LDA .-3 SET CHARACTER STA XCCNT,I COUNT TO -3 LDA XSTAT,I CHANGE AND IONBT STATUS STA XSTAT,I TO OUTPUT AND RNBT IF USER NOT SZA,RSS RUNNING JSB OTPUT STOP INPUT LDA SYNCC LDB XTNUM,I JSB MUXR,I OUTPUT JMP MPXEP * INPX3 LDA XSTAT,I SET THE IOR CXBT CANCEL BIT STA XSTAT,I IN STATUS JMP MPXEP * ** PROCESS CARRIAGE RETURN * INPX4 LDA XMASK,I IS USER IN AND TAPEF TAPE MODE? SZA TAPE MODE? JMP INPX6 YES JSB OTPUT NO, CHANGE STATUS AND MPX PARAMS * * ** INFORM SYSTEM OF COMPLETE LINE * INPX5 LDA XMASK,I SET THE IOR MPCOM COMMUNICATION STA MPCOM FLAG JMP MPXEP Pk * * INPX6 LDA XBSTR,I GET POINTER TO BEGINNING LDB XBPNT,I OF CURRENT BUFFER AND RESET STB XBSTR,I TO CURRENT CHARACTER CPA XBHED,I IF BUFFER JUST COMPLETED WAS JMP INPX5 FIRST, TELL OTHER MACHINE JMP MPXEP * ** PROCESS BACKSPACE * INPX7 LDA XBPNT,I GET BUFFER POINTER CPA XBSTR,I IF NO CHARACTERS JMP MPXEP RETURN IMMEDIATELY CPA XBGIN,I IF AT BEGINNING OF PHYSICAL ADA BLEN BUFFER, MOVE TO END ADA .-1 BACK-UP ONE SPACE STA XBPNT,I nn JMP MPXEP * ** STOP INPUT - CONFIGURE SEND CHANNEL * OTPUT NOP LDA XSTAT,I A = STATUS IOR NIBT 'NO INPUT ALLOWED' STA XSTAT,I BIT LDA XRPRM,I A = RECEIVE PARAMETER AND NECHO ECHO LDB XTNUM,I GET UNIT NUMBER JSB MUXR,I OUPUT TO MUX STF 0 JMP OTPUT,I HED MULTIPLEXER DRIVER - ABORT PROCESSING * * ** *** ABORT PROCESSING ** * ABORT CLF 0 LDA MPXUC GET MUX STATUS AND TEST SLA FOR RECEIVE INTERRUPT JMP MPXOP NO - OUTPUT NEXT CHARACTER LDA XSTAT,I A = STATUS AND NIBT CHECK FOR SZA,RSS OUTPUT MODE JMP MPXEP INPUT MODE - IGNORE LDA XSTAT,I I AND UNABT UNABLE TO SZA,RSS ABORT? JMP ABT1 NO LDA XSTAT,I YES, SET IOR ABTRY 'ABORT TRY' STA XSTAT,I BIT IN STATUS JMP MPXEP * ABT1 LDB XTNUM ADB .+?STAT LDA B,I A = SYSTEM STATUS CPA %SYNT CHECK FOR SYNTAX JMP MPXEP CANN'T ABORT OUT OF SYNTAX ADA .+.-%RUN+COM2-COM3 SSA SKIP IF LIBRARY PROGRAM, JMP ABT2 OTHERWISE ABORT ALWAYS ALLOWED ADA %RUN-COM2+CAT CMA,INA ABORTABLE ADA B,I LIBRARY SSA PROGRAM? JMP MPXEP NO LDA B,I MAYBE CMA,INA ADA %RUN-COM2+LIBRY SSA A JMP MPXEP NO * ABT2 LDA XSTAT,I AND SCLER gCLEAR STATUS BITS IOR IOBT SET 'INPUT MODE' BIT STA XSTAT,I STORE NEW I/O STATUS CCA CHANGE USER'S SYSTEM STA B,I STATUS TO -1 LDA XMASK,I SET THE IOR MPCOM COMMUNICATION STA MPCOM FLAG JMP MPXEP HED MULTIPLEXER DRIVER - SEND CHANNEL PROCESSING ** * *** SEND CHANNEL PROCESSING ** * MPXOP LDB XCCNT,I IF NO CHARACTERS SZB,RSS LEFT, GO TO END OF JMP MPXEO OUTPUT PROCESSING LDB XBPNT,I B => BUFFER POINTER INB B => NEXT CHARACTER CPB XBEND,I IF END OF BUFFER, ADB MBLEN CHANGE TO BEGINNING STB XTPNT SAVE POINTER LDA XDCNT,I CHECK DELAY COUNTER FOR CR SZA OR LF DELAY IN PROGRESS JMP DELAY GO TO DELAY PROCESSING CLE,ERB POSITION AS WORD POINTER LDA B,I A = WORD CONTAINING CHARACTER SEZ,RSS POSITION CHARACTER ALF,ALF IN BITS 7-0 AND B177 MASK OUT CHARACTER STA XCHAR AND SAVE IT IOR DMASK ADD STOP AND PARITY BITS LDB XTNUM,I B = UNIT NUMBER JSB MUXR,I OUTPUT CHARACTER STF 0 LDA XCHAR A = CHARACTER CPA .+15B IF CHARACTER IS JSB CRDLY CR, SET UP DELAY CPA .+12B IF CHARACTER IS JSB LFDLY LF, SET UP DELAY * ** ADJUST BUFFER POINTERS * BUFAD CLF 0 LDA XTPNT GET BUFFER POINTER TEMPORARY STA XBPNT,I RESET BUFFER POINTER ISZ XCCNT,I INCREMENT CHARACTER COUNT RSS IF COUNT IS ZERO, GO JMP MPXEP TO MUX END OF PROCESSING LDA XCCNT,I GET CHARACTER COUNT STF 0 CPA .-10 ARE EXACTLY 10 RSS CHARACTERS LEFT? JMP MPXEP NO - CONTINUE * ** NOTIFY SYSTEM - BUFFER CAN TAKE CHARACTERS AGAIN * LDA MPCOM A = COMMUNICATION FLAG LDB XTNUM ADB .+?S~ TAT LDB B,I B = USER'S SYSTEM STATUS CPB .+3 IF STATUS IS OUTPUT WAIT, IOR XMASK,I SET COMMUNICATION FLAG STA MPCOM JMP MPXEP Pk * ** OUTPUT DELAY CHARACTER * DELAY LDA SYNCC GET DELAY CHARACTER LDB XTNUM,I B = UNIT NUMBER JSB MUXR,I OUTPUT DELAY CHARACTER ISZ XDCNT,I CHECK FOR FURTHER DELAY TIME JMP MPXEP YES JMP BUFAD NO - ADJUST BUFFER POINTERS * ** END OF OUTPUT PROCESSING * MPXEO CLF 0 LDA XBGIN,I RESET ALL STA XBPNT,I BUFFER POINTERS STA XBSTR,I TO THE BEGINNING STA XBHED,I OF THE USER'S BUFFER LDA XSTAT,I CHANGE IOR IOBT STATUS STA XSTAT,I TO INPUT AND ICNBT REMOVE 'INPUT CONFIGURATION' BIT CPA XSTAT,I BRANCH RSS IF IT JMP MPXIC WAS SET AND RNBT CHECK FOR USER RUNNING SZA JMP MPXEP YES LDA XSTAT,I NO, REMOVE MPXIC AND NINBT 'NO INPUT ALLOWED' STA XSTAT,I BIT LDA XRPRM,I GET USER'S RECEIVE PARAMETER LDB XTNUM,I B = UNIT NUMBER JSB MUXR,I JMP MPXEP SKP * * * SUBROUTINE TO SET CR-DELAY. * CRDLY NOP LDB XTNUM ADB .+?CDLY LDA B,I STORE CR DELAY STA XDCNT,I IN THE COUNTER SZA ANY DELAY? JMP MPXEP YES JMP CRDLY,I NO SPC 2 * * * SUBROUTINE TO SET LF-DELAY. * LFDLY NOP LDB XTNUM ADB .+?LDLY LDA B,I STORE LF DELAY STA XDCNT,I IN THE COUNTER SZA ANY DELAY? JMP MPXEP YES JMP LFDLY,I NO SPC 3 * ** *** MULTIPLEXER END OF PROCESSING ** * MPXEP LDA MPXE RESTORE ELA E, LDA MPXA A, LDB MPXB AND B CLF MPX ENABLE MUX. STF 0 JMP MPXIO,I MPXED EQU * B@< START OF TTY TABLE ADB .+?TSTA STB TSPNT => USER I/O STATUS LDA B,I AND HLDTP ANY PHONES SZA,RSS BITS SET? JMP SPLN NO AND PDBT { YES, PHONE SZA DISCONNECTED BIT? JMP SPL4 YES LDA B,I NO, HANG AND HUBT USER UP SZA BIT SET? JMP SPL1 YES ADB .+?PHON-?TSTA NO, BUMP PHONES TIME ISZ B,I COUNTER - IS TIME UP? JMP SPLN NO LDA TSPNT,I YES, A = STATUS AND LTBT LOG TIMING SZA BIT SET? JMP SPL3 YES S * * ** LINE DROP-OUT * LDA TSPNT,I NO, MUST BE LINE DROP-OUT AND LDNBT REMOVE LINE DROP-OUT AND AND ICNBT INPUT CONFIGURATION BITS IOR IOBT SET INPUT MODE BIT RSS * ** HANG USER UP * SPL1 XOR B,I REMOVE HANG USER UP BIT STA TSPNT,I STORE NEW STATUS LDB TPNTR ADB .+?STAT LDA B,I A = USER'S SYSTEM STATUS CPA %SYNT SYNTAX IN USE? JMP SPL5 YES. CAN NOT DISCONNECT. ADA .+.-%RUN-COM3+COM2 SSA LIBRARY PROGRAM IN USE? JMP SPL2 NO SPL5 LDA TSPNT,I YES. SET IOR HUBT HANG USER STA TSPNT,I UP BIT JMP SPLN SPL2 LDA %DISC SET STATUS TO STA B,I FORCED DISCONNECT CLF 0 ADB .+?MASK-?STAT LDA B,I SET MPCOM BIT IOR MPCOM M2 STA MPCOM STF 0 ADB .+?LINK-?MASK JSB DEQUE REMOVE USER FROM QUEUE JMP SPLN * ** LOG-ON TIMED OUT * SPL3 XOR TSPNT,I REMOVE LOG TIMING AND LDNBT AND LINE DROP-OUT BITS IOR PDBT SET PHONE DISCONNECTED IOR IOBT AND INPUT MODE BITS STA TSPNT,I STORE NEW STATUS LDA TPNTR,I RAL,RAL GET THE OTA DSCB PHONES LIA DSCB STATUS IOR B300 SET DTR OFF OTA DSCB OUTPUT TO PHONES BOARD JMP SPLN * ** PHONE DISCONNECTED * SPL4 CMA REMOVE PHONE AND B,I DISCONNECTED BIT STA B,I 0.*LDA TPNTR,I GET THE RAL,RAL PHONES OTA DSCB STATUS LIA DSCB IOR B360 SET DTR ON OTA DSCB OUTPUT TO PHONES BOARD ADB .+?PPRM-?TSTA STA B,I STORE IN PHONES PARAMETER * ** UPDATE POINTERS TO NEXT USER * SPLN LDB TPNTR ADJUST POINTER TO ADB .+TTY01-TTY00 NEXT USER'S TABLE ISZ TCNTR ALL DONE? JMP SPL NO SKP Pl "P0 C P 24280-80019 1534 S 0122 TSB/E SYSTEM              H0101 * ** *** PORT ACTIVITY CHECKER ** * * CONTROL COMES HERE TO CHECK THE PORT COMMUNICATIONS BIT FLAG FOR * ANY PENDING PORT ACTIVITY. AFTER ALL PENDING REQUESTS HAVE BEEN * SERVICED, THE SYSTEM CONSOLE IS CHECKED FOR PENDING ACTIVITY. IF * THERE IS NOTHING TO DO, THIS SECTION SERVES AS THE IDLE LOOP. IF * A PORT IS AWAITING PROCESSING, ITS TELETYPE TABLE ?MASK BIT WILL * BE SET IN THE PORT COMMUNICATIONS BIT FLAG. THE ?STAT ENTRY WILL * THEN INDICATE THE PENDING ACTIVITY AS FOLLOWS: * %DISC EQU .-2 * * DISCONNECT - THE USER IS DEQUEUED; HIS RESTART * ADDRESS IS SET TO THE LIBRARY ROUTINE ORIGIN, * LIBRA (OCTAL 37300); HIS STATUS IS SET FOR THE * BYE ROUTINE; AND HE IS REINSERTED ON THE QUEUE * WITH A PRIORITY OF 2. * * %ABRT EQU .-1 * * ABORT - THE USER IS DEQUEUED AND THE "STOP" * MESSAGE IS SENT TO HIS TERMINAL. IF HE IS * CURRENTLY RUNNING THE $HELLO PROGRAM, HIS * USER AREA IS SCRATCHED. * * %IDLE EQU .+0 * * COMMAND - THE USER IS CURRENTLY IN IDLE MODE * AND HE HAS ENTERED A COMMAND OR A LINE OF SYNTAX. * THESE CAN BE DISTINGUISHED BY THE FIRST NON-BLANK * CHARACTER WHICH, IF IT IS A DIGIT, SIGNIFIES A * LINE OF SYNTAX HAS BEEN ENTERED. IN EITHER CASE * CONTROL IS PASSED TO THE COMMAND HANDLER. * * * %INPT EQU .+2 * * INPUT WAIT - THIS INDICATES THAT A USER PROGRAM * WHICH HAD REQUESTED INPUT HAS RECEIVED IT. THE * USER IS INSERTED ON THE QUEUE WITH A PRIORITY * OF 0. * * %OUTW EQU .+3 * * OUTPUT WAIT - THE USER WAS SUSPENDED FOR LACK * OF OUTPUT BUFFER SPACE. THE BUFFER NOW HAS * SPACE AVAILABLE SO THE USER IS PLACED ON THE X* QUEUE WITH A PRIORITY OF 0. * * * IF THE USER IS SCHEDULED TO RUN, HE WILL BE ON THE QUEUE. THE * QUEUE CONSISTS OF THE QUEUE HEAD, MLINK, AND THE TELETYPE TABLE * ?LINK ENTRIES OF EACH USER WHO IS SCHEDULED TO RUN. EACH ?LINK * ENTRY, STARTING WITH MLINK+1, POINTS TO THE NEXT USER ON THE * QUEUE. THE LAST ENTRY ON THE QUEUE WILL POINT BACK TO MLINK+1, * THUS IF MLINK+1 POINTS TO ITSELF, NO ONE IS ON THE QUEUE. * SCHEDULED USERS HAVE ONE OF THE FOLLOWING STATUS: * %SYNT EQU .+4 * * * SYNTAX - THE USER HAS ENTERED A LINE OF SYNTAX * AND IS WAITING FOR INTERPRETATION. * * %RUN EQU .+5 * * RUN - THIS IS THE STATUS OF THE FIRST COMMAND * IN THE COMMAND TABLE. ALL OTHER COMMANDS ARE * SCHEDULED AS AN INCREMENTAL VALUE OF THE RUN * COMMAND, SOLELY DEPENDENT ON THEIR PHYSICAL * LOCATION IN THE COMMAND TABLE. THUS THE LIST * COMMAND, WHICH RESIDES IN THE TABLE JUST AFTER * RUN, HAS THE STATUS OF %RUN+1. SPC 2 SCH54 STF 0 LDA MPCOM ANY PENDING SZA,RSS ACTIVITY? JMP SCH5 NO, CHECK SYSTEM CONSOLE LDB DTTY0 YES, COMPUTE ADDRESS OF TABLE SLA,RAR ENTRY FOR SIGNALLING TELETYPE. JMP *+3 FOUND. ADB .+TTY01-TTY00 JMP *-3 STB TTQ SAVE ADDRESS IN TTQ ADB .+?ID STORE ID ADDRESS IN STB SCHID SCHID. CLF 0 INHIBIT MULTIPLEXOR. ADB .+?MASK-?ID LDA 1,I CLEAR MPCOM BIT. XOR MPCOM STA MPCOM ADB .+?STAT-?MASK B=>STATUS. LDA B,I A = STATUS ADA .+.-%SYNT MAKE SURE STATUS SSA,RSS IS LESS THAN %SYNT JMP SCH54 IGNORE OTHERWISE ADA *+2 BRANCH TO SECTION JMP A,I TO HANDLE REQUEST DEF *+7 JMP SCH8 DISCONNECT  JMP SCH7 ABORT JMP SCH6 COMMAND JMP SCH54 NOT USED NOP INPUT WAIT * NOP OUTPUT WAIT SPC 1 * ** INPUT WAIT AND OUTPUT WAIT HANDLER * ADB .+?PLEV-?STAT LDA B,I GET ACTUAL STATUS ADB .+?STAT-?PLEV STA B,I SET ACTUAL STATUS STF 0 ADB .+?PLEV-?STAT CLA SET PRIORITY TO 0 STA B,I ADB .+?LINK-?PLEV JMP SCH3 GO INSERT USER IN QUEUE SPC 1 * ** ABORT HANDLER * SCH7 STF 0 INB B=>LINK JSB DEQUE REMOVE USER FROM QUEUE. LDB TTQ CHANGE STATUS ADB .+?STAT LDA %IDLE STA B,I LDB TTQ SCATCH IF $HELLO JSB HTEST IS RUNNING LDA .-8 PRINT ABORT JSB TYPE MESSAGE OCT 6412 ASC 2,STOP OCT 6412 SPC 1 * ** DISCONNECT HANDLER * SCH8 LDA %RUN-COM2+BYE SET USER'S STATUS STA B,I TO BYE ROUTINE ADB .+?LINK-?STAT JSB DEQUE REMOVE USER FROM QUEUE LDB TTQ ADB .+?RSTR STF 0 JMP SCH61 GO SET UP STARTING INFO SPC 2 * ** *** COMMAND HANDLER ** * SCH6 ADB .+?BHED-?STAT LDA B,I GET BUFFER HEAD STA SBHED INITIALIZE BUFFER POINTER ADB .+?BEND-?BHED STB SCHL SAVE POINTER TO BUFFER END SCH24 STF 0 CLA STA SCHP INITIALIZE TO HOLD CHARACTERS JSB SCOM INTERPRET COMMAND JMP SCH30 EMPTY LINE JMP SCH9 FIRST CHARACTER A DIGIT JMP EHERR INVALID COMMAND * NOP VALID COMMAND SPC 1 * ** VALID COMMAND * LDA SCHID,I PROCESS COMMAND ONLY SZA,RSS IF USER'S ID NOT EQUAL CPB HI TO 0 OR IF HELLO COMMAND JMP SCH22 SCH25 LDA .-16 PRINT "LF PLEASE LOG IN JSB TYPE | CRLF" AND THEN TERMINATE OCT 5120 ASC 6,LEASE LOG IN OCT 6412 * SCH22 LDB TTQ ADB .+?MASK REMOVE USER LDA B,I FROM TAPE MODE CMA AE AND TAPEF STA TAPEF LDA SCHP,I IF HELLO, BYE, CPA HELLO JMP SCH27 OR SCRATCH NO CPA SCR JMP SCH27 NEED TO CHECK CPA BYE JMP SCH27 FOR TAPE ERRORS LDA B,I CHECK FOR AND TERR TAPE ERRORS SZA,RSS JMP SCH26 NONE LDA DTAPR ERRORS - SET UP FOR STA SCHP EXECUTION OF TAPE JMP SCH26 ERROR PRINTOUT ROUTINE * SCH27 LDA B,I HELLO, BYE, OR SCRATCH CMA SO CLEAR BIT IN TAPE AND TERR ERROR FLAG AND CONTINUE STA TERR * ** RUN-ONLY SECURITY CHECKER * SCH26 ADB .+?NAME-?MASK LDA B,I IF 'PROTECTED PROGRAM' SSA,RSS BIT NOT SET, CONTINUE JMP SCH28 8& LDA SCHP,I IF PROTECTED, DISALLOW CPA SAVE SAVE JMP SCH29 CPA LIS LIST JMP SCH29 CPA PUN PUNCH JMP SCH29 CPA XPUN XPUNCH JMP SCH29 9 * ** CHECK FOR COMMAND TYPE * SCH28 ADB .+?BHED-?NAME LDA SBHED SET BUFFER POINTER STA B,I LDA SCHP ADA MCOM2 SSA TYPE I COMMAND? JMP SCH14 YES ADA %RUN COMPUTE ADB .+?STAT-?BHED PROGRAM'S STA B,I STATUS ADB .+?RSTR-?STAT ADA .+.-%RUN+COM2-COM3 SSA TEST FOR TYPE II COMMAND JMP SCH13 YES * * TYPE III COMMANDN\ * SCH61 LDA #LIB# STA B,I TYPE III PROGRAMS LDA .+2 HAVE A STANDARD SCH12 ADB .+?PLEV-?RSTR STARTING ADDRESS STA B,I AND A PRIORITY OF 2 ADB .+?LINK-?PLEV JMP SCH3 INSERT USER ON QUEUE * * TYPE II COMMAND * SCH13 ADA TP2SA COMPUTE STARTING LDA A,I ADDRESS FOR TYPE II STA B,I PROGRAMS AND STORE IT CLA,INA SET PRIORITY TO 1 JMP SCH12 * * TYPE I COMMAND * SCH14 ADA *+2 COMPUTE STARTING ADDRESS JMP A,I FOR COMMAND AND GO THERE DEF COM5-COM1+COM2,I SPC 2 SCH29 LDA .-11 JSB TYPE OCT 12 ASC 4,RUN ONLY OCT 6412 SPC 2 * ** INVALID COMMAND * EHERR LDA .-6 JSB TYPE EH OCT 5077,37477,6412 (???) SPC 1 * ** SYNTAX * SCH9 CLA CPA SCHID,I IF NO ID GO TO PLEASE JMP SCH25 LOG IN MESSAGE HANDLER LDB TTQ ADB .+?PLEV STA B,I SET PRIORITY TO 0 ADB .+?RSTR-?PLEV LDA SYNTA STA B,I SET RESTART ADDRESS TO SYNTAX ADB .+?STAT-?RSTR LDA %SYNT STA B,I SET STAUS TO %SYNT ADB .+?LINK-?STAT JMP SCH3 GO INSERT USER ON QUEUE SPC 1 * ** EMPTY LINE * SCH30 LDB TTQ ADB .+?MASK LDA TAPEF AND B,I SZA,RSS TAPE MODE? JMP SCH20 NO - GO EMIT LINE FEED CLF 0 YES LDB SBHED INB SET SBHED TO POINT CPB SCHL,I TO FIRST CHARACTER ADB MBLEN OF NEXT BUFFER STB SBHED LDA SCHL ADA .+?BHED-?BEND STB A,I RESET BUFFER HEAD ADA .+?BSTR-?BHED CPB A,I TEST FOR CONTINUATION JMP SCH54 NO JMP SCH24 YES, GO SCAN NEXT BUFFER SKP * ** *** SYSTEM CONSOLE ACTIVITY CHECKER ** * SCH5 CCA TEST FOR DRIVER BUSY CPA T35F1 JMP SCH15 DRIVER IS BUSY. CPA T35F3 JMP SCH16 COMMAND ENTERED BUT NOT STARTED * * * WHEN T35F1=0, THE CONSOLE IS QUIET SO WE CAN DO LOGGING. * * ADA MSQCT ANY MESSAGES CPA .-1 JMP SCH55 NO * STA MSQC>T SZA,RSS JMP SCH55-1 LDB MSQP1 LOAD MESSAGE LENGTH LDA 1,I INB COMPUTE MESSAGE BUFFER JMP SCH21 OUTPUT MESSAGE * CCA SCH55 EQU * NO MESSAGES - LOGGING? ADA LOGCT TEST FOR ANY ENTRIES IN LOGTABLE. CPA .-1 JMP SCH16 LOG TABLE IS EMPTY. * * SET UP LOG BUFFER * * STA LOGCT DECREMENT LOG COUNTER. LDA LOGP1 BUMP LOG POINTER INA CPA LOGND IF AT END, LDA LOGBG WRAP AROUND. STA LOGP1 LDA LOGP1,I TEST FOR LOGON LDB ASCIN OR LOGOUT. SSA LDB ASCFF STB LOGBF+3 LSR 10 SHIFT LOG CHAR TO LEAST 5 BITS. AND .+37B MASK OFF OTHER STUFF. ADA ASCBA CONVERT TO ASCII. STA LOGBF+4 LDA LOGP1,I GET ACCOUNT NUMBER AGAIN. AND B1777 KEEP ONLY # PART. CLB DIV .+10 GET 1ST 2 DIGITS IN A, LAST IN B BLF,BLF SET UP LAST DIGIT AS ADB ASC0B ASCII LEFT HALF. STB LOGBF+6 JSB #LTEN CONVERT FIRST 2 TO ASCCII ALSO. STA LOGBF+5 ISZ LOGP1 LDA LOGP1,I NOW GET THE TIME. AND .+17B GET TERMINAL NUMBER. JSB #LTEN CONVERT AND STORE IN BUFFER. STA LOGBF+10 LDA LOGP1,I CLB ASR 4 DIV D60 STB LOGP1,I SAVE SECOND HALF JSB #LTEN CONVERT FIRST HALF TO ASCII. STA LOGBF+7 LDA LOGP1,I JSB #LTEN CONVERT 2ND HALF TO ASCII. STA LOGBF+8 LDA .+22 LDB LOGR2 TO PPRINT THE SCH21 JSB TTY35,I STUFF. JMP SCH15 5* LOGR2 DEF *+1,I BUFFER ADDRESS (I=>PUNCH) LOGBF ASC 11,**LOGOFF A123 0930 #01 * * TTY35 IO COMPLETE * * SCH16 CPA T35F2 TEST DRIVER COMMUNICATE FLAG. RSS JMP SCH15 LDA T35ST GET CONSOLE STATUS. LDB T35PR CPA %OUTW IF OUTPUT WAIT, JMP SCH23 GO SET HIM U&hP. SZA IF NOT IDLE WEVE ALREADY JMP SCH15 QUEUED HIM. * TTY35 INPUT COMMAND * LDA T35B2 POINTER TO FIRST CHARACTER STA SBHED OF CONSOLE BUFFER. LDA T35ND POINTER TO END OF STA SCHL CONSOLE BUFFER. LDA .+40B INITIALIZE COMMAND STA SCHP HOLDER. JSB SCOM GET COMMAND. JMP SCH17 BLANK LINE JMP SCH18 ERROR JMP SCH18 ERROR * * SET UP QUEUE ENTRY FOR CONSOLE. * LDA SBHED SET POINTER FOR STA T35CP T35CR. LDA .+40B SET UP LA2T CHAR STA T35LC AS BLANK * LDA #LIB# SET RESTART ADDRESS. STA T35RS S ADB SCH19 SET PROGRAM STATUS SCH23 STB T35ST TYPE. LDA .+2 SET PRIORITY. STA T35PR LDB T35LN GO INSERT IN QUEUE JMP SCH3 SPC 1 SCH17 LDA ONEI OUTPUT LINE FEED RSS SCH18 LDA .+4 OUTPUT ERROR MESSAGR CLB STB T35F2 LDB DEH JMP SCH21 SPC 2 * * ** SCRATCH COMMAND PROCESSOR * #SCR LDB TTQ JSB SCRAT PERFORM SCRATCH SCH20 LDA .+12B LDB TTQ OUTPUT A JSB POCR,I LINE FEED JMP SCH54 * SCRAT NOP SCRATCH A PROGRAM (B=>USERS TTY) LDA PBUFF IF MAIN=B, SET PBPTR. CPB MAIN STA PBPTR ADB .+?PROG B=>PROGEND STA 1,I RESET TABLE(PROG) ADB .+?NAME-?PROG CLEAR CLA STA 1,I JMP SCRAT,I * * "TAPE" COMMAND * #TAP LDB TTQ B=>TTY TABLE. ADB .+?MASK B=>MASK LDA TAPEF SET TAPE BIT. IOR 1,I STA TAPEF JMP SCH20 TERMINATE. * * * #LTEN NOP CONVERT A # FROM 0-99 TO ASCII. CLB GET FIRST DIGIT IN A, DIV .+10 SECOND IN B. ALF,ALF POSITION FIRST ON LEFT, ADA 1 ADD IN SECOND, ADA ASC00 ADD IN ASCII BITS. 'q JMP #LTEN,I RETURN. * * TYPE SENDS AN ENTIRE STRING TO A TELETYPE. IT IS CALLED AS FOLLOWS: * A=-#OF CHARS--MUST END ON RIGHT HALF OF WORD * JSB TYPE * * RETURN SPC 2 TYPE NOP STA TYPET SAVE COUNTER TYPEL LDA TYPE,I GET WORD CONTAINING CHAR. LDB TYPET GET COUNT IN B. SLB,RSS IF COUNT IS EVEN, TAKE HIGH ALF,ALF CHAR; SLB IF COUNT IS ODD, ISZ TYPE BUMP TYPE. LDB TTQ OUTPUT CHAR TO TELETYPE. JSB POCR,I ISZ TYPET ANY MORE? JMP TYPEL YES. JMP SCH54 NO, RETURN TO SCHEDULER HEAD TYPET NOP * SCOM SCANS A COMMAND INPUT BUFFER TO DETERMINE WHAT * THE COMMAND IS. THE CALLING SEQUENCE TO SCOM IS: * * JSB SCOM * * * * * * SCOM ASSUMES THAT BEFORE IT IS CALLED, SBHED AND * SCHL ARE INITIALIZED AS REQUIRED BY SCHAR,, AND * SCHP=0 FOR NORMAL USERS AND OCT40 FOR CONSOLE. SPC 1 SCOM NOP ENTRY POINT. LDB .-3 INITIALIZE CHAR. COUNT TO -3 STB SCNT JSB SCHAR GET A CHARACTER. JMP SCOM,I NOT THERE-BLANK LINE. ISZ SCOM BUMP SCOM TO POINT AT DIGIT RET. ADA M60B TEST FOR FIRST CHAR A DIGIT. SSA AUTOMATIC FAILURE IF ISZ SCOM < ASC0 ADA .-10 SSA IF <=ASC9,RETURN TO P+2 IF A JMP SCOM,I DIGIT, P+3 IF NOT. ISZ SCOM ADA M41B TEST FOR LETTER. SCOMB SSA,RSS JMP SCOM,I NOT ALETTER. ADA .+32B SSA JMP SCOM,I NOT A LETTER. IOR SCHP ISZ SCNT TEST FOR 3 LETTERS IN. ALF,SLA,RAL NO--ROTATE FOR NEXT ONE. JMP SCOMA YES--GO TO SEARCH TABLE. STA SCHP JSB SCHAR GET NEXT CHARACTER JMP SCOM,I FAIL. ADA M133B JMP SCOMB * SEARCH COMMAND TABLE * SCOMA LDB SCOM1 B=>TABLE SSA ADB .+COM4-COM1 SCOMD CPA 1,I JMP SCOMC COMMAND FOUND CPB SCOM5 JMP SCOM,I ILLEGAL COMMAND INB JMP SCOMD SCOMC ISZ SCOM RETURN O.K. STB SCHP SAVE ADDRESS OF COMMAND. JSB SCHAR SCAN JMP *+4 FOR CR CPA .+55B OR DASH. RSS JMP *-4 LDB SCHP JMP SCOM,I SKP * * SCH15 JSB SWAPR CHECK FOR ANYTHING TO DO. IF NOT * SWAPR WILL GO TO SCH1 AGAIN. * IT WILL RETURN HERE IF THERE IS * AN EXECUTABLE PROGRAM IN CORE. SPC 3 * THE PROGRAM TO RUN IS AT THE HEAD OF THE QUEUE, AND SWAPR HAS * GUARANTEED THAT IT IS IN CORE. THE FOLLOWING SECTION OF CODE * SETS IT UP TO RUN, AND ALSO SETS UP THE CLOCK DRIVER SO THAT * FUTURE INTERRUPTS WILL GO BACK INTO THE SCHEDULER. SPC 1 CLF 0 INHIBIT INTERRUPT. LDA CLC2 RESTORE A IN THE STA CLC1 CLOCK INTERRUPT ROUTINE. LDA MLINK+1 INA GET PRIORITY OF PROGRAM. LDB 0,I CPB .+2 IF PRIORITY IS 2, CHANGE IT TO CLB ZERO SO IT DOESNT GET INTERRUPTED. STB 0,I ADA .+?RSTR-?PLEV GET RESTART ADDRESS LDB 0,I IF NOT 0, PUT IT IN PREG SZB TO START UP PROPERLY. STB PREG CLB PUT 0 INTO TABLE IN ANY CASE STB 0,I STB TIMEF SET TO SAY NO TIMING. INA GET PROGRAM STATUS. LDB 0,I IU ADA .+?CLOC-?STAT SET TIMER POINTER. STA TIMER CPB %SYNT+1 IF STATUS IS RUN, SET ISZ TIMEF TIMEFLAG FOR CLOCKING. LDA EREG RESTORE E CLO AND OVERFLOW SLA,ELA REGISTERS. STO LDA AREG RESTORE A AND LDB BRu8EG B REG. STF 0 ENABLE INTERRUPT AND JMP PREG,I TRANSFER TO PROGRAM. SKP ll * ** *** SWAPR ** * * THE SWAPR ROUTINE IS CALLED FROM VARIOUS POINTS IN THE SCHEDULER * IN ORDER TO DETERMINE IF A PROGRAM IS READY TO RUN. IT IS ALSO * CALLED WHENEVER THE QUEUE IS UPDATED. THE FUNCTION OF SWAPR IS * TO DETERMINE IF THERE IS A PROGRAM ON THE QUEUE, AND IF SO, IS * THE PROGRAM AT THE HEAD OF THE QUEUE READY TO RUN. IF SAID PRO- * GRAM IS NOT READY, SWAPR INITIATES THE NECESSARY DISC TRANSFERS * AS FOLLOWS: * * TYPE II - IF USER IN CORE IS NOT THE ONE AT THE HEAD OF THE * QUEUE (MLINK+1 NOT EQUAL TO MAIN), THE USER IS * SWAPPED OUT AND MAIN IS SET TO 0. * * IF NO USER IS IN CORE (MAIN EQUALS 0), THE USER AT * THE HEAD OF THE QUEUE IS READ INTO CORE. * * * TYPE III - IF ANY USER PROGRAM IS IN CORE (MAIN NOT EQUAL TO * AND IV 0), THE USER IS SWAPPED TO DISC AND MAIN IS SET * TO 0. * * IF THE LIBRARY OVERLAY IN CORE (INDICATED BY LIB) * IS NOT THE ONE INDICATED BY THE ?STAT TELETYPE * TABLE ENTRY OF THE USER AT THE HEAD OF THE QUEUE, * THEN THE PROPER ONE IS READ IN AND LIB IS UPDATED. * SPC 1 1 SWAPR NOP LDA ENDSK WAIT FOR DISC SZA TRANSFER TO JMP SCH1 COMPLETE LDB MLINK+1 GET ENTRY ON TOP OF CPB MLINK QUEUE AND TEST FOR EMPTY JMP SCH1 EMPTY - NOTHING TO DO LDA T35F3 HAS A SYSTEM CONSOLE COMMAND CPA .-1 BEEN ENTERED BUT NOT STARTED? JMP SWAP4 YES, LET IT START LDA LOGCT NO IOR T35F1 IS THERE CURRENT CPB T35LN OR IMMINENT OUTPUT SZA,RSS TO SYSTEM CONSOLE? JMP SWAP4 NO LDA T35ST YES, CAN IT CMA,INA BE DEQUEUED? ADA %RUN-COM2+ROS SSA  JMP SWAP4 NO JSB DEQUE YES, SO SUSPEND LDA T35ST UNTIL OUTPUT IS STA T35PR COMPLETED LDA %OUTW STA T35ST JMP SWAPR+1 * ** CHECK COMMAND TYPEPO * SWAP4 ADB .+?STAT-?LINK LDA B,I GET STATUS OF FIRST QUEUE ENTRY ADA .+.-%RUN+COM2-COM3 SSA,RSS TEST FOR TYPE II PROGRAM JMP SWAP9 NO, TYPE III OR IV SPC 1 * ** TYPE II PROGRAM * ADB .-?STAT IS CORRECT USER CPB MAIN IN CORE? JMP SWAPR,I YES - DONE LDA MAIN NO, IS ANY USER SZA IN CORE? JMP SWAP6 YES * * SWAP IN USER * STB MAIN NO, SET MAIN FOR NEW USER ADB .+?PROG LDA B,I GET PROGRAM LIMIT STA PBPTR SAVE FOR LANGUAGE PROCESSOR CMA CALCULATE ADA USE LENGTH OF STA WORD TRANSFER ADB .+?DISC-?PROG LDA B,I = DISC ADDRESS LDB USEI => CORE ADDRESS FOR READ SWAP5 JSB DISC,I CALL DISC DRIVER JMP SCH1 RETURN BUSY * * SWAP OUT USER * SWAP6 STA B => TTY TABLE SWAP7 CLA SET MAIN TO SAY STA MAIN NO USER IN CORE ADB .+?PROG LDA PBPTR SAVE PROGRAM STA B,I END LOCATION CMA CALCULATE ADA USE LENGTH OF STA WORD TRANSFER ADB .+?DISC-?PROG LDA B,I = DISC ADDRESS LDB USE => CORE ADDRESS FOR WRITE JMP SWAP5 SPC 1 1 * ** TYPE III AND IV PROGRAMS * SWAP9 ADB .+?RSTR-?STAT LDB B,I GET RESTART ADDRESS CPB #LIB# IF FRESH CALL, STB LCHCR ZAP LCHCR FLAG LDB MAIN ANY USER SZB IN CORE? JMP SWAP7 YES - GET RID OF HIM ADA DCOM6 NO, => LIB PROGRAM DISC ADDRESS CPA LIB IS IT IN CORE? JMP SWAPR,I YES - DONE STA LIB NO, SET LIB LDB M256 STB WORD SAVE TRANSFER LENGTH LDB #LIBI => CORE ADDRESS LDA A,I = DISC ADDRESS JMP SWAP5 SKP * * * ENTRY POINT FOR INPUT REQUEST * SCHIQ NOP CLF 0 INTERRUPT INHIBIT. LDB MLINK+1 SET RESTART ADDRESS ADB .+?RSTR-?LINK INTO TABLE. LDA SCHIQ STA 1,I INB GET PROGRAM TYPE LDA 1,I SSA QUIT IF ABORT REQUEST. JMP SUSP ADB .+?PLEV-?STAT STA 1,I SET INTO PLEV. ADB .+?STAT-?PLEV LDA %INPT CHANGE STATUS TO STA 1,I INPUT WAIT. ADB .+?TSTA-?STAT LDA B,I A = USER'S I/O STATUS IOR IOBT SET 'INPUT MODE' BIT CPA B,I BRANCH IF USER IS JMP SCHIW NOT IN OUTPUT MODE LDA B,I A = STATUS IOR ICBT SET 'INPUT CONFIGURATION' BIT STA B,I STORE NEW STATUS JMP SUSP * SCHIW AND NINBT REMOVE 'NO INPUT ALLOWED' BIT STA B,I STORE NEW STATUS ADB .+?RPRM-?TSTA LDA B,I A = RECEIVE PARAMETER ADB .+?TNUM-?RPRM LDB B,I B = UNIT NUMBER JSB MUXR,I OUTPUT TO MULTIPLEXER JMP SUSP GO REMOVE FROM QUEUE. * ** ENTRY POINT FOR TERMINATION * SCHEQ CLF 0 LDB MLINK+1 SCRATCH IF CPB T35LN JMP *+4 ADB .-?LINK THIS IS JSB HTEST $HELLO. LDB MLINK+1 CHANGE ADB .+?STAT-?LINK STATUS LDA 1,I CPA %ABRT QUIT IF ABORT REQUEST JMP SUSP CLA TO IDLE STA 1,I JMP SUSP * SCHAR FETCHES THE NEXT CHARACTER FROM A BUFFER. BUFFER * POINTERS FOR SCHAR ARE INITIALIZED AS FOLLOWS: * SBHED=>FIRST CHARACTER IN BUFFER * SCHL,I=>BUFFER END * * * SCHAR CALLING SEQUENCE: * * JSB SCHAR * RETURN HERE IF CR * RETURN HERE IF ANY OTHER CHARACTER SPC 1 SCHAR NOP LDB SBHE|D GET POINTER. CLE,ERB POSITION AS WORD POINTER. LDA 1,I GET WORD CONTAINING CHARACTER. ELB,SLB REPOSITION POINTER AND TEST RSS FOR UPPER OR LOWER. ALF,ALF AND B377 MASK OUT CHARACTER. CPA .+15B RETURN IMMEDIATELY IF CR JMP SCHAR,I INB BUMP CHARACTER POINTER. CPB SCHL,I TEST FOR END OF BUFFER. ADB MBLEN IF END, CHANGE TO BEGINNING. STB SBHED CPA .+40B SKIP BLANKS JMP SCHAR+2 ISZ SCHAR JMP SCHAR,I * * DEQUE REMOVES A USER FROM THE QUEUE. IT IS CALLED WITH THE USER'S * LINK ADDRESS IN B. * DEQUE NOP LDA MLINK GET POINTER TO FIRST ENTRY. DEQ1 CPB 0,I TEST FOR ENTRY FOUND. JMP DEQ2 LDA 0,I LINK TO NEXT ENTRY. CPA MLINK TEST FOR END OF QUEUE. JMP DEQUE,I NOT ON QUEUE--RETURN. JMP DEQ1 LOOP. DEQ2 LDB 1,I LINK AROUND THIS USER. STB 0,I JMP DEQUE,I * ** SUSPEND USER * SUSP LDA MLINK+1,I STA MLINK+1 CLA BLOCK STA CLC1 CLOCK JMP SCH1 SPC 1 * ** OUTPUT SUSPEND REQUEST ENTRY * SCHOQ NOP OUTPUT SUSPEND REQUEST ENTRY. CLF 0 TURN OFF INTERRUPT. LDA SCHOQ SET UP RETURN ADDRESS. STA POC FOOL POC INTO LDB MLINK+1 DOING THE WORK ADB .+?STAT-?LINK JMP OBF+1 SPC 1 * HTEST SCRATCHES A PROGRAM IF THE ASSOCIATED HFLAG BIT IS SET. * B POINTS TO THE USER'S TTY ADDRESS. * HTEST NOP  ADB .+?MASK GET USER'S MASK. LDA 1,I AND HFLAG GET HFLAG BIT. SZA,RSS JMP HTEST,I RETURN IF HFLAG BIT =0. XOR HFLAG CLEAR HFLAG BIT. STA HFLAG ADB .-?MASK SCRATCH IT. JSB SCRAT JMP HTEST,I RETURN. `TRNNT DW 24280-80020 1534 S 0122 TSB/E SYSTEM              H0101  HED PROCESS OUTPUT CHARACTER ROUTINE * ** *** PROCESS OUTPUT CHARACTER ** * * THE OUTCR ROUTINE SENDS CHARACTERS TO POC WHICH IN TURN * PLACES THEM IN THE USER'S BUFFER. THE CALLING SEQUENCE * FOR OUTCR IS: * * JSB OUTCR,I A = CHARACTER TO BE OUTPUT * * THE CALLING SEQUENCE FOR POC IS: * * JSB POCR,I A = CHARACTER TO BE OUTPUT * B = TTY TABLE ADDRESS * * POC HANDLES THE FOLLOWING TWO SPECIAL CASES: * 1) STATUS IS INPUT - THE USER'S STATUS IS CHANGED TO * OUTPUT AND A SYNCHRONIZING SIGNAL IS SENT TO THE * USER'S TELETYPE. * * * 2) BUFFER IS FULL - THE USER IS PLACED IN OUTPUT WAIT * STATUS AND A TRANSFER IS MADE INTO THE SCHEDULER IN * ORDER TO DELETE THE USER FROM THE QUEUE. * SPC 1 POC NOP CLF 0 TURN OFF INTERRUPT SYSTEM AND B177 MASK CHARACTER TO STA OCHAR 7 BITS AND SAVE STB OTNUM SAVE TTY TABLE POINTER ADB .+?TSTA LDA B,I IS USER IN AND IOBT OUTPUT MODE? SZA JSB OINIT NO - GO INITIALIZE FOR OUTPUT LDB OTNUM ADB .+?BSTR B => BUFFER TAIL LDA B,I INA A = LOCATION FOR THIS CHARACTER ADB .+?BEND-?BSTR CPA B,I IF A => BEYOND END OF BUFFER, ADA MBLEN ADB .+?BSTR-?BEND STA B,I SET NEW POINTER VALUE LDB A B = CHARACTER ADDRESS CLE,ERB B = WORD ADDRESS LDA B,I A = DESTINATION WORD SEZ,RSS IF HIGH CHARACTER, ALF,ALF ROTATE TO BOTTOM AND HIMSK CLEAR LOWER 8 BITS IOR OCHAR MERGE WITH NEW CHARACTER SEZ,RSS IF HIGH CHARACTER, ALF,ALF ROTATE BACK STA B,I STORE BACK IN BUFFER LDB OTNUM INB CCA INCREMENT ADA B,I CHARACTER STA B,I COUUNT CPA MAXBL IS BUFFER FULL? JMP OBF YES STF 0 NO - TURN ON INTERRUPT SYSTEM JMP POC,I RETURN * * OUTPUT BUFFER FULL * OBF ADB .+?STAT-?CCNT LDA B,I A = USER'S SYSTEM STATUS SSA IF USER ABORTED, GO JMP SUSP DIRECTLY TO SUSPEND ADB .+?PLEV-?STAT MOVE STATUS STA B,I TO PLEV AND ADB .+?STAT-?PLEV SET STATUS TO LDA %OUTW OUTPUT WAIT STA B,I LDA POC SET ADB .+?RSTR-?STAT RETURN STA B,I ADDRESS JMP SUSP SPC 1 * ** OUTPUT INITIALIZATION ROUTINE * OINIT NOP XOR B,I REMOVE 'INPUT MODE' BIT STA B,I ADB .+?CCNT-?TSTA CLA SET CHARACTER STA B,I COUNT TO ZERO ADB .+?BGIN-?CCNT LDA B,I A = POINTER TO BUFFER HEAD ADB .+?BPNT-?BGIN STA B,I RESET ALL BUFFER INB STA B,I POINTERS TO BEGINNING INB STA B,I OF USER'S BUFFER ADB .+?TSTA-?BHED LDA B,I A = USER'S I/O STATUS IOR NIBT IS PORT SETUP CPA B,I FOR OUTPUT? JMP OINT1 YES STA B,I NO - SET 'NO INPUT ALLOWED' BIT ADB .+?RPRM-?TSTA LDA B,I AND NECHO MAKE SURE LDB OTNUM,I USER'S ECHO JSB MUXR,I IS TURNED OFF OINT1 LDB OTNUM ADB .+?CDLY GET CARRIAGE LDA B,I RETURN DELAY INA IF ANY SSA,RSS  JMP OINT2 NO DELAY ADB .+?DCNT-?CDLY STA B,I STORE DELAY CCA AND INCREMENT ADB .+?CCNT-?DCNT CHARACTER STA B,I COUNT INB LDA B,I A = CHARACTER POINTER INA INCREMENT INB CHARACTER STA B,I POINTER OINT2 LDA SYNCC GET SYNC CHARACTER LDB OTNUM,I ,k AND PORT# JSB MUXR,I OUTPUT THEM JMP OINIT,I SPC 2 OTNUM BSS 1 1l OCHAR BSS 1 1 HED COMMAND TABLE * COMMAND TABLE -- THIS TABLE CONSISTS OF 2 PARTS. PART 1 CONTAINS * THE ENCODED SYMBOLIC COMMANDS. THESE ARE CODED AS 3 BYTES, EACH * BYTE BEING OF LENGTH 5 BITS AND OF VALUE 101(OCTAL) LESS THAN THE * OCTAL VALUE OF THE CHARACTER. THE THREE BYTES ARE IN BIT POSI- * TIONS 14-10,9-5, AND 4-0, RESPECTIVELY. BIT 15 IS SET TO 1 FOR * COMMANDS THAT ARE LEGAL FOR THE SYSTEM CONSOLE. * * PART 1 IS ITSELF DIVIDED INTO 3 SECTIONS. COMMANDS IN SECTION 1 * ARE THOSE COMMANDS WHICH ARE HANDLED IMMEDIATELY BY THE EXECUTIVE * WITHOUT ANY DISC ACCESS. THOSE IN SECTION 2 ARE COMPILER COMMANDS * WHICH ARE RESIDENT BUT WHICH REQUIRE THE PROGRAM TO BE LOADED * FROM DISC. COMMANDS IN SECTION 3 ARE SYSTEM COMMANDS WHICH ARE * DISC RESIDENT. ALL SYSTEM COMMANDS ARE OF THIS TYPE AND * MUST BE LOCATED AFTER COM4. * * PART 2 OF THE COMMAND TABLE CONTAINS THE CORE STARTING ADDRESSES * FOR THOSE COMMANDS IN SECTIONS 1 AND 2, AND THE DISC ADDRESSES OF * THOSE IN SECTION 3. * * PART I * * SECTION I * COM1 OCT 44121 SCRATCH SCR EQU COM1 OCT 46017 TAPE OCT 24230 KEY * * SECTION II * COM2 OCT 43215 RUN LIS OCT 26422 LIST PUN OCT 37215 PUNCH XPUN OCT 56764 XPUNCH CTAPR OCT -1 USED FOR TAPE ERROR PRINTOUT. * * * SECTION III * COM3 OCT -1 FOR LENGTH SECTION OCT -1 FOR FUSS TABLE. OCT -1 FOR FILES. COMCH OCT -1 FOR CHAIN SAVE OCT 44025 SAVO OCT -1 SAVE OVERLAY OCT 14223 GET OCT 757 APPEND HELLO OCT 16213 HELLO OCT -1 HELLO OVERLAY BYE OCT 3404 BYE OCT 24413 KILL OCT 42215 RENUMBER OCT 32014 NAME CAT OCT 4023 CATALOG LIBRY OCT 26401 OCT 6213 DELETE OCT 46414 TIME OCT 6422 DISC (USER DISC SPACE) OCT 30222 MESSAGE OCT 37056 PROTECT OCT 50657 UNPROTECT OCT 34744 OPEN OCT -1 OPEN OVERLAY OCT 26215 LENGTH OCT 10107 ECHO COM4 OCT 142217 REPORT OCT 106421 DIRECTORY ROS OCT 142722 ROSTER OCT 142222 RESET OCT 144744 SPEED OCT 136721 PORT OCT 104340 CHANGE OCT 100655 ANNOUNCE OCT 144544 SLEEP OCT -1 PLUS OCT -1 OVERLAYS OCT 132226 NEWID OCT 124413,-1 KILLID OCT 130725 MOVE OCT -1 MOVE OVERLAY OCT -1 2ND MOVE OVERLAY OCT 137221,-1 PURGE OCT 136356 PHONES OCT 106422,-1 DISC * START OCT -1 SYSTEM START UP OCT -1 AUTO RESTART OCT -1 TO SAVE LIBR. ROUTINE CODE * * * * * PART II -- STARTING ADDRESSES * COM5 DEF #SCR DEF #TAP DEF SCH20 KEY * DEF CMPLE DEF LIST DEF PUNCH DEF XPNCH DEF TAPER * * DISC ADDRESSES -- TO BE FILLED BY THE LOADER. * COM6 BSS COM5-COM3 FILIB EQU COM6+2 FILES DISC ADDRESS. CHLIB EQU COM6-COM3+COMCH CHAIN DISC ADDRESS [X] TSBLB EQU COM6-COM3+START START UP ADDR. * RSLIB EQU COM6-COM3+START+1 AUTO RESTART ADDR. * SWLIB EQU COM6-COM3+START+2 SAVE LIBRARY ADDR. * DSERA BSS 6 DISC ADDRESSES FOR ERROR MESS. X] LOGGR BSS 32 HED LIBRARY SUBROUTINES * DLOOK SEARCHES THE DISC DIRECTORY FOR A PARTICULAR ENTRY. THE * DESIRED ENTRY IS DEFINED BY LTEMP(0:3). * * * IF THE ENTRY IS FOUND, DLOOK RETURNS TO P+1. THE FOLLOWING VARIA- * BLES ARE SET: * (LTEMP+4)=POINTER TO DIREC ENTRY. * (LTEMP+5)=MEMORY ADDRESS OF ENTRY. * THE APPROPRIATE DIRECTORY TRACK IS IN CORE. * * IF THE ENTRY IS NOT FOUND, DLOOK RETURNS TO P+2. THE POINTERS * ARE SET TO POINT AT THE LAST ENTRY LESS THAN THE GIVEN ENTRY. SPC 1 DLOOK NOP ENTRY POINT. LDB LTEMP+4 LOAD DIRECTORY POINTER [X] LDA LIBD INITIALIZE ADA .-8 MEMORY STA LTEMP+5 ADDRESS LDA LTEMP CHECK IF SEARCH X] SSA,RSS A GIVEN TRACKCH X] LDB DIRD3 X] DLOK3 STB LTEMP+4 DIRECTORY TRACK. LDA LTEMP+4,I TEST FOR EMPTY TRACK. SZA A JMP DLOK1 NOT EMPTY. DLOK2 LDB LTEMP+4 BUMP BACK TO ADB .-7 NEXT TRACK. JMP DLOK3 3 DLOK1 INB COMPARE FIRST TRACK ENTRY LDA DLTEM TO DESIRED ENTRY. JSB DIRCM JMP DL.2 NOT ON THIS TRACK X] NOP FOUND THE RIGHT TRACK. LDA LTEMP+4,I * B] CMA,INA SET UP INITIAL POINTER FOR ADA LIBD TRACK SCAN. ADA .-8 STA LTEMP+5 LDA LTEMP+4 GET DIRECTORY ADA .+6 DISK ADDRESS. LDA 0,I CPA DIRWD CHECK FOR THIS TRACK IN CORE. JMP DLOK4 TRACK ALREADY IN CORE. LDA DIRWD CHECK FOR DIR. TRACK IN CORE. SZA,RSS SKIP IF SO. JMP DLOKB OTHERWISE, JUST READ IN NEW TRACK LDB LIBD OUTGOING CORE ADDRESS. JSB DISCL WRITE PREVIOUS TRACK OUT DLOKB EQU * * CLA CLEAR TRACK STA DIRWD INDICATOR LDA LTEMP+4,I SET UP DISC B] STA WORD TRANSFER LENGTH B] LDA LTEMP+4 GET DIRECTORY ADA .+6 DISC ADDRESS. LDA 0,I LDB LIBDI JSB DISCL READ DIRECTORY. * NOW SEARCH DIRECTORY FOR DESIRED ENTRY. A BINARY SEARCH IS USED, * WITH LTEMP(14:15) USED AS POINTERS TO THE FIRST AND LAST OF ALL * UNTESTED ENTRIES. * DLOK4 LDA LIBD SET POINTER TO BEGINNING OF STA LTEMP+14 DIRECTORY. LDA DLTEM TEST LAST ENTRY IN TRACK. LDB LTEMP+5 JSB DIRCM JMP DLOK5 LAST ENTRY TOO BIG--START CHOP. RSS NO FOUND, TOO SMALL X] JMP DLOOK,I FOUND IT L X] DL.2 LDA LTEMP CHECK IF 1 TRACK SEARCH X] SSA X] JMP DL.1 YES, FAIL EXIT X] LDB LTEMP+4 FULL CHECK X] CPB DIRD0 ARE WE DONE? X] RSS YES X] JMP DLOK2 NO, NEXT RACK X] DL.1 ISZ DLOOK FAILURE EXIT X] JMP DLOOK,I X] * DLOK5 LDA LTEMP+5 SET END POINTER. STA LTEMP+15 LDA LTEMP+14 COMPUTE DIFFERENCE BETWEEN FIRST DLOK6 CMA,INA AND LAST ENTRIES. ADA LTEMP+15 ARS DIVIDE BY TWO. AND .-8 ROUND TO A VALID MULTIPLE OF 8. ADA LTEMP+14 GET ADDRESS OF MIDDLE ENTRY. STA LTEMP+5 SET INTO RESULT LOCATION. LDB DLTEM SETUP FOR JSB DIRCM. CPA LTEMP+14 TEST FOR ONLY 2 ENTRIES LEFT. JMP DLOK8 THERE ARE--WE'VE GOT THE RESULT. * JSB DIRCM TEST MIDWAY ENTRY. JMP DLOK7 TOO SMALL--GO RESET LTEMP(14). JMP DLOK5 TOO BIG--GO RESET LTEMP(15). JMP DLOOK,I EQUAL--RETURN. * DLOK7 LDA LTEMP+5 RESET LTEMP(14). STA LTEMP+14 JMP DLOK6 6H * DLOK8 CPA LIBD IF LTEMP(14)<>LTEMP, WE KNOW JSB DIRCM IT'S LESS, SO WE SKIP TEST. JMP DL.2 NO ON THIS TRACK NOP JMP DLOOK,I EQUAL TO ENTRY. DIRWD OCT 0 TELLS WHAT DIRECTORY TRACK * T35CQ IS USED BY LIBRARY PROGRAMS TO SCAN THE TTY35 INPUT BUFFER. * EACH TIME IT IS CALLED, IT FETCHES THE NEXT CHARACTER, BUT SKIPS * BLANKS. THE CHARACTER IS LEFT IN T35LC, AND IN A. WHEN A RETURN IS * ENCOUNTERED, T35CQ RETURNS TO P+1; OTHERWISE TO P+2. IT IS INITI- * ALIZED BY THE MONITOR BEFORE THE LIBRARY ROUTINE IS CALLED. * T35CQ NOP ENTRY POINT. LDA T35LC GET LAST CHARACTER. CPA .+15B IF CR, JMP T35CQ,I RETURN IMMEDIATELY. T35C0 EQU * LDB T35CP GET CHARACTER POINTER IN B+ CLE,ERB ADJUST. LDA 1,I FETCH SEZ,RSS CHAR. ALF,ALF AND B177 STA T35LC SAVE IT. ISZ T35CP BUMP POINTER. CPA .+15B IF CR. JMP T35CQ,I RETURN IMMEDIATELY. CPA .+40B IF BLANK, T35C1 EQU * JMP T35C0 IGNORE ISZ T35CQ OTHERWISE JMP T35CQ,I RETURN NORMAL. MOVEW NOP MOVES -B WORDS FROM MOVES,I TO SSB,INB,RSS MOVED,I JMP MOVEW,I LDA MOVES,I GET A WORD STA MOVED,I STORE IT. ISZ MOVES BUMP ISZ MOVED POINTERS. JMP MOVEW+1 NO. * * RDPRG READS THE CURRENT USER INTO CORE. * RDPRG NOP LDB MLINK+1 GET PROGRAM BOUND POINTER. ADB .+?PROG-?LINK LDA 1,I GET PROGRAM BOUND STA PBPTR CMA COMPUTE LENGTH. ADA USE STA WORD ADB .+?DISC-?PROG LDA 1,I GET DISC ADDRESS. CLB BLOCK STB DCLC1,I SCHEDULER. LDB USEI PERFORM JSB DISCL TRANSFER. LDA DCLC2,I UNBLOCK SCHEDULER. STA DCLC1,I JMP RDPRG,I RETURN * * DATE COMPUTES A WORD CONTAINING THE YEAR IN ITS 7 HIGH ORDER BITS * AND THE DAY IN ITS 9 LOW ORDER BITS. * DATE NOP LDA DATIM GET HOUR OF YEAR. CLB DIVIDE BY 24 TO DIV .+24 GET THE DAY. LSL 7 POSITION ON LEFT. LDB YEAR POSITION THE YEAR LSR 7 JMP DATE,I * * FIND ID ENTRY IN ID TABLE * : SUCCESS RETURN * : FAIL RETURN * A: CORE ADDRESS OF ENTRY (SUCCESS) * OR FIRST ENTRY PAST THE REQUESTED ENTRY (FAIL) * IDTRA: POINTER TO TRACK ADDRESS * IDTLA: POINTER TO TRACK LENGTH * FIDT NOP F LDB LIBD SET POINTER CLA AND COUNTER STA IDCNT IN CASE NO ID'S LDA IDTTA INITIALIZE STA IDTRA TRACK ADDRESS LDA IDTRL AND STA IDTLA TRACK LENGTH FIDT4 EQU * LDA IDTLA,I LOAD TRACK LENGTH SZA IF ZERO, GO BACK TO NEXT TRACK JMP FIDT1 #O. CHECK IT FIDT2 EQU * LDA IDTTA ALL ADA .+3 ID TRACKS CPA IDTRA EMPTY? JMP FIDT3 YES SO ISZ IDTRA ISZ IDTLA JMP FIDT4 * FIDT1 STA WORD READ ID TRACK ARS,ARS DIVIDE LENGTH BY 8 ARS TO GET NUMBER OF ENTRIES STA IDCNT LDA IDTRA,I FROM DISC LDB LIBDI JSB DISCL LDB LIBD LDA LIBD,I LOAD 1ST ID CMA,INA IS REQUESTED ID ON THIS ADA ID TRACK? SSA JMP FIDT2 NO - TRY NEXT TRACK LDB LIBD SET UP TO SCAN LDA ID ID TABLE FOR ENTRY CMA,INA STA MID FIDT5 LDA B,I LOAD ENTRY ADA MID IS IT THE ONE WE'RE SSA,RSS LOO KING FOR JMP FIDT3 FOUND THE SPOT ADB .+8 NOT THIS ONE - TRY NEXT ONE ISZ IDCNT IF TABLE ALL DONE THEN ENTRY * BELONGS AT END JMP FIDT5 FIDT3 SZA DID WE FIND ENTRY? ISZ FIDT NO - FAIL RETURN JMP FIDT,I SKP * * DIRCM COMPARES THE 4 WORD ENTRIES POINTED TO BY A AND B. * BIT 15 IS NOT USED. IT RETURNS AS FOLLOWS: * P+1: AB * P+3 A=B DIRCM NOP STA DIRC2 mm LDA .-4 SET COUNTER. STA DIRC1 1 STB DIRC5 DIRC3 LDA DIRC5,I SUBTRACT WORD FROM B ELA,CLE,ERA CMA,INA FROM WORD FROM A LDB DIRC2,I ELB,CLE,ERB ADA 1 SZA TEST FOR EQUAL. JMP DIRC4 NOT EQUAL-GO RETURN. ISZ DIRC5 BUMP ISfZ DIRC2 POINTERS. ISZ DIRC1 TEST FOR FINISHED. JMP DIRC3 ISZ DIRCM DOUBLE ISZ FOR EQUAL. DIRC4 SSA,RSS ISZ DIRCM ONE ISZ IF A>B JMP DIRCM,I NONE IF A * * * SCHLQ NOP CLF 0 LDB MLINK+1 ADB .-?LINK+?MASK LDA MPCOM SUSPEND AND 1,I IF HE TRIED SZA TO ABORT JMP LLEND-1,I ADB .-?MASK+?TSTA LDA 1,I SET UNABLE IOR UNABT TO ABORT STA 1,I BIT ADB .-?TSTA+?PLEV CLA A* STA TIMEF NO TIMING. STA 1,I SET PRIORITY TO 0 ADB .+?STAT-?PLEV SET STATUS TO SYNTAX LDA %SYNT SO SCHEDULER DOESN'T KNOW STA 1,I WHAT WE'RE DOING. ADB .+?PROG-?STAT LDA PBPTR SET PBPTR IN TABLE. STA 1,I CMA SET UP DISC ADA USE PARAMETERS. STA WORD ADB .+?DISC-?PROG LDA 1,I LDB USE OUTPUT USER TO JSB DISCL DISC. LDA SCHLQ,I GET DISC ADDRESS. ISZ SCHLQ CPA LIB IF IN CORE, TRANSFER DIRECT. JMP LIBRA STA LIB SET LIB. LDA 0,I LDB M256 SET UP DISC TRANSFER. STB WORD LDB #LIBI I) JSB DISCL JMP LIBRA * * PROGRAM ALWAYS RETURNS HERE. * SCHBL CLF 0 LDB MLINK+1 SET PRIORITY AND STATUS INB AGAIN. ISZ 1,I PRIORITY=1. ISZ TIMEF SET FLAG FOR TIMING. ADB .-2 ISZ 1,I TRUE STATUS IS RUN. STF 0 JMP SCHLQ,I HELK DEF *+1 OCT 5111 ASC 5,LL ACCESS HELH DEF *+1 OCT 5116 ASC 6,O TIME LEFT * * * THIS SUBROUTINE INSERTS A USER INTO THE QUEUE IN ORDER OF HIS * PRIORITY. WHEN WE ARRIVE HERE, THE B REGISTER POINTS TO THE LINK * WORD FOR THE USER. * INSEQ NOP P STB SCHL SAVE LINK ADDRESS IN SCHL INB B=> USERS PRIORITY LDA 1,I A=PRIORITY CMA STORE -1-PRIORITY STA SCHPR IN SCHPR. LDB MLINK B=> PHONY USER. SCH2 STB SCHPL SAVE SCHP. . LDB 1,I B POINTS TO NEXT USER. LDA 1 GET PRIORITY INA THAT USER IN LDA 0,I A. ADA SCHPR COPMPARE WITH PRIORITY SSA OF USER BEING INSERTED. JMP SCH2 IF >= GO TO LINK TO NEXT ENTRY. STB SCHL,I SET NEW ENTRY TO POINT TO HIM. LDA SCHL STA SCHP,I SET PREVIOUS ENTRY => NEW ENTRY ADA .+?CLOC-?LINK SET NEW USERS CLOCK TO -10. LDB .-10 STB 0,I JMP INSEQ,I * * CHECK IF THE PROGRAM WHICH HAS JUST BEEN LOADED FROM THE USER * LIBRARY IS SEMI-COMPILED, AND SET THE NECESSARY COMPILER * VARIABLES. LIBSC, LIBSP, AND LIBPB ARE PASSED TO THIS ROUTINE * FROM THE LIBRARY ROUTINE WHICH CALLS IT (CHAIN, GET, OR HELLO) * SEMIC NOP CLF 0 CLA NO--CLEAR OUT-OF- STA SYMTB STORAGE FLAG LDA LIBPB SET LENGTH STA PBPTR POINTER LDB MLINK+1 SET ADB .-?LINK+?MASK SET TO X] LDA 1,I UNCOMPILED MODE X] CMA X] AND CFLAG X] STA CFLAG X] ADB .-?MASK [X] STB MAIN MAIN LDB LIBSP SET START-OF- STB SPROG PROGRAM POINTER STF 0 0 JMP SEMIC,I LIBPB EQU LTEMP+13 END OF PROGRAM POINTER (PBPTR) . LIBSP EQU LTEMP+9 START OF PROGRAM POINTER * * * FIND SPACE ON DISC * * * THE ID IS IN LTEMP * ADT EL LENGTH IS IN LTEMP+9 * THE NUMBER OF SECOTRS REQUIRED IS IN LTEMP+13 * THE DISC ADDRES S POINTER IS IN LTEMP+8 * THE DISC ADDRESS IS IN LTEMP+6 * THE DISC SPACE LEFT IS IN LTEMP+12 * * FDISC NOP LDA ADLEN READ ADT TABLE INTO CORE STA WORD LDA ADLOC LDB LIBDI JSB DISCL LDA ADLEN GET ADT LENGTH ARS DETERMINE ENTRY COUNT STA LTEMP+9 SAVE SOUNT T LDB LIBD LOAD ADT ADDRESS INB POINT TO FIRST LENGTH FD.1 LDA 1,I LOAD LENGTH ADA LTEMP+13 ADD - REQUIRED LENGTH SSA,RSS BIG ENOUGH? JMP FD.2 YES ADB .+2 NO - NEXT ENTRY FD.4 ISZ LTEMP+9 DONE? JMP FD.1 NO * NO ROOM LEFT FD.5 LDB *+3 LOAD ERROR MESSAGE LDA .-10 JMP LIBER OUTPUT ERROR MESSAGE DEF *+1 OCT 5117 ASC 4,VERLOAD * * FD.2 ADB .-1 GET DISC ADDRESS STB LTEMP+8 SAVE DISC ADDRESS POINTER STA LTEMP+12 SAVE DISC SPACE LEFT LDA 1,I LOAD DISC ADDRESS STA LTEMP+6 & SAVE IT LDA LTEMP IF ID=A000 CPA A000 THEN IT IS OK JMP FDISC,I SO RETURN (D) LDA LTEMP+6 LOAD DISC ADR. AND DHMSK GET HEAD AND DISC DRIVE BITS CPA B100 JUST BIT 6? JMP FD.3 YES, SYSTEM DISC MAY NOT BE USED (D) JSB FDIRC GET DIRECTORY ENTRY (D) LDB 0,I GET 2ND TRACK LENGTH (D) ADA .-7 POINT TO FIRST TRACK LENGTH (D) ADB 0,I ADD THEM (D) ADB OVFL IS SYSTEM TOO LARGE (D) SSB,RSS (D) JMP FDISC,I NO, EXIT (D) FD.3 LDB LTEMP+8 YES, CONTINUE THE SEARCH (D) ADB .+3 GET NEXT ENTRY JMP FD.4 * * OVFL DEC 9104 SIZE OF DIRECTORY (D) * * ROUTINE TO COMPUTE THE ADDRESS OF THE * BASE PAGE DIRECTORY ENTRY * FOR A GIVEN DISC * * THE DISC ADDRESS IS IN LTEMP+6 * * FDIRC NOP CLB LDA LTEMP+6 LOAD DISC ADDRESS RAL GET DISC DRIVE AND .+1 MPY .+28 MULTIPLY BY 28 STA LTEMP+4 SAVE IT LDA LTEMP+6 GET HEAD BIT AND B100 SWP IN THE B REGISTER SZB,RSS CARTRIDGE? LDA .+14 YES ADA LTEMP+4 ADA DIRD0 ADD BASE ADDRESS ADA .+7 SECOND TRACK STA LTEMP+4 SAVE IT FOR DLLOK STA LTEMP+14 SAVE IT FOR SUPERSAVE JMP FDIRC,I RETURN * * * DIRHD DEF *+1 OCT 5012 ASC 20, ID NAME DATE SUB TR/SEC LEN ASC 2, FP DIRMS OCT 17400 DIRFS ASC 1,@0 DTABI DEF DCNT,I DIR0S ASC 1,0/ UPMS1 DEF UPMA1 UPMS2 DEF UPAMS ILL DEF *+1 OCT 5111 LF-I ASC 4,LL. DISC PLDR2 DEF LDER2 PLDR5 DEF LDER5 NUSE5 BSS 16 NOT USED [E] HED LIBRARY SIZES * THIS TABLE IS USED BY THE TSB PAPER TAPE LOADER, THE SLEEP * ROUTINE, AND THE MAG TAPE LOADER. IT CONTAINS THE LENGTHS OF * ALL THE REMAINING LIBRARY ROUTINES, AND ENABLES THE LOADER TO * ALLOCATE THE MINIMUM NUMBER OF DISC SECTORS FOR EACH OF THEM. * THE TABLE IS WRITTEN ON THE DISC AS THE FIRST LIBRARY ROUTINE. SPC 1 ORG LIBRA ABS LIBRA-$SLPL DEC -128 ABS LIBRA-$FLB ABS LIBRA-$CHN ABS LIBRA-$SAV ABS LIBRA-$$SAV SAVE OVERLAY. ABS LIBRA-$GET ABS LIBRA-$APP ABS LIBRA-$HEL ABS LIBRA-$$HEL ABS LIBRA-$BYE ABS LIBRA-$KIL ABS LIBRA-$REN ABS LIBRA-$NAM ABS LIBRA-$CAT ABS LIBRA-$CAT ABS LIBRA-$DEL ABS LIBRA-$TIM ABS LIBRA-$UDIS ABS LIBRA-$MESS ABS LIBRA-$PRO ABS LIBRA-$PRO ABS LIBRA-$OPE ABS LIBRA-$$OPE ABS LIBRA-$LEN ABS LIBRA-$ECH ABS LIBRA-$REP ABS LIBRA-$DIR ABS LIBRA-$ROS B] ABS LIBRA-$RES ABS LIBRA-$SPE ABS LIBRA-$POR ABS LIBRA-$CHA * B] ABS LIBRA-$ANN ANNOUNCE [X] ABS LIBRA-$SLE ABS LIBRA-$$SLE [X] ABS LIBRA-$$$SL [X] ABS LIBRA-$NEW ABS LIBRA-$KID ABS LIBRA-$$KID ABS LIBRA-$MOV ABUS LIBRA-$$MOV MOVE OVERLAY [X] ABS LIBRA-$$$MV ABS LIBRA-$PUR ABS LIBRA-$$PUR * B] ABS LIBRA-$PHO ABS LIBRA-$DN DISC DOWN COMMAND X] ABS LIBRA-$UP DISC UP COMMAND X] ABS LIBRA-$TSB ABS LIBRA-$PFRS ABS LIBRA-$PFSW REP 6 DEC -256 $SLPL EQU * HED FUSS * THE FUSS TABLE CONTAINS AN 8 WORD ENTRY FOR EACH PORT. * THERE ARE 4 ENTRIES FOR EACH 8 WORDS. EACH FILE ENTRY * REQUIRES 2 WORDS: * 1. DISC ADDRESS OF THE FILE * 2. LENGTH OF THE FILE IN SECTORS (BIT 15=1 IF READ ONLY) * ORG LIBRA REP 16 OCT 0,0,0,0,0,0,0,0 HED FILES * THE FILES ROUTINE IS USED BY THE BASIC COMPILER TO PROCESS A FILES * STATEMENT DURING PHASE II. THE PURPOSE OF THE ROUTINE IS TO PRO- * VIDE THE COMPILER WITH INFORMATION ABOUT THE REQUESTED FILES. THIS * INFORMATION CONSISTS OF THE FILE DISC ADDRESS AND THE FILE LENGTH. * THE COMPILER PASSES PARAMETERS TO THE FILES ROUTINE AS FOLLOWS: * * VALTB=>LENGTH WORD OF FILES STATEMENT. * FILTB=>BEGINNING OF TABLE AREA FOR FILE INFO. * SCHLB,I=>FIRST POSSIBLE RETURN ADDRESS. * * THE CALLING SEQUENCE TO THE FILES ROUTINE IS AS FOLLOWS: * * JSB SCHLB,I I * DEF FILIB * * * * SPC 2 ORG LIBRA * LDA FILBP STA FLBUF SAVE BUFFER POINTER. STA FLBFP LDA .-5 SET COUNTER FOR MAX NUMBER X] STA FLBC1 OF FILES ALLOWED. CCA SET POINTER TO ADA VALTB,I LAST CHAR +1 OF ADA VALTB FILES STATEMENT. RAL STA FLBP LDA VALTB INITIALIZE POINTER TO INA ALS STA FLBCP FILES STATEMENT. * FLB1 LDA .-3 SET FILC2 TO SAY 3 WORDS STA FLBC2 ALLOWED. CLA STA FLBCM CLEAR COMMA FLAG. STA FLB$ JSB FLBCH GET FIRST CHAR. CPA .+44B TEST FOR DOLLAR SIGN. JMP FLB2 FLB5 CPA .+40B BETTER NOT BE A BLANK. JMP FLB81 FAIL IF IT IS ADA FLB$ PLACE $ FLAG ON FIRST CHAR. FLB3 ALF,ALF POSITION ON LEFT STA FLBUF,I AND STORE IN BUFFER. JSB FLBCH GET RIGHT CHARACTER IOR FLBUF,I AND PACK IN. STA FLBUF,I ISZ FLBUF BUMP BUFFER POINTER. JSB FLBCH GET NEXT CHARACTER. ISZ FLBC2 TEST FOR END OF FILE NAME. JMP FLB3 * CPA .+40B IF END OF FILE NAME, CHAR MUST JMP FLB4 BE A BLANK. JMP FLB81 FAIL IF NOT * FLB2 LDA B200 IF 1ST CHAR IS $, SET FIL$ TO STA FLB$ INDICATE LIBRARY FILE JSB FLBCH GET NEXT CHAR. JMP FLB5 * FLB4 ISZ FLBC1 TEST FOR TOO MANY FILES. RSS JMP FLB81 HHH^ LDA FLBCM TEST FOR ANY MORE REQUESTED. SZA JMP FLB1 YES IF COMMA WAS SEEN. * LDA FLBC1 SET FILC1 TO EQUAL ADA .+5 -# OF FILES REQUESTED [X] CMA,INA STA FLBC1 STA FLBC2 * ISZ SCHLQ BUMP RETURN ADDRESS SINCE WE'VE LDA FLBFP NOW CHECKED FOR TYPE I ERRORS. STA FLBUF SET POINTER TO BUFFER AGAIN. * LDA MLINK+1 GET USER ID AND SAVE IT. ADA .+?ID-?LINK LDA 0,I STA FLBID * FLB6 LDB FLBUF,I GET FIRST WORD OF FILE NAME. LDA FLBID SSB IF BIT 15 OF FIRST WORD IS SET, LDA A000 PERFORM SEARCH USING A000. DST LTEMP ISZ FLBUF GET NEXT 2 WORDS ALSO. DLD FLBUF,I DST LTEMP+2 * JSB DLOOK SEARCH FOR FILE. JMP FLB7 FOUND IT. * FLB8 JSB RDPRG IF FILE FLB81 CLA NOT FOUND, STA DIRWD RETURN TO JSB DCMPL PROGRAM JMP SCHBL * FLB7 LDA LTEMP+4 SET DIRWD ADA .+6 LDA A,I FOR DLOOK STA DIRWD LDB LTEMP+5 TEST TO SEE ADB .+2 IF THIS IS LDA 1,I REALLY A SSA,RSS FILE. JMP FLB8 FAIL IF NOT. ADB .-1 TEST FOR PROTECTED. LDA 1,I SSA,RSS JMP FLB9 NOT PROTECTED. LDA A000 IF PROTECTED, TEST FOR A000. CPA FLBID RSS JMP FLB8 PROTECTED FILE ACCESS--FAIL. * * FLB9 ADB .+5 NOW GET DISC ADDRESS AND LENGTH. DLD 1,I STORE DISC ADDRESS STA FLBUF,I IN BUFFER. ASR 7 CONVERT LENGTH TO X] CMB,INB POSITIVE SECTORS. LDA FLBID TEST FOR USER REFERENCE TO CPA LTEMP PUBLIC FILE. RSS ADB BIT15 SET BIT15 OF LENGTH IF IT IS. ISZ FLBUF STORE IN STB FLBUF,I BUFFER. ISZ FLBUF BUMP BUFFER POINTER TO NEXT ENTRY. JSB DATE GET DATE AND SET IN LDB LTEMP+5 PURGE LOCATION. ADB .+5 STA 1,I * ISZ FLBC1 TEST FOR ANY MORE FILES. JMP FLB6 * * WE HAVE FOUND ALL THE FILES. WE NOW HAVE TO UPDATE THE FUSS TABLE. * FIRST CHECK TO SEE IF THE PROGRAM HAS ROOM ENOUGH FOR THE TABLE. * LDA DIRWD WRITE LDB LIBD DIRECTORY JSB DISCL TO DISC CLA STA DIRWD ISZ SCHLQ BUMP TO NEXT ERROR EXIT. LDA FLBC2 GET # OF FILES. STA FLBC1 CMA,INA MPY .+7 COMPUTE NEW VALUE OF PBPTR. ADA PBPTR CMA ADA LWAUS TEST FOR OVERFLOW. SSA JMP FLB8 FAIL--PROGRAM TOO LARGE. * ISZ SCHLQ BUMP TO NORMAL RETURN ADDRESS. LDA FL128 INPUT FUSS TABLE STA WORD LDA FUSS,I LDB LIBDI JSB DISCL * * LDA MLINK+1 DETERMINE USER #. ADA FLBSP CLB DIV .+TTY01-TT6ZY00 ALF,RAR MULTIPLY USER# BY 8 AND ADA LIBD ADD LIBD TO POINT AT USER'S STA FLBFS SECTION OF FUSS. STA LTEMP LDB .-8 ZERO OUT USER'S SECTION. CLA STA LTEMP,I ISZ LTEMP INB,SZB JMP *-3 * * * NOW CHECK TO SEE IF ANY OF THE REQUESTED FILES ARE BEING USED BY * ANOTHER USER. IF THEY ARE, WE ALLOW ONLY FILE READS BUT NO WRITES. * IF THE USER IS A000, WE SKIP THE TEST. * ISZ FLBFP LDA FLBID AND AMASK IF USER IS A GROUP DON7T TEST CPA A000 JMP FLB10 * LDA FLBFP SET BUFFER POINTER. STA FLBUF * FLB11 LDA FLBUF,I GET DISC ADDRESS. ISZ FLBUF LDB LIBD SET INITIAL POINTER TO FUSS. FLB14 CPA 1,I TEST FOR THERE. JMP FLB12 IT IS. ADB .+2 BUMP POINTER X] CPB L128 AND TEST FOR DONE JMP FLB13 NOT THERE. JMP FLB14 * FLB12 LDA FLBUF,I SET DISC LENGTH TO SAY IOR BIT15 READ ONLY. STA FLBUF,I * FLB13 ISZ FLBUF BUMP BUFFER POINTER FOR ISZ FLBUF NEXT FILE. ISZ FLBC1 TEST FOR ANY MORE JMP FLB11 * * NOW UPDATE FUSS BY PLACING THE DISC ADDRESSES JUST REQUESTED * INTO THE USER'S FUSS AREA. * FLB10 LDA FLBC2 SET COUNTER STA FLBC1 LDA FLBFP GET POINTER TO FIRST ONE STA FLBUF X] FLB15 DLD FLBUF,I SET DISC ADDRESS X] DST FLBFS,I AND LENGTH INTO X] ISZ FLBUF THE FUSS AREA X] ISZ FLBUF THE FUSS AREA X] ISZ FLBUF ISZ FLBFS X] ISZ FLBFS X] ISZ FLBC1 ANY MORE? JMP FLB15 YES * LDA FUSS,I WRITE FUSS TABLE BACK TO LDB LIBD DISC. JSB DISCL * JSB RDPRG READ IN USER'S PROGRAM AGAIN. LDtA FILTB STA VALTB FLB16 DLD FLBFP,I GET DISC INFO FOR ONE FILE. STB VALTB,I STORE PHYSICAL LENGTH. ISZ VALTB SWP GET PHYSICAL LENGTH IN A. ELA,CLE,ERA REMOVE BIT 15. ADA .-2 COMPUTE RELATIVE LAST SLA,INA,SZA LOGICAL SECTOR ADDRESS. ADA .-1 ADA 1 COMPUTE ABSOLUTE ADDRESS STA VALTB,I STORE IN TABLE. ISZ VALTB ISZ VALTB STB VALTB,I STORE DISC ADDRESS LDA VALTB BUMP POINTERS. ADA .+4 STA VALTB STA PBPTR LDA FLBFP ADA .+3 STA FLBFP ISZ FLBC2 TEST FOR ANY MORE. JMP FLB16 CLA NO DIRECTORY STA DIRWD IN CORE * JMP SCHBL NOW WE'RE ALL DONE. * * FLBCH GETS THE NEXT CHARACTER OUT OF THE FILES * STATEMENT. IF FLBCM=1, IT ASSUMES A COMMA HAS BEEN * SEEN AND RETURNS A BLANK. OTHERWISE IF THE CHARAC- * TER IS A COMMA, IT SETS FLBCM AND RETURNS A BLANK. * IT ALSO RETURNS BLANKS AT THE END OF THE CODE. * FLBCH NOP LDA .+40B RETURN BLANK IF LDB FLBCM FLBCM IS SET. SZB JMP FLBCH,I LDB FLBCP GET CHAR. POINTER. INB OTHERWISE BUMP CPB FLBP IF END OF STATEMENT, JMP FLBCH,I RETURN A BLANK. STB FLBCP POINTER. CLE,ERB GET NEXT CHAR. LDA 1,I SEZ,RSS ALF,ALF ROTATE IF NECESSARY. AND B177 MASK. SZA,RSS SKIP 0'S. JMP FLBCH+1 ADA M96 MAKE INTO SSA,RSS UPPER ADA M32 CASE ADA .140 CPA .+54B TEST FOR COMMA. RSS JMP FLBCH,I NOT A COMMA. ISZ FLBCM IF COMMA, SET FLAG AND GO JMP FLBCH+1 RETURN A BLANK. * FLB$ EQU LTEMP FLBCM EQU LTEMP+1 FLBUF EQU LTEMP+6 FLBFP EQU LTEMP+7 FLBC1 EQU LTEMP+8 FLBC2 EQU LTEMP+9 FLBP EQU LTEMP+10 FLBCP EQU LTEMP+11 FLBID EQU LTEMP+12 FLBFS EQU MB@ USER ID LDA 1,I STA LTEMP STORE IN LTEMP LDA DLTEM SET UP INA POINTER STA CHNP FOR NAME LDA TEMP1 LOAD POINTER TO FIRST WORD ALS DOUBLE FOR CHARACTER POINTER INA TO RIGHT CHARACTER STA CHNC STORE PICKUP POINTER LDA .-7 STA INCHR SET STORE COUNTER LDA OUTWR STA OUTWD SET STORE POINTER CCA A = -1 ADA TEMP1 A => LENGTH WORD LDA 0,I LOAD LENGTH ADA .-3 ALS CMA STA INWRD SET PICKUP COUNTER JSB CHNCH GET A CHARACTER B] CPA .+42B QUOTE? RSS YES GET NEXT CHAR JMP CHAN7+1 NO ERROR JSB CHNCH SZA,RSS IS CHARACTER OK? JMP CHAN7+1 NO CPA .+44B CHECK FOR DOLLARS SIGN JMP CHAN2 $ CHAN3 EQU * STA OUTWD,I STORE CURRENT CHARACTER ISZ OUTWD COUNT vUP STORE POINTER ISZ INCHR COUNT UP STORE COUNTERS JMP CHAN1 JMP CHAN7+1 INVALID NAME CHAN2 EQU * LDA A000 SET UP FOR PUBLIC SEARCH STA LTEMP ISZ INWRD CHECK PICKUP COUNTER JMP CHAN1+3 JMP CHAN7+1 INVALID NAME CHAN1 EQU * ISZ INWRD CHECK PICKUP COUNTER RSS JMP CHAN4 JUMP IF DONE WITH INPUT STRING JSB CHNCH GET A CHARACTER B] SZA,RSS END OF STRING? JMP CHAN7+1 YES - NO CLOSE QUOTE CPA .+42B CLOSE QUOTE? RSS YES - END OF NAME JMP CHAN3 NO - PROCESS CHAFACTER CHAN4 EQU * LDA .+40B GET BLANK STA OUTWD,I STORE INTO BUFFER ISZ OUTWD COUNT UP BUFFER POINTER ISZ INCHR COUNT UP BUFFER COUNTER JMP CHAN4+1 ISZ SCHLQ PAST FIRST TYPE OF ERROR LDB .-3 STB PKCNT 3 WORDS TO PACK LDA OUTWR STA OUTWD CHAN5 LDA OUTWD,I ALF,ALF LEFT HALF ISZ OUTWD IOR OUTWD,I RIGHT HALF STA CHNP,I STORE IT ISZ CHNP ISZ OUTWD ISZ PKCNT THREE WORDS FINISHED? JMP CHAN5 NO LDA SPROG STA INWRD JSB DLOOK SEARCH DIRECTORY FOR PROGRAM RSS JMP CHAN7 PROGRAM NOT FOUND ISZ SCHLQ PAST SECOND ERROR LDB CHNPD ADB .+2 LDA 1,I I SSA A JMP CHAN7 ENTRY IS A FILE ISZ SCHLQ PAST THIRD ERROR * * FOUND CORRECT ENTRY. FIRST CHECK TO SEE IF IT FITS * ADB .+2 X] LDA 1,I SAVE START-OF- STA LIBSP PROGRAM POINTER ADB .+3 GET PROGRAM LENGTH LDA 1,I STA CHNLN CMA,INA COMPUTE FIRST ADA LIBSP UNUSED WORD STA LIBPB CMA,INA COMPUTE NEGATIVE ADA U4475 TOTAL LENGTH SSA COMPARE WITH MAX ALLOWED JMP CHAN7 PROGRAM TOO LARGE JSB DATE SET NEW DATE LDB CHNPD INTO ADB .+5 DIRECTORY STA 1,I INB SET PROGRAM LDA 1,I DISC ADDRESS STA CHND LDA CHNP,I WRITE DIRECTORY STA WORD BACK TO LDA CHNP DISC ADA .+6 LDA 0,I LDB LIBD JSB DISCL LDA CHNI,I GET USER'S ID ISZ CHNPD BUMP POINTERS UP ISZ CHNI TO FIRST WORD OF NAME LDB CHNPD,I CPA A000 IF SYSTEM MASTER CLEAR ELB,CLE,ERB RUN-ONLY BIT STB CHNI,I STORE FIRST WORD OF NAME ISZ CHNI BUMP POINTER TO NEXT WORD DLD LTEMP+2 GET LAST 2 WORDS OF NAME DST CHNI,I STORE IN TABLE LDB MLINK+1 SET TO NULL PROGRAM ADB .+?PROG-?LINK LDA INWRD STA 1,I JSB RDPRG READ IN FIXED AREA LDA CHNLN SET UP TRANSFER FOR STA WORD READING IN PROGRAM LDA CHND LDB LIBSP => START OF PROGRAM ADB BIT15 5 JSB DISCL APPEND LIBRARY PROGRAM JSB SEMIC JSB ABCK,I ABORT? * * SET TO RUN * CLF 0 LDB MAIN ADB .+?TSTA DON'T LDA 1,I IOR UNABT ALLOW STA 1,I ADB .-?TSTA+?STAT ABORTS ISZ 1,I SET STATUS TO RUN ISZ TIMEF SET FLAG FOR TIMING LDB SPROG NULL CPB PBPTR PROGRAM? JMP CHAN6 YES STB PRGCT SET PROGRAM COUNTER LDA .+40B TURN ON STA BLANK BLANK SUPPRESSION LDB MAIN SET THE CHAIN X] ADB .+?MASK FLAG FOR THIS USER X] LDA CHNFG X] IOR 1,I X] STA CHNFG X] ADB .-?MASK+?CLOC ISZ 1,I BUMP USER'S TIMEOUT CLOCK JMP CHAN8 ADB .+?PLEV-?CLOC LDA .+4 SET PRIORITY TO 4 STA t1,I ADB .+?RSTR-?PLEV LDA CHNRT SET RESTART ADDRESS STA 1,I TO COMPILER CLA BLOCK STA DCLC1,I CLOCK STF 0 ENABLE INTERRUPT LDB MLINK+1 LDA 1,I REMOVE USER STA MLINK+1 FROM QUEUE JSB INSEQ INSERT HIM AGAIN AT END JMP *+1,I JUMP TO SCHEDULER DEF SCH1 CHAN6 STF 0 ENABLE INTERRUPT JMP *+1,I DEF EXIT3 CHAN7 JSB RDPRG READ BACK USER PROGRAM JSB ABCK,I ABORT? JMP SCHBL NON. CHAN8 STF 0 JMP CHNRT,I CHNCH NOP B] LDA CHNC LOAD PICKUP POINTER CLE,ERA LDA 0,I LOAD WORD WITH CURRENT CHARACTER SEZ,RSS SKIP IF RIGHT CHARACTER ALF,ALF  AND B177 MASK OFF CURRENT CHARACTER ADA M96 B] SSA,RSS SKIP IF UPPER CASE B] ADA M32 MAKE INTO UPPER CASE B] ADA .140 RESTORE CHARACTER B] ISZ CHNC INCREMENT PICKUP POINTER JMP CHNCH,I B] CHNRT DEF CMPL0 PKCNT BSS 1 INWRD BSS 1 INCHR BSS 1 1 OUTWR DEF OUTWD+1 OUTWD BSS 8 CHNP EQU LTEMP+4 CHNPD EQU LTEMP+5 5j CHNI EQU LTEMP+6 CHNC EQU LTEMP+7 CHNLN EQU LTEMP+10 CHND EQU LTEMP+12 $CHN EQU * HED SAVE * THE SAVE COMMAND IS USED TO SAVE PROGRAMS IN THE USER LIBRARY. * THE PROCEDURE IS AS FOLLOWS: * 1) CHECK THAT PROGRAM IS LISTABLE (OR ID=A000), HAS A NAME, * AND ISN'T NULL. * 2) DECOMPILE. * 3) CHECK FOR IDT OR ADT OVERFLOW. * 4) CHECK FOR DUPLICATELY NAMED PROGRAM. * 5) UPDATE DIRECTORY. * 6) UPDATE IDT AND ADT. * 7) MOVE PROGRAM TO LIBRARY AREA. * * STEP 5 IS WRITTEN AS AN OVERLAY, WHICH IS CALLED WHENEVER THE PAR- * TICULAR DIRECTORY TRACK NEEDED IS ALREADY FULL. ITS JOB IS TO GAR- * BAGE COLLECT THE DIRECTORY TRACKS. SPC 2 ORG LIBRA SPC 1 1 LDB MLINK+1 B=>LINK WORD. ADB .+?ID-?LINK ID LOCN. STB MOVES LDA 1,I STA IDI ADB .+?PROG-?ID STB SAVPV ADB .+?DISC-?PROG STB SAVD DLD MOVES,I A=ID,B=1ST WORD OF NAME. SZB TEST FOR NO PROGRAM NAME CPB ASCBB JMP SAV3 LDB SAVP,I TEST FOR NULL PROGRAM. LDA .-11 CPB PBUFF JMP SAV4 JSB RDPRG READ INTO CORE [X] * LDB SAVP TEST FOR COMPILED. ADB .+?MASK-?PROG LDA 1,I AND CFLAG SZA PROGRAM COMPILED? * JSB DCMPL DECOMPILE IT. LDB SPROG ANY COMMON ALLOCATED? CPB PBUFF [X] JSB ALCOM NO - GO DO IT LDA PBPTR RESET PROGRAM BOUND STA SAVP,I INTO TABLE. CMA,INA COMPUTE # OF ADA USE WORDS. STA WORD LDA SAVD,I GET DISC ADDRESS. LDB USE WRITE OUT TO JSB DISCL DISC. * LDB SAVP,I COMPUTE -PROGRAM LENGTH CMB,INB ADB SPROG ADD PROG POINTER STB SAVWD SAVE IN WORDS ASR 7 AND X] STB SAVLN SECTORS. LDB SPROG SET PROGRAM POINTER [X] STB SAVP INTO SAVP FOR LATER [X] * JSB FIDT FIND ID ENTRY ADB .+7 GET DISC USED TO DATE. LDA 1,I CMA,INA GET TOTAL AMNT TO BE USED AS ADA SAVLN NEGATIVE. ADB .-1 CLE ADA 1,I COMPARE WITH ALLOTMENT. SEZ JMP SAV6 OK. LDB *+3 3 LDA .-16 JMP LIBER DEF *+1 OCT 5106 LF-F ASC 7,ILE SPACE FULLLZ * * SEARCH ADT FOR SPACE TO PUT THE PROGRAM. * SAV6 LDA MOVES,I LOAD ID STA LTEMP SAVE FOR FDISC JSB FDISC GO FIND DISC SPACE LDA DLTEM LOAD POINYoTER TO NAME STA MOVED LTEMP(0:3). LDB .-4 JSB MOVEW JSB DLOOK SEARCH FOR ENTRY. JMP SAV12 ENTRY FOUND--ILLEGAL. SAV97 EQU * JSB FDIRC COMPUTE DIRECTORY LDA LTEMP SET BIT 15 X] IOR BIT15 OF ID X] STA LTEMP SET UP TO X] LDA LTEMP+4,I LOAD TRACK LENGTH [X] SZA,RSS IF ZERO THEN NEXT TRACK [X] JMP SAV72 [X] LDA DLTEM COMPARE X] LDB LTEMP+4 ENTRIES X] INB X] JSB DIRCM IS ENTRY ON THIS TRACK? X] JMP SAV72 NO X] SAV73 JSB DLOOK YES, GO FIND IT X] NOP T X] * LDB SAVI,I IF TRACK IS FULL, GO DO CPB S4560 (D) JMP SAV98 CMB SET UP SOURCE FOR ADB LIBD MOVE. STB MOVES ADB .+8 SET UP DESTINATION. STB MOVED CMB COMPUTE LENGTH. ADB .+16 ADB SAVS JSB MOVEB * LDA LTEMP LOAD ID AND CLEAR BIT 15 [X] ELA,CLE,ERA [X] STA LTEMP [X] LDA DLTEM MOVE 5 WORDS IN FOR STA MOVES NEW ENTRY. LDA SAVS ADA .+8 STA MOVED LDB .-4 4W JSB MOVEW LDA SAVP SET PROGRAM START [X] STA MOVED,I INTO DIRECTORY [X] JSB DATE STORE DATE IN ALSO. ISZ MOVED STA MOVED,I ISZ MOVED LDA SAVDS INSERT DISC ADDRESS AND LDB SAVWD LENGTH. DST MOVED,I * LDA SAVI,I ADJUST ADA .-8 DIRECTORY STA SAVI,I LENGTH. ; STA WORD LDA SAVI WRITE DIRECTORY BACK OUT. INA STA MOVED ADA .+5 uS LDA 0,I LDB LIBD STB MOVES JSB DISCL * LDB .-4 RESET DIREC. JSB MOVEW * * JSB FIDT FIND ID ENTRY ADB .+7 zz LDA SAVLN ADJUST AMOUNT CMA,INA OF DISC ADA 1,I USED. STA 1,I LDA IDTRA,I OURPUT ID TRACK TO DISC LDB LIBD JSB DISCL LDA ADLEN INPUT AD TABLE STA WORD LDA ADLOC LDB LIBDI JSB DISCL * LDB SAVDF GET NEW ADT ENTRY LENGTH LDA SAVLN COMPUTE NEW ADT ENTRY LOC. CMA,INA ADA SAVA,I DST SAVA,I SET NEW ADT ENTRY. SZB TEST FOR ADT ENTRY ALL USED. JMP SAV22 NO--GO TO WRITE TO DISC. * LDB SAVA SQUEEZE OUT ADT ENTRY. STB MOVED DESTINATION IS LOC OF ENTRY ADB .+2 BEING REMOVED; SOURCE IS STB MOVES NEXT ENTRY. ADB MLIBD B=# WORDS PRECEDING. ADB WORD B=-# OF WORDS TO MOVE. JSB MOVEW W * ISZ ADLEN REDUCE SIZE OF ADT BY 2 WORDS. ISZ ADLEN ISZ WORD REDUCE # OF WORDS TO WRITE OUT ISZ WORD BY TWO. SAV22 LDA ADLOC WRITE ADT TO DISC LDB LIBD JSB DISCL * JSB RDPRG READ USER PROGRAM AGAIN. LDA SAVWD WRITE IT OUT. STA WORD TO LIBRARY. LDA SAVDS AREA. LDB SAVP JSB DISC,I * JMP LLEND * * * SAV72 LDB LTEMP+4 GO BACK TO FIRST X] ADB .-7 TRACK X] STB LTEMP+4 X] INB X] LDA DLTEM X] JSB DIRCM IS ENTRY ON THIS TRACK? X] JMP SAV74 NO, MAKE IT THE FIRST ONE X] JMP SAV73 X] JMP SA0.*V73 X] SAV74 LDB LTEMP+4 LOAD THE [X] LDA 1,I CORRECT [X] STA WORD [X] ADB .+6 DIRECTORY TRACK INTO [X] LDA 1,I BEFORE WE [X] LDB LIBDI START MOVING THINGS [X] JSB DISCL [X] LDA LIBD [X] ADA .-8 ADDRESS TO THE FRONT X] STA SAVS X] JMP SAV73+2 X] * S4560 DEC -4560 (D) * SAV98 LDA M252 LOAD SUPERSAVE STA WORDR LDA SAVOV,I LDB #LIBI JMP LIBRA+252 SAV3 LDA .-16 SAV4 LDB *+2 // JMP LIBER DEF *+1 OCT 5116 LF-N ASC 7,O PROGRAM NAME * SAV12 EQU * LDA .-16 LDB *+2 JMP LIBER DEF *+1 OCT 5104 ASC 7,UPLICATE ENTRY * SAVI EQU LTEMP+4 SAVS EQU LTEMP+5 SAVDS EQU LTEMP+6 SAVWD EQU LTEMP+7 SAVA EQU LTEMP+8 SAVP EQU LTEMP+101 SAVD EQU LTEMP+11 SAVDF EQU LTEMP+12 SAVLN EQU LTEMP+13 * SAVOV DEF SAVE+1+COM6-COM3 * * ORG LIBRA+252 JSB DISCL JMP LIBRA JMP SAV97 $SAV EQU * *, 70 G T 24280-80023 1534 S 0122 TSB/E SYSTEM              H0101  HED SUPERSAVE EO * THE SAVE OVERLAY ROUTINE IS CALLED BY THE SAVE AND OPEN ROUTINES * * WHENEVER THEY WANT TO MAKE A DIRECTORY ENTRY ON A TRACK THAT IS * ALREADY FULL. THE FOLLOWING LOCATIONS MUST BE APPROPRIATELY SET: * LTEMP(0:3)=1ST 4 WORDS OF ENTRY. * LTEMP(4:5)=SAME AS LEFT BY DLODIC * LTEMP(6:7)=DISC ADR AND LENGTH OF ENTRY. ORG LIBRA SPC 1 JSB FDIRC RECOMPUTE DIRECTORY LDA LTEMP+4 ADA .-7 STA LTEMP+4 RESET LTEMP+4 TO FIRST TRACK LDA LTEMP+4,I COMPUTE TOTAL DIRECTORY STA WORD LENGTH STA SUPL1 LDB LTEMP+4 ADB .+7 ADA 1,I STA LTEMP+14 SAVE TOTAL ADA OVFL IS SYSTEM FULL? (D) SSA JMP SUP9 YES - ALL FULL LDA LTEMP+14 CCB NO - DIVIDE BY 16 TO GET DIV .+16 MPY .+8 NUMBER OF ENTRIES/2 * 8=WORDS PER TRACK STA SUPLN SAVE IT LDA LTEMP+4 READ ADA .+6 IN LDA 0,I FIRST LDB LIBDI TRACK JSB DISCL Lq LDA SUPLN IS NEW LENGTH CMA,INA OF TRACK LONGER ADA WORD THAN CURRENT LENGTH SSA JMP SUP1 NO CMA,INA READ IN THAT MUCH STA WORD FROM TRACK 2 STA SUPL2 LDA LTEMP+4 GET DISC ADA .+13 ADDRESS LDA 0,I LDB SUPL1 COMPUTE CORE CMB,INB ADDRESS ADB LIBDI JSB DISCL READ IT IN LDA SUPLN OUTPUT STA WORD TRACK LDA LTEMP+4 TO ADA .+6 TRACK LDA 0,I ONE LDB LIBD JSB DISCL LDA WORD RESET STA LTEMP+4,I LENGTH LDB LTEMP+4 READ IN ADB .+7 SECOND LDA 1,I TRACK STA WORD ADB .+6 LDA 1,I LDB LIBDI JSB DISCL LDA SUPL2 COMPUTE FIRST CMA,INA WROD OF S ADA LIBD TACK STA MOVES 2 LDA LIBD MOVE STA MOVED TRACK 2 LDB SUPL2 COMPUTE CMB,INB NEW ADB WORD LENGTH STB WORD JSB MOVEW MOVE DOWN LDB LTEMP+4 RESET ADB .+7 TRACK LDA WORD LENGTH STA 1,I LDA LIBD UPDATE STA MOVES BASE LDA LTEMP+4 PAGE ADA .+8 DIRECTORY STA MOVED LDB .-4 JSB MOVEW LDA LTEMP+4 OUTPUT ADA .+13 TRACK LDA 0,I TO LDB LIBD DISC JSB DISCL JMP SUPR DONE * * IFRST DIRECTORY TRACK IS THE LONG ONE * * SUP1 LDA SUPLN WRITE STA LTEMP+4,I TRACK 1 STA WORD BACK LDA LTEMP+4 OUT ADA .+6 TO LDA 0,I DISC LDB LIBD JSB DISCL LDA SUPLN MOVE CMA,INA REMAINDER ADA LIBD DOWN STA MOVES LDA LIBD STA MOVED LDB SUPLN COMPUTE # CMB,INB OF WORDS ADB SUPL1 TO MOVE STB SUPL2 JSB MOVEW LDB LTEMP+4 READ ADB .+7 IN 2ND TRACK LDA 1,I STA WORD SET LENGTH ADB .+6 GET DISC LDA B,I LDB MOVED GET CORE ADB BIT15 ADDRESS JSB DISCL LDA WORD COMPUTE ADA SUPL2 NEW TRACK STA WORD LENGTH LDB LTEMP+4 RESET ADB .+7 LENGTH STA 1,I OF TRACK ADB .+6 WRITE LDA 1,I TO LDB LIBD DISC JSB DISCL LDA LIBD RESET STA MOVES BASE PAGE LDA LTEMP+4 VALUES ADA .+8 STA MOVED LDB .-4 JSB MOVEW SUPR LDA SAVLL STA WORD LDA LIB,I LDB #LIBI JMP LIBRA+248 * @ * SYSTEM OVERLOAD * SUP9 CLF 0 ISZ LIB STF 0 LDA MFLAG WHERE DO WE PRINT SZA,RSS THE ERROR MESSAGE? JMP FD.5 ON USER'S TERMINAL. CLA ON SYSTEM CONSOLE. STA MFLAG FIRST CLEAR THE FLAG LDB FD.5+3 THEN PRINT THE MESSAGE. LDA .+10 JSB TTY35,I JMP LENDR * SUPL1 NOP SUPL2 NOP P_ SUPLN NOP SAVLL DEC -248 ORG LIBRA+248 JSB DISCL JMP LIBRA+254 $$SAV EQU * HED GET * THE GET ROUTINE IS RESPONSIBLE FOR LOADING A PROGRAM FROM THE * USER LIBRARY. IT CAN BE USED TO LOAD FROM EITHER THE USER'S * PRIVATE LIBRARY OR FROM THE PUBLIC LIBRARY. IF THE PROGRAM IS TO * BE FROM THE PUBLIC LIBRARY, THE PROGRAM NAME SHOULD BE PRECEDED * BY A DOLLAR SIGN ($). SPC 1 ORG LIBRA SPC 1 1 LDA MLINK+1 GET USER'S ID. ADA .+?ID-?LINK STA GETI LDA 0,I STA LTEMP STORE IN LTEMP. LDA DLTEM SET UP POINTER FOR NAME. INA STA GETP LDA .-3 SET UP COUNTER. STA GETC JSB LCHAR GET FIRST INPUT CHAR. JMP GET1 ERROR IF NONE. CPA .+44B IF $ GO TO SET UP FOR JMP GET2 SEARCHING PUBLIC LIBRARY. GET3 ALF,ALF SAVE CHARACTER IN TABLE. STA GETP,I JSB LCHAR GET RIGHT CHARACTER. LDA .+40B IF END CHANGE TO BLANK. IOR GETP,I STA GETP,I ISZ GETP BUMP POINTER. JSB LCHAR GET NEXT CHARACTER. LDA .+40B ISZ GETC DO WE WANT IT? JMP GET3 YES. CPA .+40B NO--A SHOULD NOW BE BLANK. JMP GET4T * GET1 LDA .-13 LDB *+2 JMP LIBER DEF *+1 OCT 5111 ASC 6,NVALID NAME E^ * GET2 LDA A000 SET UP FOR PUBLIC LIBRARY SEARCH STA LTEMP JSB LCHAR GET FIRST CHAR OF NAME. JMP GET1 FAIL IF NONE. JMP GET3 * GET4 JSB RDPRG LDA SPROG  SAVE END-OF- STA GETS COMMON POINTER JSB DLOOK SEARCH DIRECTORY FOR PROGRAM JMP GET9 * * LDA .-16 LDB *+2 2F JMP LIBER DEF *+1 1 OCT 5116 ASC 7,O SUCH PROGRAM GET9 LDB GETPD TEST FOR FILE RATHER ADB .+2 THAN PROGRAM. LDA 1,I SSA,RSS JMP GET10 * LDA .-16 LDB *+2 JMP LIBER DEF *+1 OCT 5105 LF-E ASC 7,NTRY IS A FILE * * FOUND CORRECT ENTRY. FIRST CHECK TO SEE IF IT FITS * GET10 ADB .+2 RETRIEVE START- X] LDA 1,I OF-PROGRAM STA LIBSP POINTER ADB .+3 GET PROGRAM LDA 1,I LENGTH. STA GETLN CMA,INA COMPUTE FIRST ADA LIBSP UNUSED WORD STA LIBPB CMA,INA COMPUTE NEGATIVE ADA U4475 TOTAL LENGTH SSA,RSS COMPARE WITH MAX ALLOWED. JMP GET13 OKOO LDA .-18 LDB *+2 JMP LIBER DEF *+1 OCT 5120 LF-P ASC 8,ROGRAM TOO LARGE * GET13 JSB DATE SET NEW DATE LDB GETPD INTO ADB .+5 DIRECTORY. STA 1,I INB GET PROGRAM LDA 1,I DISC ADDRESS. STA GETD * LDA GETP,I WRITE DIRECTORY STA WORD BACK TO LDA GETP DISC. ADA .+6 LDA 0,I LDB LIBD JSB DISCL * LDA GETI,I GET USER'S ID ISZ GETPD BUMP POINTERS UP TO ISZ GETI FIRST WORD OF NAME. LDB GETPD,I GET FIRST WORD OF NAME. CPA A000 IF SYSTEM MASTER, CLEAR ELB,CLE,ERB RUN ONLY BIT STB GETI,I STORE FIRST WORD OF NAME. ISZ GETI BUMP POINTER TO NEXT WORD DLD LTEMP+2 GET LAST 2 WORDS OF NAME. DST GETI,I STORE IN TABLE. * LDB MLINK+1 SET TO NULL PROGRAM ADB .+?PROG-?LINK LDA GETS STA 1,I JS NB RDPRG READ IN CURRENT PROGRAM LDA GETLN SET UP TRANSFER STA WORD FOR READING IN PROGRAM. LDA GETD LDB LIBSP GET START OF PROGRAM POINTER ADB BIT15 JSB DISCL JSB SEMIC JMP LLEND TERMINATE * GETP EQU LTEMP+4 GETPD EQU LTEMP+5 5 GETI EQU LTEMP+6 GETC EQU LTEMP+7 GETLN EQU LTEMP+10 GETS EQU LTEMP+11 GETD EQU LTEMP+121 $GET EQU * HED APPEND * THE APPEND COMMAND ALLOWS A USER TO APPEND A LIBRARY PROGRAM ON TO * THE END OF HIS CURRENT PROGRAM. THE FIRST STATEMENT OF THE NEW * PROGRAM MUST HAVE A SEQUENCE NUMBER GREATER THAN THAT OF THE LAST * STATEMENT OF THE ORIGINAL PROGRAM. IF THE NEW SECTION IS PROTECTED * THE ENTIRE PROGRAM WILL BE PROTECTED. PROGRAMS WITH COMMON MAY * NOT BE APPENDED. * * THE CODE FOR APPEND MUST FOLLOW THE CODE FOR "GET". SPC 1 ORG LIBRA THE CODE IS IDENTICAL TO "GET" LDA MLINK+1 UP TO LOCATION GET10 ORG GET10 * ADB .+2 [X] LDA 1,I CPA PBUFF COMMON AREA? JMP APP02 NO LDA .-23 LDB *+2 JMP LIBER DEF *+1 OCT 5116 LF-N ASC 11,O COMMON AREA ALLOWED APP02 JSB DATE SET DATE OF LAST REFERENCE LDB GETPD INTO DIRECTORY ENTRY. ADB .+5  STA 1,I I ADB .-4 SAVE LIST BIT. LDA 1,I STA APPLS S ADB .+5 GET PROGRAM DISC ADDRESS DLD 1,I AND LENGTH. STA GETD STB GETLN * LDA GETP,I WRITE DIRECTORY STA WORD BACK TO DISC. LDA GETP ADA .+6 LDA 0,I LDB LIBD JSB DISCL * JSB RDPRG READ IN USER'S PROGRAM AND JSB DCMPL DECOMPILE IT. * * LDA GETLN TEST FOR PROGRAM TOO CMA,INA LARGE. ADA PBPTR LAST WORD+1 OF COMBINED PROGS. STA LIBPB CMA,INA COMPUTE NEGATIVE ADA U4475 TOTA LENGTYH SSA,RSS COMPARE WITH MAX ALLOWED. JMP APP1 O.K. LDA MLINK+1 SET MAIN TO SAY PROGRAM IN ADA .-?LINK CORE. STA MAINI LDA .-18 LDB *+2 JMP LIBER DEF *+1 OCT 5120 LF-P ASC 8,ROGRAM TOO LARGE * APP1 LDA GETLN READ IN APPENDED STA WORD PROGRAM. LDA GETD LDB PBPTR ADB BIT15 JSB DISC,I * * SCAN ORIGINAL PROGRAM TO DETERMINE LAST SEQUENCE NUMBER. * LDA SPROG SET A TO POINT AT LENGTH OF INA FIRST STATEMENT. LDB PBPTR SET B TO POINT AT LENGTH OF INB FIRST NEW PROGRAM. CPA 1 IF EQUAL, PROGRAM IS NULL, SO JMP APP2 IT'S OK. CMA,INA B] ADA 1 B] SSA,RSS SPROG>PBPTR? B] JMP APP5-2 NO B] LDA PBPTR YES, RESET B] STA SPROG SPROG B] JMP APP2 B] * LDA SPROG B] INA B] APP5 STA APPS SAVE LOCN OF THIS STATE. LENGTH. ADA 0,I LINK TO NEXT ONE. CPA 1 IF SAVE AS B, APPS=>LAST STATE. RSS JMP APP5 OTHERWISE, LOOP. * CCA GET SEQUENCE # OF LAST STATE- ADA APPS MENT. LDA 0,I MAKE NEGATIVE AND SUBTRACT CMA,RSS ONE. APP2 CCA SET TO -1 (SEQNO=0) IF NO PROG. * LDB ENDSK WAIT FOR DISC TO TERMINATE. SZB JMP *-2 * ADA PBPTR,I CHECK THAT FIRST SEQUENCE # IS SSA,RSS GREATER THAN LAST ONE OF OLD JMP APP3 PROGRAM. * * LDA MLINK+1 SET MAIN TO SAY PROGRAM IN ADA .-?LINK CORE. STA MAIN LDA .-24 ERROR. LDB *+2 *($ JMP LIBER R DEF *+1 OCT 5123 LF-S ASC 11,EQUENCE NUMBER OVERLAP * APP3 LDA LIBPB SET NEW VALUE OF STA PBPTR PBPTR. LDB MLINK+1 GET USER ID. ADB .+?ID-?LINK LDA 1,I INB SET POINTER TO NAME. CPA A000 TEST FOR SPECIAL JMP APP6 USER. LDA APPLS IF NOT, GET LIST BIT AND BIT15 AND MERGE INTO NAME. IOR 1,I STA 1,I APP6 ADB .-?NAME SET MAIN. STB MAIN JMP LLEND TERMINATE. * APPLS EQU LTEMP+6 APPS EQU LTEMP+7 $APP EQU * * H T 24280-80024 1534 S 0122 TSB/E SYSTEM              H0101  HED HELLO * THE HELLO COMMAND IS USED TO LOG A USER ON TO THE SYSTEM. IT * PERFORMS THE FOLLOWING FUNCTIONS: * 1) IF A USER IS ALREADY ON, HE IS LOGGED OFF. * 2) READ USER ID AND PASSWORD, AND ENTER INTO TTY TABLE. * 3) READ TERMINAL SUBTYPE AND SET UP CARRIAGE RETURN AND * LINEFEED DELAYS. SPC 2 ORG LIBRA LDA MLINK+1 SET HELID TO ADA .+?ID-?LINK POINT TO USER'S STA HELID ID. . ADA .+?TIME-?ID SET POINTER TO STA HELTP STARTING TIME. ADA HELST COMPUTE PORT NUMBER. CLB STB HFLG CLEAR COMMA FLAG DIV .+TTY01-TTY00 STA HELPT SAVE IT. CPB HELID,I TEST FOR USER IN CORE. JMP HEL7 GO INPUT IDT. * LDA M128 INPUT FUSS TABLE STA WORD LDA FUSS,I LDB LIBDI JSB DISCL * LDA HELPT COMPUTE LOCATION OF USER'S ALF,RAR MULTIPLY BY 8 [X] ADA LIBD STA LTEMP * CLA ZERO OUT HIS SECTION. LDB .-8 X] STA LTEMP,I ISZ LTEMP INB,SZB JMP *-3 * LDA FUSS,I WRITE BACK TO LDB LIBD DISC. JSB DISCL * CLF 0 LDA PHR SET UP TIMING LDB MLINK+1 ADB .+?PHON-?LINK STA B,I ADB .+?TSTA-?PHON LDA B,I IOR LTBT STA B,I STF 0 HEL7 LDA HELID,I IS ANYBODY SZA,RSS LOGGED ON? JMP HEL1 NO STA ID YES * * DLD HELTP,I GET STARTING TIME. CMA,INA MAKE BOTH PARTS NEGATIVE. CMB,INB DST HELTM SAVE. DLD DATIM GET CURRENT TIME. ADA HELTM COMPUTE DIFFERENCES:A=#OF HRS, CLE B=# OF 100 MS UNITS, ADB HELTM+1 E INDICATES SIGN OF B. STB HELTM+1 SAVE UNITS. MPY D60 CHANGE HRS TO MINS. STA HELTM LDA HELTM+1 GET UN08IT COUNT. IF E=0 SEZ,RSS THEN COUNT AS NEGATIVE. CCB DIV D600 CHANGE TO MINUTES. ADA HELTM ADD PREVIOUS COMPUTATION +1 STA HELTM * LDA HELID,I SET UP LOGOFF IOR BIT15 ENTRY. JSB HELOG * * * JSB FIDT FIND THE ID ADB .+5 COMPUTE NEW TOTAL TIME. CLE LDA 1,I ADA HELTM SEZ IF OVERFLOW, USE MAXIMUM. CCA STA 1,I * LDA IDTRA,I LDB LIBD JSB DISCL * STA HELID,I REMOVE USER'S ID FROM TABLE. * * CONVERT ID * HEL1 JSB GETID TRANSLATE ID. RSS JMP GTFER ERROR--NO COMMA CPA .+54B ii RSS JMP GTFER ERROR--NO COMMA. * * B] JSB FIDT RSS JMP HELF * LDA .-3 CHECK PASSWORD. STA HELC STB HELP HEL3 ISZ HELP BUMP TO NEXT PASSWORD ENTRY. LDB HFLG COMMA PREVIOUSLY SZB ENCOUNTERED? JMP HEL3A YES JSB LCHAR NO, GET 1ST CHARACTER JMP HEL3A CARRIAGE RETURN CPA .+54B COMMA? RSS JMP HEL3B NO STA HFLG YES, SET FLAG HEL3A EQU * CLA HEL3B EQU * * ALF,ALF FIRST CHARACTER ON LEFT STA HELGT LDB HFLG COMMA PREVIOUSLY SZB ENCOUNTERED? JMP HEL3C YES JSB LCHAR NO, GET 2ND CHARACTER JMP HEL3C CARRIAGE RETURN CPA .+54B COMMA? RSS JMP HEL3D NO STA HFLG YES, SET FLAG HEL3C EQU * CLA HEL3D EQU * ADA HELGT ADD FIRST CHARACTER CPA HELP,I DOES THIS PORTION OF RSS THE PASSWORD COMPARE? JMP HELF NO - GO TO ERROR PRINT ISZ HELC YES, BUMP CHARACTER COUNTER JMP HEL3 GET NEXT CHARACTER PAIR * ** PASSWORD OK - PROCESS THE SUBTYPE * LDB HFLG COMMA PREVIOUSLY SZB ENCOUNTERED? JMP HEL3E YES JSB LCHAR NO, GET NEXT CHARACTER JMP HEL3F 'CR' - MUST BE SUBTYPE 0 CPA .+54B COMMA? RSS JMP ILFER NO - ERROR HEL3E EQU * JSB LCHAR JMP ILFER CARRIAGE RETURN - ERROR ADA D65 [E] SSA,RSS CHECK JMP ILFER ADA .+5 PARAMETER [E] SSA JMP ILFER RANGE RSS HEL3F EQU * *s CLA STA HTYPE SAVE SUBTYPE LDB MLINK+1 ADB .+?TSTA-?LINK ERA,ERA E = 1 FOR SUBTYPES 2 AND 3 [E] LDA B,I A = USER'S I/O STATUS AND XOFNT REMOVE X-OFF BIT [E] SEZ IF SUBTYPE 2 OR 3, [E] IOR XOFBT SET X-OFF BIT [E] STA B,I STORE NEW STATUS ADB .+?RPRM-?TSTA LDA B,I GET BAUD RATE IOR BIT12 MAKE SURE ECHO STA B,I IS TURNED ON, AND B377 AND ADJUST FOR ADA M277 TABLE LOOK-UP LDB BAUDT B => LOOK-UP TABLE HEL3G EQU * ADA B,I SSA,RSS RIGHT RANGE? JMP HEL3H YES ADB .+6 NO, BUMP POINTER TO NEXT GROUP JMP HEL3G TRY AGAIN HEL3H EQU * INB ADB HTYPE LDA B,I A = DELAY VALUES STA HTYPE LDB MLINK+1 ADB .+?CDLY-?LINK ALF,ALF AND B377 CMA,INA NEGATE STA B,I STORE 'CR' DELAY INB BE LDA HTYPE AND B377 CMA,INA NEGATE STA B,I STORE 'LF' DELAY * ** SUBTYPE OK - GET THE OVERLAY * LDA HLEN STA WORD LDB LIB LOAD INB OVERLAY LDA 1,I I LDB #LIBI I) JMP HOVRL GO LOAD OVERLAY SPC 2 * ** CARRIAGE RETURN - LINEFEED DELAY TABLE * * UPPER 8 BITS - CARRIAGE RETURN * LOWER 8 BITS - LINEFEED * SPC 1 * DELAY SUBTYPE SPC 1 BAUDT DEF *+1 OCT 75 =277-202 * * OCT 400 0 * OCT 0 1 * OCT 1400 2 ** DELAYS FOR 110 BAUD OCT 1 3 * OCT 11 4 * SPC 1 OCT 43 =202-137 * OCT 0 0 * OCT 1000 1 * OCT 400 2 ** DELAYS FOR 150 BAUD OCT 3 3 * OCT 15 4 * SPC 1 OCT 60 =137-57 * OCT 0 0 * OCT 2000 1 * OCT 4400 2 ** DELAYS FOR 300 BAUD OCT 10 3 * OCT 34 4 * SPC 2 HELF LDA .-12 PRINT ILL. ACCESS LDB HELK JMP LIBER SPC 2 HOVRL EQU * JSB DISCL LOAD OVERLAY JMP LIBRA SPC 2 HELOG NOP MAKE ENTRY IN LOG TABLE LDB LOGCT WAIT UNTIL CPB .+16 THERE IS ROOM JMP *-2 LDB LOGP2 SET POINTER TO NEXT INB LOCATION IN LOG QUEUE CPB LOGND LDB LOGBG CLF 0 STB LOGP2 STA LOGP2,I ENTER ID LDA DATIM GET DAY COUNT CLB GET HOURS OF TODAY DIV .+24 LDA B MPY D60 CONVERT TO MINUTES STA HELGT SAVE LDA DATIM+1 GET UNIT COUNTER ADA D36K ADJUST DIV D600 GET IN MINUTES ADA HELGT ISZ LOGP2 PUT IN QUEUE ALF IOR HELPT MERGE IN PORT NUMBER STA LOGP2,I ISZ LOGCT BUMP COUNT STF 0 JMP HELOG,I RETURN SPC 2 HFLG OCT 0 HTYPE BSS 1 M277 OCT 177501 HLEN ABS LIBRA-HOVRL HELST ABS -TTY00-?TIME HELRT DEF EXIT3 HELPT EQU LTEMP+1 HELID EQU LTEMP+6 HELTP EQU LTEMP+7 HELTM EQU LTEMP+8 HELC EQU LTEMP+10 HELP EQU LTEMP+11 HELGT EQU LTEMP+12 HELM ASC 3,HELLO $HEL EQU * HED HELLO OVERLAY * ** CHECK FOR ANY TIME LEFT * ORG LIBRA ISZ HELP COMPUTE DLD HELP,I ALLOWED TIME-TIME TO DATE. CMA,CLE,INA ADA 1 SEZ JMP HELG NO TIME LEFT. * LDA ID MAKE LOG ENTRY. JSB HELOG DLD DATIM SET STARTING TIME AND ID DST HELTP,I INTO TABLE. LDA ID INSERT NEW ID AND CLEAR CLB NAME. DST HELID,I Iv LDA PBUFF ALSO SCRATCH LDB MLINK+1 ADB .+?PROG-?LINK STA 1,I CLF 0 ADB .+?TSTA-?PROG LDA B,I REMOVE LOG AND LTNBT TIMING BIT STA B,I LDA A000 MOVE SETUP FOR STA LTEMP $HELLO PROGRAM LDA HELM INTO LTEMP(0:3). STA LTEMP+1 DLD HELM+1 DST LTEMP+2 2, * JSB DLOOK SEARCH FOR PROGRAM IN LIBRARY. JMP HEL6 FOUND IT. * * HEL4 CLF 0 ISZ LIB STF 0 LDA .-6 OUTPUT READY MESSAGE LDB READY Y JMP LIBER HELG LDA .-14 LDB HELH CLF 0 MAKE SURE SWAPPER ISZ LIB KNOWS HELLO IS NOT STF 0 IN CORE JMP LIBER * * * * * SET UP USER TO RUN $HELLO PROGRAM. * HEL6 LDB LTEMP+5 TEST FOR FILE ADB .+2 LDA 1,I SSA JMP HEL4Li * ADB .+2 LDA 1,I SAVE START-OF- STA LIBSP PROGRAM POINTER ADB .+2 GET PROGRAM DISC ADDRESS AND DLD 1,I LENGTH. STA HELP SAVE DISK ADDRESS. STB HELC STORE LENGTH. CMB,INB COMPUTE FIRST ADB LIBSP UNUSED WORD STB LIBPB CMB,INB TEST FOR OVERFLOW. ADB U4475 SSB JMP HEL4 * JSB RDPRG READ IN FIXED AREA. LDA HELC READ IN $HELLO. STA WORD LDA HELP LDB LIBSP GET START OF PROGRAM POINTER  ADB BIT15 JSB DISCL JSB SEMIC CLF 0 PLAY SAFE. LDB MLINK+1 ADB .+?MASK-?LINK LDA B,I SET USER'S MASK BIT IOR HFLAG IN HELLO BIT FLAG STA HFLAG ADB .+?STAT-?MASK LDA %RUN SET USER'S STATUS TO RUN STA B,I ADB .+?TSTA-?STAT [E] LDA B,I SET 'UNABLE TO [E] IOR UNABT ABORT' BIT [E] STA B,I [E] ISZ TIMEF SET FLAG FOR TIMING. LDB SPROG CPB PBPTR NULL PROGRAM JMP HELRT,I YES STB PRGCT LDA .+40B B6 STA BLANK ISZ LIB HELLO NOT IN CORE STF 0 INTERRUPT BACK ON. JMP *+1,I DEF CMP14 * $$HEL EQU * HED BYE * THE BYE COMMAND IS USED TO LOG A USER OFF. BYE MUST PERFORM THE * FOLLOWING FUNCTIONS: * 1) DETERMINE AMOUNT OF CONSOLE TIME USED * 2) UPDATE USER'S CLOCK IN ID-TABLE * 3) SET FLAG FOR SYSTEM TO UNHOOK. * 4) OUTPUT TERMINATION MESSAGE SPC 2 ORG LIBRA LDB MLINK+1 ADB .-?LINK+?ID X] LDA 1,I GET ID SZA,RSS IF ID=0, USER NEVER JMP LLEND LOGGED ON, SO EXIT STB BYEID SAVE POINTER TO ID STA ID LDA M128 INPUT FUSS TABLE STA WORD LDA FUSS,I LDB LIBDI JSB DISCL * LDA MLINK+1 COMPUTE USER'S PORT NO. ADA BYESP CLB DIV .+TTY01-TTY00 STA BYEPT T * ALF,RAR ADA LIBD STA LTEMP+1 LDA .-8 CLEAR USER'S FUSS X] STB LTEMP+1,I ISZ LTEMP+1 INA,SZA JMP *-3 * LDA FUSS,I WRITE FUSS LDB LIBD BACK TO DISC. JSB DISCL * * * LDA MLINK+1 ADA .+?TIME-?LINK SET POINTER TO START TIME. DLD 0,I GET STARTING TIME. CMA,INw"A SET BOTH PARTS NEGATIVE. CMB,INB DST BYETM SAVE DLD DATIM NOW GET CURRENT TIME ADA BYETM COMPUTE DIFFERENCES: A=# OF HRS, CLE B=# OF 100 MS UNITS, ADB BYETM+1 E INDICATES SIGN OF B. STB BYETM+1 SAVE UNITS. MPY D60 CHANGE HRS TO MINS. STA BYETM LDA BYETM+1 GET UNIT COUNT. IF E=0 SEZ,RSS THEN COUNT AS NEGATIVE. CCB DIV D600 CHANGE TO MINUTES. ADA BYETM ADD PREVIOUS COMPUTATION PLUS STA BYETM * LDA LOGCT CHECK FOR ROOM IN LOG TABLE CPA .+16 JMP *-2 LDA LOGP2 SET LOGP2 TO NEXT LOCATION IN INA LOG TABLE. CPA LOGND LDA LOGBG STA LOGP2 LDA BYEID,I PLACE ID IN LOG TABLE AND IOR BIT15 SAY LOGOFF. STA LOGP2,I ISZ LOGP2 DLD DATIM COMPUTE TIME OF DAY. STB BYETM+1 SAVE UNIT COUNTER. CLB GET # OF HRS IN B BY MOD'ING DIV .+24 OFF THE DAY COUNT. LDA 1 MPY D60 CONVERT TO MINS. STA BYET SAVE THAT. LDA BYETM+1 GET UNIT COUNTER. ADA D36K ADJUST DIV D600 GET MINUTES. ADA BYET PACK TOGETHER AND PUT IN LOG ALF [X] IOR BYEPT STA LOGP2,I TABLE. ISZ LOGCT BUMP COUNTER. JSB FIDT * ADB .+5 COMPUTE NEW TOTAL TIME. CLE LDA 1,I ADA BYETM SEZ IF OVERFLOW, USE MAXIMUM. CCA STA 1,I * LDA IDTRA,I WRITE ID TRACK BACK OUT LDB LIBD JSB DISC,I * CLA REMOVE USER'S ID STA BYEID,I FROM TABLE * LDA .+12B JSB LOUT * LDA BYETM CLB OUTPUT # OF MINUTES. DIV .1000 STB BYETE ADA .+60B JSB LOUT HUNDREDS LDA BYET CLB 9C0.*DIV .+10 STB BYET ADA .+60B JSB LOUT TENS LDA BYETE, ADA .+60B JSB LOUT UNITS. * LDA .-25 OUTPUT THE REST OF LDB BYEM THE MESSAGE. JSB LTYPE LDA .-20 DISCONNECT USER LDB MLINK+1 ADB .+?PHON-?LINK STA B,I ADB .+?TSTA-?PHON LDA B,I IH IOR LTBT AND RNNBT STA B,I I ADB .+?RPRM-?TSTA LDA B,I A = RECEIVE PARAM IOR BIT12 MAKE SURE USER'S STA B,I ECHO IS TURNED ON JMP LLEND * BYEID EQU LTEMP BYETM EQU LTEMP+1 BYET EQU LTEMP+3 BYEPT EQU LTEMP+4 BYEM DEF *+1 ASC 13, MINUTES OF TERMINAL TIME. BYESP ABS -TTY00-?LINK $BYE EQU * 0 I V 24280-80025 1534 S 0122 TSB/E SYSTEM              H0101  HED KILL * THE KILL ROUTINE IS USED TO DELETE A PROGRAM FROM THE USER * LIBRARY. THE PROCESS IS AS FOLLOWS: * 1) CHECK FORMAT AND DETERMINE PROGRAM NAME. * 2) SEARCH DIRECTORY FOR ENTRY. * 3) OBTAIN LOCATION AND LENGTH. * 4) COLLAPSE DIRECTORY. * 5) UPDATE ADT AND IDT. SPC 1 1 ORG LIBRA SPC 1 CCA SET FLAG TO SAY WE HAVE TO CHECK STA KILTS FOR BUSY FILE. LDA MLINK+1 GET USER'S ID. ADA .+?ID-?LINK LDA 0,I STA LTEMP STORE IN LTEMP. STA ID LDA DLTEM SET UP POINTER FOR INA NAME. STA KILP LDA .-3 SET UP COUNTER. STA KILC KIL1 JSB LCHAR GET LEFT CHAR. LDA .+40B BLANK IF NONE. ALF,ALF STA KILP,I JSB LCHAR GET RIGHT CHAR. LDA .+40B IOR KILP,I,u STA KILP,I ISZ KILP BUMP POINTER. ISZ KILC ANY MORE? JMP KIL1 YES. LDA LTEMP+1 CPA ASCBB JMP KIL2 NO CHARS--ERROR. JSB LCHAR TEST FOR TOO MANY. JMP KIL3 O.K. * * KIL2 LDB *+3 LDA .-13 JMP LIBER DEF *+1 1 OCT 5111 ASC 6,LLEGAL NAME * KIL3 JSB DLOOK SEARCH DIRECTORY FOR PROGRAM. RSS FOUND IT [X] * JMP KIL4 NO SUCH PROGRAM [X] * * FOUND ENTRY. NOW REMOVE IT * LDB KILPD GET LOCATION OF DISC ADDRESS STB MOVED ADB .+6 DLD 1,I A=DISC ADDRESS, B=LENGTH. STA KILD SAVE THEM. STB KILN * ISZ KILTS TEST FOR OK TO KILL. JMP KIL18 O.K. LDB KILPD TEST FOR FILE. ADB .+2 LDA 1,I SSA,RSS JMP KIL18 NOT A FILE. * LDA M128 INPUT FUSSS TABLE STA WORD ARS COMPUTE NUMBER OF ENTRIES STA KILC SAVE IN KILC ALSO. LDA FUSS,I LDB LIBDI JSB DISCL * p LDA MLINK+1 COMPUTE USER'S ADA KILSP PORT #. CLB DIV .+TTY01-TTY00 ALF,RAR COMPUTE LOCATION OF X] ADA LIBD USER'S FUSS. STA KILDF ZERO OUT USER'S FUSS. LDA .-8 X] STB KILDF,I ISZ KILDF NN INA,SZA JMP *-3 LDA LIBD SEARCH FUSS TABLE TO SEE IF LDB KILD FILE IS BEING USED. KIL20 CPB 0,I JMP KIL19 ADA .+2 X] ISZ KILC X] JMP KIL20 X] LDA FUSS,I WRITE BACK FUSS TABLE. LDB LIBD JSB DISCL JMP KIL3 GO GET DIRECTORY AGAIN. * KIL19 LDA .-121f LDB *+2 JMP LIBER R DEF *+1 OCT 5106 LF-F ASC 5,ILE IN USE * KIL18 LDB KILPD SET UP PARAMETERS FOR MOVE. ADB .+8 STB MOVES ADB KILP,I ADB MLIBD JSB MOVEW * LDA KILP,I REDUCE DIRECTORY LENGTH BY 8. ADA .+8 STA KILP,I STA WORD WRITE DIRECTORY BACK OUT. LDA KILP ADA .+6 LDA 0,I I LDB LIBD STB MOVES JSB DISCL * LDA KILP ADJUST WORDS 1-4 OF DIREC. INA STA MOVED D LDB .-4 JSB MOVEW * JSB FIDT READ IN ADT TRACK LDA KILN GET PROGRAM LENGTH. ARS,ARS CONVERT TO ARS,ARS SECTORS. ARS,ARS ARS [X] CMA,INA STA KILN CMA,INA ADB .+7 ADJUST DISC ADA 1,I USAGE. SSA IS IT NEG? (L) CLA YES, SET TO 0 (L) STA 1,I LDA IDTRA,I WRITE ID TRACK BACK OUT LDB LIBD JSB DISCL LDA ADLEN READ IN ADT TABLE STA WORD LDA ADLOC LDB LIBDI  JSB DISCL * LDB LIBD LDA KILD LOAD DISC ADDRESS [X] AND DHMSK GET SUBCHANNEL [X] STA LTEMP+8 SAVE IT [X] KIL13 LDA 1,I LOAD ADT ENTRY [X] AND DHMSK GET SUBCHANNEL [X] CPA LTEMP+8 IS IT THE ONE? [X] JMP KIL12 YES [X] ADB .+2 NO TYR THE NEXT ONE [X] JMP KIL13 [X] KIL12 LDA KILD NOW SEARCH FOR THE RIGHT SPOT [X] CMA,CLE,INA LOOK FOR FIRST ENTRY BIGGER THAN THIS ONE ADA 1,I [X] SEZ [X] JMP KIL16 WE HAVE FOUND THE SPOT [X] ADB .+2 NOT YET - TRY NEXT ONE [X] LDA 1,I (L) AND DHMSK (L) CPA LTEMP+8 SAME SUBCHANNEL? (L) JMP KIL12 YES (L) KIL16 STB KILP SAVE ADT ADDRESS [X] ADB .-2 TEST FOR PREVIOUS ENTRY ADJACENT LDA 1,I TO NEW ONE. INB ADA 1,I CPA KILD JMP KIL14 IT IS--GO COMBINE AREAS. * LDA KILD TEST FOR NEXT ENTRY ADJACENT TO ADA KILN NEW ONE. CPA KILP,I JMP KIL15 IT IS--GO COMBINE AREAS. * * THE NEW ENTRY IS ADJACENT TO NEITHER THE PRECEDING NOR THE FOLLOW- * ING ENTRIES. WE HAVE TO CREATE ROOM FOR IT BY SLIDING DOWN THE * ADT.T * * LDB WORD IF NO ROOM TO EXPAND ADT, WE CPB M3072 HAVE TO LOSE THE SPACE JMP KIL50 CMB SET UP SOURCE FOR THE MOVE. ADB LIBD STB MOVES ADB .+2 SET UP DESTINATION. STB MOVED CMB,INB COMPUTE LENGTH. INB ADB KILP JSB MOVEB MOVE IT. LDA KILD INSERT NEW LDB KILN ENTRY.  DST KILP,I * LDA ADLEN ADJUST ADLEN. ADA .-2 STA ADLEN JMP KIL50 * * COME HERE WHEN THE NEW AREA IS ADJACENT TO THE FOLLOWING ONE, BUT * NOT TO THE PRECEDING ONE. KIL15 DLD KILP,I GET FOLLOWING ENTRY. ADB KILN COMBINE LENGTHS. LDA KILD USE NEW DISC ADDRESS. DST KILP,I REPLACE. JMP KIL50 * * COME HERE WHEN THE NEW AREA IS ADJACENT TO THE PRECEDING AREA. * KIL14 LDA 1,I ADD LENGTH OF OLD AREA TO ADA KILN LENGTH OF NEW ONE. STA 1,I LDA KILD NOW TEST TO SEE IF TEH COMBINED ADA KILN AREA IS ADJACENT TO THE NEXT CPA KILP,I JMP KIL17 IT IS--GO COMBINE THEM. * KIL50 LDA ADLEN WRITE ADT TABLE OUT STA WORD LDA ADLOC LDB LIBD JSB DISCL LDA KILTS DID WE JUST KILL A SZA,RSS FILE? JMP LLEND NO. JSB RDPRG IF WE DID, WE HAVE TO DICOMPILE JSB DCMPL THE GUY TO MAKE SURE HE DOESN'T LDA MLINK+1 USE IT. ADA .-?LINK LEAVE USER IN CORE. STA MAIN JMP LLEND TERMINATE. * * NEW AREA WAS ADJACENT TO 2 OTHERS. COMBINE THEM ALL. * KIL17 ISZ KILP COMBINE LDA 1,I THE ADA KILP,I LENGTHS. STA 1,I INB COLLAPSE ADT. STB MOVED SET UP MOVE DESTINATION. ADB .+2 STB MOVES SET UP SOURCE. ADB MLIBD COMPUTE # OF WORDS ADB WORD TO MOVE. JSB MOVEW * ISZ ADLEN REDUCE SIZE OF ADT BY ISZ ADLEN TWO. JMP KIL50 * KIL4 LDA .-16 LDB *+2 FF JMP LIBER DEF *+1 OCT 5116 ASC 7,O SUCH PROGRAM KILP EQU LTEMP+4 KILPD EQU LTEMP+5 KILC EQU LTEMP+6 KILD EQU LTEMP+9 KILN EQU LTEMP+10 KILTS EQU LTEMP+11 KILDF EQU LTEMP+12 KILSP ABS -TTY00-?LINK $KIL EQU * HED RENUMBER * THE RENUMBER ROUTINE IS CALLED BY A USER TO ASSIGN A NEW * SET OF SEQUENCE NUMBERS TO HIS PROGRAM. RENUMBER MAY * BE GIVEN 2 PARAMETERS--THE STARTING SEQUENCE NUMBER * AND THE INCREMENT. IF EITHER IS NOT GIVEN, IT IS AUTOMATICALLY * SET TO 10. SPC 2 26 ORG LIBRA LDA MLINK+1 ADA .+?PROG-?LINK LDB 0,I CPB PBUFF NULL PROGRAM? JMP LLEND YES JSB RDPRG READ IN USER PROGRAM. * * SET UP INITIAL SEQUENCE NUMBER AND INCREMENT * LDA .+10 DEFAULT STA RENM STA RENN VALUES JSB RENUM PARAMETER? JMP REN1 NO STB RENM YES, RECORD IT CPA .+15B END OF RECORD? JMP REN1 YES CPA .+54B NO--CHECK FOR COMMA JSB RENUM DEMAND SECOND JMP RENF1 NO STB RENN RECORD IT CPA .+15B END OF RECORD? RSS YES JMP RENF1 NO * * TEST FOR WHETHER SEQUENCING WILL OVERFLOW PAST 9999 REN1 LDB PBPTR COMPUTE X] LDA CFLAG X] AND LMSK PROGRAM X] STA RENC AND SZA END-OF- LDB SYMTB PROGRAM STB RENEN POINTER CLA,INA INITIALIZE STATEMENT STA RENNS COUNTER TO ONE. LDB SPROG LDA RENM COMPUTE INITIAL ADA MAXSN SEQUENCE NUMBER - 10000 REN2 INB MOVE TO ADB 1,I NEXT ADB .-1 STATEMENT CPB RENEN DONE? JMP REN3 YES ADA RENN NO, ADD IN SEQUENCE INCREMENT SSA,RSS PAST 9999 ? JMP RENF2 YES ISZ RENNS BUMP STATEMENT COUNTER. JMP REN2 NO REN3 LDB RENC PROGRAM SZB COMPILED? JMP REN9 YES * * LDA RENNS GET # OF STATEMENTS IN PROGRAM. DIV .+32 DIVIDE INTO 32 PARTS. CMB SET B=-1-#OF OVERSIZE GROUPS, SZA,RSS  BUT IF <32 STATEMENTS USE -#. INB INA SET A TO SIZE OF LARGER GROUP. STA RENC1 SET COUNTER. STB RENC2 LDB ERSCA SET INITIAL POINTER TO ERSEC. STB RENSN * * NOW BUILD A TABLE IN ERSEC HAVING TH FOLLOWING STRUCTURE: * ERSEC(0:31) ARE SEQUENCE NOS. OF STATEMENTS WHICH DIVIDE * THE PROGRAM INTO 32 ALMOST EQUAL PARTS. ERSEC(32:63) ARE THE ABSO- * LUTE ADDRESSES OF THESE STATEMENTS. ERSEC(0) IS THE SEQ.NO. OF THE * FIRST STATEMENTS. * LDA SPROG REN15 ADB .+323 STA 1,I SET ABSOLUTE ADDRESS INTO TABLE. LDB 0,I SET SEQUENCE # INTO TABLE. STB RENSN,I ISZ RENSN BUMP POINTERS. * ISZ RENC2 TEST FOR ANY MORE OVERSIZE CLB,RSS GROUPS. CCB COMPUTE SIZE OF NEXT GROUP. ADB RENC1 STB RENC1 CMB STB RENC3 * LDB RENSN TEST FOR DONE. CPB ERS32 JMP REN14 * ISZ RENC3 COMPUTE 1ST STATEMENT IN INA,RSS NEXT GROUP. JMP REN15 ADA 0,I I- ADA .-1 JMP *-5 * * SCAN THROUGH PROGRAM FOR SEQUENCE NUMBER REFERENCES. * FOR EACH ONE, DETERMINE ABSOLUTE ADDRESS OF THE LABEL * AND REPLACE IT WITH THAT ADDRESS. IF LABEL IS NONEXISTENT, * PLACE THE NEGATIVE LABEL IN TO INDICATE THIS FACT. * REN14 LDA SPROG INITIALIZE POINTERS STA RENQ FOR RENSK. ADA .-1 STA RENP * REN4 JSB RENSK GET NEXT STATEMENT REFERENCE. JMP REN9 NONE LEFT. * LDB ERSCA REN7 LDA 1,I FIRST STATEMENT >=SOUGHT STATE.? CMA ADA RENP,I SSA,INA JMP REN5 FOUND ONE. INB CPB ERS32 TEST FOR DONE. RSS JMP REN7JJ * ADB .+313 LDA PBPTR STATEMENT IS IN LAST GROUP. JMP REN6 REN5 ADB .+32 B=>FIRST STATEMENT IN GROUP. SZA,RSS TEST FOR FOUND. JMP REN18 CPB ERS32 TEST FOR NOT THERE.  JMP REN17 33 LDA 1,I SET A=>FIRST WORD BEYOND GROUP. ADB .-1 AT FIRST WORD BEYOND GROUP. REN6 LDB 1,I STA RENC1 SAVE END TEST. LDA RENP,I GET SEQUENCE NUMBER. REN16 INB BUMP STATEMENT POINTER. ADB 1,I ADB .-1 CPB RENC1 TEST FOR DONE. JMP REN17 CPA 1,I TEST FOR FOUND. JMP REN8 JMP REN16 6 * * REN18 LDB 1,I I JMP *+3 3H REN17 LDB RENP,I SET BIT15 FOR ADB BIT15 UNDEFINED LABELS. REN8 STB RENP,I JMP REN4 * * * NOW CHANGE ALL LABELS TO THEIR NEW VALUES. * REN9 LDA SPROG FIRST PROGRAM STATEMENT LDB RENM INITIAL LINE NUMBER REN10 CPA RENEN DONE? JMP REN11 YES STB 0,I NO, RECORD NEW LINE NUMBER ADB RENN INCREMENT TO NEXT LINE NUMBER INA MOVE TO ADA 0,I NEXT ADA .-1 STATEMENT JMP REN10 * * SCAN REFERENCES AGAIN. IF ABSOLUTE ADDRESS IS THERE, * REPLACE BY NEW LABEL. OTHERWISE REPLACE BY OLD LABEL. * REN11 LDA RENC IS PROGRAM SZA COMPILED? JMP REN13 YES LDA SPROG STA RENQ ADA .-1 STA RENP SEEK EMBEDDED REN12 JSB RENSK STATEMENT REFERENCES JMP REN13 NONE LEFT LDA RENP,I IF REFERENCE IS RAL,CLE,SLA,ERA NEGATIVE, CLEAR BIT 15. RSS OTHERWISE, REPLACE IT. LDA 0,I WITH THE NEW STA RENP,I LINE NUMBER JMP REN12 REN13 LDA MLINK+1 SET FLAG TO SAY ADA .-?LINK 'USER PROGRAM TO CORE' STA MAIN JMP LLEND RENF2 LDA .-25 LDB REN0 JMP LIBER REN0 DEF *+1 OCT 5123 LF-S ASC 12,EQUENCE NUMBER OVERFLOW * * RENUM SCANS INPUT BUFFER FOR A NUMBER. IF IT FINDS NOTHING * IT RETURNS WITHOUT SKIPPING.IF IT FINDS A LEGAL LABEL * (1-9999) IT RETURNS WITH IT IN B AND THE NEXT CHARACTER IN A, * AND SKIPS ON THE WAY BACK. IF IT FINDS AN ERROR IT GOES TO RENF. * RENUM NOP CLA INITIALIZE INTEGER STA RENL TO ZERO JSB LCHAR ANY CHARACTERS? JMP RENUM,I NO RENU1 ADA M72B YES, IS IT SSA,RSS < ASCII 72 ? JMP RENU2 NO ADA .+10 YES, SSA > ASCII 57 ? JMP RENU2 NO LDB RENL YES, PREVIOUS ADB M1000 INTEGER SSB,RSS < 1000 ? JMP RENF1 NO LDB RENL YES RBL,RBL MULTIPLY ADB RENL BY RBL 10 ADA 1 ADD IN STA RENL NEW DIGIT JSB LCHAR FETCH NEXT JMP *+3 CHARACTER JMP RENU1 RENU2 ADA .+60B RESTORE ANY LEGAL CHARACTER LDB RENL ISZ RENUM SZB NON-ZERO INTEGER? JMP RENUM,I YES S RENF1 LDA .-14 LDB *+2 2F JMP LIBER R DEF *+1 OCT 5102 LF-B ASC 6,AD PARAMETER RENSK NOP ISZ RENP INCREMENT POINTER LDB RENP STATEMENT CPB RENQ FINISHED? JMP RENS2 YES RENS1 ISZ RENSK NO, RETURN WITH RENP JMP RENSK,I SET TO NEXT REFERENCE STB RENQ UPDATE TO NEXT STATEMENT RENS2 CPB PBPTR PROGRAM EXHAUSTED? JMP RENSK,I YES ISZ RENQ LDB RENQ ISZ RENQ EXTRACT LDA RENQ,I STATEMENT AND OPMSK TYPE ADB 1,I SET (B) TO ADB .-1 NEXT STATEMENT CPA RESOP ? JMP RENS5 YES CPA GOTOP NO, ? JMP RENS3 YES CPA GOSOP NO, ? JMP RENS3 YES CPA IFOP NO, ? RSS YES JMP RENS2-1 NO LDA THNOP LOAD 'THEN' RENS3 IOR INTFL CREATE REFERENCE HEADER STB RENQ SET POINTER TO NEXT STATEMENT AD*B .-1 SET POINTER TO RENS4 STB RENP PROSPECTIVE REFERENCE ADB .-1 PRECEDED BY CPA 1,I REFERENCE HEADER? JMP RENS1 YES LDA OFOP NO, LOAD HEADER FOR CPA 1,I JMP RENS1 JMP RENS4 REFERENCE LIST RENS5 CPA RENQ,I ANY REFERENCE? JMP RENS2-1 NO JMP RENS3 YES RENL EQU LTEMP RENM EQU LTEMP+1 1 RENN EQU LTEMP+2 RENC EQU LTEMP+3 RENP EQU LTEMP+4 RENQ EQU LTEMP+5 RENEN EQU LTEMP+8 RENNS EQU LTEMP+9 RENC1 EQU LTEMP+10 RENC2 EQU LTEMP+11 RENC3 EQU LTEMP+12 RENSN EQU LTEMP+14 RESOP OCT 66000 GOTOP OCT 52000 GOSOP OCT 56000 IFOP OCT 53000 THNOP OCT 75000 $REN EQU * HED NAME * THE NAME ROUTINE ALLOWS A USER TO ASSIGN HIS PROGRAM A NAME. SPC 1 ORG LIBRA SPC 1 LDA MLINK+1 SET POINTER TO NAME. ADA .+?NAME-?LINK STA LTEMP STA LTEMP+3 SAVE NAME POINTER IN LTEMP+3. LDA 0,I SAVE RUN-ONLY BIT IN LTEMP+4. AND BIT15 STA LTEMP+4 LDA .-3 SET COUNTER. STA LTEMP+1 CLA SET FLAG TO SAY STA LTEMP+2 FIRST CHARACTER NAME1 JSB NAMER GET A CHAR. ALF,ALF STA LTEMP,I JSB NAMER GET 2ND CHAR. IOR LTEMP,I STA LTEMP,I ISZ LTEMP BUMP NAME POINTER. ISZ LTEMP+1 TEST FOR DONE. JMP NAME1 LDA LTEMP+3,I GET FIRST WORD OF NAME IOR LTEMP+4 MERGE IN RUN-ONLY BIT. STA LTEMP+3,I JSB NAMER TEST FOR ONLY 6 CHARS. CPA .+40B JMP LLEND * LDA NAM27 LDB *+2 JMP LIBER DEF *+1 OCT 5117 LF-O ASC 13,NLY 6 CHARACTERS ACCEPTED NAM27 DEC -27 * NAMER NOP GETS NEXT NAME CHARACTER. JSB LCHAR LDA .+40B USE BLANK IF END OF LINE. STA 1 HOLD IN B. AND .140 TEST FOR CONTROL CHAR. SZA A CPA .140 JMP NAMER+1 SKIP<:6 CONTROL CHARS. LDA 1 GET IN A AGAIN. CPA .+54B COMMA? JMP NAME2 YES CPA .+42B QUOTE? JMP NAME2 YES LDB LTEMP+2 GET 1ST CHAR FLAG. ISZ LTEMP+2 2 CPA .+44B IF $ AND SZB FIRST CHAR., IT'S ILLEGAL. JMP NAMER,I * LDA NAM29 PRINT ERROR. LDB *+2 JMP LIBER DEF *+1 OCT 5044 LF-$ ASC 14, ILLEGAL AS FIRST CHARACTER * NAME2 LDA LTEMP+4 CLEAR STA LTEMP+3,I NAME JMP ILFER NAM29 DEC -29 9 $NAM EQU * < JY 24280-80026 1534 S 0122 TSB/E SYSTEM              H0101  HED CATALOG * CATALOG PRINTS A LIST OF USER FILES ON THE USER TELETYPE. * IT PRINTS THESE, 5 PER LINE, ALONG WITH THEIR LENGTHS AND * AN INDICATION OF FILES. CATALOG IS IDENTICAL TO LIBRARY, * EXCEPT THAT LIBRARY PRINTS FROM THE A000 FILE DIRECTORY. * LIBRARY MUST FOLLOW CATALOG IN SEQUENCE. * ORG LIBRA * NOP * CAT1 LDA MLINK+1 SET USER ID INTO LTEMP. ADA .+?ID-?LINK LDA 0,I CAT2 STA LTEMP RENDEZVOUS WITH "LIBRARY". * LDA .-5 SET LINE COUNTER STA CATN LDA .+12B OUTPUT LF JSB LOUT LDA .-8 SET TRACK COUNTER TO 8 STA CATTR LDB DIRD0 SET POINTER TO FIRST STB LTEMP+4 DIRECTORY TRACK CAT5 LDA 1,I LOAD LENGTH SZA,RSS IS TRACK EMPTY? JMP CAT3 YES GO TO NEXT TRACK INB LOAD ID LDA 1,I CMA,INA MAKE NEGATIVE ADA LTEMP IS IT THE ONE WERE LOOKING FOR? SSA IF POSITIVE THEN IT IS JMP CAT3 NO TRY NEXT TRACK LDA LIBD YES STA LTEMP+5 SET POINTER TO TRACK * * ENTRIES FOR THE GIVEN ID * MAY BE ON THIS TRACK, SO READ IT IN * ADB .+5+U LDA 1,I LOAD DISC ADDRESS STA CATDA SAVE IT ADB .-6 LDB 1,I LOAD LENGTH STB WORD STB CATDL SAVE LENGTH LDB LIBDI READ IN DIRECTORY TRACK JSB DISCL * * THE TRACK HAS BEEN READ IN * NOW SCAN IT FOR THE CORRECT ID * CAT4 LDB CATDL SAVE END-OF-TRACK POINTER CMB,INB ADB LIBD STB LTEMP+13 CAT10 LDB LTEMP+5 LOAD ENTRY POINT CAT11 CPB LTEMP+13 JMP CAT3 TRACK IS ALL DONE LDA 1,I LOAD ID CPA LTEMP SAME? JMP CAT12 YES - OUTPUT ADB .+8 NEXT ENTRY JMP CAT11 CAT12 STB LTEMP+5 LDA .-3 SET COUNTER FOR STA CATC PRINTING NAME. CAT15 ISZ CATP BUMP P TO NEXT WORD. LDA CATP,I ALHF,ALF GET LEFT CHAR. JSB LOUT PRINT IT. LDA CATP,I OUTPUT IT JSB LOUT ISZ CATC TEST FOR 6 CHARS OUT. JMP CAT15 LDA .+40B OUTPUT A BLANK. JSB LOUT CCB ADB CATP => SECOND WORD OF NAME LDA 1,I AND BIT15 SZA,RSS FILE? JMP CAT20 NO LDA ASCF YES--OUTPUT JMP CAT21 AN 'F' CAT20 EQU * X] LDA .+40B OUTPUT A BLANK CAT21 JSB LOUT LDA CATP BUMP TO PROGRAM LENGTH ADA .+4 STA CATP * * LDA CATP,I GET NUMBER. CMA,INA CLB DIV DVSRS+1 DIV BY 1000. STB CATLN SAVE REMAINDER. ADA ASC00 JSB LOUT LDA CATLN GET HUNDREDS. CLB DIV DVSRS+2 STB CATLN ADA ASC00 JSB LOUT LDA CATLN GET TENS. CLB DIV .+10 STB CATLN ADA ASC00 JSB LOUTU LDA CATLN GET UNITS ADA ASC00 JSB LOUT LDA .+40B OUTPUT A BLANK JSB LOUT LDA .+40B JSB LOUT * ISZ CATP BUMP POINTER TO NEXT ENTRY. LDA CATP ISZ CATN END OF LINE? JMP CAT10 NO JSB RDPRG READ IN USER AREA LDA CATDL STA ERSEC+7 LDA CATDA STA ERSEC+8 LDA CATTR STA ERSEC+9 LDA LTEMP R SET VALUES FOR SUSPEND STA ERSEC+3 LDA LTEMP+4 STA ERSEC+4 LDA LTEMP+5+ STA ERSEC+5 LDB MLINK+1 ADB .+?PROG-?LINK LDA 1,I COMPUTE CMA,INA ADA USE LENGTH STA WORD ADB .+?DISC-?PROG LDA 1,I DISC ADDRESS LDB USE CORE ADDRESS JSB DISCL * LDA .+15B OUTPUT CR. JSB LOUT LDA .+12B OUTPUT LINE FEED JSB LOUT JSB SCHOU,I OUTPUT WAIT. * * READ THE LAST ENTRY OUT OF ERSEC(0:2) AND * PUT IT INTO LTEMP(1:3). * JSB RDPRG READ IN USER PROGRAM LDA ERSEC+3 STA LTEMP RESTORE POINTERS AFTER SUSPEND LDA ERSEC+4 STA LTEMP+4 LDA ERSEC+5 STA LTEMP+5 LDA ERSEC+7 STA CATDL LDA ERSEC+8 STA CATDA LDA ERSEC+9 STA CATTR LDA .-5 RESET LINE COUNTER STA CATN LDA CATDL READ THE DIRECTORY TRACK BACK IN STA WORD LDA CATDA LDB LIBDI JSB DISCL JMP CAT4 CAT3 ISZ CATTR JMP *+4 STILL MORE TRACKS LDA .+15B ALL DONE JSB LOUT JMP LLEND LDB LTEMP+4 POINT TO NEXT BASE PAGE ENTRY ADB .+7 STB LTEMP+488 JMP CAT5 CATP EQU LTEMP+5 CATN EQU LTEMP+7 CATC EQU LTEMP+10 CATLN EQU LTEMP+11 CATDL EQU LTEMP+8 CATDA EQU LTEMP+2 CATTR EQU LTEMP+1 ASCF OCT 106 $CAT EQU * HED LIBRARY * LIBRARY IS IDENTICAL TO CATALOG EXCEPT THAT IT USES A000 * AS ID RATHER THAN THE USER ID. IT MUST BE LOADED IMMEDIATELY * AFTER CATALOG. SPC 1 ORG LIBRA CLA ** ORG CAT1T LDA A000 JMP CAT2 HED DELETE * THE DELETE COMMAND ALLOWS A USER TO DELETE A SECTION OF HIS * PROGRAM IN A SINGLE LINE. THE FORMAT IS: * DELETE-M,N * OR * DELETE-M * WITH THE FIRST FORMAT, ALL LINES FROM M THROUGH N ARE * DELETED. WITH THE SECOND, ALL LINES FROM M TO THE END OF * THE PROGRAM ARE DELETED. SPC 1 ORG LIBRA JSB DELNM GET M. STA DELM LDA DEL99 CPB .+54B IF COMMA FOLLOWS, GO JSB DELNM GET N. STA DELN CPB .+15B NEXT CHAR MUST BE A CR. JMP DEL2 JMP ILFER * DEL2 CMA CHECK FOR M<=N ADA DELM SSA,RSS JMP ILFER * JSB RDPRG READ IN PROGRAM AND JSB DCMPL DECOMPILE IT. * LDA PBPTR LOCATE FIRST LDB DELM STATEMENT TO BE DELETED. rV JSB FNDPS RSS NOP STB MOVED * LDA PBPTR LOCATE FIRST STATEMENT LDB DELN NOT TO BE DELETED. STA MOVES CPB DEL99 JMP DEL3 INB JSB FNDPS RSS NOP STB MOVES * DEL3 LDB MOVES IF DEST=SOURCE, NOTHING DELETED. CPB MOVED JMP DEL4 CMB,INB OTHERWISE, MOVE UP. ADB PBPTR R CMB,INB JSB MOVEW LDA MOVED SET NEW VALUE OF STA PBPTR PBPTR. LDA MLINK+1 TELL SCHEDULER THAT ADA .-?LINK PROGRAM IS IN CORE. STA MAIN JMP LLEND * DEL4 LDA MLINK+1 ADA .-?LINK STA MAIN LDA .-17 LDB *+2 JMP LIBER DEF *+1 OCT 5116 LF-N ASC 7,OTHING DELETED OCT 6400 CR * * DELNM READS A NUMBER FROM THE USER'S BUFFER. IN CASE OF ERROR IT * GOES TO DEL1. OTHERWISE IT RETURNS WITH A=# AND B=NEXT CHAR. * DELNM NOP CLA INITIALIZE TO 0. DEL7 EQU * B] STA DELT JSB LCHAR GET A CHARACTER B] NOP STA 1 SAVE IN B. ADA M72B TEST FOR DIGIT. SSA,RSS JMP DEL6 ADA .+10 SSA JMP DEL6 LDB DELT B] ADB DELMX B] SSB,RSS B] JMP ILFER NUMBER TOO LARGE B] LDB DELT MPY OLD VALUE BY 10. RBL,RBL ADB DELT RBL ADA 1 ADD IN NEW. * B] JMP DEL7 LOOP. * DEL6 LDA DELT GET VALUE SZA FAIL IF ZERO. JMP DELNM,I JMP ILFER * DELM EQU LTEMP P DELN EQU LTEMP+1 DELT EQU LTEMP+2 DEL99 DEC 9999 DELMX DEC -1000 B] $DEL EQU * HED TIME * THE TIMEM COMMAND PRINTS THE USER'S CONSOLE TIME DURING THIS * SESSION AND HIS TOTAL CONSOLE TIME TO DATE. SPC 1 ORG LIBRA A SPC 1 LDA .-16 OUTPUT START OF LDB TIM1 MESSAGE. JSB LTYPR * LDA MLINK+1 COMPUTE LOC OF USER'S ADA .+?TIME-?LINK STARTING TIME. DLD 0,I GET STARTING TIME. CMA,INA MAKE NEGATIVE AND CMB,INB SAVE IN TIMT. DST TIMT DLD DATIM GET CURRENT TIME. ADA TIMT COMPUTE DIRRERENCES: A=# OF HRS; CLE B=# OF 100 MS UNITS. ADB TIMT+1 E=-SIGN OF B. STB TIMT+1 SAVE UNITS. MPY D60 CHANGE HRS TO MINS. STA TIMT LDA TIMT+1 GET UNIT COUNT. IF E=0 SEZ,RSS THEN COUNT IS NEGATIVE. CCB DIV D600 CHANGE TO MINS. ADA TIMT ADD IN PREVIOUS AMT. STA TIMT JSB TIMPR PRINT IT. * LDA .-14 OUTPUT SOME MORE LDB TIM2 CHARACTERS. JSB LTYPR * LDA MLINK+1 GET USER ADA .+?ID-?LINK LDA 0,I ID STA ID JSB FIDT SEARCH IDT * ADB .+5 GET TIME TO DATE. LDA 1,I ADA TIMT ADD IN CURRENT TIME. JSB TIMPR PRINT IT. * LDA .+15B OUTPUT CR. JSB LOUT JMP LLEND TERMINATE. * TIM1 DEF *+1 OCT 5103 LF-C ASC 7,ONSOLE TIME = TIM2 DEF *+1 ASC 7, TOTAL TIME = TIM3 DEF *+1 ASC 5, MINUTES. . * * TIMPR OUTPUTS THE INTEGER IN A TO THE CONSOLE. * TIMPR NOP SZA,RSS SPECIAL CASE OF ZERO. JMP TIMP1 STA TIMNM SAVE ORIGINAL NUMBER. LDB TIMXK GET INITIAL DIVISOR OF 10000. STB TIMDV TIMP4 CLB COMPUTE A DIGIT. DIV TIMDV STB TIMN SAVE REMAINDER. CPB TIMNM IF REMAINDER=ORIGINAL NUMBER JMP TIMP2 THIS IS A LEADING ZERO. ADA .+60B OUTPUT JSB LOUT DIGIT. TIMP2 LDA TIMDV PRODUCE NEW DIVISOR. CLB DIV .+10 STA TIMDV SZA,RSS DONE IF DIVISOR IS ZERO. JMP TIMP3 LDA TIMN GET # AGAIN AND LOOP. JMP TIMP4 TIMP1 LDA .+60B OUTPUT SINGLE 0. JSB LOUT TIMP3 LDA .-9 PRINT LDB TIM3 "MINUTES." JSB LTYPR * JMP TIMPR,I * TIMXK DEC 10000 TIMN EQU LTEMP TIMT EQU LTEMP+1 TIMNM EQU LTEMP+3 TIMDV EQU LTEMP+4 $TIM EQU * * HED USER DISC COMMAND [X] * [X] * THE DISC COMMAND IS ANALOGOUS [X] * TO THE TIME COMMAND, IT OUTPUTS [X] * THE TOTAL NUMBER OF SECTORS [X] * ALLOWED AND THE NUMBER USED. [X] * [X] SPC 2 [X] ORG LIBRA [X] SPC 1 [X] LDB MLINK+1 SET ID ADB .+?ID-?LINK LDA 1,I FOR STA ID FIDT LDA .-16 OUTPUT [X] LDB DU1 "DISC ALLOWED =" [X] JSB LTYPR [X] JSB FIDT GET ID ENTRY ADB .+6 [X] STB LTEMP+2 [X] LDA 1,I GET DISC ALLOWED [X] JSB DUNM CONVERT + OUTPUT [X] LDA .-22 OUTPUT [X] LDB DU2 MIDDLE PORTION [X] JSB LTYPR [X] LDB LTEMP+2 [X] INB [X] LDA 1,I [X] JSB DUNM OUTPUT DISC USED [X] LDA .-8 OUTPUT FINAL [X] LDB DU3 PORTION OF MESSAGdE [X] JSB LTYPR [X] LDA .+15B TERMINATE [X] JSB LOUT [X] JMP LLEND [X] * [X] * SUBROUTINE TO CONVERT TO [X] * ASCII AND OUTPUT IT. [X] * [X] DUNM NOP [X] SZA,RSS ZERO? [X] JMP DUNM1 YES [X] STA LTEMP [X] LDB DIDV DEC 10000 [X] STB LTEMP+3 SAVE DIVISOR [X] DUNM4 CLB GET A DIGIT [X] DIV LTEMP+3 [X] STB LTEMP+1 [X] CPB LTEMP LEADING ZERO? [X] JMP DUNM2 YES [X] ADA .+60B MAKE ASCII [X] JSB LOUT OUTPUT DIGIT [X] DUNM2 LDA LTEMP+3 FORM NEXT [X] CLB DIVISOR [X] DIV .+10 [X] STA LTEMP+3 [X] SZA,RSS IF ZERO THEN DONE [X] JMP DUNM,I DONE [X] LDA LTEMP+1 LOAD REMAINDER [X] JMP DUNM4 [X] DUNM1 LDA .+60B ZERO! [X] JSB LOUT [X] JMP DUNM,I [X] * [X] * [X] DIDV DEC 10000 [X] DU1 DEF *+1 [X] OCT 5104 [X] ASC 7,ISC ALLOWERD = [X] DU2 DEF *+1 [X] ASC 11, SECTORS DISC USED = [X] DU3 DEF *+1 [X] ASC 4, SECTORS [X] $UDIS EQU * [X] HED MESSAGE * THE MESSAGE COMMAND IS USED TO SEND * A MESSAGE TO THE CONSOLE ORG LIBRA LDA MSQCT ALREADY A MESSAGE IN QUEUE? SZA JMP MESS1 NO * LDA MSQP1 LOAD BUFFER POINTER INA LDB CRLF LOAD CR-LF AND STB A,I STORE IN BUFFER INA STA MSQP2 SET POINTER LDA MLINK+1 GET THE USER NUMBER ADA .+?TNUM-?LINK LDA 0,I INTO A REGISTER ALF,ALF CLB DIV .+10 DIVIDE BY 10 ALF,ALF IOR 1 IOR ASC00 CONVERT TO ASCII STA MSQP2,I STORE IT IN BUFFR ISZ MSQP2 LDA ASCBB STORE TWO BLANKS STA MSQP2,I I LDB MSQP2 TURN BUFFER INB POINTER INTO BLS CHARACTER STB MSQP2 POINTER LDA .+6 STA MSQP1,I SET LENGTH CLA STA LCHR2 PREVENT DEBLANKING JSB LCHAR GET A CHAR JMP MESER NONE? - ERROR MESS2 LDB .+74 IS MESSAGE TOO LONG? CPB MSQP1,I JMP MESS4 YES - STOP HERE JSB MESCH STORE CHAR JSB LCHAR NEXT CHAR JMP MESS4 ALL DONE JMP MESS2 MESS4 LDA .+12B LF JSB MESCH LDB MESWK RESTORE LCHAR STB LCHR2 ISZ MSQCT INC. MESSAGE FLAG ISZ MSQCT SET MESSAGE COUNT =2 JMP LLEND * * MESER LDB MESWK FIX LCHAR STB LCHR2 JMP ILFER * MESS1 LDA .-14 LDB *+2 JMP LIBER DEF *+1 OCT 5103 ASC 6,ONSOLE BUSY * * ROUTINE TO STORE CHARS INTO BUFFER * MESCH NOP LDB 0 SET-UP FOR FOLLO jWING (D) ADB M32 IS THIS CHARACTER A (D) SSB,RSS NON-PRINTING ONE? (D) JMP *+4 NO,PRINTING (D) CPA BELL YES, IS IT A BELL (D) JMP *+2 RING THE BELL (D) JMP MESCH,I NON OF THE ABOVE, EXIT (D) LDB MSQP2 LOAD CHAR POINTER CLE,ERB TURN INTO WORD POINTER SEZ,RSS UPPER/LOWER? ALF,ALF UPPER SEZ IOR B,I LOWER STA B,I STORE WORD ISZ MSQP2 ADVANCE POINTER ISZ MSQP1,I AND COUNTER JMP MESCH,I * * MESWK JMP LCHR1 MSQP2 BSS 1 BELL OCT 7 (D) $MESS EQU * rr HED PROTECT T * THE PROTECT COMMAND CAN BE USED BY A000 TO PROTECT PROGRAMS AND * FILES FROM BEING READ BY OTHER USERS. ALL THE COMMAND DOES IS TO * SET BIT 15 OF WORD 1 IN THE DIRECTORY ENTRY FOR THE PROGRAM. SPC 1 1 ORG LIBRA SPC 1 LDA MLINK+1 GET USER'S ID. ADA .+?ID-?LINK LDA 0,I CHECK FOR PROPER CPA A000 USER. JMP PRO1 * * LDA .-19 LDB *+2 JMP LIBER DEF *+1 OCT 5120 LF-P- ASC 9,RIVILEGED COMMAND * PRO1 STA LTEMP PLACE ID INTO LTEMP. LDA DLTEM SET POINTER FOR PROGRAM NAME. STA PROC LDA .-3 SET UP COUNTER. STA PRODO JSB LCHAR GET FIRST CHAR. JMP PRO2 ERROR IF NONE. PRO3 ALF,ALF SAVE CHARACTER IN ISZ PROC TABLE. STA PROC,I JSB LCHAR GET RIGHT CHAR. LDA .+40B IF END CHANGE TO BLANK IOR PROC,I STA PROC,I JSB LCHAR GET NEXT CHAR. LDA .+40B ISZ PROD DO WE WANT IT? JMP PRO3 YES. CPA .+40B MUST BE A BLANK. JMP PRO4 * PRO2 LDA .-13 LDB *+2 JMP LIBER DEF *+1 OCT 5111 LF-I ASC 6,NV <:6ALID NAME * PRO4 JSB DLOOK SEARCH FOR PROG. IN DIRECTORY. JMP PRO6 FOUND. * LDA .-16 LDB *+2 JMP LIBER DEF *+1 1 OCT 5116 LF-N ASC 7,O SUCH PROGRAM * PRO6 LDB LTEMP+5 SET PROTECT BIT. INB LDA 1,I PRO7 IOR BIT15 STA 1,I * LDB LTEMP+4 WRITE OUT DIRECTORY. LDA 1,I I STA WORD ADB .+6 LDA 1,I LDB LIBD JSB DISC,I JMP LLEND PROD EQU LTEMP+6 6 PROC EQU LTEMP+7 7 $PRO EQU * a< KZ 24280-80027 1534 S 0122 TSB/E SYSTEM              H0101  HED UNPROTECT * UNPROTECT IS IDENTICAL TO PROTECT EXCEPT THAT IT CLEARS THE * PROTECT BIT INSTEAD OF SETTING IT. ORG LIBRA LDA MLINK+1 ORG PRO7 ELA,CLE,ERA HED OPEN * THE OPEN COMMAND IS A USER FUNCTION WHICH CAUSES THE SYSTEM TO * CREATE ROOM FOR A DATA FILE. THE FORMAT FOR THE COMMAND IS: * * OPEN-FILENAME,LENGTH * * THE FILENAME IS SUBJECT TO ALL THE RULES OF PROGRAM NAMES. THE * LENGTH IS A DECIMAL INTEGER FROM 1 TO 128 INDICATING THE FILE * LENGTH IN SECTORS. SPC 2 ORG LIBRA LDA MLINK+1 GET ID AND STORE ADA .+?ID-?LINK IN LTEMP. LDA 0,I STA ID STA LTEMP LDA DLTEM SET UP POINTER FOR STA OPEP NAME. LDA .-3 SET UP COUNTER. STA OPEC CLA SET FLAG SAYING FIRST STA OPEF CHAR. OPE1 JSB OPER GET A CHARACTER. ALF,ALF STORE IN ISZ OPEP NAME AREA. STA OPEP,I JSB OPER GET RIGHT CHAR. IOR OPEP,I MERGE IN. STA OPEP,I ISZ OPEC TEST FOR ANY MORE. JMP OPE1 * JSB OPER NEXT CHARACTER MUST BE CPA .+40B BLANK. JMP OPE2 JMP ILFER OUTPUT ILLEGAL FORMAT MESSAGE. * OPER NOP GET NEXT CHAR FOR NAME. LDA OPEF TEST TO SEND BACK BLANK. CPA .+40B JMP OPER,I OPER1 JSB LCHAR GET NEXT CHAR. JMP ILFER FAIL IF NONE. LDB 0 SAVE IN B. AND .140 SKIP CONTROL CHARS. SZA CPA .140 JMP OPER1 LDA OPEF GET 1ST CHAR. FLAG. SZA TEST FOR 1ST CHAR. JMP OPER2 NOT. CPB .+54B TEST FOR COMMA OR $ JMP ILFER CPB .+44B JMP ILFER OPER3 LDA 1 RETURN CHAR IN B ISZ OPEF JMP OPER,I OPER2 CPB .+54B COMMA TEST RSS JMP OPER3 LDA .+40B STA OPEF JMP OPER,I * * GET FILE LENGTH. * OPE2 -CLA INITIALIZE # TO 0 STA OPEF JSB LCHAR GET A CHAR. JMP OPE3 DONE ADA M72B DIGIT TEST. SSA,RSS JMP ILFER ADA .+10 SSA JMP ILFER STA OPEC SAVE DIGIT. LDA OPEF MPY .+10 BUILD NEW CLE NUMBER. ADA OPEC SEZ,SZB,RSS OVERFLOW CHECK. JMP OPE2+1 JMP ILFER * OPE3 LDA OPEF TEST FOR LEGAL VALUE. CMA,CLE,INA,SZA,RSS JMP ILFER ADA .+48 TOO BIG? SEZ,RSS JMP ILFER * LDA OPEF CMA,INA ASL 7 CONVERT TO WORDS X] STA OPEFN JSB FIDT READ ID TRACK ADB .+6 TEST FOR USER OUT OF CORE. LDA 1,I CMA,CLE INB ADA 1,I ADA OPEF SEZ,RSS JMP OPE4 * LDB *+3 LDA .-16 JMP LIBER DEF *+1 OCT 5106 ASC 7,ILE SPACE FULL * * SEARCH ADT FOR SPACE TO PUT THE FILE. * * OPE4 LDA OPEF MAKE THE REQUIRED DISC SPACE CMA,INA NEGATIVE FOR FDISC STA OPEF SAVE NEGATIVE LENGTH JSB FDISC SEARCH FOR DISC SPACE LDB LTEMP+8 LOAD ADT POINTER STB OPEC X] * LDA LTEMP+2 SET T IOR BIT15 FILES STA LTEMP+2 BIT JSB DLOOK SEARCH FOR ENTRY. JMP OPE8 ENTRY FOUND--ILLEGAL. OPE11 EQU * JSB FDIRC COMPUTE DIRECTORY LDA LTEMP SET UP TO LOOK [X] IOR BIT15 [X] STA LTEMP FOR ONLY 1 TRACK [X] LDA LTEMP+4,I SZA,RSS IF TRACK IS EMPY THEN TRY JMP OPE53 FIRST TRACK * LDA DLTEM X] LDB LTEMP+4 X] INB X] JSB DIRCM X] JM[P OPE53 X] OPE54 JSB DLOOK X] NOP * * LDB LTEMP+4,I IF DIRECTORY TRACK IS CPB O4560 FULL, DO (D) JMP OPE98 OVERLAY. * CMB SET UP SOURCE ADB LIBD FOR MOVE. STB MOVES ADB .+8 SET UP DESTINATION. STB MOVED CMB COMPUTE LENGTH. ADB .+16 ADB LTEMP+5 JSB MOVEB * LDA LTEMP CLEAR BIT 15 OF ID [X] ELA,CLE,ERA [X] STA LTEMP [X] LDA DLTEM MOVE 4 WORDS IN FOR STA MOVES NEW ENTRY. LDA LTEMP+5 ADA .+8 STA MOVED LDB .-4 JSB MOVEW JSB DATE STORE DATE IN ALSO. ISZ MOVED STA MOVED,I ISZ MOVED LDB OPEFN N LDA OPEDS DST MOVED,I * LDA LTEMP+4,I ADJUST DIRECTORY ADA .-8 LENGTH. STA LTEMP+4,I STA WORD LDA LTEMP+4 WRITE DIRECTORY INA BACK OUT. STA MOVED ADA .+5 LDA 0,I LDB LIBD STB MOVES JSB DISCL * LDB .-4 RESET JSB MOVEW DIREC. * LDB OPLOV STB WORD LDB LIB LOAD INB OVERLAY LDA 1,I LDB #LIBI JMP OPOVL * OPE53 LDB LTEMP+4 X] ADB .-7 X] STB LTEMP+4 X] INB X] LDA DLTEM X] JSB DIRCM X] JMP OPE55 X] JMP OPE54 X] JMP OPE54 X] OPE55 LDA LIBD X] ADA .-f8 X] STA LTEMP+5 X] LDB LTEMP+4 X] LDA 1,I MAKE SURE THE CORRECT DIREC [X] STA WORD TRACK IS IN CORE [X] ADB .+6 BEFORE WE CONTINUE [X] LDA 1,I [X] LDB LIBDI [X] JSB DISCL [X] JMP OPE54+2 X] * OPE98 LDA M250 STA WORD LDA OPEOV,I LDB #LIBI JMP LIBRA+252 * OPEDS EQU LTEMP+6 OPEFN EQU LTEMP+7 OPEF EQU LTEMP+13 OPEDF EQU LTEMP+12 OPEC EQU LTEMP+9 OPEP EQU LTEMP+10 OPE8 LDA .-16 LDB *+2 JMP LIBER DEF *+1 OCT 5104 ASC 7,UPLICATE ENTRY * OPEOV DEF SAVO+COM6-COM3 OPLOV ABS LIBRA-$$OPE M250 DEC -250 O4560 DEC -4560 (D) * ORG LIBRA+250 OPOVL JSB DISCL LOAD JMP LIBRA OVERLAY ORG LIBRA+252 JSB DISCL JMP LIBRA JMP OPE11 NORMAL RETURN. JMP FD.1+7 SYSTEM OVERLOAD [X] $OPE EQU * HED OPEN OVERLAY ORG LIBRA * JSB FIDT ADB .+7 LDA OPEF ADJUST AMOUNT OF DISC USED. CMA,INA MAKE OPEF POSITIVE STA OPEF ADA 1,I STA 1,I * LDA IDTRA,I DUMP LDB LIBD IDT JSB DISCL BACK LDA ADLEN TO DISC STA WORD LOAD ADT FROM LDA ADLOC DISC LDB LIBDI JSB DISCL LDB OPEDF GET -# OF SECTORS LEFT IN ADT. LDA OPEF GET # OF SECTORS USED. SZB TEST FOR ANY PART LEFT [X] JMP OPE9 NON EMPTY ADT ENTRY. * LDB OPEC SQUEEZE OUT ADT ENTRY. STB MOVED ADB .+2 STB MOVES ADB MLIBD D ADB IWORD JSB MOVEW * ISZ ADLEN REDUCE ADLEN BY 2. ISZ ADLEN ISZ WORD REDUCE TRANSFER LENGTH ISZ WORD BY 2. JMP OPE10 * OPE9 ADA OPEC,I MODIFY ADT ENTRY. DST OPEC,I * OPE10 LDA ADLOC WRITE ADT BACK TO DISC LDB LIBD JSB DISCL * LDB .-24 WRITE -1 (EOF) IN EACH OF 24 X] STB OPEC SECTORS. LDB LIBD CCA STA 1,I ADB B200 X] ISZ OPEC JMP *-3 * LDA OPEDS A=FILE ADDRESS. LDB OPEF GET # OF SECTORS. ADB .-25 IS FILE LONGER SSB THAN 24? JMP OPO1 NO CMB YES - FIRST TAKE CARE OF EXTRA BLF,BLF WRITE EOFS RBR TO DISC STB WORD LDB LIBD JSB DISCL LDA OPEDS COMPUTE NEW ADA OPEF DISC ADDRESS ADA .-24 LDB .+24 RSS OF THE REST * OPO1 LDB OPEF WRITE EOFS CMB,INB BLF,BLF RBR STB WORD LDB LIBD JSB DISC,I CLF 0 ISZ LIB OPEN NOT IN CORE STF 0 JMP LLEND TERMINATE * $$OPE EQU * HED LENGTH * THE LENGTH COMMAND CAUSES THE LENGTH OF THE USER'S PROGRAM TO * BE PRINTED ON THE USER'S CONSOLE. SPC 1 ORG LIBRA JSB RDPRG READ IN USER PROGRAM. LDB MLINK+1 ADB .+?PROG-?LINK LDA 1,I GET POINTER TO END OF STA LTEMP PROGRAM. CPA PBUFF IF NULL PROGRAM GO TO PRINTOUT JMP LEN1 SECTION. ADB .-?PROG+?MASK [X] LDA CFLAG TEST FOR COMPILED [X] AND 1,I [X] ADB .-?MASK [X] SZA,RSS JMP LEN1 USER NOT COMPILED. LDA SYMTB USE SOURCE PROGRAM POINTER RSS LEN1 LDA LTEMP CMA COMPUTE LENGTH IN WORDS. ADA SPROG CMA SSA IF NEGATIVE, CLA SET TO ZERO STA LTEMP * * LDA .+12B OUTPUT LINE FEED. JSB LOUT LDA .-2 SET COUNTER. STA LTEMP+1 LDA LTEMP GET FIRST 2 DIGITS IN A. CLB LAST 2 IN B. DIV .100 STB LTEMP LEN2 CLB DIV .+10 GET 2 DIGITS. STB LTEMP+2 SAVE 2ND. ADA .+60B B JSB LOUT PRINT 1ST LDA LTEMP+2 ADA .+60B PRINT JSB LOUT 2ND. LDA LTEMP GET 2ND PAIR. ISZ LTEMP+1 TEST FOR DONE. JMP LEN2N LDA .-6 PRINT " WORDS". LDB *+2 JMP LIBER DEF *+1 1 ASC 3, WORDS $LEN EQU * HED ECHO COMMAND * * * ECHO-OFF SETS THE TERMINAL TO HALF DUPLEX * MODE. * ECHO-ON RETURNS THE TERMINL TO FULL DUPLEX * SPC 2 ORG LIBRA JSB LCHAR GET CHARACTER JMP ILFER ILLEGAL FORMAT ALF,ALF ROTATE IT UP STA ECHR SAVE IT JSB LCHAR GET NEXT CHAR JMP ILFER IOR ECHR ADD ON PREVIOUS CHAR LDB MLINK+1 1 ADB .+?RPRM-?LINK CPA ECON ECHO-ON? JMP ECHO1 YES CPA ECOF ECHO-OFF? JMP ECHO2 YES JMP ILFER ILLEGAL FORMAT * ECHO1 LDA 1,I LOAD RECEIVE PARAM. IOR ECOBT ADD ON ECHO BIT STA 1,I RESTORE RECEIVE PARAM JMP ECHO3 OUTPUT IT * ECHO2 LDA NECHO REMOVE ECHO BIT AND 1,I FROM RPRM STA 1,I * * OUTPUT RECEIVE PARAMETER * ECHO3 ADB .+?TNUM-?RPRM LDB B,I LOAD TELETYPE NUMBER JSB MUXR,I OUTPUT RECEIVE PARAMETER JMP LLEND TERMINATE * ECOBT EQU BIT12 ECHR EQU LTEMP ECON ASC 1,ON ECOF ASC 1,OF $ECH EQU * HED REPORT * THE REPORT COMMAND CAUSES IDT INFO TO BE LISTED ON THE SYSTEM * TELETYPE. EACH USER ID IS LISTED, ALONG WITH THE DISC AND TIME * USED TO DATE. DISC STORAGE IS LISTED IN WORDS, AND TIME IS LISTED * IN MINUTES. SPC 2 ORG LIBRA LDA IDTTA SET ID TRACK POINTER ADA .+3 STA REPTA LDA IDTRL ADA .+3 STA REPTL POINTER * LDA LIBD SET WORD POINTER STA REPID LDA T35B1 TO PRINT STA MOVED BUFFER. LDA REPHD D STA MOVES Sx LDB REP29 JSB MOVEW LDB IDLEN USE WORD 35 OF THE BUFFER TO BRS,BRS BRS S STB REPLN COUNT ID ENTRIES. LDA REP57 WE WILL PRINT 57 CHARACTERS. SZB IF ID TABLE IS LENGTH >0, GO TO JMP REP1 PRINT AND SUSPEND. REP2 LDB T35B1 OTHERWISE, JUST PRINT THE JMP LEND2 HEADING AND TERMINATE. * REP1 LDB T35B1 PRINT AND JSB T35SP SUSPEND. LDA .-3 SET COUNTER STA REPCT FOR THREE ENTRIES LDA T35B1 STA REPBF * REP8 LDA REPTL,I READ ID TRACK STA WORD LDA REPTA,I LDB LIBDI I1 JSB DISCL LDA REPTL,I COMPUTE CMA,INA END ADA LIBD POINTER STA REPND * * * * * NOW CONVERT ENTRIES INTO THE BUFFER. REPID POINTS AT THE ENTRY, * REPBF POINTS TO THE OUTPUT BUFFER. * * REP4 LDA REPID,I GET ID. AND B1777 MASK NUMBER PART. CLB GET #/100 IN A, # MOD 100 IN B. DIV .100 STB REPT SAVE LAST 2 DIGITS. STA 1 COMBINE FIRST DIGIT WITH LDA REPID,I LETTER. ARS,ARS AND REPMS ADA 1 ADA REPFX STA REPBF,I STORE ASCII LETTER&DIGIT IN BUF. ISZ REPBF LDA REPT CONVERT LAST 2 DIGITS JSB REPNM AND STORE IN BUFFER. STA REPBF,I ISZ REPBF MOVE REPBF TO POINT AT TIME AREA LDA REPID SET REPID TO POINT ADA .+5 TO USERS TIME. STA REPID LDA REPID,I GET USERS TIzJME. JSB REPTR CONVERT INTO BUFFER. ISZ REPID POINT TO DISC USED ISZ REPID AND LDA REPID,I KK JSB REPTR CONVERT IT. ISZ REPBF MOVE BUFFER POINTER UP FOR ISZ REPBF NEXT ENTRY. ISZ REPID MOVE ID POINTER ALSO. ISZ REPCT ALL DONE? RSS NO JMP REP5 YES? * ISZ REPLN ANY MORE ID'S? RSS YUP JMP REP6 NO - TERMINATE LDA REPID END OF ID TRACK? CPA REPND DT JMP REP7 YES JMP REP4 * REP6 LDA REPBF COMPUTE ADA REPTT # OF CHARS ALS TO OUTPUT JMP REP2 TERMINATE REP5 ISZ REPLN ALL DONE? RSS NO JMP REP6 YUP LDA REPID END-OF-TRACK? CPA REPND JMP REP7 LDA REP56 JMP REP1 NO REP7 LDA REPTA YES, SET POINTERS ADA .-1 TO NEXT STA REPTA TRACK LDA REPTL ADA .-1 STA REPTL LDA LIBDB STA REPID -- LDA REPCT SZA JMP REP8 LDA REP56 JMP REP1 * REPNM NOP CONVERT A #<100 TO ASCII. CLB GET 1ST DIGIT IN A. DIV .+10 2ND IN B. ALF,ALF PACK AND ADA 1 ADD ON ASCII ADA ASC00 BITS. JMP REPNM,I * REPTR NOP TRANSLATE A 5-DIGIT NUMBER CLB INTO THE BUFFER. DIV DVSRS CONVERT FIRST ADA REPB0 DIGIT. STA REPBF,I PUT IN ISZ REPBF BUFFER. LDA 1 NOW GET THE REST. CLB DIV .100 COMPUTE AS 2 2-DIGIT #S. STB REPK SAVE 2ND HALF. JSB REPNM CONVERT AND STORE STA REPBF,I FIRST PART. ISZ REPBF F LDA REPK SAME WITH JSB REPNM 2ND PART. STA REPBF,I ISZ REPBF JMP REPTR,I * REPHD DEF *+1 OC640T 5040 ASC 20,ID TIME DISC ID TIME DISC ASC 8,ID TIME DISC REPLN EQU T35BF+35 REPK EQU LTEMP REPCT EQU LTEMP+1 REPBF EQU T35BF+34 REPID EQU T35BF+333 REPT EQU T35BF+32 REPTL EQU T35BF+31 REPTA EQU T35BF+30 REPTT ABS -T35BF-2-l REPND NOP REPMS OCT 17400 REPFX ASC 1,@0 REPB0 ASC 1, 0 REP29 DEC -29 REP57 DEC 57 REP56 DEC 56 $REP EQU * qk6 L Z 24280-80028 1534 S 0122 TSB/E SYSTEM              H0101  HED DIRECTORY * THE DIRECTORY COMMAND IS A SYSTEM COMMAND WHICH CAUSES THE * CONTENTS OF THE DISC DIRECTORY TO BE PRINTED ON THE SYSTEM * CONSOLE. THE FORMAT OF THE PRINTOUT IS AS FOLLOWS: * * * * * THE PURGE DATE IS PRINTED AS A 3-DIGIT INTEGER INDICATING THE DAY * OF YEAR AND A 2-DIGIT INTEGER INDICATING THE YEAR. THE DISC * ADDRESS CONSISTS OF 3 INTEGERS INDICATING DISC, TRACK, AND SECTOR. * THESE ARE ALL PRINTED IN DECIMAL. * TYPING DIR-ID WILL START THE LISTING WITH THAT ID. SPC 2 26 ORG LIBRA SPC 1 CLA STA CID CLEAR CURRENT ID STA DID D JSB T35CH,I S GET CHARACTER JMP DIRNI COMPLETE LIST ADA M72B DIGIT? SSA,RSS COULD BE JMP DIR.1 NO - GET ID ADA .+10 SSA JMP LFRER INVLAID CHARACTER LDB 0 SAVE DIGIT ADB .-4 TOO BIG? SSB,RSS JMP LFRER YES - ERROR * CLB DIGIT ID OK STB DSUBF SET FLAG TO INDICATE ONLY STA DSUBC 1 SUBCHANNEL MPY .+14 COMPUTE B.P. ADA DIRD0 CIRECTORY JMP DIR.2 DIR.1 CCA BACKSPACE TTY ADA T35CP STA T35CP P JSB GETID GO TRY FOR ID JMP LFRER NO CR AT END LDA ID STA DID CMA,INA STA DMID CCB LDA A000 MASTER USER? STA DSUBF SET FLAG FOR ALL DISCS * DIR11 INB INCREMTN SUBCHANNEL STB DSUBC SAVE SUBCHANNEL CPB .+4 DONE? JMP LEND YES STB 0 SUBCHANNEL IN A MPY .+14 GET BP DIRECTORY ADA DIRD0 DIR.2 LDB CID GET CURRENT ID SZB JMP DR.17 * * OUTPUT HEADER * STA DPNT SAVE POINTER LDA DIRHD LOAD ADDRESS OF HEADING STA MOVES LDA T35B1 MOVE HEADING INTO TTY35 BUF STA MOVED LDB .-23 JSB MOVEW LDA .+45  LDB T35B1 JSB T35SP OUTPUT HEADING AND SUSPEND RSS * DR.17 STA DPNT SAVE POINTER LDB .-2 SET FLAG TO CHECK BOTH TRACKS LDA DID ID? SZA IF ID=0 THEN BOTH TRACKS INB NO - JUST CHECK ONE TRACK STB DTFLG LDB DPNT SZA,RSS IF ALL IDS TO BE CHEKED THEN JMP DIR.3 SKIP THE TEST ADB .+7 LDA 1,I LOAD LENGTH INB SZA,RSS IF ZERO, THEN NEXT TRACK JMP DIR.4 LDA 1,I GET ID CPA DID SAME? JMP DR.18 ADA DMID NO, SUBTRACT REQUESTED ID DIR.4 ADB .-8 BACK TO FIRST TRACK SSA A ADB .+7 TRACK 2 STB DPNT SAVE B.P. ENTRY * * B REG POINTES TO B.P. DIREC. ENTRY TO BE SCANNED * DIR.3 LDA 1,I LOAD LENGTH SZA,RSS ZERO? JMP DIR.5 YES - NO CHECK STA WORD SET LENGTH ADB .+6 LDA 1,I LOAD DISC ADDRESS LDB LIBDI INPUT DIRECTORY TRACK JSB DISCL * * * * LDA DPNT,I LOAD DIRECTORY LENGTH CMA,INA SET END OF TRACK ADA LIBD POINTER STA DEND LDB LIBD DIR.9 LDA DID ID CHECK (ARE YA 21 KID) SZA,RSS JMP DIR.6 NO (THROW 'IM OUT) * CPA 1,I RIGHT ID? JMP DIR.6 YES DIR.8 ADB .+8 NEXT ENTRY CPB DEND ALL DONE? JMP DIR.5 YES - CHECK IF MORE JMP DIR.9 NO - NEXT ENTRY * * THE ENTRY IS POINTERED TO BY THE B REGIRSTER * DIR.6 STB DIRAD SAVE ADDRESS LDA 1,I LOAD ID SZA,RSS IF THIS IS A DUMMY ENTRY THEN SKIP JMP DIR.8 CPA .-1 JMP DIR.8 8 CPA CID IS IT CURRENT? JMP DIR15 YES - DON'T OUTPUT IT STA CID NO - SET IT AND B1777 GET # CLB DIV .100 FIRST DIGIT IN A STA T35BF SAVE IT LDA DIRAD,I RELOAD ID RAR,RAR GET LETTER AND DIRMS PART OF ID IOR T35BF F ADA DIRFS MAKE ASCII STA T35BF LDA 1 GET REMAINER IN A JSB DIRNM CONVERT TOA ASCII STA T35BF+1 ISZ DIRAD POINT TO NAME LDA BB STA T35BF+2 STORE BLANKS DIR16 DLD DIRAD,I GET NAME DST T35BF+3 SAVE IT IN THE BUFFER LDB DIRAD ADB .+2 LDA 1,I STA T35BF+5 LDA BBll STA T35BF+6 6I * * ISZ DIRAD POINT TO DATE ADB .+2 POINT TO DATE STB DIRAD RESOTRE POINTER LDA DIRAD,I GET DATE AND B777 GET DAY CLB DIV .+10 A=1ST TWO DIGITS BLF,BLF B=3RD ADB DIR0S MAKE ASCII STB T35BF+8 JSB DIRNM CONVERT FIRST 2 STA T35BF+7 LDA DIRAD,I NO GET YEAR ALF,ALF ROTATE YEAR PORTION DOWN RAR AND B177 JSB DIRNM CONVERT TO ASCII STA T35BF+9 * * ISZ DIRAD LDA BB STA T35BF+10 LDA DSUBC LOAD SUBCHANNEL ALF,ALF ROTATE DIGIT UP IOR ASC0B AND MAKE ASCII [E] STA T35BF+111 LDA BB STA T35BF+12 * * TRACK/SECTOR * LDA DIRAD,I GET DISC ADDRESS CLB ASR 7 GET TRACK AND B377 DIV .+10 CONVERT TO ASCII BLF,BLF ADB DIR0S STB T35BF+14 JSB DIRNM STA T35BF+13 * * * * LDA DIRAD,I AND B77 GET SECTOR JSB DIRNM STA T35BF+15 * * * ISZ DIRAD POINT TO LENGTH LDA BB STA T35BF+16 STORE BLANKS STA T35BF+17 CLB LDA DIRAD,I CONVERT TO POSITIVE AND M128 ROUND UP TO NEXT SECTOR CMA,INA SECTORS ASR 7 JSB DIRNM STA T35BF+18 * * NOW GET FILE AND PROTECT BITS * LDA DIRAD GET FILE BIT ADA .-5 STA DIRAD LDB 0,I LOAD WORD LDA BB LOAD BLANKS STA T35BF+19 SSB IF FILE? LDA BF THEN OUTPUT F STA T35BF+20 LDA DIRAD GET PROTECT BIT ADA .-1 LDB 0,I LDA BB LOAD BLANKS SSB BW LDA PB PROTECTED STA T35BF+21 LDA .+43 LDB T35B1 JSB T35SP OUPTU LINE LDB DPNT READ DIRECTORY TRACK BACK IN LDA 1,I GET LENGTH STA WORD ADB .+6 GET DISC ADDRESS LDA 1,I LDB LIBDI JSB DISCL INPUT DIRECTORY TRACK LDB DIRAD POINT BACK TO ENTRY ADB .-2 JMP DIR.8 DIR15 LDA BB NO ID TO BE OUTPUT STA T35BF SO FILL WITH BLANKS STA T35BF+1 ISZ DIRAD JMP DIR16 * * * DIR.5 ISZ DTFLG CHECK IF TWO TRACKS RSS YES - GO FOR NEXT ONE JMP DIR10 NO - SEE IF ANOTHER SUBCHAN LDB DPNT LOAD BASE PABE POINTER ADB .+7 SET TO NEXT TRACK STB DPNT JMP DIR.3 GO READ TRACK DIR10 LDA DSUBF ONLY 1 SUBCHANNEL? SZA,RSS JMP LEND YES - DONE? LDB DSUBC NO - GO TO NEXT ONE JMP DIR11 * DIRNI CLB CLEAR SUBCHANNEL STB DSUBC INB SET FLAG TO SEARCH ALL SUBCHANS STB DSUBF LDA DIRD0 JMP DIR.2 * DR.18 LDA .-2 SET FLAG TO CHECK BOTH TRACKS STA DTFLG CLA CLEAR A SO TEST IS RIGHT JMP DIR.4 * * DIRNM NOP CLB CONVERT TWO DIGIT NUMBER IN A DIV .+10 TO ASCII CHARACTERS ALF,ALF  ADA 1 ADA ASC00 JMP DIRNM,I * * BF ASC 1, F PB ASC 1,P BB EQU ASCBB DIRAD EQU T35BF+35 CID EQU T35BF+34 DSUBF EQU T35BF+33 DTFLG EQU T35BF+32 DSUBC EQU T35BF+31 DPNT EQU T35BF+30 DEND EQU T35BF+29 * $DIR EQU * HED ROSTER * ROSTER PRINTS A LISTING, ON THE SYSTEM CONSOLE, OF ALL * IDS OF CURRENTLY ACTIVE USERS. THEY ARE PRINTED 8 PER LINE. SPC 2 ORG LIBR%A LDA ROSLB SET LF-BLANK IN BUFFER STA T35BF JSB ROST8 PROCESS FIRST 8 DEF TTY00+?ID LDA .+48 OUTPUT THEM. LDB T35B1 JSB T35SP P LDA T35BF IOR HIMSK STA T35BF JSB ROST8 PROCESS LAST 8 DEF TTY10+?ID LDA .+48 OUTPUT THEM LDB T35B1 JMP LEND2 SPC 1 * ROST8 FILLS THE TELETYPE BUFFER WITH 8 IDS. THE FORMAT IS: * LF,BLANK,7(ID,BLANK,BLANK),ID SPC 1 ROST8 NOP LDA T35B1 SET UP POINTER FOR FIRST ID. INA STA ROSP LDA .-8 SET UP COUNTER. STA ROSCSz LDA ROST8,I SET UP POINTER TO ID. STA ROSID JMP ROS2 GO DO FIRST ID. ROS1 LDA ASCBB PUT BLANKS IN AS SEPARATORS. STA ROSP,I ISZ ROSP ROS2 LDA ROSID,I GET ID SZA,RSS TEST FOR NO ID. JMP ROS3 AND B1777 MASK NUMBER PART CLB GET #/100 IN A,# MOD 100 IN B. DIV .100 STB ROST SAVE LAST 2 DIGITS. STA 1 COMBINE FIRST DIGIT WITH LETTER. LDA ROSID,I I ARS,ARS AND ROSMS &. ADA 1 ADA ROSFX X> STA ROSP,I STORE IN BUFFER. ISZ ROSP LDA ROST GET LAST 2 DIGITS. CLB DIV .+10 SEPARATE THEM. ALF,ALF PACK AND CONVERT ADA 1 TO ASCII. ADA ASC00 0 JMP ROS4 GO STORE IN BUFFER. ROS3 LDA ROSDD IF NO ID, PUT DOTS IN BUFFER. STA ROSP,I ISZ ROSP ROS4 STA ROSP,I ISZ ROSP LDA ROSID ADVANCE ID POINTER. ADA .+TTY01-TTY00 STA ROSID ISZ ROSC ANY MORE? JMP ROS1 YES. ISZ ROST8 JMP ROST8,I NO * * ROSP EQU LTEMP ROSC EQU LTEMP+1 ROSLB OCT 5040 ROSID EQU LTEMP+2 ROST EQU LTEMP+3 ROSMS OCT 17400 ROSFX ASC 1,@0 ROSDD ASC 1,.. $ROS EQU * HED RESET * RESET ALLOWS A USER'S TIME-TO-DATE ENTRY TO BE MODIFIED. * THΗE FORMAT IS AS FOLLOWS: * * RESET-ALL ALL TIMES ARE SET TO ZERO * * RESET-ID SPECIFIED USER'S TIME SET TO ZERO * * RESET-ID,TIME SPECIFIED ID SET TO SPECIFIED TIME. * SPC 2 ORG LIBRA A * CLA INITIALIZE ID TO 0. STA ID STA REST INITIALIZE TIME ALSO. JSB T35CH,I GET 1ST CHAR. JMP LFRER CR - - NO PARAMETERS * CPA RESCA "A" ? JMP RESX1 YES CCA BACKSPACE RESXE EQU * ADA T35CP BUFFER POINTER. STA T35CP P * JSB GETID GET THE ID. JMP RES2 GO GET TIME--NO CARRIAGE RETURN. * RES7 EQU * JSB FIDT FIND REQUESTED ID RSS GOT IT JMP RES8 * * ADB .+5 SET IN LDA REST NEW TIME. STA 1,I * LDA IDTRA,I OUTPUT ID TO DISC LDB LIBD JSB DISCL Lq JMP LEND * RES1 EQU * LDA ID ALL? SZA JMP RES7 NON LDA IDTTA YES - SET TO SCAN ALL TRACKS STA IDTRA LDA IDTRL STA IDTLA * RES6 LDA IDTLA,I INPUT ID TRACK SZA,RSS S JMP RES5 EMPTY TRACK STA WORD LDA IDTRA,I LDB LIBDI JSB DISCL READ TRACK * LDB LIBD LDA IDTLA,I COMPUTE # OF ENTRIES ON THIS TRACK ARS,ARS TRACK ARS STA RESC * ADB .+5 LDA REST STA 1,I SET TIME TO INDICATED VALUE ADB .+8 ISZ RESC MORE? JMP *-3 YES * LDA IDTRA,I NO - OUTPUT THIS TRACK LDB LIBD JSB DISCL RES5 LDA IDTTA ANY MORE TRACKS? ADA .+3 3n CPA IDTRA JMP LEND ISZ IDTRA ISZ IDTLA JMP RES6 ADB .+5 CLEAR ALL TIMERS LDA REST GET TIME RES42 EQU * ISZ RESC TEST FOR ANY MORE. RSS JMP RES6 GO WRITE IDT BACK OUT. *STA 1,I STORE TIME ADB .+8 BUMP ADDRESS TO NEXT ENTRY. JMP RES42 LOOP * RESX1 EQU * JSB T35CH,I GET NEXT CHARACTER JMP LFRER ERROR, NOT ENOUGH CHARACTERS CPA RESCL "L" ? JMP RESX2 YES LDA .-2 JMP RESXE GO TRY TO PACK ID RESX2 EQU * JSB T35CH,I GET ANOTHER JMP LFRER ERROR, NOT ENOUGH CHARACTERS CPA RESCL "L" ? JMP RESX3 YES, RESET ALL USERS JMP LFRER NOT "ALL" OR LEGAL ID RESX3 EQU * JSB T35CH,I GET ANOTHER CHARACTER JMP RES1 CR, RESET TO ZERO * * COMPUTE THE TIME * RES2 CPA .+54B TEST FOR COMMA JSB T35CH,I COMMA OK--GET NEXT CHAR. JMP LFRER ERROR IF NONE. JMP *+3 RES3 JSB T35CH,I GET NEXT CHAR. JMP RES1 ADA M72B TEST FOR DIGIT. SSA,RSS S JMP LFRER ERROR. ADA .+10 CLE,SSA JMP LFRER ERROR. STA RESD SAVE DIGIT. LDA REST GET PARTIAL RESULT. MPY .+10 COMPUTE NEW VALUE. ADA RESD ADD IN NEW DIGIT. STA REST SAVE NEW RESULT. SEZ,SZB,RSS TEST FOR OVERFLOW. JMP RES3 JMP LFRER ERROR. * RES8 LDA RESMA MOVE STA MOVES ERROR LDA T35B1 MESSAGE STA MOVED TO LDB .-6 TTY35 JSB MOVEW BUFFER LDA .+111 LDB T35B1 JMP LEND2 * RESMA DEF *+1 OCT 5116 ASC 5,O SUCH ID RESCA OCT 101 ASCII "A" RESCL OCT 114 ASCII "L" * RESC EQU LTEMP REST EQU LTEMP+1 RESD EQU LTEMP+2 $RES EQU * HED SPEED * THE SPEED COMMAND IS USED TO CONFIGURE A PORT FOR A * SPECIFIED SPEED AND CHARACTER SIZE. THE FORMAT FOR * THE COMMAND IS: * * * SPEED-BAUD RATE,CHAR. SIZE,PORT# OR ALL [,PORT#]... * SPC 1 ORG LIBRA JSB SPEDN GET THE LDA SNUM BAUD RATchE AND B377 MASK TO 8 BITS. LDB A STORE TEMPORARILY. ADA BAUDL LESS THAN 47B(=300 BAUD)? SSA JMP LFRER YES. ERROR! LDA B NO. GREATER THAN 277B(=75 BAUD)? ADA BAUDH SSA,RSS JMP LFRER YES. ERROR! STB SPRAM NO. STORE BAUD RATE. JSB SPEDN GET CHARACTER SIZE LDA SPRAM A = BAUD RATE LDB SNUM CPB .+1 CHARACTER SIZE = 1? RSS JMP SPD1 NO IOR BIT8 YES, ADD TO SPEED PARAMETER JMP SPD2 SPD1 CPB .+2 CHARACTER SIZE = 2? RSS JMP LFRER NO - ERROR IOR BIT9 YES, ADD TO SPEED PARAMETER SPD2 STA SPRAM * ** BAUD RATE AND SPEED OK - NOW GET PORT NUMBERS * JSB T35CQ GET NEXT CHARACTER JMP LFRER CR - ERROR CPA SP.A IS CHARACTER AN "A"? JMP SPD7 YES CCA NO, BACK-UP ADA T35CP CHARACTER STA T35CP POINTER SPD3 CLA CLEAR PORT STA SNUM INDICATOR SPD4 JSB T35CQ GET NEXT CHARACTER JMP SPD5 CARRIAGE RETURN CPA .+54B COMMA? JMP SPD6 YES ADA D72 NO SSA,RSS CHECK K JMP LFRER FOR ADA .+10 DIGIT SSA A JMP LFRER NO - ERROR STA STEMP COMPUTE LDA SNUM MPY .+10 PORT ADA STEMP STA SNUM NUMBER JMP SPD4 GET NEXT CHARACTER * SPD5 CCA CR, SET COUNTER STA SCNTR FOR LAST PORT SPD6 LDA SNUM IS PORT NUMBER ADA NPORT IN CORRECT RANGE? SSA,RSS JMP LFRER NO JSB SPORT YES, UPDATE SPEED FOR THIS PORT JMP SPD3 * ** ADJUST SPEED FOR ALL PORTS * SPD7 JSB T35CQ GET NEXT CHAR. JMP LFRER CR - ERROR CPA SP.L CHAR. A "L"? RSS JMP LFRER NO - ERROR JSB T35CQ GET NEXT CHAR JMP LFRER CR - ERROR CPA SP.L CHAR A "L"? RSS JMP LFRER NO - ERROR JSB T35CQ GET NEXT CHAR RSS JMP LFRER ERROR - NOT CR LDA NPORT SET COUNTER TO STA SCNTR NUMBER OF PORTS CLA INITIALIZE PORT STA SNUM NUMBER INDICATOR SPD8 JSB SPORT SET SPEED FOR NEXT PORT ISZ SNUM BUMP PORT NUMBER INDICATOR JMP SPD8 * ** SPEED UPDATE SUBROUTINE * SPORT NOP P LDA SNUM A = PORT# ADA TTYTP ADD TELETYPE TABLE POINTER LDB A,I ADB .+?ID B => ID LDA B,I A = ID SZA IS A USER LOGGED ON THIS PORT? JMP SPRT YES - SKIP ADB .+?RPRM-?ID NO LDA B,I B = RECEIVE PARAM AND SMASK SET IOR SPRAM NEW STA B,I SPEED STA STEMP INB LDA B,I B = SEND PARAM AND HIMSK SET IOR SPRAM NEW STA B,I SPEED LDB SNUM BLF,BLF B = POSITIONED UNIT# JSB MUXR,I OUTPUT SEND PARAM LDA STEMP A = RECEIVE PARAM LDB SNUM BLF,BLF B = POSITIONED UNIT# JSB MUXR,I OUTPUT RECEIVE PARAM SPRT EQU * ISZ SCNTR ALL DONE? JMP SPORT,I NO JMP LEND HAUL SPC 1 * ** NUMBER RETRIEVAL SUBROUTINE * SPEDN NOP CLA INITIALIZE STA SNUM ACCUMULATOR SPDN JSB T35CQ GET CHARACTER JMP LFRER CR - ERROR CPA .+54B COMMA? JMP SPEDN,I YES, RETURN ADA D72 NO SSA,RSS CHECK JMP LFRER FOR ADA .+10 DIGIT SSA JMP LFRER ERROR STA STEMP LDA SNUM COMPUTE MPY .+10 THE ADA STEMP NUMBER STA SNUM JMP SPDN GET NEXT CHAR * * BAUDL DEC -47 BAUDH DEC -192 SNUM BSS 1 SPRAM BSS 1 <:6STEMP BSS 1 SCNTR OCT 0 SP.A OCT 101 SP.L OCT 114 SMASK OCT 174000 $SPE EQU * < M\ 24280-80029 1534 S 0122 TSB/E SYSTEM              H0101  HED PORT * THE PORT COMMAND PRINTS THE CHARACTER SIZE AND BAUD * RATE FOR EACH PORT NUMBER. * SPC 1 ORG LIBRA LDA PORLB SET LF-BLANK STA T35BF IN BUFFER JSB PRT PROCESS FIRST 8 DEF TTY00+?RPRM LDA .64 OUTPUT THEM LDB T35B1 1# JSB T35SP LDA T35BF IOR HIMSK STA T35BF JSB PRT PROCESS LAST 8 DEF TTY10+?RPRM LDA .64 OUTPUT THEM LDB T35B1 AND TERMINATE JMP LEND2 SPC 2 * PRT FILLS THE TELETYPE BUFFER WITH THE CHARACTER SIZE * AND BAUD RATE OF 8 PORTS. THE FORMAT IS: * LF,BLANK,8(CHAR. SIZE-BAUD RATE,BLANK,BLANK,BLANK) SPC 1 PRT NOP LDA T35B1 SET UP POINTER FOR INA FIRST INFORMATION BLOCK STA PPNTR LDA .-8 SET UP COUNTER STA PCNTR LDA PRT,I SET UP POINTER TO STA PRPRM RECEIVE PARAMETER JMP PRT2 * PRT1 LDA ASCBB PUT IN BLANKS STA PPNTR,I AS SEPARATORS ISZ PPNTR PRT2 LDA PRPRM,I A = RECEIVE PARAM AND PMASK MASK OUT CHARACTER SIZE ADA PCHAR CONVERT TO ASCII STA PPNTR,I AND STORE IN BUFFER ISZ PPNTR LDA PRPRM,I A = RECEIVE PARAM AND B377 MASK TO BAUD RATE CLB B DIV .100 OBTAIN HUNDREDS ALF,ALF STA PDIGT AND TENS DIGIT, LDA B CLB CONVERT TO ASCII, DIV .+10 ADA PDIGT AND STORE IN BUFFER ADA ASC00 STA PPNTR,I ISZ PPNTR LDA B A = UNITS DIGIT ALF,ALF ADA ASC0B CONVERT TO ASCII STA PPNTR,I AND STORE IN BUFFER ISZ PPNTR LDA PRPRM ADA .+TTY01-TTY00 STA PRPRM UPDATE TTY TABLE POINTER ISZ PCNTR BUMP COUNTER - DONE? JMP PRT1 NO ISZ PRT YES JMP PRT,I RETURN * .64 (o EQU B100 PMASK OCT 1400 PCHAR ASC 1,0- PORLB OCT 5040 PDIGT BSS 1 PCNTR BSS 1 PPNTR BSS 1 PRPRM BSS 1 $POR EQU * HED CHANGEID * THE CHANGEID COMMAND CAN BE USED TO MODIFY THE PARAMETERS IN AN * ID ENTRY. THE MODIFIABLE ENTRIES ARE THE PASSWORD, TIME ALLOWED, * AND DISC ALLOWED. THE POSSIBLE FORMATS ARE: * * CHANGEID-ID,PASSWORD,TIME,DISC * CHANGEID-ID,PASSWORD,TIME * CHANGEID-ID,PASSWORD,,DISC * CHANGEID-ID,,TIME,DISC * CHANGEID-ID,PASSWORD * CHANGEID-ID,,TIME * CHANGEID-ID,,,DISC SPC 2 ORG LIBRA SPC 1  JSB GETID GET ID ENTRY. JSB GETID RSS SKIP TO COMMA TEST. JMP LFRER FAIL IF NOTHING FOLLOWS. CPA .+54B TEST FOR COMMA FOLLOWING. RSS OK. JMP LFRER FAIL IF NO COMMA FOLLOWS. * JSB FIDT INPUT ID ENTRY JMP CHA3 FOUND IT * LDA CHA2E OUTPUT NO ID MESSAGE STA MOVES LDA T35B1 STA MOVED LDB .-6 6+ JSB MOVEW LDA .+11 LDB T35B1 JMP LEND2 2 CHA2E DEF *+1 OCT 5116 LF-N ASC 5,O SUCH ID * * B NOW POINTS TO THE CORRECT ID. * * CHA3 INB SET CHAID TO POINT TO THE STB CHAID PASSWORD. STB CHAI1 STORE COPY IN CHAI1. JSB T35CH,I GET FIRST CHARACTER OF POSSIBLE JMP LFRER PASSWORD--ERROR IF NONE. CPA .+54B IF COMMA, WE DON'T WANT TO JMP CHA5 CHANGE PASSWORD. CLB INITIALIZE PASSWORD ISZ CHAID TO NULLS. STB CHAID,I ISZ CHAID STB CHAID,I LDB CHAI1 SET CHAID TO POINT AT STB CHAID PASSWORD AGAIN. LDB .-3 SET COUNTER FOR 3 WORD STB CHAC PASSWORD. CHA4 ALF,ALF SET LEFT CHARACTER OF WORD. STA CHAID,I JSB T35CH,I GET RIGHT CHARACTER. JMP CHA10 TERMINATE IF CR. CPA .+54B IF COMMA, WE'RE DONE WITH m JMP CHA5 PASSWORD. IOR CHAID,I MERGE IN WITH LEFT CHAR. STA CHAID,I ISZ CHAC TEST FOR ALL OF PASSWORD IN. RSS NOT ALL IN YET. JMP CHA6 ISZ CHAID BUMP POINTER. JSB T35CH,I GET ANOTHER PASSWORD CHARACTER. JMP CHA10 DONE IF CR. CPA .+54B TEST FOR COMMA. JMP CHA5 JMP CHA4 LOOP. * CHA6 JSB T35CH,I TEST FOR TOO MANY PASSWORD CHARS. JMP CHA10 END OF REQUEST. CPA .+54B TEST COMMA. RSS JMP LFRER FAIL. * CHA5 LDA CHAI1 SET CHAID TO POINT TO ADA .+3 TIME ALLOWED. STA CHAID * JSB T35CH,I GET 1ST CHAR OF POSSIBLE TIME. JMP LFRER ERROR IF NONE. CPA .+54B IF COMMA, GO TO DO DISC PART. RSS JSB CHA# OTHERWISE GET NEW ALLOTTED TIME. ISZ CHAID SET POINTER TO ALLOTTED DISC ISZ CHAID SPACE. JSB T35CH,I GET FIRST DIGIT OF DISC. JMP LFRER FAIL IF NONE. JSB CHA# COMPUTE IT. JMP LFRER RETURN HERE IS ILLEGAL. * CHA10 LDA IDTLA,I OUTPUT UPDATED ID TRACK STA WORDR LDA IDTRA,I LDB LIBD JSB DISC,I,a JMP LEND * CHA# SCANS THE INPUT BUFFER FOR A # FROM 0 TO 65535. IF IT FINDS * ONE, IT STORES IT IN CHAID,I. IF NO CHARACTER FOLLOWS THE #, * CHA# TRANSFERS TO CHA10. IF A COMMA FOLLOWS IT RETURNS. IF AN * ERROR IS FOUND, IT TRANSFERS TO LFRER. THE 1ST CHARACTER OF * THE NUMBER IS IN A UPON ENTRY. SPC 1 CHA# NOP CLB INITIALIZE # TO ZERO. STB CHAID,I CHA7 ADA M72B TEST FOR DIGIT. SSA,RSS S JMP LFRER FAIL. ADA .+10 SSA JMP LFRER FAIL. STA CHAD SAVE DIGIT. LDA CHAID,I GET OLD VALUE. MPY .+10 * 10 CLE ADA CHAD + NEW DIGIT. SEZ,SZB,RSS TEST FOR OVERFLOW. RSS OK JMP LFRER FAIL ST'-A CHAID,I STORE AGAIN. JSB T35CH,I GET NEXT CHAR. JMP CHA10 DONE IF CR. CPA .+54B RETURN IF COMMA. JMP CHA#,I JMP CHA7 ELSE LOOP. SPC 1 CHAID EQU LTEMP CHAI1 EQU LTEMP+1 CHAC EQU LTEMP+2 CHAD EQU LTEMP+3 $CHA EQU * HED ANNOUNCE * THE ANNOUNCE (ANNOY) COMMAND IS USED TO SEND A MESSAGE FROM * THE SYSTEM CONSOLE TO THE USER CONSOLES. THE FORMAT IS: * * ANN-, * * WHERE PORT # IS AN INTEGER BETWEEN 0 AND 15 OR 'ALL' AND * MESSAGE IS A STRING OF CHARACTERS ENDING WITH A CARRIAGE * RETURN. * ORG LIBRA JSB T35CH,I GET 1ST CHAR JMP LFRER CPA ANN.A 'A' JMP ANN2 YES ADA M72B NO SSA,RSS DIGIT? JMP LFRER NO ADA .+10 MAYBE SSA JMP LFRER NO STA LTEMP YES, SAVE IT JSB T35CH,I NEXT CHAR JMP LFRER CPA .+54B COMMA? JMP ANN1 YES ADA M72B NO SSA,RSS DIGIT? JMP LFRER NO ADA .+10 MAYBE SSA JMP LFRER NO STA LTEMP+1 YES LDA LTEMP MPY .+10 ADA LTEMP+1 NUMBER STA LTEMP ADA NPORT SSA,RSS TOO BIG? JMP LFRER YES, ERROR JSB T35CH,I JMP LFRER CPA .+54B COMMA? RSS YES JMP LFRER NO ANN1 EQU * CCA SET FOR STA LTEMP+1 ONE PORT JMP ANN3 ANN2 EQU * JSB T35CH,I NEXT CHAR JMP LFRER CPA ANN.L 'L'? JSB T35CH,I YES - NEXT CHAR JMP LFRER NO CPA ANN.L 'L'? JSB T35CH,I YES - NEXT CHAR JMP LFRER NO CPA .+54B COMMA? RSS YES JMP LFRER NO LDA NPORT # OF PORTS STA LTEMP+1 CLA 1ST PORT IS 0 STA LTEMP ANN3 EQU * LDA .+15B CR JSmB ANNCH LDA .+12B LF JSB ANNCH LDA .+12B LF JSB ANNCH LDA .+7B BELL JSB ANNCH ANN4 EQU * CLA ALLOW BLANKS STA T35C1 JSB T35CH,I NEXT CHAR JMP ANN5 CR JSB ANNCH OUTPUT IT JMP ANN4 LOOP ANN5 EQU * ww JSB ANNCH CR LDA .+12B LF JSB ANNCH LDA .+12B LF JSB ANNCH LDA ANNJM RESTORE BLANK STA T35C1 SUPPRESSION ANN6 LDA TTYTP ADA LTEMP LDB A,I B => USER'S TTY TABLE ADB .+?STAT LDA B,I A = STATUS CPA .+2 IS STATUS INPUT WAIT? RSS JMP ANN7 NO ADB .+?TSTA-?STAT LDA B,I YES, REMOVE AND NINBT 'NO INPUT STA B,I ALLOWED' BIT ADB .+?RPRM-?TSTA TURN LDA B,I ADB .+?TNUM-?RPRM ECHO LDB B,I JSB MUXR,I ON ANN7 ISZ LTEMP BUMP PORT# ISZ LTEMP+1 ALL PORTS DONE? JMP ANN6 NO JMP LEND ALL DONE * * ANNCH NOP STA LTEMP+2 SAVE CHAR LDA LTEMP+1 # OF PORTS STA LTEMP+3 LDA LTEMP 1ST PORT STA LTEMP+4 ANNC1 LDB TTYTP FIND TTY TABLE FOR ADB LTEMP+4 FOR THIS PORT LDB 1,I ADB .+?ID IS HE ACTIVE? LDA 1,I CHECK ID TO SZA,RSS FIND OUT JMP ANNC2 NOPE - GET NEXT PORT ADB .+?CCNT-?ID LDA 1,I CHECK ADA .-1 IF CPA MAXBL BUFFER FULL JMP ANNC1 YES ADB .-?CCNT NO - OK TO OUTPUT LDA LTEMP+2 JSB POCR,I OUTPUT CHARACTER ANNC2 ISZ LTEMP+4 BUMP PORT # ISZ LTEMP+3 ALL DONE? JMP ANNC1 NO JMP ANNCH,I YES * ANN.A OCT 101 ANN.L OCT 114 ANNJM JMP T35C0 $ANN EQU * HED SLEEP * * THE SLEEP COMMAND IS A SYSTEM COMMAND WHICH * IS USED FOR SYSTEM SHUTDOW'N. SLEEP IS CALLED * AFTER ALL USER DISCS HAVE BEEN REMOVED FROM * THE SYSTEM WITH THE 'DISC-DN,' * DIRECTIVE. THE SLEEP ROUTINE PERFORMS * THE FOLLOWING FUNCTIONS: * * * 1) PLACE ALL USERS IN DISCONNECT MODE * 2) OUTPUT SPECIFIED MESSAGE TO ALL TERMINALS * 3) DISCONNECT ALL USERS * 4) LOG OFF ALL ACTIVE USERS * 5) CLEAR FUSS TABLE * 6) DUMP SYSTEM DISC TO CARTRIDGE DISC * ORG LIBRA X) CLA BLOACK STA DCLC1,I CLOCK LDA T35CP SAVE CONTENTS OF LOCATION ARS POINTED TO BY T35CP LDB A,I STB LTEMP+3 LDA .+16 LDB MAGMS JSB TTY35,I ASK IF MAG TAPE LDA T35F1 WAIT FOR RESPONSE SZA JMP *-2 STA T35F2 LDA T35F2 SZA,RSS S JMP *-2 LDA T35B1,I LOAD RESPONSE ALF,ALF AND B177 GET SINGLE CHARACTER CLB CPA SY IS IT YES? INB YES SET MAG TAPE FLAG STB MGFLG CLF 0 LDA DCLC2,I UNBLOACK STA DCLC1,I CLOCK SZB JMP MG.SP * (X) * SCAN THE DIRECTORY FOR REFERENCES TO DISCS (X) * OTHER THAN THE SYSTEM DISC. ERROR IF A (X) * REFERENCE IS FOUND (X) * (X) CLB,CCE SET DIRECTORY POINTER [X] ELB,BLS TO 2*DISC SUBCHANNEL [X] STB LTEMP (X) LDB DIRD0 SET LTEMP+1 TO POINT (X) ADB .+14 TO FIRST WORD OF (X) STB LTEMP+1 USER DISC DIRECTORIES (X) LDB .-6 (X) STB LTEMP+2 [X] * * SLE0 LDB LTEMP+1 INDEX (B) TO DIRECTORY (X) ADB .+6 DISC ADDRESS (X) LDA 1,I BL GET DIRECTORY TRACK ADR IN (A)(X) SZA GO TO SLE00 UPON FINDING (X) JMP SLE00 THAT THE DISC IS ON SYSTEM (X) ADB .+1 [X] STB LTEMP+1 UPDATE TO NEXT DIR ENTRY (X) ISZ LTEMP (X) ISZ LTEMP+2 ALL DIRECTORY TRACKS CHECKED? (X) JMP SLE0 NO (X) MG.SP EQU * CLB X) STB T35C1 NO DEBLANKING ON ASR35 X) STB MPCOM X) LDA MLINK X) STA T35LK X) * X) LDB NPORT PLACE ALL USERS IN ABORT STB LTEMP MODE AND WAIT FOR OUTPUT X) LDB DTTY0 TO COMPLETE X) SLE1 ADB .+?STAT X) CCA STA 1,I X) ADB .+?CCNT-?STAT X) STA 1,I X) ADB .-?CCNT+TTY01-TTY00 X) ISZ LTEMP X) JMP SLE1 X) * X) LDA ONEI OUTPUT X) LDB DEH LINE-FEED X) JSB TTY35,I X) * LDA T35CP RESTORE CONTENTS OF LOCATION ARS POINTED TO BY T35CP LDB LTEMP+3 STB A,I * X) JSB SLE4 WAIT FOR ALL OUTPUT TO END. * *** OUTPUT SLEEP MESSAGE TO ALL ACTIVE USERS X) * X) LDA .+15B FIRST OUTPUT CR-LF-LF X) JSB SLECH X) LDA .+12B X) JSB SLECH v X) LDA .+12B X) JSB SLECH X) * X) JSB T35CQ OUTPUT 'SLEEP' MESSAGE X) JMP *+3 TO ALL ACTIVE USERS X) JSB SLECH X) JMP *-3 X) * X) JSB SLECH THEN ... X) LDA .+12B OUTPUT CR-LF-LF X) JSB SLECH X) LDA .+12B X) JSB SLECH X) * X) JSB SLE4 WAIT FOR ALL OUTPUT TO END. * * NOW DISABLE MUX * CLC MPX DISABLE MUX. CLC DSCB DISABLE PHONES. * * X) *** NOW WE HAVE TO LOG OFF ALL ACTIVE USERS X) * X) * X) LDB DTTY0 SEARCH USER TABLES X) ADB .+?ID FOR ACTIVE IDS. X) LDA NPORT STA LTEMP X) SLE2 LDA 1,I GET ID X) SZA,RSS TEST FOR ACTIVE X) JMP SLE3 NOT ACTIVE USER X) STB LTEMP+1 SAVE POINTER X) * X) *** COMPUTE TIME USED X) * X) ADB .+?TIME-?ID X) DLD 1,I GET STARTING TIME X) CMA,INA SET BOTH PARTS NEGATIVE X) CMB,INB X) CLF 0 X) ADA DATIM (A) = # HRS USED Xc) CLE X) ADB DATIM+1 (B) = # UNITS, OVERFLOW IN (E)X) STF 0 X) STB LTEMP+2 SAVE # OF UNITS X) MPY D60 HRS ==> MINS X) STA LTEMP+3 X) LDA LTEMP+2 GET UNITS COUNT; IF E=0 X) SEZ,RSS THEN COUNT AS NEGATIVE X) CCB X) DIV D600 CHANGE TO MINUTES X) ADA LTEMP+3 ADD IN OTHER MINUTES X) STA LTEMP+2 TOTAL IN LTEMP(2) X) * X) *** SEARCH IDT FOR USER X) * X) LDA LTEMP+1,I X) STA ID SET UP FOR FIDT JSB FIDT FINDT ID ENTRY ADB .+5 COMPUTE NEW TOTAL TIME X) CLE X) LDA 1,I X) ADA LTEMP+2 X) SEZ IF OVERFLOW, X) CCA USE MAXIMUM X) STA 1,I X) * X) LDA LOGCT CHECK FOR ROOM IN LOG TABLE X) CPA .+16 JMP *-2 X) LDA LOGP2 SET LOGP2 TO NEXT LOCATION X) INA IN LOG TABLE X) CPA LOGND X) LDA LOGBG X) STA LOGP2 X) LDA LTEMP+1,I X) IOR BIT15 PLACE ID IN LOG TABLE X) STA LOGP2,I X) ISZ LOGP2 X) DLD DATIM COMPUTE TIME OF DAY X) *STB LTEMP+2 SAVE UNIT COUNTER X) CLB X) DIV .+24 X) LDA 1 X) MPY D60 CHANGE TO MINUTES X) STA LTEMP+3 SAVE X) LDA LTEMP+2 CHANGE UNITS TO MINUTES X) ADA D36K X) DIV D600 X) ADA LTEMP+3 COMPUTE TOTAL TIME X) ALF ROTATE (X) LDB NPORT ADD IN PORT NUMBER. CMB,INB ADB LTEMP ADA B Bi STA LOGP2,I STORE IN TABLE X) ISZ LOGCT INDEX COUNTER X) LDA IDTRA,I WRITE ID LDB LIBD TRACK JSB DISCL BACK OUTP * X) LDB LTEMP+1 GET POINTER AGAIN X) SLE3 ADB .+TTY01-TTY00 X) ISZ LTEMP TEST FOR DONE X) JMP SLE2 X) * X) *** CLEAR FUSS TABLE X) * X) LDA LOGCT WAIT FOR LOG TABLE X) SZA TO EMPTY X) JMP *-2 X) CPA T35F1 WAIT FOR TTY TO STOP X) RSS X) JMP *-2 X) * *** READ IN SLEEP OVERLAY * LDA M252 (X) STA WORD (X) DLD LIB,I (X) LDA 1 (X) LDB #LIBI (X) JMP LIBRA+254 (X) * * * *** INFORM SYSTEM OPERATOR TDISC ADR OF ENTRY. LDA 1,I GET DISC ADR. AND M64 CLEAR SECTOR PART CPA LTEMP ON THIS TRACK? [X] JMP SLE11 YES. ADB .-6 NO--BUMP BACK FOR NEXT ENTRY. JMP SLE12 SLE11 LDA 1,I GET DISC ADDRESS AGAIN. STA LTEMP+3,I STORE TABLE. [X] LDA LTEMP+1 ASSIGN NEW DISC ADDRESS. [X] STA 1,I INB LDA 1,I GET PROGRAM LENGTH. ARS,ARS CONVERT TO FULL SECTORS ARS,ARS ARS,ARS ARS (X) CMA,INA ADA LTEMP+1 ADD TO NEW DISC ADR. COUNTER [X] STA LTEMP+1 [X] ISZ LTEMP+3 ALSO STORE IN TABLE. [X] STA LTEMP+3,I [X] ISZ LTEMP+3 u] [X] ISZ LTEMP+6 SET FLAG TO WRITE DIREC BACK [X] ADB .-7 GO DO NEXT ENTRY. JMP SLE12 * SLE10 LDA LTEMP+6 IF F=0 WE DIDN'T MODIFY THE [X] SZA,RSS DIRECTORY, SO WE DON'T HAVE TO JMP SLE13 WRITE IT BACK. LDA LTEMP+5 [X] ADA .+6 LDA 0,I LDB LIBD JSB DISCL Lq SLE13 LDA LTEMP+5 [X] CPA DIRD1 LAST DIRECTORY TRACK? (X) JMP *+3 ADA .+7 JMP SLE9 * * NOW READ IN ALL THE LIBRARY PROGRAMS IN THE ORDER THAT WE'RE * GOING TO WRITE THEM BACK. * SLE14 LDA LTEMP+4 ALL PROGRAMS IN YET? [X] CPA LTEMP+3 [X] JMP SLE15 YES DLD LTEMP+4,I GET DISC ADDRESS OF PROGRAM [X] CMB,INB COMPUTE -SECTOR LENGTH ADB LTEMP+2 [X] CLA ASL 7 CHANGE TO WORDS (X) STB WORD LDB LTEMP+2 COMPUTE CORE ADDRESS [X] LSL 10 LSR 3 ADB LIBDI LDA LTEMP+4,I [X] JSB DISCL ISZ LTEMP+4 SET NEW VALUES [X] LDA LTEMP+4,I OF LTEMP+2, +4 [X] STA LTEMP+2 [X] ISZ LTEMP+4 [X] JMP SLE14 * SLE15 LDA LTEMP+2 WRITE ENTIRE TRACK [X] CMA,INA ADA LTEMP [X] ASL 7 (X) STA WORD LDA LTEMP [X] LDB LIBD JSB DISCL * LDA ADLEN READ ADT. STA WORD LDA ADLOC LDB LIBDI JSB DISCL * * WE NOW WANT TO REPLACE ALL ADT ENTRIES REFERENCING THIS TRACK BY A * SINGLE ENTRY, WITH VALUES OF R AND SLETL-R (SECTOR). * LDB LIBD SEARCH FOR FIRST ENTRY AT SLE16 LDA LTEMP THIS TRACK OR BEYOND [X] CMA,CLE,INA ADA 1,I SEZ JMP *+3 ADB .+2 JMP SLE16 * STB LTEMP+1 [X] LDA 1,I TEST FOR ENTRY ON THIS TRACK. CPA .-1 CHECK FOR SPECIAL ENTRY. JMP *+4 AND M64 CPA LTEMP [X] JMP SLE18 ENTRY IS ON THIS TRACK. * * HAVE TO CREATE A NEW ENTRY. * LDA LTEMP IS TRACK TO BE [X] ADA LTEMP+7 EMPTY? [X] CPA LTEMP+2 [X] JMP SLE17 YES--FORGET IT. LDA ADLEN CPA M3072 (X) JMP SLE17 NO--FORGET IT. * LDB ADLEN ADB .-2 STB ADLEN NEW ADLEN. CMB ADB LIBD MOVE STB MOVED ADT ADB .-2 DOWN. STB MOVES CMB ADB LTEMP+1 [X] JSB MOVEB JMP SLE19 GO INSERT NEW ENTRY. * SLE18 ADB .+2 SEARCH FOR FIRST ENTRY NOT ON LDA 1,I THIS TRACK. CPA .-1 JMP *+4 AND M64 4 CPA LTEMP [X] JMP SLE18 * STB MOVES SET SOURCE FOR MOVE ADB ADLEN SET WORD COUNT. ADB MLIBD LDA LTEMP SET DESTINATION ACCORDING TO [X] ADA LTEMP+7 WHETHER WE'RE MAKING AN [X] CPA LTEMP+2 INSERT OR NOT. [X] CLA,RSS LDA .+2 ADA LTEMP+1 [X] STA MOVED JSB MOVEW LDA MOVED COMPUTE NEW ADLEN. CMA,INA ADA LIBDB STA ADLEN * LDA LTEMP ANY ENTRY? [X] ADA LTEMP+7 [X] CPA LTEMP+2 [X] JMP SLE17 NO. * * SLE19 LDB LTEMP+2 MAKE ENTRY [X] CM-CB,INB ADB LTEMP [X] ADB LTEMP+7 [X] LDA LTEMP+2 [X] DST LTEMP+1,I [X] * SLE17 LDA LTEMP GET NEXT TRACK NUMBER [X] ADA B200 ISZ LTEMP+8 DONE???????????? [X] LDB LTEMP+8 [X] CPB D203 NOW WE TEST IT [X] RSS (X) JMP SLE5 NO. (X) LDA ADLEN WRITE ADT BACK OUT STA WORD LDA ADLOC LDB LIBDB JSB DISCL Lq * * LOAD SYSTEM DISC DUMP * LDA M252 [X] STA WORD (X) LDA LIB [X] ADA .+2 [X] LDA 0,I [X] LDB #LIBI (X) JMP LIBRA+254 [X] * STAB DEF LIBUS+8192 [X] $$SLE EQU * (X) HED SLEEP SYSTEM DISC DUMP ORG LIBRA * *** DUMP BASE PAGE TO SYSTEM DISC * LDA AMAIN STA LTEMP CLA STA DCLC1,I BLOCK CLOCK LDB .-10 STA LTEMP,I I ISZ LTEMP INB,SZB JMP *-3 STA T35F2 [E] STA T35RS [E] STA T35ST [E] STA T35PR [E] LDA SLEPT SET BIT15 = 0 (D) AND B1777 TO SAY THAT SYSTEM (D) STA SLEPT WAS SLEPT (D) STA LCHCR LDA MLINK STA MLINK+1 SET QUEUE EMPTY LDB M2565 STB WORD (X) LDA .+12 CLB N (X) IOR B100 JSB DISCL (X) LDA MGFLG MAG TAPE? SZA JMP MGS.L * X) *** SET UP FOR SYSTEM DISC DUMP X) * X) LDA #MSGA-1 (X) LDB #MSGA X) JSB ANSER OUTPUT MESSAGE. CLA READ LDB .-5 LABEL STB WORD ON LDB LIBDI SUBCH #1. JSB DISCL LDB LIBD INB LDA B,I CPA PTS IS IT A TIME-SHARE DISC? RSS JMP SLP5 NO. DUMP. LDA .-3 YES. SET COUNTER STA LTEMP INB SLP7 LDA B,I LOAD LABEL WORD. CPA PSSAA,I SYSTEM DISC? RSS JMP SLP8 NO. INB MAY BE. BUMP POINTERS. ISZ PSSAA ISZ LTEMP DONE? JMP SLP7 NO. JMP SLP5 YES. SYSTEM DISC. DUMP. * SLP8 LDA .+47 OUTPUT LDB #MSG3 WARNING JSB ANSER MESSAGE. * X) *** DUMP ALL 203 TRACKS OF SYSTEM DISC * X) SLP5 LDB M3072 SET TO TRANSFER 3072 WORDS STB WORD X) LDB M203 SET TO TRANSFER 203 TRACKS STB LTEMP X) CLA SET TRACK POINTER X) JMP *+3 (X) (X) SLP6 LDA LTEMP+1 COMPUTE DISC ADDRESSES ADA B200 NEXT TRACK STA LTEMP+1 ADA .+24 SECOND 1/2 OF THIS TRACK STA LTEMP+2 LDA LTEMP+1 LDB LIBDI INPUT FROM SYSTEM DISC 1ST 1/2 TRACK IOR B100 JSB DISCL LDA LTEMP+1 LDB LIBD OUTPUT TO CARTRIDGE (1ST 1/2) JSB DISCL LDA LTEMP+2 INPUT FROM 2N2D 1/2 IOR B100 LDB LIBDI JSB DISCL LDA LTEMP+2 LDB LIBDB JSB DISCL ISZ LTEMP ALL TRACKS DUMPED? JMP SLP6P * X) LDA .+16 OUTPUT "SLEEP COMPLETE". LDB #MSG2 (X) JSB TTY35,I (X) CLB (X) CPB T35F1 (X) RSS (X) JMP *-2 (X) JSB LLOAD LOAD UTILITY. JMP UTLTY,I * * * SPC 3 MGS.L JSB LLOAD LOAD UTILITY. JMP MGSLE,I GO TO SLEEP. * * * * LOAD LOADER/UTILITY, CLEAR ALL DEVICES AND * DISABLE POWER FAIL. * LLOAD NOP LDA SLLN STA WORD CLA,INA ADA B100 LDB S2002 JSB DISCL LDA LDRLN STA WORD LDA B300 LDB RSYS0 JSB DISCL CLB CLEAR ALL DEVICES. CLC 0,C CLC 0,C ISZ B JMP *-3 LDA HLT4 DISABLE POWER FAIL. STA 4 LDA JMP2 SET LOADER/UTILITY (D) STA LJMP,I TRANSFER ADDRESS (D) LDA UTLTY (D) STA LTARG,I (D) JMP LLOAD,I RETURN (D) * * * ANSER NOP JSB TTY35,I OUTPUT MESSAGE. CLB WAIT CPB T35F1 UNTIL RSS COMPLETED. JMP *-2 CLC 0,C CLEAR ALL DEVICES. CLC 0,C ISZ B JMP *-3 HLT DEATH+11B,C HALT [E] STF 0 START UP AGAIN. JMP ANSER,I * * * SLLN DEC -1024 M203 DEC -203 S2002 OCT 102002 LDRLN DEC -6144 JMP2 OCT 126001 JMP 2001B,I (D) LJMP OCT 2000 (D) $ LTARG OCT 2001 (D) RSYS0 OCT 104000 PTS ASC 1,TS PSSAA DEF SYSAA HLT4 HLT DEATH+4 [E] MGFLG EQU LTEMP+14 AMAIN DEF MAIN * #MSG2 DEF *+1 OCT 6412 ASC 7,SLEEP COMPLETE * X) DEC 69 (X) #MSGA DEF *+1 X) OCT 6412 X) ASC 19,INSERT CARTRIDGE FOR SYSTEM DISC DUMP. OCT 6412 X) ASC 14,PRESS 'RUN' WHEN DISC READY X) #MSG3 DEF *+1 OCT 5125 LF-U ASC 10,SER DISC ON SUBCH 1! OCT 6412 CR-LF ASC 12,PRESS 'RUN' TO CONTINUE $$$SL EQU * HED NEWID * NEWID CREATES NEW ENTRIES IN THE SYSTEM ID TABLE. THE INPUT * FORMAT IS AS FOLLOWS: * * NEWID IDCODE,PASSWORD,TIME,DISC * * THESE PROVIDE, RESPECTIVELY, WORDS 0,1-3,4, AND 6 OF THE ID ENTRY. * WORDS 5 AND 7 ARE INTIALIZED TO ZERO. SPC 2 ORG LIBRA * INPUT ID-TABLE * LDA IDLEN A=LENGTH OF IDTABLE. CPA IDMAX JMP NEWI2 ID TABLE IS FULL * * * NOW INTERPRET PARAMETERS * JSB GETID GET RSS JMP LFRER ID ENTRY. CPA .+54B TEST FOR COMMA. CLA,RSS OK JMP LFRER NOT OK LDB ID STB LTEMP * * NOW SCAN PASSWORD * STA T35LC JSB NEWIP STA LTEMP+1 JSB NEWIP STA LTEMP+2 JSB NEWIP STA LTEMP+3 * * GET THE ALLOWED TIME * LDA T35LC CHECK FOR CPA .+54B COMMA JMP NEWI4 4f JSB T35CH,I GET NEXT CHAR. JMP LFRER CPA .+54B MUST BE A COMMA. RSS JMP LFRER * NEWI4 JSB NEWI# GET THE ALLOTTED TIME STA LTEMP+4 IN MINUTES. LDA T35LC CPA .+54B RSS JMP LFRER * JSB NEWI# GET THE DISC ALLOW›ED. STA LTEMP+6 LDA T35LC MUST BE END OF CPA .+15B LINE. RSS JMP LFRER CLA ZERO STA LTEMP+5 TIME AND STA LTEMP+7 DISC USED * JSB FIDT FIND SPOT FOR NEW ID JMP NEWI6 DUPLICATE ENTRY LDA IDLEN UPDATE ADA .-8 TOTAL STA IDLEN IDT LENGTH * STB IDCAD LDB IDCNT COMPUTE # OF WORDS BLS,BLS TO MOVE UP BLS CMB,INB LDA IDCAD COMPUTE LAST ADDRESS ADA .-1 OF ID TABLE ADA 1 STA MOVES SET SOURCE ADDRESS ADA .+8 STA MOVED SET DESTINATION ADDRESS CMB,INB JSB MOVEB MOVE UP TALBE * LDA IDCAD MOVE NEW INTRY INTO STA MOVED SPACE PROVEDED LDA DLTEM STA MOVES LDB .-8 JSB MOVEW * NEW11 LDA IDTLA,I IS TRACK TOO LARGE? ADA .-8 COMPARE WITH CPA M3072 MAX TRACK LENGTH RSS JMP NEW10 NO - OK TO JUST WRITE OUT * LDA IDTRA,I OUTPUT FULL LDB LIBD ID TRACK JSB DISCL * * LDA LIBD MOVE LAST ENTRY STA MOVED TO MOTTOM OF NEXT TRACK LDA IDTLA,I LOAD TRACK LENGTH CMA,INA ADA LIBD STA MOVES LDB .-8 JSB MOVEW * LDA IDTLA LOAD LENGTH OF NEXT TRACK ADA .-1 STA IDTLA LDA 0,I STA WORD LDA IDTRA LOAD DISC ADDRESS ADA .-1 STA IDTRA OF NEXT TRACK LDA 0,I LDB LIBDI ADB .+8 READ IN NEXT ID TRACK JSB DISCL * JMP NEW11 * NEW10 STA IDTLA,I RESET TRACK LENGTH STA WORD LDA IDTRA,I OUTPUT TO ID TRACK LDB LIBD TO DISC JSB DISCL JMP LENDN# NEWI2 LDA NEWIA OUTPUT TABLE FULL MESSAGE LDB NEWIB JMP NEWI8 8e NEWI6 LDA NEWIE OUTPUT DUPLICATE ENTRY MESSAGE. LD<:6B NEWIF F2 * NEWI8 STA MOVES SET UP FOR MOVE LDA T35B1 ROUTINE STA MOVED MOVE STRING STB LTEMP INTO BUFFER. JSB MOVEW LDA LTEMP ALS CMA,INA CALL LDB T35B1 DRIVER. JSB TTY35,I JMP LENDR TERMINATE. * * OUTPUT MESSAGES * NEWIA DEF *+1 OCT 5111 ASC 6,D TABLE FULL NEWIB EQU .-*+NEWIA+1 NEWIE DEF *+1 == OCT 5104 ASC 7,UPLICATE ENTRY NEWIF EQU .-*+NEWIE+1 NEWI# NOP SCAN FOR A NUMBER. CLA INITIALIZE STA NEWIT TO ZERO. JSB T35CH,I GET NEXT CHARACTER JMP NEWIZ DONE ADA M72B TEST FOR DIGIT SSA,RSS S JMP NEWIZ NOT A DIGIT ADA .+10 CLE,SSA JMP NEWIZ LDB NEWIT ELB,ELB SEZ,SLB,RSS RSS JMP LFRER ADB NEWIT ELB SEZ,SLB,RSS RSS S JMP LFRER ADA 1 SEZ JMP LFRER JMP NEWI#+2 NEWIZ LDA NEWIT JMP NEWI#,I NEWIP NOP GET NEXT 2 PASSWORD LETTERS. CLA LDB T35LC IF LAST CHARACTER A CPB .+54B COMMA, RETURN ZERO. JMP NEWIP,I JSB T35CH,I GET NEXT CHAR. JMP LFRER R CPA .+54B IF A COMMA JMP NEWIP+1 ALF,ALF SAVE 1ST STA NEWIT CHAR. JSB T35CH,I JMP LFRER CPA .+54B IF COMMA TAKE AS CLA ZERO. ADA NEWIT JMP NEWIP,I NEWIT BSS 1 $NEW EQU * *< ~n< O^ 24280-80031 1534 S 0122 TSB/E SYSTEM              H0101  HED KILLID * THE KILLID ROUTINE IS USED TO REMOVE ID CODES FROM THE SYSTEM * IDTABLE. THE FORMAT IS: * * KILLID - IDCODE * * * IDCODE A000 CANNOT BE KILLED BY THIS COMMAND. * * KILLID PERFORMS THE FOLLOWING FUNCTIONS: * * 1. THE ID-CODE IS REMOVED FROM THE IDT. * 2. ANY USERS LOGGED ON WITH THIS NUMBER ARE DUMPED. * 3. ALL LIBRARY SPACE ALLOCATED TO THIS ID IS RETURNED TO THE * SYSTEM. SPC 2 ORG LIBRA JSB GETID TRANSLATE THE IDCODE. JMP LFRER ERROR IF NO CR FOLLOWD. LDA ID TEST FOR A000. CPA A000 JMP KID31 * * READ IN IDT. * JSB FIDT FIND ID ENTRY RSS GOT IT JMP KID32 NO SUCH ID * * REMOVE ID FROM TABLE. * STB MOVED ADB .+8 STB MOVES ADB MLIBD ADB IDTLA,I JSB MOVEW KID.1 LDA IDTRA IS THIS THE CPA IDTTA LAST TRACK? JMP KID33 YES * LDA IDTLA,I WAS THE TRACK FULL? ADA .-8 CPA M3072 RSS YES JMP KID33 NO - WRITE IT OUT LDA IDTLA GO TO NEXT TRACK ADA .-1 TO FILL IN THIS ONE STA KDTP1 SAVE POINTER TO NEXT TRACK LENG LDB 0,I LOAD TRACK LENGTH SZB,RSS EMPTY? JMP KID33 3_ LDA IDTRA SET ADDRESS POINTER TO ADA .-1 NEXT TRACK STA KDTP2 AND SAVE IT LDB IDTLA,I COMPUTE ADB .+8 LAST CORE ADDRESS CMB,INB OF PREVIOUS ADB LIBDI TRACK LDA .-8 READ IN STA WORD ONE MORE ENTRY LDA KDTP2,I I JSB DISCL LDA IDTLA,I OUTPUT STA WORD FULL LDA IDTRA,I TRACK LDB LIBD TO JSB DISCL DISC * * LDA KDTP1 UPDATE STA IDTLA POINTERS LDA KDTP2 TO STA IDTRA NEXT TRACK LDA IDTLA,I READ IN STA WORD  LDA IDTRA,I THE NEXT TRACK LDB LIBDI OF THE JSB DISCL IDT LDA LIBD STA MOVED ADA .+8 SQUEEZE OUT STA MOVES FIRST ENTRY LDB IDTLA,I (WHICH IS NOW ON PREVIOUS TRACK) ADB .+8 JSB MOVEW JMP KID.1 * KID33 LDA IDTLA,I OUPUT ADA .+8 ID STA IDTLA,I TRACK STA WORD LDA IDTRA,I LDB LIBD JSB DISCL LDA IDLEN UPDATE TOTAL ID LENGTH ADA .+8 STA IDLEN * * SEARCH TTY TABLES FOR ANY USER TO BE DUMPED. * LDA .-16 SET COUNTER STA KIDC CCA SET KIDT TO SAY NONE STA KIDT FOUND YET. LDB DTTY0 ADB .+?ID KID34 LDA 1,I GET ID FROM TABLE. CPA ID IS IT THIS USER? JMP KID35 YES--GO DUMP HIM. KID37 ADB .+TTY01-TTY00 ISZ KIDC ANY MORE TO TEST? JMP KID34 YES. JMP KID36 NO--TRANSFER TO NEXT PART. * * DUMP THE USER. * KID35 STB KIDB SAVE POINTER TO TABLE. CLF 0 INHIBIT INTERRUPT. ADB .+?STAT-?ID LDA %DISC SET USER'S [E] STA B,I STATUS TO %DISC ADB .+?MASK-?STAT LDA MPCOM IOR B,I SET PORT COMMUNICATIONS STA MPCOM FLAG TO INFORM SCHEDULER ADB .-?MASK+?LINK JSB KIDEQ,I REMOVE FROM QUEUE. STF 0 ISZ KIDT IS FUSS TABLE IN CORE? JMP KID38 YES. LDA M128 NO -- READ IT IN STA WORD LDA FUSS,I LDB LIBDI JSB DISCL * KID38 LDA KIDC COMPUTE LOCATION OF USER'S FUSS ADA .+16 ALF,RAR X] ADA LIBD STA KIDP LDB .-8 ZERO OUT USER'S FUSS AREA X] CLA ** STA KIDP,I ISZ KIDP INB,SZB JMP *-3 * LDB KIDB GET POINTER AGAIN. JMP KID37 GO TEST NEXT USER. Z* KID36 LDA FUSS,I WRITE BACK FUSS LDB LIBD IF ANY USERS ISZ KIDT WERE DUMPED. JSB DISCL * * WE HAVE NOW GOTTEN RID OF THE USER. THE NEXT STEP IS TO CALL * THE KILLID OVERLAY TO RELEASE ANY SYSTEM SPACE CONSUMED BY THE * USER. * LDA M252 SET WORD COUNT STA WORD DLD LIB,I GET DISC ADDRESS LDA 1 OF OVERLAY. LDB #LIBI JMP LIBRA+254 KIDEQ DEF DEQUE * KID31 LDA KIDM1 PRINT "A000 NOT ALLOWED" LDB .-17 JMP *+3 KID32 LDA KIDM2 PRINT "NO SUCH ID" LDB .-11 STB KIDC STA MOVES LDA T35B1 STA MOVED BRS JSB MOVEW LDA KIDC CMA,INA LDB T35B1 JSB TTY35,I JMP LENDR * KIDM1 DEF *+1 OCT 5101 ASC 8,000 NOT ALLOWED KIDM2 DEF *+1 OCT 5116 ASC 5,O SUCH ID * ORG LIBRA+254 PERFORM OVERLAY. JSB DISCL JMP LIBRA $KID EQU * * HED KILLID OVERLAY SECTION * THE KILLID OVERLAY IS CALLED BY KILLID AFTER IT HAS TAKEN CARE OF * THE EASY PART OF KILLID. THIS SECTION HAS THE JOB OF REMOVING ALL * FILES BELONGING TO THE ID BEING KILLED FROM THE USER LIBRARY, AND * UPDATING THE ADT APPROPRIATELY. ORG LIBRA LDA DIRD3 TEST INDIVIDUAL DIRECTORIES KID4 STA KIDI KIDI POINTS TO THE ONE TESTED. DLD KIDI,I GET LENGTH AND FIRST ID. STB KIDT SAVE FIRST ID FOR LATER. CLE B] ADB MID B=FIRST ID- KEYID SZA FORGETTRACK IF IT'S EMPTY SEZ,SZB OR IF FIRSTID>KEYID B] RSS JMP KID2 KID1 LDA KIDI CPA DIRD0 JMP KID18 ADA .-7 BUMP TO NEXT TRACK. JMP KID4 * * * PROCESS DIRECTORY TRACK IN ORDER TO REMOVE KEY ID ENTRIES. THE * DIRECTORY IS READ INTO THE BEGINNING OF THE WORKSPACE AND IS * SCANNED IN REVERSE ORDER. A TABLE OF PATCHES IS BUILT UP FROM TH|E * OTHER END. THE FOLLOWING POINTERS ARE USED: * * KIDP1 => DIRECTORY ENTRY BEING TESTED * KIDP2 => FIRST ENTRY FOLLOWING LAST KID ENTRY * KIDP3 => LAST ENTRY IN DIRECTORY * KIDP4 => LAST ENTRY IN PATCH TABLE * KIDK = -# OF WORDS AVAILABLE FOR PATCH TABLE. * KID2 STA WORD SET UP LENGTH FOR DISC TRANSFER. ADA USEND GET # WORDS CMA,INA LEFT ADA LIBD IN STA KIDK KIDK LDA WORD SET END CMA,INA OF DIRECTORY ADA .-8 POINTER ADA LIBD STA KIDP3 ENTRY IN DIRECTORY. STA KIDP1 SET POINTER TO CURRENT ENTRY. LDA USEND INITIALIZE PATCH TABLE STA KIDP4 POINTER. LDA KIDI GET DIRECTORY ADA .+6 DISC ADDRESS LDA 0,I IN A, LDB LIBDI ADDRESS OF WORKSPACE JSB DISCL IN B, & READ DISC. * * KID7 LDA KIDP1,I GET ID OF NEXT ENTRY ELA,CLE,ERA ADA MID COMPARE WITH KEY ID. SSA TEST FOR < JMP KID6 SZA TEST FOR > JMP KID8 * * FOUND AN ENTRY FOR KID. NOW REMOVE IT. * LDB KIDP1 IF THIS IS THE FIRST ADB .+8 SUCH ENTRY, SET KIDP2 AS LDA KIDP4 STATED ABOVE. CPA USEND STB KIDP2 LDA KIDI,I ADJUST THE DIRECTORY LENGTH. ADA .+8 STA KIDI,I * ADB .-2 SAVE DISC LOC & LENGTH OF AREA DLD 1,I IN LTEMP. DST LTEMP LDB KIDK TEST FOR ANY ROOM IN SZB PATCH AREA. JMP KID9 * * MAKE ROOM BY PUSHING UP PARTIALLY EXAMINED DIRECTORY. * LDB KIDP1 SET UP STB MOVED DEST AND LDB KIDP2 SOURCE. STB MOVES CMB COMPUTE # ADB KIDP3 OF WORDS CMB TO MOVE ADB .-8 AND JSB MOVEW DO IT. * LDB KIDP2 SET B=-# OF WORDS CMB,INB GAINED. ER ADB KIDP1 LDA KIDP1 ADJUST KIDP2,KIDP3, AND KIDK. STA KIDP2 __ LDA KIDP3 ADA 1 1 STA KIDP3 * KID9 ADB .+2 TAKE 2 WORDS FROM STB KIDK PATCH TABLE. LDB KIDP4 MOVE PATCH POINTER ADB .-2 BACK2 WORDS. STB KIDP4 LDB LTEMP+1 GET NEGATIVE WORD LENGTH. ASR 7 CONVERT TO POSITIVE X] CMB,INB SECTORS. LDA LTEMP GET DISC ADDRESS. DST KIDP4,I STORE PATCH. * KID8 LDB KIDP1 TEST FOR FINISHED CPB LIBD EXAMINING DIRECTORY ENTRIES. JMP KID6 ADB .-8 IF NOT, MOVE POINTER BACK TO STB KIDP1 NEXT ENTRY. JMP KID7 * * THE PATCH TABLE IS NOW BUILT. THE NEXT STEP IS TO FIXUP THE DIREC. * KID6 LDA KIDP4 IF THE PATCH TABLE IS EMPTY, WE CPA USEND DIDN'T DO ANYTHING JMP KID1 * * LDA KIDI,I SZA,RSS IF LENGTH=0 WE DONT HAVE TO JMP KID10 WRITE IT BACK OUT. STA WORD SET UP FOR DISC DRIVER. * * WE FIRST HAVE TO CLOSE UP THE HOLE. THER ARE 2 * CASES, DEPENDING UPON WHITHER THE HOLE IS AT THE * BEGINNING OR IN THE MIDDLE. * LDA KIDP2 WE WILL MOVE FROM KIDP2 IN STA MOVES ANY CASE. LDB KIDT GET FIRST ID IN B. CPB ID IF = HOLE IS AT BEGINNING JMP KID11 GO SET NEW FIRST ID. LDA KIDP1 SET DEST. TO BE RIGHT AFTER ADA .+8 LAST ENTRY EXAMINED. CPA MOVES FORGET IT IF SAME AS SOURCE. JMP KID12 LDB KIDP3 COMPUTE # OF WORDS TO MOVE. CMB,INB ADB KIDP2 ADB .-8 JMP KID13 GO MOVE IT. * KID11 LDA KIDI SET UP NEW FIRST ID. INA LDB .-5 KID13 STA MOVED JSB MOVEW * * NOW WRITE DIRECTORY BACK TO DISC. * KID12 LDB LIBD DETERMINE CORE ADDRESS. LDA ID CPA KIDT LDB KIDP2 LDA KIDI GET DISC ADDRESS. ADA .+"6 LDA 0,I JSB DISCL WRITE DISC. * KID10 LDA ADLEN READ IN ADT. STA WORD LDA ADLOC LDB LIBDI JSB DISCL * * GO THROUGH THE PATCH TABLE ONE ELEMENT AT A TIME, * POINTING TO IT WITH KIDP4. * LDB LIBD SCAN ADT FOR FIRST ENTRY BEYOND KID14 LDA KIDP4,I SAVE THE DISC AND HEAD X] AND DHMSK ADDRESS OF THE DISC X] STA LTEMP+14 ADDRESS X] KID.5 LDA 1,I LOAD ADT ENTRY X] AND DHMSK GET DISC AND HEAD X] CPA LTEMP+14 SAME AS REQUIRED? X] JMP KID.4 YES X] ADB .+2 NO, NEXT ENTRY X] JMP KID.5 X] KID.4 STB LTEMP+13 SAVE ENTRY POINTER X] LDA 1,I LOAD ENTRY X] CMA,CLE,INA SUBTRACT REQUIRED ONE X] ADA KIDP4,I X] SZA,RSS IF = FORGET THE WHOLE PATCH.THIS JMP KID17 MIGHT HAPPEN IF ADT+PATCHTABLE * IS TOO BIG. SEZ,RSS JMP KD.10 ADB .+2 NOPE, TRY NEXT ENTRY X] LDA 1,I LOAD ENTRY X] AND DHMSK GET DISC AND HEAD X] CPA LTEMP+14 IF SAME AS BEFORE STILL NOT DONE JMP KID.4+1 SAME TRY NEXT ENTRY X] ADB .-2 (L) * * FOUND FIRST ENTRY BEYOND PATCH. * * KD.10 EQU * STB KIDP1 SAVE ADDRESS OF THAT ENTRY. LDB KIDP4 SET A=LOC(PATCH)+LEN(PATCH) INB -LOC(NEXT ENTRY)=0 IF ADA 1,I ADJACENT. ADA .-1 STA KIDK LDB KIDP1 NOW DETERMINE IF PREVIOUS ADB .-2 ENTRY IS ADJACENT TO NEW DLD 1,I ENTRY. ADB 0 STB KIDJ DLD KIDP4,I CPA KIDJ JMP KID15 IT IS. * * THE NEW ENTRY IS NOT ADJACENT TO THE PREVIOUS ENTRY. * ISZ KIDK ADJACENT TO NEXT AREA? JMP KID16 NO. STA KIDP1,I RESET FOLLOWING ENTRY SO ITS AD- ISZ KIDP1 DRESS IS THAT OF THE NEW ONE & ADB KIDP1,I ITS SIZE IS THE SUM. STB KIDP1,I JMP KID17 * KID16 DST LTEMP SAVE NEW ENTRY. LDA ADLEN ADA .-2 GET ADLEN-2 STA 1 SAVE IN B. ADA P3072 MAKE SURE IT WILL FIT X] SSA OK JMP KID17 FORGET IT IF NO FIT. CMB SET DEST FOR MOVE TO ADB LIBD LIBUS-ADLEN+1 STB MOVED ADB .-2 SET SOURCE TO LIBUS-ADLEN-1 STB MOVES CMB #OF WORDS =-(LIBUS-ADLEN-P1) ADB KIDP1 JSB MOVEB DLD LTEMP NOW SET NEW ENTRY DST KIDP1,I INTO TABLE, LDA .-2 BUMP ADLEN. JMP KID21 * * KID15 ISZ KIDK ADJACENT TO PREVIOUS AREA--- JMP KID19 ---BUT NOT TO FOLLOWING ONE. LDA KIDP1 WE ARE GOING TO COMBINE 3 AREAS. STA MOVED INA ADB 0,I ADD LENGTH OF FOLLOWING AREA. ADA .-2 ADB 0,I ADD LENGTH OF PRECEDING AREA STB 0,I SET AS NEW LENGTH. ADA .+3 SET B=SOURCE OF SLIDE. STA MOVES LDB ADLEN COMPUTE ADB MLIBD LENGTH OF MOVE. ADB 0 JSB MOVEW W LDA .+2 DECREMENT KID21 ADA ADLEN ADLEN. STA ADLEN JMP KID17 * KID19 CCA ADJUST LENGTH OF PREVIOUS AREA ADA KIDP1 BY ADDING LENGTH OF NEW AREA. ADB 0,I xx STB 0,I * KID17 LDA KIDP4 BUMP KIDP4 TO POINT AT NEW ADA .+2 PATCH ENTRY. CPA USEND TEST FOR DONE JMP *+4 STA KIDP4 LDB LTEMP+13 X] JMP KID14 GO FOR NEXT PATCH ENTRY X * * WRITE ADT TO DISC * LDB ADLEN N STB WORD LDA AD%LOC LDB LIBD JSB DISCL * JMP KID1 KID18 CLF 0 CLA STA LIB JMP LEND $$KID EQU * *o ORG LTEMP KIDP BSS 1 KIDC BSS 1 KIDB BSS 1 KIDI BSS 1 KIDJ BSS 1 KIDK BSS 1 KIDP1 BSS 1 KIDP2 BSS 1 1) KIDP3 BSS 1 KIDP4 BSS 1 ?? KIDT BSS 1 KDTP1 BSS 1 KDTP2 BSS 2 HED *MOVE* * * THE MOVE ROUTINE IS USED TO MOVE PROGRAMS * AND FILES FROM 1 DISC TO ANOTHER. * THE FORM OF THE COMMAND IS: * MOVE-,, * THE INDICATED PROGRAM OR FILE IS MOVED * TO THE NEW SUBCHANNEL. * SPC 2 ORG LIBRA SPC 1 JSB GETID GET THE ID RSS JMP LFRER STATEMENT END CPA .+54B COMMA? RSS YES JMP LFRER NO-ERROR JSB T35CH,I GET NEXT CHAR JMP LFRER ERROR-CR CPA .+54B COMMA? JMP LFRER R * * GET FILE OR PROGRAM NAME * * ALF,ALF IOR .+40B STA LTEMP+1  LDA .-2 STA MOVCT LDA DLTEM ADA .+2 STA MOVPT JSB T35CH,I GET CHAR JMP LFRER NONE LEFT CPA .+54B COMMA? JMP MOV.1 YES LDA LTEMP+1 TAKE CARE XOR .+40B BLANK IOR T35LC ADD NEW CHARACTER STA LTEMP+1 LDA DLTEM ADA .+2 STA MOVPT SAVE POINTER MOV.3 JSB T35CH,I JMP LFRER R CPA .+54B DO WE WANT IT. JMP MOV.1 ALF,ALF ROTATE CHARACTER TO UPPER HALF STA MOVPT,I I JSB T35CH,I JMP LFRER CPA .+54B LDA .+40B IOR MOVPT,I STA MOVPT,I LDA T35LC RELOAD LAST CHARACTER ISZ MOVPT ISZ MOVCT DONE? RSS JMP MOV.2 CPA .+54B RSS JMP MOV.3 MOV.1 LDA MOVBL FILL IN STA MOVPT,I BLANKS FOR ISZ MOVPT REMAINDER ISZ MOVCT IF NAME JMP *-3 MOV.2 LDA T35LC GET LAST CHARACTER AGAIN CPA .+54B COMMA? O JMP MV.F OK JSB T35CH,I NO - GET COMMA JMP LFRER NOT THERE CPA .+54B COMMA?? JMP MV.F YES JMP LFRER NO MV.F EQU * JSB T35CH,I GET SUBCHANEL JMP LFRER NONE STA MOVSB SAVE CHAR JSB T35CH,I CR? RSS JMP LFRER NO-ERROR LDA MOVSB LOAD SUBCHANNEL ADA M72B TEST FOR DIGIT SSA,RSS JMP LFRER NO ADA .+10 SSA JMP LFRER NO * * SUBCHANNEL IS IN A * NOW FORM DISC ADDRESS * STA 1 ADB .-4 VALID SUBCHANNEL SSB,RSS JMP LFRER NO CLE,ERA RAR SEZ,RSS IOR B100 FIXED DISC BIT STA MOVDS SAVE IT * * NOW LOOK FOR PROGRAM NAME * * LDA ID STA LTEMP JSB DLOOK SEARCH DIRECTORY RSS * * NO SUCH PROGRAM JMP MV.ER NO SUCH PROGRAM LDB LTEMP+5 ADB .+6 LDA 1,I STA MDADA SAVE DISC ADDRESS ADB .-4 IS THIS LDA 1,I A FILE? SSA,RSS * JMP MOV.4 NO LDA M128 YES - STA WORD CHECK IF LDA FUSS,I BUSY LDB LIBDI LOAD JSB DISCL FUSS LDB LIBD MVR.1 LDA 1,I IY CPA MDADA FILE BUSY? JMP MOVFB YES ADB .+2 CPB L128 DONE? JMP MVR.2 YES - IT'S OK JMP MVR.1 NO * MOVFB LDA MBFMS OUTPUT STA MOVES BUSY LDA T35B1 MESSAGE STA MOVED LDB .-5 JSB MOVEW LDA .+10 LDB T35B1 JSB TTY35,I JMP LENDR * MBFMS DEF *+1 OCT 5102 ASC 4,USY FILE MVR.2 LDB LTEMP+4 RELOAD LDA 1,I DIRECTORY STA WORD TRACK ADB .+6 LDA 1,I LDB LIBDI JSB DISCL MDADA EQU LTEMP+121 MOV.4 LDB LTEMP+5 GO TO ENTRY ADB .+6 GET DISC WADDRESS LDA 1,I AND DHMSK IS IT ON CORRECT CPA MOVDS DISC? JMP LEND YES-ALL DONE * LDA 1,I STA MOVD1 DAVE OLD DISC ADR INB LDA 1,I STA MOVWD SAVE LENGTH CCB ASR 7 CONVERT TO SECTORS STA MOVLN LDB LTEMP+5 MOVE STB MOVES CORRECT LDB DLTEM NAME WITH STB MOVED FILE AND PROTECT LDB .-4 BITS JSB MOVEW TO TEMPORARY BUFFER * * SEARCH ADT FOR ENTRY ON THE RIGHT DISC * LDA ADLEN STA WORD ARS STA MOVCT LDA ADLOC LDB LIBDI JSB DISCL READ ADT * LDB LIBD STB MOVPT SAVE POINTER MOV.6 LDA 1,I AND DHMSK RIGHT DISC? CPA MOVDS JMP MOV.5 MOV.A EQU * ADB .+2 ISZ MOVCT NO MORE? JMP MOV.6 JMP MOV.C MOV.5 INB GET LENGTH LDA 1,I POINT BACK AGAIN ADB .-1 ADA MOVLN SSA JMP MOV.A * * SUFFICIENT SPACE HAS GEEN FOUND * ON THE REQUESTED DISC * DLD 1,I LOAD ENTRY DST MADT SAVE ADT ENTRY * LDB LTEMP+4 LOAD LDA 1,I DIRECTORY TRACK STA WORD ADB .+6 LDA 1,I LDB LIBDI JSB DISCL LDB LTEMP+5 GET PROG START ADB .+4 LDA 1,I STA MPROG SAVE PROGRAM START INB LDA 1,I GET PURGE DATE STA MPURG +SAVE IT * LDA MOVDS SET UP+ STA LTEMP+6 COMPUTE REQUESTED MOV.G LDA MVOVL STA WORD LDB LIB INB LDA 1,I LDB #LIBI JMP LIBRA+252 * * DISC OVERLOAD * * MOV.C LDA MVER1 MOVE ERROR MESSAGE STA MOVES TO TTY 35 BUFFER LDA T35B1 STA MOVED LDB .-8 JSB MOVEW LDA .+9 LDB T35B1 ## JSB TTY35,I OUTPUT 'SYSTEM OVERLOAD' YB@< JMP LENDR MV.ER LDA MVSMS LOAD MESSAGE ADDRESS STA MOVES AND SAVE FOR MOVE BUFFER ROUTINE LDA T35B1 SET DESTINATION ADDRESS STA MOVED LDB .-8 MOVE 8 WORDS JSB MOVEW MOVE ERROR MESSAGE INTO TTY35 BUF LDA .+16 LDB T35B1 JSB TTY35,I OUTPUT MESSAGE JMP LENDR * MVOVL ABS LIBRA-$$MOV MVER1 DEF FD.1+11 MVSMS DEF *+1 OCT 5116 ASC 7,O SUCH PROGRAM MOVBL ASC 1, ORG LIBRA+252 JSB DISCL LOAD OVERLAY JMP LIBRA $MOV EQU * *B P` 24280-80032 1534 S 0122 TSB/E SYSTEM              H0101  HED MOVE OVERLAY * * THE MOVE OVERLAY DOES THE ACTUAL MOVING * OF THE PROGRAM * SPC 2 ORG LIBRA SPC 1 JSB FDIRC GET DIREC LDB LTEMP+4,I TRACK SZB,RSS EMPTY? JMP MOV.B YES - GO BACK ONE LDA DLTEM ON THIS TRACK? LDB LTEMP+4 INB JSB DIRCM JMP MOV.B NO - GO BACK ONE TRACK NOP (L) MOV.D LDA LTEMP YES IOR BIT15 LOOK STA LTEMP FOR JSB DLOOK IT JMP LEND ALREADY THERE LDA LTEMP FOUND WHERE IT GOES ELA,CLE,ERA STA LTEMP PV JMP MOV.H MOV.B LDB LTEMP+4 GO BACK ADB .-7 ONE STB LTEMP+4 TRACK JMP MOV.D * * WE HAVE FOUND WHERE THE NEW ENTRY * FITS, SO PUT IT IN * MOV.H EQU * LDB LTEMP+4 MAKE LDA 1,I SURE STA WORD DIRECTORY ADB .+6 TRACK LDA 1,I IS LDB LIBDI IN JSB DISCL CORE LDB LTEMP+4,I CPB M4560 (D) JMP MVSUP IF TRACK FULL THEN SUPERSAVE CMB ADB LIBD STB MOVES SET SOURCE ADR ADB .+8 STB MOVED SET DESTINATION ADDRESS LDB MOVES COMPUTE CMB,INB LENGTH ADB LTEMP+5 ADB .+7 zz JSB MOVEB MOVE UP DIRECTORY * LDA LTEMP+5 MOVE NEW ADA .+8 ENTRY INTO STA MOVED POSITION LDA DLTEM STA MOVES LDB .-4 JSB MOVEW * LDA MPROG SET IN PROG START STA MOVED,I LDA MPURG STORE DATE ISZ MOVED STA MOVED,I ISZ MOVED LDA MADT STORE AND LENGTH LDB MOVWD ADDRESS AND LENGTH DST MOVED,I LDB LTEMP+4 UPDATE DIRECTORY STB MOVED TRACK LDA 1,I LENGTH ADA .-8 E STA 1,I STA WORD ADB .+6 LDA 1,I LDB LIBD JSB DISCL OUTPUT DIREC TO DISC * ISZ MOVED LDB LIBD STB MOVES LDB .-4 UPDATE B.P. DIREC. JSB MOVEW * * READ IN ADT TABLE+UPDATE * LDA ADLEN STA WORD LDA ADLOC LDB LIBDI JSB DISCL READ IN ADT * LDB LIBD LDA 1,I GET ENTRY CPA MADT IS THIS THE NEW ENTRY JMP *+3 YES ADB .+2 JMP *-4 NEXT ENTRY * * LDA MOVLN CMA,INA ADA MADT STA 1,I LDA MOVLN RESET NEW LENGTH ADA MADT+1 INTO ADT ENTRY INB STA 1,I SZA IS IT ZERO? JMP MOV.7 NO - GO LOOK FOR L OLD ONE INB YES-DELETE IT STB MOVES STB 0 ADB .-2 STB MOVED ADA ADLEN LDB LIBD CMB,INB ADB 0 0 JSB MOVEW COMPACT ADT TABLE ISZ ADLEN REDUCE LENGTH ISZ ADLEN * * NOW SEARCH FOR OLD ENTRY POSITION * MOV.7 LDB LIBD\\ LDA MOVD1 AND DHMSK STA MOVDS MV.C EQU * LDA 1,I LOAD ENTRY AND DHMSK RIGHT CPA MOVDS DISC? JMP MV.B ADB .+2 NO- NEXT ENTRY JMP MV.C.| MV.B EQU * LDA 1,I RELOAD ADT ENTRY AND DHMSK (L) CPA MOVDS SAME SUB-CHANNEL? (L) RSS YES, CONT. SEARCH (L) JMP MOV.8 NO LDA 1,I CMA,INA ADA MOVD1 ARE WE BEYOND OLD ENTRY SSA JMP MOV.8 YES INSERT ENTRY ADB .+2 JMP MV.B. MOV.8 STB MVADT SAVE ADDRESS LDA MOVLN LOAD LENGTH CMA,INA POSITIVE SECTORS ADA MOVD1 ADD DISC ADDRESS CPA MVADT,I ADJACENT? JMP MOV.9 YES ADB .-2 GO BACK TO PREVIOUS LDA 1,I LOAD DISC ADDRESS INB ADA 1,I ADD LENGTH *;CPA MOVD1 ADJACENT? JMP MOV10 YES * * THE NEW ADT ENTRY IS NOT ADJACENT * TO ANY OTHERS, SO SEPARATE TABLE * AND INSERT NEW ENTRY * LDB ADLEN MOVE CMB ADT ADB LIBD APART STB MOVES ADB .+2 STB MOVED CMB,INB INB ADB MVADT JSB MOVEB SEPARATE ADT TABLES LDA MOVD1 SET NEW ADDRESS STA MVADT,I LDA MOVLN CMA,INA A& ISZ MVADT SET LENGTH STA MVADT,I LDA .-2 RESET ADA ADLEN ADT TABLE STA ADLEN LENGTH JMP MOV11 * THE NEW ENTRY IS ADJACENT TO THE * NEXT ONE * MOV.9 LDA MOVD1 SET NEW ADDRESS STA 1,I INTO TABLE LDA MOVLN COMPUTE NEW CMA,INA LENGTH INB AND STORE ADA 1,I IN TABLE STA 1,I * ADB .-3 CHECK IF PREVIOUS LDA 1,I ENTRY IS ADJACENT INB ADA 1,I CPA MVADT,I RSS YES JMP MOV11 1- ADB .+2 COMPUTE NEW LDA 1,I LENGHT ADB .-2 (ADDRESS IS ADA 1,I CORRECT AS IS) STA 1,I * * NOW COMPACT TABLE * LDA MVADT SET UP FOR STA MOVED MOVEW SUBROUTINE ADA .+2 STA MOVES LDB LIBD COMPUTE # OF CMB,INB WORDS TO MAVE ADB ADLEN ADB MVADT ADB .+2 JSB MOVEW NOVE TABLE DOWN ISZ ADLEN RESET TABLE ISZ ADLEN LENGTH JMP MOV11 1- * * NEW ENTRY IS ADJACENT TO PREVIOUS * ENTRY BUT NOT TO NEXT ENTRY * MOV10 LDA MOVLN RESET LENGTH CMA,INA (ADDRESS IS OK) ADA 1,I STA 1,I * * THE ADT HAS BEEN RESET * NOW DELET OLD DIRECTORY ENTRY * MOV11 LDA ADLEN STA WORD LDA ADLOC LDB LIBD JSB DISCL LDA MV.LN STA WORD LDA LIB ADA .+2 LDA 0,I LDB #L0'IBI JMP MOV15 MVSUP ISZ MFLAG SET FLAG TO INDICATE ERROR LDA M252 MESSAGE TO GO TO CONSOLE. STA WORD LOAD "SUPER SAVE" LDA MOV17,I LDB #LIBI JMP LIBRA+252 MOV15 JSB DISCL JMP LIBRA MV.LN ABS LIBRA-$$$MV MOV17 DEF SAVE+1+COM6-COM3 POINTER TO "SUPER SAVE" M4560 DEC -4560 (D) ORG LIBRA+252 JSB DISCL JMP LIBRA JMP MOV.G * MOVD1 EQU LTEMP+7 MOVLN EQU LTEMP+8 MVADT EQU LTEMP+9 MOVDS EQU LTEMP+10 MADT EQU LTEMP+11 MPURG EQU LTEMP+13 MPROG EQU T35BF+31 MOVCT EQU T35BF+35 MOVPT EQU T35BF+34 MOVWD EQU T35BF+33 MOVSB EQU T35BF+32 $$MOV EQU * HED MOVE OVERLAY #2 2 ORG LIBRA SPC 2 LDA MOVD1 AND DHMSK STA LTEMP+6 JSB FDIRC COMPUTE DIRECTORY * LDA LTEMP SET UP TO LOOK IOR BIT15 FOR ONLY 1 TRACK STA LTEMP PV LDA LTEMP+4,I SZA,RSS EMPTY TRACK JMP MOV13 GO TO NEXT ONE LDA DLTEM NOW CHECK IF LDB LTEMP+4 ENTRY IS ON INB THIS TRACK JSB DIRCM JMP MOV13 NO NOP (L) MOV14 JSB DLOOK YES-FIND IT RSS JMP LFRER WHAT HAPPENED TO MY PROG? LDB LTEMP+5 READ IN THE PROGRAM ADB .+7 LDA 1,I STA WORD STA MOVCT ADA P3072 SSA JMP TOMCH ADB .-1 LDA 1,I LDB LIBDI JSB DISCL LDA MADT WRITE TO LDB LIBD NEW JSB DISCL LOCATION MOV16 EQU * LDB LTEMP+4 RELOAD LDA 1,I DIRECTORY TRACK STA WORD TRACK ADB .+6 6 LDA 1,I LDB LIBDI JSB DISCL * * THE OLD ENTRY HAS BEEN FOUND, DELETE IT. * LDA LTEMP+5 MOVE DIRECTORY STA MOVED DOWN. ADA .+8 STA MOVES LDB LIBD CMB,INB ADB LTEMP+4,I ADB LTEMP+5 ADB .+8 JSB MOVEW MOVE! LDA LTEMP+4,I ADA .+8 STA LTEMP+4,I STA WORD LDB LTEMP+4 ADB .+6 LDA 1,I I LDB LIBD STB MOVES JSB DISCL WRITE DIRECTORY TO DISC LDA LTEMP+4 INA STA MOVED LDB .-4 4W JSB MOVEW RESET B.P. DIREC. * * WE ARE NOW ALL DONE! * WHEW! (YOU CAN SAY THAT AGAIN!) * CLF 0 ISZ LIB SAY MOVE NOT IN CORE JMP LEND END OF MOVE MOV13 LDA LTEMP+4 POINT TO ADA .-7 NEXT DIRECTORY STA LTEMP+4 TRACK BACK JMP MOV14 GO FIND PROG TOMCH LDA M3072 STA WORD ADB .-1 LDA 1,I STA MOVDS LDB LIBDI JSB DISCL LDA MADT LDB LIBD JSB DISCL LDA MOVCT ADA P3072 STA WORD LDA MOVDS ADA .+24 LDB LIBDI JSB DISCL LDA MADT ADA .+24 LDB LIBD JSB DISCL JMP MOV16 $$$MV EQU * HED PURGE * THE PURGE COMMAND MAKES IT POSSIBLE TO REMOVE FROM THE LIBRARY * PROGRAMS WHICH HAVE NOT BEEN ACCESSED FOR SOME PERIOD OF TIME. * THE FORMAT FOR THE COMMAND IS AS FOLLOWS: * * PURGE-DAY/YEAR * * WHERE DAY IS AN INTEGER FROM 1 TO 366 AND YEAR IS AN INTEGER FROM * 0 TO 99. ALL PROGRAMS OR FILES WHICH HAVE NOT BEEN ACCESSED SINCE * THE SPECIFIED DATE ARE DELETED FROM THE LIBRARY. * * PURGE WILL REFUSE TO OPERATE IF THE SPECIFIED DATE IS BEYOND * TODAY'S DATE. * * THE ALGORITHM USED OPERATES IN A MANNER ALMOST IDENTICAL TO THAT * USED IN THE LOCK OVERLAY SECTION, EXCEPT THAT THE ADT MUST BE * UPDATED IN ADDITION TO THE IDT. THE ACTUAL UPDATING OF THESE IS * PERFORMED BY CALLING THE ROUTINE PURFX, WHICH READS IN THE PURGE * OVERLAY ROUTINE TO DO THE UPDATING. SPC 3 3 ORG LIBRA LDA A000 IF HELLO PROGRAM STA LTEMP EXISTS, ASSIGN IT LDA PURHE TODAY'S DATE SO IT STA LTEMP+1 DOESN'T GET PURGED. DLD PURHE+1 DST LTEMP+2 JSB DLOOK RSS JMP PUR2 JSB DATE LDB LTEMP+5 ADB .+5 STA 1,I LDA LTEMP+4 ADA .+6 LDA 0,I LDB LIBD JSB DISCL * * INTERPRET DATE. * PUR2 JSB PURNO GET DAY OF YEAR. DEC -367 CPA .+57B TEST FOR NONZERO AND SLASH FOL- SZB,RSS LOWING. JMP PUR1 PARAMETER ERROR. STB PURDT SAVE DATE. JSB PURNO NOW GET THE YEAR. DEC -100 CPA .+15B CHECK FOR RETURN FOLLOWING. CLA,RSS JMP PUR1 * RRR 7 MERGE YEAR AND DATE. IOR PURDT STA PURDT JSB DATE NOW GET TODAY'S DATE. LDB PURDT MAKE SURE SPECIFIED DATE IS CMB,CLE,INB <=TODAY'S DATE ADA 1 SEZ,RSS JMP PUR1 * * THE NEXT STEP IS TO GUARANTEE THAT WE DON'T KILL ANY FILES CUR- * RENTLY IN USE. TO DO THIS WE WILL CHECK THAT THE FUSS TABLE IS * EMPTY. * LDA M128 INPUT FUSS STA WORD TABLE. LDA FUSS,I LDB LIBDI JSB DISCL * LDB LIBD PUR4 CPB L128 DONE? JMP PUR3 YES. LDA 1,I SZA JMP PUR7 INB JMP PUR4 * * ROUTINE TO INPUT A NUMBER * PURNO NOP P JSB PURDG GET A DIGIT JMP LFRER ILLEGAL IF NONE. PURN1 STB PURN SAVE PARTIAL RESULT. ADB PURNO,I CHECK FOR OVERFLOW. SSB,RSS JMP PUR1 JSB PURDG GET NEXT DIGIT. JMP PURN2 END OF NUMBER. LDA PURN MULTIPLY PREVIOUS RESULT BY 10. RAL,RAL ADA PURN RAL ADB 0 ADD IN NEW VALUE JMP PURN1 LOOP PURN2 LDB PURN RETURN NO. ISZ PURNO JMP PURNO,I * * PURDG NOP GET DECIMAL DIGIT JSB T35CQ GET CHAR. JMP PURDG,I NONE THERE. LDB 0 DO DIGIT TEST. ADB M72B ѐ SSB,RSS JMP PURDG,I ADB .+10 SSB,RSS ISZ PURDG G JMP PURDG,I * * ERROR PRINT. * PUR1 LDB .-181. JSB PURER OCT 5111 ASC 8,LLEGAL PARAMETER PUR7 LDB .-11 JSB PURER OCT 5102 ASC 6,USY FILES PURER NOP STB PURN LDA T35B1 STA MOVED LDA PURER STA MOVES BRS JSB MOVEW LDA PURN CMA,INA LDB T35B1 JMP LEND2 * PUR3 EQU * LDA M3072 COMPUTE NEGATIVE LDB M3072 POINTER TO TEST CMB,INB WHEN PURFX MUST ADB ADLEN BE CALLED. SSB LDA ADLEN ADA MLIBD ADA .-4 STA PURID * LDA USEND INITIATE POINTER TO STA PURP END OF CORE TABLE. LDA DIRD0 INITIALIZE DIRECTORY POINTER. PUR10 STA PURI LDA PURP CAN DIRECTORY FIT? ADA PURI,I ADA MLIBD SSA JSB PURFX NO--PERFORM CLEARNUP. LDA PURI,I READ DIRECTORY. STA WORD LDA PURI ADA .+6 LDA 0,I STA PURDD LDB LIBDI JSB DISCL * LDA LIBD INITIALIZE POINTERS. STA MOVED STA MOVES CMA ADA PURI,I CMA STA PURD * PUR11 LDB MOVES FINISHED SCANNING DIRECTORY? CPB PURD JMP PUR12 YES. ADB .+5 DO WE WANT TO DELETE THIS ENTRY? LDA PURDT CMA,CLE,INA ADA 1,I SEZ,RSS JMP PUR13 YES. LDB .-8 NO-MOVE UP ENTRY JSB MOVEW JMP PUR11 * * ENTRY DELETION. * PUR13 LDA MOVES,I COPY ID,DISC ADR.,LENGTH INTO T. STA PURT ADB .+3 3; STB MOVES ADB .-2 DLD 1,I STA PURT+1 ASR 7 X] CMB,INB STB PURT+2 * LDA PURD CAN NEW ENTRY FIT IN WITH THE CMA,INA DIRECTORY? STA 1 ADA .-R0.*3 ADA PURP SSA,RSS  JMP PUR14 YES--GO DO NEXT TEST. * * SQUEEZE DIRECTORY. * LDA MOVED SAVE DEST STA PURN POINTER. ADB MOVES MOVE REMAINDER JSB MOVEW OF DIRECTORY. LDA MOVED RESET STA PURD POINTERS. LDA PURN STA MOVED STA MOVES * * PUR14 LDA PURP WILL IDT AND ADT STILL FIT IF ADA PURID WE MAKE ANOTHER ENTRY? SSA,RSS JMP PUR15 YES. * LDA PURD WRITE OUT DIRECTORY. CMA,INA ADA LIBD STA WORD STA PURW LDA PURDD LDB LIBD JSB DISCL * JSB PURFX CLEAN UP. * LDA PURW READ STA WORD DIRECTORY LDA PURDD BACK. LDB LIBDI JSB DISCL * PUR15 CCB MAKE TABLE ENTRY. ADB PURP LDA PURT+2 STA 1,I ADB .-2 STB PURP DLD PURT DST PURP,I JMP PUR11 PUR12 LDA MOVED UPDATE DIREC. CMA,INA A& ADA LIBD STA PURI,I STA WORD LDA LIBDB STA MOVES LDA PURI INA STA MOVED LDB .-4 JSB MOVEW LDA PURDD WRITE OUT DIRECTORY. LDB LIBD JSB DISCL LDA PURI LAST TRACK? CPA DIRD3 JMP *+3 ADA .+7 JMP PUR10 0 JSB PURFX Xl JMP LEND PURXF LDA PURLN GET BACK TO PURGE. STA WORD LDA LIB,I LDB #LIBI JSB DISCL JMP PURFX,I * PURFX NOP ROUTINE TO CALL IN OVERLAY. DLD LIB,I LDA 1 LDB PURLN STB WORD LDB #LIBI JSB DISCL JMP LIBRA PURLN ABS LIBRA-PURXF PURHE ASC 3,HELLO $PUR EQU * |0 Q ^ 24280-80033 1534 S 0122 TSB/E SYSTEM              H0101  HED PURGE OVERLAY * PURFX IS CALLED WHENEVER THE PATCH TABLE HAS REACHED ITS LIMIT. * THIS ROUTINE FIRST UPDATES IDT BY DECREASING THE "DISC USED" ENTRY * IN EACH IDT ENTRY REFERENCED BY A PATCH. IT THEN BUILDS A NEW ADT * BASED ON THE RELEASED DISC SPACE. SPC 2 ORG LIBRA LDA MOVED LDB MOVES DST PURM LDA IDTTA INPUT FIRST ADA .+3 ID TRACK STA IDTRA LDB IDTRL ADB .+3 STB IDTLA LDB 1,I STB WORD LDB LIBDI LDA 0,I JSB DISCL LDB LIBD SET FIRST ENTRY LDA PURP COPY PURP PURX1 STA PURPP DONE WITH CPA USEND IDT? JMP PURX2 YES LDA PURPP,I CPA 1,I FOUND IDT ENTRY? JMP PURX5 YES CPB LIBD END OF ID TRACK? JMP PUR.4 YES ADB .-8 NO - GO BACK JMP *-5 5 PUR.4 LDA IDTRL,I STA WORD OUTPUT ID TRACK LDA IDTRA,I LDB LIBD JSB DISCL LDA PURPP,I RELOAD ID STA ID JSB FIDT SEARCH ID TRACKS FOR ID ENTRY PURX5 EQU * * ADB .+7 UPDATE IDT ENTRY. ISZ PURPP ISZ PURPP LDA PURPP,I GET LENGTH. CMA,INA SUBTRACT FROM IDT ENTRY. ADA 1,I STA 1,I ADB .-7 RESTORE IDT POINTER. LDA PURPP BUMP PATCH POINTER. INA JMP PURX1 * PURX2 LDA IDTRA,I WRITE BACK IDT LDB LIBD JSB DISCL * LDA ADLEN READ IN ADT. STA WORD LDA ADLOC LDB LIBDI JSB DISCL * PURX3 LDA PURP IS PATCH TABLE EMPTY? CPA USEND JMP PURX4 YES--GO WRITE ADT. ISZ PURP PURP=>DISC ADR OF PATCH. LDB LIBD SEARCH ADT FOR AN ENTRY BEYOND PUR.1 EQU * LDA 1,I STANDARD ADT TABLE SEARCH [X] AND DHMSK X] STA LTEMP+14 X] LDA PURP,I AND >DHMSK X] CPA LTEMP+14 X] JMP PUR.2 X] ADB .+2 X] JMP PUR.1 X] PUR.2 LDA 1,I X] CMA,CLE,INA X] ADA PURP,I X] ADB .+2 SEZ,RSS X] JMP PUR.3 X] LDA 1,I X] AND DHMSK X] CPA LTEMP+14 X] JMP PUR.2 X] ADB .+2 (L) PUR.3 EQU * X] * * TRY TO MERGE WITH NEXT ENTRY * ISZ PURP ADA PURP,I SZA JMP PURX6 CAN'T DO IT. ADB .-1 COMBINE LDA 1,I LENGTHS ADA PURP,I STA 1,I ADB .-1 CCA ADA PURP STA PURP LDA PURP,I,1 STA 1,I CMA,INA TRY TO COMINE 2 ADJACENT ADB .-2 ENTRIES. ADA 1,I I& INB ADA 1,I SZA JMP PURX9 CAN'T COMBINE ENTRIES ADB .+2 LDA 1,I GET LENGTH OF 2ND ENTRY. ADB .-2 ADA 1,I ADD TO STA 1,I LENGTH OF 1ST. INB SMDE STB MOVED TOGETHER. ADB .+2 STB MOVES ADB MLIBD ADB ADLEN JSB MOVEW PRX10 ISZ ADLEN ADJUST ISZ ADLEN ADLEN. . JMP PURX9 PURX6 CCA CAN WE MERGE WITH PREVIOUS ENTRY ADA PURPRW STA PURP ADB .-4 zz LDA 1,I INB ADA 1,I CPA PURP,Iyy JMP PURX8 YES--GO DO IT. * * HAVE TO CREATE A NEW ENTRY. FIRST TEST TO SEE IF * THERE IS ROOM TO EXPAND THE ADT. * LDA ADiLEN ADA .-2 2 STA ADLEN ADA P3072 X] SSA JMP PRX10 NOT ENOUGH--FORGET IT. LDA ADLEN SLIDE CMA DOWN. ADA LIBD STA MOVED ADA .-2 STA MOVES CMA,INA ADB 0 JSB MOVEB ISZ MOVES INSERT NEW ENTRY DLD PURP,I DST MOVES,I PURX9 ISZ PURP ADJUST PURP & ISZ PURP LOOP/ JMP PURX3 * PURX8 ISZ PURP MERGE NEW ENTRY WITH PREVIOUS LDA PURP,I ADA 1,I STA 1,I JMP PURX9+1 * * PURX4 DLD PURM RESTORE MOVES AND MOVED. STA MOVED D STB MOVES LDA ADLEN W[TE ADT BACK. STA WORD LDA ADLOC LDB LIBD JSB DISCL LDA M3072 COMPUTE NEW VALUE LDB M3072 FOR PURID CMB,INB B ADB ADLEN SSB LDA ADLEN ADA MLIBD ADA .-4 STA PURID JMP PURXF $$PUR EQU * (MUST BE <= PURXF) * ORG LTEMP PURDT BSS 1 PURN BSS 1 1 PURP BSS 1 PURI BSS 1 PURDD BSS 1 PURD BSS 1 PURT BSS 3 PURID BSS 1 PURW BSS 1 1 PURPP BSS 1 PURM BSS 2 HED PHONES * * * THE PHONES COMMAND INFORMS THE SYSTEM * OF THE PRESENCE OF A PHONES CONTROL * BOARD. IT ALSO SETS THE TIME ALLOWED FOR LOGGING ON. * SPC 2 26 ORG LIBRA CLA SET INITIAL PHO1 STA LTEMP TIME TO ZERO ADA M256 TOO BIG? SSA,RSS JMP LFRER YES JSB T35CQ GET CHARACTER JMP PHO2 NO MORE ADA M72B DIGIT? SSA,RSS JMP LFRER NO ADA .+10 SSA JMP LFRER LDB LTEMP YES - MULTIPLY BLS,BLS OLD VALUE ADB LTEMP BY 10 BLS ADA 1 ADD IN NEW JMP PHO1 DIGIT * PHO2 LDA LTEMP CHECK VALUE SZA,RSS JMP LFRER INVALID CLB CMA,INA SET COUNTER FOR STA PHR TENTHS OF SECONDS JMP LEND TERMINATE * $PHO EQU * HED *** DISC COMMAND ** DISC-UP,# OR DISC-DN,# *** ORG LIBRA X] * X] * X] JSB T35CH,I GET A CHAR X] JMP LFRER NONE LEFT X] ALF,ALF MOVE UP X] STA SDIS1 AND SAVE [X] JSB T35CH,I GET NEXT CHAR X] JMP LFRER NONE LEFT X] IOR SDIS1 FORM WORD [X] CPA ASCDN DOWN? X] JMP DIS11 YES. CPA ASCUP UP? X] RSS JMP LFRER NO - ILLEGAL X] * X] * DISC,DN,# X] * X] * X] DIS11 STA UPDN SAVE "UP" OR "DN". * * GET SUBCHANNEL AND FORM DISC ADDRESS * * JSB T35CH,I GET NEXT CHAR. JMP SUBER CR. CPA .+54B COMMA? RSS JMP SUBER NO. JSB T35CH,I YES. NEXT CHAR. JMP SUBER CR. ADA M72B TEST FOR DIGIT. SSA,RSS S JMP SUBER NOT A DIGIT. ADA .+10 SSA JMP SUBER NOT A DIGIT. LDB A ADB .-4 TEST FOR TOO BIG. SSB SZA,RSS JMP SUBER IT IS TOO BIG OR =0. LDB A COMPUTE DISC CLE,ERB ADDRESS FOR THIS RBR SUBCHANNEL. SEZ,RSS ADB B100 STA SCHAN SAVE SUBCHANNEL X] STB SDISC SAVE DISC ADDRESS X] LDA UPDN CPA ASCUP UP? JMP UP YES. $ LDA SCHAN NO. DOWN! MPY .+14 MULTIPLY IT BY 14 X] ADA DIRD0 ADD DIRECTORY ADR TO IT X LDB A,I IF TRACK 1 LENGTH=0, THEN SZB,RSS JMP DIS10 ALREADY DOWN. STA LTEMP SAVE POINTER. LDA .-5 READ STA WORD LDA SDISC LDB LIBDI JSB DISCL LABEL. LDB LIBD,I GET USER DISC FLAG. SSB,RSS IF=0, OUTPUT ERROR MESSAGE. JMP DIS12 LDA LTEMP IF=1, RESTORE POINTER. LDB .-14 SET COUNTER TO 14 X STB DCNT SAVE COUNTER X LDB 0,I LOAD TRACK 1 LENGTH X STB DT1L SAVE TRACK 1 LENGTH X ADA .+7 ADD 7 TO ADDRESS X LDB 0,I LOAD TRACK 2 LENGTH X STB DT2L SAVE IT X ADA .-7 RESTORE TRACK 1 ADDRESS X STA LTEMP SAVE ADDRESS LDA M128 INPUT STA WORD FUSS LDA FUSS,I TABLE LDB LIBDI JSB DISCL LDB LIBD SEE IF ANY DIS.9 EQU * LDA 1,I BUSY FILES SZA,RSS IF NO FILE THEN SKIP JMP DIS.8 AND DHMSK ON THIS CPA SDISC DISC JMP DIS.7 YES DIS.8 EQU * ADB .+2 NEXT ONE CPB L128 RSS JMP DIS.9 LDA LTEMP CLB SET 14 WORDS TO 0 X STB A,I THIS CLEARS THE DIRECTORY X INA FOR THIS DISC X ISZ DCNT X JMP *-3 X * X * THE DIRECTORY HAS BEEN CLEARED. X * NOW GET THE SYSTEM ADT TABLE AND DELETE THOSE PORTIONS WHICH * REFER TO THE DOWNED DISC. SAVE THOSE PROTIONS A ON THE * DOWNED DISC X] * L X] * X] LDA ADLEN READ THE SYSTEM ADT X] STA WORD SYSTEM ADT LENGTH X] LDA ADLOC DISC ADDRESS X] LDB LIBDI CORE ADDRESS FOR INPUT X] JSB DISCL LOAD THE ADT X] * X] * X] LDB LIBD LOAD POINTER TO ADT CORE ADDRESS DIS.2 LDA B,I LOAD ADT ENTRY X] AND DHMSK GET DISC AND HEAD X] CPA SDISC RIGHT DISC? X] JMP DIS.1 YES X] ADB .+2 NO GET NEXT ENTRY X] JMP DIS.2 X] DIS.1 STB DADT SAVE POINTER TO ADT BLACK FOR TH RIGHT DISC LDA .-2 SET WORD COUNT=-2 X] DIS.4 STA DCNT X] ADB .+2 GO TO NEXT ENTRY X] LDA 1,I LOAD IT X] CPA .-1 IF IT SI PSEUDO ENTRY, JMP DIS.3 WE FOUND THE END. AND DHMSK IS IT THE X] CPA SDISC RIGHT SUBCHAN? X] RSS YES X] JMP DIS.3 NO - WE HAVE FOUND THE END X] LDA DCNT UPDATE WORD COUNT X] ADA .-2 FOR THE ADT BLOCK X] JMP DIS.4 X] * X] * WE KNOW HOW LONG THE ADT FOR THIS DISC IS, X] * SO SAVE IT, AND OUTPUT IT TO TRACK 0 SECTOR 1 * ALSO OUTPUT THE DIRECTORY TRACK LENGTHS TO THAT SECTOR * X] * X] DIS.3 LDA .-3 X] STA WORD WORD COUNT IS -3 X] 9+ LDB DTAB DEF DCNT X] LDA SDISC FORM DISC ADDRESS X] INA SECTOR IS 1 X] JSB DISCL OUTPUT IT X] * X] * X] LDB DADT LOAD ADT CORE ADDRESS X] LDA DCNT LOAD WORD COUNT FOR THE BLOCK X] STA WORD X] LDA SDISC FORM DISC ADDRESS X] ADA .+2 START IN SECOTR 2 X] JSB DISCL OUTPUT ADT BLOCK TO DISC X] * X] * THE DISC HAS BEEN SAVED. NOW UPDATE SYSTEM ADT * X] LDA LIBD COMPUTE THE LENGTH X] CMA,INA OF THE LAST SECTION X] ADA ADLEN OF THE ADT TABLE X] ADA DADT THIS SECTION MUST X] LDB DCNT LOAD COUNT X] CMB,INB MAKE IT + X] ADB 0 COMPUTE LENGTH X] * X] SZB,RSS TEST IF ANY TO MOVE X] JMP DIS.5 NO X] LDA DADT SET DEST. ADDRESS X] STA MOVED FOR MOVE WORD SUBOUTINE X] LDA DCNT COMPUT START ADDRESS X] CMA,INA FROM POSITIVE BLACK COUNT X] ADA DADT AND BLOCK ADDRESS X] STA MOVES X] JSB MOVEW MOVE WORDS DOWN X] LDA DCNT COMPUT THE NEW X] CMA,INA ADT LENGTH X] ADA ADLEN X] STA ADLEN X] DIS.6 STA WORD X] LDA ADLOC TO THE SYSTEM Џ X] LDB LIBD DISC X] JSB DISCL X] * LDA .-5 READ STA WORD LDA SDISC LDB LIBDI JSB DISCL LABEL. LDB LIBD SET USER DISC LDA B,I FLAG TO 0. ELA,CLE,ERA STA B,I LDA SDISC WRITE JSB DISCL LABEL BACK OUT. * * X] * EVERYTHING HAS BEEN UPDATED X] JMP LEND ALL DONE * UP LDA UPLEN LOAD "DISC-UP" ROUTINE. STA WORD LDA LIB B* INA LDA A,I LDB #LIBI JMP DIS13 3+ * * X] DIS.5 LDA ADLEN X] JMP DIS.6 X] * X] DIS10 LDA DISAD OUTPUT LDB .-6 "ALREADY DOWN" JMP DMES MESSAGE. * DIS.7 LDA DISFB OUTPUT LDB .-6 BUSY FILES JMP DMES MESSAGE * DISAD DEF *+1 OCT 5101 LF-A ASC 5,LREADY DN! DISFB DEF *+1 OCT 5102 ASC 5,USY FILES ASCDN ASC 1,DN ASCUP ASC 1,UP UPDN BSS 1 UPLEN ABS LIBRA-$UP SKP X] SPC 2 ORG 37637B SPC 2 * X] * SUBCHANNEL IS TOO BIG X] * X] SUBER LDA DISR X] LDB .-6 OUTPUT ERROR MESSAGE. * X] DMES STA MOVES SET SOURCE X] LDA T35B1 SET DESTINATION X] STA MOVED X] STB DMESL SAVE LENGTH X] JSB MOVEW MOVE TO TTY35 BUF X] LDA DMESL 640 X] ALS X] CMA,INA X] CLF 0 CLB STB LIB LDB T35B1 STF 0 JMP LEND2 OUTPUT THE MESSAGE. * DIS12 LDA ILL OUTPUT "ILL. DISC" LDB .-5 MESSAGE. JMP DMES * DMESL NOP X] DISR DEF *+1 X] OCT 5123 LF-S ASC 5,UBCH ERROR DCNT NOP [X] DT1L NOP [X] DT2L NOP [X] DTAB DEF DCNT [X] SCHAN EQU LTEMP+4 [X] SDISC EQU LTEMP+5 [X] SDIS1 EQU LTEMP+6 [X] DADT EQU LTEMP+7 [X] * ORG LIBRA+254 DIS13 JSB DISCL LOAD OVERLAY. JMP LIBRA START UP OVERLAY. * $DN EQU * [X] >6 R ` 24280-80034 1534 S 0122 TSB/E SYSTEM              H0101  HED *** DISC COMMAND OVERLAY FOR DISC-UP COMMAND *** ORG LIBRA X] * X] * BRING A NEW DISC UP X] * X] * DISC-UP,# X] * X] LDA SCHAN GET SUBCHANNEL LDB SDISC AND DISC ADDRESS. CLB MPY .+14 COMPUTE ADA DIRD0 DIRECTORY LDB 0,I ADDRESS (B.P.) SZB JMP UP.1 ALREADY UP CLF 0 LDA DCLC1,I SAVE "BLOCK/UNBLOCK" WORD STA UBLK IN SCHEDULER. STB DCLC1,I BLOCK CLOCK. STB STATS CLEAR STATUS STORAGE WORD. LDB PLDR5,I REPLACE "HALT" IN STB PLDR2,I DISC DRIVER. LDA SDISC LDB .-5 STB WORD VALID LDB LIBDI USER JSB DISCL DISC? LDA HLT10 RESTORE THE 'HLT 10B' IN (D) STA PLDR2,I THE DISC DRIVER (D) LDA UBLK RESTORE 'BLOCK/UNBLOCK' (D) STA DCLC1,I WORD IN SCHEDULER (D) LDA STATS GET DISC STATUS. SLA ANY ERRORS? JMP DUP.9 jj * LDB LIBD NO. INB LDA 1,I CPA TS IS IT A USER DISC RSS JMP DUP.5 NO LDA .-3 SET COUNTER STA LTEMP FOR 3 WORDS INB DUP10 LDA B,I LOAD LABEL WORD. CPA DUSYA,I CHECK IF RSS SYSTEM DISC JMP DUP11 NOT SYSTEM DISC. INB NEXT ISZ DUSYA WORD ISZ LTEMP DONE? JMP DUP10 NO. JMP DUP.5 SYSTEM DISC - INVALID DUP11 LDB LIBD LDA B,I GET USER DISC FLAG. SSA IF=1, OUTPUT ERROR MESSAGE. JMP DIS12 IF=0, CHECK IF SYSTEM CLB SET B  (D) CPA SYSID DOES SYSID = DISCID? (D) LDB .-1 YES (D) STB UBLK IN ANY CASE, SET THE FLAG (D) LDA SDISC INA LDB .-3 READ 3 WORDS X] STB WORD FROM THE DISC X] LDB DTABI X] JSB DISCL X] * X] * THE ADT LENGTH AND THE DIRECTORY TRACK LENGTHS ARE * NOW IN CORE AT DCNT, DTIL & DT2L X] * X] * NOW READ THE SYSTEM DISC INTO CORE X] * AND FIND WHERE TO INSERT THE NEW ADT. X] * X] LDA ADLEN CHECK ADA DCNT IF ADA P3072 ENOUGH SSA ROOM JMP DUP.1 ADA P3072 CHECK IF TOO BIG X] SSA,RSS JMP DUP.4 OK. DUP.1 CMA,INA TOO BIG. ADA DCNT STA DCNT * X] * X] DUP.4 LDA ADLEN READ THE SYSTEM ADT X] STA WORD INTO USER CORE X] LDA ADLOC X] LDB LIBDI X] JSB DISCL X] * X] LDA SCHAN COMPUTE DISC ADDRESS X] INA THAT FOLLOWS THE X] CLE,ERA NEW DISC ADDRESS X] RAR SEZ,RSS X] IOR B100 STA SDIS1 X] * X] LDB LIBD SET POIKNTER TO START OF ADT X] DUP.3 LDA 1,I LOAD ADT ENTRY X] CPA .-1 LAST ONE? [X] JMP DUP.2 YES [X] AND DHMSK GET DISC ADDRESS X] CPA SDIS1 RIGHT ONE? X] JMP DUP.2 YES X] ADB .+2 NEXT ENTRY X] JMP DUP.3 X] DUP.2 STB DADT SAVE IT X] LDB ADLEN LOAD LENGTH X] CMB AND COMPUTE X] ADB LIBD END OF CURRENT ADT X] * X] STB MOVES SET SOURCE ADDRESS X] LDB DCNT LOAD COUNT OF NEW SPACE X] CMB,INB MAKE IT + X] ADB MOVES COMPUTE FINAL ADDRESS X] STB MOVED SET DESTINATION ADDRESS X] LDB MOVES COMPUTE THE NUMBER X] CMB OF WORDS TO MOVE X] ADB DADT X] JSB MOVEB SEPARATE THE ADT TABLE X] * X] * X] LDA DCNT READ NEW ADT X] STA WORD INTO POSTION X] LDA DADT LOAD CORE ADDRESS X] IOR BIT15 SET FOR INPUT X] STA 1 SAVE IN B X] LDA SDISC LOAD AND FORM DISC ADDRESS X] ADA .+2 X] JSB DISCL LOAD IN NEW ADT X] LDA DADT,I LOAD FIRST TRACK ENTRY AND DHMSK CHECK IF RIGHT DISC CPA SDISC RSS JMP SUBER * X] * THE NEW SYSTEM ADT SHOULD NOW BE IN CORE X] * X] LDA ADLEN UPDATE WORD COUNT X] ADA DCNT FORm THE ADT X] STA ADLEN X] STA WORD WRITE THE NEW SYSTEM ADT X] LDA ADLOC TO THE SYSTEM DISC X] LDB LIBD X] JSB DISCL X] * X] * ADT TABLE HAS BEEN UPDATED X] * NOW WE UPDATE THE BASE PAGE DIRECTORY X] * X] LDA SCHAN MULTIPLY SUBCHANNEL BY 14 X] MPY .+14 X] ADA DIRD0 ADD DIREC. BP ADDRESS X] LDB DT1L SET DIRECTORY TRACK LENGTH X] STB 0,I X] ADA .+7 LOAD AND SET X] LDB DT2L 2ND DIREC TRACK X] STB 0,I LENGTH X] * X] LDB SDISC LOAD DISC ADDRESS X] ADB B200 SET TO TRACK 1 SECTOR 0 ADA .-1 SET DIRECT TRACK 1 X] STB 0,I DISC ADDRESS X] ADB B200 SET TO TRACK 2 ADA .+7 DISC ADDRESS X] STB 0,I X] * X] ADA .-12 SET CORE ADDRESS X] IOR BIT15 TO DIRECT ENTRY 1 X] STA SDIS1 SAVE IT X] LDB .-4 SET WORD COUNT TO -4 X] STB WORD X] LDA SDISC GET DISC ADR X] ADA B200 AND SET IT LDB SDIS1 LOAD CORE ADDRESS X] JSB DISCL READ FORST DIRECT TRACK X] * X] LDB .-4 X] STB WORD X] oLDA SDISC GET DISC ADDRESS X] ADA B200 FOR SECOND TRACK X] ADA B200 LDB SDIS1 X] ADB .+7 X] JSB DISCL READ IT IN X] * X] * DIRECTORY HAS BEEN UPDATED X] * X] LDA .-5 READ STA WORD LDA SDISC LDB LIBDI JSB DISCL LABEL. LDB LIBD SET USER DISC FLAG=1. LDA B,I IOR BIT15 STA B,I LDA SDISC JSB DISCL WRITE LABEL BACK OUT. * CLA DID SYSID = DISCID? (D) CPA UBLK (D) JMP DUP.6 NO, INFORM OPERATOR (D) CLF 0 ALL OK, EXIT STA LIB CLEAR LIB INDICATOR JMP LEND ALL DONE * DUP.9 LDA PNRDY OUTPUT "ALREADY UP" RSS MESSAGE. UP.1 LDA UPALR OUTPUT LDB .-6 "ALREADY UP" JMP DMES MESSAGE. * DUP.5 LDA UPMS1 LDB .-7 JMP DMES * DUP.6 LDA UPMS2 LLLL LDB .-14 (D) JMP DMES (D) * UPAMS OCT 5127 LF-W ASC 13,ARNING! DISC ID NOT SYS ID UPALR DEF *+1 OCT 5101 LF-A ASC 5,LREADY UP! PNRDY DEF *+1 1 OCT 5104 LF-D ASC 5,ISC ERROR DUSYA DEF SYSAA TS ASC 1,TS HLT10 HLT 10B (D) UBLK NOP $UP EQU * X] HED TSB - EXECUTION OF SYSTEM START UP * ** THIS OVERLAY IS LOADED INTO CORE WHEN SYSTEM IS BROUGHT UP. * ORG LIBRA CLA CLEAR CLC 0,C ALL ISZ A DEVICES. JMP *-2 LDA NPORT SET COUNTER TO STA TCNTR NUMBER OF PORTS. BLDB TTYTP,I B=> START OF TTY TABLE. TSB1 EQU * STB TPNTR SAVE IN ADDRESS POINTER. ADB .+?TSTA B=> ?TSTA LDA IOBT SET INPUT [E] STA B,I MODE BIT [E] ADB .+?RPRM-?TSTA B=> ?RPRM STB TSPNT SAVE ?RPRM POINTER. LDA B,I OUTPUT ?RPRM LDB TPNTR,I I4 JSB MUXR,I ISZ TSPNT BUMP POINTER. POINTS TO ?SPRM LDA TSPNT,I OUTPUT ?SPRM LDB TPNTR,I JSB MUXR,I ISZ TSPNT BUMP POINTER. POINTS TO ?PPRM LDA TSPNT,I OUTPUT ?PPRM IOR BB360 OTA DSCB LDB TPNTR BUMP POINTER TO NEXT ADB .+TTY01-TTY00 USER'S TABLE. ISZ TCNTR BUMP COUNTER. DONE? JMP TSB1 NO. * LDA NPORT A= NUMBER OF PORTS ADA .+16 NOT INITIALIZED. CMA,INA,SZA,RSS ANY PORTS LEFT? JMP TSB3 NO. STA TCNTR YES. SET COUNTER. ADB .+?TSTA B=> ?TSTA LDA NIBT SET NO INPUT [E] TSB2 STA B,I ALLOWED BIT [E] ADB .+TTY01-TTY00 BUMP POINTER TO NEXT USER. ISZ TCNTR BUMP COUNTER. DONE? JMP TSB2 NO. TSB3 EQU * ~~ LDA DATIM+1 INITIALIZE TIMES FOR STA SPT1A,I PHONES LOGIC. LDA DATIM STA SPT2A,I CCA READ STA WORD SYSTEM LDA B100 ID LDB SYSDF CODE. JSB DISC,I LDA .+3 START UP TBG OTA CLOCK COUNTING IN STC CLOCK,C 100 MS UNITS. STC MPX,C START UP MUX. STC DSCB,C START UP PHONES. CLC ?SC CLEAR CONSOLE. LDA .+6 OUTPUT "READY" LDB READY ON JSB TTY35,I SYSTEM CONSOLE. JMP TSCH1,I EXIT TO SCHEDULER * * TSCH1 DEF SCH1 SYSDF DEF SYSID,I SPT1A DEF SPT1 SPT2A DEF SPT2 BB360 OCT 360 $TSB EQU * HED OVERLAY AUTO RESTART * * THIS IS PART OFw THE AUTO RESTART LOGIC WHICH IS * LOADED INTO THE OVERLAY SECTION. * THE FIRST PART OF THE CORE RESIDENT AUTO RESTART * LOGIC MUST HAVE BEEN EXECUTED BEFORE CONTROL CAN * COME TO THIS SECTION. * * ORG LIBRA LDA .+5 INITIALIZE J AS POWER FAIL STA POWJ POINTER AND I AS DMA POINTER. INA STA POWI LDA .+3 RESET TBG FREQUENCY. OTA CLOCK LDA PPWFL,I COPY FLAG WORDS. STA POWF LDB TBITS IF CONSOLE FLAG WAS CLEAR, SET AND .+4 UP CORRECT CONSOLE STATE [E] SZA,RSS OTHERWISE LEAVE IT SET IN OTB ?SC INPUT STATE. * LDA POWF IF DMA FLAG WAS SET, SLA SET IT. STF 6 * * * NOW TEST THE DEVICE FLAGS. IF A FLAG WAS * CLEAR, EXECUTE A "CLF SC". IF IT WAS SET, TAKE * STRONGER ACTION. * * POW4 LDA POWF GET FLAG WORD. THE ONE TO BE RAR TESTED IS IN BIT 0 AND I= ITS STA POWF SELECT CODE. SSA WAS FLAG SET? JMP POW5 YES. * LDA POWI NO. BUILD "CLF SC" INSTRUCTION ADA CLF0 STA *+1 NOP AND EXECUTE IT. POW6 LDA POWI CPA .+20B TESTING DONE? JMP POW14 YES. ISZ POWI NO. BUMP I AND LOOP. JMP POW4 * * FLAG WAS SET. TEST IF DRIVER WAS ACTUALLY * ENTERED. IF SO, PERFORM A DUMMY INTERRUPT * TO PREVENT IT FROM BEING REENTERED. * * * * DEVICE FLAG WAS SET. CHECK IF IT WAS PENDING. * POW5 LDB POWTB COMPUTE LOCATION OF RET. ADDR. ADB POWJ OF HIGHEST PRIORITY DRIVER NOT LDB B,I YET TESTED. LDA B,I GET ITS RETURN ADDRESS. STA POWSV SAVE TEMPORARILY. LDB POWTB ADB POWI WAS DRIVER INTERRUPTED? CMA ADA B,I SSA A JMP ADB11 MAY BE. DO MORE CHECKING. LDA POWI MIGHT IF CHECKING ON MUX(DATA). CPA MPX DOES "I" POINT TO MUX(DATA)? RSS = JMP POW6 NO. INTERRUPT WAS PENDING! LDA POWSV YES.INTERRUPTED IN "MUXOR"? CMA ADA MUXR SSA,RSS JMP POW6 NO. INTERRUPT WAS PENDING. ADA POWD7 MAY BE. SSA JMP POW6 NO. INTERRUPT WAS PENDING. JMP POW99 YES. INTERRUPTED IN "MUXOR". ADB11 ADB .+11B B ADA B,I SSA JMP POW6 INTERRUPT WAS PENDING! * * INTERRUPT HAS OCCURRED. * PERFORM A DUMMY INTERRUPT. * POW99 EQU * LDA ADB11 PLACE "ADB 11B" IN TRAP CELL STA POWI,I LDA POWI IOR STF0 CREATE "STF SC" [E] STA POWSF [E] IOR STC0 CREATE "STC SC" [E] STA POWST XOR B4000 CREATE "CLC SC" POWSF STF 0 EXECUTE "STF SC" [E] POWST STC 0 EXECUTE "STC SC" STF0 STF 0 ENABLE INTERRUPT, CAUSING EXE- STA POWCL CUTION OF "ADB 10B". CLF0 CLF 0 DISABLE INTERRUPT. POWCL CLC 0 DISABLE DEVICE. LDA B,I RESTORE CORRECT CONTENTS STA POWI,I OF TRAP CELL. LDA POWI UPDATE POINTERS. STA POWJ JMP POW6 GO TEST NEXT DEVICE. * * * ALL DUMMY INTERRUPTS ARE DONE. * NOW RE-INSTATE MUX AND PHONES. * POW14 EQU * LDA NPORT SET COUNTER TO STA PPCTR NUMBER OF PORTS. LDB TTYTP,I B=> START OF TTY TABLES. POW90 EQU * *% STB PTNUM SAVE ?TNUM POINTER. ADB .+?RPRM B=> ?RPRM STB RPRMP SAVE ?RPRM POINTER. LDA B,I OUTPUT ?RPRM ADB .-5 => TO ?TSTA (L) LDB 1,I GET STATUS WORD (L) RBR,SLB SKIP IF NIBT IS 0 (L) AND NECHO TURN OFF ECHO (L) LDB PTNUM,I JSB POW91 JSB POW92 ISZ RPRMP => ?SPRM LDA RPRMP,I OUTPUT ?SPRM LDB PTNUM,I JSB POW91 LDB PTNUM }B=> ?TNUM ADB .+?TSTA B=> ?TSTA LDA B,I A= ?TSTA AND BIT1T SZA,RSS NIBT SET? JMP POW93 NO. JSB POW92 YES. CHECK SEEKING. LDA SYNCC SEND SYNC. CHAR. LDB PTNUM,I JSB POW91 POW93 EQU * ISZ RPRMP => ?PPRM LDA RPRMP,I A= ?PPRM IOR OC360 TURN ON "DTR" AND "RQS" OTA DSCB OUTPUT ?PPRM LDB PTNUM ADJUST POINTER TO NEXT ADB .+TTY01-TTY00 USER'S TABLE. JSB POW92 CHECK SEEKING. ISZ PPCTR BUMP COUNTER. DONE? JMP POW90 NOT YET. * CLB LDA PPNSK,I WAS DISC DRIVER BUSY? SZA,RSS JMP POW95 NO. SET FLAG=0. LDA PPOWP,I YES. FAILED IN DISC DRIVER? ADA POWD5 ~~ SSA JMP POW94 NO. SET FLAG=1. ADA POWD6 MAY BE. SSA INB YES. SET FLAG=2. POW94 EQU * INB NO. SET FLAG=1. POW95 EQU * STB PCKFL,I * ** TURN ON 2762 MOTER * * LDA FILLR IS CONSOLE [E] CPA .-1 A HP 2762A? [E] JMP POW98 NO [E] LDA B120K YES, INITIALIZE [E] OTA ?SC INTERFACE [E] LDA ESC [E] JSB POWSC OUTPUT ESCAPE [E] LDA H H SEQUENCE [E] JSB POWSC [E] LDB .-13 [E] LDA B377 OUTPUT 13 DELAY [E] JSB POWSC CHARACTERS TO [E] ISZ B GIVE MOTOR TIME [E] JMP *-2 TO COME UP TO SPEED [E] LIA ?SC DELETE MOTOR FAIL SIGNAL [E] * POW98 LDA PPWSW,I RESTORE [E] OTA 01 SWITCH REGISTER. LDA PPWEO,I RESTORE E AND O CLO REGISTERS.  SLA,ELA STO * JMP PPW57,I GO TO CORE RESIDENT SECTION. SPC 3 * ** *** I/O SUBROUTINES ** * * * ** 2762A I/O ROUTINE * POWSC NOP [E] OTA ?SC [E] STC ?SC,C OUTPUT CHARACTER [E] SFS ?SC WAIT FOR DATA [E] JMP *-1 TO BE ACCEPTED [E] JMP POWSC,I [E] SPC 1 * * OUTPUT PARAMETER/DATA TO MUX. * POW91 NOP RBL,RBL POSITION UNIT NR. OTA MPX OUTPUT PARAMETER/DATA. OTB MPX+1 OUTPUT UNIT NR. STC MPX JMP POW91,I I5 * * * CHECK SEEKING ON MUX. * POW92 NOP LIA MPX+1 GET STATUS. SSA CHECK SEEKING BIT. JMP *-2 NOT CLEAR YET. JMP POW92,I * * ESC OCT 233 H OCT 310 PCKFL DEF CKFLG PPNSK DEF PNDSK PPOWP DEF POWP POWD5 ABS -LDISC POWD6 ABS -LDSND+LDISC POWTB DEF *-4 POINTER TO TABLE BELOW. * * THIS TABLE POINTS TO DRIVER RETURN ADDRESSES. * DEF POW POWER FAIL. DEF PDINT DEF ?TT2 SYSTEM CONSOLE. POWH1 EQU * BSS 2 DISC. BSS 1 PHOTOREADER DEF MPXIO MUX(DATA) POWH3 EQU * BSS 1 MUX(STATUS) DEF DSCBL PHONES DEF CLKIN TNG. * * * THIS TABLE CONTAINS THE LENGTH OF EACH DRIVER * SO THAT POWER FAIL/AUTO RESTART ROUTINE CAN * DETERMINE IF A DRIVER WAS ENTERED. * ABS LDSND-DINT DISC ABS TTYED-?TT2 CONSOLE. POWH4 EQU * BSS 2 DISC BSS 1 PHOTOREADER ABS MPXED-MPXIO MUX(DATA) POWH6 EQU * * BSS 1 MUX(STATUS) ABS DSCED-DSCBL PHONES ABS CLKED-CLKIN TBG. * * * * THIS TABLE CONTAINS THE CORRECT * CONTENTS OF THE TRAP CELLS. * JSB ?ADIN,I JSB T35DR,I CONSOLE. POWH8 EQU * BSS 2 DISC vBSS 1 PHOTOREADER JSB MPXO,I MUX(DATA) POWH0 EQU * BSS 1 MUX(STATUS) JSB DSCBA,I PHONES JSB CLKDR,I TBG. POWH7 EQU * * ORG POWH1 POWI BSS 1 1 POWJ BSS 1 POWF BSS 1 ORG POWH3 STC0 STC 0 ORG POWH4 PPCTR BSS 1 PTNUM BSS 1 RPRMP BSS 1 ORG POWH6 OC360 OCT 360 ORG POWH8 PPW57 DEF POW57 POWSV BSS 1 POWD7 ABS MUXND-MUXOR ORG POWH0 PPWSW DEF POWSW ORG POWH7 PPWEO DEF POWEO PPWFL DEF POWFL $PFRS EQU * HED SAVE AREA FOR POWER FAILURE * * THIS AREA IS USED TO SAVE DATA OF THE LIBRARY * ROUTINE WHICH WAS IN CORE AT THE TIME * OF POWER FAILURE. * * * ORG LIBRA NOP RESERVE 2 SECTORS BSS 254 ON THE DISC. NOP $PFSW EQU * HED LANGUAGE PROCESSOR ERROR MESSAGES ORG LIBRA DEC -7- ASC 15,OUT OF STORAGE DEC -13 ASC 15,ILLEGAL OR MISSING INTEGER DEC -13 ASC 15,EXTRANEOUS LIST DELIMITER DEC -14 ASC 15,MISSING ASSIGNMENT OPERATOR DEC -15 ASC 15,CHARACTERS AFTER STATEMENT END DEC -14 ASC 15,MISSING OR ILLEGAL SUBSCRIPT DEC -15 ASC 15,MISSING OR BAD LIST DELIMITER DEC -14 ASC 15,MISSING OR BAD FUNCTION NAME DEC -15 ASC 15,MISSING OR BAD SIMPLE VARIABLE DEC -12 ASC 15,MISSING OR ILLEGAL 'OF' DEC -13 ASC 15,MISSING OR ILLEGAL 'THEN' DEC -12 ASC 15,MISSING OR ILLEGAL 'TO' DEC -13 ASC 15,MISSING OR ILLEGAL 'STEP' DEC -14 ASC 15,MISSING OR ILLEGAL DATA ITEM DEC -8 ASC 15,ILLEGAL EXPONENT DEC -10 0 ASC 15,SIGN WITHOUT NUMBER SPC 2 ORG LIBRA DEC -14 ASC 15,MISSING RELATIONAL OPERATOR DEC -11 ASC 15,ILLEGAL READ VARIABLE DEC -14 ASC 15,ILLEGAL SYMBOL FOLLOWS 'MAT' DEC -15 ASC 15,MATRIX CANNOT BE ONu; BOTH SIDES DEC -15 ASC 15,NO '*' AFTER RIGHT PARENTHESIS DEC -15 ASC 15,NO LEGAL BINARY OPERATOR FOUND DEC -12 ASC 15,MISSING LEFT PARENTHESIS DEC -13 ASC 15,MISSING RIGHT PARENTHESIS DEC -15 ASC 15,PARAMETER NOT STRING VARIABLE DEC -11 ASC 15,UNDECIPHERABLE OPERAND DEC -15 ASC 15,MISSING OR BAD ARRAY VARIABLE DEC -15 ASC 15,STRING VARIABLE NOT LEGAL HERE DEC -15 5b ASC 15,MISSING OR BAD STRING OPERAND DEC -8 ASC 15,NO CLOSING QUOTE DEC -14 ASC 15,72 CHARACTERS MAX FOR STRING DEC -15 5b ASC 15,STATEMENT HAS EXCESSIVE LENGTH SPC 2 ORG LIBRA DEC -15 ASC 15,MISSING OR BAD FILE REFERENCE DEC 15 ASC 15,UNDEFINED STATEMENT REFERENCE DEC 13 ASC 15,NEXT WITHOUT MATCHING FOR DEC 12 ASC 15,SAME FOR-VARIABLE NESTED DEC 11 ASC 15,FUNCTION DEFINED TWICE DEC 13;; ASC 15,VARIABLE DIMENSIONED TWICE DEC 12 ASC 15,LAST STATEMENT NOT 'END' DEC -7 ASC 15,UNMATCHED FOR DEC -9 ASC 15,UNDEFINED FUNCTION DEC -8 ASC 15,ARRAY TOO LARGE DEC -14 4 ASC 15,ARRAY OF UNKNOWN DIMENSIONS DEC 7 ASC 15,OUT OF STORAGE DEC 13;; ASC 15,DIMENSIONS NOT COMPATIBLE DEC -14 ASC 15,CHARACTERS AFTER COMMAND END DEC -13 ASC 15,BAD FORMAT OR ILLEGAL NAME DEC -13 ASC 15,MISSING OR PROTECTED FILE SPC 2 ORG LIBRA DEC 11 ASC 15,GOSUBS NESTED TEN DEEP DEC 13 ASC 15,RETURN WITH NO PRIOR GOSUB DEC 12 ASC 15,SUBSCRIPT OUT OF BOUNDS DEC 11 ASC 15,NEGATIVE STRING LENGTH DEC 15 ASC 15,NON-CONTIGUOUS STRING CREATED DEC 8 ASC 15,STRING OVERFLOW DEC 6 ASC 15,OUT OF DATA DEC 9 ASC 15,DATA OF WRONG TYPE  DEC 12 ASC 15,UNDEFINED VALUE ACCESSED DEC 9 9 ASC 15,MATRIX NOT SQUARE DEC 15 ASC 15,REDIMENSIONED ARRAY TOO LARGE DEC 11 ASC 15,NEARLY SINGULAR MATRIX DEC 12 ASC 15,LOG OF NEGATIVE ARGUMENT DEC 12 ASC 15,SQR OF NEGATIVE ARGUMENT DEC 9 ASC 15,ZERO TO ZERO POWER DEC 15 ASC 15,NEGATIVE NUMBER TO REAL POWER SPC 2 ORG LIBRA A DEC 15 ASC 15,ARGUMENT OF SIN OR TAN TOO BIG DEC -15 ASC 15,OVER/UNDERFLOWS - WARNING ONLY DEC -15 ASC 15,LAST INPUT IGNORED, RETYPE IT DEC -13 ASC 15,TOO MANY FILES STATEMENTS DEC 141 ASC 15,NON-EXISTENT FILE REQUESTED DEC 15 ASC 15,WRITE TRIED ON READ-ONLY FILE DEC 13 ASC 15,END-OF-FILE/END OF RECORD DEC 15 ASC 15,INVALID PROGRAM NAME IN CHAIN DEC 15 ASC 15,NON-EXISTENT PROGRAM REQUESTED DEC 12 ASC 15,CHAIN REQUEST IS A FILE DEC 14 ASC 15,PROGRAM CHAINED IS TOO LARGE DEC -13 ASC 15,COM STATEMENT OUT OF ORDER DEC 14 ASC 15,ARGUMENT OF TIM OUT OF RANGE DEC -6 (D) ASC 15,PROGRAM BAD (D) DEC -14 ASC 15,BAD INPUT, RETYPE FROM ITEM DEC 13 ASC 15,LOG OF ZERO - WARNING ONLY SPC 2 ORG LIBRA (D) DEC 15 ASC 15,ZERO TO NEGATIVE POWER-WARNING DEC 1588 ASC 15,DIVIDE BY ZERO - WARNING ONLY DEC 14 ASC 15,EXP OVERFLOW - WARNING ONLY DEC 12 ASC 15,OVERFLOW - WARNING ONLY DEC 121 ASC 15,UNDERFLOW - WARNING ONLY DEC -13 3_ ASC 15,EXTRA INPUT - WARNING ONLY DEC -8 ASC 15,READ-ONLY FILES: SPC 2 ORG 0 NOP SIGNAL LOADER THAT WE'RE DONE. END %TRNNT Sf 24281-80001 A S 0122 MICRO DEBUG EDITOR              H0101 ^ ASMBҬB̬Ԭ NAMMD Ԡ..SԬMA NԠSA SAԠNP DAUN ANDB3 ҠPN+S SAPN+P-GS DAUNUN ANDB00 AƬA ҠPN+3M SAPN+3M-DŠBAK DAGSҠS NA NA NA DB0 ANDB3GS ҠADG+ SAADG+ ANDB3 ҠS+ SAS+ SPDUMP ANDB00 AƬA ҠADG+3 SAADG+3ADDSS ANDB3 ҠS+3 SAS+3 SBMSUԠPNԠHADNG DƠMS0 Dà DAD-3 SA.00 SBSPA SZ.00HAVŠ MP- ASBSPA SBMSUԠASK DƠMS DàNԠMMAND SB.. Ԡ00 MP-ADSPNS DƠNŠ Dà-0 SBAԱ MPAYAGAN. AMBNB SBUN DBADұNPUԠMPD BS SBBADұADDSS SBADBADSԠBY PAA̠MMANDS MPADAD PAA MPԠ PAA MPADAD PAAD MPDUMPDUMP PAAM MPMDMDY PAAS MPSHנSH PAAP MPPPPPA PAAV MPVҠVY PAAB MPBAKBAK PAA MPHANHANG PAA MPàU PAA MPNDNSH SBҠGA DƠMS3 DàMMAND MPAGϠGԠNԠMMAND ADMDUŠPAAMҠH GUNP DAA DBBADұ NB SZUNԠANYM SSNPU? MPA6NϬ SBSKPϠSKPϠMMA PAAMMA MP+3 A6A MPGU NB SZUNԠƠAS MPANPUԠHAҠHN A3SB DƠMS Dà9 MPAGϠBAK ADAASŠSKP SBSKPBANKS PAADDŠAH MPANDHUԠNDNGNN-BANK? ANϬNV SBNVԠϠA̠NUMB SSB MPAN MPGU ADSBGU SZASS DAD5 SBAD MPA DUMPMMANDPAAMҠH(SAMŠASAD MMANDPDUũ DUMPSBGU SZASS DAD SBDUMP MPA ŠMMANDPAAMҠH ԠSBGU SZA MP+5 SB DƠMS9 Dà MPA SB MPA ADMMANDPAAMҠH(SAMŠASũ ADSBGU SZA MP+5 SB DƠMS9 Dà MPA SBAD MPA MDYMMANDPAAMҠH GPAҠNP SZUN MP+5 SBҠNϬ DƠMSMSSNG Dà9PAAM MPAGϠGԠNԠMMAND DAAK DBBADұ NB SBSKPϠMMA. PAADD SSNDN? MPGPA+3NϬ NBYS SZUNԠHŠHADB SSBŠM MPGPA+3SŠ DAASKP SBSKPBANKS PAADD MPGPA+3NDM?NϬ ANVԠ SBNVԠA̠ADDSS SSB MPA ^{SAMP+ANDSAV DAASH SBSKP PAA MP+YSGϠGԠN DAMP+ SAMP+ MPM0 NB SZUNԠS SSNH? MPGPA+3 DAAYSԠMGHԠBŠH SBSKPSKP PAABANKS MPGPA+3 AANDNV SBNVԠϠDMA̠NUMB SSB MPA SAMP+SAVŠAND M0DAMP+A DBMP+MDYUN MPGPAҬ MDSBGPA SBMDY MPA SHנMMANDPAAMҠH SHנSBGPA SBSH MPA BAKMMANDPAAMҠH BAKSZUN MP+5 SB DƠMS Dà9 MPA DAA DBBADұ NB SBSKP PAA SS MPBAK+ NB SZUN SS MPBAK+ DAA SBSKP PAA MPBAK+ A SBNV SSB MPA ANDB3 SBBAK MPA PPAŠMMANDPAAMҠH PPSBGU SZASS DAD SBPP MPA HANGŠMMANDPAAMҠH HANSZUN SS MP6 DAA DBBADұ NB SBSKP PAA SS MP6 SZUN MP+5 SB DƠMS Dà9 MPA NB SBADB PAAA DAD PAAB DAD PAA DAD PAA DAD PAA DAD PAAP DAD9 PAAS MP÷ PAA MP9 øADAD-3 SSA MP+6 SB DƠMS6 Dà9 MPA 6DAD-3 ADAD3 SBHNG MPA ÷NB SBADB PAA DAD5 PAA DAD6 PAA3 DAD PAA DAD MPø 9NB SZUN MP+3 DAD3 MPø SBADB PAA DAD0 MPø VYMMAND VҠSBGU SZASS DAD5 SBVY MPA UŠMMANDPAAMҠH UŠMMANDMDUU PAAMҠH àNPUNADDSS DADBUGUS SZAN MP+5DBUGMD? SBҠNϬ DƠMS3GA DàMMAND MPA DAAGԠADY DBBADұϠND NBMMA SZUNԠANYMŠHAAS MPű 0DASBKNϬ B SBSBK SSASSUS MP3ASԠBAKADDSS ŲSBҠ DƠMSANY. Dà9 MPA űSBSKPϠSKPϠMMA. PAAND SSN? MP0NϠGϠUSŠASԠBAK NBYS SZUN SSN MPŲ DAASKP SBSKPBANKS PAANDNN-BANK? MPŲNϬ A SBNV SSB MPA U 3ANDB3GԠҠ-BS SZAADDSS0? MP6 DASYSDϠɠKN SSASSGA̠UNԠƠS MP5 SBGS MP5 GSNP ŴSBMSUԠNϬ DƠMSASK Dà SB.. Ԡ00US MP- DƠBUұ Dà-0 SBAԱҠ MPŴ DBABUƱNV BS AAS SBNV SSBNPU MPŴ MPGS 5SBŠŠDŠϠS SBM SBSԠA̠SԠUN MPNUNNASŠM-PGAM UNSϠMPN 6SAMP5SAVŠADDSS ADAD-6 SSA MP+5 SB DƠMS6 Dà9 MPA DAMAϠPKUPMA ANDB360DD AƬAƠMAPP AƠADDSS ASDUB ADABBASŠMPUŠBUUҠADDSS SAADҠSAV DAMDŠŠAŠN MANA ADAB3 SSA MP+ AMDU B0 MPŷ ADAB00 SSA MP+ DABMDU B MPŷ ADAB00 SSA MP+ AMDU DBB0000 MPŷ DABMDU DBB00003 ŷSAMASKSAV SBMASKMASKS MA SAMSK MB SBMSK DBAD DAɠPU SANSԱN ANDB00 ҠSMP ҠMASKMP SAɠGS NBS DAɠUN SANSԲ DASMP ҠMASK SA DAMPPU ANDMSK ҠMASKMP SAMP DAMPN ANDMSK ANDB00SA ҠMP5ADDSS ҠMASK SAMP DAS SSA SBGS SBŠŠDŠϠS SBM SԠSAŠGSS DAMAϠG SAMAàMA. DAG+S Š SAG. M DAG+0S Ϡ SAG S DBG+SԠB-G DAGSԠA-G MAàNPUŠMA HԠ55BHA.SHUDNԠUNH. UNDƠ+ UNMBAK NP SAGSAVŠA-G SBG+SAVŠB-G ASAV SZ NA SAG+G. ASAV S NA SAG+0G DAMP0S SASBKASԠBAKADDSS DBADҠS DANSԱMP SAɠAB NBNSU- DANSԲN SA AMV SBBAKUNԠBAK DBAGBƠG BS NBADY NB NB NB DASBK ҠMD SBAS NB NBDUMP NB DAGA-G SBAS NB NB NB DAG+B-G SBAS NB NB NB DAG+-G SBAS NB NB NB DAG+3-G SBAS NB NB NB NB DAG+S-G SBAS NB NB NB NB DAG+5S-G SBAS SBMSUԠPN DƠGBUƠS Dà-66N DBAGB BS NB NBDUMP NB DAG+6S3-G SBAS NB NB NB NB DAG+SH-G SBAS NB NB NB DAG+P-G SBAS NB ADBD5 DAG+9AG ҠB60 SBSB NB NB NB DAG+0 ҠB60 SBSB NB NB NB DAG+ ҠB60 SBSB SBMSUԠPN DƠGBƲASԠN Dà-5ƠGSS MPAGϠGԠNԠMMAND. NMA̠UNMM-D NDANSԱ DBAD SAɠUMP NB DANSԲAB SA SBMSUԠPNԠNMA DƠMS3MPN DàMSSAG MPAGϠGԠNԠMMAND. MSASàSGA̠UNԠN.?_ MS3ASàMPGAMUNMPD SUP MP5BSS NSԱNP NSԲNP ADҠNP SBKNP AGBƠDƠGBU GBUƠASà9ADҽ356A356B356ƽ356 ASàѽ356S356S356 AGBDƠGBƲ+5 GBƲASà5S3356S356 ASàP356AGϽŽ ADDUMPUN SԠԠ35300 Ԡ355300 Ԡ36030 Ԡ365505 Ԡ3606 Ԡ355 Ԡ0505 Ԡ05606 Ԡ353 Ԡ5505 Ԡ606 Ԡ53 Ԡ3505 Ԡ35606 Ԡ35 Ԡ5505 Ԡ5606 Ԡ5533 Ԡ6505 Ԡ65606 Ԡ353 Ԡ5505 Ԡ50606 Ԡ50553 Ԡ5505 Ԡ55 MPԠ5350 DUMPԠ506 Ԡ533 Ԡ53553 ADGԠ5300 Ԡ55300 Ԡ556 Ԡ555506 Ԡ563 Ԡ5653 Ԡ56 Ԡ55506 Ԡ603 Ԡ6063 Ԡ66 Ԡ65506 Ԡ63 Ԡ6653 Ԡ636 Ԡ635506 Ԡ63 Ԡ6633 Ԡ656 Ԡ655506 Ԡ663 Ԡ6663 Ԡ66 Ԡ65506 Ԡ03 Ԡ053 Ԡ6 Ԡ503 Ԡ506 Ԡ Ԡ33 Ԡ350050 Ԡ305 PNԠ5000 Ԡ533000 Ԡ553 Ԡ6506 Ԡ65 Ԡ363 Ԡ MԠNP DAS ҠB0000 SA+ SB.. NP MP- DƠS Ԡ06 MPMԬ MPUMP+ MPUMP SMPԠ35 SMPԠ6 MSKNP MSKNP NSHMMAND NDSBMSU DƠMSND Dà SBAԱ NP HԠB MPSA SUP MS0ASàM-DBUGD MSASàMMAND? MSASà9ANSMSSN MS3ASà0GA̠MMAND MSASà09MSSNGPAAM MS5ASà0GA̠DG MS6ASà09GA̠PAAM MSASàHKSUMҠNPVUSD MSNDASàNDƠPGAM ADBUƠNP BUұBSS60 BUҲBSS60 ABUƱDƠBUұ ABUƲDƠBUҲ HBASŠDƠ+ BSS56 Dà- BUUҠBSS5 BUADDƠBUU ADҠNP DAD-0 SAN SBB DƠZ Dà3 SZN MP- MPADҬ NԠBSS ZϠNP NP NP MDŠNP BBASŠDƠBUU HADҠNP SNP MSASàGA̠BAKADDSS MS9ASàMSSNGҠGA̠PAAM MS0ASàAPŠSUPPY .00NP NŠBSS0 ADұDƠN BADұNP HAҠNP MPBSS0 UNԠNP NDNP KSUMNP DBUGNP ADBYŠUN BYŠADDSSNB-G UNS:BANK-BYŠNA-G ADBNP SBMP SB MPB0ANSGHԠPA BSANSԠPA DAɠPKUPD ANDB00MASKƠUPPҠHA AƬAƠPUԠNҠHA ҠB0000ҠNBANK DBMP MPADBɠUN B0BSGNAŠDADDSS DAɠPKUPD ANDB3MASKƠҠHA MPB0-3 MPNP NŠSPANGUN SPAŠNP SB.. Ԡ000 MP- DƠ Dà0 MPSPAŬ SKPϠUN ANGSUN:DAHAAҠϠK DBADDSSHŠϠSAԠSAH SBSKP UNSBYŠADDSSƠAAҠNB-G SKPϠNP SAHAҠSAVŠHAA DAUN SZASS MPSKPϬ SBADBADBY PAHAҠDSDHA MP+ NB SZUN MP-5 MPSKPϬɠUN SKPUNŠSKPSVҠA̠NSUV HAAҠϠHAԠNA-G ANGSUN:DAHA DBADDSS SBSKP SKPNP SAMP SBADBƠNԠBYŠϠBŠADD PAMP SSYSSKP MPSKPɠNϬUN NBBUMPADS SZUN MP-5GϠHKNԠBY MPSKP MPBSS NVԠHANGSA̠ҠDMA̠DGS ϠBNAYNUMBS ANGSUNŠDA0(ϽA̠DMA DBADҠ(SAԠADDSS SBNV NVԠNPUNADDSS SBMP3SAVŠADDSS DBD<:6PUԠA̠BASŠNB SZAANԠDMA DBD0YSPUԠDMA̠BASŠNB SBMP3+SAVŠNMPAY A SAMP3+3 NDBMP3PKUPADDSS SBADBADBY ANDB3 ADAD-HK SSAҠGA̠DGԠ(60 MPN SAMP3+ DAMP3+ MANAUPP ADAMP3+ SSASS MPNGA DAMP3+3 MPYMP3+ SZBV? MPN3YS ADAMP3+NϬADDNNנDG SAMP3+3SAVŠNMDAŠSU SZG SZMP3BUMPADDSS SZUNԠAŠŠHUGH? MPNNϬGϠBAK *< Tc 24281-80002 A S 0122 MICRO DEBUG EDITOR              H0101 _ NDAGHAV SZASSŠGNGA̠DG? MPNNϬ A SAGSԠG DBMP3 DAMP3+3 MPNVԬɠUN NSBҠ DƠMS5GA̠DG Dà A SAG B MPNVԬɠUN N3SBҠ DƠMS6GA̠PAAM Dà9 A SAG B MPNVԬ MP3BSS GBSS ҠUN ANGSUN SB DƠBUU DàNGH ҠNP DAҬ SABU SZ DAҬ SANG SZ SB.. Ԡ000 MP- BUƠNP NGNP MPҬ SŠBYŠUN ANGSUN DABYŠ(ҠBS DBBYŠADDSS SBSB SBNP ANDB3PUԠZϠNUPPҠHA SAMP0SAVŠBY SBMP0+ SBSAVŠBYŠADDSS MPS BSSŠNUPPҠBS DAɠPKUPSD ANDB3MASKƠUPPҠBS AƬAƠAŠBS ҠMP0ҠNBY AƬAƠؠD SAɠS DBMP0+SԠB NBAND MPSBɠUN SנBSSŠNҠBS DAɠPKUPD ANDB00MASKƠҠBS ҠMP0ҠNBY SAɠS MPS-3GϠSԠBANDUN MP0BSS HSUNŠNVSBNAYϠAS ANGSUN DAN DBBYŠADDS SBAS ASɠNPUNADDSS SOAMP30SAVŠNUMB SBMP30+SAVŠBYŠADDSS BGNA ̠S ADBB60BY SAMP30 Ҡ6PUԠBYŠNA-G DBMP30+PKUPADDSS SBSBSŠBY DAD-5S SAMP30+UN AS0SBMP30+SAVŠBYŠADDSS DAMP30GԠSԠƠNUMB BGNA ̠3N ADBB60BY SAMP30SAVŠSԠƠNUMB Ҡ6PUԠBYŠNA-G. DBMP30+PKUPADDSS SBSBSŠBY SZMP30+NSHD? MPAS0NϬP MPASɬɠUN MP30BSS3 BNAYAD ANGSUN:SBBAD DƠBUU DàNGH BԠNP DAND ANDB ҠB000 SAND DAB SABAD SBA SBSH MP+6 BADNP DAND ANDB ҠB0300 SAND DABAD SA+9 SZBAD DABAD SA+ DAND SA+ SB.. NP MP- NP NP SZBAD MPBAD SHԠNP SBMSU DƠMS0 Dà SBAԱ MP+ HԠ66BHAԠ66APŠSUPPY MPSHԬ PPAŠMMANDMDU ANGSUN: DA.U. SBPP PPNPUNADDSS DBDBUGUSҠN SZBSSDBUGMD? MP+5 SBҠYS DƠMS3GA DàMMAND. MPA ҠB0000S SANDN̠D. AMPU SBHKHKSUM. DBAB3NV BSÌϠAS SBDM̠SAV. SBSPAŠSPA. SBADҠPUNHAD SBSPAŠSPA SBMSUԠPN DƠMS0 Dà5HADNG. SBSPAŠSPA. SBMSUԠG DƠMS DàNŠ P0SBMSU DƠNű Dà SB...D Ԡ00 MP-N. DƠD Dà- SBAԱ MPP0 MBNBS SB+UN SBD+36 SBPUNHPUNH DƠDAS NPD. PSBMSUԠG DƠNŲ DàNŠ SB.. Ԡ00.D. MP- DƠDN. Dà- SBAԱ MPP MBNBS SBD+36UN SB+3 SBPUNHPUNH DƠDAS NPD. PSBMSUԠG DƠN3 DàNŠ3 SB.. Ԡ00.D. MP- DƠD3N Dà- SBAԱ MPP MBNBS SBD3+36UN SB+3 SBPUNHPUNH DƠD3AS NPD SBPUNHPUNH DƠB3HKSUM Dà-3 DAPAM0 SAPAM A DBB0PSSBS P0SBPà3-0 SBADҠPUNHA SBSPAŠSPA. DAPAMɠHAVŠ SZAPUNH MP+5ASԠAP? SBMSUԠYSPN DƠMSNA DàMSSAG MPPPɠUN SBMSUԠNϬPN DƠMSN DàAP DAPAM SA+B SBMSUԠGNAD NP Dà3 SZPAM,BUMP SZPAMPAAM SZPAMPN. DAPAMɠPKUPMASKSH. SBHKMPUŠUNԠHKSUM DBAB3NVԠ BS SBDM̠ASɠANDSAV. SZPAMBUMPPAAMҠABŠPN SBSPAŠSPA SBMSUԠANY DƠMS3 Dà PSBMSUԠN DƠN Dà.D. SB.. Ԡ00N MP- DƠN Dà-3NŠ? SBAԱAԠҠSPNS. MPP DANŠANS ANDB00 PAB000S MPP3 PSBMSUԠYS DƠNű DàG SB.. Ԡ00N MP- DƠDN Dà- SBAԱ. MPP MBNBSAV SBD+36HAAҠUN P3SBADҠPUNHAD DBD+36 SB+3PUNH SBPUNH DƠDN NP. PSBMSUԠHANG DƠN Dà SB..N Ԡ00 MP- DƠNŠN Dà-3 SBAԱ? MPP DAN ANDB00 PAB000 MPP5 PSBMSUԠYS DƠNŲ DàG SB.. Ԡ00N MP- DƠDN Dà- SBAԱ3 MPP MBNBSԠHAA SBD+36UN. P5DBD+36 SB+3 SBPUNHPUNH DƠDAS NPD. P6SBMSUԠANY DƠN3 DàHANG SB.. Ԡ00N MP- DƠNŠN Dà-3 SBAԱ3? MPP6 DAN ANDB00 PAB000 MPP9 PSBMSUԠYS DƠN3 DàG SB.. Ԡ00N MP- DƠD3N Dà- SBAԱ3. MPP MBNBGԠHAA SBD3+36UN P9DBD3+36 SB+3 SBPUNHPUNH DƠD3AS NPD. SBPUNHPUNH DƠB3HKSUM Dà-3 ASԠA-G. DBPAMɠPKUPB-GAG. SZPAMBUMPPN MPP0GϠPSS PSSUN PàNP SBMP90+SAVŠMASKAG B SBKSUMAҠHKSUM PұSAMP90SAVŠA-G DBMP90+ SBSUPSԠUP DƠBUұBUұҠUPU. SBPUNHSA DƠBUұPUNH Dà-BUұ. DAMP90 PADNSHD? MPPìɠYSUN ADADNϬBUMPABY. SAMP90SAV. DBMP90+ADMASKAG SBSUPGϠSUP DƠBUҲBUҲҠUPU. SBPUNHSA DƠBUҲPUNH Dà-ƠBUҲ DAMP90 PADNSHD? MPPìɠYSUN ADADNϬBUMPABY MPPұGϠDϠBUұ. BUUҠSԠUPUN SUPNP SAMP0SAVŠSAԠADDSS SBMP0+SAVŠMASKAG DASUPɠPKUP SABUADBUUҠADDSS. SZSUPSԠUNADDSS ASMAK SABADұBYŠADDSS+SAV DAMP0PUԠN DBBADұAS SBDM̠ADDSS DAA-PU SBSBN DAMP0"-" ADADADDϠADDSS SBDM̠NVԠϠAS DAAS SBSBBANK .DAAS SBSBBANK SBBADұSAVŠBYŠADDSS. DAD-S SAPNԴUNS. DAD- SAPNԸ DAMP0G ADAHBAS SAHAD DAMP0 ASADDSS ADABBASŠSD SAADBUƠANDSAV. DBMP0+G ŬBMASK BҠAG SZAND MP+5 DAS̱6S Ҡ SASɠPP MPPS DASұ6 Ҡ SASɠNSUN PSDAHADҬ SZASS MPPS3 DDADBUƬɠGԠSD SɠNPADUS. SAMP0+SAVŠAG. SSABԠS? MPPS DBBADұNϬ DAA̠S PSSBSB"". SBBADұSAVŠBYŠADDSS DAMP0+GԠSԠƠD A̠PUԠNԠBԠNBԠ5ƠA SZPNԴNSHDHHSD? MPS+NϠGϠBAK DAAYS SBSBSŠBANK SBBADұSAVŠBYŠADDSS DAD-S SAPNԴUNҠ. SZADBUƠBUMP SZADBUƠBUUҠADDSS SZHAD SZPNԸNSHDHD? MPPSNϬGϠADNԠD MPSUPɠYSUN PSDBBADұBԠS. DAAHBUMPHKSUMAND SZKSUMGϠSŠ"H". MPPS PS3DBBADұDN' DAA SBSB SBBADұA SZPNԴ MPPS3 DAA SBSB SBBADұ DAD- SAPNԴPSS SZADBU SZADBU SZHAD SZPNԸ MPPS MPSUP ASɠPUNHUN AADNP DAND ANDB ҠB0000 SAND  DAAAD SAPUNH MP+ PUNHNP DAND ANDB ҠB0000 SAND SBA SBSH DAPUNH SA+0 SZPUNH DAPUNH SA+ SZPUNH DAND SA+ SB.. NP MP- NP NP MPPUNH DMA̠ASɠNVSNUN DM̠NP SAMP50 SBMP50+ NB SBMP50+ NB SBMP50+3 B DVD0 SAMP50 SP ADAB60 DBMP50+3 SBSB SBMP50+ B DAMP50 DVD0 SAMP50 SP ADAB60 DBMP50+ SBSB B DAMP50 DVD0 SP ADAB60 DBMP50+ SBSB DBMP50+ MPDM̬ AԠUN AԱNP SB.. Ԡ000 SSA MP-3 A SSA MP+3 SZAԱ MPAԱ SB DƠMS Dà9 MPAԱɠҠUN MSUԠU MS0ASà5GNANƠMASKBS3-0 MSASàNҠ3NSƠ.D.NMAN NűASàNŠ-_ NŲASàNŠ-_ N3ASàNŠ3-_ MSASàGNANƠMASKBS_ MS3ASàANYHANGŠƠ.D.N.N MSASàGNANƠMASKAPSMPD NASàNŠ? NASàNŠ? N3ASàNŠ3? DBSS3 DBSS3 D3BSS3 MP90BSS MP0BSS3 PNԴNP PNԸNP S̱6S̠6 Sұ6SҠ6 PAMDƠ+ PAM0DƠ+ ASà39-6 Dà Ԡ ASà35- Dà Ԡ00000 ASà3-0 Dà3 Ԡ000 ASà30-0 Dà Ԡ0000 ASà303-00 Dà5 Ԡ0000 MԠ0 HSUNŠADSDŠMS ANGSUN: DA.U. SBAD ADNP ҠB0000 SA+N̠D SB..AD NP MP-M DƠBUU Dà0S DAD-56S SAN DBHBASŠHADS DAD3 SAɠSH NB6DS SZNԠ6SDS MP-3AH MPADɠUN NԠNP HSUNŠSDŠϠS ANGSUN: DA.U. SB ŠNPUNADDSS SASSAVŠ.U. DBHBASŠND ԱDA SZAGD MP0 NB MPԱDAA. 0SSAƠNGAV MPŬɠ'ŠHUGH SAMP90SAVŠUN SBMP90+SAVŠADDSS MANAؠUNԠ SANԠNDAŠƠ00DS DAHBASŠMPU MANAAV ADAMP90+ADDSS ASDUB ADABBASŠNDNBUU SABUƠSAVŠADDSS DASS ҠB0000 SA+DAND SB.. NP MP- BUƠNP NԠNPS DBMP90 BS ADBMP90+ MPԱHADҠADDSSANDPA HSUNŠHANDSŠBUUҠMDANS ANGSUN DA< 24? ? SSA,RSS ADA HEAD1 YES - HEAD 1 OR HEAD 3 SSA,RSS  STA HD/SC IF >24 SAVE NEW SECTOR # LDA DADDR GET FIXED DISC BIT AND DB100 LDB HD/SC LOAD HEAD AND SECTOR SZA ADB HEAD2 ADD HEAD 2 BIT STB HD/SC SAVE HEAD/SECTOR ADDRESS LDB D.10 SET RETRY COUNTER STB FAIL FOR 10 TRIES LDA TRK# OUTPUT TRACK NUMBER .DDR1 OTA DC FOR SEEK OPERATION STC DC,C LDA SEEK IOR DRIVE CLC CC CLEAR PREVIOUS COMMAND OTA CC OUTPUT SEEK COMMAND STC CC,C TO COMMAND CHANNEL SFS DCD+ JMP *-1 LDA HD/SC OTA DC OUTPUT HEAD/SECTOR STC DC,C TO DATA CHANNEL SFS CC WAIT FOR JMP *-1 SEEK RECORD COMPLETE LDA DMACW OTA 6 OUTPUT DMA CONTROL WORD CLC 2 II LDB CORE OUTPUT BUFFER ADDRESS OTB 2 STC 2 LDB WORDC OUTPUT WORD COUNT OTB 2 JSB STAT CHECK STATUS LDA READ. (A) = READ COMMAND LDB CORE READ OPERATION REQUESTED? SSB,RSS LDA WRITE NO: (A) = WRITE COMMAND IOR DRIVE CLC CCC OTA CC OUTPUT READ/WRITE COMMAND SSB,RSS IF OUTPUT, PRESET STF DC DATA CHANNEL FLAG SSB  IF INPUT, CLEAR STC DC,C THE FLAG AND SET CONTROL STC 6,C START DMA STC CC,C START READ/WRITE OPERATION SFS CC WAIT FOR READ/WRITE JMP *-1 TO COMPLETE STF 6 TURN OFF DMA JSB STAT CHECK STATUS CLC DC CLC CCC CLC 6,C JMP DISCD,I RETURN * *** CHECK DISC STATUS * * STAT NOP STC DC,C SET TO CHECK DRIVE 0 CLA SET TO CHECK DRIVE 0 IOR DRIVE OTA CC OUTPUT STATUS COMMAND CLC CC STC CC,C TO COMMAND CHANNEL SFS DC JMP *-1 LIA DC GET DISC STATUS CLC DC SLA,RSS ANY ERRORS? JMP STAT,I NO ISZ FAIL TRIED 10 TIMES? JMP .DDR1-1 NO TRY AGAIN DRV1 EQU * HLT 11B YES - IRRECOVERABLE ERROR JMP *-1 JMP DNTRA,I FOR INITIALIZATION DNTRA DEF DINTR SPC 5 * *** NON-SLEEP RELOAD ENTRY POINT * ORG 3000B CLB CLEAR CLC 0,C ALL ISZ 1 DEVICES JMP *-2 JSB CLD,I CLEAR DISCS JMP *+1,I DEF LDR6 CLD DEF CLDSC * ** DISC STATUS ROUTINE * DISST NOP P4 CLC DC CLC CC STC DC,C, CLA IOR SDRIV OTA CC STC CC,C SFS DC JMP *-1 LIA DC CLC DC CLC CC SLA,RSS JMP DISST,I NO ERRORS STA SDST SAVE STATUS XOR FSEEK FIRST SEEK? SZA,RSS JMP DISST,I YES LDA SDST NO - SOMETHING ELSE IS WRONG LSR 6 SLA,RSS IS DISC READY? JMP DISST,I YES LDA .+15 LDB DBUSA JSB TTY35 DISC IS NOT READY JMP CONTR,I CONTR DEF INCOM DBUSA DEF *+1 OCT 5104 ASC 7,ISC NOT READY FSEEK OCT 40001 SDST OCT 0 SDRIV OCT 0 * * BUFFER FOR TRACKS * TRKTB BSS 36 HED MAG TAPE DRIVER CMND EQU 0 DATA EQU 0 XMTD NOP STA BUFL SAVE BUFFER ADDRESS STB BUFA AND LENGTH MTDM1 EQU * JSB XSTIN GET STATUS SLA CONTROLLER BUSY? JMP XS.1 YES, CONTINUE XT.13 CLC DATA CLEAR CONTROL BIT XT.16 CLC CMND - ON BOTH CHANNELS LDA SL0 NO XT.1 OTA CMND SELECT UNIT # JSB XATCK INSURE TAPE UNIT IN ATUO LDA XMTD,I FETCH OPERATION CODE AND DB7 USE LOAWER 3 BITS CPA DB7 STATUS REQUEST? JMP ERR.1 YES, STATUS IN B STA XABS NO LDA DB110 ISSUE CLEAR JSB XCMND COMMAND LDA XABS ISZ XMTD RETURN POINT ADA XBASE LOOK UP PROCESSOR IN TABLE JMP 0,I CALL PROCESSOR * XBASE DEF *+1,I COMMAND PROCESSOR ENTRY DEF XREAD POINT TABLE DEF XWRTE DEF XWEOF DEF XREW DEF XPOS DEF XRES DEF XGAP SPC 5 5 XRES LDA DB105 REWIND/STANDBY CCE,RSS XREW LDA DB101 REWIND COMMAND CCE JSB XCMND INITIATE COMMAND EXECUTION JSB XSTIN GET STATUS JMP XIT1 * ** TAPE POSITIONING ROUTINE * * ENTR WITH COMMADNS STORED IN BUFA AND BUFL * XPOS LDB BUFL GET FILE COUNT LDA DB200 JSB XABS SET FLAGS, COMMANDS AND OUNT JMP XP.1 # FILES = 0 DO RECORES XP.5 CCA,SEZ,CCE,RSS JSB XP.2 BACK WARDS MOTION JSB XSPCE FORWARD SPACE JMP XP.5 REAEAT UNTIL FILE ISZ XCNTR FINISHED? JMP XP.5 NO, LOOP LDA BUFL RAL,CLE,SLA,ELA ISZ BUFA SLA,ARS SKIP JMP XIT XP.1 LDB BUFA PROCESS RECORDS CLA JSB XABS SET FOR FWD/REV RECORD SPACING JMP XIT NO RECORD, EXIT XP.0 CCA,SEZ,CLE,RSS JSB XP.2 YES, GO CHECK FOR "BOT" JSB XSPCE FORWARD SPACE SL0 ALR SELECT UNIT 0 COMMAND ISZ XCNTR FINISHED? JMP XP.0 NO, LOOP * XIT ISZ XMTD JSB XSTIN GO LOAD THE MT STATUE ERR.1 ISZ XMTD XIT1 LDA BUFL XT.4 CLC CMND CLEAR MT COMMAND CONTROL BIT JMP XMTD,I XP.2 NOP JSB XSTIN GET STATUS RAL SSA,RSS MT UNIT AT SOT? JMP XP.2,I NO, RETURN SEZ YES, FILE SKIPPING" ISZ XCNTR CNT=-1? JMP XIT1 NO, TRIED TO CORSS SOT JMP XP.1 YES, DO RECORD SPACING SPC 3 XABS NOP SET UP ROUTINE SSB,RSS ADA .+3 FORWARD SPACE COMMAND SSB IF # IS . 0 SET FOR ADA DB41 BACKSPACE COMMAND STA XWNEC CLE,SSB,RSS GET -ABS(#) FOR CNT CMB,CCE,INB,SZB IS THE MT TO BE MOVED? ISZ XABS YES, EXIT TO P+2 STB XCNTR JMP XABS,I XSPCE NOP CLE,SSA IS TAPE MOTION BACKWARDS JSB XEOTC LDA XWNEC JSB XCMND SPACE RAL,SLA EOF MARK? ISZ XSPCE YES CCE,SSA NO, IS THE TAPE AT SOT? JMP XIT1 YES JMP XSPCE,I NOPE XSTIN NOP GET TAPE STATUS XS.1 LIA CMND LDB 0 (B)=STATUS ALF,ALF (A)= STATUS SHIFTED 8 BITS JMP XSTIN,I * ** WRITE 4" BLANK TAPE * XGAP JSB XWNEC CHECK FOR WRITE RING JSB XEOTC CHECK FOR END OF TAPE LDA DB15 COMMAND JSB XCMND JMP XIT * ** WRITE END OF FILE * XWEOR LDA DB41 BACKSPACE RECORD COMMANDP JSB XCMND EXECUTE COMMAND JMP RWEOF XWEOF JSB XWNEC CHECK FOR WRITE XT.12 CLF DATA RWEOF LDA DB215 WRITE FILE MARK CODE JSB XCMND RBR,SLB,RBL PARITY OR TIMING ERROR CO OCCUR JMP XWEOR YES, GO BACKSPACE JSB XEOTC NO JMP XIT II SPC 3 XWRTE JSB XWNEC CHECK FOR WRITE ENABLED JSB XEOTC CHECK FOR END OF TAPE JSB XCNTR GET NEG # WORDS ADA .-1 ADD 1 FOR RECORD LENGTH STA XWNEC SAVE WORD COUNT LDA DB31 WRITE RECORD COMMEND JSB XCMND GO INTIATE WRITE SEQUENCE XT.9 STC DATA,C INITIALIZE DATA CHANNEL ADB BUFA BUFFER ADDRESS - 1 LDA BUFL FIRST WRITTEN WORD IS BUFL XOUT INB STEP BUFFER POINTER XT.20 SFC CMND JMP XT.5 XT.2 SFS DATA WAIT FOR JMP XT.20 DATA FLAG XT.3 OTA DATA,C WRITE RECORD HEADER WORD LDA 1,I GET NEXT WORD ISZ XWNEC DONE JMP XOUT NO, LOOP XT.5 CLC DATA INITIATE END OF RECORD SEQUENCE XT.10 SFS CMND WRITE COMPLETE? JMP XT.10 NO, CONTINUE JSB XSTIN YES, GET STATUS RBR,SLB PARITY OR TIMING ERROR? CLE,RSS YES JMP XIT NO LDA DB41 BACKSPACE JSB XCMND LDA DB15 JSB XCMND GAP JMP XEOTC+1 RETRY SPC 3 3 XREAD JSB XEOTC READ LDA DM3 SET RETRY STA XSPCE COUNTER TO -3 JSB XCNTR GET NEG # OF WORDS STA XCNTR XRERD CCA,CCE ADA BUFA BUFFER ADDRESS -1 STA XWNEC CLA STA XABS INITIALZE RECORD LENGTH COUNTER LDA DB23 REA D CHARACTERS CODE JSB XCMND INITIATE READ RECORD SEQUENCE XT.11 STC DATA,C INITIALIZE DATA CHANNEL LDB XCNTR LOAD NEG WORD COUNT JSB XWAIT WAIT FOR 1ST WORD STA XABS SAVE RECOTD LENGTH JSB XWAIT WAIT FOR NEXD OR EOR ISZ XWNEC STEP BUFFER POINTER STA XWNEC,I *** THIS WORD CHENGED *** INB,SZB,RSS END OF BUFFER? RSS END OF BUFFER OR NO COMPARE JMP XLOOP SZB END OF BUFFER JMP MTDER NO, NO COMPARE XT.50 CLC DATA YES, START EOR SEQUENCE XT.8 SFS CMND READ FUNTION COMPLETE? JMP XT.8 NO JSB XSTIN YES, RESTORE STATUS SSA WAS NA =EOF" READ?  JMP XIT1 YES, RETURN TO P+2 RBR,SLB,RBL PARITY OR TIMING ERROR RSS YES JMP XENDR NO NOISE ISZ XSPCE HAVE WE TRIED 3 TIMES? CLE,RSS NO JMP XSHRT YES LDA DB41 BACKSPACE JSB XCMND JMP XRERD TRY AGAIN XSHRT LDA BUFA RECORD CMA,INA && ADA XWNEC < 5 ADA DM5 SSA WORDS? JMP XREAD YES JMP ERR.1 NO * * RECORD < BUFFER LENGTH, GET TAPE LENTGTH IN USER'S BUFFER ** XENDR LDA XABS GET TAPE RECORD LENGTH SZA,RSS IS LENGTH ZERO? JMP NOISE YES, ASSUME TAPE NOISE LDB BUFL GET UER BUFFER LENGTH STB BUFA SAVE USER REQUEST SSA JMP XEND2 2 SSB ARS JMP XEND1 * XEND2 SSB,RSS ALS CMA,INA XEND1 STA BUFL SAVE TAPE LEGTH FOR USER SSB,RSS USER LENGTH CMB,INB YES ADA 1 NO CMB,INB SSA,RSS RECORD LENGTH > USER REQUEST? STB BUFL YES, STORE USER REQUEST LENGTH LDA BUFL LDB BUFA GET ORIGINAL REQUEST SSB CMA,INA YES, NEGATE ACTUAL LENGTH STA BUFL NO JMP XIT CONTINUE READ PROCESSING SPC 3 XWAIT NOP XLOOP SFC CMND END OF RECORD? JMP XT.50 YES XT.46 SFS DATA NO, NEXT WORD READY? JMP XLOOP NOP XT.43 LIA DATA,C YES, LOAD DATA WORD JMP XWAIT,I SPC 3 XCNTR NOP LDA BUFL USER'S BUFFER LENGTH CCE,SSA WORDS? JMP XCNTR,I YES CMA,INA,SZA,RSS JMP XIT DONE IF REQUEST =0 ARS JMP XCNTR,I SPC 3 XWNEC NOP JSB XSTIN GET STATUS RAR,SLA UNIT READY? JMP XS.1 NO RBR,CLE,RBR YES SLB,RSS WRITE ENABLED? JMP XWNEC,I YES LDA .+19 NO LDB WNEA OUTPUT JSB TTY35  MESSAGE HLT 33B HALT JSB XATCK CHECK FOR AUTO JMP XWNEC+1 SPC 3 XCMND NOP ii XT.14 OTA CMND OUTPUT COMMAND XS.0 LIB CMND LOAD STATUS WORD RBR,RBR RBR,SLB REQUEST REJECTED JMP REJCT YES XT.7 STC CMND,C NO INITIATE EXECUTION CCB,SEZ,CLE READ OR WRITE? JMP XCMND,I YES, RETURN XT.15 SFS CMND JMP XT.15 JSB XSTIN GET STATUS JMP XCMND,I * ** CHECK FOR TAPE UNTI IN AUTO * XATCK NOP P JSB XSTIN GET STATUS CLE,SLB,RSS UNIT IN AUTO? JMP XATCK,I YES LDA .+25 OUTPUT LDB MTLMA JSB TTY35 HLT 44B HALTLH JMP XATCK+1 SPC 3 REJCT LDB DB110 LOAD CLEAR COMMAND O.B OTB CMND OUTPUT IT XT.6 STC CMND,C INITIATE IT XT.0 SFS CMND COMPLETED? JMP XT.0 NO JMP XT.14 YES SPC 3 3 XEOTC NOP P JSB XSTIN GET STATUS ALF,CLE,RAR SHIFT "EOT" TO A0 SLA AT "EOT? JMP XIT1 YES JMP XEOTC,I NOPE * * SKP * * MAG TAPE DRIVER CONFIGUARTION * ENTER WITH THE LOAWER MAG TPAE SELECT COEE IN B * MTDIN NOP STA MTSCD SAVE SELECT CODE LDB CON1A GET STARTING POINTER MTDI1 LDA 1,I GET INSTRUCTION AND DM64 MASK OUTPUT OLD SELECT CODE IOR MTSCD MERGE IN NEW SLEECT CODE STA 1,I SAVE IT INB BE CPB CON2A FINISHED DATA CHANNEL? ISZ MTSCD YES, BUMP SELECT DOE CPB CON3A FINISHED COMMAND CHANNEL? JMP MTDIN,I YES JMP MTDI1 NO CON1 DEF XT.3 DEF XT.43 DEF XT.5 DEF XT.50 DEF XT.13 DEF XT.2. DEF XT.46 DEF XT.9 DEF XT.11 DEF XT.12 2 CON2 DEF XS.1 DEF XS.0 DEF XLOOP P~ DEF XT.20 DEF XT.15 5 DEF XT.0 DEF XT.10 DEF XT.8 DEF XT.14 S DEF XT.1 DEF XT.7 DEF XT.6 DEF O.B DEF XT.4 DEF XT.16 CON3 EQU * DB101 OCT 101 DB105 OCT 105 5 DB110 OCT 110 DB200 OCT 200 DB215 OCT 215 BUFL NOP BUFA NOP MTSCD NOP MTDER CLC 0,C HLT 11B JMP MTDM1 WNEA DEF *+1 OCT 512725 ASC 8,RITE NOT ENABLED OCT 6400 MTLMA DEF *+1 OCT 5103 ASC 11,HANGE MAG TAPE TO AUTO OCT 6400 CON1A DEF CON1,I CON2A DEF CON2,I CON3A DEF CON3,I DM64 DEC -64 HED SYSTEM CONSOLE CONFIGURATOR (D) * ** ENHANCMENT FOR REV D * SC?? NOP CHECK PRESENT CONFIGURATION LDA FILLC IS IT THE SAME AS THE CPA FILLR SYSTEM BEING LOADED? JMP SC??,I YES, EXIT CLA NO, HAS THE CONSOLE BEEN CPA SCFIG CONFIGURED YET? JSB SCFIG NO, CONFIGURE IT NOW LDA FILLC IN ANY CASE SET THE BASE STA FILLR LOCATION IN THE SYSTEM CLA AND SET THE CONFIGURATOR STA SCFIG FLAG JMP SC??,I AND EXIT * * SCFIG NOP CCA ASSUME TTY SYSTEM CONSOLE STA FILLC LDA .+38 SEE IF OPERATOR AGREES LDB CMSG WITH ASSUMPTION JSB TTY35 CLA NOW GET RESPONSE JSB TTY35 JSB GETC,I WANT FIRST CHARACTER JMP CER1 IF ANY CPA NO WAS IT NO? JMP NODLY YES, IT WAS NO CPA YES NO, WAS IT YES? JMP DELAY BAD ASSUMPTION CONSOLE IS A HP 2762A * CER1 LDA .+8 OUT PUT ERROR MESSAGE LDB COMER ??? JSB TTY35 JMP SCFIG+1 AND TRY AGAIN * DELAY LDA .-6 SET UP FOR HP 2762A STA FILLC NODLY JMP SCFIG,I EXIT * * YES OCT 131 NO OCT 116 GETC DEF GETCR * CMSG DEF *+1 OCT 6412 ASC 17,IS THE SYSTEM CONSOLE AN HP 2762A? OCT 6412 COMER DEF *+1 OCT 6412 ASC 2,??? OCT 6412 yNLHHN [m 24285-80002 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  HED * LOADER-SYSTEM LINKAGE TABLE * * *** LOADER-SYSTEM LINKAGE TABLE * * * * CONTENTS FILLED IN FROM TSB SYSTEM TAPE ON PAPER TAPE * LOADS, FROM DISC ON DISC LOADS. * ORG 4000B JMP LDR INITIATE LOADING SEQUENCE LSLTB EQU * LIBRA BSS 1 SYSTEM LIBRARY PROGRAM ORIGIN COM6 BSS 1 ADDRESS OF SYSTEM LIBRARY DISC * ADDRESSES. INCRE BSS 1 LENGTH OF TTY TABLE TTYDA BSS 1 ADDRESS OF USER DISC ADDRESS ?MASK BSS 1 ADDRESS OF USER MASK ?BHED BSS 1 => START OF LOGICAL BUFFER ?BSTR BSS 1 => END OF LOGICAL BUFFER ?BGIN BSS 1 => START OF PHYSICAL BUFFER ?BEND BSS 1 => END OF PHYSICAL BUFFER ?ID BSS 1 ADDRESS OF ID-NAME SWPIA BSS 1 ADDRESS OF USER-DEPENDENT ITEMS SWPLN BSS 1 LENGTH OF SWAP AREA SWPAA BSS 1 CORE ADDRESS OF SWAP AREA DATE BSS 1 ADDRESS OF HOUR OF YEAR TIME BSS 1 ADDRESS OF TENTHS OF SECONDS YEAR BSS 1 ADDRESS OF YEAR TSBLA BSS 1 SYSTEM START-UP DISC ADDRESS MGSLE BSS 1 MAG TAPE SLEEP PMAIN BSS 1 START OF UTILITY PWRFL BSS 1 POWER FAIL INTERRUPT CODE HED UTILITY CONTROL MAIN EQU * LDA .+24 LDB TITLE "2000E UTILITY PROGRAM" CR-LF,LF JSB ASR35,I INCOM LDA .+3 LDB STAR PRINT * JSB ASR35,I I CLA INPUT COMMAND JSB ASR35,I JSB CLEAR,I CLEAR ALL DISC DRIVES * * SCAN BUFFER FOR COMMAND * JSB GETCA,I GET FIRST CHARACTER JMP CERR NONE ALF,ALF SAVE IT STA ADR1 JSB GETCA,I GET SECOND CHARACTER JMP CERR NONE IOR ADR1 STA ADR1 STORE COMMAND LDA CBUF LOAD ADDRESS OF COMMANDS STA ADR2 SAVE IT LDA .-7 SET COUNT FOR 7 COMMANDS. STA CNT2 LDA ADR1 LOAD COMMAND CLB CLEAR COMMAND NUMBER CPZzA ADR2,I COMPARE COMMAND JMP SCAN FOUND IT. INB NOPE - TRY AGAIN ISZ ADR2 NEXT COMMAND ISZ CNT2 DONE? JMP *-5 NO * CERR LDA .+8 LDB COMRI,I ??? (D) JSB ASR35,I JMP INCOM INPUT COMMAND AGAIN * * SCAN: COMMAND HAS BEEN FOUND * SEARCH FOR FIRST PARAMETER * * SCAN STB INDEX SAVE COMMAND NUMBER * JSB GETCA,I JMP *+4 NO PARAMETER CPA COMMA RSS JMP *-4 NO-NEXT CHAR * * PARAMETER HAS BEEN FOUND * GO TO CORRECT COMMAND * LDA TBAD LOAD ADDRESS OF COMMAND JUMP TABLE ADA INDEX ADD INDEX OF COMMAND JMP 0,I I * TBAD DEF *+1,I COMMAND JUMP TABLE DEF LOADA DEF COPY DEF SLOAD DEF SDUMP ** DEF FORMA DEF PACK DEF DLOAD * CBUF DEF CTABL CTABL ASC 7,LOCOSLSDFOPADL LOAD,COPY,SLOAD,ETC. * * HED *A LOAD ROUTINE ** * * LOAD DISCS FROM MAGNETIC TAPE * AND INITIATE OPERATION OF TSB * LOAD JSB GETCA,I JMP LDR NONE - PAPER TAPE JSB BBSP,I JSB OCTLA,I CHECK FOR OCTAL INTEGER JSB SCHKA,I CHECK SELECT CODE STA MTFLG SET MAG TAPE FLAG JSB MGTPC,I CONFIGURE MAG TAPE * JSB MGTP,I OCT 3 REWIND TAPE * * LOAD DISCS FROM TAPE * * LDA .-5 LOAD ID AND LABEL STA WORD,I LDB TBUFU& JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I LDA B100 LDB TBUF JSB DISC,I LDA B111 READ LDB B100 EQUIPMENT TABLE JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I JMP LDR14 GO BUILD ADT * B377 OCT 377 DISCA OCT 0 DRP OCT 0 TCNT OCT 0 MGTP DEF MGTDR MGTDR EQU XMTD MGTPC DEF MTDIN ADR1 OCT 0 * d 4 HED * TSB LOADER * * *** MAIN LOADING SEQUENCE * * * BEGIN HERE FOR NORMAL LOADING SEQUENCES. * LDR JSB SCFGI,I CONFIGURE THE SYSTEM CONSOLE (D) CLB SET STB SLEPT INITIALIZE SLEEP FLAG (D) CLC 0,C I/O ISZ 1 TO JMP *-2 NULL STATE CLA ZERO STA SYSLF DIRECTORY TRACK STA SYSLF+1 COUNTERS STA SDRVA,I JSB LSTAT,I MAKE SURE DISC IS READY LDA .12 ASK LDB LBRYA JSB ASR35,I IF LIBRARY CLA JSB ASR35,I EXISTS? JSB GETCA,I ANSWER GIVEN? JMP ERR1 NO CPA Y YES, 'Y'? JMP LDR5 YES, ASSUME 'YES' CPA N NO, 'N'? ?J JMP LDR1 YES, ASSUME 'NO' ERR1 LDA .15 LDB ILINA TRY JSB ASR35,I AGAIN JMP LDR+1 (D) LDR1 LDA .20 ASK LDB SYSDA FOR JSB ASR35,I SYSTEM CLA ID JSB ASR35,I CODE * * CONVERT SYSTEM ID CODE * JSB INTGA,I GET SYSTEM ID CPB B5.7 NONE? JMP ID1 STB SYID1 LDA M128 OUTPUT STA WORD,I ID AND LABEL LDA B100 TO DISC LDB SYIDT JSB DISC,I JMP ID2 ID1 LDA .15 LDB ILINA JSB ASR35,I JMP LDR1 * * *** SYSTEM GENERATION * * * CREATE NASCENT EQUIPMENT TABLE * ID2 LDA M16 SET DIRECTORY LENGTH STA DIREC FOR TWO DUMMY ENTRIES LDA EQTLN ZERO STA TEMP0 OUT CLB THE REST LDA EQTA LDR2 INA OF THE STB 0,I ISZ TEMP0 EQUIPMENT TABLE JMP LDR2 CLA SET STA TEMP1 FOR LDA B11 DISC SELECT CODE STA TEMP2 LDA SETDS SET DISC ENTRY STA DTBL CCB STB MTFLG SET FLAG TO 'SYSGEN' MODE JMLP LDR14 * *** INITIATE PAPER TAPE RELOAD * * * PRIMARY USE IS FOR LINKING A NEW SYSTEM (FOR EXAMPLE, A * SYSTEM UPDATE) WITH THE LIBRARY OF A CURRENT SYSTEM. * LDR5 LDA B11 FAKE DTBL ENTRY STA DTBL FOR DISC DRIVER LDA M256 READ STA WORD,I EQUIPMENT LDA DEQTA TABLE LDB CEQTA FROM JSB DISC,I DISC 0 * *** BEGIN EMERGENCY LOADING SEQUENCE * * * ENTRY IS TO HERE WHEN ATTEMPTING TO RELOAD THE SYSTEM * USING THE EQUIPMENT TABLE IN CORE (I.E., SYSTEM WAS * HALTED BY OTHER THAN THE 'SLEEP' ROUTINE). * * LDR6 CLA SET FLAG TO STA MTFLG 'PAPER TAPE RELOAD' STA SYSLF ZERO COUNTERS FOR STA SYSLF+1 DIRECTORY TRACKS LDA ADLEN READ AND M128 STA WORD,I ADT LDB ADTBA ADB BIT15 FROM LDA ADLOC JSB DISC,I DISC LDA ADLEN RECOVER THE JMP LDR18 SYSTEM TRACKS SKP * * *** BUILD ADT * * * CREATE AN ADT ENTRY OF ZERO SECTORS FOR EACK AVAILABLE * TRACK (THE TRACK LENGTH WILL BE FILLED IN BELOW). THE * ENTRY FOR TRACK 0, DISC 0 AND A TERMINATING PSEUDO- * ENTRY BOUND THE ADT. * LDR14 LDA ADTBA CREATE LDB DISCN STB 0,I FIRST INA CLB STB LBAD NO BAD TRACKS STB 0,I ADT INA STA TEMP1 ENTRY LDA M202 INITIALIZE STA TEMP2 ADT ENTRIES LDA M6144 SET LENGTH OF TRACK TO TEST STA WORD,I LDA DISCN STA TEMP3 LDR15 LDA TEMP3 ADA B200 STA TEMP3 SAVE DISC ADDRESS OF CURRENT TRACK JSB DNTR,I FORMAT DISC TRACK JMP LD.15 ISZ LBAD BAD TRACK JMP LDR15 BAD TRACK IGNORE LD.15 EQU * * LDA TEMP3 STA TEMP1,I I ISZ TEMP1 CREATE CLB STB TEMP1,I ZERO-LENGTH ISZ TEMP1 ADT ENTRY ISZ TEMP2 ALL TRACKS CONSIDERED?X JMP LDR15 NO LDA TEMP1 YES CCB APPEND STB 0,I INA TERMINAL CLB STB 0,I PSEUDO-ENTRY CMA RECORD -# ADA ADTBA OF WORDS STA ADLEN IN ADT LDB LBAD ANY BAD TRACKS? SZB,RSS JMP LDR18 NO LDA LBAD LDB LBDMS S JSB NMOTA,I YES - TELL OPERATOR ABOUT THEM LDA .+22 LDB LBDMA LDA ADLEN RESTORE (A) (D) * *** RECOVER TRACKS * * * ALL ADT ENTRIES WITH ZERO SECTORS ARE RECOVERED * AS FULL TRACKS. THIS PICKS UP ALL SYSTEM TRACKS ON * PAPER TAPE RELOADS AND RETURNS THEM TO THE POOL OF * TRACKS AVAILABLE FOR LOADING BELOW. * ENTER WITH (A) = -#ENTRIES IN ADT. * LDR18 ADA .4 SET ENTRY COUNTER ARS (SKIPPING FIRST STA TEMP0 AND LAST ENTRIES) LDA ADTBA LOAD ADDRESS INA OF SECOND WORD LDR19 ADA .2 OF ENTRY LDB 0,I IS LENGTH SZB,RSS 0 SECTORS? JMP LDR21 YES LDR20 ISZ TEMP0 NO, DONE? JMP LDR19 NO JMP LDR23 YES LDR21 CCB LOAD ADB 0 ENTRY'S LDA 1,I DISC ADDRESS JSB ISOTA,I GET TRACK LENGTH INB IN SECTORS STA 1,I RESTORE TO LDA 1 FULL TRACK JMP LDR20 * *** CLAIM DISC TRACKS * * * CLAIM TRACKS FOR THE SYSTEM AND USER SWAPPING. THE * ADT ENTRIES ARE SET TO LENGTH ZERO RATHER * THAN BEING REMOVED. * LDR23 JSB NPRTA,I GET NUMBER OF PORTS LDA .-21 STA TEMP0 LDB TRKTA CLA TRACK TABLE STA 1,I INB ISZ TEMP0 TO ZEROS JMP *-3 LDA .-21 GET ONE LOADER TRACK STA TEMP0 LDA TRKTA FOUR SYSTEM TRACKS, STA TEMP1 LDR24 CLA FOUR SYSTEM LIBRARY TRACKS, JSB GTTRA,I STA TEMP1,I AND 16 ISZ TEMP1 HEDR OCT 6412 ASC 10,2000E LOADER/UTILITY OCT 6412 EOTM OCT 5105 ASC 5,ND OF TAPE OCT 6400 CHKSM OCT 51030j ASC 7,HECKSUM ERROR OCT 6400 DATER OCT 5104 ASC 3,ATE? ILDTE OCT 5111 ASC 6,LLEGAL DATE OCT 6400 TIMER OCT 5124<<<< ASC 3,IME? ILTIM OCT 5111 ASC 6,LLEGAL TIME OCT 6400 LABOR ASC 9,LOAD/DUMP ABORTED OCT 6412 SYSL OCT 5123 ASC 12,YSTEM LIBRARY OVERFLOW OODSP OCT 5117 ASC 9,UT OF DISC SPACE SYID# OCT 6412 ASC 9,SYSTEM ID NUMBER? HED * UTILITY ROUTINES * ERRIN LDA L.20 OUTPUT LDB LABOA TERMINATION JSB ASRDA,I MESSAGE HLT 1 * IRRECOVERABLE JMP *-1 * HALT * *** GET A COMPLETE TRACK * * * * SEARCH ADT FOR A FULL TRACK. IF NONE FOUND, TERMINATE * LOADING. IF FOUND, RETURN WITH DISC ADDRESS IN (A). IF * (A) = -1 UPON ENTRY, DELETE TRACK'S ADT ENTRY, ELSE SET * ITS SECTOR COUNT TO ZERO. * GTTRK NOP STA LTMP1 SAVE FLAG LDB L.2 SET ADB ADLEN ENTRY COUNTER BRS SKIPPING LAST STB LTMP2 PSEUDO-ENTRY LDB ADTBF (B) WILL HOLD ENTRY ADDRESSES GTTR1 LDA 1,I LOAD ENTRY'S DISC ADDRESS JSB ISOTL GET TRACK LENGTH INB IN SECTORS CPA 1,I ALL OF TRACK AVAILABLE? JMP GTTR2 YES INB NO ISZ ULTMP2 MORE ADT ENTRIES? JMP GTTR1 YES JMP ERR5A,I NO GTTR2 CLA CLAIM STA 1,I TRACK ADB LM1 LOAD LDA 1,I DISC ADDRESS ISZ LTMP1 REMOVE ENTRY? JMP GTTRK,I NO STA LTMP2 YES ADB L.2 ELIMINATE LDA 1 JSB MOVUP ENTRY LDA LTMP2 RETRIEVE JMP GTTRK,I DISC ADDRESS * *** ISOLATE TRACK LENGTH * * * * ENTER WITH A DISC ADDRESS IN (A). RETURN WITH THE LENGTH * IN SECTORS OF THE REFERENCED TRACK IN (A). * ISOTL NOP LDA D48 JMP ISOTL,I * *** BUILD AN INTEGER * * * SEARCH THE INPUT STRING FO AN INTEGER. IF FOUND, RETURN * WITH IT IN (B). IF NO DIGITS ARE FOUND OR THE INTEGER * OVERFLOWS 16 BITS, RETURN WITH 32767 IN (B). * * INTGR NOP ,, CCA SET 'NO DIGITS' STA LTMP5 FLAG CLA INITIALIZE TO ZERO INTG1 STA LTMP6 STORE PARTIAL RESULT JSB GETCR MORE CHARACTERS? JMP INTG2 NO JSB DIGCK YES, DIGIT? JMP INTG2 NO STA LTMP5 YES, SAVE IT LDA LTMP6 MULTIPLY PARTIAL MPY L.10 RESULT BY 10 CLE ADD IN ADA LTMP5 NEW DIGIT SEZ,SZB,RSS SSA OVERFLOW? RSS YES JMP INTG1 NO LDB INF REPLACE WITH JMP INTGR,I MAXIMUM INTEGER INTG2 LDB LTMP6 LOAD INTEGER ISZ LTMP5 ANY DIGITS FOUND? JMP INTGR,I YES LDB INF NO, LOAD ILLEGAL INTEGER JMP INTGR,I * *** CONVERT TWO-DIGIT INTEGER * * * * SEARCH THE INPUT RECORD FOR A TWO-DIGIT INTEGER NOT TO * EXCEED -(TWODG,I UPON ENTRY). IF FOUND, RETURN TO (P+2) * WITH INTEGER IN (B), ELSE EXIT TO ERROR ROUTINE. * TWODG NOP JSB GETCR FETCH JMP ERR7A,I AND JSB DIGCK VERIFY JMP ERR7A,I DIGIT CLB MULTIPLY MPY L.10 BY 10 STA LTMP1 AND SAV&E JSB GETCR FETCH JMP ERR7A,I AND JSB DIGCK VERIFY JMP ERR7A,I DIGIT ADB LTMP1 COMBINE WITH PRIOR RESULT LDA 1 ADA TWODG,I INTEGER ISZ TWODG TOO SSA LARGE? JMP TWODG,I NO JMP ERR7A,I YES * *** READ FROM PAPER TAPE * * * RETURN WITH A WORD FROM PAPER TAPE IN (B). IF (E)=1 UPON * ENTRY, READ ONLY THE NEXT FRAME. IF (E)=0 UPON ENTRY, * COMBINE THE NEXT TWO FRAMES INTO A 16-BIT RESULT * * READ NOP CLB,CME READ1 STC PHI/O,C READ SFS PHI/O A JMP *-1 CHARACTER CLC PHI/O INCLUSIVE OR MIB PHI/O INTO (B) SEZ,RSS SECOND CHARACTER TO BE READ? JMP READ,I NO BLF,CLE,BLF YES,MOVE FIRST CHARACTER JMP READ1 TO HIGH PART OF (B) * *** VALIDATE ADDRESS * * * ENTER WITH AN ADDRESS IN (B). VERIFY THAT THIS ADDRESS * LIES WITHIN AN AREA OF CORE CONTAINING TSB SYSTEM CODE. * IF THIS IS NOT THE CASE, HLT 55 OCT WITH THE * OFFENDING ADDRESS IN (A). * ADVAL NOP STB LTMP1 SAVE ADDRESS CLE BELOW ADB MAXAD PROTECTED SEZ LOADER? JMP ADVA1 NO ADB SYSTA YES, IN MAIN PART SSB,RSS OF SYSTEM? JMP ADVAL,I YES ADB MAXBA NO, BELOW SSB,RSS UNUSED SWAP AREA JMP ADVA1 NO JMP ADVAL,I NO ADVA1 LDA L.17 YES LDB BDADA PRINT JSB ASRDA,I ERROR LDA LTMP1 DISPLAY ADDRESS HLT 55B WAIT FOR REREAD ATTEMPT JMP L46A,I * *** FIND ADT POSITION * * * SEARCH THE ADT FOR THE FIRST ENTRY WHOSE DISC ADDRESS IS * EQUAL TO OR EXCEEDS THE DISC ADDRESS IN LTMP4. RETURN * WITH A POINTER TO THIS ENTRY IN (B). * FADTP NOP LDA LTMP4 2'S COMPLEMENT CMA,CLE,INA DISC ADDRESS STA LTMP0 SAVE IT LDB ADTBF INITIAL ADT POINTER FADT1 ADA 1,I FIRST ADTV ENTRY >= SEZ TRACK DISC ADDRESS? JMP FADTP,I YES LDA LTMP0 NO, TRY ADB L.2 NEXT ENTRY JMP FADT1 * * *** ELIMINATE ADT ENTRY * * * ENTER WITH THE ADDRESS OF THE SCRATCHED ADT ENTRY IN (A) * AND (B). MOVE THE TABLE BELOW IT OVER IT AND DECREMENT * THE ADT LENGTH BY 2. * MOVUP NOP STA SOURC SAVE SOURCE ADDRESS ADB LM2 SAVE STB DEST DESTINATION ADDRESS ADA ADLEN COMPUTE CMA,INA NUMBER OF ADA ADTBF ENTRIES CMA,INA TO BE ARS MOVED STA MCNTN MOVU1 DLD SOURC,I MOVE DST DEST,I ENTRY LDA SOURC UPDATE STA DEST ADA L.2 ADDRESSES STA SOURC ISZ MCNT DONE? JMP MOVU1 NO ISZ ADLEN YES, REDUCE TABLE LENGTH ISZ ADLEN BY ONE ENTRY JMP MOVUP,I * *** CHECK FOR A DIGIT * * * ENTER WITH A CHARACTER IN (A). IF IT IS A DIGIT, RETURN * TO (P+2) WITH THE BINARY DIGIT IN (A) AND (B)< OTHERWISE * RETURN TO (P+1) WITH THE CHARACTER IN (A). * DIGCK NOP LDB 0 ASCII ADB LD72 72 OCT OR SSB,RSS GREATER? JMP DIGCK,I YES ADB LB12 NO, ASCII 57 OCT SSB OR LESS? JMP DIGCK,I YES LDA 1 NO ISZ DIGCK JMP DIGCK,I * *** FETCH INPUT CHARACTER * * * RETURN TO (P+2) WITH THE NEXT NON-BLANK CHARACTER FROM * THE INPUT RECORD IN (A). IF A CARRIAGE RETURN IS FOUND, * RETURN TO (P+1) WITH IT IN (A). * GETCR NOP LDB BADDR LOAD CHARACTER POINTER ISZ BADDR ADVANCE IT CLE,ERB LOAD LDA 1,I WORD SEZ,RSS ADJUST AS ALF,ALF NECESSARY AND LB377 MASK OFF CHARACTER CPA BLANK BLANK? JMP GETCR+1 YES, IGNORE IT CPA LB15 NO, CARRIAGE RETURN? JMP GETBP YES - BACK UP AND EXIT ISZ GETCR ZG NO, EXIT JMP GETCR,I TO (P+2) GETBP CCB B ADB BADDR BACK UP BUFFER POINTER STB BADDR JMP GETCR,I * *** GET NUMBER OF PORTS * * * REQUEST THE NUMBER OF AVAILABLE PORTS. CHECK FOR A * RESPONSE BETWEEN 1 AND 8. A SIMPLE CARRIAGE RETURN * IMPLIES A FULL SYSTEM OF 8 PORTS. * NBPRT NOP LDA L.18 REQUESTS{ LDB MNBPA JSB ASRDA,I NUMBER CLA JSB ASRDA,I OF PORTS JSB GETCR GET CHARACTER JMP NBPR2 CR JSB DIGCK DIGIT? JMP NBPR1 NO STA LTMP1 YES JSB GETCR CARRIAGE RETURN FOLLOWS? JMP NBPR3 YES JSB DIGCK DIGIT? JMP NBPR1 NO STA LTMP2 YES LDA LTMP1 FORM NUMBER MPY L.10 ADA LTMP2 STA LTMP1 JSB GETCR CARRIAGE RETURN? JMP NBPR3 YES NBPR1 LDA L.15 NO, OUTPUT LDB ILINL ERROR JSB ASRDA,I MESSAGE JMP NBPRT+1 TRY AGAIN NBPR2 LDA L.16 RSS NBPR3 LDA LTMP1 CMA,INA,SZA,RSS ZERO? JMP NBPR1 YES LDB 0 ADA L.16 NO SSA GREATER THAN 16? JMP NBPR1 YES STB NPORT SAVE-# OF PORTS JMP NBPRT,I * * CONVERTT SUBCHANNEL TO DISC ADDRESS * FSUB NOP CLE ERB,RBR SEZ,RSS S ADB F1000 STB 0 JMP FSUB,I, F100 OCT 100  * ** TAPE ERROR * TPERR LDA .+22 TIMING OF LDB TAPEA PARITY JSB ASRDA,I ERROR JMP ERRIN EOFER LDA .+38 END OF FILE LDB EOFMA AL JSB ASRDA,I I JMP ERRNA,I ERRNA DEF ERRIN * EOFMA DEF EOFM TAPEA DEF TAPER EOFM OCT 6412 ASC 18,UNEXPECTED END-OF-FILE/END-OF-TAPE TAPER OCT 5124 ASC 18,APE CANNOT BE READ * * CHECK DISC LABEL * LABCK NOP LDB PTBF B=> 2ND WORD INB BE LDA PSYST SAVE POINTER. STA LTEMP LDA B,I B@< A= 2ND WORD CPA LTEMP,I IS IT A TIME SHARE DISC? RSS JMP LBCK2 NO. LDA .-3 YES. SET COUNTER. STA LTEMP+1 INB BUMP POINTERS. ISZ LTEMP LBCK1 LDA B,I LOAD NEXT LABEL WORD. CPA LTEMP,I CHECK IF SYSTEM DISC. RSS JMP LABCK,I NO. EXIT. INB BUMP. ISZ LTEMP ISZ LTEMP+1 DONE? JMP LBCK1 NO. LBCK2 LDA .+18 YES. SYSTEM DISC! LDB LBCK4 OUTPUT "NOT A USER DISC" JSB ASRDA,I MESSAGE. JMP INCMP,I * ** OUTPUT A NUMBER TO USERS BUFFER * NUMOT NOP IOR .+60B OUTPUT NUMBER. ALF,ALF F IOR .+15B ADD ON CR. STA B,I JMP NUMOT,I I * * ?B ]m 24285-80004 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  SKP DRV# NOP CCCNT NOP SEEEK OCT 30000 CLDSC NOP LDA .-4 STA CCCNT CLEAR 4 DISC DRIVES CLA STA DRV# CLER1 JSB .STAT ISZ DRV# ISZ CCCNT JMP CLER1 LDA .-4 STA CCCNT CLA STA DRV# CLER2 EQU * CLA OTA DC STC DC,C LDA SEEEK IOR DRV# CLC CC OTA CCCo STC CC,C SFS DC JMP *-1 1 CLA OTA DC STC DC,C SFS CC JMP *-1 JSB .STAT ISZ DRV# ISZ CCCNT JMP CLER2 JMP CLDSC,I .STAT NOP CLA A* IOR DRV# STC DC,C CLC CCC OTA CC STC CC,C SFS DC JMP *-1 LIA DCD JMP .STAT,I HED * CONSTANTS, TEMPORARIES, ETC * PHI/O EQU 13B LM2 DEC -2 LM1 DEC -1 LD72 OCT -72 L.2 DEC 2 L.16 DEC 16GG LB12 OCT 12 L.10 DEC 10 LB15 DEC 13 L.15 DEC 15 L.17 DEC 17 L.18 DEC 18 L.20 DEC 20 D48 DEC 48 LB377 OCT 377 INF OCT 77777 BLANK OCT 40 MAXAD OCT 140100 SYSTA ABS 37700B-SSYST MAXBA ABS SSYST-2000B SSYST EQU 14000B ADTBF DEF ADTBL ADT BUFFER ADDRESS ASRDA DEF TTY35 L46A DEF LDR46 ERR5A DEF ERR5 ERR7A DEF ERR7 LABOA DEF LABOR LTMP0 BSS 1 LTMP1 BSS 1 LTMP2 BSS 1 LTMP4 BSS 1 LTMP5 BSS 1 f LTMP6 BSS 1 DEST BSS 1 1 SOURC BSS 1 MCNT BSS 1 BADDR BSS 1 BDADA DEF BADAD MNBPA DEF MNBPT ILINL DEF ILIN BADAD OCT 5111 ASC 7,LLEGAL ADDRESS OCT 6400 SYMSA OCT 6412 ASC 6,SYSTEM ID? LBMSA OCT 6412 ASC 6,DISC LABEL: LBCK4 DEF LBCK5 LBCK5 OCT 6412 CR-LF ASC 8,NOT A USER DISC PTBF DEF TBUFR PSYST DEF TSSYS INCMP DEF INCOM SBC1 DEF SUBC1 PSUB DEF SUBCK CHANL BSS 1 IPTBF DEF TBUFR,I LBCK6 DEF *+1 OCT 6412 CR-LF ASC 7,NOT A SYS DISC BSLD DEF BSLDR BSLDI DEF BSLDR,I PLDTK DEF LDRTK MD128 DEC -128 P52 DEC 52 DMK DEC -6144 4V DM203 DEC -203 OP200 OCT 20:0 OP100 OCT 100 DM256 DEC -256 PWORD DEF WORDC TSBL DEF TSBLA,I PLIBR DEF LIBRA PDIS DEF DISCD PDNTR DEF DINIT BDRA DEF BADDR UPMSP DEF *+1 OCT 6412 CR-LF ASC 12,INSERT CARTR IN SUBCH 1 OCT 6412 CR-LF ASC 11,PRESS 'RUN' WHEN READY OCT 6412 CR-LF LBCK7 DEF LBCK8 LBCK8 OCT 6412 CR-LF ASC 7,DISC STILL UP HED ** UTILITY ROUTINES ** * ** BACK SPACE BUFFER POINTER * XBSP NOP CCA A ADA BDRA,I STA BDRA,I JMP XBSP,I * * * * ** LOAD SYSTEM START-UP * INIT NOP LDA DM256 STA PWORD,I LDA TSBL,I LDB PLIBR,I CCE ELB,RBR JSB PDIS,I JMP INIT,I, * * ** CHECK USER DISC FLAG * FCHEK NOP LDB PTBF,I GET USER DISC FLAG. SSB,RSS IF =0, RETURN. JMP FCHEK,I OTHERWISE OUTPUT LDA .+16 ERROR MESSAGE. LDB LBCK7 JSB ASRDA,I JMP INCMP,I * * * HED ** DLOAD ** * * DLOAD,<0 OR 1> * DLOAD JSB INTGR GET SUBCHANNEL STB CHANL SAVE IT. ADB .-2 SSB,RSS 0 OR 1? JMP SBC1,I NO. OUTPUT MESSAGE. LDB CHANL YES. CHECK STATUS ON JSB PSUB,I REQUESTED DISC. JSB FSUB FORM DISC ADDRESS. LDB .-5 READ LABEL ON REQUESTED DISC. STB PWORD,I I? LDB IPTBF JSB PDIS,I JSB LBLCK CHECK LABEL FOR SYSTEM DISC. * LDB CHANL SUBCH. 0 OR 1? SZB,RSS JMP DLOD1 SUBCH. 0. START UP. * LDB DMK SUBCH#1. INITIALIZE DISC. STB PWORD,I SET WORD COUNT. LDB DM203 SET TRACK COUNT. STB LTEMP CLA SET FOR TRACK 0. JMP *+3 DDLD LDA LTEMP+1 COMPUTE TRACK NR. ADA OP200 AND STA LTEMP+1 SAVE IT. LDB PTBF INITIALIZE TRACK. IOR OP100 JSB PDNTR,I I NOP NORMAL RETURN. 6 ISZ LTEMP ERROR RETURN. DONE? JMP DDLD NO. LDB DMK YES. DUMP SYSTEM TO SUBCH#0. STB PWORD,I SET TO TRANSFER 6144 WORDS. LDB DM203 SET TO TRANSFER 203 TRACKS. STB LTEMP CLA SET TRACK POINTER TO TRACK 0. JMP *+3 DLOOP LDA LTEMP+1 COMPUTE TRACK NUMBER ADA OP200 AND STA LTEMP+1 SAVE IT. LDB IPTBF READ TRACK FROM JSB PDIS,I SUBCH.1 LDA LTEMP+1 SET DISC ADDRESS TO IOR OP100 SUBCH.0 LDB PTBF WRITE TRACK TO JSB PDIS,I SUBCH.0 ISZ LTEMP DONE? JMP DLOOP NO. LDA P52 YES. DISC DUMP COMPLETE. LDB UPMSP OUTPUT JSB ASRDA,I MESSAGE. CLF 0 0 HLT 33B * JSB CLDSC CLEAR ALL DISCS. DLOD1 LDA PLDTK,I IS LOADER TRACK ADDRESS SZA GENERATED? JMP BSLD,I YES. START UP. LDA MD128 NO. LOAD PART OF SYSTEM LOADER STA PWORD,I FROM SUB 0, TRACK 0, SECTOR 1 CLA,INA TO GET DISC ADDRESSES. ADA OP100 LDB BSLDI I JSB PDIS,I JMP BSLD,I START UP. * * * * * CHECK LABEL FOR SYSTEM DISC. * LBLCK NOP P LDB PTBF SET POINTERS. INB BE LDA PSYST STA LTEMP LDA .-4 SET COUNTER. STA LTEMP+1  LBLC1 LDA B,I LOAD NEXT WORD. CPA LTEMP,I CHECK IF SYSTEM DISC. RSS JMP LBLC2 NO. OUTPUT ERROR MESSAGE. INB YES. ISZ LTEMP ISZ LTEMP+1 DONE? JMP LBLC1 NO. JMP LBLCK,I YES. LBLC2 LDA .+16 OUTPUT "NOT A SYS DISC" LDB LBCK6 MESSAGE. JSB ASRDA,I JMP INCMP,I * * HED * CONSTANTS, TEMPORARIES, ETC * SKP . EQU 526B THIS MUST BE IN THE SAME POSITION * AS THE SYSTEM DOT TABLE SPC 2 ORG .-29 DEC -29,-28,-27,-26,-25,-24,-23,-22,-21 DEC -20,-19,-18,-17,-16,-15,-14,-13,-12,-11 DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 DEC 0,1,2,3,4,5,6,7,8,9,10 DEC 11,12,13,14,15,16,17,18,19,20 DEC 21,22,23,24,25,26,27,28,29,30 DEC 31,32,33,34,35,36,37,38,39,40 DEC 41,42,43,44,45,46,47,48,49,50 M16 EQU .-16 M10 EQU .-101 M4 EQU .-4 M2 EQU .-2 .2 EQU .+2 .4 EQU .+4 .7 EQU .+7 .8 EQU .+8 .12 EQU .+12 .13 EQU .+13 .15 EQU .+15 .17 EQU .+17 .20 EQU .+20 .24 EQU .+24 .26 EQU .+26 COMMA EQU .+54B DB7 EQU .+7 DB15 EQU .+15B DB23 EQU .+23B DB31 EQU .+31B DB41 EQU .+41B DM5 EQU .-5 DM3 EQU .-3 HED COPY ROUTINE ORG 10000B * * COPY,, * * COPY FROM FIRST SUBCHANNEL TO SECOND * COPY JSB INTGI,I GET FIRST SUBCHANNEL JSB SUBCK VALID SUBCHANNEL? STB SUB1 SAVE IT JSB FSUBB,I FORM BASIC DISC ADDRESS STA DISC1 SAVE IT. JSB XBKSP,I JSB GETCH,I GET NEXT CHARACTER JMP CERRA,I ALL OUT, ERROR CPA COMMA COMMA? RSS YES JMP *-4 NO JSB INTGI,I GET SECOND SUBCHANNEL JSB SUBCK VALID? STB SUB2 SAVE IT JSB FSUBB,I I STA DISC2 SAVE IT * * CHECK DISC STATUS * * LDA DISC1 SET WORKING DISC ADDRESSES STA DAD1 FOR SOURCE LDA DISC2 STA DAD2 FOR DEST. LDA X203 SET TRACK COUNT STA TCNTA,I LDA X6144 STA WORDA,I COPY1 LDA DAD1 READ LDB TBFI SOURCE JSB DISCL,I DISC LDA DAD2 WRITE LDB TBUFA DESTINATION JSB DISCL,I LDA DAD1 GO ADA XB200 TO STA DAD1 NEXT LDA DAD2 TRACK ADA XB200 STA DAD2 ISZ TCNTA,I DONE? ? JMP COPY1 NO * LDA .+18 LDB COPMS "COPY COMPLETEI" JSB T35DR,I JMP INCMA,I * * * HED ** SELECTIVE LOAD ** * * SLOAD,,, * * SLOAD JSB SLDP * JSB GETCH,I GET NEXT CHAR. JMP CERRA,I NONE FOUND. CPA COMMA COMMA? RSS FOUND COMMA JMP SCHK1 NO - ERROR JSB INTGI,I GET FILE CPB INF1 FILE # OK? JMP CERRA,I NO * SPACE OVER INDICATED # OF FILES (N-1) * * LDA B SZA IF FILE NR=0 OR CPA .+1 =1 THEN JMP SL1 NO SPACING. ADA .-1 DECREMENT FILE NR. CLB JSB MGTPA,I SPACE TO CORRECT FILE OCT 4 JMP EFA,I JMP TPE,I * SL1 CLA,INA SET SELECTIVE FLAG STA SFLGA,I LDB .-5 STB WORDA,I SZA,RSS SELECTIVE LOAD? JMP SL6 NO. LDA DISC1 YES. READ DISC LABEL. LDB TBFI JSB DISCL,I JSB FCKP,I CHECK USER DISC FLAG. SL6 LDA .-5 READ LABEL FROM TAPE. LDB TRTBA JSB MREAD LDA DISC1 LDB TRTBA JSB DISCL,I LDA .-3 LDB TRTBA LENGTHS JSB MREAD LDA .-3 STA WORDA,I LDA DISC1 OUTPUT LENGTHS TO DISC INA LDB TRTBA A JSB DISCL,I DLD TRTB1,I LOAD DIRECTORY LENGTHS DST DL1 * LDA TRTBL READ STA WORDA,I IN STA ADTTA,I LDB TBUFA JSB MREAD LDA DISC1 OUTPUT ADA .+2 ADT LDB TBUFA TO JSB DISCL,I * DLD TRTBL+1 SAVE DST D1L DIRECTORY LENGTHS LDA D203 INPUT LDB TRTBA STB LTEMP JSB MREAD D * LDA D203 SCAN STA TCNTA,I TABLE LDA DISC1 STA DISC2 * SL4 LDA LTEMP,I LOAD LENGTH SZA,RSS ZERO? JMP SL2 YES ASL 7 # OF WORDS STA LTEMP+1 ADA gX3072 LONGER THAN 3072? SZA,RSS JMP SL3 SSA JMP SL3 LDA X3072 INPUT STA WORDA,I LDB TBUFA FIRST JSB MREAD TRACK LDA DISC2 DISC LDB TBUFA JSB DISCL,I LDA LTEMP+1 INPUT ADA X3072 TRACK CMA,INA 2ND STA WORDA,I LDB TBUFA PART JSB MREAD TRACK LDA DISC2 DUMP ADA .+24 TO LDB TBUFA JSB DISCL,I JMP SL2 SL3 LDA LTEMP+1 READ CMA,INA FROM STA WORDA,I MAG LDB TBUFA TAPE JSB MREAD * LDA DISC2 DUMP LDB TBUFA JSB DISCL,I * SL2 LDA DISC2 GO TO ADA XB200 NEXT STA DISC2 TRACK ISZ LTEMP ISZ TCNTA,I JMP SL4 * * * NOW READ DIRECTORIES * LDA DL1 LOAD STA WORDA,I LDB TBUFA FIRST JSB MREAD DIRECTORY TRACK LDA DISC1 DUMP ADA XB200 LDB TBUFA JSB DISCL,I * LDA DL2 CHECK 2ND TRACK SZA,RSS IF ZERO JMP SL5 IT'S NOT THERE STA WORDA,I LDB TBUFA JSB MREAD D LDA DISC1 DUMP ADA XB400 LDB TBUFA TO DISC JSB DISCL,I SL5 EQU * LDA SFLGA,I IS IT SELECTIVE? SZA,RSS JMP LD53A,I NO - IT'S FROM LOADER * JSB MGTPA,I REWIND OCT 3 JMP INCMA,I HED ** SELECTIVE DUMP ** * * SDUMP,,, * SDUMP JSB SLDP LDA SUB1 SZA,RSS CANNOT SELECTIVELY DUMP SYSTEM JMP SUBC1 OUTPUT "INVALID SUBCH.". JSB GETCH,I SEARCH FOR FILE # JMP CERRA,I NONE FOUND. CPA COMMA COMMA? RSS YES JMP SCHK1 NO - ERROR JSB INTGI,I GET FILE CPB INF1 FILE # OK? JMP CERRA,I NO * * SPACE OVER N-1 FILyES LDA B SZA IF FILE NR=0 OR CPA .+1 =1, THEN JMP SD3 NO SPACING. ADA .-1 DECREMENT FILE NR. CLB JSB MGTPA,I SPACE TO CORRECT FILE OCT 4 JMP EFA,I I JMP TPE,I * * NOW DUMP DISC * SD3 EQU * CLA,INA SET STA SFLGA,I FOR SELECTIVE LDA .-5 STA WORDA,I OUTPUT ID AND LABEL TO TAPE LDA DISC1 LDB TBFI JSB DISCL,I JSB PLABC,I CHECK LABEL. LDA .-5 5 LDB TBUFA A JSB MWRIT LDA .-3 INPUT STA WORDA,I ADT LENGTH AND LDA DISC1 DIREC TRACK INA LENGTHS LDB TBFI JSB DISCL,I LDA .-3 LDB TBUFA A JSB MWRIT LDA SFLGA,I SELECTIVE SZA,RSS JMP SD31 LDA SUB1 COMPUTE MPY .+14 DIRECTORY ADA XB100 LOCATION STA DRPA,I LDA TBUFA SET LENGTH INA LDA 0,I LDB DRPA,I FOR FIRST STA 1,I DIRECTORY TRACK LDA DISC1 SET DISC ADA XB200 ADDRESS LDB DRPA,I FOR FIRST DIRECTORY ADB .+6 TRACK STA 1,I INB LENGTH & ADDRESS LDA TBUFA OF SECOND ADA .+2 LDA 0,I STA 1,I TRACK LDA DISC1 ADA XB400 ADB .+6 STA 1,I * SD31 EQU * LDA TBUFA,I INPUT ADT. STA WORDA,I LDA DISC1 ADA .+2 LDB TBFI JSB DISCL,I * * LDA TBUFA SET STA LTEMP+1 ADT LDA WORDA,I POINTERS CMA,INA ADA LTEMP+1 STA LTEMP LDA DISC1 18 STA DSCA,I JMP SD2 GO TI SLEEP * HED ** FORMAT DISC ** * * FORMAT, * FORMA JSB INTGI,I GET SUBCHANNEL JSB SUBCK VALID? SZB,RSS IF SUBCHAN=0 THEN INVALID JMP SUBC1 f SUBCHANNEL ZERO INVALID STB SUB1B: JSB FSUBB,I FORM DISC ADDRESS STA DISC1 * CLA STA BAD CLEAR BAD TRACKS COUNT STA ADLEN ADT LENGTH = 0 LDA ADTT INITIALIZE ADT TABLE POINTER STA ADTP LDA D203 SET TRACK COUNTER STA TCNTA,I LDA DISC1 SAVE DISC ADDRESS STA DAD1 LDA X6144 STA WORDA,I FORM1 LDA DAD1 LOAD DISC ADDRESS LDB TBUFA JSB DINIT GO TO INITIALIZE JMP .ADT. * BAD TRACK LDA TCNTA,I ADA D200]]]O SSA A JMP DISBD DISC IS BAD - DONT USE IT ISZ BAD ADD 1 TO BAD TRACK COUNT FORM2 LDA DAD1 GO TO NEXT TRACK ADA XB200 STA DAD1 ISZ TCNTA,I I JMP FORM1 NO JMP FORM3 YES - LABEL DISC * * TRACK IS OK SO SET ADT ENTRY * .ADT. LDA TCNTA,I ADA D200 THEN NO ADT ENTRY SSA JMP FORM2 LDA DAD1 -- OK - FORM ENTRY LDB XD48 OF 48 SECTORS DST ADTP,I SAVE ENTRY ISZ ADTP ISZ ADTP LDA ADLEN COUNT WORDS IN ADLENGTH ADA .-2 STA ADLEN JMP FORM2 * FORM3 LDA DAD1 DUMMY CLB END DST ADTP,I ENTRY LDA ADLEN ADA .-2 STA ADLEN STA WORDA,I LDA DISC1 TO ADA .+2 THE LDB ADTT DISC JSB DISCL,I * * OUTPUT DIRECTORY * LDA .-16 OUTPUT STA WORDA,I LDA DISC1 ENTRY ADA XB200 LDB PSEUD DIRECTORY JSB DISCL,I * LDA ADLEN OUTPUT STA TRBLA,I LENGTH LDA .-16 TABLE STA TRTB1,I TO CLA DISC STA TRTB2,I LDA .-3 STA WORDA,I LDA DISC1 18 INA LDB TRTBA JSB DISCL,I * FORM4 EQU * LDA .+14 ASK FOR . LDB SYMSF SYSTEM ID? JSB T35DR,I I CLA ** JSB T35DR,I, JSB INTGI,I GET INTEGER CPB INF1 IS THERE ONE? JMP FORM4 STB SYSLI YES FORM5 LDA .+14 LDB LBMES "DISC LABEL: " JSB T35DR,I CLA A* JSB T35DR,I * LDB INBFR CHECK IF LABEL="SYSTEM" LDA SYSTP STA LTEMP LDA .-3 3 STA LTEMP+1 FORM6 LDA B,I CPA LTEMP,I RSS JMP FORM7 INB ISZ LTEMP ISZ LTEMP+1 JMP FORM6 JMP FORM5 * FORM7 LDA INBFR MOVE STA MOVES LABEL LDA LBBUF TO ADA .+2 LABEL STA MOVED BUFFER LDB .-3 JSB MOVEW LDA DISC1 LDB .-5 OUTPUT LABEL TO TRACK 0 SECTOR 0 STB WORDA,I LDB LBBUF JSB DISCL,I * * OUTPUT # OF BAD TRACKS * LDA BAD OUTPUT LDB BADMS # JSB NMOTP,I * LDA .+22 LDB BDMSA MESSAGE JSB T35DR,I * JMP INCMA,I BDMSA DEF *+1 OCT 6412 ASC 9,# OF BAD TRACKS = BSS 1 BADMS DEF *-1 1@ * ** TRACK 0,1,2 IS BAD DISC CANNOT BE USED * DISBD LDA D44 OUTPUT BAD LDB DBADA DISC JSB T35DR,I MESSAGE JMP INCMA,I D44 DEC 44 DBADA DEF DDBAD SYSTP DEF TSSYS+1 * * ** PSEUDO ENTRY FOR DISC DIRECTORY * PSEUD DEF DIRBF HED * SUBROUTINES * *S * * SELECTIVE LOAD AND DUMP * PREPARATION * SLDP NOP JSB INTGI,I GET SUBCHANNEL JSB SUBCK VALID? STB SUB1 JSB FSUBB,I FORM DISC ADDRESS STA DISC1 SAVE IT JSB XBKSP,I Iu JSB GETCH,I JMP CERRA,I CPA COMMA COMMA? RSS YES JMP SUBC1 NOPE - ERROR JSB INTCK GET SC STA 1 JSB SCHEK JSB CONMG,I JSB MGTPA,I OCT 3 REWIND TAPE * :[* JMP SLDP,I * * * SUBROUTINE TO CONVERT CHAR STRING TO NUMBER * INTCK NOP CLA INITIALIZE TOTAL STA NUM INT2 EQU * JSB GETCH,I LOAD CHARACTER JMP INT1 NO CHARS ADA M70B SUBTRACT OCT 70 (ASC 8) SSA,RSS  JMP INT1 NOT OCTAL ADA .+10B ADD 10B (I.E. 8) SSA JMP INT1 NON- NUMERIC * * * DIG IT IN A Am * LDB NUM BLS,BLS MULTIPLY BLS BY 8 ADB 0 ADD NEW DIGIT STB NUM SAVE NEW TOTAL JMP INT2 CONTINUE INT1 JSB XBKSP,I BACK UP ONE CHARACTER LDA NUM LOAD NUMBER JMP INTCK,I RETURN * * CHECK NUMBER FOR VALID SUBCHANNEL * SUBCK NOP P STB 0 SAVE # IN A ADA .-4 SSA VALID? JMP SUBC2 * * INVALID SUBCHANNEL * SUBC1 EQU * LDA .+20 "INVALID SUBCHANNEL". LDB INVLA JSB T35DR,I JMP INCMA,I RE-INPUT COMMAND SUBC2 STB LTEMP CLA,INA RBR,SLB CHECK STATUS ON REQUESTED DISC RSS CLA STA DDRVA,I JSB DDSTA,I LDB LTEMP JMP SUBCK,I DDRVA DEF SDRIV DDSTA DEF DISST * * CHECK FOR VALID SELECT CODE * SCHEK NOP STA 1 SAVE IT IN B ADB .-10B SUBTRACT 10B SSB JMP SCHK1 ERROR - TOO SMALL ADB M67B SUBTRACT 67B SSB,RSS JMP SCHK1 ERROR - TOO LARGE JMP SCHEK,I OK - RETURN * SCHK1 LDA .+22 LDB SCERA "INVALID SELECT CODE" JSB T35DR,I I JMP INCMA,I RE-INPUT COMMAND * SCERR NOP MAG. TAPE S.C. IS INVALID. SCR1 LDA .+222 LDB SCERA JSB T35DR,I LDA .+22 LDB SCERM "RE-INPUT SELECT CODE JSB T35DR,I CLA JSB T35DR,I JSB INTCK CONVERT SC STA 1 ADB .-10B VALID? SSB JMP SCR1 ADB M67B SSB,RSS JMP SCR1 JMP SCERR,I OK- RETURN LBBUF DEF SYSLI LABEL SYSLI NOP BUFFER LABEL ASC 1,TS BSS 3 SKP SKP * MAG TAPE SLEEP * * SLEEP EQU * CLF 0 LDA .+14 LDB MAGTP "SELECT CODE?" JSB T35DR,I CLA JSB T35DR,I JSB OCTIN,I CHECK FOR OCTAL INTEGER STA 1 ADB .-10B IS SELECT CODE VALID? SSB JSB SCERR NO. ADB M67B SSB,RSS JSB SCERR NO. * * SELECT CODE IS OK * JSB CONMG,I CONFIGURE MAG TAPE DRIVER * * MAG TAPE IS READY * JSB MGTPA,I OCT 3 REWIND TAPE * * DUMP TO MAG TAPE * CLA STA SFLGA,I CLEAR SELECTIVE FLAG * * DUMP EQUIPMENT TABLE TO TAPE * * LDA .-5 OUTPUT ID AND LABEL TO TAPE STA WORDA,I LDA XB100 LDB TBFI INPUT FROM DISC JSB DISCL,I LDA .-5 LDB TBUFA A JSB MWRIT LDA XB111 LENGTH LDB XB100 ADDRESS JSB MWRIT * LDA IDTTA SET UP TO DUMP STA IDTRA ID TRACKS LDA IDTRL STA IDTLA LDA .-4 FOUR TRACKS STA TCNTA,I I MSLP2 LDA IDTRL,I GET SZA,RSS JMP MSLP1 ZERO => EMPTY STA WORDA,I READ LDA IDTRA,I ID LDB TBFI TRACK JSB DISCL,I LDA WORDA,I OUTPUTU LDB TBUFA IT JSB MWRIT MSLP1 ISZ IDTRL NEXT ISZ IDTRA TRACK ISZ TCNTA,I DONE? JMP MSLP2 NO * * NOW PREPARE LIBRARY * FOR SYSTEM DISC * LDA ADLEN INPUT STA WORDA,I ADT LDA ADLOC CU LDB TBFI JSB DISCL,I * LDB TBUFA STB LTEMP LDB X203 STB TCNTA,I LDB TRTBA CLEAR LDA .+48 TRACK MSLP3 STA 1,I TABLE INB ISZ TCNTA,I I HFBJMP MSLP3 * MSLP6 LDA LTEMP,I LOAD ADT ENTRY AND XDMSK CPA XB100 RSS YES JMP MSLP4 LDA LTEMP,I CLB LSR 7 GET TRACK # ADA TRTBA COMPUTE ISZ LTEMP IN TRACK TABLE LDB LTEMP,I LOAD LENGTH OF TRACK SZB,RSS IF ZERO - IGNORE JMP MSLP5-1 CMB,INB ADB .+48 STB 0,I STORE IN TRACK TABLE MSLP5 ISZ LTEMP JMP MSLP6 BACK FOR MORE * * MSLP4 LDB XB100 CLEAR ADB .+13 TRACK LDA 1,I TABLE CLB UP LSR 7 TO ADA TRTBA LAST STA LTEMP DIRECTORY LDB TRBLA TRACK CLA A* MSP13 EQU * STA 1,I CPB LTEMP JMP MSP14 INB JMP MSP13 MSP14 LDA X203 LDB TRTBA A JSB MWRIT * * NOW START DUMPING * THE TRACKSK * LDA XB100 STA DSCA,I INITIALIZE DISC ADDRESS JSB DLIB DUMP THE LIBRARY LDA XB100 SET DIRECTORY STA DRPA,I JSB DDRC DUMP DIRECTORY * CH ^o 24285-80005 1534 S 0122 TSB/F LOADER UTILITY (2000/F)             H0101  SKP * * NOW DUMP ALL USER DISCS * MSP0 EQU * LDA DRPA,I CPA DRD32 JMP MSP12 ADA .+14 POINTER TO STA DRPA,I NEXT DISC ADA .+6 FORM LDA 0,I BASIC SZA,RSS DISC ADDRESS JMP MSP0 IF 0 THEN NONEXISTENT DISC AND XDMSK STA DSCA,I * LDA ADLEN INPUT STA WORDA,I ADT CLA STA TRTBA,I SET NEW ADT LENGTH=0 LDA ADLOC LDB TBFI JSB DISCL,I * LDA TBUFA EXTRACT ADT STA LTEMP FOR THIS DISC MSP4 LDA LTEMP,I CPA .-1 END OF TABLE? JMP MSP2 YES - NO ADT FOR THIS DISC AND XDMSK IS INTRY CPA DSCA,I FOR THIS DISC? JMP MSP3 YES ISZ LTEMP ISZ LTEMP JMP MSP4 MSP3 LDA LTEMP NOW LOOP STA LTEMP+1 FOR END MSP6 ISZ LTEMP ISZ LTEMP LDA LTEMP,I I CPA .-1 END OF TABLE? JMP MSP5 AND XDMSK IS IT FOR THIS CPA DSCA,I JMP MSP6 YES MSP5 LDA LTEMP COMPUTE # OF WORDS CMA,INA IN THIS ADT SECTION ADA LTEMP+1 1 STA WORDA,I STA TRTBA,I LDA DSCA,I OUTPUT ADA .+2 ADT LDB LTEMP+1 TO JSB DISCL,I DISC LDB DRPA,I DUMP ADT LDA 1,I AND MSP2 EQU * * STA TRTB1,I DIRECTORY ADB .+7 TRACK LDA 1,I LENGTHS STA TRTB2,I TO LDA .-3 TAPE STA WORDA,I OUTPUT LDA DSCA,I ADT AND DIRECTORY STA DISC1 INA TRACK LDB TRTBA LENGTHS JSB DISCL,I TO JMP SD3+2 DISC * SD2 EQU * LDA WORDA,I OUTPUT ADT LDB LTEMP+1 TO MAG TAPE JSB MWRIT * * NOW FROM TRACK TABLE * * LDB X203 INITIALIZE STB 9TCNTA,I TABLE LDB TRTBA LDA .+48 STA 1,I INB ISZ TCNTA,I JMP *-3 3 CLA TRACKS 0,1,2 STA TRTBA,I STA TRTB1,I STA TRTB2,I * LDB LTEMP (LTEMP)=> DISC ADDRESS ADB .-2 PSEUDO ENTRY. STB LTEMP MSP8 LDA LTEMP,I A=DISC ADDRESS ISZ LTEMP LTEMP=> LENGTH LDB LTEMP,I B=LENGTH SZB,RSS =0? JMP MSP17 YES. LEAVE IT 0. AND PD77,I NO. ISOLATE SECTOR ADDRESS. ADA B REMAINDER OF TRACK AVAILABLE? CPA .+48 RSS CLB NO. PUT 48 INTO TABLE. CMB,INB YES. SET PROPER NUMBER. ADB .+48 MSP17 STB LTEMP+2 LDB LTEMP GET ADB .-1 ADDRESS STB LTEMP LDA 1,I AND XM64 ISOLATE TRACK PART STA LTEMP+3 LSR 7 AND XB377 ISOLATE TRACK ADA TRTBA COMPUTE TRACK ADRESS LDB LTEMP+2 STB 0,I STORE LENGTH * * LDB LTEMP GET NEXT ADB .-2 ADT ENTRY LDA 1,I BACK AND XM64 SAME TRACK? CPA LTEMP+3 3J JMP *-4 STB LTEMP NEW TRACK ADB .+2 END OF ADT? CPB LTEMP+1 RSS YES. JMP MSP8 NO. * MSP7 LDA D203 OUTPUT LDB TRTBA TRACK JSB MWRIT * JSB DLIB DUMP LIBRARY TRACKS JSB DDRC DUMP DIRECTORIES LDA SFLGA,I SELECTIVE DUMP? SZA,RSS JMP MSP0 NO. JSB MGTPA,I YES. REWIND. OCT 3 JMP INCMA,I * SKP * * ALL USER PROGRAMS AND FILES * HAVE BEEN DUMPED TO MAG TAPE * NOW DUMP SYSTEM * THE FIRST RECORD IS: * DEC -5 * SEG1L DEC -1024 * SEG1A DEF ORG1 * SEG2L DEC -6144 * ; SEG2A DEF ORG2 * SEG3L DEC -6144 * SEG3A DEF ORG3 * SEG4L DEC -20 * SEG4A DEF ORG4 * MSP12 EQU * LDA .-9 LDB SEGT JSB MWRIT * LDA SEG1L INPUT STA WORDA,I FIRST LDA SEG1D,I DISC LDB TBFI JSB DISCL,I JSB WRTTP WRITE TAPE LDA SEG2L READ STA WORDA,I SEGMENT LDA SEG2D,I TWO LDB TBFI JSB DISCL,I JSB WRTTP WRITE TO TAPE LDA SEG3L READAx STA WORDA,I SEGMENT LDA SEG3D,I THREE LDB TBFI JSB DISCL,I JSB WRTTP LDA SEG4L OUTPUT LDB SEG4A LOADER JSB MWRIT TABLE * * NOW GET SYSTEM OVERLAYS * LDA X128 STA WORDA,I LDA COM6A,I LIBRARY STA LTEMP LDA LTEMP,I LDB SLOLI JSB DISCL,I LDA WORDA,I LDB SLOLA JSB MWRIT LDA SLOLA LDB 0,I INB STB DTMP0 INA STA XADR1 ISZ LTEMP MSP11 LDA XADR1,I IN STA WORDA,I IN LDA LTEMP,I LDB TBFI JSB DISCL,I JSB WRTTP WRITE ISZ LTEMP ISZ XADR1 ISZ DTMP0 JMP MSP11 * JSB MGTPA,I EOF OCT 2 JMP EFA,I I JMP TPE,I JSB MGTPA,I REWIND OCT 5 & STANDBY * * SLEEP IS COMPLETE * LDA .+18 LDB SLCOM "SLEEP COMPLETE" JSB T35DR,I * JMP MAINA,I * * DUMP LIBRARY TRACKS * DLIB NOP LDA X2030 STA TCNTA,I LDA TRTBA STA LTEMP MSLP8 LDA LTEMP,I SZA,RSS ZERO LENGTH? JMP MSLP7 ASL 7 COMPUTE LENGTH STA LTEMP+1 ADA X3072 SSA,RSS JMP MSLP9 MSPL2 LDA LTEMP+1 dd CMA,INA STA WORDA,I MSPL1 EQU * LDA DSCA,I INPUT LIBRARY TRACK LDB TBFI JSB DISCL,I LDA WORDA,I LDB TBUFA TO TAPE JSB MWRIT LDA LTEMP+1 ADA WORDA,I STA LTEMP+1 SZA,RSS JMP MSLP7 CMA,INA A& STA WORDA,I LDB TBFI LDA DSCA,I, ADA .+242 JMP MSPL1+2 MSLP7 LDA DSCA,I GO ADA XB200 TO STA DSCA,I NEXT ISZ LTEMP TRACK ISZ TCNTA,I ALL DONE? JMP MSLP8 NO JMP DLIB,I YES * MSLP9 SZA,RSS JMP MSPL2 LDA X3072 2 STA WORDA,I JMP MSPL1 1e SKP * * DUMP DIRECTORY TRACKS * DDRC NOP LDA DRPA,I LOAD LDA 0,I DIRECTORY STA WORDA,I FROM LDA DRPA,I DISC ADA .+6 DISC STA DRPA,I LDA 0,I LDB TBFI JSB DISCL,I * LDA WORDA,I LDB TBUFA TO MAG TAPE JSB MWRIT * ISZ DRPA,I LDA DRPA,I CHECK 2ND LDA 0,I TRACK SZA,RSS ZERO LENGTH => EMPTY JMP MSPL9 STA WORDA,I LDA DRPA,I ADA .+6 LDA 0,I LDB TBFI JSB DISCL,I * LDA WORDA,I LDB TBUFA JSB MWRIT MSPL9 EQU * JSB MGTPA,I OCT 2 JMP EFA,I I JMP TPE,I * LDA DRPA,I ADA .-7 DIRECTORY STA DRPA,I JMP DDRC,I * * WRITE SEGMENT TO TAPE * WRTTP NOP LDA WORDA,I LDB TBUFA JSB MWRIT JMP WRTTP,I * MREAD NOP PW JSB MGTPA,I OCT 0 JMP EFA,I JMP TPE,I JMP MREAD,I * MWRIT NOP JSB MGTPA,I OCT 1 JMP EFA,I JMP TPE,I xx JMP MWRIT,I * * INITIALIZE DISC DATA * DINIT NOP P STA DINT1 SET DISC LDA INITC DRIVER STA WRTA,I FOR INITIALIZATION LDA ERRT * STA ERRTA,I LDA DINT1 JSB DISCL,I GO TO DISC DRIVER LDA WRTC RESET TO STA WRTA,I NORMAL WRITE LDA HLT11 STA ERRTA,I JMP DINIT,I * DINTR ISZ DINIT ERROR RETURN JMP *-6 INITC OCT 110000 WRTC OCT 10000 ERRT RSS mm ERRTA DEF DRV1 HLT11 HLT 11B * ** MOVE BLOCK OF MEMORY ROUTINE * * MOVEW NOP SSB,INB,RSS JMP MOVEW,I LDA MOVES,I STA MOVED,I ISZ MOVES ISZ MOVED JMP MOVEW+1 * ** MOVE BACKWARDS * MOVEB NOP SSB,INB,RSS JMP MOVEB,I LDA MOVES,I STA MOVED,I LDA MOVES ADA .-1 STA MOVES LDA MOVED ADA .-1 STA MOVED JMP MOVEB+1 MOVES NOP MOVED NOP * * DINT1 NOP WRTA DEF WRITE NMOTP DEF NUMOT SEGT DEF *+1 DEC -5 SEG1L DEC -1024 SEG1A DEF ORG1 SEG2L DEC -6144 4| SEG2A DEF ORG2 SEG3L DEC -6144 4 SEG3A DEF ORG3 SEG4L DEC -21 SEG4A DEF ORG4 SEG1D DEF DEQTA SEG2D DEF LDRTT SEG3D DEF LDRTT+1 ORG1 EQU 0 ORG2 EQU 14000B ORG3 EQU ORG2+6144 ORG4 EQU 4000B WORDA DEF WORDC C MAINA DEF MAIN X203 DEC -203 D203 EQU X203 XM64 DEC -64 MAGTP DEF .MGTP OCTIN DEF INTCK SLCOM DEF .SLCM TBUFA DEF TBUFR TRTBA DEF TRTBL DSCA DEF DISCA DRPA DEF DRP TBFI DEF TBUFR,I TRBLA DEF TRTBL TRTB1 DEF TRTBL+1 TRTB2 DEF TRTBL+2 XB377 OCT 377 X3072 DEC -3072 X128 DEC -128 D200 DEC 200 PD77 DEF D.77 INTGI DEF INTGR COM6A DEF COM6 XB200 OCT 200 XADR1 NOP SUB1 NOP ,, SUB2 NOP DISC1 NOP DISC2 NOP DAD1 NOP DAD2 NOP COPMS DEF .CPMS INCMA DEF INCOM ADTTA DEF ADTTT TCNTA DEF TCNT INBFR DEF INBUF GETCH DEF GETCR XBKSP DEF XBSP CERRA DEF CERR FSUBB DEF FSUB CONMG DEF MTDIN DISCL DEF DISCD T35DR DEF TTY35 MGTPA DEF MGTDR TPE DEF TPERR EFA DEF EOFER SCERA DEF .SCER SCERM DEF .SCEM XB400 OCT 400 LD53A DEF LDR53 XB100 OCT 100 BAD NOP ADTT DEF ADp^TBL Ln SFLGA DEF SFLAG ADTP NOP X6144 DEC -6144 XD48 DEC 48 M67B OCT -67 INF1 OCT 77777 DL1 NOP DL2 NOP SYMSF DEF SYMSA LBMES DEF LBMSA M70B OCT -70 NUM NOP INVLA DEF INVLD XB111 OCT -111 XDMSK OCT 100100 DRD32 DEF 100B+42 SLOLA DEF SLOL DTMP0 OCT 0 SLOLI DEF SLOL,I PLABC DEF LABCK FCKP DEF FCHEK TRTBL BSS 204 PLBCK DEF LABCK FCHKP DEF FCHEK .MGTP OCT 6412 ASC 6,SELECT CODE? .SLCM OCT 5123 ASC 7,LEEP COMPLETE INVLD OCT 6412 ASC 9,INVALID SUBCHANNEL .CPMS OCT 6412 ASC 7,COPY COMPLETE .SCER OCT 6412 ASC 10,INVALID SELECT CODE .SCEM OCT 6412 ASC 10,RE-INPUT SELECT CODE DDBAD OCT 6412 ASC 10,TRACK 0,1, OR 2 BAD OCT 6412 ASC 10,CANNOT USE THIS DISC SLOL EQU TRTBL HED PACK USER DISC ROUTINE PACK JSB PINT,I GET SUBCHANNEL NUMBER (D) JSB PSBCK,I VALID? IS DISC READY? (D) SZB,RSS (D) JMP PINVL,I ZERO NOT ALLOWED (D) JSB FSUBP,I GET DISC ADDRESS STA PDISC SAVE DISC ADDRESS * LDA .-5 READ LABEL FROM DISC. STA WORDD,I LDA PDISC LDB PTBFI JSB DISCP,I JSB FCHKP,I CHECK USER DISC FLAG. JSB PLBCK,I CHECK LABEL FOR USER DISC. * LDA .-3 READ STA WORDD,I LENGTHS TABLE LDA PDISC FROM DISC INA LDB PDLNI JSB DISCP,I * LDA PADLN READ STA WORDD,I ADT LDA PDISC FROM ADA .+2 DISC STA PDLOC LDB PTBFI JSB DISCP,I I LDA PTBUF SET POINTERS STA PADR CMA,INA A& ADA PADLN END POINTER CMA,INA STA PADEN * PAC1 LDB PADR CPB PADEN JMP PACKE E INB LDA 1,I GET LENGTHS SZA,RSS JMP PAC2 FULL CPA .+48 JMP PAC2 EMPTY ADB .-1 PACK STB PADR TRACK LDA 1,I AND PM64 GET TRACK ADDRESS STA PDAD SAVE IT LDA PADLN OUTPUT STA WORDD,I ADT LDA PDLOC TO LDB PTBUF DISC JSB DISCP,I * LDA STAB SET TABLE POINTERS STA LTEMP+3 STA LTEMP+4 LDA PDAD STA LTEMP+1 STA LTEMP+2 LDA PDRL1 LOAD FIRST DIRECTORY TRACK STA WORDD,I LDA PDISC ADA P200 LDB PTBFI I JSB DISCP,I CLA STA DFLAG SET FLAG TO SAY TRACK 1 PAC7 CLA STA LTEMP+6 SET NO CHANGE FLAG LDB WORDD,I CMB,INB COMPUTE END OF TABLE ADB PTBUF PAC3 CPB PTBUF DONE? JMP PAC4 YES ADB .-2 B=> DISC ADR OF ENTRY LDA 1,I AND PM64 GET TRACK PART CPA PDAD RIGHT TRACK? JMP PAC5 YES ADB .-6 NO JMP PAC3 PAC5 LDA 1,I GET DISC ADDRESS STA LTEMP+3,I AGAIN LDA LTEMP+1 ASSIGN NEW ADDRESS STA 1,I INB LDA 1,I GET LENGTH ARS,ARS ARS,ARS ARS,ARS ARS CMA,INA UPDATE ADA LTEMP+1 TABLE STA LTEMP+1 ISZ LTEMP+3 STA LTEMP+3,I ISZ LTEMP+3 ISZ LTEMP+6 WRITE DIRECTORY BACK ADB .-7 JMP PAC3 * PAC4 LDA LTEMP+6 SZA,RSS JMP PAC6 NO CHANGE TO DIRECTORY LDA DFLAG SZA JMP PAC48 WE'VE DONE BOTH TRACKS LDA PDISC WRITE ADA P200 DIRECTORY OUT LDB PTBUF JSB DISCP,I PAC42 EQU * LDA PDRL2 STA WORDD,I LDA PDISC ADA P400 LDB PTBFI JSB DISCP,I ISZ DFLAG JMP PAC7 PAC6 LDA DFLAG SZA JMP PAC41 JMP PAC42 PAC2 INB JMP PAC1+1 PAC48 LDA LTEMP+6 SZA,RSS JMP PAC41 LDA PDISC ADA P400 LDB PTBUF JSB DISCP,I * PAC41 LDA LTEMP+4 DONE? CPA LTEMP+3 JJ JMP PAC8 YES DLD LTEMP+4,I NO CMB,INB ADB LTEMP+2 CLA ASL 7 STB WORDD,I LDB LTEMP+2 READ LSL 10 FROM LSR 3 DISC ADB PTBFI TO LDA LTEMP+4,I CORRECT JSB DISCP,I NEW ISZ LTEMP+4 POSITION LDA LTEMP+4,I STA LTEMP+2 ISZ LTEMP+4 JMP PAC41 * PAC8 LDA LTEMP+2 WRITE CMA,INA PACKED ADA PDAD TRACK ASL 7 TO STA WORDD,I DISC LDA PDAD LDB PTBUF JSB DISCP,I * LDA PADLN READ STA WORDD,I ADT LDA PDLOC TABLE LDB PTBFI JSB DISCP,I LDB PTBUF PAC81 LDA PDAD CMA,CLE,INA ADA 1,I SEZ JMP *+3 HH ADB .+2 JMP PAC81 * STB LTEMP+1 IS ENTRY LDA 1,I ON THIS AND PM64 TRACK CPA PDAD JMP PAC82 YES * LDA PDAD IS TRACK ADA .+48 CPA LTEMP+2 JMP PAC83 YES LDB PADLN NO ADB .-2 MAKE STB PADLN ROOM FOR CMB NEW ADB PTBUF ENTRY STB PMVD,I ADB .-2 STB PMVS,I CMB ADB LTEMP+1 JSB PMVB,I JMP PAC84 * PAC82 ADB .+2 SEARCH LDA 1,I FOR ENTRY NOT ON THIS TRACK AND PM646 CPA PDADA JMP PAC82 STB PMVS,I ADB PADLN STB PMVD,I LDB PTBUF CMB,INB B ADB PMVD,I LDA PDAD ADA .+48 CPA LTEMP+2 CLA,RSS LDA .+2 ADA LTEMP+1 STA PMVD,I JSB PMVW,I LDA PMVD,I CMA,INA ADA PTBUF STA PADLN LDA PDAD ADA .+48 CPA LTEMP+2 JMP PAC83 * PAC84 LDB LTEMP+2 O CMB,INB ADB PDAD ADB .+48 LDA LTEMP+2 DST LTEMP+1,I * * PAC83 LDA PADLN CMA,INA ADA PTBUF FQ STA PADEN ISZ PADR ISZ PADR JMP PAC1 * * PACKE LDA PADLN OUTPUT STA WORDD,I ADT LDA PDLOC TO LDB PTBUF DIS JSB DISCP,I LDA .-3 STA WORDD,I LDA PDISC OUTPUT INA LENGTHS LDB PDLNA TO JSB DISCP,I DISC * * SECTOR PACK COMPLETE * NOW PACK TRACKS * LDA PTBUF SET STA PADR POINTERS STA PADRT CMA,INA ADA PADLN CMA,INA STA PADEN * PAK11 LDB PADR LOAD INB TRACK LDA 1,I LENGTH SZA,RSS JMP PAK1 PSEUDO ENTRY. ADB .-1 NOT FULL. STB PADR UPDATE ADB .+2 POINTERS STB PADRT PAK22 INB LDA 1,I LOAD TRACK LENGTH SZA,RSS JMP PAK2 CPA .+48 JMP PAK2 CMA,INA GET LENGTH ADA .+48 OF TRACK CMA,INA STA PADDL LDB PADR INB WILL ADA 1,I IT FIT? SSA JMP PAK2 NO * STA LTEMP+1 SAVE LENGTH LEFT LDA PADR,I SAVE STA LTEMP+2 NEW DISC ADDRESS LDA PADRT,I SAVE AND PM64 STA PADRT,I STA LTEMP+3 CURRENT TRACK ADDDRESS LDA PADRT T* INA SET LDB .+48 TRACK STB 0,I EMPTY LDB PADR LENGTH LDA LTEMP+1 UPDATE CMA,INA ADA .+48 DISC STA LTEMP+4 4 LDA PADR,I ADDRESS AND PM64 ADA LTEMP+4 STA PADR,I INB LEFT LDA LTEMP+1 STA 1,I SZA A JMP PAK3 NOT FULL * LDA PADR FULL STA PMVD,I SO ADA .+2 DELETE STA PMVS,I DELETE ENTRY LDB PTBUF CMB,INB ADB PADLN ADB PMVS,I JSB PMVW,I LDA PADLN ADA .+2 STA PADLN STA WORDD,I WRITE PAK3 LDA PDLOC ADT LDB PTBUF TO JSB DISCP,I DISC * LDA PADDL READ ASL 7 IN TRACK STA WORDD,I LDA LTEMP+3 LDB PTBFI JSB DISCP,I LDA LTEMP+2 OUTPUT LDB PTBUF TO JSB DISCP,I NEW LOCATION LDA LTEMP+3 SET CMA,INA MODIFICATION ADA LTEMP+2 VALUE STA LTEMP+4 * UPDATE DIRECTORIES * CLA STA DFLAG LDA PDRL1 READ IN STA WORDD,I FIRST DIRECTORY TRACK LDA PDISC ADA P2000 LDB PTBFI JSB DISCP,I LDB PDRL1 CMB,INB ADB PTBUF PAK5 CPB PTBUF DONE? JMP PAK7 YES ADB .-2 LOAD LDA 1,I DISC ADDRESS AND PM646 CPA LTEMP+3 ON OLD TRACK? JMP PAK6 YES PAK61 ADB .-6 JMP PAK5 PAK6 LDA 1,I ADA LTEMP+4 MODIFY ADDRESS STA 1,I JMP PAK61 PAK7 LDA DFLAG SZA JMP PAK71 SECOND TRACK ISZ DFLAG LDA PDISC ADA P200 LDB PTBUF JSB DISCP,I OTPUT DIRECTORY LDA PDRL2 STA WORDD,I INPUT LDA PDISC 2ND ADA P400 DIRECTORY LDB PTBFI TRACK JSB DISCP,I LDB PDRL2  JMP PAK5-2 PAK71 LDA PDISC OUTPUT ADA P400 TO LDB PTBUF DISC JSB DISCP,I LDA PADLN RELOAD STA WORDD,I ADT LDA PDLOC LDB PTBFI JSB DISCP,I LDA PADLN CMA,INA ADA PTBUF STA PADEN JMP PAK11 * PAK2 LDB PADRT END OF ADT? ADB .+2 CPB PADEN JMP PAK1 YES STB PADRT T] JMP PAK22 PAK1 XB@ END ADDRESS SZA,RSS JMP IODP,I YES RETURN s+ LDB A ADB M60 IS IT GREATER 60 WORDS SSB,RSS ? LDA B60 YES SET ONE BLOCK STA IOCT SAVE COUNT ALF,ALF MOVE TO UPPER HALF LDB B2 GET FLAG JSB IOD,I OUTPUT COUNT LDA IODAD SET STARTING ADDRESS STA IOCKM SET CHECKSUM LDB IODAD MOVE IT UP BY COUNT ADB IOCT STB IODAD CLB JSB IOD,I OUTPUT STARTING ADDRESS IOD2 LDA IOADD,I GET CONTENTS CLB JSB IOD,I AND OUTPUT IT ADA IOCKM ADD TO CHECKSUM STA IOCKM ISZ IOADD MOVE TO NEXT ADDRESS CCA ADA IOCT SUBTRACT 1 FROM COUNT STA IOCT SZA IS THAT ALL? JMP IOD2 NO LDA IOCKM YES CLB JSB IOD,I OUTPUT CHECKSUM JMP IOD1 DO NEXT SECTION SKP * THE FOLLOWING ARE I O ROUTINES USED * BY THE PROGRAM IN THE CENTRAL COMPUTER. * LIA NOP LIA SC JMP LIA,I * LIB NOP LIB SC JMP LIB,I * OTA NOP OTA SC JMP OTA,I * OTB NOP OTB SC JMP OTB,I * STCC NOP STC SC,C JMP STCC,I * CLCC NOP CLC SC,C JMP CLCC,I * SFS NOP SFS SC JMP SFS,I ISZ SFS JMP SFS,I * SFC NOP SFC SC JMP SFC,I ISZ SFC JMP SFC,I * CLF NOP CLF SC JMP CLF,I * WSFS NOP STA WSFSA SAVE A CLA JSB SFC JMP *+4 INA,SZA JMP *-3 JMP *+2 ISZ WSFS LDA WSFSA RESTORE A JMP WSFS,I RETURN WSFSA NOP SKP * * CONSOLE CHECK ROUTINE * CNCK NOP C.SFC SFC SC ANY FLAG FROM OPERATOR? JMP *+3 YES ISZ CNCK NO RETURN P+2 JMP CNCK,I CLA SET INTERRUPT AGAIN JSB CID,I CLA JMP CNCK,I RETURN P+1 * CLCLD NOP CLC [SC,C CLEAR LOAD DEVICE FOR PRIORITY JMP CLCLD,I * ERMS0 CLA,CLE TELL OPEDRATOR OF LOADING CROSS LINK ERROR LDB IODLE GET POINTER TO MESSAGE JSB FMTO,I HLT 60B WAIT FOR OPERATOR JMP IODRS RESTART LOADER * ERMS1 CLA,CLE REPORT CROSS LINK ERROR LDB IODEM GET POINTER TO MESSAGE JSB FMTO,I OUTPUT IT JMP RSTRT,I * * * BUF2A NOP CLE,ERB ADJUST UPPER/LOWER LDA B,I GET 2 CHARACTERS SEZ,RSS IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND B377 MASK UNWANTED BYTE JMP BUF2A,I RETURN * * A2BUF NOP STA A2BSV SAVE THE CHARACTER SLB,INB BET OPPSITE CHARACTER ADB M2 JSB BUF2A ALF,ALF MOVE TO UPPER IOR A2BSV ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED ALF,ALF YES STA B,I STORE IT JMP A2BUF,I RETURN * A2BSV NOP SKP IOCT NOP IOSC NOP IOD NOP IODSV NOP IODVR NOP IODF NOP IODCT NOP LNKPG NOP IOADD NOP IODAD NOP IOCKM NOP IOEAD NOP RSTRT NOP IOIJB JSB *+1,I NOP SFC. SFC SC CLCC. CLC SC,C * B2 OCT 2 B7 OCT 7 B12 OCT 12 B60 OCT 60 B77 OCT 77 B177 OCT 177 B377 OCT 377 B700 OCT 700 M1 OCT -1 M2 OCT -2 M3 OCT -3 M4 OCT -4 M10 OCT -10 M60 OCT -60 M100 OCT -100 * CR OCT 15 LF EQU B12 RC OCT 170017 REQUEST COMING TNW OCT 170360 TRANSMIT NEXT WORD SKP IODSC DEF *+1,I DEF LIA+1 DEF LIB+1 DEF OTA+1 DEF OTB+1 DEF STCC+1 DEF CLCC+1 DEF SFS+1 DEF SFC+1 DEF CLF+1 OCT 1 * IODPL DEF *+1 DEF D875 DUMP ROUTINE DEF O875 CONSOLE ROUTINE DEF P875 LINE PRINTER DEF L875 LOADER DEF X875 RESTART LOCATION DEF IN875 INTERRUPT LOCATION DEF D662 DUMP ROUTINE DEF O662 CONSOLE ROUTINE DEF P662 LINE PRINTER DEF L662 LOADER DEF X662 RESTART LOCATION DEF IN662 INTERRUPT LOCATION * IODM DEF *+1 OCT 6412 ASC 14,START I-O PROCESSOR LOADER ASC 01,// * CRLKM DEF *+1 ASC 19,DIAG. CONFIGURATOR CROSS LINK PROGRAM/ IOCEM DEF *+1 ASC 08,CHECKSUM ERROR/ IOPTM DEF *+1 ASC 23,LOAD DIAGNOSTIC CONFIGURATOR IN PHOTO READER, ASC 05,PRESS RUN/ IODLE DEF *+1 ASC 22,CROSS LOAD ERROR (PRESS RUN TO START AGAIN)/ IODEM DEF *+1 ASC 09,CROSS LINK ERROR/ SKP ORG 2000B * CLC INTP,C TURN OFF I/O JMP RSTRT,I RESTART PROGRAM * * * 1=FIRST TIME * 2=NEXT RECORD COUNT * 0=NEXT WORD * -1=END-OF TRANSMISSION (LOADING) * D875 NOP STA IODSV SAVE A SZB OUTPUT WORD? JMP D875A NO ALF,ALF YES DO IT JSB OTA JSB STCC TRANSFER IT JSB WSFS WAIT FOR ACCEPTANCE JMP ERMS0 REPORT TIME OUT ALF,ALF MOVE TO OTHER HALF JSB OTA DO IT JSB STCC JSB WSFS JMP ERMS0 LDA IODSV RESTORE A REG. JMP D875,I RETURN D875A SSB END OF TRANS? JMP D875B SLB,RSS RECORD COUNT? JMP D875+4 YES CLB SET TO LINK UP JSB OTB JSB STCC JSB SFS WAIT INDEFINATELY JMP *-1 JMP D875,I D875B CLA JSB OTA JSB STCC JSB WSFS WAIT FOR FLAG JMP *+2 JMP *-5 NOT DONE CLC INTP,C TURN OFF I/O SKP X875 EQU * CLA JSB CLF JSB CNCK CHECK FOR CONSOLE INTERUPT JSB IC875 PASS FLAG TO LINK JSB SFS WAIT FOR ANY FLAG JMP *-3 JSB LIA GOT ONE GET DATA STA IODSV SAVE INPUT CPA M1 FALSE END? JMP X875 YES n AND B377 CHECK IF CONTROL WORD SZA JMP ERMS1 NOT LINK ERROR LDA IODSV SZA,RSS JMP ERMS1 ZERO ISNT ALLOWED EITHER SSA,RSS IS IT A CONTROL WORD? JMP ERMS1 NO THEN ERROR RAL SSA LOADER? JMP .L875 YES RAL NO SSA LINE PRINTER? JMP .P875 YES RAL NO SSA CONSOLE OUTPUT? JMP .O875 YES RAL NO SSA CONSOLE INPUT? JMP .I875 YES JMP ERMS1 NONE OF THE ABOVE SO ERROR * * IN875 NOP CLF 0 TURN OFF INTERRUPTS JMP X875+6 * IC875 NOP JSB CLCC JSB STCC JMP IC875,I SKP .O875 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R875 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB COD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X875 RETURN FOR MORE * * .I875 EQU * CLA JSB .R875 GET COUNT CPA M1 INT. REQUEST ONLY? JMP N1875 YES SSA CANT BE NEG JMP ERMS1 OR ERROR STA IOCT SAVE COUNT CLA RESPOND TO COUNT JSB .R875 SZA MUST BE ZERO JMP ERMS1  JSB CLF LDA IOCT RESTORE COUNT LDB FWA GET BUFFER FOR INPUT STF 0 TURN ON INTERRUPTS JSB CID,I GO INPUT IT CLF 0 TURN OFF INTERRUPTS STA IODSV SAVE COUNT CMA,INA MAKE IT NEG. STA IODCT FOR COUNTER LDB FWA SET BUFFER POINTER RBL STB IOADD SZA,RSS ANY INPUT JMP CR875 NO - RESPOND WITH CR N0875 LDB IOADD GET A BYTE JSB BUF2A JSB .R875 OUTPUT IT CPA M1 END OF TRANSFER JMP EX875 YES SZA ACCEPTED JMP ERMS1 NO ISZ IOADD MOVE TO NEXT BYTE ISZ IODCT DONE? JMP N0875 NO CR875 LDA CR YES JSB .R875 OUTPUT IT LDB A CHANGE HANDS CLA CPB O875+5 CONSOLE OUTPUT CONTROL WORD? JMP CR875+1 YES CPB CR ? JMP CR875+1 YES CPB LF ? JMP CR875+1 CPB M1 TERMINATOR RSS JMP ERMS1 NONE SO ERROR JSB .R875 GET LAST TERMINATOR CPA M1 SHOULD BE -1 JMP EX875 JMP ERMS1 NO SO ERROR EX875 CLA RESPOND TO LAST WORD JSB OTA JSB STCC JMP X875 WAIT FOR MORE * N1875 CLA JSB CID,I CALL FOR INTERRUPT JMP EX875 SKP * CONSOLE CROSS LINK (12875) DRIVER * O875 ABS *-EC875 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+O.875+CSLO OUTPUT CONTROL WORD ABS OR875-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 110000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+O.875+CSLO END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+CSLO+100000B RETURN O.875 EQU *-O875 OR875 NOP OTA SC TRANSFER CHARAC640TER STC SC,C SFS SC WAIT FOR RETURN ABS JMP+*-1-O875+CSLO LIA SC GET DATA ɐ6 g u 24296-18013 1627 S 0122 CROSS LINK              H0101  ABS JMP+*-6-O875+CSLO+100000B NO RETURN OCT 0,0 * * I875 NOP ABS STA+COT SAVE COUNT AND ABS STA+BFA BUFFER ADDRESS ABS STA+*+6-I875+CSLI ABS JSB+SETP SETUP COUNT AND BUFFER POINTER ABS JSB+O.875+CSLO OUTPUT CONTROL WORD ABS IR875-* ABS JSB+.IN LOAD BUFFER OCT 104000 CONTROL WORD NOP COUNT NOP NO MORE NOP NO INTERRUPT INST ABS STA+CSLI-1 SAVE A REG CCA SEND ABS JSB+O.875+CSLO END OF OPERATION ABS LDA+CSLI-1 RESTORE A REG CLC SC,C LEAVE CARD IN RECEIVE MODE ABS JMP+CSLI+100000B RETURN IR875 NOP CLA ABS JSB+O.875+CSLO OUTPUT REQUEST ABS JMP+*-3-I875+CSLI+100000B EC875 EQU * SKP .P875 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R875 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB LPD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X875 RETURN FOR MORE * * * LINE PRINTER CROSS LINK (12875) DRIVER * P875 ABS *-EP875 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+P.875+LPTR OUTPUT CONTROL WORD ABS PR875-* ROUTINE ABS JSB+.OUT @ DUMP BUFFER OCT 120000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+P.875+LPTR END OF OPERATION CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RETURN P.875 EQU *-P875 PR875 NOP OTA SC TRANSFER CHARACTER STC SC,C SFS SC WAIT FOR RETURN ABS JMP+*-1-P875+LPTR ABS JMP+*-5-P875+LPTR+100000B NO RETURN EP875 EQU * SKP * CROSS LINK ROUTINE FOR LOADER * .L875 CLA JSB .R875 REQUEST A REG. STA .875A SAVE IT CLA JSB .R875 REQUEST B REG. STA .875B SAVE IT CLA JSB .R875 SHAKE HANDS SZA IS HIS HANDS DURTY? JMP ERMS1 YEP LDA .875A RESTORE A LDB .875B RESTORE B JSB DRI,I GO TO DRIVER STA .875A SAVE A STB .875C SAVE B LDB .875B GET ORIGINAL SSB IF REWIND OR FF JMP *+4 DO A CLC SC,C ON LOAD DEVICE SZB IF READING LEADER SZA OR TRAILER RSS JSB CLCLD CLEAR LOAD DEVICE JSB .R875 TRANSMIT A SZA DID HE GET IT? JMP ERMS1 NO LDA .875C JSB .R875 TRANSMIT B CPA M1 DID HE GET IT? RSS JMP ERMS1 NO JSB STCC TERMINATE TRANSMISSION JMP X875 RETURN AND WAIT .875A NOP .875B NOP .875C NOP * .R875 NOP JSB OTA JSB STCC TRANSMIT IT JSB WSFS WAIT FOR REWPONSE JMP ERMS1 NONE SO ERROR JSB LIA GET THE DATA JMP .R875,I YES RETURN SKP * LOADER CROSS LINK (12875) DRIVER * L875 ABS *-LE875 ABS STA+L875A+LD SAVE A & B REGISTERS ABS STB+L875B+LD ABS JSB+LR875+LD OUTPUT CONTROL WORD OCT 140000 SZA IS RETURN 0 ABS JMP+LH875+LD A NO THEN LINK ERROR ABS JSB+LR875+LD OUTPUT A-REG. L875A EQU *-L875 NOP SZA RETURN 0? ABS JMP+LH875+LD NO THEN LINK ERROR ABS JSB+LR875+LD OUTPUT B-REG. L875B EQU *-L875 NOP SZA IS RETURN 0 ABS JMP+LH875+LD NO THEN ERROR ABS JSB+LR875+LD REQUEST A NOP ABS STA+L875A+LD ABS JSB+LR875+LD REQUEST B NOP ABS STA+L875B+LD ABS JSB+LR875+LD OUTPUT TERMINATOR DEC -1 ABS LDA+L875A+LD ABS LDB+L875B+LD ABS JMP+LD+100000B RETURN * LH875 EQU *-L875 OCT 106073 ERROR HALT CCA ABS JMP+LD+L875+100000B RETURN EOF * LR875 EQU *-L875 NOP ABS LDA+*-1-L875+LD+100000B ABS ISZ+*-2-L875+LD OTA SC STC SC,C SFS SC ABS JMP+*-1-L875+LD LIA SC ABS JMP+LR875+LD+100000B RETURN LE875 EQU * SKP D662 NOP STA IODSV SAVE A REG SZB IS IT A WORD JMP D662A NO JSB OTA OUT PUT WORD JSB WSFS WAIT FOR COMPLETION JMP ERMS0 JSB LIA CPA TNW RSS JMP ERMS0 REPORT ERROR LDA IODSV RESTORE A REG JMP D662,I GOOD RETURN D662A SSB IS IT END OF TRANS JMP D662C YES ALF,ALF CMA,INA MAKE COUNT NEG STA IODCT AND SAVE IT SLB,RSS FIRST TIME THROUGH JMP D662+4 NO NORMAL WORD D662B JSB CLCC PUT CARD IN RECEIVE MODE JSB SFS WAIT FOR FIRST FLAG JMP *-1 JSB LIA GET DATA CPA RC IS REQUEST COMMING? JMP *+2 JMP D662B NO WAIT FOR START LDA TNW GET TRANSMIT NEXT RECORD JSB OTA TRANSMIT IT JSB WSFS NOW WAIT ONLY SHORT TIME JMP ERMS0 JSB LIA GET DATA CPA M2 SECOND WORD -2? JMP *+2 YES JMP D662B NO TRY AGAIN LDA TNW TRANSMf]IT NEXT WORD JSB OTA JSB WSFS WAIT FOR IT JMP ERMS0 JSB LIA GET DATA CPA B2 IS IT +2? JMP *+2 YES JMP D662B NO TRY AGAIN LDA TNW TRANSMIT NEXT WORD JSB OTA JSB WSFS WAIT FOR RESPONSE JMP ERMS0 NONE SO ERROR JSB LIA DISCARD DATA LDA TNW TRANSMIT NEXT WORD JSB OTA JSB WSFS WAIT FOR IT JMP ERMS0 NO RESPONSE SO ERROR JSB LIA DISCARD DATA JMP D662,I RETURN SKP D662C LDA RC GET REQUEST COMMING JSB OTA OUTPUT IT JSB WSFS WAIT FOR COMPLETION JMP *+4 NO MORE FLAGS SO CONTINUE JSB LIA GOT A FLAG SO GET THE DATA CLA SEND DUMMY JMP *-5 CLC INTP,C TURN OFF I/O X662 EQU * JSB LIA DUMY LOAD JSB CLCC PUT CARD IN RECEIVE JSB CNCK CHECK FOR CONSOLE INTERRUPT JSB OTA PASS INTERRUPT ON JSB SFS WAIT FOR FLAG JMP *-3 JSB LIA GET DATA STA IODSV SAVE IT CPA M1 TERMINATOR? JMP X662 YES AND B377 SZA IS IT A CONTROL WORD? JMP ERMS1 NO ERROR LDA IODSV SZA,RSS JMP ERMS1 SSA,RSS IS IT A CONTROL WORD? JMP ERMS1 NO THEN ERROR RAL SSA LOADER? JMP .L662 YES RAL NO SSA LINE PRINTER? JMP .P662 YES RAL NO SSA CONSOLE OUTPUT? JMP .O662 YES RAL NO SSA CONSOLE INPUT? JMP .I662 YES JMP ERMS1 NONE OF THE ABOVE SO ERROR * * IN662 NOP CLF 0 TURN OFF INTERRUPTS JMP X662+6 SKP .O662 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA ~ CLEAR STA IOCT COUNT CLA JSB .R662 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB COD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JMP X662 RETURN FOR MORE * SKP * .I662 EQU * CLA JSB .R662 GET COUNT CPA M1 INT. REQUEST ONLY? JMP N1662 YES SSA CANT BE NEG JMP ERMS1 OR ERROR STA IOCT SAVE COUNT CLA RESPOND TO COUNT JSB .R662 SZA MUST BE ZERO JMP ERMS1 NOT SO ERROR JSB STCC SET INTF TO INTERRUPT LDA IOCT RESTORE COUNT LDB FWA GET BUFFER FOR INPUT STF 0 TURN ON INTERRUPTS JSB CID,I GO INPUT IT CLF 0 TURN OFF INTERRUPTS STA IODSV SAVE COUNT CMA,INA MAKE IT NEG. STA IODCT FOR COUNTER LDB FWA SET BUFFER POINTER RBL STB IOADD SZA,RSS ANY INPUT JMP CR662 NO - RESPOND WITH CR N0662 LDB IOADD GET A BYTE JSB BUF2A JSB .R662 OUTPUT IT CPA M1 END OF TRANSFER JMP EX662 YES SZA ACCEPTED JMP ERMS1 NO ISZ IOADD MOVE TO NEXT BYTE ISZ IODCT DONE? JMP N0662 NO SKP CR662 LDA CR YES JSB .R662 OUTPUT IT LDB A CHANGE HANDS CLA CPB O662+5 CONSOLE OUTPUT CONTROL WORD? JMP CR662+1 YES CPB CR ? JMP CR662+1 YES CPB LF ? JMP CR662+1 CPB M1 TERMINATOR RSS JMP ERMS1 NONE SO ERROR JSB .R662 GET LAST TERMINATOR CPA M1 SHOULD BE -1 JMP EX662 JMP ERMS1 NO SO ERROR EX662 CLA RESPOND TO LAST WORD JSB OTA JMP X662 WAIT FOR MORE * N1662 CLA JSB CID,I CALL FOR INTERRUPT JMP EX662 SKP * CONSOLE CROSS LINK (12662) DRIVER * O662 ABS *-EC662 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+O.662+CSLO OUTPUT CONTROL WORD ABS OR662-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 110000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+O.662+CSLO END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+CSLO+100000B RETURN O.662 EQU *-O662 OR662 NOP CLC SC,C PUT CARD IN RECEIVE LIB SC CLEAR FLAG OTA SC TRANSFER CHARACTER SFS SC WAIT FOR RETURN ABS JMP+*-1-O662+CSLO LIA SC GET RETURN WORD ABS JMP+*-7-O662+CSLO+100000B NO RETURN OCT 0 * * I662 NOP ABS STA+COT SAVE COUNT AND ABS STA+BFA BUFFER ADDRESS ABS STA+*+6-I662+CSLI ABS JSB+SETP SETUP COUNT AND BUFFER POINTER ABS JSB+O.662+CSLO OUTPUT CONTROL WORD ABS IR662-* ABS JSB+.IN LOAD BUFFER OCT 104000 CONTROL WORD NOP COUNT NOP NO MORE NOP NO INTERRUPT INSTRUCTION ABS STA+CSLI-1 SAVE A REG. CCA SEND ABS JSB+O.662+CSLO END OF OPERATION ABS LDA+CSLI-1 RESTORE A REG. CLC SC,C LEAVE CARD IN RECEIVE MODE ABS JMP+CSLI+100000B RETURN IR662 NOP CLA SEND NEXT WORD ABS JSB+O.662+CSLO OUTPUT REQUEST ABS JMP+*-3-I662+CSLI+100000B EC662 EQU * SKP .P662 EQU * LDA FWA SET BUFFER ADRESS RAL MAKE ADDRESS BYTE ADDRESS STA IOADD CLA CLEAR STA IOCT COUNT CLA JSB .R662 GET NEXT WORD CPA M1 END OF OPERATION? JMP *+6 LDB IOADD GET BUFFER ADDRESS JSB A2BUF PUT CHR IN BUFFER ISZ IOADD MOVE BYTE ADDRESS UP ONE ISZ IOCT AND ADD ONE TO COUNT JMP *-8 LDA IOCT WAS THERE ANY TRANSFER SZA,RSS ?? JMP *+5 NO SKIP RUBOUT LDA B177 GET TERMINATOR LDB IOADD JSB A2BUF ADD IT TO BUFFER ISZ IOCT ADD IT TO COUNT LDA IOCT OUTPUT BUFFER LDB FWA GET BUFFER ADDRESS JSB LPD,I GO DO IT CLA RESPOND TO LAST DATA JSB OTA JSB STCC JMP X662 RETURN FOR MORE * * * LINE PRINTER CROSS LINK (12662) DRIVER * P662 ABS *-EP662 TRANSFER COUNT ABS JSB+SETP SETUP BUFFER POINTER AND COUNT ABS JSB+P.662+LPTR OUTPUT CONTROL WORD ABS PR662-* ROUTINE ABS JSB+.OUT DUMP BUFFER OCT 120000 INDICATE CONSOLE NOP NO MORE OCT 12 NORMAL LINE FEED CCA SEND ABS JSB+P.662+LPTR END OF OPERATION CLC SC,C PUT CARD IN RECEIVE MODE ABS JMP+LPTR+100000B RETURN P.662 EQU *-P662 PR662 NOP CLC SC,C PUT CARD IN RECEIVE LIB SC CLEAR THE FLAG OTA SC TRANSFER CHARACTER SFS SC WAIT FOR RETURN ABS JMP+*-1-P662+LPTR ABS JMP+*-6-P662+LPTR+100000B NO RETURN EP662 EQU * SKP * CROSS LINK ROUTINE FOR LOADER * .L662 CLa A JSB .R662 REQUEST A REG. STA .662A SAVE IT CLA JSB .R662 REQUEST B REG. STA .662B SAVE IT CLA JSB .R662 SHAKE HANDS SZA ARE HIS HANDS DURTY? JMP ERMS1 YEP LDA .662A RESTORE A LDB .662B RESTORE B JSB DRI,I GO TO DRIVER STA .662A SAVE A STB .662C SAVE B LDB .662B GET ORIGINAL REQUEST SSB IF REWIND OR FF JMP *+4 CLEAR LOAD DEVICE SZB OR IF LOOKING FOR LEADER OR SZA TRAILER RSS JSB CLCLD CLEAR THE LOAD DEVICE JSB .R662 TRANSMIT A SZA DID HE GET IT? JMP ERMS1 NO LDA .662C JSB .R662 TRANSMIT B CPA M1 DID HE GET IT? RSS JMP ERMS1 NO JSB OTA TERMINATE TRANSMISSION JMP X662 RETURN AND WAIT .662A NOP .662B NOP .662C NOP * .R662 NOP JSB CLCC PUT CARD IN RECEIVE JSB OTA TRANSMIT IT JSB WSFS WAIT FOR REWPONSE JMP ERMS1 NONE SO ERROR JSB LIA GET RETURN DATA JMP .R662,I YES RETURN SKP * LOADER CROSS LINK (12662) DRIVER * L662 ABS *-LE662 ABS STA+L662A+LD SAVE A & B REGISTERS ABS STB+L662B+LD ABS JSB+LR662+LD OUTPUT CONTROL WORD OCT 140000 SZA IS RETURN 0 ABS JMP+LH662+LD NO THEN LINK ERROR ABS JSB+LR662+LD OUTPUT A-REG. L662A EQU *-L662 NOP SZA RETURN 0? ABS JMP+LH662+LD NO THEN LINK ERROR ABS JSB+LR662+LD OUTPUT B-REG. L662B EQU *-L662 NOP SZA IS RETURN 0 ABS JMP+LH662+LD NO THEN ERROR ABS JSB+LR662+LD REQUEST A NOP ABS STA+L662A+LD ABS JSB+LR662+LD REQUEST B NOP ABS STA+L662B+LD ABS JSB+LR662+LD OUTPUT TERMINATOR DEC -1 ABS LDA+%M640L662A+LD ABS LDB+L662B+LD ABS JMP+LD+100000B RETURN * LH662 EQU *-L662 OCT 106073 ERROR HALT CCA ABS JMP+LD+L662+100000B RETURN EOR * LR662 EQU *-L662 NOP ABS LDA+*-1-L662+LD+100000B ABS ISZ+*-2-L662+LD CLC SC,C PUT CARD IN INPUT LIB SC CLEAR FLAG OTA SC TRANSFER DATA SFS SC WAIT FOR IT ABS JMP+*-1-L662+LD LIA SC ABS JMP+LR662+LD+100000B LE662 EQU * * FWAA EQU * SKP %B377 EQU 7147B CNSLO EQU 7327B CNSLI EQU 7354B LNPTR EQU 7404B LDVR EQU 7431B BFR EQU 1166B BFA EQU 1165B CNT EQU 1164B COT EQU 1163B ISZ EQU 36000B LDA EQU 62000B LDB EQU 66000B ADA EQU 42000B ADB EQU 46000B STA EQU 72000B STB EQU 76000B AND EQU 12000B IOR EQU 32000B XOR EQU 22000B CPA EQU 52000B CPB EQU 56000B JSB EQU 16000B JMP EQU 26000B SETP EQU 741B .IN EQU 765B .OUT EQU 1031B CSLI EQU CNSLI-6000B CSLO EQU CNSLO-6000B LPTR EQU LNPTR-6000B LD EQU LDVR-6000B END 46 h v 24296-80001 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 |ASMB,A,B,L,C HED DIAGNOSTIC CONFIGURATOR (DSN 000200) ORG 2 SUP A EQU 0 B EQU 1 SC EQU 0 INTP EQU 0 SWREG EQU 1 DMA2 EQU 2 DMA6 EQU 6 MPRT EQU 5 JMP 130B GO TO START OF PRETEST OCT 106077 REP 15 OCT 106077,106077,106077,106077 * * LINK TABLE * START JMP CFIG,I GO DIRECT TO CONFIGURATION DRI DEF LDVR DATA RECORD INPUT COD DEF CNSLO CONSOLE OUTPUT DRIVER LPD DEF LNPTR LINE PRINTER DRIVER CID DEF CNSLI CONSOLE INPUT DRIVER FWA OCT 130 FIRST WORD OF AVBL. MEMORY LWA DEF LWAA LAST WORD OF AVBL. MEMORY DLP DEF LOAD DIAG. LOADER PROGRAM DEC -252 1 MILSEC. TIME COUNT DRISC OCT 0 DATA RECORD INPUT SELECT CODE CODSC OCT 0 CONSOLE OUTPUT SELECT CODE LPDSC OCT 0 LINE PRINTER SELECT CODE CIDSC OCT 0 CONSOLE INPUT SELECT CODE CTO NOP COMPUTER TYPE/OPTIONS NOP USER CARD TYPE AND SELECT CODE MEM NOP MEMORY SIZE JSB DLP,I GO TO DIAG. LOADER PROGRAM WAIT DEF TMR 1 MILL SEC TIMER ROUTINE SWRC DEF SWR CHECK SWITCH REG D2AS DEF D2ASC DECIMAL TO ASCII CONVERSION O2AS DEF O2ASC OCTAL TO ASCII CONVERSION AS2N DEF ASC2N ASCII TO BINARY CONVERSION DSN OCT 000200 CONF. SERIAL NUMBER FMTO DEF FMTR FORMATTED OUTPUT SKP * ONLY SINGLE OPERATION INSTRUCTIONS ARE TESTED. * IT IS ASSUMED THAT COMBINATIONS AFTER INITIAL * TEST WILL WORK(NOT NECESSARILY TRUE BUT NECESSARY). * * INSTRUCTIONS ARE TESTED IN THE FOLLOWING SEQUENCE: * * RSS SOS SOC STO CLO CLE SEZ CCE CME * * CLA CCA CPA SZA STA LDA INA CMA SSA SLA (B-REG INCLUSIVE) * * STA B,I STB A,I LDA B,I LDB A,I CPA B,I CPB A,I * * JMP (BP) JSB (BP) JSB (BP),I TO (BP) * * GENERAL MEMORY TEST (FIRST 4K ONLY) * * AND XOR IOR ISZ ADA ADB * * MEMORY ADDRESS, PATTERN & WORST CASE TEST (ABOVE 4K ONLY) * * CURRENT PAGE / BASE PAGE JMP LDA STA CPA JSB * * ALS ARS RAL RAR ALR ALF (BITS 8-6) * * ALS ARS RAL RAR ALR ALF (BITS 2-0) * * ELA ERA (BITS 8-6) ELA ERA (BITS 2-0) * * * ANY ERROR ENCOUNTERED WILL BE INDICATED BY * A HALT 66B (102066) ERH EQU 66B * REFER TO LISTING AT THE M-REG. ADDRESS FOR DETAILS IF * A HALT OCCURS. * FOR REFERENCES (BP) = BASE PAGE AND (CP) = CURRENT PAGE SPC 5 * ARITHMETIC SETTING OF E & O REGISTERS (INA ADA INB ADB) * * EXTEND & OVERFLOW REGISTER RESULTS * * * AD* MEM TO REG. = REG. OVF EXT * + + + 0 0 * + + - 1 0 * + - + 0 1 * - + + 0 1 * - + - 0 0 * + - - 0 0 * - - - 0 1 * - - + 1 1 SKP * PRE-TEST PART A (BP) * CLC INTP,C GENERATE CRS RSS HLT0 HLT ERH RSS FAILED OR I/O CAUSED SKIP * STA DISN SAVE A-REG. FOR LATER STB DIBP SAVE B-REG FOR LATER ALSO CLA STA SWRX CLEAR S-REG. FLAG IF RESTART. STA BIOSC CLEAR BASIC I/O SELECT CODE * PTLP STO START HERE IF PRE TEST LOOP SOC SOS HLT ERH STO / SOC / SOS CLO SOS SOC HLT ERH CLO / SOS / SOC CLE SEZ,RSS SEZ HLT ERH CLE / SEZ,RSS / SEZ CCE SEZ SEZ,RSS HLT ERH CCE / SEZ / SEZ,RSS CME SEZ,RSS SEZ HLT ERH CME / SEZ / SEZ,RSS SKP * PRE-TEST PART A (BP) * CLA CCB STA TMPA STB TMPB CPA B0 SZA HLT ERH CLA/CPA/SZA SZB CPB B0 HLT ERH CCB/CPB/SZB CPA M1 HLT ERH CPA CPB B0 HLT ERH CPB LDA TMPB LDB TMPA SZA CPA B0 HLT ERH STB/LDA CPB B0 SZB HLT ERH STA/LDB SOS SEZ HLT ERH E / O SET INB SOS SEZ HLT ERH E / O SET INA SEZ SOC HLT ERH E NOT SET / O SET CLE SZB SZA HLT ERH INA/INB CPB B1 RSS HLT ERH INB SKP * PRE-TEST PART A (BP) * CCA CLB STA TMPA STB TMPB CPA M1 SZA,RSS HLT ERH CCA/CPA/SZA,RSS SZB,RSS CPB M1 HLT ERH CLB/CPB/SZB,RSS CPA B0 HLT ERH CPA CPB M1 HLT ERH CPB LDA TMPB LDB TMPA SZA,RSS CPA M1 HLT ERH STB/LDA CPB M1 SZB,RSS HLT ERH STA/LDB SOS SEZ HLT ERH E / O SET INA SOS SEZ HLT ERH E / O SET INB SEZ SOC HLT ERH E NOT SET / O SET CLE SZB,RSS SZA,RSS HLT ERH INA/INB CPA B1 RSS HLT ERH INA SKP * PRE-TEST PART A (BP) * LDA ALT0 LDB ALT1 STA TMPA STB TMPB CPA ALT0 RSS HLT ERH LDA/CPA CPB ALT1 RSS HLT ERH LDB/CPB LDA TMPB LDB TMPA CPA ALT1 RSS HLT ERH LDA/STB CPB ALT0 RSS HLT ERH LDB/STA INA INB CPA ALT1A RSS HLT ERH INA CPB ALT0A RSS HLT ERH INB SKP * PRE-TEST PART A (BP) * CLA CCB CMA CMB CPA ;M1 SZB HLT ERH CMA / CMB SSA SSB HLT ERH SSA / SSB SLA SLB HLT ERH SLA / SLB CMA CMB CPB M1 SZA HLT ERH CMA / CMB SSB SSA HLT ERH SSA / SSB SLB SLA HLT ERH SLA / SLB LDA ALT0 LDB ALT1 CMA CMB CPA ALT1 RSS HLT ERH CMA CPB ALT0 RSS HLT ERH CMB SKP * PRE-TEST PART A (BP) * * CHECK SWITCH REGISTER I/O * LDA SWRX CHECK IF SWREG HAS SZA BEEN CHECK BEFORE JMP NXT00 YES SKIP CHECK LIA SWREG GET AND STA SWRX SAVE S-REG. LDA ALT0 TRY ALTERNATING PATTERNS OTA SWREG LIA SWREG CPA SWRX STILL ORIGINAL? LDA ALT0 YES 2116/5 FORCE SKIP CPA ALT0 RSS HLT ERH LDA ALT1 OTHER PATTERN OTA SWREG LIA SWREG CPA SWRX STILL ORIGINAL? LDA ALT1 YES 2116/5 FORCE SKIP CPA ALT1 RSS HLT ERH CCA TRY OUTPUTING OTA SWREG ALL ONE'S LIA SWREG NOW GET IT BACK CPA SWRX 2115/2116? JMP *+11 OPERATOR MUST SET S-REG. LIA SWREG GET IT AGAIN CPA M1 DID IT ECHO THE 1'S? RSS HLT ERH NO CLA TRY OUTPUTING OTA SWREG B0 'S LIA SWREG GET IT BACK SZA OK HLT ERH NO JMP NXT00 YES HLT 20B 2115/2116 OPERATOR MUST SET S-REG. LIA SWREG GET IT CPA M1 IS IT ALL ONES RSS HLT ERH NO INFORM OPERATOR HLT 21B OPERATOR MUST CLEAR S-REG. NXT00 EQU * LIA SWREG GET IT AGAIN SZA DID IT ECHO THE 0'S HLT ERH NO SOS SEZ HLT ERKH E O SET SKP * PRE-TEST PART A (BP) * LDA DTMPB LDB DTMPA STA B,I STB A,I CPA TMPA RSS HLT ERH STA B,I/STB A,I CPB TMPB RSS HLT ERH STA B,I/STB A,I LDA B,I LDB A,I CPA TMPA RSS HLT ERH LDA B,I CPB TMPB RSS HLT ERH LDB A,I LDA A,I LDB B,I CPA B,I RSS HLT ERH CPA B,I/LDA A,I CPB A,I RSS HLT ERH CPB A,I/LDB B,I SKP * PRE-TEST PART A (BP) * JMP *+2 HLT ERH JMP (BP) JMP *+4 HLT ERH JMP (BP) JMP *+4 HLT ERH JMP (BP) JMP *-2 HLT ERH JMP (BP) * CLA STA JB0 STA JB1 LDA HLT0 LDB HLT0 JSB *+2 JBR0 HLT ERH JSB (BP) JB0 NOP LDA *-1 CPA DJBR0 RSS HLT ERH JSB (BP) RETURN ADDRESS LDA HLT0 JSB *+2,I JBR1 HLT ERH JSB (BP),I DEF *+3 HLT ERH JSB (BP),I HLT ERH JSB (BP),I JB1 NOP LDA *-1 CPA DJBR1 RSS HLT ERH JSB (BP),I RETURN ADDRESS SKP * PRE-TEST PART A (BP) * * GENERAL MEMORY TEST * COVERS 4K MEMORY (2 TO 7677) * EXCEPT THIS ROUTINE * GMTS EQU * CLB START WITH ADDRESS INB INB TWO L00 LDA B,I GET CURRENT CONTENTS CPA B,I DID IT LOAD OK? RSS HLT ERH NO FAILED ON LOAD STA TMPA OK SAVE ORIGINAL CONTENTS CCA STA B,I PUT ALL M1 IN LOCATION CPA B,I DID IT STORE? RSS HLT ERH NO FAILED ON STORE CLA PUT 0 IN LOCATION STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO FAILED ON STORE LDA ALT0 PUT ALTERNATING PATTERN IN LOACTION STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO LDA ALT1 TRY OPPSITE PATTERN STA B,I CPA B,I DID IT STORE? RSS HLT ERH NO LDA TMPA RESTORE ORIGINAL CONTENTS STA B,I CPA B,I DID IT GO BACK? RSS HLT ERH NO INB MOVE TO NEXT LOCATION CPB GMTSA GOT TO THIS PROGRAM LDB GMTEA YES SKIP OVER THIS SECTION CPB B7700 DONE THIS 4K? RSS JMP L00 NO DO NEXT LOCATION GMTE EQU * SKP * PRE-TEST PART A (BP) * CCA AND B0 SZA HLT ERH AND LDA ALT0 AND ALT1 SZA HLT ERH AND LDA ALT1 AND ALT0 SZA HLT ERH AND CCA AND ALT0 CPA ALT0 RSS HLT ERH AND CCA AND ALT1 CPA ALT1 RSS HLT ERH AND * CLA XOR B0 SZA HLT ERH XOR XOR ALT0 CPA ALT0 RSS HLT ERH XOR XOR ALT1 CPA M1 RSS HLT ERH XOR XOR ALT0 CPA ALT1 RSS HLT ERH XOR XOR ALT1 SZA HLT ERH XOR CCA XOR M1 SZA HLT ERH XOR SKP * PRE-TEST PART A (BP) * CLA IOR B0 SZA HLT ERH IOR IOR ALT0 CPA ALT0 RSS HLT ERH IOR IOR ALT1 CPA M1 RSS HLT ERH IOR CLA IOR ALT1 CPA ALT1 RSS HLT ERH IOR IOR ALT0 CPA M1 RSS HLT ERH IOR SKP * PRE-TEST PART A (BP) * CLA CLB STA TMPA L01 CPA B100K RSS JMP *+5 SOC SEZ *($ HLT ERH E SET / O NOT SET CLO SOS SEZ HLT ERH E / O SET INA SZA,RSS JMP NXT01 INB SZB,RSS HLT ERH INA ISZ TMPA RSS HLT ERH ISZ CPA TMPA RSS HLT ERH ISZ / INA CPB A JMP L01 HLT ERH ISZ / INB NXT01 SEZ SOC HLT ERH E NOT SET / O SET CLE INB SEZ SOC HLT ERH E NOT SET / O SET CLE SZB HLT ERH INB ISZ TMPA HLT ERH ISZ SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART A (BP) * CLA CCB ADA B1 SOS SEZ HLT ERH E / O SET ADB B1 (q* i u 24296-80003 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | SEZ SOC HLT ERH E NOT SET / O SET CLE CPA B1 SZB HLT ERH ADA/ADB CCA CLB ADB B1 SOS SEZ HLT ERH E / O SET ADA B1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPB B1 SZA HLT ERH ADA/ADB CLA CCB ADA M1 SOS SEZ HLT ERH E / O SET ADB M1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M1 RSS HLT ERH ADA CPB M2 RSS HLT ERH ADB CCA CLB ADB M1 SOS SEZ HLT ERH E / O SET ADA M1 SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M2 RSS HLT ERH ADA CPB M1 RSS HLT ERH ADB LDA ALT0 LDB ALT1 ADB ALT1 SOC SEZ HLT ERH E SET / O NOT SET CLO ADA ALT1A SEZ SOC HLT ERH E NOT SET / O SET CLE CPB ALT0 SZA HLT ERH ADA/ADB LDA ALT1 LDB ALT0 ADA ALT0 SOS SEZ HLT ERH E / O SET ADB ALT1A SEZ SOC HLT ERH E NOT SET / O SET CLE CPA M1 SZB HLT ERH ADA/ADB SKP * PRE-TEST PART A (BP) * * * CALCULATE MEMORY SIZE & RUN MEMORY ADDRESS AND PATTERN ON * MEMORY ABOVE 4K-IF MEMORY>4K. * LDB B10K START WITH 8K ADB B3 MOVE TO ADDRESS 3 L02 CLA CLEAR WRAPAROUND STA 3B LDA ALT0 TRY TO STA B,I WRITE PATTERN THERE CPA 3B DID IT WRAPAROUND JMP NXT02 YES - NO MEMORY CPA B,I DID THE PATTERN STORE? JMP *+5 YES.MEMORY IS THERE CLA NO.SHOULaD CPA B,I BE ALL JMP NXT02 0'S HLT ERH NOT 0.SOMETHING'S WRONG ADB B10K MOVE UP 4K SSB,RSS DONE 32K? JMP L02 NO NXT02 LDA B CHANGE HANDS ADA M10K BACK UP ONE STEP CLE CLO CPA B3 ONLY 4K? JMP NXT05 YES - SKIP MEMORY TESTS AND B70K ELIMINATE LOWER 2 BITS ADA B7700 POINT TO BINARY LOADER ADA M1 OTA SWREG DISPLAY MEMORY SIZE SEZ SOC HLT ERH E NOT SET / O SET CLE STA LADD LWAM LDA B7700 SET FWAM STA FADD SKP * * QUICK MEMORY ADDRESS TEST * LDA FADD L03 STA A,I STORE IN EACH CPA LADD LOCATION OF AVAILABLE JMP *+3 MEMORY THE ADDRESS INA OF THAT LOCATION JMP L03 LDA FADD L04 CPA A,I VERIFY MEMORY RSS CONTENTS HLT ERH MEMORY ADDRESS FAILURE CPA LADD JMP *+3 GO ON TO MEMORY PATTERN TEST INA JMP L04 * * * QUICK MEMORY PATTERN TEST * CCA START WITH 177777 L05 LDB FADD L06 STA B,I WRITE PATTERN INB IN A REG IN CPB LADD AVAILABLE MEMROY RSS JMP L06 LDB FADD L07 CPA B,I COMPARE PATTERN READ RSS TO PATTERN WRITTEN HLT ERH MEMORY PATTERN FAILED INB CPB LADD RSS JMP L07 CPA ALT1 DONE 125252 YET? JMP NXT03 YES CPA ALT0 LDA ALT1 SZA,RSS LDA ALT0 CPA M1 CLA JMP L05 NXT03 EQU * SKP * PRE-TEST PART A (BP) * * WORST CASE PATTERN TEST * LDA FADD LDB FADD L08 STA TMPA AND B140 WRITE CPA B140 WORST CLA CASE SZA PATTERN CCA STQA B,I IN MEMORY CPB LADD JMP NXT04 INB LDA TMPA INA JMP L08 NXT04 LDA FADD LDB FADD L09 STA TMPA AND B140 NOW CPA B140 COMPARE CLA PATTERN SZA CCA CPA B,I RSS HLT ERH MEMORY PATTERN FAILED CPB LADD JMP NXT05 CONTINUE LDA MHLT FILL UNUSED MEMORY STA B,I WITH HALTS INB LDA TMPA INA JMP L09 SKP * PRE-TEST PART A (BP) * * PROGRAM COMES HERE FROM CURRENT PAGE * * BPJP0 JMP *+2,I HLT ERH JMP (BP),I (TO BP) DEF *+3 HLT ERH JMP (BP),I (TO BP) HLT ERH " " JMP *+2,I HLT ERH JMP (BP),I (TO CP) DEF CPJP0 HLT ERH JMP (BP),I (TO CP) HLT ERH " " BPJP1 JMP *+2,I HLT ERH JMP (BP),I (TO CP) DEF CPJP1 HLT ERH JMP (BP),I (TO CP) HLT ERH " " * BPJB0 NOP LDA *-1 CPA DJBR2 RSS HLT ERH JSB (BP) FROM CP RETURN ADDRESS LDA HLT0 JSB *+2,I JBR5 HLT ERH JSB (BP),I TO CP DEF CPJB0 HLT ERH JSB (BP),I TO CP HLT ERH JSB (BP),I TO CP * * END OF PRE-TEST PART A (BP) SKP * * STORAGE AND CONSTANTS * B0 OCT 0 B1 OCT 1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B5 OCT 5 B6 OCT 6 B7 OCT 7 B10 OCT 10 B17 OCT 17 B37 OCT 37 B40 OCT 40 B54 OCT 54 B60 OCT 60 B70 OCT 70 B77 OCT 77 B140 OCT 140 B170 OCT 170 B177 OCT 177 B777 OCT 777 B7700 OCT 7700 B6.5K OCT 6500 B10K OCT 10000 B70K OCT 70000 B100K OCT 100000 M1 OCT -1 M2 OCT -2 M10K OCT -10000 M17 OCT 177760 M77 OCT 177700 M70K OCT 107777 D8K3 OCT 10003 D32K3 OCT 70003 TMPA OCT -1 TMPB OCT 0 SVA NOP SVdB NOP FADD NOP LADD NOP DISN NOP DIBP NOP SWRX NOP BIOSC NOP SCX NOP IBUFP NOP APTRN OCT 172525 ALT0 OCT 125252 ALT0A OCT 125253 ALT1 OCT 052525 ALT1A OCT 052526 SKP CFIG DEF CFRG CHSC DEF CKSC ISCR DEF ISC MDVR DEF MVDVR CFM DEF CFMEM MSG DEF MSGR IBUFD DEF IBUF CNST DEF CNTS CNSC DEF CVSC DTMPA DEF TMPA DTMPB DEF TMPB GMTSA DEF GMTS GMTEA DEF GMTE DJBR0 DEF JBR0 DJBR1 DEF JBR1 DJBR2 DEF JBR2 DTMC DEF TMC DTMI DEF TMI DLDVR DEF LDVR DCO DEF CNSLO LPDV DEF LNPTR MHLT OCT 106075 * * CFMPJ JSB *+1 NOP CLF INTP CLC 5B,C TURN OFF MEMORY PROTECT CLB JMP *-4,I RETURN * DEFT DEF *+1,I OCT 101,102,103,104,106,107 OCT 121,122,123,124,125,127 DEF DTMC DEF LDMXA DEF FMTBF DEF M1 * DMABT OCT 160000 SKP CPTOT DEF CPTT * CPTT DEC -252 OCT 0 DEC -309 OCT 10000 16A DEC -309 OCT 20010 16B DEC -309 OCT 30010 16C DEC -246 OCT 40000 15A DEC -246 OCT 50010 14A DEC -246 OCT 60210 14B DEC -252 OCT 70033 2100 DEC -203 OCT 100133 21MX XETC DEC -1573 OCT 110133 21XE DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 DEC -252 OCT 0 SKP SKP CFCTP DEF *-3,I ASC 4,2116,_ ASC 4,2116,_ ASC 4,2116,_ ASC 4,2115,_ ASC 4,2114,_ ASC 4,2114,_ ASC 4,2100,_ ASC 4,21MX M,_ ASC 4,21MX E,_ * CFDNA DEF *+1 ASC 05, NO DMA, _ CFDIV DEF *+1 ASC 04, DMA, _ CFMNA DEF *+1 ASC 05,NO MPRT, _ CFMIV DEF *+1 ASC 04,MPRT, _ * CFMTB DEF *+1 DEF CFMS0 DEF CFMS1 DEF CFMS2 DEF CFMS3 DEF CFMS4 DEF CFMS5 DESF CFMS6 DEF CFMS7 * CFMS0 ASC 2,4K _ CFMS1 ASC 2,8K _ CFMS2 ASC 3,12K _ CFMS3 ASC 3,16K _ CFMS4 ASC 3,20K _ CFMS5 ASC 3,24K _ CFMS6 ASC 3,28K _ CFMS7 ASC 3,32K _ CFMS DEF *+1 ASC 04,MEMORY/ SKP SKP CCSDY NOP HLT 71B NO DEVICE CLA STA CODSC STA CIDSC JMP CCSDY,I * CSLDY DEF *+1 * OCSDY NOP PSEUDO CONSOLE DRIVER CLA CLB ABS JMP+CSLO+100000B * CNSLD DEF *+1 CD531 DEF O531 DEF *-* CD587 DEF O587 DEF *-* CD966 DEF O966 DEF C966 DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF OCSDY DEF CCSDY DEF CNSLO MAINTAIN CURRENT DRIVER FOR LINK DEF *-* * * ICSDY NOP PSEUDO CONSOLE INPUT DRIVER CLA (MUST BE 21 WORDS AFTER OCSDY) CLB OCT 106071 ABS JMP+CSLI+100000B SKP LPDF DEF *+1 DEF OLP67 DEF OLPXX LPDYD REP 5 DEF OLPDY DEF LNPTR * * OLPDY NOP ABS STA+BFR SAVE A ABS LDA+LPTR GET RETURN ADDRESS ABS STA+CSLO PUT IT IN CONSOLE ABS LDA+BFR RESTORE A ABS JMP+CSLO+1 * * DINDD DEF DINDT * LDDY DEF LDDY0 * LDDY0 NOP PSEUDO LOADER DRIVER OCT 106072 CCA SET EOT IF RUN IS PRESSED ABS JMP+LD+100000B * REP 6 OCT 106075 MEMORY HALT SKP * START OF PRE-TEST PART B (CP) * NXT05 CLA OTA SWREG CLEAR S-REG. SOS SEZ HLT ERH E / O SET LDA HLT0 HALT IF CURRENT PAGE/ LDB HLT0 BASE PAGE DOESN'T WORK JMP *+1 LDB .ALT1 LDA ALT0 RSS OCT 1 USED IN CPU TYPE CALCULATION STA .TMPA STB TMPB CPA .ALT0 RSS HLT ERH LDA (BP) / CPA (CP) CPB ALT1 RSS HLT ERH LDB $"(CP) / CPB (BP) LDB .TMPA LDA TMPB CPA .ALT1 RSS HLT ERH STB (BP) CPA (CP) CPB ALT0 RSS HLT ERH STA (CP) / CPB (BP) SKP * PRE-TEST PART B (CP) JMP *+2 HLT ERH JMP (CP) JMP *+4 HLT ERH JMP (CP) JMP *+4 HLT ERH JMP (CP) JMP *-2 HLT ERH JMP (CP) * JMP BPJP0 HLT ERH JMP (CP) TO (BP) CPJP0 JMP *+2,I HLT ERH JMP (CP),I (TO BP) DEF BPJP1 HLT ERH JMP (CP),I (TO BP) HLT ERH " " " CPJP1 JMP *+2,I HLT ERH JMP (CP),I (TO CP) DEF *+3 HLT ERH JMP (CP),I (TO CP) HLT ERH " " * CLA STA .JB0 STA .JB1 STA BPJB0 STA CPJB0 LDA HLT0 LDB HLT0 JSB *+2 JBR3 HLT ERH JSB (CP) .JB0 NOP LDA *-1 CPA DJBR3 RSS HLT ERH JSB (CP) RETURN ADRESS LDA HLT0 JSB *+2,I JBR4 HLT ERH JSB (CP),I DEF *+3 HLT ERH JSB (CP),I HLT ERH JSB (CP),I .JB1 NOP LDA *-1 CPA DJBR4 RSS HLT ERH JSB (CP),I RETURN ADDRESS LDA HLT0 JSB BPJB0 JBR2 HLT ERH JSB (BP) CPJB0 NOP LDA *-1 CPA DJBR5 RSS HLT ERH JSB (BP),I TO CP RETURN ADDRESS SKP * PRE-TEST PART B (CP) * LDA SRGP1 1000100100100111 LDB SRGP2 1001100000100000 ALS 1001001001001110 }($ j u 24296-80004 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | BRS 1100110000010000 ARS 1100100100100111 BLR 0001100000100000 ALS 1001001001001110 BLF 1000001000000001 RAR 0100100100100111 BLS 1000010000000010 ARS 0010010010010011 RBR 0100001000000001 ALR 0100100100100110 BLS 0000010000000010 RAL 1001001001001100 BLF 0100000000100000 ARS 1100100100100110 RBL 1000000001000000 ALR 0001001001001100 BRS 1100000000100000 ALF 0010010011000001 RBL 1000000001000001 RAL 0100100110000010 BRS 1100000000100000 ALS 0001001100000100 RBR 0110000000010000 RAR 0000100110000010 BLR 0100000000100000 ALF 1001100000100000 BLS 0000000001000000 CPA SRGP2 RSS HLT ERH SRG INST A-REG. CPB SRGP3 RSS HLT ERH SRG INST B-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDB SRGP1 1000100100100111 LDA SRGP2 1001100000100000 BLS 1001001001001110 ARS 1100110000010000 BRS 1100100100100111 ALR 0001100000100000 BLS 1001001001001110 ALF 1000001000000001 RBR 0100100100100111 ALS 1000010000000010 2BRS 0010010010010011 RAR 0100001000000001 BLR 0100100100100110 ALS 0000010000000010 RBL 1001001001001100 ALF 0100000000100000 BRS 1100100100100110 RAL 1000000001000000 BLR 0001001001001100 ARS 1100000000100000 BLF 0010010011000001 RAL 1000000001000001 RBL 0100100110000010 ARS 1100000000100000 BLS 0001001100000100 RAR 0110000000010000 RBR 0000100110000010 ALR 0100000000100000 BLF 1001100000100000 ALS 0000000001000000 CPB SRGP2 RSS HLT ERH SRG INST B-REG. CPA SRGP3 RSS HLT ERH SRG INST A-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGP1 1000100100100111 LDB SRGP2 1001100000100000 OCT 0020 ALS 1001001001001110 OCT 4021 BRS 1100110000010000 OCT 0021 ARS 1100100100100111 OCT 4024 BLR 0001100000100000 OCT 0020 ALS 1001001001001110 OCT 4027 BLF 1000001000000001 OCT 0023 RAR 0100100100100111 OCT 4020 BLS 1000010000000010 OCT 0021 ARS 0010010010010011 OCT 4023 RBR 0100001000000001 OCT 0024 ALR 0100100100100110 OCT 4020 BLS 0000010000000010 OCT 0022 RAL 1001001001001100 OCT 4027 BLF 0100000000100000 OCT 0021 ARS 1100100100100110 OCT 4022 RBL a 1000000001000000 OCT 0024 ALR 0001001001001100 OCT 4021 BRS 1100000000100000 OCT 0027 ALF 0010010011000001 OCT 4022 RBL 1000000001000001 OCT 0022 RAL 0100100110000010 OCT 4021 BRS 1100000000100000 OCT 0020 ALS 0001001100000100 OCT 4023 RBR 0110000000010000 OCT 0023 RAR 0000100110000010 OCT 4024 BLR 0100000000100000 OCT 0027 ALF 1001100000100000 OCT 4020 BLS 0000000001000000 CPA SRGP2 RSS HLT ERH SRG INST A-REG. CPB SRGP3 RSS HLT ERH SRG INST B-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDB SRGP1 1000100100100111 LDA SRGP2 1001100000100000 OCT 4020 BLS 1001001001001110 OCT 0021 ARS 1100110000010000 OCT 4021 BRS 1100100100100111 OCT 0024 ALR 0001100000100000 OCT 4020 BLS 1001001001001110 OCT 0027 ALF 1000001000000001 OCT 4023 RBR 0100100100100111 OCT 0020 ALS 1000010000000010 OCT 4021 BRS 0010010010010011 OCT 0023 RAR 0100001000000001 OCT 4024 BLR 0100100100100110 OCT 0020 ALS 0000010000000010 OCT 4022 RBL 1001001001001100 OCT 0027 ALF 0100000000100000 OCT 4021 BRS 1100100100100110 OCT 0022 RAL 1000000001000000 OCT 4024 BLR 0001001001001100 OCT 0021 ARS 1100000000100000 OCT 4027 BLF 0010010011000001 OCT 0022 RAL 1000000001000001 OCT 4022 RBL 0100100110000010 OCT 0021 ARS 1100000000100000 OCT 4020 BLS 0001001100000100 2u OCT 0023 RAR 0110000000010000 OCT 4023 RBR 0000100110000010 OCT 0024 ALR 0100000000100000 OCT 4027 BLF 1001100000100000 OCT 0020 ALS 0000000001000000 CPB SRGP2 RSS HLT ERH SRG INST B-REG. CPA SRGP3 RSS HLT ERH SRG INST A-REG. SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGEP 0111010001110010 LDB SRGEP 0111010001110010 ERA 0011101000111001 0 ELB 0 1110100011100100 ERA 0001110100011100 1 ELB 1 1101000111001001 ERA 1000111010001110 0 ELB 1 1010001110010010 ERA 1100011101000111 0 ELB 1 0100011100100100 ERA 1110001110100011 1 ELB 0 1000111001001001 ERA 0111000111010001 1 ELB 1 0001110010010011 ERA 1011100011101000 1 ELB 0 0011100100100111 ERA 0101110001110100 0 ELB 0 0111001001001110 ERB 0 0011100100100111 ELA 1011100011101000 0 ERB 1 0001110010010011 ELA 0111000111010001 1 ERB 1 1000111001001001 ELA 1110001110100011 0 ERB 1 0100011100100100 ELA 1100011101000111 1 ERB 0 1010001110010010 ELA 1000111010001110 1 ERB 0 1101000111001001 ELA 0001110100011100 1 ERB 1 1110100011100100 ELA $ 0011101000111001 0 ERB 0 0111010001110010 ELA 0111010001110010 0 CPA SRGEP RSS HLT ERH SRG E-REG ERROR CPB SRGEP RSS HLT ERH SRG E-REG ERROR SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * LDA SRGEP 0111010001110010 LDB SRGEP 0111010001110010 OCT 0025 ERA 0011101000111001 0 OCT 4026 ELB 0 1110100011100100 OCT 0025 ERA 0001110100011100 1 OCT 4026 ELB 1 1101000111001001 OCT 0025 ERA 1000111010001110 0 OCT 4026 ELB 1 1010001110010010 OCT 0025 ERA 1100011101000111 0 OCT 4026 ELB 1 0100011100100100 OCT 0025 ERA 1110001110100011 1 OCT 4026 ELB 0 1000111001001001 OCT 0025 ERA 0111000111010001 1 OCT 4026 ELB 1 0001110010010011 OCT 0025 ERA 1011100011101000 1 OCT 4026 ELB 0 0011100100100111 OCT 0025 ERA 0101110001110100 0 OCT 4026 ELB 0 0111001001001110 OCT 4025 ERB 0 0011100100100111 OCT 0026 ELA 1011100011101000 0 OCT 4025 ERB 1 0001110010010011 OCT 0026 ELA 0111000111010001 1 OCT 4025 ERB 1 1000111001001001 OCT 0026 ELA 1110001110100011 0 OCT 4025 ERB 1 0100011100100100 OCT 0026 ELA 1100011101000111 1 OCT 4025 ERB 0 1010001110010010 OCT 0026 ELA 1000111010001110 1 OCT 4025 ERB 0 1101000111001001 OCT 0026 ELA 0001110100011100 1 OCT 4025 ERB 1 1110100011100100 OCT 0026 ELA 0011101000111001 0 OCT 4025 ERB 0 0111010001110010 OCT 0026 ELA 0111010001110010 0 ^CPA SRGEP RSS HLT ERH SRG E-REG ERROR CPB SRGEP RSS HLT ERH SRG E-REG ERROR SOS SEZ HLT ERH E / O SET SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * BIOT EQU * LDA SWRX AND B77 STA BIOSC SAVE IT SZA,RSS IS THERE ONE? JMP BIOEX NO SKIP BASIC I/O AND B70 CHECK OVER 7B SZA,RSS HLT ERH BIO0 LDB BIOSD UPDATE I/O INSTRUCTIONS LDA B,I CPA M1 END OF LIST JMP BIO1 YES - START EXECUTION AND M77 MASK OLD SC OFF IOR BIOSC ADD NEW SC STA B,I PUT IT BACK IN PLACE INB MOVE TO NEXT INSTRUCTION JMP BIO0+1 BIO1 LDB B3 SET TRAP CELLS LDA IHLT TO INTERRUPT HALT STA B,I CPB B77 END JMP *+3 YES INB JMP *-4 CLC INTP,C GENERATE CRS TO ALL I/O SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * STF INTP TOGGLE INTERRUPT CLF INTP FLAG TO CLEAR SFC INTP IS IT CLEARED? HLT ERH NO - ERROR SFS INTP IS IT NOT SET RSS HLT ERH NO - ERROR STF INTP SET INTERRUPT FLAG SFS INTP IS IT SET? HLT ERH NO - ERROR SFC INTP IS IT NOT CLEARED? RSS HLT ERH NO - ERROR CLF INTP TURN FLAG OFF BS01 STF SC TOGGLE INTERFACE BS02 CLF SC CARD FLAG TO CLEAR BS03 SFC SC IS IT CLEARED? HLT ERH NO - ERROR BS04 SFS SC IS IT NOT SET? RSS HLT ERH NO - ERROR BS05 STF SC SET CARD FLAG BS06 SFS SC IS IT SET HLT ERH NO - ERROR BS07 SFC SC IS IT NOT CLEAR? RSS HLT ERH NO - ERROR JSB BIOI SET INTERRUPT RETURN VX DEF BIOR1 INTERRUPT TO ERROR BS08 STF SC SET THE FLAG BS09 STC SC AND CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TO INTERRUPT NOP JMP *+3 BIOR1 NOP HLT ERH INTERRUPT CANT BE TURNED OFF CLC INTP,C GENERATE CRS SKP * PRE-TEST PART B (CP) * * BSIC I/O TEST * BS10 CLC SC,C RESET SC FLAG AND CONTROL LDB B10 START WITH LOWEST ADDRESS BIO2 CPB BIOSC IS IT THIS SELECT CODE JMP BIO3 YES - SKIP CHECK LDA .STF SET UP IOR B INSTRUCTIONS STA *+2 BS11 CLF SC CLEAR SC FLAG NOP BS12 SFC SC CHECK SC FLAG HLT ERH NOT CLEAR THEN ERROR BIO3 CPB B77 IS THAT THE LAST? JMP *+3 YES - MOVE TO NEXT TEST INB NO - MOVE TO NEXT SC JMP BIO2 AND CHECK IT CLC INTP,C CREATE CRS INCASE OF PRIV. INT. JSB BIOI SET INTERRUPT LINK DEF BIOI0 CLA CLEAR FLAGS STA BIOJD STA BIOI0 STA TMPA BS13 STC SC TURN ON BS14 STF SC CARD STF INTP AND INTP'S STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCUR DEF *+1 * HERE JSB *+1,I * DEF *+1 * BIOJD NOP * ISZ TMPA INT. SHOULD BE HERE ISZ TMPA CLF INTP TURN I/O SYSTEM OFF BS15 CLC SC,C RESET SC FLAG AND CONTROL LDB BIOI0 DID IT INTERRUPT? SZB,RSS HLT ERH NO - ERROR LDB TMPA RETURN CORRECTLY CPB B2 RSS HLT ERH NO - ERROR SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * JSB BIOI DEF BIOR2 BS16 STC SC \ CONTROL ON BS17 STF SC FLAG UP STF INTP TURN ON INTERRUPTS BS20 CLC SC CLEAR SC CONTROL NOP GIVE IT A CHANCE NOP * NOP * JMP *+3 BIOR2 NOP HLT ERH CONTROL NOT CLEARED CLF INTP TURN INTP'S OFF JSB BIOI DEF BIOR3 BS21 STC SC TURN CONTROL ON STF INTP TURN INTP'S ON CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP * NOP * JMP *+3 BIOR3 NOP HLT ERH BS22 CLC SC,C TURN OFF DEVICE BIOEX CLC INTP,C TURN OFF ALL I O LDA SWRX CHECK IF AUTOMATIC MODE AND B7700 SZA JMP CFGR YES GO TO CONFIGURATION LDA SWRX CHECK IF LOOP AND B10K SZA JMP PTLP YES LOOP LDA SWRX RESTORE S-REG. OTA SWREG LDA DISN AND A & B REG LDB DIBP HLT 77B WAIT FOR CONFIGURATION INFORMATION * CFRG CLC INTP,C TURN OFF ALL I/O STA DISN STB DIBP LIA SWREG GET SWITCH REGISTER STA SWRX JMP CFGR GO TO CONFIGURATION SKP * PRE-TEST PART B (CP) * * BASIC I/O TEST * BIOI0 NOP CLF INTP TURN I/O SYSTEM OFF LDB BIOJD CHECK TO SE IF ALL CPB BIOD0 INSTRUCTIONS COMPLETED RSS HLT ERH NO - ERROR LDB BIOD1 CHECK RETURN ADDRESS CPB BIOI0 * JMP *+3 * INB * CPB BIOI0 * RSS * HLT ERH * JSB BIOI SET ERROR IF SECOND INTP DEF BIOE STF INTP TURN I/O SYSTEM ON JMP BIOI0,I CONTINUE TEST * BIOD0 DEF BIOJD-1 BIOD1 DEF BIOJD+1 * * BIOI NOP LDB BIOI,I ISZ BIOI STB 3B LDB JSBI. BSSTB STB SC JMP BIOI,I * * BIOE NOP HLT ERH SECOND INTkERRUPT OCCURED JMP BIOE,I * SKP .ALT0 OCT 125252 .ALT1 OCT 052525 SRGP1 OCT 104447 1000100100100111 SRGP2 OCT 114040 1001100000100000 SRGP3 OCT 000100 SRGEP OCT 072162 011010001110010 .TMPA NOP .TMPB NOP DJBR3 DEF JBR3 DJBR4 DEF JBR4 DJBR5 DEF JBR5 .STF STF 0 JSBI. JSB 3B,I IHLT OCT 106077 * * BIOSD DEF *+1,I DEF BS01 DEF BS02 DEF BS03 DEF BS04 DEF BS05 DEF BS06 DEF BS07 DEF BS08 DEF BS09 DEF BS10 DEF BS11 DEF BS12 DEF BS13 DEF BS14 DEF BS15 DEF BS16 DEF BS17 DEF BS20 DEF BS21 DEF BS22 DEF BSSTB DEF M1 SKP * START OF CONFIGURATION SECTION * CFGR CLA STA 3B CLEAR WRAPAROUND LDB D8K3 TRY FOR 8K LDA APTRN GET ALTERNATING PATTERN COZ0 STA B,I STORE IT CPA 3B DID IT WRAPAROUND? JMP COZE YES CPA B,I DID IT STORE? RSS JMP COZE NO STB MEM YES - SAVE SIZE CPB D32K3 REACHED 32K? JMP COZE YES ADB B10K NO - MOVE TO NEXT 4K JMP COZ0 COZE LDA MEM GET PREVIOUS MEMORY SIZE AND B70K ISOLATE SIZE ONLY STA MEM SET MEMORY SIZE IN BASE PAGE CLB DETERMINE IF DMA IS AVAILABLE STC DMA2 PREPARE DMA FOR COUNT LDA APTRN GET PATTERN OTA DMA2 OUTPUT IT LIA DMA2 INPUT IT IOR DMABT ADD UPPER BITS CPA APTRN DOES IT COMPARE? LDB B4 YES-THEN DMA IS AVAILABLE STB CTO AND ADD BIT TO OPTIONS CCB DETERMINE IF MEMORY PROTECT IS AVAILABLE LDA B3 SET MEMORY PROTECT OTA MPRT FENCE AT 3 LDA CFMPJ SET JSB IN STA MPRT TRAP CELL LDA 2 GET ORIGINAL CONTENTS STF INTP TURN ON INTERRUPTS <:6STC MPRT,C TURN ON MEMORY PROTECT STA 2 VIOLATE FENCE CLF INTP TURN OFF INTERRUPTS FOR NO MPRT CCA SET TO FLASH S-REG. OTA SWREG SFC INTP CHECK IF IN TROUBLE RSS JMP *+5 NO ISZ TMPA YES - WAIT FOR OPERATOR TO JMP *-4 PRESS HALT-PRESET-RUN CMA (FLASH S-REG.) JMP *-7 CLC MPRT,C TURN OFF MPRT LDA B40 SZB DO WE ADD MPRT BIT? CLA NO IOR CTO STA CTO UPDATE OPTIONS LDA 4 RESTORE TRAP CELL HALT STA MPRT SKP * DETERMINE COMPUTER TYPE * LDA APTRN GET PATTERN FOR SWITCH REGISTER OTA SWREG OUTPUT IT LIB SWREG GET IT BACK CPA B DID IT COME BACK? JMP CF40X YES - THEN 2114/2100/21MX $< kz 24296-80005 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | LDA MEM NO - THEN 2116/2115 ALF,RAR IF MEMORY AND B7 IS SZA OVER 8K CLA,INA,RSS THEN 2116 LDA B4 NO THEN 2115 JMP CFCT CONFIGURE IT CF40X CLB CHECK FOR EAU OTB SWREG (CLEAR SWR) OCT 101100 RRR 16 INSTRUCTION SZA,RSS DID IT ROTATE? JMP *+3 YES THEN 2100/21MX LDA B6 NO THEN 2114 JMP CFCT CONFIGURE IT LIB DMA6 IF I/O BUS LDA B7 (SET 2100) SZB IS NOT ZERO INA THEN 21MX CPA B7 WAS IT 2100? JMP *+3 YES - SKIP TIMER IT DOES FUNNY THINGS OCT 100060 OR IF TIMER INA THEN 21XE CFCT RAL (MPY BY 2 - TWO WORDS PER ENTRY) ADA CPTOT ADD POINTER TO TABLE LDB A,I GET TIMING CONSTANT STB DTMC,I PUT IT IN UPPER ROUTINES STB 110B AND IN BASE PAGE INA MOVE TO LDA A,I COMPUTER TYPE AND STANDARD OPTIONS IOR CTO ADD CALCULATED OPTIONS STA CTO PUT BACK IN BASE PAGE LINK AREA LDA CFCT-2 GET 21XE MICRO TIMER INSTRUCTION CPB XETC IS THIS THE XE TIME CONSTANT? STA DTMI,I YES PUT MICRO INSTRUCTION IN TIMER ROUTINE * LDA SWRX SZA,RSS MANUAL? JMP SWRCF YES SKP * DETERMINE & CONFIGURE CONSOLE INTERFACE DRIVER * LDA SWRX GET SWR AGAIN AND B77 ISOLATE CONSOLE SELECT CODE STA CODSC UPDATE BASE PAGE SC STA CIDSC SZA IS THERE A CONSOLE? JMP *+3 YES THEN DETERMINE INTERFACE LDA CSLDY NO GET DUMMY CONSOLE JMP CF531+1 JSB CHSC,I CHECK AND SAVE SELECT CODE STA SVA SAVE IT FOR I-O LIST UPDATE LDA DCO CHECK IF LINK HAS BEEN LOADED LDB A,I GET FIRST WORD SSB IF BIT 15 SET {dTHEN JMP CF531+1 LINK IS LOADED LDB CFSCD GET POINTER TO SELECT CODE JSB ISCR,I INITIALIZE I-O INSTRUCTIONS CLC INTP GENERATE CRS TO INTERFACE CFSC1 CLF SC CLEAR THE FLAG CFSC2 SFS SC IF FLAG RSS IS STILL JMP CF587 SET THEN 12587 LDA CFMRS IF IT CLEARED THEN 12531/12966 CFSC3 OTA SC OUTPUT MASTER RESET CFSC4 SFS SC IF FLAG RSS IS SET JMP CF966 THEN 12966 CFSC5 LIA SC CHECK IF 77 STORED CPA B77 JMP CF531 YES THEN 12531 LDA SWRX NO - RESTORE S-REG. OTA SWREG AND LDA DISN A-REG. AND LDB DIBP B-REG. HLT 22B INFORM OPERATOR OF ERROR JMP CFRG START CONFIGURATION OVER CF531 LDA CD531 GET POINTER TO 12531 LDB DCO AND DRIVER ROUTINE AREA JSB MDVR,I MOVE CONSOLE DRIVER INTO PLACE DEC -45 (NUMBER OF WORDS TO BE MOVED) JMP CFOP GO TO OUTPUT COMPUTER OPTIONS CF587 LDA CD587 GET POINTER TO 12587 JMP CF531+1 CF966 LDA CD966 GET POINTER TO 12966/8 JMP CF531+1 * CFMRS OCT 150077 CFSCD DEF *+1,I DEF CFSC1 DEF CFSC2 DEF CFSC3 DEF CFSC4 DEF CFSC5 DEF M1 SKP * AUTOMATIC CONFIGURATION * CFOP LDA SWRX GET LOADER SELECT CODE AND TYPE ALF,ALF RAL,RAL AND B777 SZA,RSS IS IT CONVERSATIONAL? JMP CFCON YES STA 111B PUT IT IN BASE PAGE AND B77 JSB CHSC,I CHECK AND SAVE SELECT CODE LDA SWRX GET POINTER TO LOADER ALF AND B7 ADA DINDD LDA A,I SZA VALID DEVICE? JMP *+3 YES HLT 72B NO - TELL OPERATOR LDA LDDY USE PSEUDO LOADER WITH HALT LDB DLDVR GET LOCATION JSB MDVR,I AND MOVE IT ABS LDVR-7700B LDA LPDYD PUT JSB TO CONSOLE LDB LPDV IN LP DRIVER JSB MDVR,I DEC -21 JSB CFM,I MOVE UTILITIES AND DRIVERS CLA LDB SWRX ELB CLB SEZ ANY REQUEST? LDA DISN YES - GET IT SEZ LDB DIBP * CFLDR STA SVA SAVE A & STB SVB B - REG. CCB SET TO REWIND SZA,RSS SHOULD I? JSB DRI,I YES LDA SVA RESTORE REGISTERS LDB SVB JMP 120B GO TO LOADER SKP * MANUAL CONFIGURATION * * SWRCF LDA CTO GET OPTIONS FOR DISPLAY OTA SWREG HLT 0 WAIT FOR COMPUTER TYPE AND OPTIONS LIA SWREG SZA,RSS IF NO INPUT SKIP UPDATE JMP SWRCS STA CTO SET THEM IN PLACE ALF,RAL AND B37 GET COMPUTER TIMING ADA CPTOT LDB A,I STB DTMC,I STB 110B LDA CFCT-2 GET 21XE MICRO TIMER INSTRUCTION CPB XETC IS THIS THE 21XE TIME CONSTANT? STA DTMI,I YES PUT INSRTUCTION IN TIMER ROUTINE * SWRCS CLA CLEAR SWITCH REGISTER OTA SWREG HLT 1 WAIT FOR CONSOLE LIA SWREG STA SWRX SAVE SWITCH REGISTER SZA IS THERE A CONSOLE JMP SWRCN YES STA SCX NO CLEAR SELECT CODE STA CODSC STA CIDSC LDA CSLDY PUT DUMMY IN CONSOLE DRIVER LDB DCO JSB MDVR,I MOVE IT INTO LOCATION DEC -45 JMP SWRLP CONTINUE WITH LINE PRINTER SWRCN ALF,ALF DETERMINE RAL,RAL CONSOLE AND B7 TYPE RAL ADA CNSLD STA TMPA INA LDB A,I LDA SWRX PICK UP PARAMETERS SZB ARE ANY REQUIRED JSB B,I YES UPDATE DRIVER LDA SWRX UPDATE SELECT CODE AND B77 JSB CHSC,I CHECK AND SAVE SELECT ,CODE STA CODSC STA CIDSC LDA TMPA,I MOVE DRIVER INTO LOCATION LDB DCO (CNSL DEF) JSB MDVR,I DEC -45 SKP SWRLP CLA CLEAR SWITCH REGISTER OTA SWREG HLT 2 WAIT FOR LP LIA SWREG STA SWRX STA LPDSC SZA,RSS IS THERE A LP JMP CFLPD NO - USE DUMMY AND B77 YES JSB CHSC,I CHECK AND SAVE SELECT CODE STA LPDSC LDA SWRX GET LP TYPE ALF,ALF RAL,RAL AND B7 ADA LPDF GET POINTER TO LP DRIVER LDA A,I LDB LPDV JSB MDVR,I MOVE LP DRIVER INTO LOCATION DEC -21 JMP *+5 CFLPD LDA LPDYD USE JSB TO CONSOLE LDB LPDV JSB MDVR,I MOVE DRIVER L.P. INTO PLACE DEC -21 * LDA MEM GET CALCULATED MEMORY OTA SWREG OUTPUT IT HLT 3 WAIT FOR OPERATOR LIA SWREG GET INPUT AND B70K MASK OFF LOWER BITS STA MEM SKP CLA CLEAR SWITCH REGISTER OTA SWREG HLT 4 WAIT FOR LOADING DEVICE LIA SWREG GET LOADER SELECT CODE AND TYPE AND B777 STA 111B PUT IT IN BASE PAGE AND B77 JSB CHSC,I CHECK AND SAVE SELECT CODE LDA 111B GET POINTER TO LOADER ALF,ALF RAL,RAL AND B7 ADA DINDD LDA A,I SZA VALID DEVICE? JMP *+3 YES HLT 72B NO - TELL OPERATOR LDA LDDY USE PSEUDO LOADER WITH HALT LDB DLDVR GET LOCATION JSB MDVR,I AND MOVE IT ABS LDVR-7700B JSB CFM,I MOVE UTILITIES AND DRIVERS CLA CLB OTA SWREG CLEAR S-REG HLT 77B CONFIGURATION COMPLETE JMP CFLDR GO TO LOADER SKP * CONVERSATIONAL CONFIGURATION * CFCON CLA DO A CR/LF JSB COD,I LDA CTO GET COMPUTER TYPE ALF AND B17 ALS,ALS MPY BY 4 ADA CFCTP CONVERT TO MESSAGE POINTER STA *+2 JSB MSG,I OUTPUT COMPUTER TYPE TO CONSOLE NOP (NO INPUT WITH IT) LDA CTO GET OPTIONS AND B4 LDB CFDNA DMA NOT AVAILABLE SZA LDB CFDIV DMA IS AVAILABLE CLA,CLE OUTPUT MESSAGE TO CONSOLE JSB FMTO,I LDA CTO SKIP MEMORY PROTECT MESSAGE ALF AND B17 CPA B4 IF IT'S A 15 JMP CFMZM YES SKIP MESSAGE CPA B5 OR IF IT'S A 14 JMP CFMZM YES SKIP MESSAGE LDA CTO NOW MEMORY PROTECT AND B40 LDB CFMNA MPRT NOT AVAILABLE SZA LDB CFMIV MPRT IS AVAILABLE CLA,CLE JSB FMTO,I OUTPUT MESSAGE TO CONSOLE CFMZM LDA MEM GET MEMORY SIZE ALF AND B7 ADA CFMTB LDB A,I CLA,CLE JSB FMTO,I AND OUTPUT IT TO THE CONSOLE CLA,CLE LDB CFMS JSB FMTO,I CLA DO CR-LF JSB COD,I SKP * ASK FOR LINE PRINTER * CFDOD CLA STA LPDSC CLEAR SELECT CODE JSB MSG,I "LINE PRINTER TYPE + SC..." DEF DOTDM JSB CNST,I SEARCH FOR DEVICE DEF DOTDT JMP CFDOD NOT FOUND TRY AGAIN STA TMPA SAVE POINTER CPA LPDYD NONE? JMP CFDLP YES - SKIP SELECT CODE JSB CNSC,I CONVERT SELECT CODE JMP CFDOD ERROR TRY AGAIN STA SCX SAVE FOR MOVE STA LPDSC AND PUT IT IN BASE PAGE CFDLP LDA TMPA LDB LPDV JSB MDVR,I MOVE DRIVER INTO LOCATION DEC -21 CLA DO CR/LF JSB COD,I CFDIN JSB MSG,I "DIAG. INPUT DEVICE + SC.." DEF DINDM JSB CNST,I SEARCH FOR DEVICE DEF DINDP JMP CFDIN NOT FOUND TRY AGAIN STA TMPA JSB CNSC,I CONVERT SELECT CODE JMP CFDIN ERROR TRY AGAIN STA SCX SAVE FOR MOVE LDB TMPA BLF RBL,RBL IOR B ADD TYPE FOR BASE PAGE STA DRISC LDA TMPA ADA DINDD LDA A,I GET POINTER TO DRIVER LDB DLDVR JSB MDVR,I MOVE LOADER INTO POSITION ABS LDVR-7700B CLA DO CR-LF JSB COD,I SKP JSB MSG,I READY INPUT DEVICE DEF LDVRY,I (NO INPUT) CLA JSB COD,I DO CR/LF CFSN0 JSB MSG,I "DIAG. SERIAL NUMBER.." DEF DGSNM CCA,CLE LDB IBUFD JSB AS2N,I STA SVA SAVE SERIAL NUMBER LDA B,I CHECK NEXT CHARACTER FOR ZERO SEZ,RSS ALF,ALF AND B177 STA SVB SZA,RSS IS IT? JMP CFSN1 YES JUST USE SERIAL NUMBER CPA B54 IS IT A COMMA? RSS JMP CFSN0 NO SO TRY AGAIN CCA,SEZ,CME YES INB MOVE TO NUMBER JSB AS2N,I CONVERT BIT PATTERN STA SVB SAVE IT LDA B,I SEZ,RSS ALF,ALF AND B177 SZA IS IT END OF BUFFER? JMP CFSN0 NO SO TRY AGAIN CFSN1 CLA STA SCX CLEAR SELECT CODE FOR MOVE JSB CFM,I MOVE DRIVERS AND UTILITIES TO LAST PAGE LDA SVA GET SERIAL NUMBER LDB SVB JMP CFLDR * REP 104B OCT 106075 MEMORY HALT SKP * MOVE UTILITY AND DRIVERS TO UPPER MEMORY * CFMEM NOP LDB DEFT UPDATE ALL ADDRESS POINTERS PTUD LDA B,I CPA M1 END OF LIST JMP *+6 YES AND M70K MASK OLD ADDRESS IOR MEM ADD NEW ADDRESS STA B,I INB MOVE TO NEXT ADDRESS JMP PTUD CLA NO SC UPDATE STA SCX LDA B6.5K A = FROM ADDRESS LDB MEM B = TO ADDRESS SZB,RSS IS A MOVE NECESSARY JMP *+4 NO G ADB A JSB MVDVR ABS 6500B-7700B JMP CFMEM,I NO RETURN * * MOVE DRIVER INTO LOCATION AND UPDATE SELECT CODE * MVDVR NOP STA FROM SAVE FROM LOCATION STB TO SAVE TO LOCATION LDA MVDVR,I GET NUMBER OF ISZ MVDVR WORDS TO BE MOVED STA MVCNT MVDV0 LDA FROM,I GET WORD LDB FROM,I CPB IOGM3 IS IT SWR REF? JMP MVDV1 YES - SKIP SC AND IOGM0 SZA,RSS IS IT A HALT JMP MVDV1 YES - SKIP SELECT CODE LDA FROM,I AND IOGM1 CPA IOGM2 IS IT AN IO INSTRUCTION ADB SCX YES - ADD SELECT CODE MVDV1 STB TO,I PUT IT IN PLACE ISZ FROM INCREMENT ADDRESSES ISZ TO FOR NEXT WORD ISZ MVCNT ALL WORDS MOVED? JMP MVDV0 NO JMP MVDVR,I * IOGM0 OCT 700 IOGM1 OCT 172076 IOGM2 OCT 102000 IOGM3 LIA 1,C TO NOP FROM NOP MVCNT NOP SKP * INITIALIZE SELECT CODE * ISC NOP LDA B,I CPA M1 END OF LIST? JMP ISC,I YES CPA M2 INCREMENT SELECT CODE RSS JMP *+3 NO ISZ SVA YES JMP *+4 BUT SKIP UPDATE OF M2 AND M77 MASK OFF OLD SELECT CODE ADA SVA ADD NEW ONE STA B,I PUT IT BACK IN PLACE INB MOVE TO NEXT ONE JMP ISC+1 * * CHECK AND SAVE SELECT CODE * CKSC NOP STA SCX SAVE SELECT CODE CLE,ERA CLE,ERA CLE,ERA SZA,RSS JMP *+3 LDA SCX RESTORE SELECT CODE JMP CKSC,I RETURN HLT10 HLT 10B SELECT CODE INPUT ERROR JMP *-1 (NOT RECOVERABLE) SKP * OUTPUT MESSAGE + CALL FOR INPUT * MSGR NOP CLA,CLE LDB MSGR,I OUTPUT MESSAGE ELB,CLE,ERB CLEAR BIT 15 SZB SKIP OUTPUT IF NO MESSAGE JSB FMTO,I LDB MSGR,I IS THIS A MESSAGE ONgLY SSB ? JMP MSGX YES - EXIT LDA N10 CLEAR LDB IBUFD BUFFER STB TMPA CLB STB TMPA,I ISZ TMPA INA,SZA JMP *-3 LDA D20 CALL FOR INPUT LDB IBUFD JSB CID,I SZA,RSS IF NO INPUT TRY AGAIN JMP MSGR+1 LDA IBUFD SET POINTER RAL FOR GET BLOCK (GETB) STA IBUFP MSGX ISZ MSGR JMP MSGR,I RETURN * N10 DEC -10 D20 DEC 20 IBUF OCT 0,0,0,0,0,0,0,0,0,0 NOP SKP * * TABLE SEARCH ROUTINE * CNTS NOP JSB GETA GET FOUR CHARACTERS LDB CNTS,I ISZ CNTS CNTS0 LDA B,I START SEARCH CPA M1 END OF LIST? JMP CNTS,I YES-ERROR RETURN CPA SVA DO THE FIRST TWO CHR'S COMPAR? JMP *+5 YES INB NO MOVE TO CNTS1 INB NEXT BLOCK INB JMP CNTS0 INB LDA B,I CPA SVB DO THE NEXT TWO CHR'S COMPARE? JMP *+2 JMP CNTS1 NO INB YES LDA B,I GET NEXT WORD ISZ CNTS RETURN P+3 JMP CNTS,I * SKP * GET 4 ASCII CHARACTERS (FROM CONSOLE INPUT BUFFER) * IN A & B REG. THEN SKIP TO COMMA OR EOL * GETA NOP CLA CLEAR CHARACTERS FIRST STA SVA STA SVB JSB GETCH FIRST CHARACTER JMP GETAE ALF,ALF STA SVA JSB GETCH SECOND CHARACTER JMP GETAE IOR SVA STA SVA JSB GETCH THIRD CHARACTER JMP GETAE ALF,ALF STA SVB JSB GETCH FOURTH CHARACTER JMP GETAE IOR SVB STA SVB JSB GETCH WAIT FOR COMMA OR EOL RSS JMP *-2 GETAE LDA SVA GET THE FOUR CHARACTERS LDB SVB JMP GETA,I RETURN * GETCH NOP LDB IBUFP CLE,ERB LDA B,I SEZ,RSS 640 ALF,ALF <>6 l z 24296-80006 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | AND B177 SZA,RSS EOL? JMP GETCH,I YES ISZ IBUFP NO MOVE TO NEXT CHARACTER CPA B54 COMMA? RSS YES ISZ GETCH ADJUST RETURN IF NOT A COMMA OR EOL JMP GETCH,I SKP * CONVERT SELECT CODE * CVSC NOP JSB GETA GET ASCII INPUT SZB IF MORE THAN 2 JMP CVSC,I THEN ERROR SZA,RSS IF NO INPUT JMP CVSC,I THEN ERROR ALF,ALF JSB CVSCC CHECK IT JMP CVSC,I NOT A NUMBER RAL,RAL OK RAL SAVE IT SZA,RSS CAN'T BE ZERO JMP CVSC,I STA CVSCT LDA SVA JSB CVSCC CONVERT SECOND NUMBER JMP CVSC,I NOT A NUMBER IOR CVSCT ADD FIRST NUMBER ISZ CVSC ADJUST GOOD RETURN JMP CVSC,I RETURN * CVSCC NOP STA B AND B170 CPA B60 MUST BE A NUMBER RSS JMP CVSCC,I NOT SO RETURN WITH ERROR LDA B AND B7 ISZ CVSCC ADJUST RETURN JMP CVSCC,I RETURN * CVSCT NOP SKP DOTDM ASC 15,LINE PRINTER (NO.,SC)........_ * DOTDT ASC 2,2610 DEF OLPXX ASC 2,2614 DEF OLPXX ASC 2,2767 DEF OLP67 ASC 2,9866 DEF OLP67 ASC 2,2607 DEF OLPXX ASC 2,2618 DEF OLPXX ASC 2,2617 DEF OLPXX ASC 2,2613 DEF OLPXX ASC 2,2778 DEF OLPXX ASC 2,LINK DEF LNPTR ASC 2,NONE DEF OLPDY DEC -1 SKP DINDM ASC 15,DIAG. INPUT DEVICE (NO.,SC).._ LDVRY ASC 13,READY DIAG. INPUT DEVICE/ DGSNM ASC 15,DSN(,SEQ.DIAG.EXECUT.)......._ * DINDP EQU * ASC 2,2748 OCT 0 ASC 2,2758 OCT 0 ASC 2,2737 OCT 0 ASC 2,7970 OCT 1 ASC 2,7900 OCT 2 ASC 2,7901 OCT 2 ASC 2,7905 OCT 3 ASC 2,7920 OCT 3 ASC N2,2644 OCT 4 ASC 2,2645 OCT 4 ASC 2,LINK OCT 7 DEC -1 * DINDT EQU * DEF PT PAPER TAPE DEF MG MAG TAPE DEF DS 7900/1 DISC DEF DF 7905 DISC DEF CT 2644 CARTRIDGE TAPE DEF *-* DEF *-* DEF LDVR MAINTAIN CURRENT DRIVER (LINK) SKP SKP * 12531-12880 TTY-KDT-PTM * O531 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR531-* ABS JSB+.OUT DUMP BUFFER OCT 120000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+CSLO+100000B OR531 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O531+CSLO ABS JMP+*-5-O531+CSLO+100000B OCT 0,0,0,0,0 * * I531 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR531-* ABS JSB+.IN LOAD BUFFER OCT 160000 CONTROL WORD FOR 12531-12880 NOP NO MORE CONTROL WORDS STC SC,C LEAVE CARD IN INPUT MODE CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR531 NOP STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I531+CSLI LIA SC I/O 4 ABS JMP+*-5-I531+CSLI+100000B SKP * 12587 1 CHR BUFFER BOARD * O587 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS OR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-O587+CSLO ABS JSB+.OUT DUMP BUFFER OCT 160410 CONTROL WORD FOR 12587 NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED OTA SC OUTPUT NULL CLC SC,Ck TURN CARD OFF ABS JMP+CSLO+100000B OR587 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-O587+CSLO ABS JMP+*-5-O587+CSLO+100000B * I587 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORD ABS IR587-* LIA SC CHECK FOR NOT BUSY RAL,RAL SSA ABS JMP+*-3-I587+CSLI ABS JSB+.IN LOAD BUFFER OCT 141410 CONTROL WORD FOR 12587 OCT 2000 SBA FOR 2616 TERMINAL NOP NO MORE CONTROL WORDS LIA SC SET FOR INTERRUPT CLC SC,C TURN CARD OFFF ABS JMP+CSLI+100000B IR587 NOP LIA SC I/O 0 STC SC,C I/O 1 SFS SC I/O 2 ABS JMP+*-1-I587+CSLI LIA SC I/O 4 ABS JMP+*-6-I587+CSLI+100000B * SKP * 12966 128 CHR BUFFERED BOARD * C966 NOP ALF ROTATE BAUD RATE INTO POSITION AND B17 MASK OFF OTHERS STA B LDA IX966 AND M17 IOR B STA IX966 LDA OX966 AND M17 IOR B STA OX966 JMP C966,I * O966 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS OR966-* ABS JSB+.OUT DUMP BUFFER OX966 OCT 040740 CONTROL WORD 2 (INTF CONTROL) OC966 EQU *-O966 OCT 50077 CONTROL WORD 1 (BUFFER FLAGS RESET) OCT 030056 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS OCT 12 NORMAL LINE FEED ABS JMP+CSLO+100000B NOW EXIT O.966 EQU *-O966 OR966 NOP OTA SC I/O+1 CLC SC,C I/O+2 LIA SC CHECK FOR BUFFER EMPTY ALF,ALF MOVE TO BUFFER EMPTY SSA,RSS IS IT EMPTY? ABS JMP+*-3-O966+CSLO NO KEEP CHECKING ABS LDA+CSLO+OC966 GET CONTROL WORD 1 OTA SC ABS JMP+CSLO+O.966+100000B RETURN FOR ANOTHER BYTE SKP I966 NOP ABS STA+COT SAVE COUNT AND ABS STB+BFA BUFFER ADDRESS ABS JSB+SETP SETUP COUNT+BUFFER POINTER OTA SC I/O FOR CONTROL WORDS ABS IR966-* ABS JSB+.IN LOAD BUFFER IX966 OCT 040140 CONTROL WORD 2 (INTF CONTROL) OCT 50077 CONTROL WORD 1 (RESET BUFFER FLAGS) OCT 030076 CONTROL WORD 3 (CHR-FRM CONTROL) NOP NO MORE CONTROL WORDS STC SC,C SET FOR INPUT CLC SC,C TURN CARD OFF ABS JMP+CSLI+100000B IR966 NOP STC SC I/O+1 LIA SC I/O+2 SSA,RSS I/O+3 ABS JMP+*-2-I966+CSLI ABS JMP+*-5-I966+CSLI+100000B SKP * LINE PRINTER OUTPUT * OLP67 NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLP67-* LIA SC CHECK IF DEVICE IS READY SLA,RSS ABS JMP+*+3-OLP67+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLP67+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 12 NORMAL LINE FEED CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLP67 NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLP67+LPTR ABS JMP+*-5-OLP67+LPTR+100000B * * OLPXX NOP ABS JSB+SETP SETUP COUNT+BUFFER POINTER RSS NO CONTROL WORDS ABS RLPXX-* LIA SC CHECK IF DEVICE IS READY SSA ABS JMP+*+3-OLPXX+LPTR OCT 106076 NOT READY TELL OPERATOR ABS JMP+*-4-OLPXX+LPTR ABS JSB+.OUT DUMP BUFFER NOP NO CONTROL WORDS OCT 100001 FORM CONTROL (1LF) CLC SC,C TURN CARD OFF ABS JMP+LPTR+100000B RLPXX NOP OTA SC I/O 1 STC SC,C I/O 2 SFS SC I/O 3 ABS JMP+*-1-OLPXX+LPTR ABS JMP+*-5-OLPXX+LPTR+100000B SKP * PAPER TAPE LOADER DRIVER * PT EQU * * * PTRD EQU *-PT NOP SSB READ OR FORWARD SPACE? ABS JMP+LD+*-PT+3 REWIND OR FORWARD SPACE ABS JSB+LD+PTFW READ WORD ABS JMP+LD+PTRD+100000B SLB REWIND? ABS JMP+LD+PTRD+100000B YES EXIT RBR,SLB FILE FORWARD? RSS ABS JMP+LD+PTRD+100000B NO PTFF EQU *-PT CLB ABS LDA+LD+PTCX ANY COUNT REMAINING SSA,RSS ? ABS JMP+LD+*-PT+3 NO ABS JSB+LD+PTFW YES PICK WORDS UP ABS JMP+LD+PTFF INB SZA,RSS INB ABS JSB+LD+PTFW SZA EOF OR EOT? SSA ABS JMP+LD+PTRD+100000B YES RETURN ABS JMP+LD+PTFF NO DO MORE SKP PTFW EQU *-PT NOP SZB,RSS READ WORD? ABS JMP+LD+PTW YES SLB,RSS ABS JMP+LD+*-PT+3 READ NEXT RECORD PTRS EQU *-PT STC SC,C NO START READER CLB,RSS SEARCH FOR FIRST BYTE ABS LDB+%M10-6000B SET NULL COUNT TO 10 ABS JSB+LD+PTRB WAIT FOR BYTE SZA ANY DATA YET? ABS JMP+LD+*-PT+6 YES CONTINUE INB,SZB NO EOT YET? ABS JMP+LD+*-PT-4 NO TRY NEXT BYTE INB ABS STB+LD+PTCX SET EOF REACHED ABS JMP+LD+PTFW+100000B YES RETURN WITH EOT ALF,ALF PUT COUNT IN UPPER BYTE ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT BYTE SZA NEXT BYTE SHOULD BE ZERO ABS JMP+LD+PTEX NOT SO EXIT ABS LDA+LD+PTDOT RETRIEVE COUNT LDB A BLF,BLF INB CMB ABS STB+LD+PTCX ABS JMP+LD+PTFW+100000B OK RETURN SKP PTRB EQU *-PT NOP ABS LDA+%M10-6000B SET TIME OUT ABS STA+LD+PTDLT CLA,CLE SFS SC READER READY WITH BYTE RSS ABS JMP+LD+PTLD YES READ IT INA,SZA IS FIRST DELAY OVER? ABS JMP+LD+PTRB+4 NO CHECK IT AGAIN ABS ISZ+LD+PTDLT YES IS SECOND DELAY OVER? ABS JMP+LD+PTRB+3 NO RESTART FIRST DELAY PTEX EQU *-PT CLC SC,C YES - STOP READER CCA INDICATE END OF FILE SZB IS IT REALY END OF TAPE? ABS JMP+LD+PTFW+100000B YES OCT 106074 NO - TAPE TORN OR GATE DOWN ABS JMP+LD+PTRS TRY AGAIN PTLD EQU *-PT LIA SC GET BYTE STC SC,C START NEXT READ ABS JMP+LD+PTRB+100000B PTW EQU *-PT ABS JSB+LD+PTRB GET A BYTE ALF,ALF PUT IT IN UPPER HALF ABS STA+LD+PTDOT SAVE IT ABS JSB+LD+PTRB READ NEXT HALF ABS IOR+LD+PTDOT PUT THEM TOGETHER ABS ISZ+LD+PTCX DECREMENT REMAINDING COUNT NOP ABS JMP+LD+PTFW+100000B RETURN SKP * DUMPS TO PAPER TAPE IN * ABSOLUTE BINARY FORMAT * DUMPS FROM LOCATION 2B TO FWA * AND LWA TO N7700 * PTD EQU *-PT LIA 1,C GET SELECT CODE ABS IOR+%BT15-6000B BUILD INSTRUCTIONS ABS IOR+LD+PTDI ABS STA+LD+PTDIO+6 SFS (1022XX) ABS IOR+LD+PTDI+1 ABS STA+LD+PTDIO+4 OTA (1026XX) ABS STA+LD+PTDL+1 ABS IOR+LD+PTDI+2 ABS STA+LD+PTDIO+5 STC,C (1037XX) PTDL EQU *-PT ABS LDA+LD+PTDC PTCX EQU *-PT NOP OTA (ALSO STORAGE FOR RDR) ABS JSB+LD+PTDLT LEADER OUTPUT LDA 105B LAST ADDRESS ABS LDB+%B2-6000B FIRST ADDRESS PTD0 EQU *-PT ABS STB+BFR ABS STA+BFA PTD1 EQU *-PT ABS LDA+BFR CHECK IF DONE BY CMA,INA BFR > BFA ABS ADA+BFA SZA,RSS ? ABS JMP+LD+PTDX YES DO NEXT SECTION LDB A ABS ADB+%M60-6000B IS IT GREATER THAN 60 WORDS SSB,RSS ? ABS LDA+%B60-6000B YES SET ONE BLOCK ABS STA+CNT SAVE COUNT ALF,ALF MOVE TO UPPER HALF ABS JSB+LD+PTDOT OUTPUT COUNT ABS LDA+BFR GET STARTING ADDRESS ABS STA+COT SET CHECKSUM rZ ABS JSB+LD+PTDOT OUTPUT STARTING ADDRESS PTD2 EQU *-PT ABS LDA+BFR+100000B GET CONTENTS OF ADDRESS ABS JSB+LD+PTDOT FOR OUTPUT ABS LDA+COT ADD TO CHECKSUM ABS ADA+BFR+100000B ABS STA+COT ABS ISZ+BFR MOVE TO NEXT ADDRESS CCA ABS ADA+CNT SUBTRACT 1 FROM COUNT ABS STA+CNT SZA IS THAT ALL? ABS JMP+LD+PTD2 NO ABS LDA+COT YES ABS JSB+LD+PTDOT OUTPUT CHECKSUM ABS JMP+LD+PTD1 DO NEXT BLOCK SKP PTDX EQU *-PT ABS LDA+LD+PTDMA GET MAX ADDRESS ABS IOR+LDMXA-6000B ABS CPA+BFA WAS THIS THE SECOND PART? ABS JMP+LD+PTDEN YES LDB 106B INB LWA+1 ABS JMP+LD+PTD0 * PTDEN EQU *-PT ABS JSB+LD+PTDLT TRAILER OUTPUT HLT 77B ABS JMP+LD+PTDL DO IT AGAIN * * OUTPUT LEADER TRAILER * PTDLT EQU *-PT NOP ABS LDB+%NE2-6000B CLA ABS JSB+LD+PTDOT INB,SZB ABS JMP+LD+*-PT-3 ABS JMP+LD+PTDLT+100000B * PTDOT EQU *-PT NOP ABS JSB+LD+PTDIO ABS LDA+LD+PTRB ABS JSB+LD+PTDIO ABS JMP+LD+PTDOT+100000B * PTDIO EQU *-PT NOP ALF,ALF ABS STA+LD+PTRB ABS AND+%B377-6000B OCT 0 OTA SC OCT 0 STC SC,C OCT 0 SFC SC ABS JMP+LD+PTDIO+100000B ABS JMP+LD+*-PT-2 * * PTDI EQU *-PT OCT 2200 OCT 400 OCT 1100 PTDC EQU *-PT OCT 110000 PTDMA EQU *-PT OCT 7700 * OCT 0,0,0,0,0 SPACE HOLDERS ABS JMP+LD+PTD GO TO PUNCH ROUTINE SKP * MAG TAPE LOADER DRIVER * MG EQU * * MGLR EQU *-MG NOP SZB,RSS READ A WORD? ABS JMP+LD+MGW YES ABS STB+LD+MGBF+1 SSB,RSS READ A RECORD? ABS JMP+LD+MGLR0 YES SLB,RSS REWIND? ABS JMP+LD+*-MG+4 ABS JSB+LD+MGRDY NO WAIT FOR READY ABS LDB+LD+MGRW GET REWIND COMMAND ABS JSB+LD+MGOC DO 0.*IT ABS JSB+LD+MGRDY WAIT FOR READY ABS LDB+LD+MGFSF GET FILE FORWARD COMMAND ABS LDA+LD+MGBF+1 GET REQUEST RAR,SLA DO FILE FORWARD? ABS JSB+LD+MGOC YES ABS JMP+LD+MGLR+100000B RETURN MGLR0 EQU *-MG ABS JSB+LD+MGRDY WAIT FOR READY ABS LDA+LD+MGWC GET DMA WORD COUNT STC DMA2 OTA DMA2 ABS LDA+LD+MGAD GET ADDRESS FOR DMA ABS ADA+LDMXA-6000B ABS STA+LD+MGDA SAVE IT FOR LATER ABS IOR+%BT15-6000B ADD INPUT BIT FOR DMA CLC DMA2 OTA DMA2 ABS LDA+LD+MGDC1 GET DMA CONTROL WORD OTA DMA6 ABS LDB+LD+MGRC GET READ COMMAND ABS JSB+LD+MGOC DO IT ABS JSB+LD+MGRDY CHECK IF READ WAS OK ABS LDA+LD+MGBF+1 CMA,SLA,INA REVERSE SENSE CLA BLF,BLF MOVE TO EOF BIT OF STATUS SSB CHECK FOR EOT ABS JMP+LD+MGLR+100000B YES RETURN WITH END OF FILES MGW EQU *-MG ABS LDA+LD+MGDA+100000B GET A WORD FROM BUFFER ABS ISZ+LD+MGDA MOVE POINTER TO NEXT WORD ABS JMP+LD+MGLR+100000B RETURN SKP MGOC EQU *-MG NOP OTB SC+1 OUTPUT COMMAND LIA SC+1 RAR,RAR RAR,SLA REJECTED? ABS JMP+LD+*-MG-4 YES TRY AGAIN STC SC+1,C DO COMMAND ABS CPB+LD+MGRC WAS IT A READ RSS ABS JMP+LD+*-MG+3 NO STC SC,C START DATA CHANNEL STC DMA6,C START DMA SFS SC+1 WAIT FOR COMPLETION ABS JMP+LD+*-MG-1 STF DMA6 CLC DMA6,C TURN OFF DMA MGDC1 EQU *-MG CLC SC,C AND INTERFACE CLC SC+1,C 0 m z 24296-80007 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2000 SERIES COMPUTERS             H0101 | ABS JMP+LD+MGOC+100000B * MGRDY EQU *-MG NOP ABS LDA+LD+MGSU GET UNIT SELECT OTA SC+1 LIA SC+1 LDB A SAVE STATUS ABS AND+LD+MGSM MASK STATUS SZA,RSS WAS IT REJECTED ABS JMP+LD+MGRDY+100000B NO RETURN ABS AND+LD+MGRC SZA ANY ERRORS? OCT 106074 YES TELL OPERATOR ABS JMP+LD+MGRDY+1 TRY AGAIN * MGRW EQU *-MG OCT 101 MGWC EQU *-MG DEC -60 MGAD EQU *-MG ABS LDVR-6500B+MGBF MGDA EQU *-MG NOP MGFSF EQU *-MG OCT 203 MGRC EQU *-MG OCT 23 MGSU EQU *-MG OCT 1400 MGSM EQU *-MG OCT 3451 MGBF EQU *-MG SKP * DISC LOADER DRIVER * DS EQU * * * DSSR EQU *-DS NOP SZB READ A WORD? ABS JMP+LD+*-DS+3 NO ABS JSB+LD+DSW YES ABS JMP+LD+DSSR+100000B RETURN ABS STB+LD+DSBR SAVE B-REG SSB,RSS READ AND SEARCH? ABS JMP+LD+DSR YES CLA SLB,RSS REWIND? ABS JMP+LD+*-DS+6 ABS STA+LD+DSW FORCE FF IF USED ABS STA+LD+DSNCY CYLINDER ABS STA+LD+DSCY ABS STA+LD+DSNHS HEAD & SECTOR ABS STA+LD+DSHS RBR,SLB ANY FILE FORWARDS RSS ABS JMP+LD+DSSR+100000B NO MORE RETURN ABS LDB+LD+DSW CHECK IF IN READ ABS STA+LD+DSW CLEAR FOR NEXT ONE SZB DO A FF? ABS JMP+LD+DSSR+100000B NO RETURN ABS JMP+LD+DSR+2 YES * DSR EQU *-DS SLB,RSS FIRST READ? ABS JMP+LD+DSSR+3 NO ABS LDA+LD+DSNCY SET NEXT ABS STA+LD+DSCY CYLINDER ABS LDA+LD+DSNHS AND ABS STA+LD+DSHS HEAD AND SECTOR ABS JSB+LD+DSRD READ IT ABS JSB+LD+DSW GET CYLINDER ABS CPA+%M1-6000B END OF FILES? ABS JMP+LD+DSSR+100000B YES ABS STA+LD+DSNCY NO SAVE IT ABS JSB+LD+DSW GET NEST HEAD AND SwECTOR ABS STA+LD+DSNHS CLA ABS STA+LD+DSW ABS LDB+LD+DSBR CHECK IF JUST FF SSB ABS JMP+LD+DSSR+100000B YES RETURN ABS JSB+LD+DSW CHECK ADDRESS ABS ADA+LD+DSDMC ABS ADA+LDMXA-6000B SSA OK? OCT 106073 NO TELL OPERATOR ABS JMP+LD+DSSR+3 GET COUNT AND CONTINUE SKP DSRD EQU *-DS NOP ABS LDA+LD+DSCY OTA SC CYLINDER STC SC,C ABS LDA+LD+DSSK SEEK COMMAND OTA SC+1 STC SC+1,C SFS SC ABS JMP+LD+*-DS-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DSHS OTA SC HEAD AND SECTOR STC SC,C SFS SC+1 ABS JMP+LD+*-DS-1 ABS JSB+LD+DSST CHECK FOR ACCEPTANCE ABS LDA+LD+*-DS-5 SET UP DMA ABS IOR+LD+DSRC CLC AT END OF TRANSFER OTA DMA6 CLC DMA2 ABS LDA+LD+DSDMC GET BUFFER ADDRESS ABS ADA+LDMXA-6000B ADD PAGE ABS STA+LD+DSDA ABS IOR+%BT15-6000B OTA DMA2 STC DMA2 ABS LDA+LD+DSDMC DMA COUNT OTA DMA2 ABS LDA+LD+DSRC READ COMMAND OTA SC+1 STC SC,C STC DMA6,C STC SC+1,C SFS SC+1 ABS JMP+LD+*-DS-1 ABS JSB+LD+DSST DID IT READ OK ABS LDB+LD+DSCY ANY CYLINDER? ABS LDA+476B GET BOOT POINTER SZB TO FILES ABS JMP+LD+*-DS+4 YES ABS STA+LD+DSNCY NO SET FIRST CYLINDER ABS STA+LD+DSCY ABS JMP+LD+DSRD+1 NOW TRY AGAIN ABS LDA+LD+DSHS UPDATE HEAD AND SECTOR INA ABS CPA+LD+DSHS0 ABS LDA+LD+DSHS. ABS CPA+LD+DSHS1 CLA ABS STA+LD+DSHS SZA,RSS UPDATE CYLINDER? ABS ISZ+LD+DSCY YES ABS JMP+LD+DSRD+100000B SKP DSW EQU *-DS NOP ABS LDA+LD+DSDA READ NEW SECTOR? ABS CPA+LDMXA-6000B ? ABS JSB+LD+DSRD YES ABS LDA+LD+DSDA+100000B NOW GET WORD ABS ISZ+LD+DSDA MOVE POINTER TO NEXT ONE ABS JMP+LD+DSW+100000B * DSST EQU *-DS NOP STF DMA6 TURN OFF DMA ABS LDA+%B7-6000B SET TO CLEAR ALL STATUS ABS ADA+%M1-6000B CLC SC CLC SC+1 OTA SC+1 STC SC+1,C SFS SC ABS JMP+LD+*-DS-1 SZA ALL STATUS CLEARED ABS JMP+LD+DSST+3 NO CLEAR NEXT ONE LIA SC GET STATUS CLC DMA6,C TURN OFF DMA INTERRUPT CLC SC,C AND INTERFACE CLC SC+1,C SLA,RSS ABS JMP+LD+DSST+100000B OCT 106074 ABS JMP+LD+DSRD+1 TRY AGAIN * DSHS0 EQU *-DS OCT 30 DSHS1 EQU *-DS OCT 430 DSHS. EQU *-DS OCT 400 DSBR EQU *-DS NOP DSNCY EQU *-DS NOP DSNHS EQU *-DS NOP DSCY EQU *-DS NOP DSHS EQU *-DS NOP DSDA EQU *-DS NOP DSSK EQU *-DS OCT 30000 DSRC EQU *-DS OCT 20000 DSDMC EQU *-DS DEC -128 SKP * DISC LOADER DRIVER * * DF EQU * * DFSR EQU *-DF NOP SZB READ A WORD? ABS JMP+LD+*-DF+3 NO ABS JSB+LD+DFW YES ABS JMP+LD+DFSR+100000B RETURN ABS STB+LD+DFBR SAVE B-REG SSB,RSS READ AND SEARCH? ABS JMP+LD+DFR YES CLA SLB,RSS REWIND? ABS JMP+LD+*-DF+6 ABS STA+LD+DFW FORCE FF IF USED ABS STA+LD+DFNCY CYLINDER ABS STA+LD+DFCY ABS STA+LD+DFNHS HEAD & SECTOR ABS STA+LD+DFHS RBR,SLB FILE FORWARD RSS ABS JMP+LD+DFSR+100000B NO MORE RETURN ABS LDB+LD+DFW CHECK IF IN READ MODE ABS STA+LD+DFW CLEAR FOR NEXT ONE SZB DO A FF? ABS JMP+LD+DFSR+100000B NO RETURN ABS JMP+LD+DFR+2 YES * DFR EQU *-DF SLB,RSS FIRST READ? ABS JMP+LD+DFSR+3 NO ABS LDA+LD+DFNCY SET NEXT ABS STA+LD+DFCY CYLINDER ABS LDA+LD+DFNHS AND ABS STA+LD+DFHS T HEAD AND SECTOR ABS JSB+LD+DFRD READ IT ABS JSB+LD+DFW GET CYLINDER ABS CPA+%M1-6000B END OF FILES? ABS JMP+LD+DFSR+100000B YES ABS STA+LD+DFNCY NO SAVE IT ABS JSB+LD+DFW GET NEST HEAD AND SECTOR ABS STA+LD+DFNHS CLA ABS STA+LD+DFW ABS LDB+LD+DFBR CHECK IF FF ONLY SSB ABS JMP+LD+DFSR+100000B YES RETURN ABS JSB+LD+DFW CHECK ADDRESS ABS ADA+LD+DFDMC ABS ADA+LDMXA-6000B SSA OK? OCT 106073 NO TELL OPERATOR ABS JMP+LD+DFSR+3 GET COUNT AND CONTINUE SKP DFRD EQU *-DF NOP ABS JSB+LD+DFST CHECK STATUS ABS LDA+LD+DFSK GET SEEK COMMAND CLC SC SET TO OUTPUT COMMAND OTA SC,C SFS SC ABS JMP+LD+*-DF-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DFCY GET CYLINDER OTA SC,C SFS SC ABS JMP+LD+*-DF-1 WAIT FOR ACCEPTANCE ABS LDA+LD+DFHS OTA SC,C HEAD AND SECTOR STC SC SFS SC ABS JMP+LD+*-DF-1 ABS JSB+LD+DFST CHECK FOR ACCEPTANCE ABS LDA+LD+*-DF-5 SET UP DMA ABS AND+%B177-6000B USE SC ONLY OTA DMA6 CLC DMA2 ABS LDA+LD+DFDMC GET BUFFER ADDRESS ABS ADA+LDMXA-6000B ADD PAGE ABS STA+LD+DFDA ABS IOR+%BT15-6000B OTA DMA2 STC DMA2 ABS LDA+LD+DFDMC DMA COUNT OTA DMA2 ABS LDA+LD+DFRC READ COMMAND CLC SC SET TO OUTPUT COMMAND OTA SC,C STC DMA6,C STC SC SFS SC ABS JMP+LD+*-DF-1 ABS JSB+LD+DFST DID IT READ OK ABS LDB+LD+DFCY ANY CYLINDER? ABS LDA+476B GET BOOT POINTER SZB TO FILES ABS JMP+LD+*-DF+4 YES ABS STA+LD+DFNCY NO SET FIRST CYLINDER ABS STA+LD+DFCY ABS JMP+LD+DFRD+1 NOW TRY AGAIN ABS LDA+LD+DFHS UPDATE HEAD AND SECTOR INA ABS CPA+%B60-6000B CLA ABS STA+LD+DFHS e SZA,RSS UPDATE CYLINDER? ABS ISZ+LD+DFCY YES ABS JMP+LD+DFRD+100000B SKP DFW EQU *-DF NOP ABS LDA+LD+DFDA READ NEW SECTOR? ABS CPA+LDMXA-6000B ? ABS JSB+LD+DFRD YES ABS LDA+LD+DFDA+100000B NOW GET WORD ABS ISZ+LD+DFDA MOVE POINTER TO NEXT ONE ABS JMP+LD+DFW+100000B * DFST EQU *-DF NOP STF DMA6 TURN OFF DMA ABS LDA+LD+DFSTR SET TO GET STATUS CLC SC OTA SC,C STC SC SFS SC ABS JMP+LD+*-DF-1 LIA SC,C GET STATUS CLC DMA6,C TURN OFF DMA INTERRUPT ALF,ALF ABS AND+LD+DFB37 SZA ABS CPA+LD+DFB37 ABS JMP+LD+*-DF+3 OCT 106074 ABS JMP+LD+DFRD+1 TRY AGAIN ABS LDA+LD+DFFM CLC SC OTA SC,C SFS SC ABS JMP+LD+*-DF-1 ABS JMP+LD+DFST+100000B RETURN SKP DFB37 EQU *-DF OCT 37 DFBR EQU *-DF NOP DFNCY EQU *-DF NOP DFNHS EQU *-DF NOP DFCY EQU *-DF NOP DFHS EQU *-DF NOP DFDA EQU *-DF NOP DFSK EQU *-DF OCT 1000 DFSTR EQU *-DF OCT 1400 DFRC EQU *-DF OCT 2400 DFFM EQU *-DF OCT 7700 DFDMC EQU *-DF DEC -128 SKP * CARTRIDGE TAPE UNIT (2644) DRIVER * ASSUMES INTF. 12966/8 EXT BAUD RATE * CT EQU * CTLR EQU *-CT NOP SZB READ A WORD? ABS JMP+*+3-CT+LD ABS JSB+LD+CTINW YES READ IT AND ABS JMP+LD+CTLR+100000B RETURN ABS STB+LD+CTX SAVE B REG. SSB,RSS READ RECORD? ABS JMP+LD+CTLR0 YES SLB,RSS REWIND? ABS JMP+LD+CTFF NO SKIP TO FILE FORWARD CHECK ABS JSB+LD+CTCMD YES REWIND TAPE OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 60 "0" OCT 103 "C" OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW  WAIT FOR RESPONCE ABS CPA+LD+CT.S OK? RSS ABS JMP+LD+CTDRE NO - REPORT ERROR CTFF EQU *-CT ABS LDA+LD+CTX FILE FORWARD? RAR,SLA RSS ABS JMP+LD+CTLR+100000B NO - RETURN ABS LDA+LD+CTWT GET WAIT TIME ABS JSB+TMR-6000B NOW GO WAIT ABS JSB+LD+CTCMD YES - DO A FILE FORWARD OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 62 "2" OCT 103 "C" OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW WAIT FOR RESPONSE ABS CPA+LD+CT.S OK? ABS JMP+LD+CTLR+100000B YES RETURN CTDRE EQU *-CT OCT 106074 DEVICE ERROR ABS LDB+LD+CTX RESTORE B REG ABS JMP+LD+CTLR+1 TRY AGAIN SKP CTLR0 EQU *-CT ABS JSB+LD+CTCMD READ ONE RECORD OCT 33 "ESC" OCT 46 "&" OCT 160 "P'" OCT 62 "2" OCT 122 "R" OCT 21 DC1 CTCW4 EQU *-CT OCT 040340 TERMINATOR ABS JSB+LD+CTINW NOW GET ONE WORD ABS CPA+LD+CTRS END OF FILE? ABS JMP+LD+CTLR1 YES - REPORT IT ABS JSB+LD+CTINW ABS JSB+LD+CTINB ABS JSB+LD+CTCMD READ THE DATA OCT 21 DC1 OCT 040340 TERMINATOR ABS JSB+LD+CTINW READ RECORD COUNT ON TAPE ABS AND+%B377-6000B CHECK IF SECOND BYTE IS 0 SZA ?? CCB INDICATE EOF LDA B GET COUNT AND ABS JMP+LD+CTLR+100000B RETURN CTLR1 EQU *-CT ABS LDA+LD+CTX SECOND EOF? CMA,SLA,INA CLA NO ABS JMP+LD+CTLR+100000B OK RETURN SKP CTCMD EQU *-CT NOP ABS LDA+LD+CTCW0 MASTER RESET INTF. OTA SC,C ABS LDA+LD+CTCW1 INTF CONTROL (OUTPUT) OTA SC,C ABS LDA+LD+CTCW2 CHAR FRAME CONTROL CTCM0 EQU *-CT  OTA SC,C ABS LDA+LD+CTCMD+100000B GET A CHATACTER ABS ISZ+LD+CTCMD MOVE TO NEXT WORD OTA SC,C OUTPUT CHARACTER ABS CPA+LD+CTCW4 END OF LIST? ABS JMP+LD+CTCMD+100000B YES RETURN STC SC,C NO SFS SC WAIT FOR TRANSFER ABS JMP+*-1-CT+LD ABS LDA+LD+CTCW3 RESET BUFFER EMPTY ABS JMP+LD+CTCM0 DO NEXT WORD * CTINW EQU *-CT NOP ABS JSB+LD+CTINB READ A BYTE ALF,ALF PUT IT IN UPPER HALF WORD STA B ABS JSB+LD+CTINB READ SECOND BYTE IOR B ADD FIRST ABS JMP+LD+CTINW+100000B RETURN * * CTINB EQU *-CT NOP LIA SC GET DATA SSA,RSS VALID DATA? ABS JMP+*-2-CT+LD ABS AND+%B377-6000B ABS JMP+LD+CTINB+100000B * * CTX EQU *-CT NOP CTWT EQU *-CT DEC 1000 ONE SECOND CTRS EQU *-CT OCT 17015 36+15 CT.S EQU *-CT OCT 51415 CTCW0 EQU *-CT OCT 150077 CTCW1 EQU *-CT OCT 040700 CTCW2 EQU *-CT OCT 030003 CTCW3 EQU *-CT OCT 050077 SKP REP 276B OCT 106075 MEMORY HALT SKP LWAA EQU *-1 JMP LOADS RESTART FOR SERIAL EXECUTRION LDMXA ABS *-1 * * * * FORMATTED OUTPUT * * CALL: * * CLA * CLE * LDB * JSB FMTO,I * * LDB * JSB FMTO,I * * * OR * * CLA,INA * LDB * JSB FMTO,I * SKP FMTR NOP SZA ISS0.* THIS A NUMBER OUTPUT? JMP FMTNU YES LDA FMTR0+1 GET CONSOLE JSB RAR,ELA SET FOR COD,I OR LPD,I STA FMTR0+1 PUT IT IN PLACE FOR EXECUTION FMTR0 CCA INDICATE IT'S FROM THE FORMATTER JSB COD,I LDA BUFFR SAVE FORMAT POINTER STA FMTPS LDA FMTCH GET LAST CHARACTER JMP FMTR,I RETURN * FMTC LDB FMTPS CHECH TO RESTOR FORMAT POINTER LDA BUFFR CONVET POINTER ADA %M6 TO CHECK CLE,ERA IF NUMBER OUTPUT CPA FMTBF IS IT? STB BUFFR YES JSB BUF2A NO GET NEXT CHARACTER NOP STA FMTCH SAVE CHARACTER CPA SLASH IS IT A LINE TERMINATOR? JMP SLO2 YES CPA LAROW IS IT A SUPPRESS CR-LF? JMP SLO2+1 YES CPA NUMB IS IT A NUMBER REQUEST? JMP SLO2+1 YES JMP SLO1+2 NO OUTPUT THE CHARACTER * * OUTPUT A NUMBER TO THE BUFFER * Z>0 n { 24296-80008 1627 S 0122 DIAGNOSTIC CONFIGURATOR FOR 2100 SERIES COMPUTER             H0101 }FMTNU STA BUF2A SAVE OCT OR INT FLAG LDA B CHANGE HANDS LDB FMTCH GET LAST CHARACTER? CPB NUMB IS IT A NUMBER OUTPUT? RSS JMP FMTR,I NO RETURN TO CALLER LDB FMTBF YES GET LOCATION FOR NUMBER CLE POSITION FOR UPPER BYTE ISZ BUF2A IS IT OCTAL OR INTEGER JMP *+3 OCTAL JSB O2ASC OCTAL CONVERSION RSS JSB D2ASC INTEGER CONVERSION LDB FMTBF POINT TO NUMBERS JMP FMTR0 OUTPUT THEM * SLASH OCT 57 LAROW OCT 137 NUMB OCT 43 FMTPS NOP FMTCH NOP FMTBF DEF *+1 OCT 0,0,0 SKP * OCTAL TO ASCII CONVERSION * CALL: * * CLE = UPPER OR CCE = LOWER * LDA * LDB * JSB O2AS,I * * * O2ASC NOP ENTER ELB SET-UP BUFFER POINTER STB BUFFR SAVE IT LDB %M6 NUMBER OF ASCII CHARACTERS STB CCNT SAVE COUNT CLB,INB SET MASK FOR FIRST CHARACTER RAL ROTATE IT IN STA D2ASC SAVE RESULT AND B MASK UNWANTED BITS O2AS1 AND %B7 MASK OFF UPPER BITS ADA %B60 ADD ASCII NUMBER JSB A2BUF PUT IT IN THE BUFFER JMP O2ASC,I RETURN IF ALL DONE LDA D2ASC RETRIEVE NUMBER RAL,RAL ROTATE FOR NEXT CHARACTER RAL STA D2ASC JMP O2AS1 AND DO IT * * * THE ABOVE ROUTINE DOES NOT ELIMINATE LEFT ZEROS SKP * DECIMAL TO ASCII CONVERSION * * CALL: * * CLE = UPPER OR CCE = LOWER * LDA * LDB * JSB D2AS,I * * * D2ASC NOP ELB SET-UP BUFFER POINTER STB BUFFR SAVE IT LDB %M6 SET CHR COUNT STB CCNT SAVE IT LDB A SAVE NUMBER SSA  IS IT NEGATIVE? CMA,INA YES - MAKE IT POSITIVE STA ASC2N SAVE FOR STORAGE LDA %B40 GET SPACE IF POSITIVE SSB WAS IT? LDA %B55 NO GET MINUS SIGN JSB A2BUF ADD IT TO BUFFER NOP JSB DIV CONVERT NUMBER DEC -10000 OUTPUT 10000 CHARACTER DEC -1000 OUTPUT 1000 CHARACTER %NE2 DEC -100 OUTPUT 100 CHARACTER DEC -10 OUTPUT 10 CHARACTER %M1 DEC -1 OUTPUT 1 CHARACTER * * DIV NOP ENTER LDA ASC2N GET NUMBER CLB ZERO COUNT DIV0 ADA DIV,I SUBTRACT DIVISOR SSA WAS IT LESS THAN DIVISOR? JMP DIV1 YES - THEN OUTPUT IT INB NO - INCREMENT THE COUNT STA ASC2N AND SAVE RESULTS JMP DIV0 DO IT AGAIN DIV1 LDA B ADA %B60 MAKE IT ASCII JSB A2BUF ADD IT TO BUFFER JMP D2ASC,I RETURN IF ALL NUMBERS DONE ISZ DIV MOVE TO NEXT NUMBER JMP DIV+1 DO IT * * THE ABOVE ROUTINE DOES NOT ELIMINATE LEFT ZEROS SKP * ASCII CONVERSION * * CALL: * CLA <=INTEGER CCA=OCTAL * LDB * CLE * JSB AS2N,I * 7 SSA,RSS ? JMP ASC1 YES ADA %B10 NO - RESTORE NUMBER RBL,RBL MOVE NUMBER UP RBL JMP ASC2 * INTCV BLS FORM ADA B BINARY BLS,BLS EQUIVALENT ASC2 ADB A ADD NEW NUMBER JMP ASC0 DO NEXT CHARACTER * ASC1 LDA D2ASC GET NUMBER CCB MOVE BUFFER POINTER BACK 1 ADB BUFFR CHARACTER CLE,ERB SET UPPER OR LOWER JMP ASC2N,I RETURN TO CALLER SKP * SWITCH REGISTER CHECK * SWR NOP ENTER SWITCH REG CHECK LIA SWREG GET EXTERNAL REGISTER AND B MASK OUT UNWANTED BITS SZA,RSS ANY BITS UP ISZ SWR YES RETURN P+2 JMP SWR,I RETURN TO CALLER * * * 1 MILLSEC. TIMER * TMR NOP ENTRY 1 MILLSEC CLOCK CMA,INA NEGATE TIME WANTED LDB TMC GET TIME COUNT INB,SZB IS TIME UP? TMI JMP *-1 NO TRY AGAIN INA,SZA YES IS THERE MORE TIME? JMP *-4 YES DO LOOP GAIN JMP TMR,I RETURN TO CALLER * TMC DEC -252 1 MILSEC. TIME OUT COUNT * * * DEVICE DRIVER ROUTINES * SETUP NOP CMA NEGATE COUNT STA CCNT SAVE FOR USE AS COUNTER RBL MAKE POINTER IN TO BYTE STB BUFFR KEEP IT LDB JBF2A GET STANDARD OUT PUT FRAM BUFFER SSA,RSS IS IT FORMAT STRING? LDB JFM2A YES GET CHR FROM FORMAT ROUTINE STB SLO1 LDA SETUP,I GET OTA FOR CONTROL WORDS ISZ SETUP STA SETOT PUT IT IN PLACE STA SETIN FOR OUTPUT AND INPUT LDA SETUP,I GET LOCATION OF I/O ROUTINE ADA SETUP ISZ SETUP  STA AIO JMP SETUP,I AND RETURN * JFM2A JMP FMTC AIO NOP SKP * INPUT TO BUFFER AS REQUIRED * IN NOP LDA IN,I OUTPUT CONTROL WORDS ISZ IN SZA,RSS ANY TO OUTPUT? JMP *+3 NO SETIN NOP YES OUTPUT IT JMP *-5 ISZ CCNT CHECK IF INPUT REQ. WAS ZERO? RSS JMP IN,I YES - EXIT ISZ IN SKIP INTERRUPT INSTRUCTION IN1 JSB AIO,I GET A CHARACTER AND %B177 NO MASK OFF BIT 7 CPA %B177 IS IT A RUBOUT? JMP RBOUT YES CPA %B15 IS IT A CARRIAGE RETURN? JMP IN2 YES JSB A2BUF NO - ADD CHARACTER TO BUFFER RSS RSS BUFFER FULL JMP IN1 LDA COUNT GET INPUT COUNT JMP IN,I RETURN TO CALLER * RBOUT JSB ICRLF DO A RETUEN LINE FEED LDA COUNT RESTORE LDB BUFFA COUNT AND BUFFER JMP CNSLI+1 NOW TRY AGAIN * IN2 LDA CCNT DETERMINE COUNT ADA COUNT JSB ICRLF DO RETURN LINE FEED JMP IN,I RETURN TO CALLER * ICRLF NOP STA SWR SAVE A REG CLA JSB CNSLO LDA SWR RESTORE A REG JMP ICRLF,I SKP * OUT BUFFER TO DEVICE * OUT NOP LDA OUT,I GET CONTROL WORD ISZ OUT SZA,RSS ANY? JMP *+3 NO SETOT NOP YES OUTPUT IT JMP *-5 DO NEXT ONE SLO1 NOP GET A CHATACTER FROM BUFFER OR FMTR JMP SLO2 END OF BUFFER DO CR/LF AND %B177 CPA %B177 WAS IT A RUBOUT? JMP SLO2+1 YES CPA %B15 IS IT A CARRIAGE RETURN? JMP SLO1 YES IGNORE IT CPA %B12 IS IT A LINE FEED? RSS JMP *+3 NO JSB OCRLF YES DO IT JMP SLO1 JSB AIO,I OUTPUT CHARACTER JMP SLO1 NO DO NEXT CHARACTER SLO2 JSB OCRLF NOW OUTPUT CR/LF CLA ISZ OUT  JMP OUT,I RETURN TO CALLER * * OUTPUT CARRIAGE RETURN + LINE FEED * OCRLF NOP LDA %B15 GET CARRIAGE RETURN LDB OUT,I CHECK IF STANDARD LF CPB %B12 ? JSB AIO,I OUTPUT IT LDA OUT,I GET LINE FEED COMMAND JSB AIO,I OUTPUT IT LDA %B377 GET RESPONSE TIME JSB TMR GO TO 1 MILLSEC TIMER JMP OCRLF,I RETURN SKP * GET A CHARACTER FROM THE BUFFER INTO A REG. * CALL: * * JSB BUF2A * * * BUF2A NOP LDB BUFFR GET NEXT CHARACTER ADDRESS JSB GETFC GET CHARACTER ISZ BUFFR MOVE BUFFER TO NEXT CHARACTER ISZ CCNT NO COUNT THIS CHARACTER ISZ BUF2A SET GOOD RETURN JMP BUF2A,I * * PUT A CHARACTER IN A REG. INTO BUFFER * CALL: * * LDA * JSB A2BUF * * * A2BUF NOP LDB BUFFR GET BUFFER POINTER JSB PCIB PUT CHARACTER IN BUFFER ISZ BUFFR MOVE TO NEXT CHARACTER ISZ CCNT IS THAT ALL ISZ A2BUF NO JMP A2BUF,I RETURN TO CALLER * * GET A CHARACTER FROM FORMAT STRING * GETFC NOP CLE,ERB ADJUST UPPER/LOWER LDA B,I GET 2 CHARACTERS SEZ,RSS IS IT UPPER OR LOWER ALF,ALF IT'S UPPER AND %B377 MASK UNWANTED BITS JMP GETFC,I RETURN * * PUT A REG. INTO BUFFER * PCIB NOP STA BUF2A SAVE THE CHARACTER SLB,INB GET OPPSITE CHARACTER ADB %M2 JSB GETFC ALF,ALF MOVE INTO UPPER IOR BUF2A ADD NEW CHARACTER SEZ SHOULD IT BE SWAPPED? ALF,ALF YES STA B,I STORE IT JMP PCIB,I RETURN TO CALLER SKP * CONSTANTS AND STORAGE * %B2 E/ OCT 2 %B7 OCT 7 %B10 OCT 10 %B12 OCT 12 %B15 OCT 15 %B40 OCT 40 %B55 OCT 55 %B60 OCT 60 %B121 OCT 121 %B126 OCT 126 %B177 OCT 177 %B377 OCT 377 %M2 OCT -2 %M6 OCT -6 %M10 OCT -10 %M60 OCT -60 %M72 OCT -72 %BT15 OCT 100000 * H77LD LDA 120B REPLACE HLT 77B WITH JSB * LDSN NOP LDSNX NOP LDBP NOP LDBPS NOP * COUNT NOP INITIAL BUFFER COUNT CCNT NOP WORKING BUFFER COUNT BUFFA NOP INITIAL BUFFER ADDRESS BUFFR NOP WORKING ADDRESS POINTER SKP * PROGRAM LOADER SECTION * * INITIAL START IS FROM 120B * A-REG = SERIAL NUMBER DESIRED * = 0 = LOAD NEXT CONSECUTIVE PROGRAM * * B-REG = BIT PATTERN FOR SERIAL EXECUTION (SET =RUN IT) * * AT COMPLETION OF THE LOAD * THE A-REG. IS SET TO THE CURRENT DSN. * IF RUN IS PRESSED THE PROGRAM DOES A JMP 100B. * LOAD NOP ENTRY FOR START OR CONTINUATION CLC INTP,C TURN ALL OFF STA CCNT SAVE A-REG LDA LOAD CPA %B121 IS THIS A RESTART JMP LOADP YES * LOADS LDB LDBP NO - ANY MORE SZB FOR SERIAL EXECUTION JMP LOADX LDB LDBPS GET ORIGINAL SELECTION STB LDBP LDA LDSN GET SERIAL NUMBER SZA,RSS JMP HLT77-1 DONT LOOP JMP LODRW REWIND DEVICE LOADX CLA READ NEXT CONSECUTIVE PROGRAM LDB H77LD REPLACE HLT 77B INSTRUCTION JSB LOADB OTA SWREG CLEAR S-REG. LDB LDBP CHECK TO EXECUTE IT CLE,ERB STB LDBP SEZ ?? JMP 100B EXECUTE THE PROGRAM JMP LOADS NO MOVE TO NEXT ONE * LOADP LDA CCNT RESTORE A-REG STA LDSN SAVE IT STB LDBPS SAVE BIT PATTERN STB LDBP LODRW CCB GET REWIND (SKIP 1 FILE) SZA REWIND? JSB DRI,I YES LDA LDSN RESTORE SERIAL4 NUMBER LDB LDBPS SERIAL EXECUTION? SZB ? JMP LOADX+1 YES DO IT JSB LOADB LOAD AN ABS FILE OTA SWREG CLEAR S-REG. LDA DSN GET CURRENT SERIAL NUMBER HLT77 HLT 77B LOAD OK JMP 100B YES START EXECUTION SKP LOADB NOP STA LDSNX SAVE REQUEST STB LDRXX SET INSTRUCTION FOR HLT 77B CLB,INB,RSS DON'T CHECK FOR EOT LDRR LDB %B2 LOOK FOR END OF TAPE JSB LDVR READ FIRST RECORD SZA,RSS EOF? JMP LOADB,I YES NORMAL RETURN SSA,RSS EOT? JMP *+5 LDA LDSN RESTORE ORIGINAL A AND B REG. LDB LDBPS OCT 106070 WAIT FOR OPERATOR JMP 120B START ALL OVER ALF,ALF RETURN IS A = COUNT CMA,INA MAKE IT NEGATIVE STA CCNT SAVE COUNT CLB JSB LDVR READ ADDRESS STA BUFFA THIS WORD IS THE STORE ADDRESS STA COUNT INITIALIZE CHECKSUM LDRL CLB JSB LDVR READ A WORD STA BUFFR SAVE WORD ADA COUNT ADD WORD STA COUNT TO CHECKSUM LDA BUFFA GET CURRENT ADDRESS LDB LDSNX GET SERIAL NUMBER SZB,RSS JMP *+7 NO DSN SKIP CHECK CPA %B126 IS THIS ADDRESS 126B CPB BUFFR YES IS IT THIS DSN? JMP *+4 YES LDRFF LDB %M2 NO GET FILE FORWARD JSB LDVR JMP LDRR-1 START READING AGAIN CMA,INA IS THE ADDRESS IN THE ADA LDMXA PROTECTED AREA SSA,RSS ? JMP *+3 HLT 55B JMP LDRFF YES - TRY NEXT FILE LDA BUFFR GET CONTENTS FOR MEMORY CPA HLT77 CHECK FOR HLT LDRXX NOP YES REPLACE WITH LDA JSB 107B,I INST STA BUFFA,I PUT IT IN MEMORY ISZ BUFFA MOVE TO NEXT LOCATION ISZ CCNT IS THAT ALL? JMP LDRL NO CLB JSB LDVR READ CHECKSUM FROM F4%0.*ILE CPA COUNT DOES CHECKSUM AGREE? JMP LDRR READ NEXT RECORD HLT 11B TELL OPERATOR OF CHECKSUM ERROR JMP LDRR READ NEXT RECORD SKP * CONSOLE OUTPUT AND INPUT AND LINE PRINTER OUTPUT * CNSLO NOP OCT 0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0 CNSLI NOP OCT 0,0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0,0,0 LNPTR NOP OCT 0,0,0,0,0,0,0,0,0,0 OCT 0,0,0,0,0,0,0,0,0,0 * * LOADER DRIVER (DIAGNOSTIC INPUT DEVICE * * B = +1 READ TO FIRST RECORD * A = 0 NEXT FILE * A = # SERIAL NUMBER OF FILE * B = +2 READ NEXT RECORD * B = 0 READ A WORD OF THE RECORD * B = -1 REWIND AND FILE FORWARD * B = -2 REWIND ONLY * B = -3 FILE FORWARD ONLY * LDVR NOP * * RETURN * A = 0 END OF FILE * A = -1 END OF TAPE (FILES) * A = +# RECORD COUNT * * REP 246B OCT 106075 MEMORY HALT SKP BFR EQU BUFFR-6000B BFA EQU BUFFA-6000B CNT EQU CCNT-6000B COT EQU COUNT-6000B ISZ EQU 36000B LDA EQU 62000B LDB EQU 66000B ADA EQU 42000B ADB EQU 46000B STA EQU 72000B STB EQU 76000B AND EQU 12000B IOR EQU 32000B XOR EQU 22000B CPA EQU 52000B CPB EQU 56000B JSB EQU 16000B JMP EQU 26000B SETP EQU SETUP-6000B .IN EQU IN-6000B .OUT EQU OUT-6000B CSLI EQU CNSLI-6000B CSLO EQU CNSLO-6000B LPTR EQU LNPTR-6000B LD EQU LDVR-6000B PTMA EQU 7677B-LDVR-PTDMA-1 IF ANY OF THESE GO MGMA EQU 7677B-LDVR-MGBF-60 NEGATIVE -THE ALLOWED DSMA EQU 7677B-LDVR-DSDMC AREA HAS BEEN EXCEEDED DFMA EQU 7677B-LDVR-DFDMC AND MUST BE CORRECTED CTMA EQU 7677B-LDVR-CTCW3 * END 0 o | 24297-80001 A S 0122 3260A/12566B CARD READER DIAGNOSTIC             H0101  ASMBABì̠0309ADAGNSà(SGP HD360A566BDAGNSà9-9000 GB PMYMPNƠNGUŠHAY BSS HԠB HԠ5B G00B SNDMPNԬɠNGUŠHUԠAY NP DƠY. SUP G0B NƠMPNɬ SPà AU0 BU MMDU0 SGU YU0B SPà AGBSS AGBSS BGBSS N00BSS N0BSS UNԠBSS BUƠBSS NBUƠBSS NNԠBSS SAUBSS B0BSS B05BSS MҠBSS MSBSS SPà AԠNP MMDàNP GNP DMAñNP NԠNP PSNP NYNP NUMBNP SPà HSԠDƠS SNDDƠN BƠDƠB SԠDƠNN NBҠDƠNB ADDDƠNұ ADDDƠNҲ ADD3DƠN3 ADDDƠNҴ NԠDƠNZ NɠDƠSYY MSG09DƠ.MS09 PHɠDƠPHA PSɠDƠPSA YàDƠSA SKPɠDƠSKP SNDƠSN SPà ADSBADD ADSBADD AD3SBADD3 ADSBADD SPà DDà DDà D0Dà0 D5Dà5 DDà DDà D6Dà6 DDà D30Dà30 D3Dà3 NSDà- NDà- NDà- NDà- N6Dà-6 N5Dà-5 N3Dà-3 N6Dà-6 SPà B3Ԡ3 B0KԠ0000 H55Ԡ0055 SPԠ0000 SPà NNŠU Ԡ0 Ԡ Ԡ Ԡ Ԡ0 Ԡ0 Ԡ0 Ԡ00 Ԡ00 Ԡ36 Ԡ Ԡ Ԡ3 Ԡ Ԡ Ԡ3 Ԡ Ԡ Ԡ Ԡ33 Ԡ35 Ԡ36 Ԡ33 Ԡ35 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ5 Ԡ0 NϠU  Ԡ Ԡ Ԡ P Ԡ0 Ԡ3 Ԡ36 Ԡ SKP ADSHGSҠNϠ"A" SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NANSHŠUNԠSHSNGS "B"-NNSAŠUNHANGDMNY SPà SGANP ASG MPSGA SPà PNҠHKUNŠ SPà UN:P+-HŠSN'ԠAPNҠNHŠSYSM P+-HŠSAPNҠNHŠSYSM SPà YKNP SAAGSAVŠHŠNNSƠ"A" DBNY SZBSS SZYK DAAGSŠHŠ"A"GS MPYK SPà SH5HKUNŠ SPà S5KNP SBSGAADHŠSHGSҠAND SSASS-HKSH5 MPS5Kɠ'SNԠSԬ DASAUVŠHŠASԠSAUSAKN DBNUMB-ANDHŠASԠS'SNUMB HԠ6BSP! MPS5K SPà ADPSNԠAԠP SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NNSAŠS "B"-NNSAŠUNHANGDMNY SPà ADPNP AMMDADHŠSAUSANDHK SSA-HŠADPSNԠB MP-'SSԬA MPADP SKP SԠUNŠ SPà A:"A"-Ơ0HŠSԠPASSD -ƠHŠSԠAD "B"-NANSHŠPDSAUS UN:"A"-UNAD "B"-S SPà SԠNP SBBGHDHŠPDSAUS SZNUMBNMNԠHŠS'SNUMB SZASSASHŠSԠN MPSԲNϬHKSH5 SBSGAADHŠSޮHGSҠAND A̬A̠-HKҠSH3 SSASԠSԠ? MPSԱYSDN'ԠPNԠҠSŠS DANYHKHŠNϠYPGAMAG SZASԠSԠ? MPSԴYSSŠHŠMSSAG SBSNɠHŠSAYPNԠH DBBG-ҠMSSAG DASAUADBHSAUSANDPN SBPSɬɠ-HM DAAԠHKHŠANSҠUN SZASԠZϠ? SBHSԬɠNϬSԠHŠNUMBҠANSD DAGHKHŠMPAŠAG SZASS-GAMAG MPS0ԠASN'ԠSԬSPAŠNŠN SBPHɬɠ-ANDPNԠBHDS S0SBSKPɬɠSPAŠNŠN SԱSBSGAADHŠSHGSҠAND A̠-HKSH SSASSSԠSԠ? MPSԲNϬHKSH5 DBNUMBADHŠS'SNUMBҠANDS DASAU-SAUS HԠ55B SԲSBS5KHKSH5 ASԠHŠMPAŠPGAMAG SAG-ANDHŠANSҠHAA SAAԠ-UN MPSԬɠ SԴDASAUADHŠUNԠSAUS DBAԠADHŠANS'SHAA BƠ-UNԠANDPSNԠҠH B̬B̠-SԠMSSAGŠD ҠBPUԠNϠHŠD DBNUMBPUԠNHŠS'SNUMBҠ ҠB SABUƬɠSŠԠNHŠҠMSSAG DBGHKHŠMPAŠAG SZBSSSԠSԠ? MPS5N DBUNԠGԠHŠHAA'SNUMB MB-ANDSUBAԠHŠSANG ADBN00-UN MBNB BƠPSNHŠUNԠANDS B̬B̠-ԠNHŠMSSAG ҠB SABUƬɠSŠԠNHŠSԠD SZBUƠADVANŠHŠBU'SPN DAB0a5ɠADHŠNŠHAA AƬAƠPSNԠϠHŠUPPҠHA ҠB0ɠ-ƠHŠDANDNSԠH MPS6-ҠHAA S5SZBUƠADVANŠHŠBU'SPN ANϠMPAŠS S6SABUƬɠSŠHŠSNDDƠH SZBUƠ-MSSAGŠANDADVANŠHŠPN SZNԠNMNԠHŠҠUN MPSԱHKHŠN̠SHS SPà SAUSADUNŠ SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NANSHŠUNԠSAUS "B"-NNSUNHANGDMNY SPà SASNP AMMDADHŠSAUS ANDSPMASKƠA̠BSBUԠAND5 SASAUSAVŠHŠSAUS MPSAS SPà SԠPNGUNS SPà SAVADNP SZPSSԠHŠPGAM'SPNGAG MPSAVADɠ-ANDSAVŠHŠSANGADDSS MP--ƠHŠS'SUN SPà PNNP SBSGAADHŠSHGSҠAND A̬A̠-HKSH3 SSASԠSԠ? MPN0YS DAPSNϬKAԠHŠPAG SZAASԠSԠBŠ? MPPNɠNϬGϠϠHŠNԠS MPYìɠYSSAԠV N0ASԠHŠPGAM'SPAG SAPS MPSAVAD SPà ҠBUҠAҠUNŠ SPà A:"A"-NANSHŠBU'SS.A. "B"-NNSNԠSGNAN UN:"A"-NNSAŠS "B"-""" SPà ҠNP DBN3SԠHŠBU'SNGHN SBN00-DS B SBAɠAҠHŠD NAADVANŠHŠBU'SPN SZN00NMNԠHŠUN MP-3NSHANGHŠBU MPҬ SKP G000B SAԠà0 DADMAñSԠHŠDMA'SN̠D A6B DABƠSԠHŠҠBU'S SABUƠ-PN SBҠAҠHŠҠBU ASԠHŠBUS SANUMBHŠSԠNUMB SANԠHŠҠUN SPà -ϠHANN̠SԠSN SPà SBSAVADSԠHŠUN'SPS.A. SƠMMDSԠHŠMMANDHANN̠AG ƠMMDAҠHŠMMANDHANN̠AG SàMMD-ANDHK ASS'SNԠAҬHŠSԠAD AHŠSԠPASSD BPDNϠSAUS SBSԠ( SSMMDHKHŠMMANDAG ASS'SNԠSԬHŠSԠPASSS AHŠSԠAD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. SƠMMDSԠHŠMMANDHANN̠AG SSMMD-ANDHK ASS'SNԠSԬHŠSԠAD AHŠSԠPASSD BPDNϠSAUS SBSԠ(3 SàMMDSԠAҠ? ASSNϬHŠSԠPASSS AHŠSԠAD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. DAADSԠHŠAP̠ҠAN SAMMDìɠ-NAŠNUP SàMMDSԠHŠN̠ANDHŠAG SƠMMD-NHŠHANN S00SƠ0UNNHŠNUPԠSYSM NP AƠHŠPGAMUSHS MPNԱ3-NSUNHŠSԠAD NұNPHŠNMA̠NUPԠ-NY 0Ơ0AҠHŠNUPԠSYSM DAADSԠHŠNA'SHANN̠AP SAMMDìɠ-̠ҠANYMUɠNUPS S0SƠ0UNNHŠNUPԠAGAN NP AHŠSԠPASSD MPNԱ3 NҲNPMUɠNUPԠ-NYPN 00à0àAҠHŠNUPԠSYSM AHŠSԠAD NԱ3U 0à0àSԠA̠HŠN̠BUS BPDNϠSAUS SBSԠ(5 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. à6BMAKŠSUŠHAԠHŠDMAHANN SƠ6B-SAD àB DANSSԠHŠSNGŠDBU'S AB SàB DANANSҠNYNŠDUԠ AB DAAD3SԠHŠDMA'SAP SA6B DAADSԠHŠNA'SHANN SAMMDìɠ-AP Sà6BSAԠHŠDMA SàMMDSAԠHŠANS SƠMMD S0SƠ0SԠHŠNUP NP AƠHSSNƠHŠPGAM SZNUMB-SUDHNNH MPN00-HANN̠NUPD N3NPHŠDMA'SNUPԠ-NY 0Ơ0AҠHŠNUPԠSYSM AHŠSԠPASSS MPN0 NҴNPHŠNA'S-NY 03Ơ0AҠHŠNUPԠSYSM AHŠSԠAD N0à6BUNƠHŠDMA SƠ6BZϠHŠDUN àMMD BPDNϠSAUS SBSԠ(6 SBPNHKҠASԠPUS SZNUMBNMNԠHŠSԠNUMB MPN05 N00à6BUNƠHŠDMA SƠ6BZϠH(DUN àMMD BPDNϠSAUS SBSԠ( SBPNHKҠASԠPUS SPà SAUSANDANSҠSԠSN SPà N05U SBSAVADSԠHŠUN'SPS.A. SBSASADHŠSAUSANDHK A̠-BԠ(PҠN SSASԠSԠ? ASSYSHŠSԠAD ANϬHŠSԠPASSD BPDSAUSSNN SBSԠ( SBPNHKҠASԠPUS MPN0 MDDADPSԠHŠSԠNUMBҠUN SANUMB AAҠHŠҠUN SAN DABƠSԠHŠҠBU'S SABUƠ-PN SBҠAҠHŠҠBU N0SBSAVADSԠHŠUN'SPS.A. HԠBAԠҠHŠPA SBSASADHŠSAUSANDHK A̠-BԠ(PҠN SSASԠSԠ? ASSYSHŠSԠPASSS ANϬHŠSԠAD DBSPPDSAUSS(NP SBSԠ(9 DASAUADHŠSAUSAGAN SSASHŠAADPSNԠ? ASSYSHŠSԠPASSS ANϬHŠSԠAD DBSPPDSAUSS(NP SBSԠ(0 DAD3PԠϠANSҠ3HAAS SBANS( DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAAҠNS SBMPҠ( SBSASADHŠSAUSANDHKH SSA-ADPSNԠSAUSB ASS'SSԬHŠSԠAD A'SN\SԬHŠSԠPASSD DBB0KPDSAUSS(N SBSԠ(3 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠB DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNS SBMPҠ(5 SBPNHKҠHŠSԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ3BAԠҠHŠPA DAD3PԠϠANSҠ3HAAS SBANS(6 DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAASNS SBMPҠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠBAԠҠHŠPA DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNS SBMPҠ(9 SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ5BAԠҠHŠPA DAD3PԠANSҠ3HAAS SBANS(0 DASԠHŠS.A.ƠHŠHAAҠS DBN3HŠNUMBҠƠHAASNS SBMPҠ( SBPNHKҠASԠPUS SBSAVADSԠHŠUN'SPS.A. HԠ6BAԠҠHŠPA DAD5PԠϠANSҠ5HAAS SBANS( DASNDHŠS.A.ƠHŠHAAҠS DBN5HŠNUMBҠƠHAASNSԆ SBMPҠ(3 SBPNHKҠASԠPUS SBYKSHŠAY? SS MPN0YS DANԠHKHŠҠUN SZASSASHŠANYS? MPN0N HԠ56BYSSP SS N0HԠBNMA̠PGAMHA SBSGAADHŠSHGSҠAND AƠ-HKSH SASԠSԠ? MPMDSKPHŠSԠGHԠSS MPSAԠSAԠAMPŠY SPà DAAANSҠ SPà A:"A"-NANSHŠPSVŠNUMBҠƠHAAS PDϠBŠANSD "B"-NANSHŠMAMUMNUMBҠƠHAAS BŠANSD(NGVũ UN:"A"-NNSAŠS "B"-""" SPà ANSNP SAUNԠSԠHŠPDHAAҠUN MASԠHŠMAMUMANSҠUN AS SAN00 N0SBSASADHŠSAUSANDHK A̬SA-ADPSNԠSAUS MPNHŠADASHŬHKNAB NSBYKHKҠHŠY SS MPN3HŠSNŬPNԠ NHԠ50BAԠҠHŠPA MPN0HKAGAN N3DADPNԠPҠƠҠNϠAD DBMSG09-PSN SBY MPN NSSASSHKHŠMŠNABŠ(Pҩ MPNNϠPҠN DAN3AҠHŠNPUԠBU SAN0 DBNBҠSԠHŠS.A.ƠHŠBU SBB05 DAH55ADHŠ̠DHԠ55B N5SABɠPADHŠNPUԠBU NBMVŠHŠPN SZN0NMNԠHŠUN MPN5 SàMMDàSAԠHŠADҠANDNA DANSԠHŠPAN'SM <:6SAMS BSԠHŠAGAԠM SBM SàMMDHKHŠAG MPN'SSԬNNU NBSZBNMNԠHŠAԠM MP-3HKHŠAGAGAN NASZA MP- SZA MPN03+NϠAG N6A SAM NSàMMDAԠҠHŠNA'SAG MPN'SSԬNNU SBSASADHŠSAUSANDHK SSASS-HŠADPSNԠSAUS MPN9HŠASN'ԠN SZMҠNMNԠHŠM MPNHKHŠAGAGAN SZMSNMNԠHŠM'SMUP MPN6SԠHŠMҠUN SZAԠNMNԠHŠANSҠUN SBADPAԠҠHŠADϠAV àMMDàSPHŠAD MPN03 NAMMDàADNHŠHAA ANDB3 SAB05ɠSŠHŠHAAҠNH SZB05-BUҠANDMVŠ'SPN g< p 24297-80002 A S 0122 3260A/12566B CARD READER DIAGNOSTIC             H0101  SZAԠNMNԠHŠANSҠUN SZN00DDHŠMAMUMUNԠ? MPNNϬADHŠNԠHAA N9DAUNԠMPAŠHŠPDUNԠ PAAԠ-HŠANSDUN MPN0HYMAH N03SBADPAԠҠHŠADϠAV àMMDàSPHŠAD AHŠSԠAD DBSPPDSAUSƠ(NP SBS MPANS N0ASԠHŠHAAҠANS SAAԠ-UN SBADPAԠҠHŠADϠAV SZNUMBNMNԠHŠSԠNUMB àMMDàSPHŠAD MPANS SPà HAAҠMPAŠ SPà A:"A"-NANSHŠS.A.ƠHŠHAAҠMPAŠS "B"-NANSHŠNUMBҠƠHAASNHŠS UN:"A"-NNSAŠS "B"-""" SPà MPҠNP SBUNԠSԠHŠPDHAAҠUN SBN00 SAB05SԠHŠSԠBU'SS.A. DBNBҠSԠHŠNPUԠBU'SS.A. SBB0 N0DAB05ɠADHŠNŠHAA PAB0ɠMPAŠHNPUԠHAA MPNԱHYMPA BHYDN'ԠMPAŬSԠH SBGPGAM'SMPAŠAG A DBB0KPDSAUSƠ(N SBS MPMPҬ NԱSZB05ADVANŠHŠBU'SPNS SZB0 SZUNԠNMNԠHŠS'SUN MPN0 SZNUMBNMNԠHŠS'SNUMB MPMPҬ SPà NBƠBSS66 G000B SPà BҠBSS3 SKP MSSAGŠUPUԠSN SPà PNҠUNŠ SPà A:"A"-NANSHŠPSVŠHAAҠUNԠƠHŠN "B"-NԍANSHŠPNԠBU'SS.A. SPà Y.NP SBPBUƠSԠHŠPNԠBU'SS.A. SABADHŠHAAҠUNԠN"B" SZNNԠNMNԠHŠPAGŠNŠUN SS MPN3SKPϠHŠNԠPAG N0MBNBSZBNVԠϠANGAVŠUNԠAND MPNԴ-Ơ0UPUԠAN-D ASԠHŠUNԠϠSKPN SASKNԠ-N MPNԱ NԴSBHNԠSԠHŠHAAҠUN DBH̠ADHŠDHAƠNDA NԲDAPBUƬɠADHŠDMHŠBU SSBSSHHHAƠƠHŠDNԠ? AƬAƠHŠUPPҬGԠNϠPSN ANDB3MASKUԠHŠPGHԠBS ҠDŠPUԠNHŠMMANDDŠAND SBMMD-HŠGHHBԬHNUPUԠ B̬SBHANGŠHŠHAƠNDAҠAND SZPBUƠ-ADVANŠHŠBUҠPNҬ -ԠASHŠҠHAƠAS SZHNԠNMNԠHŠHAAҠUN MPNԲPNԠHŠSԠƠHŠN DAANADHŠAAGŠUND SBMMD-ANDUPUԠ BSԠ"B"ҠNGHŠUN ASԠHŠNŠSKPUNԠҠA SASKNԠ-SNGŠNŠSKP MPNԱUPUԠANŠD N3DAN6SԠHŠNŠDUNԠ SASKNԠ-SؠNS DAN6SԠHŠPAGŠNŠUN SANN NԱDANDADHŠNŠMMANDDŠAND SBMMD-UPUԠ SZSKNԠNMNԠHŠSKPUN MPNԱSPAŠANHҠN SZBSSHKHŠHAAҠUN MPN5'SNSHDUN SZNNԠNMNԠHŠPAGŠNŠUN MPN0GϠPNԠHŠN N5à.Y MPY. SKP MMDNPHŠ-ϠUPUԠUNŠҠH 0A.Y ñA.Y-t_PN òSà.Y 3SS.Y MP- MPMMD NDU SPà SKP̠NPSPAŠNŠN A SBY MPSKP̬ SPà BNAYϠDMA̠NVSN SPà A:A-NANSHŠBNAYNUMBҠϠBŠNVD B-NANSHŠPNҠDGԠNMAN Š-AҬSSHŠHAAҠUNԠBU -SԬAVSHŠHAAҠUNԠBUҠASS UN:A-S B-S SPà VԠNP SAB0HDHŠNUMBҠҠNVSN DAN ADAB SAB0 BS SBB03 BAҠSԠDGԠNDA SBB00SԠDGԠNDA SZ MP+ SBNԠAҠHŠNŠBUҠUN DBSBƠSԠHŠMSSAGŠBU SB.BƠ-PN DAB0VŠHŠNUMB SZASSHKҠAZϠNUMB MPDZADHŠZϠNUMBҠNHŠBU NԲDBNSԠHŠDD-VNDGԠSUN SBDNԠ: NԲBAҠHŠDGԠBU SBDGBUƠ: DAB0GԠNUMBҠҠNVSN NԲ3ADAB0ɠADDNVSNAҠϠHŠN. SSASGN+? MPNԲNϬHANGŠAS SAB0YSSAVŠHŠNUMBҠAND SZDGBUƠ-ADVANŠHŠPN MPNԲ3 NԲDBB00SԠҠHŠSԠDG SBNBSԠ? MPNԲ5 SBB00YSSԠSԠDGԠNDA SSASSSHŠSԠDGԠZϠ? ASSNϬAҠHŠBANKNDA SSYSNNUŠNMAY SABNKSԠHŠBANKNDA NԲ5SZB0ADVANŠHŠNVSNPN DBDGBUƠGԠDG SZBSSDGԠ0? MPNԲ6YSHKHŠBANKNDA BNϬAҠBANKNDA 5 SBBNK NԲ6DADGBUƠGԠHŠDG DBBNKSHŠBANKNDAҠSԠ? SZBSS ҠASMSKNϬVAYHASɠMASK SZDNԠDDҠVNDG MPNԲVNSŠԠMPAY DBSAVADDGԠVNDG BƬBƠPAKVN-DDDGS ҠB SASAVASAVŠHŠASԠϠASɠDGS SBSAMBNSԠDGSNN SZB03ASԠϠDGS? MPNԲNϬGϠBAK ANA SABNKSŠHŠBANKNDA DANDAUԠNUMBҠƠPD SAB03-DGS. DASAVAASԠASɠDGSNVD MPVԬ NԲSASAVASAVŠHŠVNDG MPNԲNVԠHŠDDDG DZANASԠHŠBANKNDA SABNK DANSԠHŠDAUԠNUMBҠ SAB03-PDDGSҠNVSN DAASMSKGԠHŠASɠZϠHAA SBSAMBSŠԠNHŠMSSAGŠBU MPVԬ SPà NŠBUҠADNGUN SPà SAMBNP SA.BƬɠNҠHASɠHA'SN"A" SZ.BƠGϠϠNԠϠHA.ANS NP SZNԠNMNԠNŠPSNUN MPSAMB SKP SNϠNP DAMSGNSԠHŠMSSAGŠBU'SPN SA.B DANUMBGԠHŠSԠNUMB DBN SBVԠNVԠADNNŠBU DAD0PNԠHŠS'SNUMB DBMSG00 SBY BSԠHŠMSSAGŠHAA SBNԠ-UNҠANDBUҠPN SBMSGN DBSB SB.B MPSNϬ SPà PNԠHŠGDANDBADHAAS SPà PHAҠNP DAMSGàSԠHŠMSSAGŠBU'SPN SA.B DBN00ADHŠSANGHAA DAUNԠ-UNԠANDSUBAԠHŠNUMB MA-ƠHAASMPAD ADAB MANA DBNSԠHŠNUMBҠƠDGS Š-NVSN SBVԠNVԠHŠNUMBҠϠAS DADPNԠHŠNUMBҠƠH DBMSG0-HAA SBY DBPHҠSԠHŠMSSAGŠBUҠPN SB.B DAB0ɠADHŠHAAҠN SBBNϠNVԠSŠNHŠMSSAG DBPH+SԠHŠPNҠϠHŠN SB.BƠ-MSSAGŠBU DAB05ɠADHŠNŠHAA SBBN DASBƠSŠHŠMSSAGŠBU SA.BƠ-PN ASԠHŠMSSAGŠHAA SANԠ-UN DAD30PNԠHŠNŠHAA DBMSG05 SBYɠGDAND DAD30PNԠHŠHAAҠN DBMSG0 SBY MPPHAҬ SKP BNAYNUMBҠNVSN SPà A:"A"-NANSHŠBNAYNUMBҠҠNVSN ϠAS "B"-NNSNԠSGNAN UN:"A"-NNSAŠS "B"-""" SPà BNϠNP AƬAƠPSNHŠNUMBҠN"A" SBBN0AԠHŠMSB AƬAƠPSNHŠϠDGS ҠB-HNNVԠHMϠASɠAND ҠASZ-SŠHMNHŠMSSAG SBSAMB-BU DAB0VŠHŠSHDNUMB SBBN0AԠHŠNԠMSB ҠASMSKNVԠHSDGԠϠAS BSAVŠ"B'S"SBN"" ҠSPAŠPUԠNHŠSPAŠANDS SBSAMB-HŠHAAҠNHŠBU DAB0VŠHŠSHDNUMB SBBN0AԠHŠNԠϠMSB AҠA0-A5 A(ŽB0A5--A0(ŽA0 BҠB0-B5 B(ŽA0B5--B0(ŽB0 AƬAƠPSNHŠϠDGS ҠBNVԠHMϠASɠAND ҠASZ-SŠHMNHŠMSSAG SBSAMB-BU ASŠHŠNԠDGԠANDA A-SPAŠNHŠMSSAGŠBU ҠSPAŠPUԠNHŠSPAŠANDNV ҠASMSK-HŠDGԠϠASɠANDS SBSAMB-NHŠMSSAGŠBU DAB0VŠHŠSHDNUMB SBBN0GԠHŠϠSB AƬAƠPSNHŠϠDGSAND ҠB-NVԠϠASɠHNS ҠASZ-HMNHŠMSSAGŠBU SBSAMB MPBNϬ BN0NP DBAHDHŠNUMBҠN"B" A̬A̠PSNHŠNԠϠDGS B̠-ƠHŠNUMB SAB0SAVŠHŠNUMBҠҠNԠM ANDDMASKƠA̠BSBUԠ0 SAAGHDUN̠ DABADHŠNNSƠ"B" ANDDMASKƠA̠BUԠBԠ0 DBAGVŠHŠSNDMSB MPBN0 SPà .YU0 HNԠBSS DNԠBSS DGNԠBSS DGBUƠBSS NԠBSS PBUƠBSS SKNԠBSS SAVABSS B00BSS B0BSS B0BSS B0BSS B09BSS SPà ASZԠ30060 ASMSKԠ60 ANԠ305 DŠԠ3000 H̠Ԡ555 NDԠ30 Ԡ00000 Dà-0000 Dà-000 Dà-00 Dà-0 Dà- ZDà0 B03Dà- BNKDà DDà SPà NԠDƠZ .BƠDƠB SSDƠ.MS0+0 DƠ.MS0+ MSG0DƠ.MS0 MSG0DƠ.MS0 MSG03DƠ.MS03 MSG0DƠ.MS0 MSG05DƠ.MS05 MSG0DƠ.MS0 MSGNDƠ.MS00+3 MSGàDƠ.MS0+6 MSG00DƠ.MS00 PHҠDƠ.MS0+0 DƠ.MS05+0 SBƠDƠB SBUƠDƠB SSDƠ.MS0+9 DƠ.MS0+U HҠDƠ.MS03+6 SPà SUP MMAASà .MS00ASà5SԠ .MS0ASàPDSAUSS: .MS0ASà3S'SSAUSS: .MS03ASà5ANSDHAA(S .MS0ASà5HAAҠN .MS05ASà5NŠHAA .MS06ASàN .MS0ASàP .MS0ASàNN .MS09ASàPҠƠҠNϠADPSN .MS0ASà9HAAҠ SPAŠASà SPà BƠBSS6 SKP PNԠHŠSAUSUNŠ SPà A: "B"HŠPDSAUS SPà PSANPSԠUPANDPNԠHŠSAUS SBBGHDHŠSAUSMPAY DASSSԠHŠBU'SPN SA.B SZBS'B'Z MPN06NϬADHŠMSSAGŠBU DB.MS0ADHŠMSSAGŠH"NN" SBA NA DB.MS0+ SBA MPN0 N06DBBGVŠHŠSAUS SBDSSADHŠPDSAUS N0DASSSԠHŠBU'SPN SA.B DBSAUVŠHŠSAUSDUS SBDSS-AKNADԠNHŠMSSAG DAD6PNԠHŠPDSAUS DBMSG0 SBY DADPNԠHŠS'SSAUS DBMSG0 SBYɠ-HAVŠBN DASBƠSԠHŠ.B SA.B AAҠHŠMSSAGŠHAA SANԠ-UN DBSS+AҠHŠMSSAGŠBUS SAB DBSS+ SAB MPPSA SKP SAUSMSSAGŠBUҠAD SPà A:"A"-NNSAŠNSGNAN "B"-NANSHŠUNԠS'SSAUS UN:"A"-NNSAŠS "B"-""" SPà DSSNP SSBSHŠMŠNABŠBԠSԠ? MPN0YS AADUҠNU̠HAASN SBSAMB-HŠMSSAGŠBU MPNԱ N0DA.MS0ADHŠMŠNABŠMNMN SBSAMB-ANDSŠԠNHŠBU DAMMAMAԠHŠMSSAG SBSAMB NԱB̠PSNHŠSAUSD SSBSHŠADPSNԠBԠSԠ? MPNԲYS DA.MS0SŠ"NN"NHŠMSSAG SBSAMB-BU DA.MS0+ SBSAMB MPDSS NԲDA.MS06ADHŠADPSNԠMNMN SBSAMB-ANDSŠԠNHŠBU MPDSS SPà SԠHŠNUMBҠƠHAASANSD SPà A:"A"-NNSNԠSGNAN "B"-""" UN:"A"-NNSAŠS "B"-""" SPà SԠNP DAAԠADHŠNUMBҠƠHAAS DBHҠSԠHŠMSSAGŠBU'S SB.BƠ-PN DBNSԠHŠNUMBҠƠDGSN Š-HŠNUMB SBVԠNVԠԠANDSŠ DAD30PNԠHŠNUMBҠƠHAAS DBMSG03-HAԠŠANSD SBY BAҠHŠBU SBHҬ MPSԬ SKP PGAMNAZANSN SPà SYYSBSGAADHŠSHGSҠAND ANDB3-HKҠHŠY'SS.. SZAASHŠNŠND? MPN6YSNNU HԠBNϬSPANDAԠҠH MPSYY-PAҠϠNҠN N6SASYSԠHŠY'SS.. HԠBSPANDAԠҠHŠPA MPN5-ϠNҠHŠHҠS..'S NZASԠHŠNϠYPGAMAG SANY N5SBSGAADHŠSHGS SABHDԠMPAYN"B" ANDB3MASKHŠ5SB'S SZAASHŠASԠDŠND MPN0YSNNU HԠ3BNϬSPANDԠHkPA MPN5SԠHŠSHGS N0SAS566SAVŠHŠ566'SSԠD SAMMDàSAVŠHŠHANN'SADDSS SPà DAB0KSԠHŠN̠DҠH ҠS566-DMAHANN SADMAñ A6B-HŠ566BM-UԠAD DANDNGUŠA̠ɯϠNSUNS MANA-BNSAԠANDND DBDSԠS.A.ҠNGUAN ADAB SAN0SԠHŠANSUN NPNBADVANŠADDSSPN DABɠADAN SSASSSԠҠɯϠNSUN MPNɠNԠɯϬGԠNԠNSUN ANDMSKMAKŠSUŠ'SNԠANND SZA-NSUN MPNɠASNDԬGԠNԠNSUN DABɠADHŠ-ϠNSUNAND ADAS566-ADDHŠSԠDŠϠ SABɠSŠHŠAN NɠSZN0NMNԠPG.ANUN MPNPMŠPG.NS.ϠHK DASD+SŠHŠS..0NSUNS MANA DBSD ADAB SAN0SԠHŠANUN NԲDABɠGԠHŠ-ϠNSUN SABƱ DAA ANDB.MMAKŠHŠS..0 SABƱɠSŠHŠNSUN NBGԠHŠNԠN SZN0 MPNԲ DASD+SԠHŠ-ϠANSƠH MANA-YADNS-ϠN- DBSD+-SUNS ADAB SAN0SԠHŠNUMBҠƠNSUNS NԴDABɠGԠHŠ-ϠNSUN SABƱHDSPGAMAN DAA ANDB.MMASKUԠHŠSԠD ҠSYNSԠHŠNנSԠD SABƱɠSŠHŠNSUN NBADVANŠHŠBU'SPN SZN0NMNԠHŠUN MPNԴ DABɠ<:6GԠHŠ-ϠNSUN SABƱHDSPGAMAN DAA ANDB.MMASKUԠHŠSԠD NAPUԠNASԠDŠƠ SABƱɠSŠHŠNSUN SPà HԠ0NAZANMPŠHA DAàADAUMPϠHŠMAN SASND-PGAMNAN00B AAҠHŠUMPNAN SAPMY-B MPSD0ɠUMPϠHŠMANPGAM àMPYì SPà N0BSS S566BSS SYBSS BƱBSS SPà B3Ԡ3 B.MԠ00 B0KԠ0000 MSKԠ0036 SPà DSԠDƠYK NDDƠND SDDƠSD0 DƠSD DƠND0 SD0U DƠSA DƠ00 DƠ0 DƠ0 DƠ0 DƠ03 DƠS00 DƠS0 DƠS0 SDU DƠ0 DƠñ DƠò DƠ3 DƠN5 ND0U ND 8< q 24298-80001 A S 0122 12K SIO SYSTEM DUMP              H0101  ASMBAB̬Ԭ HDMASҠSϠDUMP---A̠DVS(ש G5000B SɠϠDUMP PUPS:HSPGAMPDUSANDABSU BNAYAPŠƠHŠSYSMNPUԯ UPUԠDVSANS5ANDH SϠNKAGŠAA. SPà -PNAYAPGAMMNGSYSM MAYBŠDUMPDNNUNH HŠS0DVS. PAN:-SDUMP-SADDAҠHŠAPPPA S0DVSHAVŠBNADDAND NGUD.(HŠPGAMMNGSYSM .G.DҬASSMBҬANPASS .SHUDBŠADDB PANG-SDUMP-ƠHŠSYSMS ϠBŠDUMPDHS0. SPà SDUMPDUMPSNABSUŠMAԠH AA:50-006-0AND (06+Ϡ(ة6ҠH S0DVSANDNKAGŠAA. -ƠSH5HŠPGAMMNG SYSMSϠBŠDUMPD.HSAAS: 6-00050Ϡ(05- SPà SDUMPUSSHŠPUNHUPUԠDV ANDDVҠƠS0BYNNG AN03. SDUMPSUDSANGAԠAN :(MP3 (3DƠSDUMP MUPŠPSƠHŠDUMPUPU MAYBŠBANDBYSANGSDUMP AԠHŠNDƠAHUPUԠPHAS. G MP3ɠSANG DƠSDUMPPN SDUMPSBGGNAŠAD AHKSHSҠSGNB SSAƠSH5DUMPSYSM MPSYSM DA.0DUMP DB.05ANSAND5 SBPNHA DAA0DUMP DBA0ANS0-0. SBPN_HA SPà DBA06 A ADA000B PA0006B NB DAA06 SBPNHA06.(AAVAABŠMMY DVҠDA06BGԠAAVA.MMY ANDMDUŠSAŠMDUŠADDSSAND ҠM6ADD6BϠGԠA SAҠDUMPNGS0. DA06BSԠ(ASANG NAADDSSƠS0PAKAG. SBPNHADUMPS0DVҠPAKAG MPA̠ϠGNAŠA. DUMPPGAMMNGSYSM(SH5 SYSMDA.0DUMPANSHUGH B(05- ADB0005B SBPNHA SPà MPDV A̠SBGGNAŠA. SPà HԠBHAԠ-NDƠDUMP. MPSDUMPSAԬPAԠDUMP. SUBUN-PNHA(PUNHABSUŠBK ANGSUN:(AAƠBK (BAƠBK (P-SBPNHA (P+-(UN PNHANP SAԱSAVŠSԠANDASԠD SBԲADDSSSƠBK. PDAM.SԠ3-ASNDؠ SA3NGBU. DAԱSԠBU+ҠADADDSS SABUƱɠƠUNԠBK. SAKSUMNAZŠHKSUMD. ANAZ SABUƬɠDUN DABUƠSԠԴADDSS ADA.0ƠD3ƠBU SAԴҠSNGDS. PDAԱɠSŠUNԠDMMMY SAԴɠBKNBU. SZԴADDϠBUҠADDSS. ADAKSUMADDDϠUMUAD SAKSUMHKSUM SZBUƬɠUNԠDSDNBU. DAԱHKҠNDƠBK. PAԲ MPP3YSAA. SZԱNϬADDϠBKADDSS. SZ3NDؠBUҠUN  . MPPBUҠNԠYԠD. P3DAKSUMBUҠD.SԠHKSUMN SAԴɠASԠDNBU. DABUƬɠPSND AƬAƠDUNԠ SABUƬɠUPPҠHAAҠND. AƬAƠPSNADD3 ADA.03A̠DNGHS MANANGAVŠҠUPU. DBBUƠ(BADD.ƠBU. SB03Bɠ---PUNHD---. DAԱHKAGANҠMPN PAԲPUNHNGBK. MPPNHAɠYS. MPPNϬSԠNԠD. SUBUN:G(ADүAҠGNAҩ A:(PSBG (P+-UN- GPDUSAPPMAY0NHS ƠBANKAPŠ(D-AMS GNP DBM. DABU SAԱ AZ SAԱɠPUNH SZԱBU NBSZB MP-3 DAM.PUNH DBBUƠBU SB03Bɠ(Z-D DAM. DBBUƠMS. SB03B MPGɠ. MPAYSAG ԱԠ0 ԲԠ0 3Ԡ0 ԴԠ0 .0Dà .03Dà3 .0Ԡ .05Dà5 M.Dà- SPà KSUMԠ0 MDUŠԠ0000 M6Ԡ6 A0Ԡ0 A0Ԡ0 A06Ԡ06 SPà PUNHBU BUƠDƠBU BUƱDƠBU+ BUҠBSS30 S.NDU ND + rz 24299-80001 A S 0122 12K SIO TTY DRIVER              H0101 y ASMBAB̬Ԭ HDSϠPAA̠PNҠDVҠ(ש SYSMNPUԯUPUԠDVҠ ҠHŠASҠ3335YPŠ(KYBADADҠAND PNүPUNHUNS. HSDVҠPVDSҠA̠U(ɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: NPUԠ0Y. SԠUPUԠ0Y. PUNHUPUԠ03Y.P KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0NGHNDS(-SMPMNԩ BNAYDS (BSANGADDSSƠDAABU. (PSB0Bɠ(ؠDSGNASϠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɩҠDS (BNAYANSMDϠBU. N:Ơ(AZϬHNANND--AP NDNSUDMHŠNPU. HSSDNDASADNUMBҠ NSUVŠD-AMSNPUԠB HŠSԠNN-ZϠDAAHAAҠ AD.HŠDNUMBҠSH NGAVŠNSANԠAԠAB̠--. (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. BNAY:HŠSԠHAAҠƠA BNAYDNANSHŠDUNԠ HŠNŠD.HSVAUŠDMNS HŠNUMBҠƠDSANSMDUP HŠBUҠNGHNHŠANGSUN. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. BNAY:HŠDVҠUPUSUҠ( D-AMSϠMNAŠABNAYD. HŠNGHƠABNAYDSH NGHN"A"UPNNYϠHŠDV. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNүPUNHANDH ADҠUN.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y.HŠSHGS SSԠϠNANHŠADDSSƠHŠUN. BԠ5ƠSנSAҠҠASҠ33UNS. BԠ5ƠSנSSԠҠASҠ35UNS HNAS33UNԠSUSDANS0BAND 03BNANHŠSAMŠNYPNԠADDSS. HSSNSASDAҠH NAZANSMPD. G0000B MP+ɠSԠSANGPN DƠ.YNAND3. SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. ANDM.SAŠɯϠADDSS SABSԠNB DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DAY.KADHŠSHPN. SSA MPA35 ODA0B SA03B DAMP SAY.+3 DBA33 ANSDAB SANDج SZND NB PBND MPN MPANS A35DAAS35ASҠ35 DBAS33 SAPU SBU NDA+3AD:AHԠB SA0000BHŠNGUAҠSNԠSAAB. DBY.KAD:BSHPNS. HԠB(BɯϠADD. MP- SPà AS33Ԡ0000PUNHANDPN AS35Ԡ0000PUNHNYMMAND M.ԠɯϠADDҠMASK .Ԡ00 SKP MPMPY.P+ SPà NDؠDƠY.P+ A33DƠ+ SBY.P B ADBY. DBB SB MPU MPY.+ NDԠDƠ SKP GK+005B SPà Y.KNPKYBADNPUԠNY SBBUƠSԠBU SBBUSADDSS DBY.KAKŠNYPNԠADDSSAND SBY.ɠSŠNԠPN DBNԠAD:B-6. SBUNԠSԠHŠNŠUN. DBDA.SԠNSUNNNPUԠSN MP. SPà Y.ɠNPNPUԠNY SBBUƠSԠBU SBBUSADDSS DBDB.SԠNSUNϠNPUԠNY. .SBY.PϠPVDŠHAAҠPNNG. ŬSSASԠŽҠASɠMDŬSKP ASŬSAAS.SԠŽ0BNAYNVԠ MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. DAԠNAZŠND--AP SAàUN. ASԠHA.NPUԠUN SAHòϠZ. SPà HAAҠNPUԠSN SPàCp .3SB.ϠUԠMMANDSԠN̬ҠG. AŬSAAMVŠSAUSBԻBNAY? ANDMMVŠAҠBSƠAS. SZBSSƠNϠDAAYԠANDHAҠ0 SZAHKҠND--AP. MP.6HSŠPSSHA. SZàNDؠND--APŠUN MP.3NϠ- MP.3ND--APŠ-GϠϠԠSN. SPà BNAYDNGHSN SPà .6SZƠASɠMDŬGϠ MP.AMNŠHA. SZBƠNԠSԠHA.ƠBNAY MP.DGϠϠPAKHAA. SABNVԠDD BSNGHϠHAS. ADBNGSUBAԠG.BUҠNGH. ŬSSBSSƠDNGHGAҬ MP.USŠG.BUҠNGH. SABNVԠϠHASAGAN BSANDSԠNGAV MBNBҠHAA SBHñND. MP.GϠϠHA.PAKNGSN. SPà HAAҠAMNANSN-AS SPà .PAN.ƠHA.SUNDŬGN MP.3ؠ.GԠNԠHA. PAMƠHA.SUB-UԬG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBƠDAA-NAG-(N-D MP.3ؠUDNPUԠNԠHA. .BNBSԠDAA-NAGϠSAY SB.ϠDBNGANSMD. SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠHAҠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SAHAҠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.ϠSŠDAA-NAG. SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSZSSBUҠD-ƠBNAY MP.3MDŬGϠϠԠSN. .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DAHAҠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SPà Ԡ(MPNSN SPà .3DAHòSԠAHAAҠUN. SZSSƠBNAYDNPUԬ ASNVԠϠDS MPY.ɬɠԠHUGHNPUԠNY. SPà .ϠNP ҠY.PNUDŠHŠMMANDD. .3AYUPUԠHŠMMANDD. U3AY .3SàYàSԠNANDAҠAG .33SSYAԠUN̠ADY MP.33 .3AYàNPUԠHŠHAA. MP.ϬɠUN SPà N.Ԡ00005 SKP SԠANDPUNHUPUԠSN SPà GK+055B Y.PNPUPUԠPUNHNY SBBUƠSAVŠSANGADDSSƠBU DBY.PADNYPNԠANDS SBY.ϠNԠPN DBPUԠGԠPUNHD SBY.PSԠNUPUԠUN MPU SPà PUԠԠ0000 SPà Y.ϠNPUPUԠSԠNY SBBUƠSAVŠSANGADDSSƠBU. DBUԠGԠSԠD SBY.PSԠNUPUԠUN SZUNԠNMNԠNŠUNԬSKP60 ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠSKPϠNԠPAG UؠSAB UԱŬSSB BSŬSB-BNAYSԠŽ0NVԠ HAS.ŠASKP MBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDM3SAŠHAA. SZASɠMD? ҠM00YSNUDŠV̠B. SB.ϠGϠUPUԠHŠHAA. B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BSZSSN:B-BNAYMD? DBM.YSAD:B-. SBàSŠHŠHAAҠUN. ASZSSƠBNAYMDŬGϠϠUPU MP.6D-AMS. DANUPU SB.ϠUN(ASɠMDũ. MP.5GϠSSUŠAN-DHAA. SPà M00Ԡ00000MASKҠADDNGAҠBS. M.Dà-D-AMŠUPUԠUN. SPà PAGŠSABSAVŠAGS DASKPADPAGŠSPANGUN ADAUNԠADDMANNGNS SAàSAVŠA̠NSϠSKP DANԠADPAGŠNŠUN SAUNԠSŠNŠUN ŬSSN:ŽSKP. UԠASZN:A0BNAYMD? .5DANƠADNŠDHAA .6SB.ϠUPUԠNŠD SZàNMNԠNDSUPU MPUԠPA SSBHUGH-SŠƠ(AZ MPY.ϬɠYS-UN SZUNԠԠHŠNŠUN. MPUԱGϠPNԠHŠN. SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGUY.KHDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU M3Ԡ3MASKҠ-BԠHAA UԠԠ30000 DA.Ԡ60000NSUNϠPN DB.Ԡ0000NSUNϠNPUԠNY. UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSNNDAҠAG àԠ0NDؠDҠND--AP HAҠUàHDSUPPҠHA.ҠPAKNG BANKŠASɠSPAŠ(BANK NԠ0005ASɠUND NƠԠ000ASɠNŠDD MԠ000 BU0000B UNԠDà-6 NԠDà-6 SKPDà-6 N.Ԡ0000N-DD. SPà NGSNGAVŠNSANԠҠD-AMŠUN SPà ԠDà-0NDƠAPŠUNҠ SPà YU5B SKP SYSMNKAGŠABŠS-UPSN SPà G000B DƠY.ɠNPUԠ DƠY.ϠSԠUPUԠ DƠY.PPUNHUPUԠ DƠY.KKYBADNPUԠ SPà G0006B DƠY.K-..A.ƠAVAABŠMMY. RT0.*Ԡ000000 SPà G0000B HԠ0BàSԠHAԠNPҠA̠. HԠ05BSԠHAԠNPҠA̠̠!!!!!! SPà ND U0 s  24300-80001 A S 0122 12K SIO 2605 CONSOLE PRINTER DRIVER             H0101 t ASMBAB̬Ԭ HDHP605ASϠPNNGNSŠDVҠ SYSMNPUԯUPUԠDVҠ ҠHŠHP605APNNGMNA HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNBGUŠSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHòϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. SABƠ ADBM3BASŠAS SSBSSSԠ ADAM0BUPPҠAS BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDM4NADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANSHAAҠAAAGŠUN DBM3YSSԠB-3 PANDSHAAҠANŠD DBMYSSԠB- PAMSAAҠAMUS DBM3YSSԠB-3 PAMSAUϠPAGŠԠSGNA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- M3Dà-3 M3Dà-3 MԠ SAVŠBSS NԠBSS P3Dà3 SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBP3HK SSBSS MP+3VAD DBP3PN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SBY.KHK SAB ADBM0BHAҠ<0? SSBNϠSKPNԠNS DAP00BYSSԠHAҠϠA"" ADBM00BHAҠUPPҠASŠAS SSBSSNϬSKPNԠNS. ADAM0BYSSԠϠUPPҠAS DBY.K SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SSSKPҠNŠD PAGŠDAMADAMDNSAN SB.0Z SSBHUGHSŠƠ(AZ MPY.ϬɠUN MPUԱGϠϠPNԠNԠN .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 P00BԠ00 M0BԠ-0 M3BԠ-3 M00BԠ-00 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠVO*($ƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSNNDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 SPà SPà SPà SKP SYSMNKAGŠABŠS-UPSN SPà SPà ND "* t  24301-80001 A S 0122 12K SIO 2767 LINE PRINT+R DRIV+R             H0101 ! ASMBAB̬Ԭ HDSϠNŠPNҠDVҠ(HP6 G MP3 DƠNԠNAZANAN G0B DƠNPPGAMSAԯԠAN SPà KŠU0000B SKP GK+6000B SPà NԠANGUŠHŠDV ANDA SA DAñM ANDP00AND ҠS SAHAH DAò ANDP00AND Ҡ SAHSàH DA3 ANDP00AND Ҡ SAH3SSH DAô ANDP00AND Ҡ SAHàH DA5 ANDP00 Ҡ SAH5 HԠBHNHA MPN SPà AԠ P00Ԡ00 ñA0 òSà0 3SS0 ôà0 5A0 SKP G06B ABSK+0B GK+55B SPà NPNPNY MANA SA SSAHAAҠUNԠҠMMAND? MPBDHAҠUN SAB DAAADYPAGŠ SZBSSSMMANDNŠSPAŠҠPG? UADAANŠSPA SBUAUPUԠAND MPNPɠԠDV SPà BDADAD0 SSASSHAҠUNԠ0? MPP+N DAD0YSSԠϠ0 MPNP+ PDBB B̬ŬSBBSBUҠADDSSND? MPPYSHNԠV HUԠDABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS BSAVŠHAAҠADDSSNB ANDA3 SAUAMPSAV ADAAM0 SSAHAҠ<0? MPѠYS ADAAM00N SSAHAҠ3? MP+3N ѠDAб  A00YSGԠSYMB SS DAUAPAŠHAA SBUAUPUԠϠPN NBNMNԠHAAҠADDSSAND ŬBSHBAKϠBUƠADDSS SZԠASԠHAAҠU? MPHUԠN MPUAYSPNԬSPAŠAND SPà UANPUPUԠHAASANDMMANDS SAMP H5A0 SZAPNҠNԠADYҠBUSY? MP-YS DAMP HA0 HSà0 H3SS0UPUԠMP? MP-NϬHANGNH Hà0YSADDHŠSNGAND MPUAɠԠNDY SPà AԠ AԠ A3Ԡ3 BU ԠNP D0Dà0 AM0Ԡ-0 A00Ԡ00 AM00Ԡ-00 MPNP ND w  u| 24303-80001 A S 0122 12K SIO 2610/2614 PRINTER DRIVER             H0101 #v ASMBAB̬Ԭ HDSϠHP60AHP6ANŠPNҠDVҠ ANGSUN: SB0B ANDNҠH (AVA̠MAԠDŠ(-Ϡ- (ANGHƠBUҠNHAASAND (BADDSSƠBU MAMUMNŠNGH:3HAAS-NYHŠS 3HAASNHŠBUҠ̠BŠPNDƠM HAN3HAASAŠUSD. VA̠MAԠDSSPNDϠVA̠MA N̠APŠHANNSNHŠPN.HŠSANDAD HANN̠ASSGNMNSAŠASS: DŠAPŠHANN̠UNN ------------------------ 00SNGŠSPA -SKPϠPƠNԠPAG -SKPϠNԠHAƠPAG -33SKPϠNԠUAҠPAG -SKPϠNԠSHPAG NŠHAԠABUҠNGHƠ0SANŠD VA̠MAԠMMANDS<-AŠGND. G0000B MP3 DƠNŠNAZANAN SPà G0B DƠNP SPà KŠU0000B SKP GK+06000B SPà NŠAADNHANN̠ADDSSM AND.SHGSҠAND SASŠNB DA̷MAH AND. ҠAND SA.S DA̸MSàH AND. ҠAND SA.S DA9MSSH AND. ҠAND 9SA.9S HԠBH MPN SPà .Ԡ .Ԡ00 ̷A0 ̸Sà0 9SS0 SKP G0006B ABSK+00B SPà GK+055B SPà NPNPNY MANAMNGAVŠHAҠUNԠҠPSMAԠNԠ SAԠSAVŠNGAVŠHAAҠUNԠҠVԠMAԠMMAND SSASSHKMD MPVà(AZϠҠPSVŠSVԠMAԠMMAND ADAøDHKҠHAAҠUNԠ SSASS MP.NŠNGHK DAMDNŠϠNG-SԠϠHAAS MPNP+ SPà .DBBɠHNԠV .B̬ŬSBBSBUҠADDSSND? MP.YS:HADDSS .3DABɠPKUPDMBU SZSSUPPҠHAA? AƬAƠYS-HANGŠHAAS BSAVŠHAAҠADDSSNB AND3MASKƠUPPҠHAA SBPNԠUPUԠϠPNҠBU NBNMNԠHAAҠADDSS ŬBANDNVԠϠBUҠADDSSANDUPPүҠAG SZԠNMNԠANDSԠHAAҠUN MP.3HNԠHAA DAMADNDƠMSSAGŠD SBPNԠANDUPUԠϠPN DAMADSNGŠSPAŠMMAND .5SBPNԠANDUPUԠϠPN MPNPɠUN SPà VàSZASS MP.5- SAB ADA. PBDñ DA. ADBM.5 SSB MP.5 MPNP SPà PNԠNPUNŠϠANSMԠHAAҠҠMMANDϠPN .A0UPUԠHAA .Sà0 .9SS0HKƠHAAҠUPUԠMP MP-N--SϠA MPPNԬɠYS--SϠUN SPà NSANSANDMASKS 8 SPà øDDà3MAMUMHAAҠUN 3Ԡ3HAAҠMASK .Ԡ0003 MԠ000 .Ԡ0000 MDDà-3SSMAMUMHAASϠ M0Ԡ-00USDϠHKƠHAAҠGMA M3Ԡ-0USDϠHKƠHAAҠGMA M.5Dà-5 DñDà SPà MPAYSAG ԠNPUMNUNԠҠPNҠHANN̠S SPà ASSMBYPAAMS SPà BUANƠBGS SPà ND ֲ v~ 24305-80001 A S 0122 MAGNETIC TAPE REFORMATTING SYSTEM             H0101 m ASMBAB̬ԬàMSABSUŠPDAD HDMSABSUŠPDADҠ(BHé G00BDUMMYG. SPà VSN0 SPà SZU0000BKŠSZŠVSN. DԠUDAUԠDNA̠. DAAU0BAPŠDAAHANN. SPà GSZ-00BSԠSANGADDSSƠMB. SPà HSSASPA-PUPSŠMS---MPABŠMAGAP AD.ԠSDSNHŠPD6ANSAԠHŠP Ơ.SUNNSϠADNŠABSUŠMDUŠM ŠƠMS. SPà ANKMPUҠMMYSZŠSASSUMD.ҠHҠSZSD HŠ"SZ"SAMNԠASUDAND-ASSMB.ϠPAH NŬNҠN6NANN66H SPà ŠSZŠ(N000'S N------------------------ SPà HŠMAGAPŠɯϠNSUNSNHŠADҠAŠNGUD ADNGϠHŠVAUŠƠHŠAB̠"DAA".ϠNGUŠ HҠSԠDSDԠHŠ"DAA"SAMNԠϠHŠDSD DAAHANN̠(ҠSԠDũANDHN-ASSMB. SPà HŠADҠNSHŠDVŠSDASUNԠ0. SPà PANGAUS: SPà .HŠADҠNDSHŠAPŠBŠADNG. SPà .HŠADҠADSHŠSHGSҠҠHŠDNA PSNNŠƠHŠPGAMϠBŠADD.(N:H ADҠDSNԠDϠAN.D.NAMŠSAH.ԠHNSKPS HAԠPGAMANDADS.DNAS-3AŠSVDAND MUSԠNԠBŠSPD.ƠHŠSHGSҠS0A DAUԠƠSASSUMD.HSDAUԠMAYBŠHANGDBY DNGHŠ"D"SAMNԠAND-ASSMBNGҠBY NNGHŠNGAVŠƠHŠDSDDAUԠNAN "DA".HŠDAUԠMUSԠNԠBŠҠ3. SPà 3.PAYSNUNANDMDUSAGND.ƠA PAYҠUSDUNGADNGHŠADҠHAS(HԠ. HŠPAҠMUSԠADHŠSANGADDSSϠYAGAN. SPà .ƠHŠAŠNϠADNGSHŠADҠMSϠA GDHAԠ(HԠ0B.HŠHAԠSNHŠ-A-GSҬ-B- NANSA""ANDAUMPϠHŠSANGADDSSSN AN.UNBGNSBYPUSHNGUN(HŠ""N-B- SNPDASANP. SKP SNS: SPà BAUSŠHŠADҠSNY6DSNGAN SNSAŠPADNSPAN: SPà .ԠSNԠPDAGANSԠS-DSUN.PGAMS HHADNHŠSAMŠAA̠DSY. SPà .HŠPAҠMUSԠPUSHBH-NA̠PS-AND -NNA̠PS-BŠPUSHNG-UN-ϠASSUŠHAԠH NUPԠSYSMHASBNUND. SPà 3.ƠANҠHAԠ(HԠUSHŠPAҠMUS ADHŠSANGADDSSƠHŠADҠ(AND-NABŠԩ BŠPUSHNG-UN-. SPà .HŠPAҠMUSԠNԠNҠ(NҠHŠDAUԠA̠ҩ ANDNA̠HHDSHŠNUMBҠƠMDUSNŠ MS.HŠND--ŠMAKƠŠSNԠDD! AUŠϠBSVŠHSSN̠AUSŠHŠADҠ "AD"ŠMHŠAABŠMDUŠŠ(Š. PANSUNPDABŬANDHŠADҠMAYBŠDSYD. SPà 5.SMAYHŠDAUԠDNA̠MUSԠNԠBŠҠ3. HSŠMDUSAŠSVDҠSYSMUSŬANDUNPDAB PAN̠SUԠƠHYAŠADҠBYHŠPA. SPà 6.DUNGNMA̠PANAUMPϠHŠSANGADDSS ƠHŠDSDPGAMSPADNAN.SNŠHS AKSPAŠBŠHŠPGAMSADDHŠPGAMS MUSԠNԠADNϠANҠHŠUMP̠BŠDSYD. SPà .SNŠHŠUMPNANSADԠUMPH SANgGADDSSƠA̠PGAMSϠBŠADDBYHSAD MUSԠBŠNHŠBASŠPAG. SKP DAS0נSԠUNԠ0 AMNDAND SàMNDàNDAP. BSSנGԠDNA̠NUMBҠƠPGAM. MBŬNBSZBSSMAKŠ<0PSԠ--. DBDAԠUSŠDAUԠƠSG0. SBPGSAVŠҠUN. ADDAƠUPU AMNDADMMAND AMNDAND AҬAҠS AҬSAҠ. MPADDKPYNGUN̠.K. SàMNDàSAԠAP. SàDAAàNAZŠDAAHANN. DAPGGԠPGDN̠NҠ-0ƠAD. BSZMŬNBSS-B-_DAADMASK. MPDAAҠDAADSKPN. DBADSAPSԠD SBPҠNAZŠADDSSPN. DBMASK-B-_PSԠàMASK(S.A.NY. DAAҠSZSZAƠDAADANDNԠADNG MPADGNŠHŠD. SàMNDPSԠDҠ(DAADAND MPDNŠADNGAԠҠDAA PSSDAAҠAPŠϠSP. MP-3 ADAAàGԠDMAP SAPҬɠANDSŠ. SBSSƠDSϠBŠSAVD SZPҠBUMPADDSSPN. ŬBSHԠSůNϠSŠMASK. MPPUNҠNԠD. DNŠBNA̠SHԬ--_ƠŠUS ADPSԠD0ƠDAA. SAPҠSAVŠDAAADADDҠƠPS. DBPGGԠPGAMDNA̠UN. DAS.A.GԠPGAMSANGADDSS. SZMŠƠHSASDAAD SZASSҠNNUANPSԠD MPZSԠSKPNA̠PSԠàSPS. ҠMPNA̠PSԠìNUDŠUMP NBSZBSSϠSANGADDSS.ƠHS SAgSUҠPGSŠHŠUMP. ŠPŠUԠ--AUSDBYNBSZB. ZSԠSSBƠŠHAVN'ԠUNDUҠPGY MPAD-UPDAŠPGADNԠ. AMNDUҠPGҠPSԠDƠN ANDMASKNŬHKҠPAY SZAҠND--. HԠҠHA.NԠPD SZBSSSԠPSԠàƠNԠPGAM? MPAD-NϬUPDAŠPGNNU. DAHԷ0YSSŠNA̠HA. MPMPAGϠϠ. SKP NSANSANDSAG. SPà AU0-A-GSҠADDSSDNN. ADSADƠSZ-PNҠϠ-DBU. MNDUDAA+MAGAPŠMMANDHANN̠S.. DAԠABS-DԠ-(PGAMDNA̠DAUԩ. HԷ0HԠ0BNA̠HAԠ(GDHAԩ. MASKԠ6PSԠDADMASK. MASKԠ0MAGAPŠSAUSMASK. PGNPPGAMDNA̠UN. ƠԠ3MԠADNŠDMMANDD. S0נԠ50MԠSԠ0NDMMANDD. SSנUSHGADDSSDNN. SPà HŠNGϠDSMUSԠBŠNGUUSANDHҠD MUSԠNԠBŠHANGD. SPà S.A.BSSPGSAԠADDҠ(NPSԠé. PҠBSSMVNGPүDAAàADADD. SPà ND  w 24305-80002 A S 0122 MAGNETIC TAPE REFORMATTING SYSTEM             H0101 m ASMBAB̬ԬàMSABSAP-SDNԠAD HDMSABSUŠAP-SDNԠADҠ VSN06 G00BAVŠ000BҠNGHD. SPà ADSANABSUŠPGAMADDBYHŠ-B-SN ƠHŠMSSUPVS.SUNNSϠADHŠABSU MDUŠSPDBYHŠUSҠҠHŠPAҠNA"BNA- N"A.HSMDUŠSUNDNŠƠHŠMSSYSM APŬANDSNMAYANNA̠PGAMMDUŠ(PG. SPà ADSDSAԠHŠBGNNNGƠHŠSNDPAGŠ(000B ANDUPHŠԠDSNԠNŠHHŠSNGMS ԠSGMNԠҠHANYNA̠PGAMMDUŠ(PGHA ԠMGHԠAD.HŠPAAM-PASSNGANDNGUAN SNSASABŬSNŠԠMGHԠHSŠN HPG. SPà HŠANGSUNŠ(MBԩS: SPà SBAD DƠDHSԠDAAHANN̠SԠDŠƠSYSMAP. DƠSYSUNSYSMAPŠUNԠNUMB. DƠDHDԠDAAHANN̠SԠDŠƠDAAAP. DƠDAUNDAAAPŠUNԠNUMB. DƠSYSDSԠDŠƠYҠ0(ƠNϠY. DƠDN̠USҠDNA̠(Ҡ0ƠNAMŠSAHAND. DƠNMBUƠUSҠNAMŠBUҠ(USDƠDN̠0. <ҠUN(HŠSNϠNMA̠UN. SPà HŠSԠUҠPAAMS(ANDHҠADDSSSAŠSAVD UN̠HŠNנPGSADDHNHYAŠSDNH NנPG.HSMAKSPSSBŠHŠHANGŠƠDAAAND SYSMAPŠDVSDUNGMANG.DHSԠSUSD NGUŠA̠MAGAPŠɯϠNSUNSNAD.HŠY AGSUSD(ƠNN-ZϩϠNGUŠAS-NANDY UPUԠDV.ƠAYSPSNԠANDANVABŠ USAMSSAGŠSPNDBŠHŠNA̠HA.DN̬ ƠNN-ZϬSPSHŠDNA̠PSNƠHŠDSD nNנPGAMMDUŠNŠƠMS.DN̠MUSԠBŠ0BU NԠҠ3ASHSŠAŠSVDҠ.P.S.SϬAND ADSPVY(NVҠADDBYAD.ƠDN̠SZϬ HŠ0-HAAҠNAMŠBUҠBGNNNGAԠNMBUƠSUSDϠY ϠMAHPGAMNAMSASSGNDϠAHMDUŠNŠA PSM.NAMSNHSBUҠMUSԠBŠ-USDAND BANK-D. SKP VABŠSAUSŠAUMPϠHŠҠUNHAN ҠDŠN-A-ANDAPŠSAUSMHŠASԠPANN -B-.BԠHNASHŠSUPVSҠHA"ADҠ" HAԠD.VABŠSAŠDNDASHSŠHH UҠBŠADNGƠHŠNנMDUŠHASSAD.NHS ASŬHŠNGYƠHŠSUPVSҠSASSUD.NŠADNG HASBGUNANYSUBSUNԠSAŠVABŠANDAUS ANҠMSSAGŠ(ƠAYSNHŠSYSMANDAN VABŠHA.HŠPDADҠMUSԠHNBŠUSD ϠNAŠHŠNԠPGAM. SPà VABŠSAŠASS: SPà ҠDŠ(N-A-MANNG -------------------------- SPà 0BAPŠHADAŠ BAPŠPAY B(NԠUSD 3BNDƠŠ(PGMSSNG BGA̠DNA̠(Ҡ3 SPà N:ANYMDANSϠADMUSԠNԠNUDŠANG BSSPSUD-P.HS̠AUSŠADϠHAVŠMŠHANN DAADNMSŠANDBԠ̠HNNԠAD MPY.ASϬNANYMSSYSMAPŠGNANAD MUSԠBŠHŠHDMDUŠNŠASBԠSAHSҠ BYDNA̠PSNAHҠHANBYNAM. SKP ADNPNDVASBMB. MPNԠNGUŠMԠYGԠPAAMS. SKPDASҠSPAŠVҠUNANDDAAD. SBMAND PSҠDABUADAD-DMSPSԠD SBDàNϠA̠BU. SSASSƠNԠDUMMYƠPSԠD MPNƠSKPҠSԠB. SZBSSƬƠ'ŠNԠADNGY MPұ3UNҠDŠ3. SPà ƠŠA̠HUGHϠ-N-'VŠUNDHŠDUMMY PSԠDHŠADNG.HSS.K.Ơ'VŠBN ADNGHŠASԠPGAMNŠASHŠPSԠDHN ASASAMNA.ŠMUSԠS̠HKPAYANDHA'S DNŠAԠ-N-. SPà NƠSZSSNϠƠҠDUMMYƬPAY? MPNҠHנABUԠHAԬYUNAGAN. DANYPAYҬDDŠHAԠϠD SZAH.Ơ'ŠADNG MPHԲVABŠ. SPà Ơ'ŠHŬŠHAVŠAPAYҠNAPSԠDAND 'ŠNԠADNG--Y.ŠMUSԠNנHKHHҠ' DNGANDNA̠SAHҠNAMŠSAH.Ơ'SANAM SAHGNŠHŠPSԠD.ƠԠASHŠNŠ AND'̠GԠҠ3SNNUGH.Ơ'SANDNA SAHHNASSUMŠHŠS.A.D(AԠASԩS.K.HK ԠҠNN-ZϻƠSϬŠHAVŠNA̠PSԠD.NHS ASŬBUMPDNA̠UNҠ(PGϠKPPPҠUNԠ PGAM.ƠDNGHSAUSSPGϠBMŠ0HSS HŠPGAMŠANԬANDŠAN'ԠADԠBAUSŠƠH һHŠAKŠҠ.ƠPGSS 0HNGNŠ. SPà DAPGGԠDNA̠(0ƠNAMŠSAH. DBS.A.GԠSANGADDSS. SZAƠDNGNAMŠSAH SZBSSҠDNA̠SAHׯS.A.0 MPSKPGNŠHŠ. SZPGDNA̠SAHS.A.0. MPSKPNԠUҠPGAMGNŠ. MPұԠASUSϠBAD. SPà H̆VԲDAPMSGԠPAYҠMSSAGŠADD. DBSYSDHKƠYPSN. SZB SBYԠSPNԠHŠBADNS. DBSVSԠŠŠADNGSϠAN'ԠUN HԠBϠMSSϠŠVAB MP-HAԠ(APŠSAUSN-B-. SKP NҠSZBSSƠPGSANGADDҠSS̠0 MPNDŠHAVN'ԠUNDUҠPGY. SZA'ŠADNGSϠƠPSԠD MPSUƠS.A.0ԠMUSԠBŠSԠD ƠNԠPGAM.SϠGϠSU PAAMSHNU. MPADADNGANDS.A.0MANS NNUANDƠHS PGAMGϠAD. NDSZASSNԠADNGƠS.A.0 MPSKPNNUANDSKP. DAPGSԠDƠPGAM SҠSZASSAŠŠDNGDNA̠SAH? MPNAMŠNϬGϠYϠMAHPGNAM. SZPGYSSHSHŠNŠŠAN? MPSKPNϬNNUŠϠSKP. SD̠DAS.A.HSSUҠPGAMSAV SANYSANGADDSSNADAG. ADDADADDGԠDADADDSSM SBDàPSԠDANDGϠAD. SZƠPAYҬŠ MPHԲHAԬSNŠ'ŠADNG. MPPSҠNϠҬGϠADNԠPSԠ. SPà HŠNGSNMPASHŠV-D.D.NAMŠND BYHŠUSҠHHŠV-D.D.ƠHŠUNԠAPŠPGAM. AMAHAUSSHŠPGAMϠBŠADDHSŠԠSSKPPD. SPà NAMŠDAADNAMNAZŠP. SAPҠPNҠϠUSҠ.D.BU. DBBUADPNҠϠAPŠ.D.BU. DADM55DPUN. SAN NPDAPҬɠGԠUNԠUSҠ.D.D. yePABɠDSԠMAHAPŠ.D.D? NBSSYSBUMPAPŠ.D.PҬSKP. MPSKPNϠMAHGϠSKPPGAM. SZPҠBUMPUSҠ.D.PN. SZNҠA̠VŠDSMAH? MPNPNԠYԬYNԠPA. MPSD̠YSPGAMUNDGϠAD. SPà MANDNPNYԠҠAPŠMMANDS. M.AMNDSNDMMANDϠN. M.BMNDGԠSAUSϠSԠҠ. SBSVSԠSAVŠԠNASŠŠND. BҬB BҬSB MPԠMMANDDGϠHANDŠ. M.3SàMNDàMMAND.K.SAԠAP. PAƠƠHSSAADMMAND MPMANDɠUNMMDAY. M.SSMNDNԠAADMMAND MP-AԠҠPANMPN. MPMANDɠUN. SKP ԠDANYAPŠMMANDD DBSVSԠA̠SAUSҠPNU. SZASSƠ'ŠNԠADNG MPұ0HNUNҠ0ϠB. DAHMSGԠHADAŠҠMSSAGŠADD. DBSYSDHKƠYPSN. SZB SBYԠS̠PAҠHŠSS. DBSVSԠA̠SAUSҠDSPAY. HԠ0BŠŠADNGSϠ MP-VABŠHA. SPà DàNPNYԠϠADUN. SA.PҠSAVŠBUҠADDҠNNŠP. DBDM0 SBYNAZŠYUN. AGANDA.PҠSԠBUҠADDSS SAPҠNMVNGPN. DAƠGԠADDMMAND SBMANDANDSAԠAP. M.6SàDAAàUNNDAAHANN. M.SSDAAAԠҠDNGHD. MP- M.ƠDAAHNDSAD. M.9SàMNDHASAPŠSPPD? MPҠYSNDƠHSD. PSSDAANϬSADAADADYY? MP-3NϬGϠBAKANDAԠҠ. M.0ADAAàYSPKԠUP SAPҬɠANDPUԠԠAAY. SZPҠBUMPPNҠϠNԠADDSS. MPPGϠBAKҠMŠDAA. ҠàDAAҬUNƠDAAHANN. DAS.A.GԠUNԠPGSANGADD. M.BMNDGԠAPŠSAUS. SBSVSԠSAVŠԠNASŠŠND. BҬBSHԠPAYҠBԠϠ--. DBNYGԠADNGNԠADNGAG. SZYƠHSSASԠY SZSSҠƠHŠASNϠPAY MPDìɠUN. MPAGANPAYҬGϠYϠ-AD. SPà ұSZҠGA̠DNA. ұ3SZҠND--ŠDUNGSAH. SZҠNԠUSDHŠ(ƠNBԩ. ұSZҠPAYҠ(VABũ. ұ0DAҠMNDDGԠNA̠D. DBSVSԠA̠ASԠMԠSAUSϠ-B-. MPADɠUNϠB. SKP YUPUԠDVҠ--NN-NUP. SPà ANGSUN: SPà DA<  24307-18046 1419 S 0122 05DOS III 21MX ASSEMBLER             H0101 a SZ-SԠMŠNHSUN? SSN SB.NNAZ DABNS PA.-NϠBN? MPԬɠYS SZ DA DA0 A̬ŬSAASԠ-BԠANDA MP- SABADSU-BUҠA SZ DAԬ DA0 MANA SAUNSԠUN MVŠDABAD SABADɠMVŠD SZBADPNS SZBUNBUMPS-BUҠUN SS SBƠNDƠBUҬŠS SZBADBUMP SZUNBUMPUN MPMVŠNNUŠANS MPԬ ԠNPUNADD SAKNPMPҠNԠGDAKN AKNPUNԠAKN SҠNPUNԠSҠN BUNNPUNԠҠ-BU BADNPUNԠADDҠN-BU BADNPUNԠSU-BUҠADD AKԠ6ADSSƠAKNBASŠPAG SKP ADSSUŠMDSK(ƠUNҠHҠDV ANGSUNŠҠAD:SBAD DƠ+5 DƠUNNUNҠNPU DƠBUҠAƠADBU DƠN-(NϠƠHAS ƠUN NMA̠UN UNSH:(BN.ƠHAS. ADNP DAAD SAԠUNADDSS SZAD DAAD SAUNADADDҠҠUNƠNPU SZAD DAAD DA0 A̬ŬSAASԠ-BԠANDA MP-NDԬGϠNHUND.HAN SABADAƠAD-BU SZAD DAAD SAGHD-NGHADD SZADBUMPUNADDҠҠƠUN {DAUNAD PA.+ADMDSK(UN? MPADYS PA.+SԠHŠDS(UN3 MPADYS SBàADMHҠHANDSK DƠ+5 DƠ.--AD UNADNPADDҠƠNPU-UNƠN̠AD BADNPADDҠƠAD-BU GHNPADDҠƠASKD-ҠDNGH MPԬɠ ADؠDAMBU SZASSMU-ŠNPU? MPADɠNϠ-AKŠƠ SBNU̠GϠNAŠNԠ MPADɠƠ SB̠SԠPAAMS ADSBGDGԠDHAD AƬAƠ(ANϠƠDS DB0 SZASSNDƠAPŠ? MPԬɠYSԠH(B0 SSAƠ? MPADؠMAYB-GϠHK MANA-(NϠƠDSND B SBSBUҠDNGHNHAS. DBGHɠASKD-ҠD-NGH(- BSNVԠϠ-(DUNԩ SAUNSԠUN-DUN SBAUNSԠASKD-ҠDUN SBGDGԠDMDSK SABADɠDϠUS-SBU SZBADBUMPBUҠADD SZAUNBUMPUN SS MPADADYNSHUP SZUNBUMPDUN MP-NNU DBSBUҠUNAUA̠.NGH MPԬɠUN SBGDGԠNԠD ADSZUNSKPϠNDƠD MP- DBGHɠADYUNASKD-Ҡ.GH MBNBMPMNԠASKDҠHA.UN MPԬ GDNP DABA SZBA SZBUBUMPBUҠUN MPGDɠ SAMPSAVŠANMP SZS DBS PBSNNDƠAK? BSSYSSҠN.0 MPGױ SBSԠSҠN.0 SZAKBUMPϠNԠAKNUMB SBàSAUSHK DƠ+5 DƠ.M6DŽ-6ҠUSҠAASAUS DƠ.AK DƠAKSANGAK DƠAKNԠGDAK GױSBADSADNԠS DAMPSŠASԠDMMP MPGD ADSNP DAB SABABU-PN.AƠBU DA.M SABUBUҠUN SBàADS DƠ+ DƠ.--AD DƠUNUN BנDƠBUҠAƠADBU DƠ.PDS DƠAKK.N. DƠSԠSҠN. MPADSɠ UNBSSUN-DUN AKNPUNԠAK SԠNPUNԠS BUNPS-BUҠUN UNNPUNƠUNԠAK BANPPNҠҠNNA̠BU B00U6B .PDà .MDà-ƠDSPҠS DSàADSAS ANGSUN:DAD SBDS UN(AASԠDNS DSàNP DB?SԠGԠSANGSҠ SBSԠSҠN. SABSAVŠD ANDUMSKPKUPHGHBS AƬAƠGHԠUSYUNҠ3 SAUNSAVŠҠSGMNS PA.+NVԠUϠNGƠ3 MANA SAUNSԠUPҠàA SBA ANDMSKPKUPנBSAK SAAK SBADSADS MPDSì ̠GSASUŠŠGNM SSSUPUNAKANDSҠ HNADSHŠSԠSҠMHŠ SUŠ. @ ̠NP DAS ANDM3 SA?SԠGԠSANGS DAS ANDM ADA.+3SԠUN3 AƬA SA?SҠSAVŠҠPASSDŠD SB?DSàGϠADNSԠS MP̬ NU̠VSHŠNԠSUŠŠNYMHŠ ABŠƠMUPŠSUŠŠGNS.ƠNŠS'NԠ HŠHŠND--ŠԠSAKN. NKAG:̠SBNU̠ +ƠUN +NMA̠UN NU̠NP SZMBNԠASԠNYNUNԠS? MPNU05NϠ-SԠUPҠN SZMBSàASԠNYNSNDS? SSN MPNU̬ɠYS-Ơ SZS̠BUMPSҠNUMB SBMBUƠADASҠϠMBU DAS ADA.- SAS̠S DAM6 SAMBNԠSԠMBNԠ-6 DAMBU SAMBUҠSԠNƠSԠNYNBU. NU05DAMBUҬ SZASSNDƠ? MPNU̬ɠYS- DBADS SBSYSԠSŠSMAB DAMBUҬ DBAD SBSYSԠSŠàMAB SZMBU DAMBUҬ DBADSB SBSYSԠSŠSUBHANN̠MAB SZMBU SZNU MPNU̬ɠNMA̠UN MBUƠADSSUŠŠABŠϠMBUҠ MBUƠNP DAS ANDM3 SAMPSԠS DAS AND^M AƬA SAMP+SԠAK DASS DBADSB SBàSԠSUBHANN DƠ+ DƠ.M9 SB DƠ+ DƠ.-ADASҠMHŠDS DƠ.+UN MBUƠDƠMBҠANƠŠBU DƠ.PDS DƠMP+AK DƠMPS MPMBUƬɠUN MBSADSHŠSԠSҠƠMUPŠSUŠSϠ MBUƠANDNAZSHŠ'NU'PAAMҠS. MBSNP SBMBUƠADSҠƠSUŠŠADDS DAMBU SAMBUҠMBUҠ.ƠBU DA.-MBSà- SAMBS DAM65 SAMBNԠMBNԠ-65 MPMBS MBUҠNPPNSϠUNԠAKS MBSàNPUNҠҠNDS MBNԠNPŠUN SSàNPSAVŠSUBHANN̠ƠMU. S̠NPSAVŠAKSҠƠMU. UMAU00BAAVA.MMY BNSU0BүSԠBBNAY BNàU0BүS(UNԩNBBNAY SNU6BDSPҠS SUBSUŠ(ҠSҠƠS àU5BUNԠүSԠƠSUŠ SàUBSUBHANN̠ƠUNԠDSKү M6U0B-6 ?MBUUMBU ?MBSUMBS ?NUɠUNU ?̠U M65Dà-65 M3UBҠHAƠMASK MU5BUPPҠHAƠMASK ?SԠNPSAVŠSANGSҠ(Mũ. UNNP ADSԠ ADàԠ5 ADSBU3BB(NƠSUBHANN̩ SKP ASSMBYPNAGS AGSDƠ+PNSAԠBAG BAGNPPUNHUS AGNPS AGNPAABŠASMBY(PNA̠G AGNPSYMB̠ABŠPNԠ. SԠNPNANS''AG(NZҠ0 AAGNPABSUŠASMBY. AGNPSSNŠABŠAG GGNPADGϠG(99HNN DGNPU̠DSàƠNNZ SԠNPSANGAK PNŠDà-56SANDADNŠUN UNNԠ5UNNPUԠ(ADש NԠ05נϠSԠԠSAUS UNPNԠ0PUNH(UNƠPUNH UNPҠԠ06PNҠNDHUN UNPؠԠ6SAUSUN PSPàԠ06UNàDŠϠSPAŠPN PNDԠ00נϠUPUԠADүA ?ANPASԠDADD.ƠAVA.MMY ؠDƠMP+00B(NGHƠNGSԠS.ASMB ?S̠NPHNNԽ0N.SA.MNS ?NDPNPPNSϠSUPPMNAYPDS ?NDSYNPPNSϠNDƠSYMB̠AB .U53BMDNSANԠPNҠ(0 HADPASàPAG ASɠBSS3DS.ƠNVDD.NS. .NϠASà3PAԠƠHAD HBUƠU ASɱUAS+ GMUHBU+ BUҠUGM+ BUҠUBU+9SҠBU AU0 BU SPà HŠNG9DSƠDŠSHUDN'ԠBŠSHD .00BԠ00 D99Dà99 .3Ԡ5 .D.ASàD NNP SBGKGԠAK MPNɠҠUNNϠAKS SZNBUMPҠNMA̠UN SBNԠNAZŠҠNנAK MPNɠ SKP ASSMBҠSASHŠ ASMBSBBMNPUԠUN? MPSN SAUNNYS-SԠUP ADAM00 SSAN.SA.MNS? MP+3N SA?S̠YSSAAGNN-Z(NPԠUN SAUNNSԠԠNPUԠ.U.N. DAUNN ADA.00B SANSԠԠSAUS SSBBMSԠUN? MPPUN SAUNPؠSAVŠUNҠSAUS ADA.00B SAUNPҠSAVŠUNHVBԠS ADA.00B SAPSPàSԠSPAŠ PUSBBMPUNHUN? MP+5N ADAB00YS SAUNPN ADA.00B SAPNDSԠADүAҠ SBBMNŠUN? MP+3N MANA SAPNŠSԠNŠUN SBBMADG? SSN ASMGSAGGSԠAG AϠSԠAK(NBASŠPAGũ0 DBAKGԠADDSSƠAK SB DƠ+ DƠ.M9-9SŠNBASŠPAG SSSKPVҠAKADDSSSAG Ԡ6ADDSSƠAKNB.P. DAUMAAAVA̠MMY SA?ASAVŠԠҠUSŠNSGMNS SA?NDPSԠSAԠƠSUPP.PDS A SA?NDPɠAҠSAԠƠAB DA SA?NDSYSԠADDҠƠNDƠSYMB̠AB. SBàGϠHKҠSԠUPMNԠYP DƠ+ DƠ.3SAUSUS DƠUNP DƠMP SBàHKҠNSŠ DƠ+ DƠ.3 DƠ.+NSŠUN DƠMP+ DAMP AƬA AND.3+MASKUԠԠYP SAMPSAVŠPNҠ.U.N. DAMP+ AƬA AND.3+ B PAMPAŠNSůPNҠSAMŠUN? DBPNŠYSBNSPAG SBPMPSԠYSԠAG. DAUNNGԠUNϠSŠƠԠS. PA.+SUŠNPUԠMDS? MPMBSԠYS SBNNϠ-NAZŠS AҠ-DSKU hSA?SҠSԠSANGUNүS SZASSDSKU? SZDGYS-SԠU̠AG DA.D. MPSGMԠGϠPU̠NASMBD MBSԠDAS SZASSSSUŠDAANDSK? MPNPGNϠ- DB SZBMU-ŠSUŠNPU? MPMBSؠN SAS̠YS-SAԠSUP-SAVŠS DBS SBSSàSAVŠSUBHANN SBMBSSAԠNA̠AD SBNU̠GԠSԠSUŠ MPABԠƠ- MBSؠSB̠NAZŠSUŠN DA.D. MPSGMԠGϠPU̠NASMBD NPGDA+3PKUPҠMSSAG DB+3 MP+3GϠԠVAҠDAGNS ASàNPGNϠPGNŠHNNPUԽ SBMSSؠPNԠDAGNS MPASMؠGϠϠMPN SPà BMNP DABɠGԠUNPAAM PAD99ADG? MPASMGYS-DN NBNϠ-BUMPPN SZAPAAMҠPSN? SZBMYS-BUMPҠ+ MPBM M00Dà-00 SPà BSSBU-+5 MBҠBSSBUҠҠMU-SUŠS ?AGUAAG ?A̠UA ?ASɠUAS ?ASNUASN ?ASɠUASɱ ?ASMUASM ?ASMBUASMB ?BGUBAG ?BNNUBNN ?BPKUUBPKUP ?HPUHP ?HPɠUHP ?NҠUN ?DDUDD ?D̠UDG ?NDSUNDSB ?PҠUP ?GSUAGS ?GàUG ?HA3UHA3 ?SAUSA ?GUAG ?G̠UGG ?NàUN ?NSUNS ?SԠUS ?UԠUU ?SԠUS ?S̠US ?̠UG ?SAUSVA ?SBUSVB ?UNɠUUNN ?UNPUUNPN ?MSؠUMSS ?MVŠUMV ?MSYMUMSYM ?MSYSUMSYMS ?K̠UK ?PҠUP ?PKUPK ?GSUGSV ?PUP ?PMсYUPMP ?PKUPUPKUP ?PNUPN ?PԠUPS ?PNHUPNH ?PNŠUPND ?PNԠUPN ?DSàUDS ?GUAG ?UNUUN ?SAUSA ?SGMUSGM ?SMUSM ?SUPUSUP ?SYMKUSYMK ?SYM̠UMSYM ?GUAG ?SҠUS ?VUV ?ƠU ?ؠU SPà3 MPAYANDAGGN MPUMPAԠSAԠƠVAYAA UMPSAMŠASDAAGN SPà VA0UMP+ASN-MSԠSGNANԠ3 VA0SUMP+ASN VA̱UMP+3ASN-MDDŠ3 VA̱SUMP+ASN VAUUMP+5ASN-ASԠSGNANԠ3 VAUSUMP+6ASN DNԠUVA̱SASN PASNUMP+NUMBҠPNҠSAV(HP ...U.+ .U... .UMP+6B ..MU.+6 ̠U..M+6 .MU+3B .M5U+B BNKU+6B0B(ҠBANK .̠U+B .MBNU+50B .NϠU+5B .PU+5B .VU+53B .UNU+5B .000U+5B BԱ5U+60B .ŠU+6B .BU+6B àU+6B NAMɠU+B'NҠMPSYMB̠SAG NAMŠU+BҠUSŠBY'PK' NG5'SAŠADNHPUNS àU+6BANAG SGNU+B SUMPU+00BUNNNGSUMҠ'HP' MU+0BN.ƠMSNANPAND ԠU+0B BYGU+0BBYŠAGҠ'B' ؠU+05B'ASN' MDŠU NBU+06B DŠU+0BPDŠYP(MPABũ DSGU+0B'ASN' AGU+B AѠU+B NSԠU+3BPDŠMA ASԠU+B PASSU+5BPASSAG(0PASSANDPASS PKU+6BASԠHAҠPKDUP PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠Pɫ7<:6NSAԠASԠҠUNԠHA. SAVBU+3B SNU+5BSAŠNGPDůPANDAB( SYMɠU+3BADDҠNҠҠSYMB̠B̠(SYMK PUSYM SYMPU+33BSYMB̠NGAND'N SԠU+35BSԠHAA N.U+3B NàU+0B NVU+B DPUN. NVԠUNàASN SDSGUNVASN-SAVŠSGNƠMANSSA DNԠUNV ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU (NPU(BUƩSASNHD BUƠUB+B PBUƠU+5B60DPUNHBU NDASMB <<  24307-18047 1419 S 0122 06DOS III 21MX ASSEMBLER             H0101 b ASMBBì̬NҬؠASMBDҠDϠS HDDS-ɠASMBD-BUAY9- NAMASMBD599 NԠASMBD Ԡ?ASMB?BPKU?PKUP?SA?SM?SGM?ASM Ԡ?MSج?BG?G?G?GS?AG Ԡ?ج?A?S̬?SA?G Ԡ?G̬?UNɬ?ɬ?NAU?HA3 Ԡ?P?P Ԡ?S̬ì?PN MPAYANDAGGN BU MPBSS SUPSUPPSSNDDSNG ...Dà356 .Dà356 ..MDà---3--5-6 ̠Ԡ50555355556(+-. .9Dà9 .9Dà9(35B .MDà- .M5Dà-5 .M9Dà-9 BNKԠ0ҠBANKUPPҠ0(0B .̠ASà .MBNASàM .NϠASàN .PASàP .VASàV .UNASàUN BNSASàASɠBANKS ױ0Ԡ6000ADDSSMASK .000Ԡ000 BԱ5Ԡ00000 .ŠԠ05 .BԠ0 DƠ+ADDҠƠ àASà5ŠҠBà .U... NAMɠDƠNAMŠ'NҠMPSYMB̠SAAG NAMŠԠ0000PKUAG UMPSAMŠASDAAGN BSS36ҠMPAYB PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠PNSAԠASԠҠUNԠHA. ɯϠSAMNԠBUҠNPUԠBU(BUƩSASNHD BƠBSS63B50DS+SBU. BUƠUB+B PBUƠԠ00000000SAԠƠPUNHBU(NAMM ASà3 Ԡ00003000000 BSS3SԠƠPUNHBU Ԡ55ҠASMBHK ASMBDDA?SA MANA SA?S A SAPASSSԠPASSAG0(PASS SB?SAADANDPNԠN̠SAMN DA?S SZASSN̠SAMNԠMNS? MPSԠTN DBBɠYS DA.50 SB?SMSԠBƠϠBANKS ASà SBàPNԠDUB'??'. DƠ+5 DƠ.+ DƠ.0BUN DƠ??BU DƠ.+DS SBàADNNSŠN̠SAMN DƠ+5 DƠ.AD DƠ.0BMNS UBDƠBUƠNPUԠBU DƠ.3636DS(HAS SBMPSAVŠDUN ADBUB DABNS SABɠBANKUԠDAҠNPU DAN SAB+5MV DAN+'NS' SAB+6 DAN+UPU SAB+BU DAN+3 SAB+ DAMPPN AS(NVԠDSϠHAS ADA.0S DBBɠN SB?PNԠSAMN SԠҠ'ASMB'NSԠPSNS SԠDABU MANA ADABU+ PAASMBD-55B(..ASMB? MPPSYS N̠SAMNԠҠUNŠ SҠDA.S'N'SAMN' DB.S+ SB?MSؠPNԠMSSAG DB?GSA ADB.+5SS AN SAɠAG MP?ASMBASSMBҠ SԠҠN̠PNS(AB̬Ҭԩ PSDA.+(5 SAPNҠSԠPNҠ5 PUPSB?PKUPGԠNԠHAA PABNKDNŠ? MPGYS SZASSHAҽ0? MPGYS0K PA+MMA? SS-YS- MPSҠ-N- SB?BPKUSKPBANKS DB?GS'NƠN̠HAҠS PA.BB?(PUNH MPBNYS PA.̠?(Sԩ NB PA.Ҡ?(.-NԠNSS3SAVŠVAU SB?SYMKSYMB̠ABŠKUP MPNS AND...+6GԠàVAU DBNG SZBSSNNYP? MPNSYN NSѱADA.- SSAGA̠AN? MPNSàYS DA.N'N'NYPNԠ MPNS NSYDBؠGԠUNԠ B SSBSSNYPN? MPNSGN DBSYMɬɠGԠHŠVAUŬƠANY SZAYS-SԠNAADY? MPNS-YS-'DD' SZBSAVAUŠPSN? MPNS-YS-'DD' DANAM+3 SAVA0ɠSԠVAUŠNϠNY DAرGԠYP DB0̠YPŠϠ'B' MPNSѱ NSGPA.+6A? MPNSҬɠYS PA...+3? MP+YSS DA.N+NϬ'DD'Ҡ(MUPŠSYMB̩ NSؠSBP MPNSҬɠGԠUԠH PAرAŠBH'S? MPNSҬɠYSAKŠ'DD' MP-5GϠϠҠPN NSDAر ԠAƬA ADANAMŠYPŠNSԠD SANAMŠƠNY DBNAM ADBMP+ SBVA0SԠM DA?NDPA-ƠMMYҠSYMB̠AB MANA ADASYMɠSԠҠSYMB̠B ADAMP+V SSA MP+3N DA.N+'S'SYMB̠ABŠV MPNSؠ'S' DANAM+3MVŠVAU SAɠUP DANAM DB0ɠADDNY(M+6 SBSYMɬɠϠSYMB PAVA0 MPNS5 NA SZSYM MP-6 NS5DBSYM SB?NDSYSԠNנNDƠSYMB̠AB MPNSؠ NSàDAàYPŠϠ'A' AƬAƠPSN ҠMP+ SAMP+ɠSԠNYPNԠYP NSؠSZNSҠBUMPԠPNԠҠA+ :HMPNSҬɠԠH NSԠA̠NϠSYMB̠ABŠ NNP DA?SAGԠ'NƠASɠBU SASYMP+ DA...+6( SAG DBPN SBNSҠNSԠSYMB MPNɠҠN. SZPNBUMPA̠'NN SZN MPNɠ(NMA̩ PSSԠANDDà HA0BNBB PADؠHKDŠҠ'D' ADB.+B3ƠDŠS'D' SBDNԠSԠNUNԠBUMP A SANB SAMP DASN+ SAPNҠSԠPN PKUPANDAMNŠAHAAҠ HASBPKUP(HA0+ASHA DBDNԠGԠUNԠBUMP PA+MMA? MPHAYSGϠSANҠNԠPAAM. PB.+SԽ3(..Dة? MPHAYS PA+6PD? MPHA PA.Š''? MPHA HAPABNKNDƠSAMN? MPHA9YS MPHA SԠԠPԠAGSKPBANKSҠNԠHAҠ HAA SAMP SBBPKUP DBDNԠGԠ'BUMP'UN MPHA+ ԠPԠSԠҠNUMBҠUSNGBH.ANDŠ HADAMP SZMP SZAŠҠ'.'UNDY? BYSSԠB0. ADBNB(HA+ SBNBADDϠDUN MPHA NDƠNUMàPSUD-PPSSҠ HA9DADN ADANBSԠANϠƠNSϠBŠUSD DBD PBBYԠBY? AYS-DVDŠBY SZDDBYŠԠV? NAYS-ADDϠDUN MPHA3B+ PSSASà(GԠVAUŠƠN HA5DA...+('AS'ND.ҠHP SB?HP MPHA3B SZA MPHA55-NԠABS.VA. SZBSSZϠDS? MPHA55YS- ADB.M9-9 DASUMP SSBSKPƠDS MPHA3B+ HA55SZPNҠԠ DA.MBN'M'(BADPAND SBPҠϠPNԠҠDAG. MPHA3 PSSUPSUDϠ HA56SBHPɠVAUAŠPAND MPHA3Ҫ PA...+3(Ԡ? DA...+(5SԠҠNN-PNH SAMPN SBMP+ Ԡ60BNB SBMSYMSGϠϠMAS.SYMB̬SԠSYMPSYMN DAMP DBMP+ SNDAB̠ϠABŠ SBNSҠϠSYMB̠ABŠNSNN NP MPHA3 GҠHDP.UMPS HA6SBNSԬɠGϠϠSUBUN MPHA3 HA0DBGGԠA̠AG SZBSAA̠NHŠPAND? SB?A̠GϠPSSHŠA DA.+A MPHA3Z SKP PASSNDPSSҠ DƠBU HB00DA?GGԠABŠUPUԠAG SZASS MPHB0ABŠNԠUSD-NSHPASS DAHB00- ADA.+3 SAHB00-SԠHB00-(BU+ DAؠGԠAƠAVAABŠMMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSMPD? MPHB0YS-GϠϠNSHPASS SBMBNKSԠUPBANKSNSYMB̠UԠAA GԠANND.HA. DANV Ԡ AND...+6( PA...+6A̠NY? MPHBYYS. SB?DD SBBU+3 GԠVAUŠƠSYMB̠ DBSUMP(N.ƠDSNNY ADB..M ADBNV SBNV DA SZNV ŠSԠŠ0ҠA̠NV. SB?BNN SŠASɠVAUŠNϠBU DBHB00-GԠ(BU+ SB?V DBUBSԠPNԠPAAMS DA.+( SB?PNԠGϠϠPN MPHBؠNYDN. HBYDASUMPN.DSNNY ADANV+ADDҠƠNY SANVADDҠƠNԠNY MPHB .PASSASàPASS SPND HB0SB?NDSSŠUԠHŠPASS DB?D̠GԠHŠDSàAG SZBDSKBNGUSD? MPHB0ҠN. DA?UNɠGԠNPUԠUN PA.+SԠHŠDS? SSYSSKPHŠNG PA.+SԠHŠDS(UN3 SSYS SB?ƠŠSԠƠASԠS DA?MBUMU-ŠSUŠNPU? SZASS MPHB0àN SB?MBSYS-SԠPNS. SB?NU MP?ABҠ--Ҡ-ABԠPG. SB? MP+3 HB0àDA?SҠGԠNA̠DŠDƠNŠ SB?DSàGϠNAZŠҠNנSA DA?UN SA?UNɠSԠNPUԠUNDS MPHB09YSSKP'NDPASS'MSSAG HB0ҠDA.PASSPUԠUԠ"NDASMBPASS"MSS DB.PASS+ SB?MS SBàGϠϠPAҠSUSPNDUN DƠ+ DƠ.+6PAҠSUSPND.D SPà SAԠPASSHŠ SԠҠPUNHUPU HB09DABAGGԠPUNHAG SZAPUNHUSD? =MPNMPYS-GϠPUԠUԠSAԠƠBNDK DA?G̠ADGϠAG SZAADGϠUSD? MPHNP̠YSGϠBUԠSKPADҠUPU SBHNPGϠϠNYPNԠPSS SBGNMPGϠSԠUPSMŠ'NAM'PAAMS DAAGGԠHŠSԠAG ADABAGGԠPUNHAG ADA?G̠ADGϠAG SZASԠҠPUNH? MPHBSAԠPASS MP?ASMBASSMBҠ HBDA+PKUPNԠDŠϠGԠASMB MP?SGMGϠϠADҠҠNԠSGMN ASà SKP MVŠNԠNAMSADDSSϠPUNHBU. ƠUNDNDPNԠDAGNS. HNPNP DA.0BҠ"N"YPŠ0B SANG DB.000ҠDSPҠNY DA.M5Ҡ5NSD SBN A SANG MPHNP PUNHBNAYUPUԠҠAABŠPGAMS (NAMNԬANDԠDSNY UPUԠ'NAM'D Ԡ0000 NMPSBàGϠϠàϠUPUԠHŠAD DƠ+3 DƠ.+ADҠѠD DƠ?PNŠADүAҠ HNP̠SBGNMPGϠSԠUPSMŠPAAMS SBPNHGϠϠPUNH'NAM'D UPUԠ'N'D SBHNPGϠϠ'N'MVůSԠN. PSS''DH DAN PA... MPHBԠNNҽ DA.M0-0 DBNMP-00BҠԠNԠ3NY SBN MPHB BUPԠ0000BANKUPP .M0Dà-0 SPà NԠNP SAN.SAVŠSYMB̠UN SBBS+SAVŠDUNԠPҠNY DAؠAƠAVAABŠMMY SANVNVGADDҠƠNY NAZŠҠNԠBNAYUPUԠMAGŠ HرDASAD  SABSBSDSԠADDҠNBN. DABԱ500000B DBNG SZBNԠP? AҠYSSԠà SAPBU+SԠà DANMP-00B(ҠSANGDUNԩ SANԠSԠBKNԠ3 DAN. SANàNàDUN HزDANV SZASSNDƠAB? MPH9YS B SBàAҠNԠàD AƬAƠN-PKUPSYMB̠YP DBNG AҬA SZBSSAŠŠPSSNGHŠNԠABŠNYS MPH3N... AҬSAA̠HKҠN MPHر HNAҬAҠN AND...+6(ADDNY ADANV-NGH SANV-ϠNV MPHز PSSNDƠABŠ H9DAN PAN.ANYSYMBS? SSN SBPNHGϠϠPUNH A SANԠAҠDUNԠƠNϠSYMB̠U MPNԬɠԠH H3SASSSHSANԠNY? MPHNN.. A̬A̠SԠҠNA̠UN SASS MP+3 AҬA MPHN H5SZNàNDƠBND? MP+3N SBPNHGϠϠPUNH MPHر PAŠUNԠԠҠNԠSYMB̠NϠBNAYD DANV MANA SAHMV5G.ADD.ϠMVŠNK DBBS DABNS SABSɠSԠDS.AAϠBANKS SZBS SABS DABUPGԠUPPҠBANK.ҠHAƠ SZBS-DSԠD0 ADA SABS DANV SBMAB̠MVŠHASϠBN SZPBU+BUMPN.ƠNSN. DASUMPN.DSNSYMBàNY ADANV SANVUPDAŠNV(SYMB̠PNҩ ADA..M DB0ɠNYVAUŠϠB DANG SZASSNYPN? ADBBSɠNϬ8SԠԠDNA SZA SZBS SBBSɠSŠNϠD SZBSUPDAŠBS(DPNҩ DAN ADABS+ SANԠUPDAŠDUN MPHز HرANDHSMSKAVŠANBS A̬A ADA.-APUŠ.D AND.+3AND SAàSAVŠ! PA.+3HASNԠBNDND? SSNϠҠMAYB MPH5YSGϠPUԠNϠHŠPUNHBU DANVɠHKҠVAUŠƠZ A AND.+MPUŠDSNNY ADA.- ADANV DBAɠVAUŠNנNB SZBVAUŠ0? MPH5NϠ-GϠPSSN NԠҠDAGNSàUNŠ DANVɠNϬGԠHŠSYMBϠADDҠҠDAG. SBMBNKMVŠASYMB̠ϠBUƠHUBU+ DA.N'N' SAB+5SAVŠ'N'NPNԠBU DBBNSGԠBANKSҠBU SBB+9 DBNUNSԠUP'UND' SBB+6 DBNUN+ SBB+ DBNUN+ SBB+ DA.+35DUPU DBSNBGԠBUҠGN SB?PNԠGϠPNԠHŠ'N' MPH5 NUNASà3UND SNBDƠB+5BUҠGN HSMSKԠ0000 àNPSAVŠNԠàD .000Ԡ000 رBSS(ASN .0BԠ0 BSBSS PKUPASYMB̠ϠBŠPND 'A'HASDSNANADDSS MBNKNP DBNVGԠB̠NYAN MBNB SNDADD.ϠMVŠNKAG SBHMV5 MVŠBANKSϠBU DBBNS SBBU SBBU+ SBBU+ DBUBADD.ƠBUƠϠB SBMAB̠MVŠSYMB̠ϠPNԠBU MPMBNKɠԠHH SPà MVŠHASMSYMB̠ABŠ -ANANSSԠDƠSYMB̠NY -BNANSDSNANADD. -HMV5NANSGNADD. MAB̠NP A AND...+6(ҠN.ƠDS. SASUMP PA...+( A Ҡ... SBMV HMV5NP MPMAB̬ GNMP-SԠUPPGAMNGH SԠUP'PN'ҠAS(ƠPSNԩ. GNMPNP SB?PSԠPG'NUNS DAPNN SAPBU+6SԠMANPG.NGH SԠҠ'G'NԠBYNDMANPGAM DBGSVGԠGSNA MANA ADAGSV SSASSSGVAUŠG? SBPBU+6YSHANGŠMANPG.NGH SԠҠAS DAPBU+6 DBPN SZBASPSN? SAPNYSSԠSAԠƠAA ADAADDNGHƠGN SAPBU+6ϠPGNGH. MPGNMPɠԠMHŠGNMPUN UBDƠBU PSSNDDNSUNSԠAND USҠMDS MàSASDŠSAVŠDŠ-00B DBGGԠA̠AG SZBSSSԠN? MPMòNϠ-K PA.0BYPŠ0B? MPMñYS-K PA.YPŠB? MPMñYS-K PA.+YPŠ5B? MPMñYS-K SBPҠGA̠ҠA̠HS MPMò MñSB?PԠPSSA NPGNŠ MòDBSDŠPKUPD-00B DA.+A PB.YPŠB? NA&YSA3 PB.+YPŠ5B? NAYSA3 ADB.-0B SSBSSYPŠ0BϠ0B(USҠDS? MPHA3B+NϠ-USŠVAUŠNנNA ADB.+ ADABANנNANSMAϠNS.UN MPHA3B+ SPà5 PSSA'M'PSUDϠPAN(USҠMDũ MA:MàMMMìN HŠ MMMUSҠDSGNADMNMNà àUSҠDSGNADUNNDŠ NNUMBҠƠPAAMSNUSҠPAND MàDASN+ SAPNҠMVŠPNҠϠPAND SB?PKHKҠDUPAŠPDŠMNM. MPM0NϠDUPA MPSBPҠ'M'M(PAND SADŠSԠDŠNԠUA̠00B MPHA3 M0DAMP+5SAVŠUSҠMNMN SASDŠSAVŠSԠHAAS DAMP+6 SAMMPSAVŠASԠHAA SԠMNMNàҠAPHANY BYHKNGNԠ3HAAS DA.-3 SAMP M0SBPKUP MANA ADA.00B SSASSVAUŠSSHANA? MPMPYS-ҬNԠAPHA ADA.3B SSAVAUŠGҠHANZ? MPMPYS-ҬNԠAPHA SZMPDNŠHMNMN? MPM0NϠ-GϠGԠNԠHAA DA.B SADŠDŽ'ABS'ҠHPPSSNG DA.+SԠAҠMMASP SBVMàGϠPKUPMϠDůSԠPA SANS ASԠAҠNϠMMASP SBVM SSBVAUŠPUS? MPMPNϬŠHAVŠAN ADB.-VAUKŠNAANDB SSBSSBSSHAN? MPMPNϠ- ADA.00BYS-SԠUPD PA.00BDŠ00B? DA.30BYS-NϠPAAMSSϠYPŠ30B SAD NנNҠNנPDŠNϠSUPPMNAYPDŠABŠ DA?NDP ADA.-3SԠNנSUPP.PDŠGN SAB MBNB ADB?NDSY SSBPABŠV? MPMñ0N DA.N+YS'S'PABŠV SBP MPHA3 Mñ0SA?NDP DBSD SBAɠSŠSԠHAS. NA DBMMPPKUP3DHA. ADBDŠNSԠDŠ(0-0 SBAɠS NA DBNSԠSŠMD SBAɠNϠAB MPHA3MPŠPDŠNYNAB. SPà5 VMàHKSҠMMASNUMSANDYPŠƠUPUԠ MPANDPSS(MDŠANDPAAMҠ. VMàNP SAMSAVŠHPNPUԠPAAM SBPKUP PA+MMA? SSYS MPMPNϠ- SBBPKUPSKPVҠANYBANKS SBSN+SԠPANDAԠNנPAAM DAM SBHPGϠVAUAŠPAAM MPHA3ҠUN SZASVAUŠABSU? MPMPNϠ- DASUMPAANDBVAU MPVMìɠ MNPSAVŠAҠHPNAN .BԠ .30BԠ30 AU0 BU SDŠNPSAVŠDŠYPůSAVŠSԠPD MMPNPSAVŠ3DPDŠHAA SPà3 ?MѠUM ?NPS`^ZUNP ?PUP ?HA3ZUHA3Z ?NSҠUNS AB̠U?AB ?ɠUN HPU?HP NDASMB `  24307-18049 1419 S 0122 08DOS III 21MX ASSEMBLER             H0101 d ASMBBì̬ҬؠDS-ɠASSMBҠ-ASMB HDDS-ɠASMB-BUAY9- BUAY9VSN NAMASMB599 NԠASMB NԠ?AԬ?Bì?Kɬ?SKPҬ?SP Ԡ?DD?Gì?Nì?SԬ?UԬ?K̬?PK Ԡ?SUP?BPKU?PKUP?PNH?SGM?SYMK?BG Ԡ?G?̬?SA?SB?SA?PҬ?HP Ԡ?HPɬ?PҬ?PԬ?ASN?MSYM?ASM?SA Ԡ?NS?A̬?SԬ?PҬ?P̬?SM Ԡ?G SUP Ԡ?SYM MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VAUUMP+5 ...UMP+ .U... .UMP+6B ..MU.+6 ̠U..M+6 .9U+B .MU+3B .M9U+5B BNKU+6B0B(ҠBANK .NϠU+5B .PU+5B .VU+53B .UNU+5B BNSU+55B ױ0U+56BADDSSMASK .000U+5B BԱ5U+60B .ŠU+6B àU+6B àU+6BANAG SGNU+B SUMPU+00BUNNNGSUMҠ'HP' MU+0BN.ƠMSNANPAND ԠU+0B BYGU+0BBYŠAGҠ'B' NBU+06B DŠU+0BPDŠYP(MPABũ DSGU+0B'ASN' AGU+B AѠU+B NSԠU+3BPDŠMA ASԠU+B PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS PNҠU+B̠PNSAԠASԠҠUNԠHA. NԠU+B SAVBU+3B SNU+5BSAŠNGPDůPANDAB( SVSԠU+3B SYMPU+33BSYMB̠NGAND'N SԠU+35BSԠHAA ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU PBUƠԠ0000 NԠUPBUƠD(BKNԠҠBN.D. ASMU?ASM BAiGU?BG HPU?HP HPɠU?HP PҠU?P GàU?G NàU?N SԠU?S UԠU?U SԠU?S GU? KŠU?K PҠU?P SAU?SA SYMKU?SYMK AU0 SAԠPASS ASMBDA?PҠNGHƠ'A'AA DB?P̠GԠGNƠ'A'AA SB?SMGϠϠSԠMMYUN Ԡ0ϠSԠMMYϠZ A SAPNNAZŠPG'NUN ANA SAPASSSԠPASSAG DAB+5 PA.NAS'N'USԠPND? SSYS........ MP+6N! DA?NàPAŠҠNŠSKP ADA.+5YSSKP5NSҠVSBY SA?N DA.+5 SB?NS SBSAADN̠SAMN DAױ0 SAASMSԠAGҠ'N'PN ASHSBSAADASUŠSAMN(NAM? DAD PA.+3HD? MPASHYSGϠPKUPHŠNԠSAM SAASMAҠ'S'AND'N'AG PA.+(3NAM? MPH0 DA.NϠ'N'NϠGҠNAMSAMN SBP MPH05ҠԠMN .NASàN BSSPBU-+60SVŠMANNGPUNHBU SKP DϠNԠMVŠSKPҬSPҠҠBàASHYAŠ SԠADNGϠHŠNYPNSNASMB SKPANDSPAŠSԠUPUԠ SKPҠDBNà'SKP'NY MBNB MPSK SPҠSBHPɠVAUAŠSPAŠUN BNBҠ-SԠUNԽ SKSZBSSSPAS0? MPH0ԠϠH0(SA=ԠƠPASS DA?GNϬSAԠNŠSKPPNG SZASSSԠUSD? MPH0ԠϠH0(SAԠƠPASS DASԠSԠAG SZASUPPSSSNG? MPH0ԠϠH0(SAԠƠPASS SBDSGSԠUN DAN PA..MNASԠN? MPH0YS- ADBN SSBSS̠ԠGϠϠBMƠPAG? MP+5YSGϠϠPƠM SBNàNϬSAVŠNנNŠUN DADSGGԠN.ƠNSϠBŠSKPPD SB?NSGϠϠNŠSKPP MPH0ԠϠGԠNԠSAMN SBKŠSKPϠPƠM MPH0ԠϠGԠNԠSAMN BNAYUPUԠUNŠ .M5Dà-5 Ԡ6000ý5UNԠPAG BàNP SASAVB+SAVŠ'NBY DABAGGԠPUNHUSԠAG ADA?G̠ADGϠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. UPUԠAD H60DAN AƬAƠAŠ SANԠSŠNԠNUPPҠPBU DASVSԬɠPSNMANANBYS AƬA SZN MP- A SASVSԬɠSŠ.BYS SԠ.DDŠ(D DBB-GԠïPAGŠNDA ADBPBU+SԠMAND SBPBU+ SB?PNHGϠϠ'PUNH' MPBìɠAND PSSABNAYUPUԠD DƠPBU+ H66DAN SZASԠDƠD? MPHɷ0-N- DBPNPNϠBG SBPBU+3SԠDB̠ADD. SAPBU+SԠPBU+0 DB...+3( SBNԠSԠNԠ DBH66- SBSҠSԠSҽ(PBU+ iDB..M+(-5 SBNԠSԠNԽ-5 DB.M5-5 SBNBSԠNBҠDUN Hɷ0DBN PB..M+NԽ-5? MPHɷ-YS-SԠUPADDSSS SŠ.BYŠUPDA HɷSZPBU+UPDAŠƠDAADS DASVSԬ AƬA ҠSAVB+àBY SASVSԬ SZNԠBYŠDU? MPHɷ6-N- DB..M+-YS-(-5 SBNԠSԠNԠϠ-5 A SASVSԬ DANB PA..M SS SZNB Hɷ6DBNS SBSҬ SZS SZN DASAVB+àBY PA...+(5DNS? SS PA.+6DSPA? SSYS MPHɷϠԠS SZNԠBUM.DUN DASUMP SASҬ SZS DASAVB+(5Ҡ6 PA.+6YPŠ6? MPHɷYS DASUMP ANDBMSKAҠUPPҠ6BSƠ'SUMP' BSBSAҠҠBSƠNS BSBS Ҡ''BϠA SANS HɷSZNBBUMPNB MPHɷ MPH60 HɷSZNBSHSHŠASԠD? MPBìɠN- MPH60YS-GϠϠPUNH HɷDBS SBSVS A SASVSԬɠAҠàBYŠD SZS SZN MPHɷ SҠBSS36 BMSKԠ3 SPà3 H0DA...+SԠPAAM H03SBS ADNԠSAMN H0SBSAADNԠSAMN SԠMNMNàDSҠPSSYPŠ H05DAD DBNS PA6BDŠ'M'? MP39YS- ADA0BDŠ-00B SSASSDŠGҠHAN00B? MPMàYS-GϠPSSMDS DAD PA+3(3SàҠSS? MPHòYS AND.M(0 PA̠ɯϠ? MPPҠYS ASASSHԠAGHԠBS ASAS PA.+600(M-P? MPMҠYS DADŠGԠUMPABŠADDSS ADADàADDPDŠNMN MPAɠUMPϠPSS PSSMMYNŠNSUNS MMYDANS DBG SZBA̠PSN? MPHYYS AND..M+NϬAҠDSBƠ'NS' SANS DA.ɠSԠҠNDԠB DBBԱ5NDԠBԠMASK(00000B SBHP MPHñŠҠ HؠSBSUM.PNDVAU BSԠPAAMҽ0 H̠SBMSAVŠHŠSԠPAAM DBSUM.GԠHŠPANDVAU .DŠSNà SZAABS? MPHñN ADBױ0-000B SSBSSSHŠPANDSSHAN000B? SBPҠNϬ'SAN"M"M HñDASUM. DBD PB.+(6D? MPHñ DA SZAABSU? MPHñ5N DANSԠA ANDBԠUNԠBԠMASK(5 SANS HñDASUM.NϬGԠADDҠ ANDBMSK MPHñNSԠNϠNS. Hñ5PA...+3?( MPHñ DB...+(5 SBBYG DBBAGGԠHŠPUNHAG ADB?G̠ADGϠAG SZBSSPUNHUSD? MPHñNϬGϠϠSԠADDҠNϠNS ADA..M HñҠNS SANSԠSԠADҠAG SԠUPҠDD DA Hñ9SB?DD SPà UPUԠABNAYD SBSAVB BNB SBB UPUԠANŠҠSNG DBSAVBàHA. DAMGԠHŠSԠPAAM SBS SZPN MPH0 BSSPϽrSSҠ BSSPSBHPɠVA.PAND MPH0 Ԡ6003B0? MPH0YS BB0 SBB AA0 DBBNSNϠ.ND. SBS DASUMPPKUPBKNGHҠPN ADAPN SAPN MPH0 DàDƠ DƠHôG DƠHôҠ DƠ39M3 DƠ39NԠ DƠ39Ԡ5 DƠNSԬɠAH6 DƠNUMPASà DƠNUMPDà0 DƠNUMPԠ DƠBSSPBSS DƠUPU DƠNND DƠ39NAM5 DƠMMYMMY6 DƠ50HD DƠMMYDƠ0 DƠHò6ABSU DƠNSԬɠSKP DƠNSԬɠSPà3 DƠ5SԯUN̠ DƠNUMPDؠ5 DƠH÷0UAH6 DƠHø0USHԠ DƠH30Ϡà30 .ɠԠ3ASɠ'' BԠԠ53 MDà-33 .SBԠ60003 DƠ5P35 .àԠ03ASɠ''36 SUM.BSS3 DƠ56SUPUNS0 DƠBYŠDB̠ DƠBYŠDBҠ DƠBYGBYԠ3 DؠԠ5'D'PDŠYP SPà3 NB SBBàPUNHSԠƠASԠDB̠D DA+PKUPSGMNԠDŠҠASMB3 MP?SGMGϠϠADҠҠNԠSGMN ASà3 AHMàMAϠPSSҠ _ AԠSBSYMKGϠϠSYMB̠ABŠKUP SSҠN(UNDƩ MP+NMA̠'N DA.UN'UN'UNDNDSYMB SBP BSԠB0 ADB.SB'SB'NSUNMASK SBNS DA...+3(A SBBàPUNH DB+'' A PSSHŠ'D'NGHŠSԠD ƠANAHMàPAҠ AؠSBSԠGϠϠSԠSԠD DA.+(0B SADŠD A SANSԠAҠNS DAG SZAA̠PSN? MPAҠYS DA.ɠSԠUPҠNDԠB DBBԱ5MASK00000B SBHP NP AZSZPNBUMPANUN SBSUM.SAVŠPANDVAU DB.+3SԠPAAMҽ MPH AҠDA?SAPKUP DB?SBA̠PAAMS. MPAZMK A̠PSSNG HYSASSSBƠNSԠNDàA̠PSSB MPHZNϬ AND..M+AҠSBƠNS SANS SB?P MPHZ+Ҡ MPH HZSBPҠ'M' HñŠASԠPAAMҠ0 SAMSAVŠ MPHñ PSS'ABS'PDŠ Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. UPUԠBNDANDҠSԠNŠ H30SBU SBS ADDϠPG.N.N. SZPNBUMPANN MPH0 39ANAϠA MPH03 GBҠP-PSSҠ HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBUS. MPH0BAKϠSAԠS 50DA?GGԠHŠSԠAG SZASSSSԠAG? MPH0YS-GϠϠNԠSAMN SBNSԬɠϠHADҠSUBUN DAS SZASSSSԠAGN? SBKŠYSSPAŠϠBMƠPAG MPH0GԠNԠSAMN 5SBNSԬɠϠPSB MP39 5SBSԠSԠSԯUN̠AG MP39 56SB?SUPSԠ'SUPUNS'AG MP39 SPà PASS'U'PSSҠ UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBS DASUMPPAŠPNVAU SAPN MPH0 H÷0DAGGԠA̠AG SZAAŠASPSN? SB?A̠YSGϠϠA̠PSS SBUԠUPUԠHŠAHNSUN MPAؠGϠPSSHŠ'D'PN.. Hø0SBHPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYS'SAN'M'Ҭ. DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN HøASԠUNԠҠ6BԠSHԠA MPHø ԯDïASàPSSҠ NUMPDASN+ SAPNҠSԠPN DA..M SA+SԠPAS- DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB SԠHAAҠҠMNAҠ H0DAPN SBG ;SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS UPDAŠHA.N(NéANDPSN.PN(é DBD PB.9? MPHű0+YS PBDؠ'D'? MPHűYS DB...+(NԠA PA+6PD? SBàYSSԠà PA.Š''? Hű0SBàYSSԠàҠUSŠASASNMD SZN SZPNҠBUMPPN MPH0 HűDB.+SԠB3ҠDؠMD MPHű0 SԠUPVAUŠҠSԠANDҠPUNH HűDAD B PA.9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SB?ASNGϠϠ'AS'NVSN ASԠA0 SANS SBSUMPSŠVAU DAVAUSAVŠASԠSGPAԠƠ'D' SASGN HűSBNU DA ASSASà0Ҡ? MPHŲ0NϬS3Ҡ DAMN- PABNK MPH0ԠNBANK SZPNҠBUMPPN SB?BPKUSANVҠBANKS MPH06 HŲ0DASUMP SANSԠVAUŠϠNS DB PB.+Sý3? MPHŲYS-SԠSUMPҠ3DD A HŲSAàSԠàҠNԠS MPHű HŲDASGN SASUMPVAUϠSUMP DA.+ҠSNGý MPHŲ ԠDàASàDUPUԠ NUԠNP ASԠA0ҠSԠNŠUPU SZ+SKPҠSԠNŠƠUPU. DA...+3(SԠAҠS DBBNS SBS A BNB SBBàPUNH SZPNBUMPNN. MPNUԬɠ PSSASàHŷ3 ASҠDA...+(ND.'AS' SBHPGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ SZBSSASKNGҠZϠDS? MPHPD-YS- ADB.M9(-9(VAUŠSNSUMPϩ SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN PKUPDSANDSŠNϠPGAM SBSZ DA SBG AƬA SAS SZ DA SBG SANS UPUԠASɠHAAS SBNU A SAS SZN MPSB MPH0DNŬGϠGԠNԠSAMN PSSɯϠGUPHŠ AMԠ05000 Ԡ00 Ԡ300 PҠDASN+SPAND SZAPSN? MPPYS! DADŠNϠPAND PA+'H'? MPHPD PANDҠԠHŠ SBPҠ(HPD- HPDA SAMSAVŠHŠSԠPAAM MPHñ9 PDA.àSԠҠ'AҠAG'(é. DB.000GԠ''MASKҠϠNS. SBHP MPѠҠ PA.+? MPSYS SZAA0? MPҠN- DAYS DBNSԠADBHNS.MA ADAP-DϠMASKҠA̠NSS. PBAMSNSҠAAMNSUN SSYSSKPSNDMASK ADAP-NϠPMSNDMASK DBSUMPSŠB SԠҠVAUž63 SSA MP+VA̾6 DA.V'V'ADDSSV SBP ѠB ADBNSԠ(H5+ SBNS MPHPD ҠSBPҠ'M'Ҡ-.ɯϠADD. MP SDANS PAAMSԠA'AM'NSUN? MPҠYS- SASUMPSUMPNS B̬B ADB.+3 SBNSԠSԠUPBN.MAԠD DA.+5 SBB DASUMP SANSԠSԠϠGNA̠NSUN DB+GԠ"ؠ" A SBS SZPN MPH0 PSSSàҠSS HòDASN+PNҠϠPAND DB0AϠB SB?MSYM ADA..M SZA MPHPD DAASԠS'' PA.àS''PSN? MP+YS MPHPDN ''ϠBԠ9(àBԩƠɯϠNSԠ DANS Ҡ.000MASKNUNԠB SANS MPHPD M-PPSSҠ NàBSS NSVUSUM. MDԠ0006000060000 MҠA NAZŠAGS SANà0HNŠAPPAS SAMBS-ƠBG BS-ƠAG SAMP+BS-3ƠSGƠASG SANSVUSDϠAUMUAŠHŠD SAAG SASԠAҠHAҠS SAԠHŠҠAHNנDŠ ƠDANSԠUNPAKHŠM-PD HŠMAԠS:BS-3ƠSGƠASG0ƠH. BS-ƠBGƠAG0ƠNH. BS-0AUA̠BԠD ANDMDAԠPD SAAѠSAVŠԠ(+ DADŠHSSHŠGUPNUMB. Ԡ300MAKŠSU''SBGGҠHANHŠAS ADAAGA(ASԠGP-(PSNԠGP SSA MPϠSUNŠSK ƠPSGPSGϠŠANHANGŠԠANDMAYBŠK DAD PAMD+3SDŠYPŠ60B(M-P? MP+HANGŠҠGUPANDPD MҠDA.P'P'ҠPDŠ SBPҠUN MPHPD DAMD+BHANGŠGUP(M- SADŠϠ MVŠBS-5ƠPDŠϠBSAND-0 DAA ANDMD+SԠABB SASAVŠNB. ҠA ԠMVŠϠBSϠAND5-3 AҬSAMVŠBԠ0 NABԠ. Ԡ3AƬAҠAŠԠ3ϠBS-0 ҠPUԠNHŠABB MP+ ϠDAD SAAGSԠASԠGPϠPSNԠGP HKGSҠNSSNY DANS ANDMD+5GԠBS- ҠM PAMD+5ƠUA̬H'SAGS MPMҠNNSSNY. SAMNנGSϠGS HSŠHKGUPNSSNY DANS ANDMD+BS-3 ҠMP+ PAMD+ƠUA̬HŠAŠDS MPMҠMDNԠGUPS. SAMP+ HKҠŠ DAA Ԡ003SZASS SZN Nנ''HŠDŠNϠUNԠDŠSϠAҠ ҠNSV SANSV GԠHŠNԠHAAҠ DASN+PDŠPN ADA...+(3 SAPNҠPNSAԠPSNNԠPD SB?PKUP PABNKƠSϠŠAŠDN. MP+ PA+MMA? MP+ MPM GԠHŠNԠPDŠ SB?PKPDŠKUP MPHPD MP ϠNSHSԠŻƠUSDANDNASGSԬADD0 ϠHŠD. DAMP+(M- ԠAƬA Ԡ003SZASS ҠBNK(0B DBN Ԡ6003SZBSS A ҠNSV SANS MPHPD  SAHSYMB̠B̠ҠA̠ KԠNP DA?SAGԠ'NƠASɠBU SASYMP+ SAGSԠG0 SBSYMKSYMB̠ABŠKUPUN BҠUN ADBPNADDҠƠA ANAA SBSUMP SA MPKԬɠKԠԠ .U53BB.P.NSANSPN .3BԠ3 SDŠNPSAVŠD-00BҠMàPSS ̠Ԡ55DDVNAG MASKUB3B UMASKU5B00B BU GNAŠASNGƠBYS. A̠NUMBSNY -3NUMBҠ<+3 BYGDASN+SAԠNAZAN SAPNҠSԠPNҠϠSԠBY DA..M SA+SԠSԠNŠSԠUPUԠAG DA SASDŠSԠGHԯԠANA BY0DBPN SBSGNSAVŠSAԠƠBY B SBNàNAZŠHAAҠUN BY03DAPNҠGԠAHAA SBG SAMSAVŠ PA+MMA?(NDƠBYũ MPBY05YSGϠPSSABY PABNKBANK?(NDƠBYŠANDSNG MPBY05YSGϠPSSABY SZNàBUMPHA.UN SZPNҠBUMPHA.PN MPBY03GϠGԠNԠHA. BY05DBNàBHAAҠUNY DASGNAPNҠϠBY SB?ASNNVԠBYŠϠA̠NUMB AҠUN-SԠA0. SABSAVŠVAUŠNB ANDUMASK SZAGҠHAN3B? PAUMASKMAYBŠ-SԠҠGDNG.VAU MP+3NUMBҠSK SBPҠ B DAB ANDMASK 1dDBSD BҬSBԠBYŠBNGPSSD? MPBYԱ0YS SBSDŠSAVŠԯԠAG ADANSԠNϠ-SԠUPϠGNAŠAD SANS BY06SBNUԠUPUԠADϠSԯPUNH DAMGԠASԠHA.SD PABNKBANK?(NDƠSAMNԩ MPH0YS- MPBYԱNϠ-GϠSAԠNԠBY BYԱ0AƬAƠPSSԠBY SANSԠPAŠNUPPҠ'NS' SBSDŠSAVŠԯԠAG DBM PBBNKASԠMNSNG? MPBY06YS-GϠUPUԠ BYԱSZPNҠNϠ-SAԠNԠBY SB?BPKU MPBY0 PSSBASŠSԠNSNANDMMYPANSNDS MàSASDŠSAVŠD-00B MANA SAPNUMSAԠNPAAMҠUN ADA.+ SSASSDŠGҠHAN0B? MPPؠNϠ-PNUMK DB.-B- PA.-6DŠ5B?(BSNSUN ADB.-B- SBPNUM PؠSBUԠUPUԠMDŠϠBNAY SBSԠSԠMϠSUŠSAMN DAPNSAVŠNNҠAԠNSUN SASAҠPSUDϠNN SASAؠGNA̠AN SZSAҠBUMPPSUDϠUN SZPNBUMPPGAMANUN PñDA.+ SADŠSԠDŠ0B(DƩ DASAؠSԠPNϠNSUàN SAPN A SANSԠAҠNSUN DASDŠAGNA̠D(-00B DBG SZBA? MPP÷YS PA.3BNϠ-SDŠ3?(NϠNDԩ MPPòYS DBBԱ5N DA. SBHPVAUAŠPAND ^BMPP+ MP+3 PòSBHPɠVAUAŠPANDHN'' MPP+ SZAABSUŠVAU? MP+N ADBױ0YS(VA-000B SSBSSGҠHANB? MPPҠYS PA.+NA̠SYMB? SSYS MPPôN DBSD PB.3BDŠ3B?(PY MPPҠYS- PôDAPN SASN+SԠPN DASUMP ҠNSԠ''NSԠϠSUMPANDSAV SANSԠSԠVAUŠNϠNSUN SSAASADDҠND? SZSN+YSMBUMPPANDAN DA SBDD SBSAVBSAVŠASɠ.HAS. DBSAҠSԠPNϠAUA̠N SBPN BNBSԠB SBBàGϠPUNHHŠD DBSAVBBASɠàHAS. DA.+A SBS SZPNBUMPPG.ANUN SZSAҠBUMPPSUDϠN A SANSԠAҠNSԠҠNA̠NP(ƠANY SAGAҠA̠AG. DBSD PB.DŠB(NPN3DD? MPPAYSMԠA'NP' SZPNUMNϠ-ASԠPAAM? MPPñNϠ-GϠPSSNԠN MPH0YS-DN P÷PA.+0B0BD? MPPøYS PA.BD? MPPøYS PA.+3BD? MPPøYS PҠSBPҠNϠ- A SASUMP NA SA DBG SZBSSA? MPPôN MP+3YS PøSBPS MPP+ SBMSYM DASAVB SAPN MPPô PASBU DA.+SԠҠSDSNG MPH30+ SAҠNP<`^ZPSUDϠNUN SAؠNPNƠNSUN PSSDNNƠBYŠADDSS DSAŠ'DB'AND'DB' BYŠDA.0B SADŠSԠDŠ'D' SBHPɠGϠVAUAŠPAND MPBY+Ҡ BSBԠ ADBNS SBSUMPSUMPBYŠADDSS SANS SZAABSU? MPBYؠN ADBM00BYS SSBSSSSHAN00B? MPBYҠNϬ BYؠPA.+? MPBYҠYS BYUԠADA.- AND.+3SԠ'M'HAASҠAD SANS DA.+6 SABYGSԠAGҠBàPSSNG DA SB?DDGϠSԠUPSԠHAAS SBSAVBSAVŠANASɠHAS. BNBSԠҠNSNGAD SBBàGϠϠBNAYUPUԠUN DBSAVB DASUMP SANSԠSԠUPADDSSҠSNG A MPH30+NNUŠϠASԠPA BYҠSBP A SA MPBYU M00BԠ-00 PNUMNP .0BԠ0 SPà3 HANGŠAN''NMAN(ASMBƠA00B SPà3 ?AԠUA ?BàUB ?KɠUK ?SKPҠUSKP ?SPҠUSP DDU?DD MSYM̠U?SYM PSU?P NDASMB `  24307-18050 1419 S 0122 09DOS III 21MX ASSEMBLER             H0101 f ASMBBì̬ҠASMB3ҠDS- HDDS-ɠASMB3-BUAY9 NAMASMB3599 NԠASMB3 Ԡ?ج?MVŬ?UԬ?SԬ?HPɬ?PҬ?BG Ԡ?PNH?SA?ASɬ?ASɬ?PNŬ?NDS?ASMB Ԡ?PN?PM?NSì?G Ԡ? MPAYANDAGGN MPBSS3B UMPSAMŠASDAAGN ...UMP+ .U... .U.+ ..MU+B BNSU+55B SUMPU+00B NBU+06B NSԠU+3BPDŠMA PNU+BPGAMANUN PNU+0BԠNGHPASSԠGPASS NԠU+B SAVBU+3B SNU+5BSAŠNGPDůPANDAB( SVSԠU+3B PBUƠU+5B60DPUNHBU NԠUPBUƠD(BKNԠҠBN.D. BAGU?BG HŠBSS3BBנSSBàBYHŠNGHƠHŠ SKPANDSPàUNSNASMB BSS3BHSSHŠSPA̠SԠ BNAYUPUԠUNŠ .M5Dà-5 Ԡ6000ý5UNԠPAG BàNP SASAVB+SAVŠ'NBY DABAGGԠPUNHUSԠAG ADA?G̠ADGϠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. UPUԠAD H60DAN AƬAƠAŠ SANԠSŠNԠNUPPҠPBU DASVSԬɠPSNMANANBYS AƬA SZN MP- A SASVSԬɠSŠ.BYS SԠ.DDŠ(DoG DBB-GԠïPAGŠNDA ADBPBU+SԠMAND SBPBU+ SB?PNHGϠϠ'PUNH' MPBìɠAND PSSABNAYUPUԠD DƠPBU+ H66DAN SZASԠDƠD? MPHɷ0-N- DBPNPNϠBG SBPBU+3SԠDB̠ADD. SAPBU+SԠPBU+0 DB...+3( SBNԠSԠNԠ DBH66- SBSҠSԠSҽ(PBU+ DB..M+(-5 SBNԠSԠNԽ-5 DB.M5-5 SBNBSԠNBҠDUN Hɷ0DBN PB..M+NԽ-5? MPHɷ-YS-SԠUPADDSSS SŠ.BYŠUPDA HɷSZPBU+UPDAŠƠDAADS DASVSԬ AƬA ҠSAVB+àBY SASVSԬ SZNԠBYŠDU? MPHɷ6-N- DB..M+-YS-(-5 SBNԠSԠNԠϠ-5 A SASVSԬ DANB PA..M SS SZNB Hɷ6DBNS SBSҬ SZS SZN DASAVB+àBY PA...+(5DNS? SS MPHɷϠԠS SZNԠBUM.DUN DASUMP SASҬ SZS ANDBMSKAҠUPPҠ6BSƠ'SUMP' BSBSAҠҠBSƠNS BSBS Ҡ''BϠA SANS SZNBBUMPNB MPHɷ MPH60 HɷSZNBSHSHŠASԠD? MPBìɠN- MPH60YS-GϠϠPUNH HɷDBS SBSVS A SASVSԬɠAҠàBYŠD SZS SZN MPHɷ SҠBSS BMSKԠ NDƠBà PASSNDPSSҠ Ԡ0000Ҡà5 ASMB3A SAPBU SAPBU+ SAPBU+ SAPBU+3 DAPNƠPN0HŠAŠNϠAS SZASSASPSNԠ? MPH56 SAPNSԠPNAAҠPGAM DA? N0SANVADDҠƠSYMB̠AB DANVɠSԠDƠNY SZASSNDƠAB? MPN99YS A SA AND...+6GԠNYNGH SAN DA A AND.+3GԠNYYP PA...+6A? MPN̲0YS Ṉ0DANVUPDAŠϠNԠNYADDSS ADAN MPN0GϠϠPSSNԠNY PSSAA̠ҠUPUԠ N̲0DANV MANASԠUPADDҠƠ̠NSAN DB?SAGԠ'NƠASɠBU SA+3 DA...+3ϠA SB?MVŠԠNSԠϠASɯAS+ NP DA?AS SANSԠSAVŠNDD DA?ASɠPSSSԠD SANS SBUԠPUNH DA...+3 SBS DAN PA...+SԠDNSAN? MPN30N DANSԠYS SANSԠPSSNDD SZPNBUMPNUN SBUԠPUNH DA...+3 SBS N30SZPNBUMPNN MPṈ0 ԠH N99B SBB PUNH'ND'D H56DA.000ҠNԠ SANԠSԠDUN DASN+PNSϠPAND(ƠANY SAPBU+3ADƠNϠUNADDSS SZA.ADD.PSN? PSS.ADD. SB?HPɠGϠVAUAŠPAND MPH5ҬҠNϠUNADDSS PA.AAB? MPH55YS SB?PҠҠ-NԠAAB H5A B H55SBPBU+3SŠHŠUNADDSS. ADAASMB3-SԠà5 SAPBU+ DA?B'=GGԠPUNHAG ADA?G̠ADGϠAG SZASSPUNHNGUSD? MPH5NϠ-NDƠPGAM SB?PNH DA?G SZA SB?ƠSŠUԠADGϠAA DA?BGPUNHAG SZASSASAAPŠBNGPUNHD? MPH5NϬSKPAҠUPU SPà3 UPUԠAҠ SBàGϠϠ DƠ+3 DƠ.+ DƠ?PNŠADүAҠ H5ANASԠAҠSԠPAAM DBBNSBANKSҠìND. SBS SB?NDSPNԠҠUNԠ DB?PN PB?PMYUPUԠ? MPASMBؠYSGϠϠNDƠASSMB ANϬSԠҠPƠM SB?NSGϠϠNŠSKPUN MPASMBؠԠMASSMB NSԠNPMP NàNPMPAY NVNPNB̠UN .000Ԡ000 ASMBؠU?ASMB SԠU?S UԠU?U NDASMB3 !  24307-18051 1419 S 0122 10DOS III 21MX ASSEMBLER             H0101 ] ASMBBì̬ҠDS-ɠASSMBŠ-ASMB HDDS-ɠASMB-BUAY9 BUAY9-VSN NAMASMB599 NԠASMB?NS? Ԡ?BPKU?SA?PKUP?SYMK?HP?NDS?PN Ԡ?D̬?MSYS?ASMB?SGMì?PҬ? Ԡ?MVŬ?BG?G?G?HP Ԡ?V?ASM?MSج?BNN?PN Ԡ?SҬ?Ƭ?DSì?UN?UN Ԡ?NDP?MBU?MBS?NUɬ?ABҬ? Ԡ?NDSY?PҬ?PK SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VA0UMP+'ASN'AND'SYMK' DNԠUMP+ ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .9U+B .M9U+5B BNKU+6B0B(ҠBANK .̠U+B .MBNU+50B .NϠU+5B BNSU+55B .ŠU+6B NAMɠU+B'NҠMPSYMB̠SAG NAMŠU+BҠUSŠBY'PK' SUMPU+00BUNNNGSUMҠ'HP' NBU+06B DŠU+0BPDŠYP(MPABũ NSԠU+3BPDŠMA PNU+BPGAMANUN PNҠU+B̠PNSAԠASԠҠUNԠHA. SNU+5BSAŠNGPDůPANDAB( SYMɠU+3BADDҠNҠҠSYMB̠B̠(SYMK SYMPU+33BSYMB̠NGAND'N NVU+B ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU (NPU(BUƩSASNHD BUƠUB+B PBUƠBSSSAVSHŠ'NAN'DN BAGU?BG BPKUPU?BPKU HPɠU?HP PҠU?P AGU?G MVŠU?MV MSYMSU?MSYS PKUPU?PKUP SAU?SA ؠU? SPà ASMBSBSA DAD PA.+3'HD'SA? MPHYS SA?ASMAҠ'S'AND)'N'AGS DB.000 SBPNNAZŠPGAMUN PA.SPDŠANG? MPHɱ DA.NϠ'N'NϠGSAMN SBP MPHA3+ HSBNSԬɠGϠϠHDSB MPASMB HɱSB?HPPSSANGNVAU MPHA3+ҠUN SBPNSԠNA̠UNҠVAU MPHA3GϠϠSAԠPASS BSSPBU-+60MAKŠMҠSԠƠPUNHBU HA3SBSA DAD PA. MPHB00ϠND PABNK(0BSUPUNS? MPHA3 PA.00BM?(USҠMDŠGNAҩ MPMàYS-GϠPSS ADA..M+-3 SSA MPHA6ҠҠGUND PA.BNAM? MPHA63YS ADA..M+(-3 SSA'M''N'Ҡ''? MPHA63YS- PA...+'U'? MPHA56ϠU PA.9(BHD? MPHA3 PA.(BSKP? MPHA3 PA.+(5BSP? MPHA3 PA.+(6BSԯUN? MPHA3 SԠҠAB̠D DASN+3GԠAB̠NGH SZASSAB̠PSNԠ? MPHABNϬDN SASYMPSԠHAҠUN DBUB SBSYMP+SԠAB̠ADD. ASԠA0ҠABSUŠVAU DBPN SBNSҠNSԠAB̠NϠSYMB̠AB NPҠ HABDADŠPDŠNDA PAD MPHA0'SA'D' PABYԠBY? MPHA0YS PA.9P? MPHA6YS PA...+6( MPHA5ϠAS PA.6BNGҠAH(HADAũ? MPHA0YS.... PA...+5(6AHMA? MPHA63YS ADA.M0-0 SSAԠҠD? MP,.HA0YS. Ԡ003BSS? MPHA3MϠBSSP. DAD ADAM00B SSASSDŠSSHAN00B? MPMàNϠ-SAMϠMA! HA3BANAϠADDϠPN NMNԠPGAMN.N. HA3ZADAPN(HA3B+ SAPN MPHA3 .6BԠ6ҠHADAŠAHM SPà PSSBSS HA3MSBHPɠVA.PAND MPHA3 DABϠA MPHA3B+ .BU65BB(0 .M0UB-0 .00BU6B00B(6 .U53BGNƠ+0AND-0NSANS DؠԠ5PYPŠҠ'D' BYԠԠ3PDŠYPŠҠBYŠGNA M00BUB-00B(-6 SKP NS:ADDNYϠHŠSYMB̠ABŬנHAU NKAG:BVAUŠNNPUԠ (UPUԩSYMPN.ƠHAS.SYMNNYA ̠SBNSҬɠ +ҠN('S'Ҡ'DD'PND +NMA̠N .DDASàDDS NSҠNP SBNAM+3SAVŠVAU SB?SYMKSYMB̠ABŠKUP MPNS DA.DDNϬ'DD'Ҡ(MUPŠSYMB̩ NSؠSBP MPNSҬɠGԠUԠH NSDBNAM ADBMP+ SBVA0SԠM DA?NDPGԠAAVAABŠMMY MANA ADASYMɠSԠҠSYMB̠B ADAMP+V SSA MP+3N DA.DD+'S'SYMB̠ABŠV MPNSؠ'S' DANAM+3MVŠVAU SAɠUP DANAM DB0ɠADDNY(M+6 SBSYMɬɠϠSYMB PAVA0 MPNSؠ NA SZSYM MP-6 NSؠDBSYM _SB?NDSYSԠNנNDƠSYMB̠AB SZNSҠBUMPҠNMA̠. MPNSҬɠԠH HA63DA.̠NAMSGA̠AҠSA MPHA55+ϠP SKP PSSԠANDDà HA0BNBB PADؠHKDŠҠ'D' ADB.+B3ƠDŠS'D' SBDNԠSԠNUNԠBUMP A SANB SAMP DASN+ SAPNҠSԠPN PKUPANDAMNŠAHAAҠ HASBPKUP(HA0+ASHA DBDNԠGԠUNԠBUMP PA+MMA? MPHAYSGϠSANҠNԠPAAM. PB.+SԽ3(..Dة? MPHAYS PA+6PD? MPHA PA.Š''? MPHA HAPABNKNDƠSAMN? MPHA9YS MPHA SԠԠPԠAGSKPBANKSҠNԠHAҠ HAA SAMP SBBPKUP DBDNԠGԠ'BUMP'UN MPHA+ ԠPԠSԠҠNUMBҠUSNGBH.ANDŠ HADAMP SZMP SZAŠҠ'.'UNDY? BYSSԠB0. ADBNB(HA+ SBNBADDϠDUN MPHA NDƠNUMàPSUD-PPSSҠ HA9DADN ADANBSԠANϠƠNSϠBŠUSD DBD PBBYԠBY? AYS-DVDŠBY SZDDBYŠԠV? NAYS-ADDϠDUN MPHA3B+ SKP PSSASà(GԠVAUŠƠN HA5DA...+('AS'ND.ҠHP SB?HP MPHA3B SZA MPHA55-NԠABS.VA. SZBSSZϠDUN? MPHA55YS- ADB.M9-9 DASUMP SSBSKPƠDS MPHA3B+ HA55SZPNҠԠ DA.MBN'M'(BADPAND SBPҠϠPNԠҠDAG. MPHA3 PSSUPSUDϠ HA56SBHPɠVAUAŠPAND MPHA3Ҫ PA...+3(Ԡ? DA...+(5SԠҠNN-PNH SAMPN SBMP+ Ԡ60BNB SBMSYMSGϠϠMAS.SYMB̬SԠSYMPSYMN DAMP DBMP+ SNDAB̠ϠABŠ SBNSҠϠSYMB̠ABŠNSNN NP MPHA3 GҠHDP.UMPS HA6SBNSԬɠGϠϠSUBUN MPHA3 HA0DA.+A MPHA3Z SKP PASSNDPSSҠ DƠBU HB00DA?GGԠABŠUPUԠAG SZASS MPHB0ABŠNԠUSD-NSHPASS DAHB00- ADA.+3 SAHB00-SԠHB00-(BU+ DAؠGԠAƠAVAABŠMMY SANVϠNV HBؠDANVɠSԠSԠDƠNY SZASSMPD? MPHB0YS-GϠϠNSHPASS DBNVGԠB̠NYAN MBNB SNDADD.ϠMVŠNKAG SBHMV5 MVŠBANKSϠBU DBBNS SBBU SBBU+ SBBU+ SBBU+3 DBUBADD.ƠBUƠϠB SPà MVŠHASMSYMB̠ABŠ A AND...+6(ҠN.ƠDS. SASUMP PA...+( A Ҡ... SBMV HMV5NP GԠVAUŠƠSYMB̠ DBSUMP(N.ƠDSNNY ADB..M ADBNV SBNV DA SZNV ŠSԠŠ0ҠA̠NV. SB?BNN SŠASɠVAUŠNϠBU DBHB00-GԠ(BU+ SB?V DBUBSԠPNԠPAAMS DA.+( SB?PNԠGϠϠPN MPHBؠNYDN. .PASSASàPASS SKP SPND HB0SB?NDSGϠϠNDPASSPSS DB?D̠GԠHŠDSàAG SZBDSKBNGUSD? MPHB0ҠN. DA?UNɠGԠNPUԠUN PA.+SԠHŠDS? SSYSSKPHŠNG PA.+SԠHŠDS(UN3 SSYS SB?ƠŠSԠƠASԠS DA?MBU SZASSMU-ŠNPU? MPHB0àNϠ- SB?MBSYS-SԠPNS. SB?NUɠVŠSԠSUŠŠSU MP?ABҠ-ƠUN-ABԠHŠASSMBY SB?̠SԠUPANDADSԠSUŠS. MP+3 HB0àDA?SҠGԠNA̠DŠDƠ. SB?DSàGϠNAZŠҠNנSA DA?UN SA?UNɠSԠNPUԠUNDS MPHB09YSSKP'NDPASS'MSSAG HB0ҠDA.PASSPUԠUԠ"NDASMBPASS"MSS DB.PASS+ SB?MS SBàGϠϠPAҠSUSPNDUN DƠ+ DƠ.+6PAҠSUSPND.D SPà SAԠPASSHŠ SԠҠPUNHUPU SPà HB09DABAG SZASSPUNHUSD? MP+5N SBàYSUPUԠHŠAD DƠ+3 DƠ.+ADҠѠD DƠ?PNŠADүAҠ DAAGGԠHŠSԠAG ADABAGGԠPUNHAG SZASԠҠPUNH? MPHBSAԠPASS MP?ASMBASSMBҠ HBDA+PKUPNԠDŠϠGԠASMB5 MP?SGMGϠϠADҠҠNԠSGMN ASà5 .000Ԡ000 UBDƠBU SKP PSSNDDNSUNSԠANDUSҠMDS MàSABD-00BNנNB DA.+SԠA PB.YPŠB? NAYSA3 PB.+YPŠ5B? NAYSA3 ADB.-0B SSBSSUSҠD?(0BHU0B MPHA3B+NϬUSŠVAUŠNAҠPNBUMP ADB.+ ADABAMAϠNSUNUN. MPHA3B+ SPà5 PSSA'M'PSUDϠPAN(..USҠMDũ MA:MàMMMìN HŠ MMMUSҠDSGNADMNMNà(A̠APHABé àUSҠDSGNADUNNDŠ(0ϠB NNUMBҠƠPAAMSNUSҠPAND MàDASN+ SAPNҠMVŠPNҠϠPAND SB?PKHKҠDUPAŠMNMN MPM0GD-MNMNàNԠUND MPSBPҠҠNPAND('M'M SADŠ-SԠDŠNԠ00B MPHA3GϠGԠNԠNSUN M0DAMP+5SAVŠUSҠMNMNàHŠ SASDŠSAVŠSԠHAS. DAMP+6 SAMMPSAVŠASԠHAA SԠ3HAASҠAPHANYMNMNà DA.-3 SAMP M0SBPKUPPKUPAHAA MANA ADA.00B SSASSSSHANҠA? MPMPYS-NN-APHA ADA.3B SSAGAҠHANҠZ? MPMPYS-NN-APHA SZMPASԠHAAҠSD? MPM0NϠ-GϠGԠNԠN DA.B SADŠSԠDŠ'ABS'Ϡ̠HPN. DA.+SԠҠMMASPNHP SBVMàPKUPMϠDŠANDSԠPA SANSԠSAVŠUSҠUNND ASԠҠNϠMMASPNHP SBVMàGԠVAUŠƠN SSBSVAUŠƠNPSV MPMPNϠ- ADB.- SSBSSSNGAҠHAN? MPMPYS- ADA.00B PA.00B̠DŠBŠ00B? DA.30BYS-NϠPAAMS.HUS'S30B SADŠSAVŠDŠҠPABŠNY NҠNנPDŠNϠSUPPMNAYPDŠABŠ DA?NDPGԠGƠSUPP.PDŠAB ADA.-3SԠNנGN SAB MBNBSAԠSԠҠV ADB?NDSY SSBPABŠV? MPMñ0N DA.SϠYS-PNԠ'S' SBP MPHA3GϠҠNԠSAMN Mñ0SA?NDPSԠNנPABŠGN DBSD SBAɠSŠSԠHAS. NA DBMMPGԠ3DHA. ADBDŠNSԠD SBAɠSŠԠNϠHŠAB NA DBNS SBAɠSŠHŠMDŠ(UNN MPHA3GϠҠNԠSAMN SKP VMàHKSҠMMASNUMSANDYPŠƠUPUԠב640 MPANDPSSҠ(MDŠANDƠPAAMS VMàNP SAMSAVŠHPNPUԠPAAM SBPKUPPKUPAHA. PA+SԠAMMA? SSYS MPMPNϠ- SBBPKUPSKPVҠNGBANKS SBSN+SԠPANDPNҠϠNԠPAAM. DAM SB?HPVAUAŠHŠPAAM MPHA3Ҡ-GϠϠNԠSUŠSA. SZAABSUŠVAU? MPMPҠ-N DASUMPVAUŠNBHAANDBN MPVMìɠUN MNPSAVŠAҠHPNY .BԠ .30BԠ30 .3BԠ3 SDŠNPSAVŠSԠNMMNàHAS. MMPNPSAVŠ3DHA. AU0 BU .SϠASàS PҠU?P ?NS?UNS NDASMB &6   24307-18052 1419 S 0122 11DOS III 21MX ASSEMBLER             H0101 ^ ASMBBì̬ҠDS-ɠASSMBҠ-ASMB5 HDDS-ɠASMB5-BUAY9- BUAY9VSN NAMASMB5599 NԠASMB5 Ԡ?SUP?BPKU?PKUP?BG?G?SA?P Ԡ?PK?Gì?Nì?SԬ?UԬ?K Ԡ?HP?HPɬ?PҬ?ASN?MSYM?ASM?NS Ԡ?SԬ?PҬ?P̬?SM Ԡ?UNP?PNŬ?NDS?PN?PM?ASMB SUP MPBSS5BSVŠMPAYAA UMPSAMŠASDAAGN VAUUMP+5 ...UMP+ .U... .U.+ ..MU.+6 ̠U..M+6 .9U+B .MU+3B .M9U+5B BNKU+6B0B(ҠBANK .NϠU+5B .PU+5B .VU+53B .̠U+B BNSU+55B ױ0U+56BADDSSMASK .000U+5B BԱ5U+60B .ŠU+6B àU+6BANAG SGNU+B SUMPU+00BUNNNGSUMҠ'HP' MU+0BN.ƠMSNANPAND ԠU+0B NBU+06B DŠU+0BPDŠYP(MPABũ DSGU+0B'ASN' AGU+B AѠU+B NSԠU+3BPDŠMA ASԠU+B PASSU+5BPASSAG(0PASSANDPASS PNU+BPGAMANUN PNҠU+B̠PNSAԠASԠҠUNԠHA. SNU+5BSAŠNGPDůPANDAB( SԠU+35BSԠHAA ɯϠSAMNԠBUҠ BƠU+B50DS+NDƠSAMNԠBU PBUƠԠ0000 NԠUPBUƠD(BKNԠҠBN.D. ASMU?ASM BAGU?BG HPU?HP HPɠU?HP PҠU?P GàU?G NàU?N SԠU?S UԠU?U SԠU?S KŠU?K PҠU?P SAU?SA AU0 SAԠPASSƠABSUŠASSMBY ASMB5DA?PҠNGHƠAҠAA DB?P̠GԠGNƠ'A'AA SB?SMGϠϠSԠMMYUN Ԡ0ϠSԠMMYϠZ DA.000 SAPNNAZŠPG'NUN ANA SAPASSSԠPASSAG SBSAADN̠SAMN DAױ0 SAASMSԠAGҠ'N'PN ASHSBSAADASUŠSAMN(NAM? DAD PA.+3HD? MPASHYSGϠPKUPHŠNԠSAM SAASMAҠ'S'AND'N'AG PA. MPHɱ DA.NϠ'N'NϠGҠNAMSAMN SBP MPH05ҠԠMN HɱSB?HPVAUAŠG MPH0ҠUN SBPN MPH0 .000Ԡ000 BSSPBU-+60SVŠMANNGPUNHBU DϠNԠMVŠSKPҬSPҠҠBàASHYAŠ SԠADNGϠHŠNYPNSNASMB SKPANDSPAŠSԠUPUԠ SKPҠDBNà'SKP'NY MBNB MPSK SPҠSBHPɠVAUAŠSPAŠUN BNBҠ-SԠUNԽ SKSZBSSSPAS0? MPH0ԠϠH0(SAԠƠPASS DA?GNϬSAԠNŠSKPPNG SZASSSԠUSD? MPH0ԠϠH0(SAԠƠPASS DASԠSԠAG SZASUPPSSSNG? MPH0ԠϠH0(SAԠƠPASS SBDSGSԠUN DAN PA..MNASԠN? MPH0YS- ADBN SSBSS̠ԠGϠϠBMƠPAG? MP}+5YSGϠϠPƠM SBNàNϬSAVŠNנNŠUN DADSGGԠN.ƠNSϠBŠSKPPD SB?NSGϠϠNŠSKPP MPH0ԠϠGԠNԠSAMN SBKŠSKPϠPƠM MPH0ԠϠGԠNԠSAMN BNAYUPUԠUNŠ .M5Dà-5 DƠPBU+ BàNP DABAGGԠPUNHUSԠAG SZASSASPUNHUSD? MPBìɠN. DAN SZBDU? MPH66N. SZASSNԽ0? MPBìɠYS. H60DANԠUPUԠABNAYD AƬAƠAŠ SANԠSŠNԠNUPPҠPBU AƬA ADA.+ADD3ϠHŠDAAUN SANBSԠUNҠN+3 SBàPUNHUNԠD DƠ+5 DƠ.+ DƠ?UNPUNƠPUNHDV. DƠPBUƠPUNHBU DƠNBDUN A SANԠNAZŠNԠ0 MPBìɠAND H66SZASԠDƠBNAYD? MPHɷ0-N- DBPNPNϠBG SBPBU+59PUԠNHKSUMSAV SBPBU+SԠDADD. DAB- SASҠSԠSҽ(PBU+ DA.M5 SANBSԠUNԽ-5 Hɷ0DANS SASҬɠSԠUNԠBN.D SZSҠBUMPPN ADAPBU+59UPDAŠHKSUM SAPBU+59 SASҬɠSAVŠNA+ƠPUNHD SZN SZNBSDU? MPBìɠNϠ- MPH60YS-GϠPUNH SҠBSS SPà3 H0DA...+SԠPAAM H03SBS ADNԠSAMN H0SBSAADNԠSAMN SԠMNMNàDSҠPSSYPŠ H05DAD DBNS 'PA.00BDŠ'M'? MP39YS-GϠSԠ ADAM00BSUBAԠ00BPMD SSASSDŠGҠHAN00B? MPMàYS-GϠPSSMDS DAD PA+3(3SàҠSS? MPHòYS AND.M(0 PA̠ɯϠ? MPPҠYS ASASSHԠAGHԠBS ASAS PA.+60Ҡ0?(M-P? MPMҠYS DAD ADADàSԠUPADDSSƠPSS MPAɠUMPϠPDŠPSS SKP DàDƠ DƠHôG DƠHôҠ DƠH3M3 DƠH3NԠ DƠH3Ԡ5 DƠH3AH6 DƠNUMPASà DƠNUMPDà0 DƠNUMPԠ DƠBSSPBSS DƠUPU3 DƠNND DƠH3NAM5 DƠMMYMMY6 DƠ50HD DƠMMYDƠ0 DƠHò6ABS DƠSKPҠSKP. DƠSPҠSPà3 DƠ5SԯUN̠ DƠNUMPDؠ5 DƠH÷0MPYDV. DƠHø0NGSH DƠH30ϯSϠ .ɠԠASɠɠ3 BԠԠ53 .Ԡ33 MDà-3-ҠSH- DƠ5P35 NàNP36M-PP NSVNP3M-PP DƠ56SUPUNS0 DƠBYŠDB̠ DƠBYŠDBҠ DƠBYGBYԠ3 SUM.UNSVMMYƠP. DؠԠ5'D'PDŠYP SPà PSSMMYNŠNSUNS MMږYDANS AND..M+NϬAҠDSBƠ'NS' SANS DA.ɠSԠҠNDԠB DBBԱ5NDԠBԠMASK(00000B SBHP MPHñŠҠ HñSBSUM.PANDVAU BSԠPAAMҽ0 H̠SBMSAVŠHŠSԠPAAM DASUM. DBD PB.+(6D? MPHñ ADAױ0NϠ-SԠҠPAND03 SSASSS? MP+5YS. DANSԠNϠ-SԠϠA'UN'B. ANDBԠUNԠBԠMASK(5 SANSԠS MPHñ DAPNSԠNנҠP.ANDNS. ANDױ0NHŠSAMŠPAGŠƠMMY MANA ADASUM. ANDױ0 SZASSNSAMŠPAG? MP+3YS DA.VNϠ-'SANV SBP DA. ANDSUM.SPUPPҠ6BSƠPAND SASUM. HñDASUM.NϬGԠADDҠ HñҠNS SANSԠSԠADҠAG UPUԠABNAYD Hñ9BNB SBB UPUԠANŠҠSNG DBBNSGԠBANKSҠSԠUN DAMGԠHŠSԠPAAM SBS SZPN MPH0 BSSPSSҠ BSSPSBHPɠVA.PAND MPH0 Ԡ6003B0? MPH0YS BB0 SBB AA0 DBBNSNϠ.ND. SBS DASUMPPKUPBKNGHҠPN ADAPN SAPN MPH0 PSSHŠDƠNGHŠSԠD ƠANAHMàPAҠ H÷0SBUԠUPUԠHŠAH.PAN SBS^SԠHŠSԠD DA.+(0B SADŠD A SANSԠAҠNS DA.ɠSԠUPҠNDԠB DBBԱ5MASK00000B SBHP NP SZPNBUMPANUN SBSUM.SAVŠPANDVAU DB.+3SԠPAAMҽ MPH HñŠASԠPAAMҠ0 SAMSAVŠ MPHñ PSS'ABS'PDŠ Hò6SBHPɠGϠVAUAŠPAND MPHPD SBNS MPHPDK.. UPUԠBNDANDҠSԠNŠ H30SBU SBS ADDϠPG.N.N. SZPNBUMPANN MPH0 MNԬԠANDAHMA H3DA.̠GA̠NABSUŠASSMBY SBP 39ANAϠA MPH03 P-PSSҠҠGANDҠ HôBUPUԠA SBBàD SBNSԬɠUMPϠԠSUBU. MPH0BAKϠSAԠS 50DA?GGԠHŠSԠAG SZASSSSԠAG? MPH0YS-GϠϠNԠSAMN SBNSԬɠϠHADҠSUBUN SBKŠSPAŠϠBMƠPAG MPH0GԠNԠSAMN 5SBNSԬɠϠPSB MP39 5SBSԠSԠSԯUN̠AG MP39 56SB?SUPSԠ'SUPUNS'AG MP39 SPà PASS'U'PSSҠ UPSBHPɠVA.PAND BҠS DAPN SASUMPSAVŠPNVAU SBPNSԠPN0 DA...+(SԠ'U' SBS DASUMPPAŠPNVAU SAPN MPH0 Hø0SBHPɠGϠVAUAŠHŠUN MPHøBADUNԠ ADBMB- SSBBGҠHAN6? PBMN.SB0? SBPҠYSWN'SAN'M'Ҭ. DASUMPGԠHŠSHԠҠAŠUN.. AND.+3MASKUԠSԠBS HøADANSԠMAKŠUPHŠNA̠NSUN SANS MPH30GϠANDUPUԠHŠNSUN HøASԠUNԠҠ6BԠSHԠA MPHø ԯDïASàPSSҠ NUMPDASN+ SAPNҠSԠPN A SA+SԠPAS0 DAD PA...+6( MPAS H06DBPNҠPNSAԠSԠHƠNUMB SBSGN B SBN NB SB SԠHAAҠҠMNAҠ H0DAPN SBG SAM PA+MMA? MPHűYS PABNKBANK? MPHűYS UPDAŠHA.N(NéANDPSN.PN(é DBD PB.9? MPHű0+YS PBDؠ'D'? MPHűYS DB...+(NԠA PA+6PD? SBàYSSԠà PA.Š''? Hű0SBàYSSԠàҠUSŠASASNMD SZN SZPNҠBUMPPN MPH0 HűDB.+SԠB3ҠDؠMD MPHű0 SԠUPVAUŠҠSԠANDҠPUNH HűDAD B PA.9? MP+3YS DBàNԠ Ԡ5BB ADBN DASGN SB?ASNGϠϠ'AS'NVSN ASԠA0 SANS SBSUMPSŠVAU DAVAUSAVŠASԠSGPAԠƠ'D' SASGN HűSBNU DA ASSASà0Ҡ? MPHŲ0NϬS3Ҡ DAMN- PABNK MPH0ԠNBANK SZPNҠBUMPPN SB?BPKUSANVҠBANKS MPH06 HŲ0DASUMP SANgSԠVAUŠϠNS DB PB.+Sý3? MPHŲYS-SԠSUMPҠ3DD A HŲSAàSԠàҠNԠS MPHű HŲDASGN SASUMPVAUϠSUMP DA.+ҠSNGý MPHŲ ԠDàASàDUPUԠ NUԠNP DA+SԠSԠNŠAG SZAS? MP+N NAϠA SA+SԠAG ASSAҠASKP DA...+3(SԠAҠS DBBNS SBS A BNB SBBàPUNH SZPNBUMPNN. MPNUԬɠ PSSASàHŠ ASҠDA...+(ND.'AS' SBHPGϠVAUAŠDNGH MPH30Ҡ SZAVAUŠABS.? MPHPD-Nϻ SZBSSASKNGҠZϠDS? MPHPD-YS- ADB.M9(-9(VAUŠSNSUMPϩ SSBSSVA.? MPHPD-YS DAPN SA DASUMP Ԡ300MANA SANàVAU(MP.ϠN PKUPDSANDSŠNϠPGAM SBSZ DA SBG AƬA SAS SZ DA SBG SANS UPUԠASɠHAAS SBNU A SAS SZN MPSB MPH0DNŬGϠGԠNԠSAMN PSSɯϠGUPHŠ AMԠ05000 Ԡ00 Ԡ300 PҠDASN+SPAND SZAPSN? MPPYS! DADŠNϠPAND PA+'H'? MPHPD PANDԠHŠ SBPҠ(HPD- HPDA SAMSAVŠHŠSԠPAAM MPHñ9 PDA.àSԠҠ'AҠAG'(é. DB.000GԠ''MASKҠϠNS. SBHP MPѠҠ DAYS DBNSԠADBHNS.YP ADAP-MAKŠMASKҠA̠NSS. PBAMSNSҠAAM SSYSSKPSNDMASK ADAP-NϻMAKŠSNDMASK DBSUMPSŠBGS SԠҠVAUž63 SSA MP+VA̾6 DA.V'V'ADDSSV SBP ѠB ADBNSԠ(H5+ SBNS MPHPD .àԠ03ASɠ'' PSSSàҠSS HòDASN+PNҠϠPAND DB0AϠB SB?MSYM ADA..M SZA MPHPD DAASԠS'' PA.àS''PSN? MP+YS MPHPDN ''ϠBԠ9(àBԩƠɯϠNSԠ DANS Ҡ.000MASKNUNԠB SANS MPHPD M-PPSSҠ MDԠ0006000060000 MҠA NAZŠAGS SANà0HNŠAPPAS SAMBS-ƠBG BS-ƠAG SAMP+BS-3ƠSGƠASG SANSVUSDϠAUMUAŠHŠD SAAG SASԠAҠHAҠS SAԠHŠҠAHNנDŠ ƠDANSԠUNPAKHŠM-PD HŠMAԠS+ BS-3ƠSGƠASG0 H BS-ƠBGƠAG0 NH. BS-0EAUA̠BԠD ANDMDAԠPD SAAѠSAVŠԠ(+ DADŠHSSHŠGUPNUMB. Ԡ300MAKŠSU''SBGGҠHANHŠAS ADAAGA(ASԠGP-(PSNԠGP SSA MPϠSUNŠSK ƠPSGPSGϠŠANHANGŠԠANDMAYBŠK DAD PAMD+3SDŠYPŠ60B(M-P? MP+HANGŠҠGUPANDPD MҠDA.P'P'ҠPDŠ SBPҠUN MPHPD DAMD+BHANGŠGUP(M- SADŠϠ MVŠBS-5ƠPDŠϠBSAND-0 DAA ANDMD+SԠABB SASAVŠNB. ҠA ԠMVŠϠBSϠAND5-3 AҬSAMVŠBԠ0 NABԠ. Ԡ3AƬAҠAŠԠ3ϠBS-0 ҠPUԠNHŠABB MP+ ϠDAD SAAGSԠASԠGPϠPSNԠGP HKGSҠNSSNY DANS ANDMD+5GԠBS- ҠM PAMD+5ƠUA̬H'SAGS MPMҠNNSSNY. SAMNנGSϠGS HSŠHKGUPNSSNY DANS ANDMD+BS-3 ҠMP+ PAMD+ƠUA̬HŠAŠDS MPMҠMDNԠGUPS. SAMP+ HKҠŠ DAA Ԡ003SZASS SZN Nנ''HŠDŠNϠUNԠDŠSϠAҠ ҠNSV SANSV GԠHŠNԠHAAҠ DASN+PDŠPN ADA...+(3 SAPNҠPNSAԠPSNNԠPD SB?PKUP PABNKƠSϠŠAŠDN. MP+ PA+MMA? MP+ MPM GԠHŠNԠPDŠ SBK?PKPDŠKUP MPHPD MP ϠNSHSԠŻƠUSDANDNASGSԬADD0 ϠHŠD. DAMP+(M- ԠAƬA Ԡ003SZASS ҠBNK(0B DBN Ԡ6003SZBSS A ҠNSV SANS MPHPD NB SBBàPUNHSԠƠASԠDB̠D DB?BG SZBSSASPUNHNGUSD? MPN3N SBàYS-UPUԠA DƠ+3 DƠ.+ DƠ?PNŠADҠPAAMүUN N3ANA DBBNS SBSԠSԠ'ND'SAMN SB?NDSGϠϠNDSUBUN DB?PN PB?PMYUPU? MPASMBؠYS ANϠ-SNAPN SB?NSSKPϠPƠM MPASMB PSSBASŠSԠNSNANDMMYANSNDS. MàSASDŠSAVŠD-00B MANA SAPNUMSAԠSNGPAAMҠUN ADA.+ SSASSDŠGҠHAN0B? MPPؠNϠ-PNUMSK DB.-B- PA.-6BԠYPŠNS.?(5B ADB.-B-ƠYS SBPNUMSAVŠPAAMҠUN PؠSBUԠUPUԠMDŠϠPUNH SBSԠSԠSUŠSAMN DAPNGԠUNԠNUNҠVAU SASAҠSAVŠNPSUDϠUN SASAؠSAVŠASGNA̠VAU SZSAҠBUMPPSUD SZPNBUMPAUA PñDA.0BSԠDŠϠ0B(DƩ SADŠNDҠϠAKŠUԠHP DASA SAPNSԠPNϠSANGVAU uA SANSԠAҠNSUN DASD PA.3BSDŠ3B?(NϠNDԩ MPPòYS DBBԱ5N DA. SBHPVAUAŠANPAND MPP3Ҡ MPPôNMA̠UN PòSBHPɠVAUAŠP.(NN-NDԩ MPP3Ҡ MPPôNMA̠UN P3A SASUMPSԠVAUŠ0 PôDAPN SASN+SԠPNҠϠNԠPAND DASUMP ҠNS SANSԠNSԠPANDVAU SSAASADDҠND? SZSN+YSBUMPNƠPAND DBSA SBPNSԠNUNҠϠAUA̠VAU SBUԠGϠPUNH DA.+ SBSԠGϠSԠ SZPNBUMPNUN SZSAҠBUMPPSUDϠNUN A SANSԠAҠNSԠNASŠNA̠NP DBSD PB.DŽB?(NPNASԠD MPPAYS- SZPNUMASԠPAND? MPPñNϠ-GϠPSSNԠN MPH0YS-GϠҠNԠSUŠSAM. PASBUԠGϠPUNHNP DA.+SԠҠSDS MPH30+G. SAҠNPPSUDϠNUN SAؠNPNƠNSUN .U53BGNƠNSANS(+0Ϡ-0 .3BԠ33B SDŠNPSAVŠD-00B .00BU6B00B M00BU0B-00B PNUMNPSAVŠPANDUN BU .0BԠ00B ̠Ԡ55DDVNAG MASKUB3B UMASKU5B00B GNAŠASNGƠBYS. A̠NUMBSNY -3NUMBҠ<+3 BYGDASN+SA`ԠNAZAN SAPNҠSԠPNҠϠSԠBY A SA+SԠSԠNŠSԠUPUԠAG DA SASDŠSԠGHԯԠANA BY0DBPN SBSGNSAVŠSAԠƠBY B SBNàNAZŠHAAҠUN BY03DAPNҠGԠAHAA SBG SAMSAVŠ PA+MMA?(NDƠBYũ MPBY05YSGϠPSSABY PABNKBANK?(NDƠBYŠANDSNG MPBY05YSGϠPSSABY SZNàBUMPHA.UN SZPNҠBUMPHA.PN MPBY03GϠGԠNԠHA. BY05DBNàBHAAҠUN DASGNAPNҠϠBY SB?ASNNVԠBYŠϠA̠NUMB AҠUN-SԠA0. SABSAVŠVAUŠNB ANDUMASK SZAGҠHAN3B? PAUMASKMAYBŠ-SԠҠGDNG.VAU MP+3NUMBҠSK SBPҠ B DAB ANDMASK DBSD BҬSBԠBYŠBNGPSSD? MPBYԱ0YS SBSDŠSAVŠԯGHԠAG ADANSԠNϠ-SԠUPϠGNAŠAD SANS BY06SBNUԠUPUԠADϠSԯPUNH DAMGԠASԠHA.SD PABNKBANK?(NDƠSAMNԩ MPH0YS- MPBYԱNϠ-GϠSAԠNԠBY BYԱ0AƬAƠPSSԠBY SANSԠPAŠNUPPҠ'NS' SBSDŠSAVŠԯGHԠAG DBM PBBNKASԠMNSNG? MPBY06YS-GϠUPUԠ BYԱSZPNҠNϠ-SAԠNԠBY SB?BPKU MPBY0 PSSBYŠNDNŠNSUNS-DB̠ANDDBҠ TRN BYŠDA.0B SADŠSԠDŽDƠϠAKŠUԠHP SBHP MPHñŠҠ BSSHԠBAUŠԠ(MU.BY MPHñGϠMPŠPSSNG ASMBؠU?ASMB SPà NDASMB5 =KT  24307-18057 1438 S 0122 01PAGE MODE TERMINAL DRIVER #1 (PMT01)             H0101 ;r ASMB̬ҬìB HDHP66AMNA̠DVҠ NAMPM06 NԠPM0P66 Ԡ.NҬ ANGSUNŠ(ADDYBYUSҠ NAZANNY: SBPM0 DƠ+5 DƠUGA̠UN DƠP66NA̠M.PAAMAB DƠBGBAUDAŠNGDS DƠؠԠNSNAB (UNPNԠ--A0KA.N.0NVADUSԩ ԠUSAG 0-ѠUNAD 09-ѠND Ա0-PAMƠɯϠ Ա-PAMƠɯϠ Ա-BUҠBYŠAD Ա3-BUҠHAҠUN Ա-MSSNG Ա-PNҠϠ Ա-NGHƠ Ա9-MNA̠PAAMS(HAҠSZŬé Բ0-SYNàHA Բ-NPUԯUPUԠBAUDAŠDS Բ-ADNYAD Բ3-ŠNYAD Բ-N̠NYAD Բ5-ɯƠBADSAUS(SPA̠HAҠADҠDUNGNԠNY 30-U 3-D 3-M 33-BK 39-AGS B00M-N-PGSS BԱSYN-N-PGSS BԱ5-N-PGSS Դ0-MPS(PV.HAҬ̠NԬ. Դ-AUϠADAG Դ-DñBU Դ3-AGS B00DñPD BԱ5UPUԠB Դ-AŠND SKP NAZAN UNPGA̠UNԠAD AB̠NPMNA̠PAAMABŠAD BGNPBAUDAŠNGDSAD ؠNPԠNSNABŠAD PM0NPNYPNԠҠNԠA SB.NҠGԠPAAMAD'S DƠUMANGPG DAؠGԠؠAD SAADҠSŠNϠàA̠PAAMS SBSɠMSAVŠԠAD'S uDAABSàSŠSPA̠HAҠABŠAD SAԲ5ɠNϠԲ5 DAADSŠADAD SAԲɠNϠԲ DAŠSŠŠAD SAԲ3ɠNϠԲ3 DAN̠SŠN̠AD SAԲɠNϠԲ A SA39ɠAҠ39(AGS SAԴ0ɠAҠԴ0(MPS SAԴɠAҠԴ(AUϠADAG SAԴɠҠDñBU SAԴ3ɠҠDñ-PUPU-BAGS DBDMNDؠϠAŠAB(- DAԱɠGԠ̠NGH PADƠHNNϠAŠAB BNϠAŠABŠSϠSԠNDؠϠ0 SBԴɠSԠAŠABŠND DABGɠGԠBAUDAůNGDS AҠGA̠DSAŠ05 SASϠƠBԠSSԬ MPBADHŠDŠSGA A̠PSNBS ANDP0MASKƠNGD SAGSAVŠD DABGɠGԠDŠAGAN ASASPSN AS ANDMMASKƠBAUDAŠD SAAŠMDH AƬAƠBAUDAŠD ҠAŠNAHBY SAԲɠSԠԲ(ɯϠBAUDAŠDũ A DBGGԠNGD BSMNAŠB0(0HAƠDUPة SZB DABԱ5U̠DUPجSϠSԠBԱ5 ADAP0NUDŠHAҠSZŠƠ SAԱ9ɠSԠHAҠSZŠNŠP DBGGԠNGD SBƠDDHNSYNàSŠASYN MPSYNàDDSϠSYNàDDPAY ASYNàAVNSϠASYNàVNPAY SAԲ0ɠSŠZϠNԲ0 DAB0PMŠϠSԠԱ9PAYD MPPY SYNàDASYNGԠSYNHA SAԲ0ɠSŠNԲ0 DAB0PMŠϠSԠԱ9PAY̿D PYҠԱ9ɠMGŠNϠPAYD SAԱ9ɠ(BS5ƠԱ9 NDƠSPSNDDҠBAUDA DBSPGԠSPBԠD DAAŠGԠBAUDAŠD SZASSBAUDAŠDŠ0? DAP5YSԠK.ASSUMŠ9600BPS MANASHԠSPBԠDUN̠SB BҠGSPPҠSPBԠD NASZA(0SPSPS MP- DAԱ9 SBSB(SPS? ҠB00YSSϠSԠSPBԠD SAԱ9ɠNԱ9 SԠUPàN̠A̠(NAZũ DAUɠGԠGA̠UNԠ ANDM ADAP6ADDNԠUNND SANDϠMN̠D SBàUŠNԠA DƠ+5UNAD DƠP03N̠ѠDŠ3 DƠNDN̠N DƠP00PAM-DUMMY ADҠBSSPAM-SAGŠҠؠAD ANDBYԠPSVŠSAUS MPPM0ɠUNϠUS BADANANDAŠNVADA̠ϠPM0 MPPM0ɠUNϠUS SKP N̠USS N̠DƠ+ NP SBSѠSԠԠNKSSAVŠABG ANDAŠGA̠SMN SBGGϠAŠAB.SŠAB SSBSSNA? MP0NϬ'DHAҠҠSPDD BYSZϠU SBԱɠANSMSSNG SBԴɠҠDñBU DA09ɠGԠND ANDDŠMASKƠ-D PAPNSԠN-PN? MP0YS PASSԠN-S? MP03YS PAAADSԠAU-AD? MP0YS PAPADSԠPSUD-AD? MP̱YSGϠSAԠADҠDñ PASNSSԠUSҠSNS? MP05YS 06ANDAŠNNUAN SZN+(UN+HN MPN+ɠDVS(AG0 NŠPN 0U DAԱ0ɠGԠPAM(NŠPNPN BNϠMҠUS PAASDVŠHAUϠSPDD? DBD-00YSSԠMNMҠUS MP06GϠϠNNUANUN NŠSŠ 03U AAҠAUϠADAG SAԴɠNԴ MP06GϠϠNNUANUN AU-AD 0U DAԱ0ɠGԠPAM(AU-ADAG SAԴɠSAVŠ MPN+ɠUNMPŠ(+ PSUDϠAD ̱U A SA39ɠҠAGS NA ҠԴ3 SAԴ3ɠSԠDñ-PDAG DABԱ5NDAŠSA-ADDV ̱BNϠMҠ SZN+BUMPNAD MPN+ɠN+(NNUAN USҠSNS 05U DAԱɠGԠPAM(BUҠADҩS SAԱ0ɠNԱ0 DAP0SԠBUҠNGHϠ SAԱ DAN0SԠHAҠUNԠϠ- SAԱ3ɠUPUԠS-SMA̠ASUN SBKSYNNDAŠSYNҠNU̠ҠUPU MP̱GϠN+ NNU.AUϠSPDHASBNNDADA HAAҠHASBNVD.SHUDBŠDñ. 0U SBBKHKSAUS.UN+-+ MP0MU MP0NŠ. NPDAA ̱0DASAVAGԠNPU ANDMMASKƠHA PADñHAҠDñ? MP09YS 0BN.NDAŠNϠMҠ MP06NKPYNG̠MU ҠAU-SPDPHYSDVҠNGSMANHANҠ00BPS AUؠHANS6-0Ҡ00600300500SSԲ Ϡ00BPSSSB-GϠNPNGUNԠ.ƠB5 HNGA̠MUSԠNDSPDHANGŠԲ. 09U ADBN6BUNԣ-6 SSBUNԠANAUؠHAN(5? MPN+ɠNϬԲK.UNMP ADBSPDYSSԠPPҠBAUD DBBɠAŠDŠMAB SBԲɠSԠSPDNԲ MPN+ɠUNMP 0UMU DAP0SԠNŠPNMUԠSAUS SBSAԠSŠSAUSNԴ MPN+ɠUNMP SPDDƠ+BAUDAŠDŠAB SPà DŠUNԠA SPà Ԡ600 Ԡ30600 Ԡ05300 Ԡ03950 Ԡ0000 SKP ADUSS AD--ADBYPHYSDV.ADVҠSAUSDAA B<0NAN0NNUAN. ADDƠ+ NP SBSѠSԠԠNKSSAVŠABG ANANDAŠGA̠SMAD SBGGϠAŠAB.SŠAB SSBSSNA? MPD0N SBSԠSԠPNSUNS MPAD+ɠNVADѠ(BUҠNGH0 B SBMѠNϠMҠ SB39ɠҠAGS DAԴɠGԠDñBU PADñV'DDñHAҠY? MPD03YSPSUDϠP̠SMP ANANϬSԠDñ- ҠԴ3ɠPDAG SAԴ3 DABԱ5NDAŠSAԠADDV D5SZAD+BUMPNAD MPAD+ɠN+(NNUũ D0U SBBKHKSAUS.UN+-+ MPD06MU MPD0NŠ MPD0DAA D05U SBMKHKM--ҠƠEGNPGSS DASAVAGԠSAUSDAA ANDMMASKƠDAA PASYNSYNHA? MPDYSGNŠ DBԴ3ɠGԠDñ-PG SBSSDñPD? MPD09N BŬBYS SBԴ3ɠҠDñ-PG PADñHAҠDñ? MPD0YS DAB0NϬNDAŠPSUD-AD SBSAԠҠNSAUS MPAD+ɠN+(MPũ D0U SAԴɠSAVŠDñHA DA09ɠGԠѠD ANDDŠSAŠѠD PAP03ADҠPSUDϠAD? MPAD+ɠPSUD-AD.N+(MPũ D03U A SAԴɠҠDñBU DABԱ5 ҠԴ3ɠSԠUPU-BAG SAԴ3 A SAԱ3ɠSԠUNԠ- SBKSYNNDAŠSYNҠNU̠ҠUPU MPD5GϠN+ D09U PAؠHAҠ? MPDYSND-- SBPUԠNϬSŠHAҠUNSSU MPD DA09ɠHAҠUNԠ0SϠHK ANDDŠҠUSҠSNS. PASNSSϬUNMP MPD3 DU ANDAŠNϠDV DBMѠNDAŠUNԠMҠ SZAD+BUMPNAD MPAD+ɠN+(NNUũ DU DBԱɠGԠBUҠNGH SSBDSҠBYSSPD? MPD3BYSSϠAVŠ-GASS DAԱɠDSSϠNVԠ-G NADUNԠ(A(G+ AS SAԱɠSŠDUN D3U DAԱɠGԠ-G MPAD+ɠN+(MPũ D06UMU.ASAԠADԠ SSASSNŠҠҠSS? MPDN DAP0YSNDAŠNŠ SBSAԠNSAUS MPDGϠNVԠ-GNMP DU SBKҠM-N-PGAGƠS MPD5GϠN+ D0UNŠ SB̠PSSNŠ MPD D0UDAA DAB0NDAŠDAA SBSAԠNSAUS MPD05NNUŠHAҠPSSNG SKP ŠUSS --ADBYPHYSDV.ADVҠSAUSDAA B<0NAN0NNUAN. ŠDƠ+ NP SBSѠSԠԠNKSSAVŠABG DAP0NDAŠGA̠SM SBGGϠAŠAB.SŠAB SSBSSNA? MP0N SBSԠYSSԠPNSUNS MP+ɠNVADѠ(BUҠNGH0 B SB39ɠAҠAGS SBԴ0ɠANDMPS SBԴɠҠDñBU SBKSYNNDAŠSYNҠNU̠ҠUPU SZ+BUMPNAD MP+ɠN+(NNUũ 0U SBBKHKSAUS.UN+-+ MP0MU MP09NŠ NPDAA SABAK? MP0YS SBMKHKM--ҠƠNPG DA39ɠGԠAGS SSA̠NPGSS? MPԱ0YS A̠N SSASYNNPGSS? MPԱYS DA39ɠN.GԠAGS A SASSSàAGS? MPԱN AŬAYS.S A̠SàAG SA39 SŠƠPVHAҠUS̠HAS BABŠNDؠ0 Ա3USAԠABŠSAH DA.HAҠGԠHAҠABŠAD ADABADDND PA.NDNDƠ{AB? MPԱYSSNԠ'D DAAɠGԠABŠHA PAԴ0ɠSAMŠASPVUSUPUԠHA? MPԱYS.BPSNNB0Ҡ3 NBNϬBUMPNDؠ MPԱ3YNԠHA ԱU̠'D. DAN05-5.ƠB..5HAҠMUV ADABBAK-SASHSϠMPUŠS SSASSB..5? MPԱ5NϬSSMA̠SϠUSŠMAؠ(3 GADSSƠHAҠҠA DAԲɠYSGԠBAUDAŠDŠ(Bé ANDBYԠMASKƠGHԠBY SZASSBAUDAŠDŠ0? DAP5YSԠK.ASSUMŠ9600BPS ADAN0SUBԠϠMAKŠAVŠϠZ ASASB'SDVDDNϠGUPS ADA.PҠGԠADҠƠSPNDNGB̠P DAAɠGԠB̠PNҠϠAB0Ҡ3 ADABADDABŠPSN DAAɠGԠ̠UNԠMAB SS Ա5DAN03USŠ-3Ҡ̠UN SAԴ0ɠSŠNG̠UN ANDAŠNU̠ҠUPU MPԲ 0UBAKDD DAP03 SBSAԠSԠBAKSAUS MPԲ3GϠNVԠ-GNMP ԱU DAԴ0ɠGԠPVUSHA PASàASԠANS? SSYS MPԱ6N DA39ɠGԠAGS ҠB0SԠSàAG SA39 Ա6U DAԴ3 SSAUPUԠB? MPԱYS DA09ɠGԠND ANDDŠMASKƠѠD PAP03N? MPԱYSMUSԠBŠUSҠSNS DAԱ3ɠNϬ.GԠHAҠUN SZASSHAҠUNԠ0? MPԱ9YSA̠HASHAVŠBNUPU PAP0N.UNԠ+? MPԲ0YSؠHASB640NUPU SBGԠNϬA-GGSNԠUPUԠHA ԲU DBMѠSŠUNԠMŠ SZ+BUMPNAD MP+ɠN+(NNUũ 0UMU.ASAUSADԠ SSASSNŠҠҠSS? MPԲN DAP0YSNDAŠNŠ SBSAԠNSAUS MPԲ3GϠNVԠ-GNMP ԲU SBKҠM-N-PGNDAŠNP MPԲDVGϠN+ 09UNŠ SB̠PSSNŠ ANDAŠNU̠ҠUPU MPԲGϠN+ Ա0U̠NPGSS SZԴ0ɠBUMPUN.ASԠ? MPԲ6N DA39ɠYSGԠAGS AŬAҠ-N-PGAG SA39 MPԱ6 Բ6ANDAŠNU̠ҠUPU MPԲGϠN+ ԱUSYNNPGSS SZԴ0ɠBUMPUN.ASԠSYN? MPԲN DA39ɠYSGԠAGS ANDB3AҠSYN-N-PGAG SA39 MPԱ6 ԲDASYNNDAŠSYNҠUPU MPԲGϠN+ ԱUѠAD.UPUԠB DAԱ3ɠGԠUN PAN0-? s6   24307-18058 1438 S 0122 02PAGE MODE TERMINAL DRIVER #1 (PMT01)             H0101 ASMB,L,C,R,B HED DVR71 12967 PHYSICAL LEVEL DRIVER 8/1/74 NAM DVR71,0,0 ENT I.71,C.71 ENT P.710,P.711,P.712,P.713 ENT P.714,P.715,P.716,P.717 EXT $TIME,$PCOM **************************************************** * 12967 SYNCHRONOUS I/F COMMAND SET * **************************************************** * * * MASTER RESET-REST * * BIT MEANING * * 15,14,13,12 1,0,0,0 * * CAUSES SMI TO COMPLETELY RESET TO ITS * * IDLE STATE(AS AFTER A CLC 0). * * * **************************************************** * DATA STATUS RESET-DSET * * BIT MEANING * * 15,14,13,12 1,0,0,1 * * 11,10,9,8 NOT USED * * 7,6,5,4,3,2 NOT USED * * 1 1=RESET DATA ERROR * * 0 1=RESET PARITY ERROR * * * **************************************************** * ARM STATUS INTERRUPT-ARMI * * BIT MEANING * * 15,14,13,12 1,0,1,0 * * 11,10,9,8,7,6,5,4 NOT USED * * 3 SECONDARY RLS ARM * * 2 RCV LINE SIGNAL ARM * * 1 CLEAR TO SEND ARM * * 0 DATA SET READY ARM * * IF BIT=1 INTERRUPT WHEN LINE=0,IF BIT=0 * * INTERRUPT WHEN LINE=1. * * * **************************************************** * MASK STATUS INTERRUPT-MSKI * * BIT MEANING * * 15,14,13,12 1,0,1,1 * * 11,10,9,8,7,6,5 NOT USED * * 4 RING MASK * * 3 SECONDARY RLS MASK * * 2 RCV LINE SIGNAL MASK * * 1 CLEAR TO SEND MASK * * 0 DATA SET READY MASK * * IF BIT=1 ENABLE LINE INTERRUPT,IF BIT=0 * * DISABLE LINE INTERRUPT. * * * **************************************************** * CONTROL-CTRL * * BIT MEANING * * 15,14,13,12 1,1,0,0 * * 11,10,9,8,7,6 NOT USED * * 5 1:DMA USED FOR DATA * * 0:PROGRAMMED I/O USED* * 4 1:PARITY ENABLE * * 0:DISABLE PARITY * * 3 1:ODD PARITY,0:EVEN * * 2 1:SRQS MODEM CTRL ON * * 0:SRQS OFF * * 1 1:DTR MODEM CTRL ON * * 0:DTR OFF * * 0 1:RQS ON-TRANS MODE * * 0:RQS OFF-RCV MODE * * * **************************************************** * START-STRT * * BIT MEANING * * 15,14,13,12 1,1,1,0 * * START A TRANS OR RCV OPERATION ONCE THE * * MODEM HAS BECOME READY. * * * **************************************************** * STOP * * BIT MEANING * * 15,14,13,12 1,1,1,1 f * * STOP A TRANS OR RCV OPERATION AS A NORMAL* * ENDING OR TO ABORT IN CASE OF ERROR. * * * **************************************************** * * * INTERFACE STATUS WORD * * BIT MEANING * * 15 0:DATA TRANSFER * * 1:UNUSUAL CONDITION * * 14 1:MODEM STAT REQUEST * * 13 1:DATA ERROR COND * * 12 1:RECEIVE PARITY COND* * 11 1:DATA REQ CONDITION * * 10 NOT USED * * 9 1:RING LINE INTERRUPT* * 8 1:SRLS LINE INTERRUPT* * 7 1:RLS LINE INTERRUPT * * 6 1:CLS LINE INTERRUPT * * 5 1:DSR LINE INTERRUPT * * 4 1:RING LINE ON * * 3 1:SRLS LINE ON * * 2 1:RLS LINE ON * * 1 1:CLS LINE ON * * 0 1:DSR LINE ON * * * * * **************************************************** A EQU 0 B EQU 1 SC EQU 0 **************************************************** * * * COMPLETION SECTION * * * **************************************************** C.71 EQU * NOP CLA SUCCESSFUL COMPLETION LDB $EQ14,I TRANSMISSION LOG JMP C.71,I RETURN **************************************************** * * * p5 INTERRUPT CELLS * * * **************************************************** * P.710 EQU * NOP CLF 0 DISABLE INTERRUPTS JSB SAVE SAVE REGISTERS LDA UEQT ADDRESS USERS EQT JSB SETQ SET EQT LDA USC ADDRESS USERS SELECT CODE PCOMM JSB SETIO SET I/O INSTRUCTIONS JSB STAT INPUT STATUS LDB LSIT JMP LSWCH LINE STATE * * * P.711 EQU * NOP CLF 0 JSB SAVE LDA UEQT+1 JSB SETQ LDA USC+1 JMP PCOMM * * P.712 EQU * NOP CLF 0 JSB SAVE LDA UEQT+2 JSB SETQ LDA USC+2 JMP PCOMM * * P.713 EQU * NOP CLF 0 JSB SAVE LDA UEQT+3 JSB SETQ LDA USC+3 JMP PCOMM * * * * P.714 EQU * NOP CLF 0 JSB SAVE LDA UEQT+4 JSB SETQ LDA USC+4 JMP PCOMM * * P.715 EQU * NOP CLF 0 JSB SAVE LDA UEQT+5 JSB SETQ LDA USC+5 JMP PCOMM * * P.716 EQU * NOP CLF 0 JSB SAVE LDA UEQT+6 JSB SETQ LDA USC+6 JMP PCOMM * * P.717 EQU * NOP CLF 0 JSB SAVE LDA UEQT+7 JSB SETQ LDA USC+7 JMP PCOMM **************************************************** * * * INITIATION SECTION * * * **************************************************** I.71 EQU * NOP CLF 0 DISABLE INTERRUPT SYSTEM CLB STB RTX SET RETURN INDEX FOR I.70 STB SAVA ZERO RETURN CODE LDB I.71 SAVE RETURN ADDRESS STB EXIT STA SCODE SAVE SELECT CODE LDB $EQ17,I LDA $EQ9,I GET REQUEST AND SFAR SAVE FUNCTION AND REQUEST CPA .103 INITIALIZE REQUEST? JMP I.71B YES SZB,RSS IF LOGICAL LINKAGE PRESENT --PROCEED CPA P03$ CLEAR REQUEST JMP I.71A YES ISZ SAVA NO INVALID JMP RTRN I.71B EQU * LDB $EQ11,I GET EXTENSION ADDRESS STB $EQ17,I LINK WITH LOGICAL INB LDA B,I GET EQT19 STA $EQ6,I SAVE IN CONTROL WORD CLA STA EQT3 INSURE EQT RESET STA $EQ5,I CLEAR LINE STATE STA $EQ16,I CLEAR TIMER FLAGS LDA $EQ1 GET BASE EQT ADDRESS ADB P07$ COMPUTE EQT26 STA B,I SAVE AS TIMER ID(DVR71) ADB P04$ COMPUTE EQT30 STA B,I SAVE AS TIMER ID (LOGICAL) * * BUILD BASIC CONTROL WORD * LDA $EQ6,I GET PARAMETER WORD(EQT19) AND .60 ISOLATE PARITY RAR POSITION PARITY SZA PARITY OFF? IOR .20 NO IOR CTRL CONTROL WORD STA $EQ6,I STORE WORD IN EQT6 * I.71A EQU * LDA $EQ1 JSB SETQ SET EQT * LDA EQT4,I SET AND LBYT$ STATUS TO STA EQT4,I ZERO JSB SETU SET UNIT RELATED CONSTANTS LDA SCODE JSB SETIO SET I/O INSTRUCTIONS JSB STAT FIND BOARD STATUS LDA EQT9,I AND SFAR ISOLATE FUNCTION AND REQUEST CPA P03$ CLEAR REQUEST JMP C0 YES AND M17$ CPA P01$ READ REQUEST JMP READ YES CPA P02$ WRITE REQUEST JMP WRITE YES CPA P03$ CONTROL REQUEST JMP CONTL YES ISZ SAVA INDICATE ERROR JMP RTRN **************************************************** * * * READ REQUEST INITIATION * *  * **************************************************** READ EQU * JSB LCHK CHECK FOR LINE OPEN, DATA SET RDY CCB INDICATE INITIATION CALL JSB EQT22,I CALL LOGICAL READ JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS JMP RTRN * READ1 EQU * LDA P04$ INDICATE IMMEDIATE COMPLETION STA SAVA JMP RTRN **************************************************** * * * WRITE REQUEST INITIATION * * * **************************************************** WRITE EQU * JSB LCHK CHECK FOR LINE OPEN,DATA SET RDY CCB INDICATE INITIATION CALL JSB EQT23,I CALL LOGICAL WRITE JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS JMP RTRN **************************************************** * * * CONTROL REQUEST INITIATION * * * **************************************************** CONTL EQU * CLA CCB INDICATE INITIATION CALL JSB EQT24,I CALL LOGICAL CONTROL JMP READ1 COMPLETE JSB DRCTV EVALUATE DIRECTIVE BITS LDA EQT9,I ALF,ALF RAL,RAL AND M77$ ISOLATE FUNCTION CODE ADA N04$ SSA,RSS FUNCTION LT 5 JMP CNTL1 NO-INVALID ADA CNTLT YES-CALCULATE TABLE ADDRESS LDA A,I JMP A,I PROCESS BY FUNCTION CODE * * CNTL1 EQU * ISZ EQT4,I INDICATE INVALID REQUEST JMP READ1 * * * CONTROL TRANSFER TABLE * DEF C0 CLEAR DEF READ1 INITIALIZE(NO ADDITIONAL PROCESSING) DEF C2 LINE OPEN DEF C3 LINE CLOSE CNTLT DEF * * * CLEAR REQUEST * C0 EQU * ) LDA $EQ17,I SZA SKIP DEQUEUE IF NOT LINKED JSB DQT DEQUE TIMERS LDA REST MASTER RESET JSB OTA CLEAR I/F CLA STA $EQ17,I BREAK LINKAGE JMP READ1 * * LINE OPEN REQUEST * C2 EQU * LDA EQT10,I PARAMETER 1 CPA P01$ RECEIVE? JMP CRCV YES CPA P02$ SEND? JMP CSND YES ISZ EQT4,I INDICATE INVALID REQUEST JMP READ1 RETURN TO DOS CRCV EQU * LDA EQT19,I SSA FULL DUPLEX? JMP CSND YES LDA EQT6,I LOAD BASIC CONTROL WORD IOR P02$ JSB OTA SET DATA TERMINAL READY LDA EQT5,I CPA P03$ LINE=LINE OPEN SEND? JMP C21 YES C20 EQU * LDA MSKI IOR P01$ JSB OTA MASK DSR INTERRUPT LDA ARMI JSB OTA ARM DSR DOWN(INTERRUPT ON UP) JMP C22 CSND EQU * LDA EQT6,I IOR P03$ JSB OTA SET DTR AND RQS LDA EQT19,I SSA FULL DUPLEX? JMP C20 YES LDA MSKI IOR P02$ JSB OTA MASK CLS INTERRUPT LDA ARMI JSB OTA ARM CLS DOWN(INT ON UP) JMP C22 C21 LDA MSKI IOR P02$ MASK CLS INTERRUPT JSB OTA LDA ARMI IOR P02$ ARM CLS=1 JSB OTA C22 LDA P01$ LINE=AWAITING OPEN STA EQT5,I JSB STC TURN ON BOARD JMP RTRN * * LINE CLOSE REQUEST * C3 EQU * LDA REST JSB OTA MASTER RESET LDA MSKI IOR P01$ JSB OTA MASK DSR INTERRUPT LDA ARMI IOR P01$ INTERRUPT ON DSR DOWN JSB OTA CLA LINE=CLOSE STA EQT5,I JSB STC TURN ON BOARD JMP RTRN * **************************************************** * * * SET UNIT RELATED DATA  * * * **************************************************** SETU EQU * NOP LDA $EQ3,I GET UNIT & SELECT CODE ALF,ALF RAL,RAL POSITION UNIT FIELD AND P07$ ADA UTBL CALCULATE TABLE ENTRY LDB $EQ1 STB A,I SAVE EQT ADA P08$ OFFSET TO NEXT TABLE LDB SCODE STB A,I SAVE SELECT CODE JMP SETU,I * UTBL DEF *+1 UEQT BSS 8 HOLDS EQT FOR UNIT 0-7 USC BSS 8 HOLDS SC FOR UNIT 0-7 * * **************************************************** * * * SET EQT TABLE * * * * A=ADDRESS OF EQT * * * **************************************************** SETQ EQU * NOP STA EQTB SAVE EQT ON BASE PAGE ADA P02$ CPA EQT3 ALREADY SET JMP SETQ,I YES STA EQT3 INA STA EQT4 FILL INA TABLE STA EQT5 INA STA EQT6 ADA P03$ STA EQT9 INA STA EQT10 ADA P04$ STA EQT14 INA STA EQT15 INA STA EQT16 INA LDA A,I LINK TO EXTENSION INA STA EQT19 INA STA EQT20 ADA P02$ LDB A,I STB EQT22 INA LDB A,I STB EQT23 INA LDB A,I STB EQT24 ADA P03$ STA EQT27 ADA P04$ STA EQT31 JMP SETQ,I RETURN **************************************************** * * * DRIVER TIMER START * * * **************************************************** TIMIN EQU * B=PROCESSOR ADDRESSd640 NOP A=TIME INTERVAL STA EQT27,I SAVE VALUE LDA EQT16,I GET TIMER FLAGS ERA,RAL PHYSICAL TIMER BIT TO E IOR P01$ SET IT STA EQT16,I LDA EQT27,I GET VALUE SEZ INITIATE REQUEST CMA,INA NO-INDICATE RESET STB EQT27,I SAVE PROCESSOR ADDRESS LDB EQT27 ADB N01$ PASS EQT26 AS TIMER BLOCK JSB $TIME JMP TIMIN,I * * TIMER #1(AND ONLY) * TIMA DEF *+1 NOP CLF 0 CLB,INB JSB TIMOF JSB STAT GET BOARD STATUS LDA TIMA+1 RETURN ADDRESS STA LTIM LDA P02$ STA RTX INDICATE TIMER RETURN JMP LSIE START RECEIVE * **************************************************** * * * TIME OFF * * INITIAL SETUP FOR TIMEOUT * * A=EQT * * B=TIMER FLAG MASK * <*6   24307-18072 1515 S 0122 DVR71 FOR 12967A ASYNCH MODEM INTERFACE             H0101 >* * **************************************************** TIMOF EQU * NOP STB TMOF1 SAVE TIMER TYPE JSB SETQ SET EQT LDA EQT3,I AND M77$ GET SELECT CODE JSB SETIO SET I/O INST. LDA TMOF1 CMA AND EQT16,I CLEAR TIMER IN PROGRESS STA EQT16,I JMP TIMOF,I * TMOF1 NOP * * **************************************************** * * * LINE CHECK * * * **************************************************** LCHK EQU * NOP LDA EQT5,I LOAD LINE STATE SZA,RSS LINE CLOSE? JMP LCHK1 YES LDA STWD LOAD BOARD STATUS CMA COMPLIMENT DSR AND P01$ ISOLATE DSR RAR,RAR POSITION FOR LINE ERROR *NOTE-DSR=DOWN INDICATES LINE ERROR JMP LCHK,I LCHK1 EQU * ISZ EQT4,I INVALID REQUEST JMP READ1 IMMEDIATE COMPLETION **************************************************** * * * DIRECTIVE EVALUATOR * * * * A= DIRECTIVE BITS (15-8), OUTPUT DATA (7-0) * * 15-START READ * * 14-START WRITE * * 13-NO OPERATION * * * * B= TIMER REQUEST * * <0-INITIATE/UPDATE VALUE * * =0-NO REQUEST * * >0-CANCEL REQUEST * * * * * **************************************************** MDRCTV EQU * NOP STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST JMP DRCT1 NO LDA EQT16,I YES SSB CANCEL REQUEST JMP DRCT2 NO * YES ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * SSA TIMER IN PROGRESS CMB,INB YES-INDICATE RESET IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * STA EQT16,I UPDATE FLAGS STB A LDB LTIMA STB EQT31,I SET PROCESSOR TO LOGICAL TIMER LDB EQT31 ADB N01$ PASS EQT30 AS TIMER BLOCK JSB $TIME DRCT1 EQU * LDA DRCTA RAL,SLA START READ JMP SREAD YES RAL,SLA START WRITE JMP SWRIT YES SSA NOP JMP RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN * DRCTA NOP * * **************************************************** * * * START READ * * * **************************************************** SREAD EQU * LDA EQT5,I CPA P04$ LINE=SEND? JMP SRD3 YES LDA EQT6,I BASIC CONTROL WORD IOR P02$ DTR SET,RQS OFF JSB OTA LDA MSKI IOR P05$ MASK ON RLS,DSR JSB OTA LDA EQT19,I SSA FULL DUPLEX? JMP SRD1 YES LDA STWD ARS,SLA CLS HIGH? JMP SRD2 YES SRD1 LDA P08$ LINE=PREP TO RCV#3 STA EQT5,I LDA ARMI IOR P01$ ARM RLS=0,DSR=1 JSB OTA JSB STC TURN ON BOARD JMP RTRN SRD2 LDA P07$ LINE=PREP TO RCV#2 STA EQT5,I LDA ARMI IOR P05$ ARM RLS=1,DSR=1 JSB OTA LDA N02$ DELAY 200MS LDB TIMA TIMER#1 JSB TIMI]+N START TIMER JSB STC TURN ON BOARD JMP RTRN SRD3 LDA RBYT$ PAD CHAR JSB OTA LDA P06$ LINE=PREP TO RCV#1 STA EQT5,I JSB STC TURNON JMP RTRN **************************************************** * * * START WRITE * * * **************************************************** SWRIT EQU * LDA EQT5,I CPA P03$ LINE OPEN SEND? JMP SWRT1 YES CPA P09$ LINE=RECEIVE? RSS YES JMP SWRT0 LDA STOP STOP INPUT JSB OTA SWRT0 EQU * LDA EQT6,I BASIC CONTROL WORD IOR P03$ RQS=1,DTR=1 JSB OTA LDA MSKI IOR P03$ MASK ON CLS,DSR JSB OTA LDA ARMI IOR P01$ ARM CLS=0,DSR=1 JSB OTA LDA P05$ LINE EQUAL TO PREPARE TO SEND STA EQT5,I LDA DRCTA SAVE 1ST CHAR AND RBYT$ STA EQT15,I JSB STC TURN ON BOARD JMP RTRN RETURN SWRT1 EQU * LDA P05$ LINE=PREP TO SEND STA EQT5,I SWRT2 EQU * LDA ARMI IOR P03$ ARM CLS=1, DSR=1 JSB OTA LDA STRT START TRANSMIT JSB OTA LDA DRCTA SAVE 1ST CHAR AND RBYT$ STA EQT15,I JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS **************************************************** * * * LOGICAL TIMER * * * **************************************************** LTIMA DEF LTIM * LTIM EQU * NOP CLF 0 LDB B15$ JSB TIMOF CLEAR TIMER FLAG LDA P02$ STA RTX INDICATE TIME RETURN LDA B15$ INDICATE LOGICAL TIMER LDB LSTT PROCESS LSWCH JADB EQT5,I BY LDB B,I LINE JMP B,I STATE LSTT DEF *+1 DEF RTRN 0-CLOSED DEF RTRN 1-AWAITING OPEN DEF RTRN 2-LINE OPEN RCV DEF RTRN 3-LINE OPEN SEND DEF LSTB 4-SEND DEF LSTB 5-PREPARE TO SEND DEF LSTD 6-PREPARE TO RCV#1 DEF LSTD 7-PREPARE TO RCV#2 DEF LSTD 8-PREPARE TO RCV#3 DEF LSTD 9-RECEIVE * LSIT DEF *+1 DEF DCTRL 0-CLOSED DEF LSIA 1-AWAITING OPEN NOP 2-LINE OPEN RCV DEF DIOS 3-LINE OPEN SEND DEF LSIB 4-SEND DEF LSIC 5-PREPARE TO SEND DEF LSID1 6-PREPARE TO RCV#1 DEF LSID2 7-PREPARE TO RCV#2 DEF LSIE 8-PREPARE TO RCV#3 DEF LSID3 9-RECEIVE * LSIA EQU * LDA STWD BOARD STATUS AND P03$ ISOLATE CLS,DSR SLA,RSS IS THIS AN UNUSUAL LINE STATE? JMP LSIA1 YES THEN GO HANDLE IT CPA P01$ RECEIVE OPEN? INA YES STA EQT5,I SAVE LINE STATE JMP DCTRL COMPLETE LSIA1 EQU * SZA,RSS IF NO CONTROL JMP LSIA2 THEN DO NOT RECONFIGURE THE BOARD LDA MSKI INA MASK ON DSR JSB OTA AND GO OUTPUT IT LDA ARMI AND GO ARM DSR INTERUPT TO 1 JSB OTA OUTPUT THE ARMING COMMAND LSIA2 EQU * JSB STC SET CONTROL ON THE BOARD JMP RTRN AND RETURN TO USER LSIB EQU * JSB BSTAT CHECK BOARD STATUS LSTB EQU * LDB P01$ INDICATE CONTINUATION JSB EQT23,I CALL LOGICAL WRITE JMP LSIB1 COMPLETE JSB DRCTV CONTINUE,EVALUATE DIRECTIVES LDA DRCTA DATA WORD AND RBYT$ PREPARE FOR OUTPUT JSB OTA JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIB1 EQU * LDA BSTW SZA COMPLETION BY ERROR? JMP DIOS X YES,STOP IO LDA RBYT$ PUT OUT PAD JSB OTA TO GET LAST CHAR OUT LDA P03$ LINE=LINE OPEN SEND STA EQT5,I JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIC EQU * LDA STWD SSA,RSS DATA REQUEST? JMP LSIC1 YES AND P03$ CPA P03$ ERROR? JMP SWRT2 NO,START OUTPUT LDA B14$ YES,INDICATE ERROR JMP LSTB LSIC1 EQU * LDA P04$ LINE=SEND STA EQT5,I LDA EQT15,I FIRST CHAR JSB OTA OUTPUT CHAR JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSID1 EQU * LDA STOP STOP TRANSMIT JSB OTA JMP LSIDD LSID2 EQU * LDA EQT16,I LOAD TIMER FLAGS WORD ARS,ALS CLEAR BIT 0 PHYSICAL TIMER FLAG STA EQT16,I AND STORE THE WORD BACK INTO THE EQT CLA INDICATE TIMER TURN OFF LDB EQT27 LOAD PHYSICAL TIMER BUFFER ADDRESS ADB N01$ DECREMENT IT JSB $TIME GO DO TURN OFF LSIDD EQU * LDA STWD SLA DSR DOWN? JMP SREAD NO LSER EQU * LDA B14$ YES,LINE ERROR JMP LSTD LSID3 EQU * JSB BSTAT FIND BOARD STATUS O5 MIA SC INPUT DATA TRAC1 NOP TRACE POINT 1 LSTD EQU * LDB P01$ INDICATE CONTINUE JSB EQT22,I CALL LOGICAL RECEIVE JMP DIOR COMPLETE JSB DRCTV CONTINUE,EVALUATE DIRECTIVES JSB STC TURN ON BOARD JMP RTRN RETURN TO DOS LSIE EQU * LDA STWD SLA,RSS DSR DOWN? JMP LSER YES LDA P09$ LINE=RECEIVE STA EQT5,I LDA ARMI IOR P05$ ARM RLS=1, DSR=1 JSB OTA LDA STRT START RECEIVE JSB OTA LDA EQT20,I LOAD SYNC CHAR JMP LSTD GIVE IT TO LOGICAL **************************************************** * *2 * SAVE REGISTERS * * * **************************************************** SAVE EQU * NOP STA SAVA A STB SAVB B ERA,ALS E SOC INA O STA SAVEO CLA,INA STA RTX INDICATE INTERRUPT LDA SAVE ADA N03$ CALCULATE INTERRUPT ENTRY LDA A,I STA EXIT SAVE RETURN ADDRESS JMP SAVE,I **************************************************** * * * BOARD STATUS CHECK * * * **************************************************** BSTAT EQU * NOP CLB INITIALIZE STATUS RETURN LDA STWD BOARD STATUS WORD SSA,RSS DATA REQUEST ONLY? JMP LOK YES ALF AND P03$ ISOLATE PARITY AND DATA SZA,RSS PARITY OR DATA ERROR? JMP LINE NO IOR DSET RESET ERROR BITS JSB OTA ADB P02$ INDICATE DATA ERROR LINE EQU * LDA EQT5,I ARS INA AND STWD ISOLATE RELEVENT LINE BITS SLA,RSS DSR HIGH? JMP LERR NO,LINE ERROR ARS SZA,RSS OTHER LINE FAULT(CLS,RLS)? LERR EQU * ADB P04$ YES,LINE ERROR BLF,BLF POSITION STATUS BLF LOK EQU * LDA B STATUS RTRN IN A STA BSTW SAVE STAT WORD JMP BSTAT,I **************************************************** * * * COMPLETION NOTIFICATION * * * **************************************************** DIOR EQU * LDA EQT5,I CPA P06$ LINE=PREP TO RCV#1? JMP DIOS YES CCB FIX FOR LINE OPEN RCV ~CPA P09$ LINE=RECEIVE? JMP DSIO JMP DLNE DIOS EQU * CLB FIX FOR LINE OPEN SEND DSIO EQU * LDA STOP STOP I/O JSB OTA DLNE EQU * ADB P03$ STB EQT5,I SET LINE STATE DCTRL EQU * JSB DQT DEQUE TIMERS LDA EQTB JSB $PCOM JMP RTRN RETURN TO DOS * **************************************************** * * * COMMON RETURN * * * **************************************************** RTRN EQU * LDA RTX DETERMINE RETURN TYPE SZA,RSS JMP RTRN2 I.71 SLA,RSS JMP RTRN3 LOGICAL TIMER RTRN0 EQU * P.71 LDA SAVEO RESTORE CLO SLA,ELA E STF 1 O LDA SAVA A LDB MPTFL TEST MEMORY PROTECT SZB,RSS IS IT ON? JMP RTRN1 YES LDB SAVB RESTORE B STF 0 ENABLE INTERRUPT SYSTEM JMP EXIT,I RTRN1 EQU * LDB SAVB RESTORE B STF 0 ENABLE INTERRUPTS STC 5 TURN ON MEMORY PROTECT JMP EXIT,I RTRN2 EQU * LDA EQT14,I STA SAVB TRANSMISSION LOG JMP RTRN0 RTRN3 EQU * STF 0 ENABLE INTERRUPTS JMP LTIM,I **************************************************** * * * DEQUEUE TIMERS * * * **************************************************** DQT EQU * NOP LDA EQT16,I LOAD TIMER FLAGS SZA,RSS TIMER IN PROGRESS? JMP DQT,I NO SSA,RSS LOGICAL TIMER IN PROGRESS JMP DQT1 NO ELA,CLE,ERA YES STA EQT16,I CLEAR FLAG CLA LDB EQT31 ADB N01$ JSB $TIME DQT1 EQU *  LDA EQT16,I SLA,RSS DVR71 TIMER ACTIVE? JMP DQT,I NO,DONE ARS,ALS YES,CLEAR STA EQT16,I CLEAR FLAG LDB EQT27 ADB N01$ CLA JSB $TIME CANCEL REQUEST JMP DQT,I * **************************************************** OTA EQU * NOP O1 OTA SC TRAC2 NOP TRACE POINT 2 JMP OTA,I * **************************************************** STC EQU * NOP O2 STC SC JMP STC,I * **************************************************** STAT EQU * NOP O3 CLC SC O4 LIA SC TRAC3 NOP TRACE POINT 3 STA STWD JMP STAT,I * **************************************************** * * * SET I/O INSTRUCTIONS * * * **************************************************** SETIO EQU * NOP CPA LAST ALREADY CONFIGURED? JMP SETIO,I YES STA LAST SAVE CURRENT SC ADA MIA STA O5 FORM MIA INST ADA P64$ FORM LIA INST STA O4 ADA P64$ FORM OTA INST STA O1 ADA P64$ FORM STC INST IOR CFLAG INCLUDE THE CLEAR FLAG BIT STA O2 IOR B11$ FORM CLC INST STA O3 JMP SETIO,I * **************************************************** * * * EQT LINKAGE TABLE * * * **************************************************** EQT3 NOP UNIT/SELECT CODE EQT4 NOP STATUS EQT5 NOP LINE STATE EQT6 NOP I/F CONTROL WORD EQT9 NOP CONWD EQT10 NOP PARAMETER 1 EQT14 NOP TRANSMISSION LOG EQT15 NOP SAVE FIRST CHAR FOR O/P EQT16 NOP TIMER FLAGS EQT19 NOP BOARD PARAMETERS EQT20 NOP EQT22 NOP LREAD X640EQT23 NOP LWRIT EQT24 NOP LCNTL EQT27 NOP DVR71 TIMER PROCESSOR ADDRESS EQT31 NOP LOGICAL TIMER PROCESSOR ADDRESS * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P64$ EQU #+12 M17$ EQU #+13 M77$ EQU #+15 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 * * BASE PAGE VARIABLES * ## EQU 202B EQTB EQU 300B ADDRESS OF EQT ENTRY $EQ1 EQU ##+1 $EQ3 EQU ##+3 $EQ5 EQU ##+5 $EQ6 EQU ##+6 $EQ9 EQU ##+9 $EQ11 EQU ##+11 $EQ14 EQU ##+14 $EQ16 EQU ##+16 $EQ17 EQU ##+17 B15$ OCT 100000 B14$ OCT 40000 B11$ OCT 4000 * ARMI OCT 120000 CTRL OCT 140000 DSET OCT 110000 MSKI OCT 130000 REST EQU B15$ STOP OCT 170000 STRT OCT 160000 * EXIT NOP BSTW NOP CFLAG OCT 1000 CLEAR FLAG BIT LAST NOP MIA MIA SC MPTFL EQU 271B MEMORY PROTECT FLAG RTX NOP SAVA NOP SAVB NOP SAVEO NOP SCODE NOP SFAR OCT 17777 STWD NOP .20 OCT 20 .60 OCT 60 .103 OCT 103 * END o6   24307-18073 1446 S 0122 DOS DVR15 7261A CARD READER             H0101 b ASMBҬB̬ HDHP6ADSDVҠ-DVұ5 NAMDVұ5 NԠ.5.5 SPà HP6ADSDVҠ5 NANSN SPà .5NP SBSϠNGUŠ BƬSBSAUSK--PK? MPKYS BҬBҠƠNԬ SSBSBSSSAUSNDD-AD? SZԴɠNϠ-SԠҠNԠADY KDBԴɠADSAUS DA9ɠADN̠D ANDD3SAŠUSԠD. PAD3N̠US? MP3YS-GϠGԠSUBUNN SAASNϠ-ADUS? MPADYSNNU. MP.5ɠ SPà B00Ԡ00 B600Ԡ600 B300Ԡ300 SPà 3DA9ɠADN̠D ANDB300SAŠHŠUNND. PAB00HPPҠS? MPHPҠYS PAB00NGB? MPB̠YS PAB600DYNAMàSAUS? MPDYSAYS-SԠԠUP. SZASԠAҠUSԠ? MPANϠ-ԠHŠUS. SAԱɠYS-AҠANS.G MPAANDMPNUN. DYSADANԠGԠNUMBҠƠPAAMS. PADSԠUҠ? MPKSAYS-PSS ADADN̠ѠNDND. MP.5ɠ KSADAԴɠGԠSAUSD. DBԱɠANDADDSS. ANDHAƠMASKUԠUNK. SABɠSŠԠAAY MPAMPNUN. SPà ADSAԱɠAҠANSMSSNG PAԱɠZϠBUҠNGH? MPSKPYSGϠHKHŠMD. AD0SBҠADY? MPA3NϠ-GϠϠ DAN0NAZ SAԱ3ɠPKA̠UN ADDA3ɠGԠSԠD ANDBBYMASKNGUԠUNK. DMAADMA`ASSGNDMA DABUADADHŠNNA̠BUҠADDSS. DMAàDMA-PPAŠHŠADDSSGS. DMA3ADMA-UPUԠHŠBUҠADDSS. DAN9ADHŠDUN DMASàDMA-PPAŠDMADUN DMA5ADMA-UPUԠHŠDUN ұSàҬàSSUŠAPKMMANDϠHŠ. DMA6SàDMAàAVAŠDMA DMAàDMAAҠDMA A PA.5PKAUŠY? MP.NYSGϠϠNNUANUN. MP.5ɠNϬUNSUSSU̠NAN SPà A3DAD3SԠҠҠNԠADY MP.5ɠUN SPà B̠DAB0BԠ3 MPҲ HPҠDADBԠ SBҠADY? MPA3NϠ-GϠϠ ҲAҠUNNB SZASS0U'SSAPSD? MPAYS-GϠϠMMDAŠMPN DDàNϠ- D3Dà3BUN DDàM AUN DBN0AԠ50MSS NB SZDNŠANG? MP-N MPҲHAԠB SPà SKPDA9ɠADN̠D ANDB00SAŠHŠMDŠB. SZAMDŠBNAY? MPAD0YSGϠSKPD ADADSԠҠMMDAŠMPN MP.5ɠUN SPà BUADDƠ.BUƬɠNNA̠BUҠҠDMA SPà N9Dà-9 B00Ԡ00 B000Ԡ000 B00Ԡ00 B300Ԡ300 SKP NGUANSN SPà SϠNP ҠSàNGU SA+U àҠAҠ SPà ҠB5000 SAұNGU ҠB500Ҡ SADSA SA+ BҠADҠSAUS ҠB300 SAҲ SPà DAHANSAVŠASSGND SAԱɠDMAH0-CANCEL REQUEST * * * ***************************************************** DRCTV EQU * NOP JSB STC ENABLE BOARD STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST JMP DRCT1 = NO LDA $EQ16,I YES SSB CANCEL REQUEST JMP DRCT2 NO ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * SSA TIMER IN PROGRESS CMB,INB YES/INDICATE RESET IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * STA $EQ16,I UPDATE FLAGS STB A LDB LTIMA SET PROCESSOR TO STB EQT31,I LOGICAL TIMER LDB EQT31 ADB N01$ PASS EQT30 AS TIMER JSB $TIME CALL TIMER DRCT1 EQU * LDA DRCTA RAL,SLA START READ JSB SREAD YES RAL,SLA START WRITE JSB SWRIT YES SSA NOP JSB RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN * DRCTA NOP * ***************************************************** * * * START READ * * * ***************************************************** SREAD EQU * NOP LDA $EQ5,I CPA RECV LINE STATE = RECEIVE JMP SRD1 YES LDB EQT19,I FULL DUX SSB SYSTEM JMP C2B YES LDA $EQ15,I NO AND RCVON REMOVE STA $EQ15,I TRANSMIT JSB RCVI BIT LDA P08$ NEXT STA $EQ5,I STATE JMP TEST PR TO RCV #3 * SRD1 EQU * JSB STAT START INPUT JMP STATB * * A ***************************************************** * * * START WRITE * * * ***************************************************** SWRIT EQU * NOP JSB CLC TURN OFF INTERRUPTS LDB $EQ5,I GET PREVIOUS STATE LDA PSND SET LINE STATE EQUALS STA $EQ5,I PREPARE TO SEND LDA DRCTA GET CHARACTER AND RBYT$ MASK OFF BITS STA EQT35,I SAVE CHARACTER FOR O/P CPB SEND PRIOR STATE SEND? JMP SWRT1 YES/BYPASS TURNAROUND JMP C2C SWRT1 EQU * JSB STOUT START OUTPUT LDA SEND LINE STATE STA $EQ5,I EQUALS SEND JSB STAT GET I/F STATUS CLA JMP LDID1 ***************************************************** * START OUTPUT * ***************************************************** STOUT EQU * NOP LDA EQT35,I GET PENDING CHAR. JSB OTA O/P TO INTERFACE JSB STC ENABLE INTERRUPTS JMP STOUT,I ***************************************************** * * * * * LOGICAL TIMER * * * * * ***************************************************** LTIMA DEF LTIM LTIM EQU * NOP  JSB CLC TURN OFF BOARD LDB B15$ JSB TIMOF SET UP FOR TIMER OFF JSB STAT I/P BOARD STATUS LDA P02$ STA RTX INDICATE TIMER RETURN LDA P08$ LDB LSTT PROCESS LSWCH ADB $EQ5,I BY LDB B,I LINE JMP B,I STATE LSTT DEF *+1 DEF LSTA 0-CLOSED DEF LSTB 1-AWAITING RING DEF LSTB 2-AWAITING OPEN DEF LSTB 3-IDLE DEF LSTD 4-PREPARE TO SEND DEF LSTD 5-SEND DEF LSTD 6-PRE TO RCV#1 FLUSH WRITE DEF LSTD 7-PRE TO RCV#2 BUFFER EMPTY DEF LSTC 8-PRE TO RCV#3 DELAY DEF LSTC 9-RECEIVE DEF LSTB 10-AUTO SPEED * LSIT DEF *+1 DEF LSIA 0-CLOSED DEF LSIB 1-AWAITING RING DEF LSIC 2-AWAITING OPEN DEF LSIA 3-IDLE DEF LSII 4-PREPARE TO SEND DEF LSID 5-SEND DEF LSIE 6-PR TO RCV #1 DEF LSIF 7-PR TO RCV #2 DEF LSIH 8-PR TO RCV #3 DEF LSIG 9-RECEIVE DEF LSIK 10-AUTO SPEED * * LSTA EQU * NOP LDA $EQ15,I FORCE FINAL INTERRUPT IOR B10$ FROM 2 SEC TIMER AFTER AND RCVON DATA SET READY STA $EQ15,I GOES DOWN LSIA EQU * LDA CLR CLEAR IOR B15$ INTERFACE JSB OTA JSB CLC TURN OFF BOARD JSB DONE * * LSIB EQU * AND S$CE ISOLATE RINGING BIT SZA,RSS SET JMP LSIB1 NO JSB CLC YES/TURN OFF BOARD JSB DONE COMPLETE LSIB1 EQU * JSB STC ENABLE jINTERRUPTS JSB RTRN * * LSIC EQU * NOP CLF 0 INHIBIT SYSTEM INTERRUPTS LDA EQT25,I SSA,RSS DEVICE INTERRUPT JMP RTRNI NO AND DEVBT STA SWORD SAVE INTERRUPT BITS IOR B13$ OUTPUT REF WORD JSB OTA LDA $EQ15,I IS THE ALF BOARD SSA RECEIVING JMP LSIC1 NO/TRANSMIT CLA GET BOARDS CCB STATUS JSB BSTAT BOARD STATUS GOOD JMP RTRNI NO LDA $EQ6,I LINE ALF OPEN SSA REQUEST JMP NOIN YES LDA RECV NEXT STATE STA $EQ5,I RECEIVE JMP TEST NOIN LDA $EQ6,I REMOVE LINE AND RCVON OPEN BIT STA $EQ6,I LDA $EQ10,I SSA AUTO SPEED JMP NOIN3 YES LDA RECV LINE STATE RECEIVE NOIN2 STA $EQ5,I JSB CLC DISABLE BOARD JSB RTRN COMPLETE NOIN3 LDA AUTOS NEXT STATE ISZ C.74 AUTO SPEED JMP NOIN2 LSIC1 EQU * CLA TEST BOARD CLB,INB STATUS JSB BSTAT BOARD STATUS GOOD JMP RTRNI NO LDA $EQ6,I LINE ALF OPEN SSA REQUEST JMP NOIN1 YES LDA SEND NEXT STATE STA $EQ5,I SEND JSB STOUT START OUTPUT (OCT 15, 1974) JSB STAT I/F STATUS JMP LSID RETURN TO LOGICAL NOIN1 LDA $EQ6,I REMOVE LINE AND RCVON OPEN BIT STA $EQ6,I LDA SEND NEXT STATE JMP NOIN2 SEND RTRNI EQU * CLA,INA RETURN TO DOS STA SAVA WITH NOT READY JMP TEST * * <:6 LSII EQU * LDA SEND LINE STATE STA $EQ5,I EQUALS SEND LSID EQU * CLA WRITE INTERRUPT ENTRY LSTD EQU * CLB,INB WRITE TIMER ENTRY JSB BSTAT TEST BOARD STATUS NOP LDID1 EQU * CLF 0 INHIBIT SYSTEM INTERRUPTS LDB $EQ1 WHILE IN LOGICAL DRIVER STB EQTB EQT BASE LDB $EQ5,I LINE STATE JSB EQT23,I CALL LOGICAL WRITE JSB DONE COMPLETE STA EQT35,I STB EQT36,I TEMP STORAGE FOR LOGICAL TIMER RAL,SLA IS IT READ JMP LSID2 YES RAR NO JSB DRCTV CHECK FOR TIMER CLB STB EQT36,I LDA EQT25,I STATUS WORD SSA DEVICE INTERRUPT ON JMP TBRAK YES ALF,ALF BREAK RAL CONDITION SSA ON JMP LSID YES RAR,RAR BUFFER SLA HALF FULL V BOARD JMP *+3 YES CHANGES :W<  24307-18076 1605 S 0122 DVR74-ASYNC IF              H0101  SSA,RSS BUFFER FULL OCT 15, 1974 JMP SWRT1 NO/OUTPUT CHARACTER CLA RESET BUFFER CLB,INB HALF FULL JSB BSTAT NOP LSID2 LDA PRCV1 WAIT UNTIL STA $EQ5,I BUFFER EMPTY JMP TEST * * LSIE EQU * LDA EQT25,I STATUS WORD SSA DEVICE INTERRUPT ON JMP TBRAK YES ALF,ALF RAL BREAK CONDITION SSA ON JMP LSID YES SLA,RSS BUFFER EMPTY JMP TEST CLA RESET BUFFER CLB,INB EMPTY JSB BSTAT NOP LDA EQT35,I CHECK FOR DIRECTIVE LDB EQT36,I AND TIMER JSB DRCTV DIRECTIVE LDA SEND NO DIRECTIVE STA $EQ5,I OUTPUT WORD JSB SWRIT * LSIK EQU * CLA AUTO SPEED INTERRUPT LSTB EQU * CLB JSB BSTAT PROCESS BOARD STATUS NOP CLF 0 INHIBIT INTERRUPTS LDB $EQ1 SET EQT STB EQTB BASE LDB $EQ5,I GOOD-INDICATE CONTINUE JSB EQT24,I CALL LOGICAL CONTROL JMP LSIK1 COMPLETE JSB DRCTV CHECK DIRECTIVES JMP TEST LSIK1 EQU * LDA IDLE LINE STATE STA $EQ5,I EQUALS IDLE JSB DONE * LSIF EQU * LDA EQT25,I STATUS WORD ALF,ALF BUFFER SSA,RSS EMPTY ON JMP TEST NO LDA $EQ15,I AND RCVON RESET TX BIT STA $EQ15,I TO COMPLETE JSB DONE * * LSIG EQU * CLA W RECEIVE INTERRUPT LSTC EQU * CCB JSB BSTAT CHECK STATUS JMP TRBRK LINE ERROR SSA TIMEOUT JMP TRBRK TIMER REQUEST JMP STATB NO LSIG1 EQU * CLF 0 INHIBIT SYSTEM INTERRUPTS LDB $EQ1 WHILE IN LOGICAL DRIVER STB EQTB EQT BASE LDB $EQ5,I CALL LOGICAL JSB EQT22,I READ ENTRY JSB DONE COMPLETE STATA JSB DRCTV CHECK DIRECTIVE JSB STAT GET DATA & STATUS STATB LDA FRED DATA WORD SSA,RSS VALID DATA JMP TEST NO RAL MOVE SPECIAL CHAR BIT SSA,RSS SPECIAL CHARACTER JMP SETBT NO/ TURN ON 12 MOVEB RAR RIGHT POSITION AND RB1T$ MASK OFF BITS JMP LSIG1 PASS TO LOGICAL SETBT IOR B12$ SPECIAL BIT ON JMP MOVEB TEST EQU * ISZ C.74 CONTINUE JSB RTRN RETURN * LSIH EQU * CLF 0 LDA EQT25,I STATUS WORD SSA,RSS DEVICE INTERRUPT JMP RTRNI NO AND S$CC DATA SET READY ON SZA,RSS YES JMP LSIG NO/TELL LOGICAL LDA EQT25,I STATUS WORD AND P02$ CARRIER DOWN YET? SZA,RSS JMP C2E YES JMP TEST NO/WAIT FOR CARRIER DOWN * TBRAK EQU * JSB CLC INHIBIT INTERRUPTS LDB EQT19,I SECONDARY RBL CHANNEL SSB,RSS ON JMP SET10 NO AND P09$ SBB & DSR CPA P08$ DSR ON JMP *+2 YES JMP SET10 NO/LINE ERROR LDA $EQ6,I RX STATUS WORD ALF,ALF BREAK TEST RAR,SLA BIT ON JMP TEST YES LDA $EQ6,I NO/SET BREAK BIT IOR B09$ FIRST TIME STA $EQ6,I THROUGH CLA TELL IOR B12$ LOGICAL JMP LDID1 * SET10 EQU * LDA $EQ15,I TRANS CONTROL WORD ALF LINE RAL ERROR SSA PREVIOUS JMP *+5 YES LDA $EQ15,I NO/SET IOR B109$ LINE ERROR & DONE STA $EQ15,I BIT JMP LSID TELL LOGICAL JMP TEST * TRBRK EQU * SSA TIMING REQUEST JMP TLOG YES LDA $EQ15,I LINE ERROR ALF DETECTED RAL PREVIOUSLY SSA JMP TLOG YES LDA $EQ15,I NO IOR B109$ SET LINE ERROR STA $EQ15,I AND DONE BIT TLOG JSB CLC INHIBIT BOARD INTERRUPTS LDA SOMEW GET ERROR BIT JMP LSIG1 TELL LOGICAL * DONE EQU * NOP LDA $EQ6,I REMOVE AND DUNBT BREAK STA $EQ6,I BIT LDA $EQ15,I TX CONTROL WORD ALF BIT 10 ON RAL SSA YES JMP DONE3 LINE ERROR LDA $EQ15,I SET BIT 9 IOR B09$ DONE BIT STA $EQ15,I ALF WE SSA ARE JMP DONE1 TRANSMITTING DONE2 EQU * LDA $EQ15,I TX CONTROL WORD AND ERRBT REMOVE BIT 10 STA $EQ15,I JSB CLC INHIBIT INTERRUPTS JSB DQT DEQUE TIMERS LDA IDLE RETURN ENTRY POINT STA $EQ5,I POINT JSB RTRN DONE3 EQU * JSB STC FORCE FINAL INTERRUPT JSB STF FOR LINE ERROR T/O LDA $EQ15,I AND ERRBT REMOVE ERROR BIT 10 STA $EQ15,I JSB DQT DEQUE TIMERS LDA IDLE RETURN ENTRY STA $EQ5,I POINT JMP TEST * *  DONE1 EQU * LDA PRCV2 RETURN STA $EQ5,I ENTRY POINT LDA $EQ15,I REMOVE AND DUNBT COMPLETE STA $EQ15,I BIT JMP TEST * SAVE EQU * NOP CLA,INA STA RTX INDICATE INTERRUPT LDA SAVE ADA N03$ CALCULATE LDA A,I RETURN ADDRESS STA EXIT JMP SAVE,I * INTON EQU * NOP LDB N01$ INTERRUPT STB IFLAG SYSTEM CLB ON SFC 0 STORE STB IFLAG ZERO JMP INTON,I ***************************************************** * * * COMMON RETURN * * * ***************************************************** * RTRN EQU * NOP LDA $EQ15,I COMPLETE ALF,ALF BIT RAR ON SLA,RSS DISABLE BOARD INTERRUPTS JSB STC ENABLE INTERRUPTS LDA RTX DETERMINE SZA,RSS RETURN TYPE JMP RTRN1 I.74 SLA,RSS JMP RTRN0 LOGICAL TIMER RTRN2 EQU * LDB $EQ14,I GET XMISSION LOG LDA SAVA LOAD RTN CODE ISZ IFLAG INT SYSTEM ON? STF 0 ENABLE INTERRUPTS JMP C.74,I * RTRN1 EQU * LDA SAVA LOAD RTN CODE ISZ IFLAG INT SYSTEM ON? STF 0 ENABLE INTERRUPTS JMP I.74,I RTRN0 ISZ IFLAG INT SYSTEM ON? STF 0 JMP LTIM,I *  ***************************************************** * * * DEQUEUE TIMERS * * * ***************************************************** DQT EQU * NOP LDA $EQ16,I LOGICAL TIMER SSA,RSS IN PROGRESS JMP DQT1 NO ELA,CLE,ERA YES STA $EQ16,I CLEAR FLAG CLA LDB EQT31 ADB N01$ JSB $TIME CANCEL REQUEST DQT1 EQU * JMP DQT,I * ***************************************************** * BOARD STATUS CHECK * * B=-1 READ, 0 CONTROL, +1 WRITE * * P+1 BAD STATUS, P+2 GOOD STATUS * * * ***************************************************** BSTAT EQU * NOP STA COMP CLEAR COMPOSITE STATS ADB STATX LDA EQT19,I FULL DUX SYSTEM SSA ADB P06$ YES/NEW TABLE AND S$SBB ISOLATE SEC CHANNEL RAL,RAL XOR P01$ IF NOT SET FAKE IT IOR EQT25,I AND B,I CPA B,I CHECK STATUS JMP BST1 OK LDA P04$ BAD ADA COMP UPDATE STA COMP INDICATE LINE ERROR BST3 EQU * LDA EQT25,I AND DEVBT IOR B13$ JSB OTA ADB P03$ GET MASK LDA EQT25,I AND M40$ SZA,RSS DATA ERROR JMP *+3 NO ISZ COMP ISZ COMP LDA EQT25,I AND BREAK BREAK ON SZA,RSS YES JMP *+2 NO ISZ COMP LDA COMP GET COMPOSITE STATUS AND B,I SAVE SELECTED BITS ALF,ALF POSITION ALF FOR STA B LOGICAL LDA FRED AND RBYT$ IOR B FORM COMPOSITE STA SOMEW STORE COMPOSITE LDA CLR JSB OTA REGRP EQU * LDA SOMEW JMP BSTAT,I * BST1 EQU * ISZ BSTAT RETURN +2 JMP BST3 * * STATX DEF *+2 RSTAT OCT 12 -1-READ VALUE OCT 12 0-CONTROL VALUE OCT 31 +1-WRITE VALUE OCT 16 READ VALUE(TIMEOUT,LINE & DATA ERROR) OCT 16 CONTOL(TIMEOUT,LINE & DATA ER) OCT 15 WRITE(TIMEOUT,LINE ERROR,BREAK) FSTAT OCT 10 -1-READ OCT 10 0-CONTROL OCT 30 +1-WRITE OCT 16 READ OCT 16 CONTROL OCT 15 WRITE ***************************************************** * * CONFIGURE BOARD FOR RECEIVE * ***************************************************** RCVI EQU * NOP LDA $EQ6,I RESET IOR B15$ INTERFACE JSB FDON FULL DUX STSTEM IOR M40$ SBA ON JSB OTA LDA DEVR RESET ENABLE JSB OTA WORD LDA CLR RESET JSB OTA STATUS LDA EQT34,I OUTPUT CHARACTER JSB OTA FRAME CONTROL JMP RCVI,I ****************************************************B* * * * CONFIGURE BOARD FOR SEND * * * ***************************************************** SNDI EQU * NOP LDA $EQ15,I RESET IOR B15$ INTERFACE JSB OTA LDA DEVST RESET ENABLE JSB OTA WORD LDA CLR RESET JSB OTA STATUS LDA EQT34,I CHARACTER FRAME CONTROL AND ECHO ECHO BIT OFF JSB OTA LDA EQT19,I SECONDARY CHANNEL RAL BIT SSA,RSS ON JMP SNDI,I NO LDA P01$ YES IOR B13$ OUT PUT SBB JSB OTA BIT EQUALS ONE JMP SNDI,I NOP FDON EQU * NOP LDB EQT19,I IS IT FULL DUX SSB NO IOR M200$ KEEP CA ON JMP FDON,I * ***************************************************** OTA EQU * NOP O1 OTA SC JMP OTA,I * ***************************************************** STC EQU * NOP O2 STC SC JMP STC,I * ***************************************************** CLC EQU * NOP O3 CLC SC JMP CLC,I * ***************************************************** STAT EQU * NOP O3A CLC SC O4 LIA SC,C STA EQT25,I O2A STC SC O4A LIA SC STA FRED JMP STAT,I * v **************************************************** STF EQU * NOP O5 STF SC JMP STF,I * ***************************************************** * SETIO EQU * * * ***************************************************** NOP CPA LAST ALREADY CONFIGURED JMP SETIO,I YES STA LAST NO ADA CLCO FORM CLC INSTRUCTION STA O3 STA O3A ADA N4K FORM STC INSTRUCTION ADA B09$ STA O2 STA O2A ADA N64$ FORM OTA INSTRUCTION XOR B09$ STA O1 ADA N64$ FORM LIA INSTRUCTION STA O4 STA O4A LDA LAST ADA STFO FORM STF INSTRUCTION STA O5 JMP SETIO,I TBL0 DEF *+1 OCT 0 EXTERNAL CLOCK OCT 3 110 BAUD OCT 4 134.5 BAUD OCT 5 150 BAUD JSB BAUDB 220.BAUD OCT 6 300 BAUD JSB BAUDB 440 BAUD OCT 7 600 BAUD JSB BAUDB OCT 11 1200 BAUD JSB BAUDB 1760 BAUDX OCT 13 2400 BAUD OCT 14 3600 BAUD OCT 15 4800 BAUD OCT 16 7200 BAUD OCT 17 9600 BAUD BAUDB ISZ SAVA JSB RTRN ***************************************************** * * * EQT LINKAGE TABLE * * * ***************************************************** EQT19 NOP BOARD PARAMETERS EQT20 NOP CHAR FRAME CONTROL EQT21 NOP EQT22 NOP LREAD EQT23 NOP LWRIT EQT24 NOP LCNTL EQT25 NOP I/F BOARD STATUS EQT27 NOP DVR74 TIMER PROCESSOR EQT31 NOP LOGICAL TIMER PROCESSR EQT34 NOP COUNTER FOR NULL O/P EQT35 NOP FIRST CHARACTER O/P EQT36 NOP TIMER STORAGE * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT377 LBYT$ EQU #+18 OCT177400 M3777 EQU #+19 OCT 3777 M1777 EQU #+120 OCT177700 * BASE PAGE VARIABLES ## EQU 202B $EQ1 EQU ##+1 $EQ3 EQU ##+3 UNIT SELECT CODE $EQ4 EQU ##+4 STATUS $EQ5 EQU ##+5 LINE STATE $EQ6 EQU ##+6 RX CONTROL WORD $EQ9 EQU ##+9 CURRENT I/O REQUEST $EQ10 EQU ##+10 PARAMETER 1 $EQ11 EQU ##+11 PARAMETER 2 $EQ14 EQU ##+14 TRANSMISSION LOG $EQ15 EQU ##+15 TX CONTROL WORD $EQ16 EQU ##+16 TIMER FLAGS $EQ17 EQU ##+17 EXTENSION LINK AOPEN EQU P02$ AWAITING OPEN ARING EQU P01$ AWAITING RING AUTOS EQU P10$ B09$ OCT 1000 B10$ OCT 2000 B109$ OCT 3000 B11$ OCT 4000 B12$ OCT 10000 B13$ OCT 20000 B14$ OCT 40000 B15$ OCT 100000 BREAK OCT 100 CDOFF OCT 177677 CLCO CLC 0 CLOSE EQU P00$ CLOSED CLR OCT 50077 COMP K<:6NOP DEVR OCT 10012 DEVBT OCT 37 DEVST OCT 10033 DUNBT OCT 176777 ECHO OCT 177757 EQTB EQU 300B ERRBT OCT 171777 EXIT NOP FRED NOP DATA CHARACTER IDLE EQU P03$ IDLE IFLAG NOP INCD OCT 103 LAST NOP MPTFL EQU 271B MEMORY PROTECT FLAG M20$ OCT 20 M40$ OCT 40 M60$ OCT 60 M100$ OCT 100 M200$ OCT 200 M400$ OCT 400 M700$ OCT 700 N4K OCT 174000 PRCV1 EQU P06$ PRE TO RCV#1 PRCV2 EQU P07$ PRE TO RCV#2 PRCV3 EQU P08$ PRE TO RCV#3 PSND EQU P04$ PREPARE TO SEND RB1T$ OCT 4377 RCVON OCT 173777 RECV EQU P09$ RECEIVE RHOLD NOP RTX NOP SAVA NOP SCODE NOP SEND EQU P05$ SEND SOMEW NOP SPEC OCT 60400 STFO STF 0 SWORD NOP S$SBB EQU B14$ SECONDARY RECEIVE S$CC EQU P08$ DATA SET READY S$CE EQU P02$ RINGING TBT1 NOP TCONT OCT -400 TCON1 NOP END N<  24307-18077 1507 S 0122 01DOS III DVR26 - 2762A/B AND 2615A CONSOLE             H0101  ASMBҬ̬B HDDSɠDVҲ6Ҡ6AAND6BMNA DAŠNV NAMDVҲ60 SPà NԠ.6.6 SPà NŠUSSƠHSDVҠAŠSPNSBŠҠHŠPP GNANƠHҠDS-ɠSYSM.HNBUDNGH UPMNԠABŠNDSGNHŠUSҠSSPNSBŠ NDANGHHҠHŠDVŠSA6A(300BAUD 6B(00BAUDMNA.HSSAMPSHDBYP- VDNGANNYϠHŠPNA̠"U"PAAMҠHAԠS NHŠMAԠ: 6A---U0(DAUԩ 6B---U0 HSDNANSNSSAYSϠHAԠHŠDVҠAN PVDŠHŠ""HAASAԠHŠNDƠAD ANDNŠSPAŠUSS. PGAMDSPN DVҲ6PASUNDҠHŠN̠ƠH ɯϠN̠MDUŠƠHŠD..S.UV HSDVҠSSPNSBŠҠNNGDAA ANSMSSNHA6AҠ6BUSNG HŠ53DPAA̠NA.<6SHŠUPMN DŠASSGNDϠHSYPŠDV..6S HŠNYPNԠҠHŠNANSNAND .05ҠHŠMPNSN. -HŠNANSNSADMɯ N̠ϠNAZŠADVŠANDNA ADAAANS ANGSUN: -ADDSSSƠDVŠԠNY SԠN"Ա-Ա"- (AɯϠADDSSƠDV (PSB.6 (P+-UN- (A0PANNAD (AԠD: GA̠N̠USԬ ҠN̠UNNHAS BNDNŠ(.G.SԠ SAUS. -HŠMPNSNSADBYNA̦L NUPԠN̠ϠNNUŠҠMP ANPAN. ANGSUN: -ADDSSSƠDVŠԠNY SԠN"Ա-Ա"- (AɯϠADDSSƠDV (PSB.6 (P+--MPNUN-- (P+--NNUANUN-- -MPNUN: (A0SUSSU̠MPNH (BDSҠHAS.ANSD -NNUANUN:GSS MANNGSS. -DMAS: ASɠ(NPUԩ:ASNGƠHAASMN- -----ADBYAN-D.ƠH USDNGHSUD BŠANŠDHŠ- MANNGHAASAŠGND UN̠AN-DSNPU. HŠ-V̠BԠ(BԠ0S SԠ0Ҡ-BԠASɠD. SPA̠HAAҠPSSNG: UN-AAYSGNDANDSN ANSMDϠUSҠBU N-D-GNDƠNPUԠB HŠSԠVADHAA ƠADDMNA AԠHŠNDƠADANDS NԠANSMDϠBUҠ UND. N̯A-DSPVUSHAA UB-UԠ-DSUNԠD AҠN-DSNPUԬ NԠDSAD. ASɠ(UPUԩ:ASNGƠHAASH -----NUMBҠDSGNADBYH "BUҠNGH"NHŠUSԬ MNADBYAUNAND N-D(SUPPDBYH DVҩ. AZϠBUҠNGHAUSSNYA UNN-DϠBŠUPU. h -SYSMYPŠPSSNG:HŠSYSM YPŠSAAYSԠNH "NPUԠSA"HN̠Sԯ AGADϠAVŠHŠKYBAD AV.ƠAKYSSUKH NϠNPUԠNԬHŠAG "PAN"NBASŠPAGŠSSԠNN- Z.ƠAKYSSUKDUNG ANUPUԠPANϠHŠSYSM YHŠAGSS. HDDVҲ6NANSN NANSN .6NP SBS DA9ɠGԠN̠DƠUSԬ B SB6ɠAҠNŠSPAŠAG ANDDVGԠѠANDUNԠD PA.3SѠҠAҠDV? MPAҠYS-ѽ3UNԽ0 PAM03NϠ-SԠANŠSPAŠUS? MPNSPàYS-ѽ3UNԽ ANDMNϠ-AԠHŠѠD PA.3SԠAN̠? MPNAԠYS-GNŠA̠HҠN MSԠDBUPNA̠DVŠN̠D PA.SԠAŠ? MPנYS-àנKҠUPU PA.NϠ-SԠAAD? MPSBYS-GϠϠSԠBԱҠNPU USԠDŠSPSSDH! ANASDŠҠѠS MP.6ɠUN SBDA9 AƬAƠKBԠϠSB DBB0Kàנ+ADB SADSKBԠNDAŠH? BSYS-SԠH(BԱ3! SԠDVŠPANGNDNS-DV NDSϠBŠSDNYNŠҠAH PAN. נSBAA̠ɯϠMHŠAG ϱA0 NAZŠAGSUNԠBUҠADDSSANDNGH B SBԱ DB6ɠHKҠ.SP. SSBS? MP.ؠYS-PDϠNNUAN SBBS,ԠSԠƠBҠADSANDUN NԠ5-SA-NSUN UPUԠҠN̠US .ؠSB.6A̠NNUANSN ϲSà0UNUNԠN ԠA(A0ҠNANƠUS MP.6 ADƠϲADDSSƠUNϠNA PSSDVŠAҠUS AҠà0AҠDVŠAҠAG NAԠDA.MMDMPNҠN̠ MP.6ɠUN NSPàDBԱ0 SSBSS MBNB ADB.AUNԠҠŠ SBԱ3 AAGҠNŠSPAŠ SA6 SAԱ DA. MPMS SԠVŠBҠADDSS-PԠAGANSԠ0HA BSԠNP DBԱ0ɠNVԠBUҠADDSSϠVN B̠HAAҠADDSSANDS SBԱɠASUNԠBUҠADDSS SB5ɠSAVŠҠSHK DBԱɠGԠBUҠNGH MBŬSSBNBHKƠDSҠHAS BSSB-DSNVԠϠNGHAS MBNB-HASSԠNGAV DA9 AҬSA MP+3 SZBSSPԠAGANS B0HAAS SBԱ3 MPBSԬ HDDVҲ6MPNSN MPNSN .6NP DB.6 PBANYMN? MPD0-YSSKPP.AN.HK SBS SBSSԠHKƠSYSMY MPD0 DBԴ SSB MPD0HNS SZPANPAҠANNAG SZ.6 MP.6 D0DBԱ SSBANYNUSϠPSS? MPN DB9ɠGԠUSԠN̠D BҬSBB̠HKUSԠD MPD3-ŠҠN NUPԠNP`UԠSN 3A0NPUԠHAA ASɠNPUԠPSSNG ANDMASKMVŠ-V̠B PAUB MPD-UBUԠ- PAN MPD6-NŠD- SSBSSԠƠANGҠNŠD PAN MPԱ-UN- PA. MPD5-N̠A- SŠHAAҠNUSҠBU DBԱɠGԠUNԠBUҠADDSS. ŬBNVԠϠDADD.HAA SZԱɠPSNNŬNDؠADDSS. SZ5 SZSSSHԠϠUPPҠPSN AƬAƠVNADDSS. SABSԠ-SAVŠHA- DAMASKPSN SZŠHAAҠMASK(3 AƬAƠϠPPҠPSN ANDBɠGԠPPSŠHA.MBUҬ ҠBSԠNSԠNנAND SABɠPAŠU̠D. DA9ɠSԠDAA-NAGANDD AҬASMANDNPGSS SZԱ3ɠADDϠHAAҠND. .0Ԡ0-Š-NSUN HAAҠUNԠHAUSD 0AҬAŠAN-DϠMNA SA9ɠANASɠD NNUAN ԱSZ.6 MPԲ SKP UB-UԠDŠPSSҠ(DNƠASɠD DSBBS DA9ɠGԠUSԠN̠D MP0-Ԡ- N̯APSSҠ(HAAҠDN D5SBD56 ADBNSUBAԠMUN SBԱɠHAҠBҠADDSS DAԱ3ɠSUBAԠM ADANUN SAԱ3ɠHAAҠND. MPԱ-Ԡ-. GNŠƠƠSԠNPUԠHAAҠƠHŠD D56NP DAԱ0 A PAԱ MPԱ DBԱ MPD56 N-DPSSҠ(DMNAҩ Dy6BҬBSAҠN-DAGҠPSS- SB9ɠ-BŠ-NPUԠAҠUB-U SBD56 ŬBƠDD DABɠHAAS ANDMASKNPUԬS Ҡ.0ҠHAA SZƠASԠD SABɠϠBANK(SPAũ. MPAԱSŠƠANYNUSUD HDPGAM :DVŠDVҠAABŠBNAYPGAMS 5:USҠSGMNԠAABŠBNAYPGAMS 6:AABŠANBAYPGAMS :AABŠUSҠBNAYUYPGAMS UPNMPNƠABŠGNANMSP(AND( ABVŬAHKSMADŠҠANYUNDNDNA̠NS. ƠHŠAŠANYHSŠMAYBŠNDMSNDAYNPU DVŠҠUSҠŬҠUSҠMAYSPYHAԠADNGSϠAK PAŠHUNDNDNAS. ASAHSMADŠNUSҠDYҠMANPGAM NAMŠANDSGMNԠNAMSϠBŠADD.ƠDUPAŠNAMSUҬ HŠADҠSABD.HŠABSUŠDŠҠMANSGNAD ANDPADNDS.HŠUSҠDYSUPDADHHŠN ŠNYANDHŠUSүKAABUNDAYVAUŠSUPDAD.H ABSUŠDŠҠUSDSGMNSAŠGNADANDŠNAM SNDNϠDY. ҠDAGNSS 0-HKSUM 0-GA̠D 03-MMYV 0-BASŠPAGŠNKAGŠV 05-SYMB̠ABŠV 06-MANҠSGMNԠNAMŠAADYNUSҠҠSYSDY 0-DUPAŠNYPNS 0-NϠANSҠADDSSPSN 09-DUԠƠSUN ̱0-UԠƠDYҠKDSàSPA ̱-PGAMDNԠV ̱-SPDŠNԠNUSҠDY ̱3-PGAMNAMŠDUPAN ̱-BASŠPAGŠNGHNN-Z ̱5-SGMNԠADDBŠMAN ̱6-PGAMVAY ̱-GA̠BAYD ̱-GA̠BASŠPAGŠBUND ̱9-GA̠MANPGAMBUND HDDS-ɠADҠ-NA̠PSSNG PSSPGPAAMS ADҠDABɠNPUԠUN SZA ҠM300SԠҠVAABŠBNAYNP SAPGMN NB DABɠSԠUPUԠUN SZASS MP+3]SSANDADUNԠ6 ҠM600SԠŠBS SASU NB DABɠNϠDBUGDBUGPN SADBG NB DABɠUNԯBASŠPAGŠNKPN SAP NB DABɠBUNDSNϠBUNDSSPAN PA. MPSBNDYS-SԠPGAMBUNDS DASMANϠ-SŠSYSMBUNDS SAUMAASDAU DASMA SAUMA DASBA SAUBA DASBA SAUBA SUPPSSSYSMSAHPN ADDASSGHKSYSMSAHAG PAASN MP0NϬSϠK SASAVSSSAVŠSSAG AAҠSSAGNBASŠPAG DBSS SBBPS SԠUPSԬDNԬBASŠPAGŠABS 0DAPGGԠNDBUNDƠAD SABPBU DAUBAAƠUSҠBASŠPAG SAB SAPB MANAAƠUSҠBASŠPAGŠBUҠ SABP ADAUBAƠUSҠBASŠPAGŠAVAABŠ+ SABPƠBASŠPAGŠNKAGS ADABPBUƠSAԠƠBASŠPAGŠNKBUҽ SABPNDNDƠUSҠBASŠPAGŠBU NASԠADҠSYMB̠ABŠADDSS SABS SAPS DABPBU MANA ADAUBA SANBPBƠMNGBASŠPAGŠBUҠADDSS DAN6SԠPGAMDNԠABŠADDSS ADASMA SABDN SAPDN DABPAҠBASŠPAGŠNKAGŠBU MANA SADNԠSԠAҠUN DBBPBUƠSԠAҠBUҠADDSS A SABɠAҠAN NBNMNԠBUҠADDSS SZDNԠSKP-DNŠANG MP-3GϠAҠNԠAN VYHAԠHŠSSUNԠDSàAA SԠNA̠DSàPNS SBàUSԠKAKMS DƠ+5 DƠ. DƠDSKADSԠKAKADDSS DƠҠASԠKAKADDSS DƠMPSSAKADDSS DADSKADHKƠ3KAKSAVAAB MANA ADA SAB ADAN SSA MPDHA-NԠ3KAKS DA NA AƬA SADMMASԠGA̠KAK+ DADSKAD MANA ADAҠƠSAHAKSAVAAB ASDVDŠAANHA ADADSKAD AƬAƠAKADDSS SADSKSSSԠBNSAH AƬAƠGHԠUSY DBSYSSàMPAŠSYSSàϠUSҠS PBUDS MP+MPAŠSϠUSҠNԠNSYS DADSϠGԠASԠAKAVAAB ANDM3 NA MANAMAKŠNG SADSKM DAUDNSUSҠDSàNԠAVAABŠԯS SADSKABAKSҠADDSS NAZŠDNԠSԠABS PUԠàNYNS SBNSԠNAZŠS SBSؠSԠUNԠSԠADDSSS NP SBNDؠNAZŠPGAMDNԠS SBDؠSԠUNԠDNԠADDSSS NP DAAàPUԠàNϠS SASԱ DAA+ SASԲ DAA+ SAS3 A SASԴ SAS5 DAS SAPS HDDS-ɠADҠ-(PASSNPUԠAABS PSSBNAABŠS DABNSHKƠANYBBNAYPGAMS SZASS MPN̠N SADSKAD PABNàHKƠANYSD MPN̠N DABNàMPUŠSSUSDNUN ANDM3AK SAUN DABN AƬA ANDM3 NA SA BN0SBàHKƠNԠAKHDSBNAY SHDƠ+5DAA DƠ.6 DƠ.AKS DƠҠSANGAK DƠSԠAUA̠AK DASԠHKƠSANGAUA PA MPBN0YS-SϠBNAYAK SZASSZϠNDASNDƠDS MPBN30NϠMŠBNAYAKS SA SS BN0SZҠNMNԠAK DAUNԠUPDAŠUMUAVŠSҠ ADAS SAUN MPBN0GϠHKNԠAK BN30AADSYSMDS SAPN DA.ADSYSMDS SADS ANAYS SADҠSԠBNSAHAG SBSYMB̠SԠSԠANDDNԠMBNAA PSSUSҠAABŠS NPASԠDSàDNϠAD SAD DAPGMNHKƠUSҠSPAPҠAP SZASSϠBŠNPU MPN50NϬSϠGϠAD N̠DAPԠHKƠŠϠBŠNDM SZASSSYSMYP MPN0MAYB-SϠMAKŠUHҠHK DASYSYYS ҠM00SԠHϠB SAMP MPN0GϠUPUԠMSSAG N0DABAHMPAŠBAHANDSYSYDV PASYSY ҠM00SԠHϠB SAMP DABAHHKƠBAHSSYSYP PASYSY SSYS MPN05N N0SBàUPUԠMSSAG: DƠ+5-NҠŠNAM(SҠ DƠ. DƠ. DƠMS DƠ. N05SBàUSԠNPUԠMBAHҠSYS DƠ+5 DƠ.ADUS DƠMPN̠D DABDƠDAABDAABUҠADDSS DƠNHAAҠUN SZBSSSKP-NPUԠN MPN̠GϠϠADNԠN̠NPU MBNB SBNGPMSAVŠNGNPUԠUN DADA`B ŬA SAPMBUƠSԠNPUԠBUƠHAҠADD DADAABHKƠNPUԠS PASSH MPN50YS-SϠDN N0SBGPGԠNŠN̠PAAM SAMNSAVŠMNAҠAG PASSH MPN50 SBàHKƠŠNUSҠDY DƠ+ DƠ. DƠPBUƠADDSSƠŠNAM DƠUNԠƠSSN SADSKADSAVŠAKSҠADDҠƠ A SAD DAUN SZA MPN30 DAұPNԠUNDNDŠҠD SB DA.5PNԠUNDNDŠNAM DBDPB SBSYU MPABԠABԠAD N30SBPG̠HKƠPGAMSSPD SBSҠADUSҠDS SBSYMB̠NҠNԯ-PGAMDNS DAMNGԠMNANSYMB PASSHŠNDƠPAAMS? MPN50YS DANGPM SZASSNDƠSAMN? MPN̠YS-ADNԠSAMN MPN0GϠϠPSSNԠPAAM MSASàNҠŠNAM(SҠ SKP SYMB̠UNŠADSUSҠŠҠBNŠANDADDSHS PGAMSϠHŠPGAMSԠANDA̠NԯԠϠHŠS. HŠPNSSϠNҠA̠PGAMSMHŠGҠUS HSŠSPD.ASϠSBNAAAKADDSSSDMND HNSSNGAKBUNDASAHҠHANNMNNG. ANGSUN: PҠϠNNGS DSKADSANGAKSҠƠ UNԠSSN PNԠ0ƠA̠PGAMSNŠϠBŠADD NƠSPàPGAMSNŠϠBŠADD PSԠPGAMNAMSSԠƠPGAMSϠBŠADD (PNԠNԠZϩ DҠ0ƠUSҠ ƠBNAA SYMB̠NP D6ASYMB̠SԠUPUNADDSSҠBK SBSUPUN DADSKAD SADSKNMSԠNA̠NAMDүS SABKADSԠNA̠DSàADDSS SBBKNPUԠSԠBKƠD SYM0BAҠDSPGAM SB.PGUN SBHGԠDYP PA.NAMŠD? SSYS MP DAPNԠHKPGAMSSPDAG SZASSSKP-YS MPSYM50 MANA SADNԠSԠPGNPS DAPAD SAAMADSԠSAHADDSS SYM0DBUA̠"B"PNNG ADB.PGAMNAM DAAMADɠHKƠNAMŠNPSԠAB PAB SSNAMŠNAB MPSYM30NԠUNԠPGNAM SZAMAD NB DAAMAD PAB SSNAMŠ3NAB MPSYM30+NԠUNԠPGNAM SZAMAD NB DAB ANDM PAAMAD MPSYM50PGAMNPSԠAB MPSYM30+ SYM30SZAMADNҠPSԠADDSS SZAMADNҠPSԠADDSS SZAMADNҠPSԠADDSS SZDNԠNҠPGUN MPSYM0GϠYNԠPGAMNPS SYM0SBSKPSKPVҠSԠƠD SBH PA.5NDD? MPSYM5 MPSYM0N-SϠSKPVҠSԠƠD SYM50SBNAMPSSNAMD SYM0SBSKPSKPVҠSԠƠD SBH PA.NԠD? MPSYNԠPSSNYD PA.3DB̠D? MPSYDB̠YS-NDMA PA.ԠD? MPSYԠPSSA̠D PA.5NDD? SS MPҠGA̠DYP SBNDPSSNDD DA.PGGԠDS~NPG ADA.ADDMŠҠSԠƠND B(ҠDVDũ DV.MPUŠSSNPGAM SZBMDS NA SAS DADɠSŠAKSҠMANSG SZASS DASԠGԠUNԠPGSҠUN DBDҠADҠBAKADDN? SZBAD MANABAKAD-MPMNԠSS SAD SYM5SBSKPSKPSԠƠNDD MPSYM0PSSNԠPGAM SYDB̠SBDB̠PSSDB̠D MPSYM0 SYNԠASSN SYԠA SBN.ԠPSSNԯԠDS MPSYM0 SԠNPSSPGAM .PGNPDSPGAM SKP PSSABŠBNAYNPU N50DA.SԠҠSYSMDS SADS DADSKSSSԠSAHAAASDSàADDSS SADSKADҠUPUNGAABS DAPGMNHKƠANYNPUԠMSNDAY SZASSNPUԠDV MPDBN-GϠHKBAYPGAM ANDM PA. MPDBNϠPAPҠAPŠϠBŠADD ADNBNAYAABŠNPUԠMSNDAYDVŠAND SŠNPAKDMAԠNϠDS. NAMDSAŠNDNϠPGNAMŠNAMŠABŠANDNԯ AŠNDNϠADҠSYMB̠AB. N60A SAPGSԠADNGAG DAN SADNԠNAZŠDBUƠUN DBAABU SBUADNAZŠDBUƠPN SBBU̠AҠDBU ASԠҠSԠUPUԠBU SAABG SAS DAPDN SASDNԠƠHKSUM DAPSԠSAVŠNDƠSԠAB SASS DADSKAD SASDSK ADDA.0PNԠ-ADAP-NSYSY DBMSD SBSYU SBàSUSPNDPGAM DƠ+ DƠ. DAB SZA MPDBGϠϠHKƠADBAY ASԠԠAGϠGNŠ SAG DNSBàADNPUԠMNDAYNPUԠDV DƠ+5DVŠNϠBU DƠ. DƠPGMN DƠBU DƠ. ANDM0 ŬSZANDƠůAP? M0Ԡ0-YS(ŠNSUN SZSZBàNGH0? MPSҠYSSϠGϠPSSD DAGNϬSϠHKNDƠAP SZA MPDNGϠADNNԠD MPADUPUԠ-AD-ANDADND SҠASԠԠAGVAD SAG DBABU SBUA̠NAZŠBUƠPN DAN SANԠNAZŠBUƠUN SBHGԠDYPŬHKVADY SAMPSAVŠDYP DAUA̬ɠMPUŠHKSUM DBUA ADB. ADAB NB SZDN MP-3 DBUA̠MPUDAUA̠HKSUM? NB PAB SSYS- MPHKҠ-HKSUM DAMPSŠDYP DBPG PA.YPŠNAMD? MPNAMҠYS SZB MPNMҠDUԠƠSUN PA.YPŠNԠD? MPNҠYS PA.3YPŽDB̠D? MPDBҠYS PA.YPŠԠD? MPҠYS PA.5 MPND ҠDA0GA̠D MPAB NMҠDA09DUԠƠSUN MPAB HKҠDA0 SBҠUPUԠϱMSSAG DASDNԠSŠDNԠSԠABS SAPDNԠHҠNA̠SA ۇB@< DASS SAPS DASDSK SADSKAD SBSԠSԠSMUADND--AP MPN60YNNGPGAMAGAN SDSKNPSAVDDSàADDSS SSԠNPSAVDNDƠSԠAB SDNԠNPSAVDNDƠDNԠAB MSDDƠ+ ASà5ADAP SPà NAMҠSZBSS MPNMҠDUԠƠSUN B SBDSNԠAҠDSàSGMNԠUN SBNGAҠDSàSGMNԠUNԠAG SBPGSԠPGNԠADNG DADSKADSԠDSàADDSSƠNAMD 5B  24308-80002 1432 S 0122 02DOS III RELOCATING LOADER             H0101  SADSKNMҠDYNY. SBNAMPSSNAMD UҠSBDԠPAKDUPUԠϠDS MPDNGϠADNԠD SPà DBҠSBDB̠PSSDB̠D MPUҠUPUԠDB̠DϠDS SPà NҠASS ҠA SBN.ԠPSSNԯԠDS MPUҠUPUԠDϠDS SPà NDҠA SAPG SANG SBDԠŠNDDNDS SBNDPSSNDD MPDN SKP DԠPAKSHŠNNSƠBUƠNϠDBUƠANDDUMPS DBUƠHNԠNANSDSƠAABŠNPU. DԠNP DBABUƠGԠADDSSƠBU SBMP DABUƠGԠDNGH AƬA MANA SAN DDAMPɠGԠDMBUƠAND SAUADɠSԠDNϠDBU SZDN MPG SBDDUԠUPUԠƠBUҠU SS G̠SZUADNҠDBUƠADDSS SZMPNҠBUƠADDSS SZN MPDGϠMVŠNԠD DANGSԠNDAG SZASSSKPƠNDDAD MPMAKHKҠV DADNԠHKƠANYDAANBU PAN SS SBDDUԠUPUԠNDDϠDS DAD6ɠHKPGAMYKP ANDM PA.5 MPMAKUSҠSGMNԠ-SϠHKҠV DADSN SADɠSŠSҠUNԠNDN HKƠAABŠBNAYDSAVAABŠKAKSPA MAKDADMMAؠ+ PADSKADUN MPDHA-UԠƠKAKS MPDԬɠUN DMNP MPNP SKP UPDAŠSԬHKҠUNDNDԠ ADBAYUNSƠNSSAY DBDADBG SZASSNҠDBUƠNϠS MPNDBGNϠDBUGPN DADB̲HASDBUGBNNDNS? SZA MPNDBGYS-DϠNԠ-N SBNS SBS MP+ MP- DAHDŠSԠ-DBUG--NAMŠNϠSԠANDDN SASԱ DAHD+ SASԲ DAHD+ ANDM SAS3 AAҠBASŠPAGŠNKADDSS SASԴ SAS5 DAS SAPS SADB̲SԠҠDBUGAADYNS NDBGA SAN AD̠SBNS SBS MPD DAA PASԱ SS MPD DAA+ PASԲ SS MPD DAS3 ANDM PAA+ SS MPD A SASԴ DAGHKGԠNKҠà ANDϱ SAS5 DAS3 ANDM SAS3 MPAD+ DؠA SAS5 DAS3 ANDM SAS3 DASԴ SSA MP+3 SZA MPAD+ SZN A SASԴ MPAD+ D̠DAN SZASS MPMAN SBNSԠN.SԠNY SBSؠGԠNԠS MPMANNϠUNDNS:GϠAD DASԴɠHKƠUNDND PAN SSYS:SAHBAY MP-5YNԠS A SAN SADSN DA.SԠҠSYSMDS SADS SBBSADUSDBAYUNS DANԠGԠBUNSADD SZANNŬSϠDNŠADNGUNS MPD SBSؠSԠUNDNDNAS SSUNDNDԠUND MPMANNϠUNDNDԠUND GHKSBàSUSPNDAD DƠ+ sDƠ. DABɠHKƠ:GϬPN SZA MP NB DABɠHKƠNSPD SZASS MPN60GϠNPUԠMSNDAYDV ҠM300 SAPGMNSԠNPUԠGA̠UN MPN60GϠNPUԠMSNDAYDV ŠPA.HKƠMŠSϠBŠNPU MPƱ0YS PA.HKƠϠGNŠUNDNS MPMANYS MPGHKGԠ:GϠNPU Ʊ0SZP MPN BSSAHSANAABŠBAYҠND PGAMSNԠYԠSASDBYHҠAABŠBNAYNPUS. BSNP DABSSԠUNADDSSҠBK SBSUPUN A SAGN DADṢSԠ MANABAYUNS SAB DAM060SԠMAؠBAYSS SAUNԠϠ6000B DADSBSԠNA̠BAYAKS SABKADDSàADDSS SADSKNMSԠNA̠NAMDүS DSBBKNPUԠSԠBKƠAABS BSBHGԠDYP PA.HKƠNAMŠD SS MPBҠNVADBAYD SBNSԠHKƠUNDNSPSN SBS MPBK6 DASԴɠHKSԴҠ- PAN SSSKP--MŠUNDNSPSN MP-5SԠDND--YNԠS DAGNҠHKƠADNG SZAYS MPSKPGϠSKPSԠƠD SBNAMPSSNAMD SKPSBSKPSKPSԠƠD SBHGԠNԠDYP NNMPA.NԠD? MPNҠYS-SϠPSSNԠD PA.3DB̠D? MPDBҠYS-SϠPSSDB̠D PA.ԠD? MPҠYS-SϠPSSԠD PA'.5NDD? MPNDҠYS-SϠPSSNDD BҠDAұ MPAB ұASàBADBAY DBҠDAGNҠADNG? SZASS SBDB̠YS-PSSDB̠D MPSKPNϠ-SKPSԠƠD NҠASS ҠA SANGSԠNԯԠAG DAUA̬ɠGԠNSNNԯ ANDM3 MANA SAMNSԠSYMB̠UN DAGNҠGԠUYPGAMADNGAG SZASSNԠADNG MPPNؠPSSNԯԠD DANGGԠNԯԠAG SZASSSKP-N MPSKPGNҠԠD PNؠSBBUMPNMNԠ SBBUMPNAMŠADDSS NSYMBDAUA̬ɠGԠNAM SABU SBBUMP DAUA̬ SABU+ SBBUMP DAUA̬ SABU+ SBBUMP SBSANSANSԠҠNAM MPNزNAMŠNԠNS DAGNҠGԠUYADNGAG SZAADNG MPSANؠNԠADNG DANGGԠNԯԠAG SZASSPSSN MPN3SԠԠDNA DASԴɠGԠNԯԠҠSԠNY SZASSSKP-UNDND MPNNDGNŠUYNYPN NرDAD SASԴɠSԠSԴBAYN MPNNDSԠҠNDƠD NزDANGGԠNԯԠAG SZA MPNشPSSNYPN SBSSԠMAKŠSԠNY A SASԴɠSԠSԴϠUNDƠ A SAS5ɠAҠBPNKADDSSD N3DABU+ SAS3ɠSԠDNA̠NϠS NNDDANGGԠNԯԠAG SZA SBBUMP SZMNSKP-A̠SYMBSPSSD MPNSYMBPSSNԠSYMB MPSKPGϠϠNԠD NشDAGNҠGԠADNGuAG SZASKP-ADNG MPNNDGN-NԠNԠNS SBSSԠSԠNAMŠNϠS A SAS5ɠAҠBPNKADDSS MPNرNNUŠPSSNGNԠPN SANؠDASԴɠGԠNԯԠNYAG SSASSSKP-UNDND MPNNDGNŠDND DADSKNMSŠDSàADDSSϠSA SABKADƠNAMD A SAGN MPDGϠϠADUYPGAM NDҠDAGNҠGԠBAYADNGAG SZASKP-ADNG MPMŠSKPVҠNDD SBUPNAMUPDAŠNAMDƠNSSAY ASԠU̠ADNGAGGN SAGN SZNԠNMNԠU̠PGADDG MŠSBSKPSKPVҠNDD SBNSԠNAZŠS DSBSؠSԠSԠADDSSS MPNDSԠҠDN DAS3 ANDM SAS3 MPDGϠAҠN NDSZBPSSDA̠BUNS? MPBN-GԠNԠN MPBK6YS-UN BNP SANSAHSҠANNYNSԠNDNA ϠNAMŠNBU. UN: (N+-NDƠS (N+-NAMŠUNDNS.UN'SԠADDSSS PNԠϠHSNY SANNP SBNSԠNAZŠS NؠSBSؠSԠSԠADDSSS MPSANɠNDƠSԠUN DABUƠHKƠNAMŠSAM? PASԱ SSYS MPNؠN-YNԠNY DABU+HKƠNAMŠ3SAM? PASԲ SSYS MPNؠN-YNԠNY DAS3ɠHKƠNAMŠ5SAM ANDM SABU+3 DABU+ ANDM PABU+3 SSYS MPNؠN-YNԠNY SZSAN'qNҠԠADDSS MPSANɠ(N+UN SSԠSSUNԠNAMŠNϠS SSԠNP DABUƠSŠNAMŠNϠS SASԱ DABU+ SASԲ DABU+ ANDM SAS3 DAS SAPSԠSԠNנNDƠS MPSSԬɠUN HDNAMDPSS HSUNŠPSSSAABŠNAMDS. ԠSASSUMDHAԠ"H"HASBNADAND HASUNDADYPŠ.NADDNH BUҠPNҠSPNNGϠHŠNDDN HŠD. HŠVAABSMUSԠHAVŠP-DVAUS: DSؠ-""ҠSYSMDS "3"ҠUSҠDS DSKNM-DSàADDSSƠNAMD GH-DNGH(MHUNũ UNNS: .HKSϠSŠƠNAMŠSAADYNDN AB A.ƠSϬABSHҠ3. B.ƠNԬASANDNԠNYASS: D-HAASƠNAM D-HAAS3ƠNAM D3-HAAҠ5ƠNAM D-MMNNGH(BԠ5SԠ MUSҠDSé D5-DSàADDSS D6-PGAMYP D-Z .HKSϠSŠƠPGAMHASANYBASŠPAG AAD A.ƠSϬABSHҠ. B.ƠNԬUNSNMAY. NAMNP GԠNMANMNAMD SBBUMP SBBUMP DAUA̬ɠNAM. SANAMHAAS SBBUMP DAUA̬ɠNAM. SANAM3HAAS3 SBBUMP DAUA̬ɠNAM- ANDM SANAM5HAAҠ5 SBBUMP DAUA̬ SANP̠PGAMNGH SBBUMP DAUA̬ SANBP̠BASŠPAGŠNGH SBBUMP :DAUA̬ SAN̠MMNNGH SBBUMP DAUA̬ SANYPŠPGAMYP SAHҠDUPAŠDNԠNY SBND NDSBD MPNND DAGNҠGNŠHKƠDUPA SZASSNAMSƠADNGM MPNDBAY DANAM PAD SS MPND DANAM3 PAD SS MPND DBNAM5 DAD3 ANDM PAB SS MPND DAұ3DUPAŠPGAMNAM SB DA.5 DBD SBSYU MPABԠ-ҠAB AŠDNԠNY NNDDANAMNSԠPGAMNAM SAD DANAM3 SAD DANAM5 SAD3 ANSԠMMNNGH DBDS SB DAMSGN(BԠ5SԠƠMUSҠDSé ADAN SAD DADSKNMDSàADDSS SAD5ɠNAMD DBNP SSBSSSAVŬƠPGAMASMPD A SAH DANYPŠGԠPGAMYPŠMNAMD ANDM DBGHƠBSD(NAMNGH9 PBN9ŠPGAMYPŠ3 DA.3 SZASSƠPGAMYPŠ0 DA.3ŠPGAMYPŠ3 DBNP ADBN SZBSSƠA̠PGAMNGH0 DA.6ŠPGAMYPŠ6 SAD6ɠSԠNנPGAMYPŠNDN A SAD SAMAàNAZŠMAؠàҠDB DADNԠNMNԠDNԠABŠPN SAPDN DBNBP̠ANYBASŠPAGŠAAD? SZBSS MPNAMɠN-UN DAұYS-NԠADҠ MPABؠAB NAMNP NAM3NP NAM5NP NP̠NP NBP̠NP N̠NP NYPŠNP DSKNMNP HDDB̠DPSS HSUNŠPSSSAABŠDB̠DS. ԠSASSUMDHAԠ"H"HASBNADAND HASUNDADYPŠ3.NADDNH BUҠPNҠSPNNGϠHŠNDDN HŠD. NŠVAABŠMUSԠHAVŠAP-DVAU: MAà-MAؠANADDSSSNAY SԠϠZϠNHŠNAMD PSS UNN: ϠMPUŠHŠNGHƠHŠUNԠPGAM. HSVAUŠSSDN"H"USD UPDAŠHŠNAMDƠHŠPGAMBNG ADDASMPD. DB̠NP DAUA̬ɠSAVŠNGHƠUNԠD ANDM SAMP SBBUMP SBBUMP DBUA̬ɠGԠUNԠANADDSS DAMAàSԠGAҠHANUNԠMA MANAANADDSS? ADAB SSA MPDB̬ɠN-SKP DAMPYS-MPUŠNנPGAM ADABNGH SAH SBMAàSԠNנMAؠàADD MPDB̬ HDNԯԠDPSS HSUNŠPSSSAABŠNԠ DS.ԠSASSUMDHAԠ"H"HASBN ADANDHASUNDDYPŠҠ.N ADDNHŠBUҠPNҠSPNNGϠH SNDDNHŠBU. P-DVAUS: "A"GSҠ-ϠƠԠD -ƠNԠD UNNS: .HKSϠSŠƠNԯԠNAMSAŠNS A.YSN:ƠSԴϬҠ(DUPNԩ ƠSԴϬSԠSԴϠD ƠSԴ<ϬҠ5(SG BŠMANƠMAN HSŠSԠSԴ D :ƠMANVNNUŠPSS ƠSGMNԠSԴ<ϬN. ƠSGMNԠSԴϬNDD NYƠNԠNAM.ƠMAN SԠDϠDƠDNNG PGAM. B.NϻN:PUԠNSԬSԠSԴϠD :PUԠNSԬSԠSԴϠ0 ƠNԠSGMNԻϠMP- MNԠƠDƠSGMN N.ԠNP SANGSAVŠNԯԠAG DAUA̬ɠSԠUNҠϠ-NAMS ANDM3ND MANA SAN SBBUMPBUMPBUҠPNҠϠSAԠ SBBUMPSYMB̠NAM SAVNMDAUA̬ɠSAVŠSYMB̠NAMŠNBU SABU SBBUMP DAUA̬ SABU+ SBBUMP DAUA̬ ANDM SABU+ SBBUMPPSNPNҠϠNԠNAM SBNSԠSAHSԠҠNAM NԠSBS MPNNԠ-NԠUND DABU PASԱ SS MPN DABU+ PASԲ SS MPN DAS3 ANDM PABU+ SS MPN NAMŠUNDNS DANGNԠҠ? SZASS MPԱԠPSSNG DASԴɠDADDSSAADYASSGND? SZASS MPSDAN-SԠDADDSS SSASS MPDUPYS-DUPNYPNԠ DAD6 ANDM PA.3 SS MPSDA DAұ5 MPAB DUPDA0DUPAŠNYPNԠ SB DA.5UPUԠNAMŬHNAB DBSԱ SBSYU MPAB SDADADSԠADDSSƠDNYN SASԴɠSԴ MPNԱ NAMŠNԠUNDNS NNԠDABUƠPUԠSYMB̠NAMŠNS SASԱ DABU+ SASԲ DABU+ SAS3 AAҠBPNKNS SAS5 DASԠNMNԠSԠPN SAPS DANGSԠSԴADNGϠD SZAYP: MPSDAƠNԬSԴD DAD6ɠƠԬSԴ-DƠSGMN ANDM0ƠMAN DBD PA.5 MBSS B SBSԴ ԱDAD6ɠUHҠPSSNGNSSAY ANDMPGAMNANNGԠSA PA.5SGMN SS MPNԱHS.NϠHŠN DADSAVŠDADDSSƠSGMN SAMAN DASԴɠHASSPNDNGNYBN SZADND? SSA MPNԱN-SKP SADNԠYS-SԠϠGԠD'SҠPG SBDؠDNNGN MPҠ(SHUDNDԩ DAD6ɠSPGAMNANNGNYPN SSASSASUBUN? MPNMNYS-SԠҠNԠMAN ANDMNϠ-SԠAMAN? PA.3 BSSYSMP-ҠMAN NMNB SBMP DAMANSŠDNԠNYƠPGAM SADNԠNANNG. SBD MP SZMPASPGAMNANNGNԠAMAN? MPNԱN-GԠNԠSYMB DASԴɠYS-SԠDADDSSƠMAN SADɠNϠDƠSGMN NԱDANGƠNԬBUMPPNҠPAS SZAAABŠADDSS SBBUMP SZNԠDNŠHA̠SYMBSND? MPSAVNMN-PSSNԠNAM MPN.ԬɠYS-UN HDNDDPSS HSUNŠPSSSAABŠNDDS. ԠSASSUMDHAԠ"H"HASBNOB@CAD SBDנSSUŠADHUԠAԠҠBUA SBN̠SԠҠBAԠҠAUSԠB MPNNAM DUNPDSàGA̠UNԠ àԠ0000HUԠA MNDNP ABGNPABBUҠAG SPà3 DSKADHUԠA DנNP DAAABUƠƠABG0SԠҠNPU DBABGNϠABUƠHNS SZBABG0. DAABBUƠƠABG0SԠҠNPU SABUƠNϠBBUƬHNS SZBABG0. A SAABG SB DƠ+ DƠN DƠMND BUƠNPSԠMABG DƠ. DƠ DƠS MPD׬ AABUƠDƠABU ABBUƠDƠBBU ABUƠBSS BBUƠBSS SPà3 NPUԠAABŠD N̠NP DADSKDNMNԠDS SBNDAMPUŠNԠDSàADDSS SADSKDBAKNϠAKS SBGS SBA DABUƠNAZŠAABŠNPU SAUA̠BUҠPNS DAN SAN SZDSNԠNMNԠSҠAD SBDנNAŠNԠAD MPN̬ SPà3 AԠҠUNԠDSàANSҠϠMP AԠNP SB DƠ+5 DƠN3SAUSUS DƠDUGA̠UNԠSPDAԠNAM DƠSA DƠG SSAƠBUSY MPA+P MPAԬ N3Dà-3 SAԠNP GNP SPà3 GԠAKSҠMUNԠDSàADDSS GSNP SABSAVŠUNԠDSàADDSS ANDM3 SASԠSҠNנBS DAB AƬA ANDM3 SAҠAKNUPPҠBS MPGS SԠNPUNԠHDSàSҠ ҠNPUNԠDSàAK SPà3 NԠDSàADDSS NDANP SBDSKAADDSSNMAY DBDҠƠADNMNԬ SZBSSNנDSàADDSSS MPNDAɠN"A" SABƠBAKADNMNԬ ANDM3SԠHKϠS SZAƠNנAK MPNDAN-VAUŠNBSK BƬBƠYS-DMNԠBAK ADBNAKS BƬBƠAŠϠHGHBS NDADABUPDAŠN MPNDA SKP GNDGNASHŠDYNYҠHŠPGAMADD. GNDNP A SAPG DAMANSԠADDSSҠD SADN SBD MP DAD SBUDNAMŠϠDY DAD SBUDNAMŠ3ϠDY DAD6ɠGԠYP ANDM DBDVҠADNGDVS? PB. DA.YS-SԠϠYPŠ ҠM00SԠ-P-B SAB DAD3ɠNAMŠ5 ANDM ҠB SBUDNAMŠ5PYPŠϠDY DADSKMN SBUDMANDSàADDҠϠDY DAPP DBPYP PB.5 DABSPAD ADABSSDP SABU MANA ADAP ADA. ANDM600 AƬA A SABU+MANƠSS DAPB PB.5 DABSBAD SABU+נBAS MANA ADAB ADA. ANDM600 AƬA A ADABU+A̠ƠSS SBUDNUMBҠƠSSϠDY DABU SBUDנMANADDҠϠDY DAP SBUDHGHMANADDҠϠDY DABU+ SBUDנBASŠADDSSϠDY DAB SBUDHGHBASŠADDҠϠDY DBDVҠƠADNGɯϠDVSND PB..ؠAND.ؠNYPNS MPDVADҠDYNY DAPN SBUDPMAYNYADDSSϠD DAP SBUDASԠDADDSSϠDY DVNDBNԠHKƠBGNNNGƠNנS PBN MPGNDɠNנSҠBGUNUN DANԠHKƠMҠANH ADA.0DYNY SSA MPGNDɠMҠANHҠNYUN A SBUDSԠANHҠDYNYSG DBN SBMPSԠZϠUPUԠUN PBN MPGND A SBUDUPUԠZϠϠDҠBU SZMP MP-3UPUԠANHҠZϠϠBU MPGNDɠUN BYNPSԠBҠPGADADDSS DVADSAHSHŠSԠҠHŠ.ؠ. NYPNSҠHŠɯϠDVҠBNG ADD. HSŠVAUSAŠHNSDN DS0ƠHŠDYNY DVADDADɠNDHŠؠNUMBҠM ANDMHŠDVؠNAM.S AƬAƠHŠASɠؠNMP. SAMP DAD3 AƬA ANDM ҠMP SAMP SBNSԠSAHS DVұSBS MPDVҲ DASԱ PADà.? MPP PADà.? SS MPDVұ SBDVSHKҠԠ SABYSԠ.ؠADDSS MPDVұ PSBDVSHKҠԠ SAPNԠSԠ.ؠADDSS MPDVұ DVҲDAPN SBUDUPUԠD0-. DABY SBUDUPUԠD-. MPDVN DVSNP DASԲɠؠMAH? PA=MP SS MPDVұN DAS3 ANDM PAUBNK5HAHҠBANK? SS MPDVұN DAS5ɠGԠBPNK ADABPԠMPUŠABSUŠADDSS ADABPBU DAA MPDVSɠUNHADDSSN"A" DàASà. DàASà. UDSSDYNSNDSGMNԠBU ANDSԠNDSàHNԠBMSU. UDNP SAUAɬɠSŠDNϠDBU SZUAɠNҠBUҠADD SZNԠNҠUN MPUDɠUN-NԠU SBSҠSԠUSҠDSàAGNBASŠPAG DADSKD DBABU SBDSKϠŠSҠƠDY DBABU SBUAɠSԠNנUNԠBUƠADD SBBU̠AҠBU DASNŠUNԠDSàADDSS SADSKD ANDM3 SZASSN MPDHAUԠƠDYSPA DAN SANԠSԠUNԠBUƠUN MPUDɠUN SKP ABDϠPUSUԠUNԠABSUŠDŠDҠHŠPGAM BNGADD. ƠDSNUNԠSҬԠSNSD. ƠDDSNԠԠNUNԠSҬHŠUNԠS SUPUԠANDHŠNנSҠADN. ADDNAYHŠAŠHKSҠMMYVנANDMMY VAP ANGSUN: DAMES DID NOT COMPARE LDB OPNTP POINTER TO LAST ENTRY ADB WPOTE BIAS TO NEXT ENTRY IN O.T. JMP CKNOE CHECK NEXT OPEN ENTRY OPNTP OCT 0 OPEN TABLE POINTER SKP SKP * CKCLM - CHECK CORE LIMITS * ENTER: * A = STARTING ADDRESS OF CORE TO BE CHECKED. * B = LENGTH (IN WORDS) OF BUFFER TO BE CHECKED. * EXIT: * B = SAME AS ENTRY * P+1 = INVALID BUFFER AREA. * P+2 = VALID BUFFER AREA. * A = STARTING ADDR. OF CORE TO BE CHECKED * OR EFFECTIVE ADDR. IF ORIGINAL WAS INDIRECT. * CKCLM NOP CHECK CORE LIMITS EFFA1 EQU * SZA,RSS ERROR IF 0 OR 1 JMP CKCLM,I 0, SO ERROR CPA D1 JMP CKCLM,I 1, SO ERROR RAL,CLE,SLA,ERA RSS JMP EFFAD VALID, EFFECTIVE ADDR. LDA A,I GET NEXT ADDR. IN INDIRECT CHAIN JMP EFFA1 AND PROCESS IT. EFFAD EQU * STA CORAD SAVE CORE ADDR. CMA ADA UMFWA USER MEMORY FWA SSA,RSS .GE. 1ST USER WORD? JMP CKCLM,I NO, RETURN LDA CORAD ADA B CALCULATE FINAL ADDR. CMA,INA ADA UMLWA USER MEM. LAST WORD ADDR. SSA TOO BIG? JMP CKCLM,I YES LDA VALSU VALID SETUP FLAG SZA,RSS VALID SETUP? JMP CKLMR NO, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER CMA,INA ADA OPNTE END OF OPEN TABLE BUFFER SSA START .GT. END OF OPEN TABLE? JMP CKLMR YES, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER ADA B NO OF WDS. IN BUFFER CMA,INA ADA OPNTB START OF OPEN TABLE SSA END .LE. START OF OPEN TABLE? JMP CKCLM,I NO, ERROR CKLMR EQU * CHECK-LIMIT RETURN LDA CORAD ISZ CKCLM VALID BUFFER AREA JMP CKCLM,I RETURN CORAD OCT 0 SKP * CMPAR - COMPARE FIqLE NAMES * ENTER: * A = ADDRESS OF FILE NAME REQUESTED. * B = ADDRESS OF FILE NAME TO BE COMPARED. * EXIT: * P+1 = NAMES DO NOT COMPARE * P+2 = NAMES COMPARE * CMPAR NOP COMPARE FILE NAMES STA AFLNM ADDR. OF FILE NAME LDA MD5 NUMBER OF CHARS TO COMPARE(-) STA CPRNC STORE COUNT CLE RESET 1ST/2ND FLAG COM2C EQU * LDA B,I PICK UP 2 CHAR. IN WORD REQ. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS STA COM1C SAVE TO COMPARE 1 CHAR. LDA AFLNM,I PICK UP 2 CHAR. IN WORD TO COMP. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS CPA COM1C ARE 2 CHAR'S. EQUAL RSS EQUAL SO FAR JMP CMPAR,I RETURN NAMES DO NOT COMPARE ISZ CPRNC FINISHED? JMP *+3 NO ISZ CMPAR P+2 JMP CMPAR,I RETURN SEZ,CME,RSS CHECK 2ND CHAR.? JMP COM2C YES ISZ AFLNM BUMP POINTER TO REQUESTED NAME INB BUMP POINTER TO NAME TO BE COMP. JMP COM2C-1 AFLNM OCT 0 ADDR. OF FILE NAME COM1C OCT 0 TEMP. FOR COMPARE 1 CHAR. CPRNC OCT -5 (-) NO. OF CHARS TO COMPARE SKP * ASDEC - ASCII TO DECIMAL CONVERSION * ENTER: * A = ASCII CHAR TO BE CONVERTED IN LO 8 BITS: * EXITS: * P+1 = NO. NOT BETWEEN 0 AND 9 INCLUSIVE * P+2 = VALID NUMBER * A = CONVERTED NUMBER * ASDEC NOP ASCII TO DEC. CONVERSION AND L8BT SAVE ONLY RIGHT CHAR. ADA MB60 BIAS TO NO. 0 SSA IS NO. .GE. TO ZERO? JMP ASDEC,I NO, ERROR ADA MD10 BIAS FOR NO. 9 SSA,RSS LESS THAN 10? JMP ASDEC,I NO, ERROR ADA D10 RESTORE NO. ISZ ASDEC P+2 JMP ASDEC,I RETURN SKP * T.STS - CONVERbR<:6T TRACK/SECTOR TO SECTORS * ENTER: * A = T/S TO BE CONVERTED * EXIT: * A = TOTAL SECTORS * B IS SAVED * T.STS NOP T/S TO SECTORS STA T.STM SAVE T/S TO BE CONVERTED STB T.STM+1 SAVE B FOR EXIT AND L8BT STRIP SECT. NO. STA T.STM+2 SAVE SECTOR NO. LDA T.STM T/S ALF,ALF PUT TK. NO. IN LO 8 BITS AND L8BT STRIP TK. NO. LDB SECTR JSB MPY CALC. TOTAL SECTORS/TRACK SZB OVERFLOW? JSB ER23 YES, INVALID ARGUEMENT ADA T.STM+2 ADD REMAINING SECTORS LDB T.STM+1 RESTORE B JMP T.STS,I RETURN T.STM OCT 0,0,0 TEMP. STORAGE SPC 1 * STT.S - SECTORS TO TRACK/SECTOR * ENTER: * A = TOTAL SECTORS TO BE CONVERTED <  24309-80004 1523 S 0122 DOS EFMP $EX30 (NON EAU)              H0101 -* EXIT: * A = TRACK/SECTOR * B IS SAVE * STT.S NOP SECT. TO T/S STB T.STM+1 SAVE B FOR EXIT CLB JSB DIV CALC. NO. TRKS. PLUS REMAINDER DEF SECTR SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR ALF,ALF SAVE NO. TRACKS IN HI 8 BITS ADA B INCLUDE NO. SECTORS LDB T.STM+1 RESTORE B JMP STT.S,I RETURN SKP * STZ - STORE ZEROS INTO A BUFFER (STSPC STORES SPACES) * ENTER: * A = (-) NO. OF WORDS TO CLEAR * B = STARTING ADDR. OF 1ST WORD * EXIT: * A = 0 * B = POINTER TO END-OF-BUFFER + 1 * STZ NOP STORE ZEROS STA STZX1 SAVE NO. WORDS TO MOVE,(-). CLA STA B,I PACK W/ ZEROS INB BUMP POINTER TO BUFFER ISZ STZX1 FINISHED? JMP *-3 NO JMP STZ,I RETURN STZX1 OCT 0 INDEX REG SKP * GRTXX - GENERAL READ FOR DISC TRACK X SECTOR X * ENTER: * A = TRACK/SECTOR * B = ADDRESS OF BUFFER * GNS = NO. OF SECTORS TO MOVE * GSC = SUB CH. * EXIT: * BUFFER TRANSFERRED FROM DISC * GRTXX NOP GENERAL READ TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD READ REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GRTXX,I RETURN SPC 1 GRWSU NOP GENERAL R/W SETUP STB REQC SAVE REQUEST CODE STA DRWBF PACK T/S * CHECK TO INSURE T/S DOES NOT OVERFLOW JSB T.STS ADA GNS CALC. LAST TK. TO BE ACCESSED CMA,INA STA DRWBF+2 SAVE TEMPORARILY LDA SECTR SECT./TK. LDB D200 JSB MPY CALC. ABSOLUTE SECTORS LDB GNS NO. SECT. TO TRANSFER CLE THIS IS A 16 BIT ARITHMETIC COMPARE ADA DRWBF+2 CALC. OVERFLOW IF ANY SEZ,RSS OVERFLOW? ADB A YES, TRANSFER UP TO MAX AVQAILABLE LDA D128 WORDS/SECT. JSB MPY CALC. NO. WDS. TO TRANSFER STA DRWBF+2 NO. WORDS TO TRANSFER LDB GSC SUB CH. TO BE USED JSB CKDRI CHECK DRIVE LDA ADRWB ADDR OF R/W BUFFER LDB REQC REQUEST CODE OCT 0 FOR DEBUGGING JSB $DISC OCT 0 FOR DEBUGGING JMP GRWSU,I RETURN ADRWB DEF DRWBF DRWBF EQU * DISC R/W BUFF. OCT 0 DISC T/S GBUF OCT 0 ADDR. OF I/O BUFF. OCT 0 WORD COUNT SPC 1 * CKDRI - CHECK DRIVE NO. * ENTER: * B = DESIRED SUB CH. * EXIT: * CUDSC PACKED * CRFLG SET IF NECESSARY * CUDLA SET IF NECESSARY CKDRI NOP CHECK DRIVE LDA CUDSC CURRENT SUB CH. OCT 0 FOR DEBUGGING STB CUDSC CUR. USER DISC SUB CH. CPB SYSSC SYSTEM SUB CH? RSS YES ISZ CRFLG SET DVR FLAG TO USER DISC ARS CALC. DRIVE NO. BRS CALC. DRIVE NO. CPA B SAME DRIVE? JMP *+3 YES LDA L8BT NO STA CUDLA FORCE LAST T/S TO BE MAX JMP CKDRI,I SPC 3 * GWTXX - GENERAL WRITE FOR DISC TRACK X SECTOR X * ENTER: * SAME AS GRTXX * EXIT: * SAME AS GRTXX * GWTXX NOP GENERAL WRITE TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD+1 WRITE REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GWTXX,I RETURN GSC OCT 0 SUB CH. FOR GENERAL R/W GNS OCT 0,0 NO. SECT, NO. WORDS TO XFER REQC OCT 0 REQUEST CODE SKP * RTXSX - READ TRACK X SECTOR X INTO $BUF. * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TK X SEC X PUT INTO $BUF. * RTXSX NOP READ TK X SECT X LDB TRKIO GET TRACK NO. BLF,BLF PUT TK. NO. IN HI BITS STB DRWBF LDB REQCD READ RTSXX EQU * LDA SECIO GET SECTOR NO. IOR DRWBF PACK SECT. NO. STA DRWBF SAVE T/S LDA A$BUF ADDR. OF I/O BUFF. STA DRWBF+1 LDA D128 WORDS/SECT. STA DRWBF+2 LDA ADRWB ADDR. OF CALL BUFFER JSB $DISC CLA STA XFLG CLEAR INVALID SUB CH. FLAG RETURN JMP RTXSX,I RETURN A$BUF DEF $BUF REQCD EQU D1 SPC 3 * WTXSX - WRITE TRACK X SECTOR X FROM $BUF * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TRACK X SECTOR X ON DISC FROM $BUF * WTXSX NOP WRITE TK. X SECT. X LDB TRKIO GET TRACK NUMBER BLF,BLF PUT TK. NO. IN HI 8 BITS STB DRWBF SAVE IT TEMP. LDB WTXSX STB RTXSX PACK RETURN ADDR. LDB REQCD+1 WRITE JMP RTSXX SKP *GETDE - GET DIRECTORY ENTRY * ENTER: * B = ADDR OF OPEN TABLE ENTRY * EXIT: * CNAME = ADDR OF DIRECTORY ENTRY * TRKIO = TRACK OF DIRECTORY SECTOR * SECIO = SECTOR OF DIRECTORY ENTRY * GETDE NOP STB ANAME SAVE ADDR OF NAME ADB D9 INCREMENT TO DIREC ENT T/S FIELD LDA B,I GET DIREC ENTRY T/S JSB PRETS PREPARE T/S FOR I/O LDB PAKSC GET SUBCHANNEL CLA READ SWITCH JSB PRWIO READ DIRECTORY SECTOR LDB A$BUF GET ADDR OF $BUF STB CNAME STORE IT NDIRE EQU * LDA ANAME GET ADDR OF FILE NAME JSB CMPAR EQUAL TO CURRENT ENTRY ? RSS NO JMP GETDE,I YES, RETURN LDB CNAME GET ADDR OF CURRENT ENTRY ADB D9 INCREMENT TO NEXT ENTRY STB CNAME STORE NEW ADDR JMP NDIRE CONTINUE CNAME BSS 1 ADDR OF ENTRY ANAME BSS 1 ADDR OF DESIRED FILE NAME SPC 3 * CNVDA - CONVERT DECIMAL TO ASCII * ENTER: * A = DECIMAL VALUE TO CONVERT(0-999) * B = ADDR OF ASCII OUTPUT * EXIT: * q FIRST 3 BYTES OF ADDR GIVEN IN B = ASCII VALUE CNVDA NOP STA DECVL SAVE DECIMAL VALUE STB ASCVL SAVE ADDR OF OUTPUT CLB CLEAR HI DIVIDEND JSB DIV DIVIDE BY 100 DEF D100 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(100'S) ALF,ALF STA ASCVL,I STORE 1ST ASCII CHARACTER(100'S) CLB CLEAR HI DIVIDEND LDA DECVL INIT LO DIVIDEND JSB DIV DIVIDE BY 10 DEF D10 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(10'S) XOR ASCVL,I STA ASCVL,I STORE 2ND ASCII CHARACTER(10'S) LDA DECVL GET REMAINDER(1'S) IOR AMASK CONVERT TO ASCII CHARACTER ALF,ALF LDB ASCVL ADB D1 STA B,I STORE 3RD ASCII CHARACTER(1'S) JMP CNVDA,I RETURN DECVL BSS 1 DECIMAL VALUE SAVE AREA ASCVL BSS 1 ADDR OF OUTPUT AREA AMASK OCT 60 MASK FOR CONVERSION SPC 3 * CNPND - CONVERT PACK NUMBER TO DECIMAL * ENTER: * A = ADDR OF 3RD CHAR OF PACK NAME * EXIT: * P+1 = NOT DECIMAL * P+2 = DECIMAL * A = DECIMAL PACK NO. * DPNO = DECIMAL PACK NO. * CNPND NOP STA PNADR SAVE ADDR OF PACK NO. LDA A,I GET FIRST CHAR ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DPNO STORE RESULT LDA PNADR,I GET 2ND CHAR JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT LDA DPNO CALCULATE INTERMEDIATE RESULT LDB D10 JSB MPY ADA DECPN STA DPNO SAVE INTERMEDIATE RESULT LDB PNADR GET 3RD CHAR ADB D1 LDA B,I ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT LDA DPNO CALCULATE FINAL RESULT LDB D1u0 JSB MPY ADA DECPN STA DPNO SAVE RESULT ISZ CNPND P+2 JMP CNPND,I RETURN PNADR BSS 1 ADDR OF PACK NO. DPNO BSS 1 DECIMAL TOTAL DECPN BSS 1 DECIMAL VALUE SPC 3 * CKSPC - CHECK FOR SUFFICIENT FILE SPACE * ENTER: * PNEAD = ADDR OF PACK NO. ENTRY * NOSEC = NO. SECTORS * EXIT: * P+1 = INSUFFICIENT SPACE * P+2 = SUFFICIENT SPACE * CKSPC NOP LDA PNEAD GET ADDR OF PACK NO. ENTRY ADA D3 INCREMENT TO LAST SECTOR ALLOCATED LDB A,I GET LAST SECTOR ALLOCATED CMB,INB COMPUTE TOTAL SECTORS UNUSED ADA MD2 ADB A,I STB SECLF SAVE COUNT OF UNUSED SECTORS LDA NOSEC GET NO. OF SECTORS NEEDED CMA,INA ADA SECLF SSA ENOUGH SECTORS AVAILABLE ? JMP CKSPC,I NO, RETURN P+1 ISZ CKSPC YES, P+2 JMP CKSPC,I RETURN SECLF BSS 1 NO. OF UNUSED SECTORS SPC 3 * STPNO - STORE PACK NO ENTRY OFFSET * ENTER: * A = ADDR OF OPEN TABLE ENTRY * PNEAD = ADDR OF PACK NO. ENTRY * EXIT: * PACK NO. OFFSET STORED IN OPEN TABLE ENTRY * STPNO NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR ADA D2 INCREMENT TO PACK NO. OFFSET FIELD LDA A,I GET PACK NO. OFFSET AND H8BT ZERO IT LDB OTEAD ADB D2 STA B,I STORE IT LDA OPNTB GET START OF OPEN TABLE CMA,INA ADA PNEAD GET START OF PACK NO. ENTRY CLB CALCULATE OFFSET JSB DIV DEF D4 LDB OTEAD GET OPEN TABLE ENTRY ADB D2 INCREMENT TO PACK NO. OFFSET FIELD XOR B,I STA B,I STORE PACK NO. OFFSET JMP STPNO,I RETURN OTEAD BSS 1 ADDR OF OPEN TABLE ENTRY SPC 3 * SFSTS - STORE FIRST T/S OF THE FILE * ENTER: * A = ADDR OF OPEN TABLE ENTRY(REL SECTOR OFFSET IN 4TH WORD) * > PNEAD = ADDR OF PACK NO. ENTRY * * EXIT: * STARTING T/S STORED IN OPEN TABLE ENTRY * SFSTS NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR LDA PNEAD,I GET STARTING T/S OF PCAK NO. JSB T.STS CONVERT TO SECTORS LDB OTEAD GET OPEN TABLE ENTRY ADDR ADB D3 INCREMENT TO SECTOR FIELD ADA B,I ADD REL SECTOR OFFSET ADA MD1 ADJUST TO STARTING REL SECTOR JSB STT.S CONVERT TO T/S STA B,I STORE STARTING T/S IN OPEN TABLE JMP SFSTS,I RETURN SPC 3 *PRETS - PREPARE TRACK/SECTOR *ENTER: * A = TRACK/SECTOR *EXIT: * TRKIO = TRACK NO. * SECIO = SECTOR NO. PRETS NOP STA TSTMP SAVE THE T/S ALF,ALF SHIFT TRACK NO. TO RIGHT MOST BYTE AND L8BT ZERO LEFT MOST BYTE STA TRKIO STORE TRACK NUMBER LDA TSTMP GET THE T/S AND L8BT ZERO LEFT MOST BYTE STA SECIO STORE SECTOR NUMBER JMP PRETS,I RETURN TSTMP OCT 0 TEMPORARY SPC 3 *PRWIO - PREPARE FOR READ/WRITE *ENTER: * A = 0(READ)/1(WRITE) * B = SUBCHANNEL NO. *EXIT: * TRK X SEC X ON DISC FROM $BUF PRWIO NOP STA RWSWH SAVE READ/WRITE SWITCH CPB SYSSC SYSTEM SUBCHANNEL RSS YES JSB CKDRI NO, CHECK THE DRIVE LDB RWSWH GET READ/WRITE SWITCH SZB READ ? JMP WXX NO JSB RTXSX YES, READ THE RECORD JMP PRWIO,I RETURN WXX EQU * JSB WTXSX WRITE THE RECORD JMP PRWIO,I RETURN RWSWH OCT 0 TEMPORARY SPC 3 * CKPNT - CHECK FOR AN AVAILABLE ENTRY OR AN EXISTING ENTRY * ENTER: * A = 0(CHECK FOR AN AVIALABLE ENTRY) * = 1(CHECK FOR AN EXISTING ENTRY) * B = PACK NO.(IGNORED IF A IS NOT 1) * EXIT: * P+1 = NO ENTRY AVAILABLE/NO ENTRY FOUND * P+2 = ENTRY FOUND/ENTRY AVAILABLE * $PNEAD = ADDR OF FOUND/AVAILABLE ENTRY * PAKSC = PACK SUBCHANNEL OF FOUND ENTRY * CKPNT NOP SZA CHECK FOR AN AVAILABLE ENTRY JMP CKEXE NO LDB NXPTL GET NEXT AVAILABLE ENTRY ADDR CPB FTRBE END OF PACK NO. ENTRIES ? JMP CKPNT,I YES, RETURN P+1 STB PNEAD NO, STORE NEXT ENTRY ADDR ISZ CKPNT P+2 JMP CKPNT,I RETURN CKEXE EQU * LDA OPNT1 GET START OF OPEN TABLE FILE ENTRY CKXPN EQU * CPA NXOTL END OF OPEN TABLE ACTIVE ENTRIES ? JMP CKPNT,I YES, RETURN P+1 ADA D10 INCREMENT TO PACK NO. CPB A,I EQUAL TO REQUESTED PACK NO. ? JMP PNFND YES ADA D6 INCREMENT TO NEXT ENTRY JMP CKXPN CONTINUE SEARCH PNFND EQU * ADA D2 INCREMENT TO SUBCHANNEL FIELD LDB A,I GET SUBCHANNEL STB PAKSC STORE PACK SUBCHANNEL ADA MD10 BACK UP TO PACK NO. ENTRY NO. FIELD LDB A,I GET PACK NO. ENTRY NO. LDA B TRANSFER TO 'A' FOR 'AND' AND L8BT CLEAR MEANINGLESS BITS LDB D4 JSB MPY CALC. OFFSET ADA OPNTB CALCULATE ENTRY ADDR STA PNEAD STORE PACK NO ENTRY ADDRESS ISZ CKPNT P+2 JMP CKPNT,I RETURN PNEAD BSS 1 PACK NO. ENTRY ADDR SPC 3 * MVPNT - MOVE PACK NO. TABLE * ENTER: * A = OFFSET IN LO 8 BITS OF PACK NO. ENTRY * WHICH HAS HAD AN OPEN TABLE FILE ENTRY DELETED * EXIT: * UPDATED PACK NO. TABLE(IF NEEDED) * MVPNT NOP AND L8BT CLEAR LEFT BYTE STA OFFST SAVE PACK NO. OFFSET LDB OPNT1 GET FIRST OPEN TABLE ENTRY NXOTE EQU * CPB NXOTL END OF ENTRIES JMP UPNTB YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. OFFSET AND L8BT CLEAR LEFT BYTE CPA OFFST EQUAL TO OFFSET OF DELETED FILE ENTRY JMP MVPNT,I YES, RETURN ADB D14 NEXT OPEN TABLE ENTRY JMP NXOTE CONTINUE UPNTB EQU * LDA OFFST GET DELETED OFFSET STA OFFS1 STORE IT LDB D4 JSB MPY ADA OPNTB UNXEN EQU * ADA D4 INCREMENT TO NEXT ENTRY CPA NXPTL END OF PACK NO. ENTRIES ? JMP UNXPT YES STA SVPNA SAVE PACK NO. ENTRY ADDR LDB A SAVE ADDR OF CURRENT ENTRY TO MOVE ADB MD4 BACK TO FIRST WORD OF NEW ENTRY TO USE STB NEADR STORE ADDR OF NEW ENTRY MNXWD EQU * LDB A,I MOVE WORD STB NEADR,I LDB NEADR INCREMENT TO NEXT WORD ADB D1 STB NEADR CPB SVPNA ENTRY MOVED ? JMP UDONE YES ADA D1 INCREMENT TO NEXT WORD JMP MNXWD MOVE NEXT WORD UDONE EQU * LDB OFFST GET DELETED OFFSET ADB D1 INCREMENT STB OFFS1 SAVE OFFSET TO CHANGE LDB OPNT1 GET START OF OPEN TABLE FILE ENTRIES CNXOT EQU * CPB NXOTL END OF OPEN TABLE ENTRIES JMP CKMPN YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. AND L8BT CLEAR LEFT BYTE CPA OFFS1 OFFSETS EQUAL ? RSS YES JMP INXOT NO LDA B,I GET PACK NO. AND H8BT CLEAR RIGHT BYTE STA B,I STORE LDA OFFST GET NEW OFFSET XOR B,I STA B,I STORE NEW OFFSET INXOT EQU * ADB D14 INCREMENT TO NEXT OPEN TABLE ENTRY JMP CNXOT GO CHECK NEXT ENTRY CKMPN EQU * LDA OFFST GET OFFSET TO CHANGE ADA D1 INCREMENT STA OFFST STORE LDA SVPNA GET PACK NO. ENTRY ADDR. JMP UNXEN CONTINUE UNXPT EQU * LDA NXPTL UPDATE NEXT PACK NO. ENTRY ADDR ADA MD4 STA NXPTL JMP MVPNT,I RETURN OFFST BSS 1 OFFSET TO CHANGE OFFS1 BSS 1 NEW OFFSET SVPNA BSS 1 CURRENT PACK NO. ENTRY ADDR NEADR BSS 1 NEW ENTRY ADDR SPC 3 * SVPNS - SAVE ARGUEMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS SAVED * SVPNS NOP LDA MD9 NO. OF WORDS TO SAVE STA MOVCT SAVE MOVE COUNT LDA ATRKI ADDR OF ARGUMENTS TO SAVE LDB ASRCS ADDR OF SAVE AREA JSB MOVE SAVE THE ARGUMENTS JMP SVPNS,I RETURN P+1 ASRCS DEF SRCSV ADDR OF SAVE AREA SRCSV BSS 9 SAVE AREA SPC 3 * REPNS - RESTORE ARGUMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS RESTORED * REPNS NOP LDA MD9 NO. OF WORDS TO RESTORE STA MOVCT SAVE MOVE COUNT LDA ASRCS GET ADDR OF SOURCE LDB ATRKI GET ADDR OF RESTORE AREA JSB MOVE RESTORE THE ARGUMENTS CLA READ LDB PAKSC GET THE SUBCHANNEL JSB PRWIO RESTORE $BUF JMP REPNS,I RETURN P+1 SPC 3 * EXIT: * A = CHECKSUM * CKSUM NOP LDB OPNTB GET START OF OPEN TABLE(1ST PN ENTRY) CCA START AT -1 PNLOP EQU * CPB NXPTL END OF PN ENTRIES ? JMP SUMOE YES XOR B,I COMPUTE CHECK SUM ADB D1 INCREMENT TO NEXT CHECK SUM WORD JMP PNLOP CHECK FOR END OF PN ENTRIES SUMOE EQU * LDB OPNT1 GET START OF OPEN TABLE ENTRIES DELOP EQU * CPB NXOTL END OF OPEN TABLE ENTRIES ? JMP CKSUM,I YES ADB D2 INCREMENT TO FIRST CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D6 INCREMENT TO SECOND CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D2 INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D4 INCREMENT TO NEXT OPEN TABLE ENTRY JMP DELOP  NO HED MULTIPLY AND DIVIDE ROUTINES * MPY - MULTIPLY TWO SIXTEEN BIT NUMBERS * ENTER : * A = MULTIPLICAND * B = MULTIPLIER * * EXIT : * A = LEAST SIGNIF. VALUE * B = MOST SIGNIF. VALUE * IFZ MPY NOP STB MULPL STORE MULTIPLIER OCT 100200 MULTIPLY DEF MULPL ADDR OF MULTIPLIER JMP MPY,I XIF SPC 3 IFN MPY NOP STA MPYTM SAVE MULTIPLICAND LDA MD16 MAX NO. OF SHIFTS STA MPYX1 CLA INITIALIZE PRODUCT NXTBT EQU * CLE,ELA ELB SEZ,CLE ADA MPYTM SEZ INB ISZ MPYX1 JMP NXTBT JMP MPY,I MPYTM OCT 0 TEMP. STORAGE MPYX1 OCT 0 INDEX REG. XIF * DIV - DIVIDE A 32 BIT NUMBER BY A 16 BIT NUMBER * ENTER: * A = LEAST SIGNIF. VALUE OF DIVIDEND * B = MOST SIGNIF. VALUE OF DIVIDEND * CONTENTS OF 'DIV' = ADDR OF ADDR OF DIVISOR * * EXIT: * A = QUOTIENT * B = REMAINDER * RETURN P+2 * IFZ DIV NOP STB SCRTH SAVE HIGH DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB B,I GET DIVISOR STB MULPL STORE FOR DIVIDE LDB SCRTH RESTORE HIGH DIVIDEND OCT 100400 DIVIDE DEF MULPL ADDR OF DIVISOR ISZ DIV P+2 JMP DIV,I RETURN MULPL OCT 0 DIVISOR SCRTH OCT 0 TEMP XIF SPC 3 IFN DIV NOP STB TEMPP SAVE HI DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB 1,I GET DIVISOR ISZ DIV BUMP RETURN SZB,RSS ZERO DIVISOR JMP OVFLO YES CLE,SSB SET B TO ABS AND E TO SIGN CMB,CME,INB STB PLUSD STORE POSITIVE DIVISOR CMB,INB STB MIND STORE NEGATIVE DIVISOR LDB M16 STB COUNT INITIALIZE COUNTER LDB MD2 STB SIGNN EB@ASMB,R,B,L,C,Z $EX30 7905 HED CORE RESIDENT EFMP MODULE NAM $EX30,0,0 7905 * **************************************************** 7905 * * 7905 * REV. 6-11-75 * 79A5 * USE Z OPTION FOR EAU VERSION * USE N OPTION FOR NON EAU VERSION * * 7905 **************************************************** 7905 * ENT $EX30,EFCON EXT $BUF EXT $MDLD EXT $DISC EXT $IRT EXT $SYIO,$WAIT EXT $CLER EXT DEF04 EXT DEF31,DEF32,DEF33 ENT ENDTS,AINVC,SRCDR ENT FLNGH,NOTRB,NSUWA,WPTRB,NXOTL,NXTFP ENT OPNTB,STSWA,TRBUF,TRBSZ,ARQP1,DPNO ENT A$BUF,END$B,NOPAS,FTRBE,PN ENT OPNT1,PAKSC,OPNSZ,OPNTE,PNEAD,APN00 ENT DESIZ,TRKIO,SECIO,CNAME,NOSEC ENT VALSU ENT ERROR ENT MOVCT,NXPTL,EBIAS,GTNXE,GSC,GNS ENT MASUB A EQU 0 B EQU 1 . EQU 53B @ EQU 100B L7BT EQU 73B L8BT EQU 74B H8BT EQU 75B UMLWA EQU @+0 JBINS EQU @+1 JBINC EQU @+2 SYSBF EQU @+15B SECTR EQU @+16B XIRT EQU @+37B DISCO EQU @+54B SYSSC EQU @+55B SCCNT EQU @+56B UDNTS EQU @+57B SYNTS EQU @+60B NEXT SYST. DISC TRACK/SECT. CUDSC EQU @+61B CRFLG EQU @+62B CURRENT DISC REQ. FLAG, 0=S,1=UD CUDLA EQU @+63B EXMOD EQU @+145B UMFWA EQU @+154B TEMP EQU @+205B EOJFL EQU @+223B XFLG EQU @+230B SKP $EX30 EQU * NOP DUMMY CCA STA EFRUN SET EFMP RUNNING * * RESOLVE ADDRESS OF $BUF * LDA A$BUF RSS LDA 0,I RAL,CLE,SLA,ERA JMP *-2 STA A$BUF ADDR OF $BUF ADA D127 STA END$B ADDR3ESS OF $BUF+127 * LDA EOJFL END-OF-JOB FLAG SZA START OF NEW JOB? JMP OLDJO NO, OLD "JOB" CLA STA VALSU REINITIALIZE VALID SETUP FLAG STA NSUWA NO. SECT. USED IN WORK LDA ADABR ADDR. OF ABORT ROUTINE STA EOJFL SET FOR DOS-M OLDJO EQU * * MOVE ARGS INTO EFMP BUFFER ARG1 LDA ARQCN ADDR. OF SOURCE LDB MD10 STB MOVCT LDB AARGC ADDR. OF DESTINATION JSB MOVE MOVE ARRAY LDA UDNTS STA .UDNT LDA CUDSC STA .CUDS LDA ARG2,I EFMP FUNCTION NO. OCT 0 OCT 107001 SZA,RSS TOO SMALL? JSB ER1 YES SSA JSB ER1 CMA,INA ADA MAXFN (-) MAX. NO. OF FUNCTIONS SSA TOO BIG? JSB ER1 YES LDB ARG2,I EFMP FUNCTION NO. ADB AERWD POINTER TO ERROR TABLE LDA ARGCT COUNT OF NO. OF PARAMETERS CPA B,I VALID COUNT? RSS YES JSB ER20 LDA AMODN ADDR. OF MODULE NO. ADA ARG2,I LDA A,I PICK UP MODULE NO. LDB AFNTB ADDR. OF FUNCTION TABLE ADB ARG2,I CALCULATE FUNCTION NO. LDB B,I PICK UP CORE ADDR CPA D30 CORE RES. LOCATION ? JMP B,I YES SPC 1 STB TEMP SAVE FOR EXEC JMP $MDLD MODULE LOAD IN EXEC SPC 1 EFCON EQU * EFMP CONTINUATION FROM MODULES CLA SPC 3 ERROR EQU * STA EADDR+1 SAVE ERROR NO. STB EADDR LDA ARGRT RETURN ADDR. ADA MD1 LDA A,I ADDR. OF ERROR WORD CLB,INB NO. WDS. TO CHECK JSB CKCLM CHECK CORE LIMITS JMP ERERR ERROR 9 STA B SAVE EFFECTIVE ADDR. OF ERROR LOC. LDA EADDR+1 ERROR NO. STA B,I ERERR EQU * JSB RLEXM RELEASE EXEC MODULE LDA EADDR+1 ERROR NO. SZA,RSS ANY ERRORS ? JMP DOSUM NO, DO CHECK SUM LDB ARG2,I CPB D1 DEFINE WITH ERROR ? JMP NOSUM YES, IGNORE CHECK SUM CPA D12 BUFFER ERROR? JMP *+3 YES, IGNORE CK. SUM DOSUM EQU * JSB CKSUM CALC. CK. SUM STA VALSU SAVE FOR NEXT ENTRY NOSUM EQU * CLA STA EFRUN RESET EFMP RUNNING FLAG LDA ARGRT STA XIRT LDB EADDR LDA EADDR+1 OCT 0 OCT 107002 FOR DEBUGGING JMP $IRT SPC 1 RLEXM NOP RELEASE EXEC MODS. LDA .UDNT STA UDNTS LDA .CUDS STA CUDSC LDA L8BT STA CUDLA LDA EXMOD EXEC MOD. CURRENTLY RUNNING CPA MD31 CMA,INA CPA MD32 CMA,INA CPA MD33 CMA,INA STA EXMOD RESTORE IT JMP RLEXM,I RETURN .UDNT OCT 0 TEMP. .CUDS OCT 0 TEMP. EADDR OCT 0,0 MD31 DEC -31 MD32 DEC -32 MD33 DEC -33 SPC 3 SKP CKVSU NOP CHECK IF VALID SETUP LDA VALSU VALUE SETUP FLAG SZA,RSS VALID? JSB ER12 NO JSB CKSUM CALC. CK. SUM CPA VALSU SAME AS PREVIOUS EXIT? JMP CKVSU,I YES, VALID. RETURN CLA STA VALSU JSB ER12 * JMP CKVSU,I NOT NEEDED VALSU OCT 0 VALID SETUP FLAG SPC 1 ADABR DEF ABORT ABORT NOP ABORT CLEAN UP AND EOJ JSB $CLER CLEAR ALL I/O JSB IMAG1 GO TO IMAGE ROUTINE 1 LDA EFRUN SZA,RSS EFMP INTERRUPTED? JMP NOERR NO JSB $SYIO DEC 2 OCT 1 DEF MS10 ABS LM10 DEF *+2 JMP $WAIT JMP ABNO NOERR EQU * NO ERROR LDA UDNTS STA .UDNT LDA CUDSC STA .CUDS LDA VALSU VALID SETUP SZA,RSS VALID? JMP ABNO NO JSB CKSUM CALC. CK.SUM CPA VALSU SAME AS PREVIOUS? ͅ JSB POST YES, CLEAN UP BUFFERS ABNO EQU * CLA STA EFRUN SET EFMP NOT RUNNING STA EOJFL RESET FLAG FOR DOS-M TO CALL EFMP JSB RLEXM RELEASE EXEC. MOD. JMP ABORT,I RETURN TO DOS-M SPC 1 MS10 ASC 24,EFMP INTERRUPTED BEFORE PREVIOUS CALL COMPLETE. LM10 EQU *-MS10 * IF IMAGE IS PRESENT, THE SUBROUTINE IMAG1 POSTS THE RUN TABLE * TO DISC TO PRESERVE THE INTEGRITY OF AN OPEN DATA BASE ON AN * ABORT. IF DBPUT/DBDEL OR DBOPN(MODE=5) WAS EXECUTING AT ABORT, * THE FOLLOWING MESSAGE APPEARS ON THE SYSTEM CONSOLE: * "CRITICAL IMAGE FUNCTION INTERRUPTED" * "DATA BASE IS UNRELIABLE" *IF EFMP WAS EXECUTING, THE FOLLOWING MESSAGE IS PRINTED : * "DATA BASE IS UNRELIABLE" *OTHERWISE, THE FOLLOWING MESSAGE IS PRINTED : * "DATA BASE IS INTACT" * IF EFMP WAS NOT EXECUTING, AND DBUPD WAS EXECUTING, * THE FOLLOWING MESSAGE IS PRINTED: * "LAST DBUPD NOT COMPLETED" * DBZ EQU 53B BASE OF ZERO FOR EQUATES TRKSC EQU DBZ+1 TRACK/SECTOR OF RUN TABLE ACSUB EQU DBZ+2 ACTIVITY FLAG AND SUBCHANNEL # DBSTA EQU DBZ+3 DATA BASE STATUS ("LB" IF OPEN) DSETC EQU DBZ+6 DATA SET COUNT DBSTB EQU DBZ+8 ADDRESS OF DATA SET TABLE B377 EQU 74B 377B MASK DBF EQU 171B $DISC A-REG BUFFER LOCATION DBUF DEF DBF PTHCT BSS 1 # OF PATHS IN CURRENT SET SETCT BSS 1 NEGATIVE OF SET COUNT BUFAD BSS 1 ADDRESS OF FREEHE,FREECT BUF-$BUF DSET BSS 1 CURRENT DSCB ADDRESS ACFLG BSS 1 ACTIVITY(1=PUT,DEL,OPEN(MODE=5) * 2=UPDATE 0=OTHER BUF1 BSS 1 AIRUN BSS 1 SIZE OCT 0 79A5 TEMPX DEF BUF1 RUNOF DEC 1025 D16 DEC 16 SUB BSS 1 MESA ASC 18,CRITICAL IMAGE FUNCTION INTERRUPTED LMESA EQU *-MESA MESB ASC 12,DATA BASE IS UNRELIABLE LMESB EQU *-MESB MESC ASC 10,DATA BASE IS INTACT LMESC EQU *-MESC MESD ASC 12,LAST DBUPD NOT COMPLETED LMESD EQU *-MESD IMAG1 NOP CLA LDA UMFWA ADA RUNOF STA AIRUN SET AIRUN TO ADDRESS OF RUN TABL ADA DBSTA LDB 0,I CPB =ALB IMAGE RUNNING (STATUS = "LB"?) JMP *+2 JMP IMAG1,I NO, RETURN P+1 LDB AIRUN ACFLG = IMAGE ACTIVITY NUMBER ADB ACSUB LDA 1,I AND H8BT ALF,ALF STA ACFLG JSB SETUP SET UP NEG. DATA SET CT,BUF ADDR FREE1 STA DSET ADA D6 LDB 0,I STORE FREECT AND FREEHD INTO BUF STB BUFAD,I FOR EACH DATA SET ISZ BUFAD ISZ 0 LDB 0,I STB BUFAD,I ISZ BUFAD JSB DSCB GET ADDRESS OF NEXT DSCB ISZ SETCT JMP FREE1 LDB AIRUN CALCULATE RUN TABLE SIZE 79A5 CMB,INB 79A5 ADB A 79A5 STB SIZE 79A5 LDB AIRUN READ IN RUN TABLE ADB TRKSC LDA 1,I STA BUF1 INB LDA 1,I AND B377 LDB 0 STB SUB SAVE DESIRED SUBCHANNEL JSB CKDRI SET SUBCHANNEL FOR RUN TABLE LDA DBUF PREPARE $DISC BUFFER LDB BUF1 STB 0,I INA LDB AIRUN STB 0,I INA LDB SIZE STB 0,I LDA DBUF CLB,INB JSB $DISC LDA AIRUN IMAGE RUNNING ? DOUBLE CHECK ADA DBSTA (STATUS = "LB" IN RUN TABLE ON LDB 0,I DISC?) CPB =ALB JMP *+2 JMP IMAG1,I NO, RETURN P+1 CLA,INA IF DBPUT/DBDEL OR DBOPN(MODE CPA ACFLG =5) RUNNING AT TIME OF INTERRUPT JMP *+2 PRINT:"CRITICAL IMAGE FUNCTION JMP OKMES INTERRUPTED" JSB $SYIO DEC 2 OCT 1 DEF MESA ABS LMESA DEF *+2 JMP $WAIT ERMES JSB $SYIO 8 DEC 2 OCT 1 DEF MESB ABS LMESB DEF *+2 JMP $WAIT JMP RESFR OKMES LDA EFRUN IF IMAGE IS RUNNING, EFMP SZA NOT RUNNING, AND DBPUT/DBDEL JMP ERMES NOT RUNNING, GENERATE MESSAGE: JSB $SYIO "DATA BASE IS INTACT" DEC 2 OCT 1 DEF MESC ABS LMESC DEF *+2 JMP $WAIT CLA,INA IF DBUPD RUNNING AT TIME OF INA INTERRUPT,PRINT:"LAST DBUPD CPA ACFLG NOT COMPLETED" JMP *+2 JMP RESFR JSB $SYIO DEC 2 OCT 1 DEF MESD ABS LMESD DEF *+2 JMP $WAIT RESFR JSB SETUP SET UP NEG. DATA SET CT,BUFAD FREE2 STA DSET ADA D6 LDB BUFAD,I RESTORE FREECT AND FREEHD FROM STB 0,I BUF INTO RUN TABLE FOR EACH ISZ BUFAD DATA SET ISZ 0 LDB BUFAD,I STB 0,I ISZ BUFAD JSB DSCB GET ADDRESS OF NEXT DSCB ISZ SETCT JMP FREE2 LDB SUB RESTORE DESIRED SUBCHANNEL JSB CKDRI SET SUBCHANNEL FOR RUN TABLE LDA DBUF PREPARE $DISC BUFFER LDB BUF1 STB 0,I INA LDB AIRUN STB 0,I INA LDB SIZE STB 0,I LDA DBUF LDB D2 JSB $DISC JMP IMAG1,I SETUP NOP SETUP PREPARES FOR SAVING AND LDB AIRUN RESTORING FREECT AND FREEHD. ADB DSETC SETS DSETC TO NEG DATA SET CT, LDA 1,I BUFAD TO ADDRESS OF $BUF, CMA,INA A-REG TO ADDR OF DATA SET TABLE STA SETCT LDA A$BUF STA BUFAD LDB AIRUN ADB DBSTB CCA ADA AIRUN ADA 1,I JMP SETUP,I DSCB NOP DSCB CALCULATES THE ADDRESS OF LDB DSET THE NEXT DATA SET CONTROL BLOCK ADB D3 IN THE RUN TABLE. RETURNS IT LDA 1,I IN THE A-REG. AND B377 ALS STA PTHCT LDA 1,.I ALF,ALF AND B377 ADA DSET ADA PTHCT ADA D16 JMP DSCB,I SPC 3 MASUB NOP MAIN SUBROUTINE STA MSA STB MSB LDA MASUB,I PICK UP SUB INDEX ADA ASUBT ADDR. OF SUB. TABLE LDA A,I PICK UP ADDR. OF DESIRED SUB. LDB MASUB ADB MD2 LDB B,I PICK UP RETURN ADDR. STB A,I PACK RETURN ADDR. INA POINT TO 2ND LOC. IN SUB. DESIR. STA MACAL LDA MSA LDB MSB JMP MACAL,I CALL SUBROUTINE MSA OCT 0 A-REG. MSB OCT 0 B-REG MACAL OCT 0 CALL LOCATION +1 FOR DESIRED SUB ASUBT DEF SUBTB-1 SUBTB EQU * DEF MOVE 1 DEF POST 2 DEF POSTW 3 DEF CKVSU 4 DEF NAM0? 5 DEF CRPN0 6 DEF CKPN 7 DEF SVPNS 8 DEF CKNAP 9 DEF SETD1 10 DEF SETD2 11 DEF GETDE 12 DEF REPNS 13 DEF CNVDA 14 DEF CNPND 15 DEF MVPNT 16 DEF GETPN 17 DEF CKOPN 18 DEF SRCDR 19 DEF GTNPN 20 DEF CKDSP 21 DEF CKCLM 22 DEF CMPAR 23 DEF CKPNT 24 DEF PKDIR 25 DEF T.STS 26 DEF STT.S 27 DEF STZ 28 DEF GRTXX 29 DEF GWTXX 30 DEF CKSPC 31 DEF STPNO 32 DEF SFSTS 33 DEF PRETS 34 DEF PRWIO 35 DEF MPY 36 DEF DIV 37 SPC 3 ER1 EQU * OCT 0 LDA D1 JSB ERR ER12 EQU * OCT 0 LDA D12 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER17 EQU * OCT 0 a@LDA D17 JSB ERR ER20 EQU * OCT 0 LDA D20 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER24 EQU * OCT 0 LDA D24 JSB ERR ER27 EQU * OCT 0 LDA D27 JSB ERR ER28 EQU * OCT 0 LDA D28 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR HED CONSTANTS AND VARIABLES FNTBS EQU * EFMP FUNCTION TABLE START DEF DEF31 FUNC. NO. 1 DEF DEF31 FUNC. NO. 2 DEF DEF31 FUNC. NO. 3 DEF DEF31 FUNC. NO. 4 DEF DEF31 FUNC. NO. 5 DEF DEF32 FUNC. NO. 6 DEF DEF31 FUNC. NO. 7 DEF DEF32 FUNC NO. 8 DEF DEF32 FUNC. NO. 9 DEF DEF32 FUNC. NO. 10 DEF DEF33 FUNC. NO. 11 DEF DEF33 FUNC. NO. 12 DEF DEF32 FUNC. NO. 13 DEF AFN14 FUNCTION NO. 14 FNTBE EQU * EFMP FUNCTION TABLE END MAXFN ABS FNTBE-FNTBS MAX. FUNCTION NO. SPC 1 MODNS EQU * MODULE NUMBERS TABLE START DEC 31 FUNCTION NO. 1 DEC 31 FUNCTION NO. 2 DEC 31 FUNCTION NO. 3 DEC 31 FUNCTION NO. 4 DEC 31 FUNCTION NO. 5 DEC 32 FUNCTION NO. 6 DEC 31 FUNCTION NO. 7 DEC 32 FUNCTION NO. 8 DEC 32 FUNCTION NO. 9 DEC 32 FUNCTION NO. 10 DEC 33 FUNCTION NO. 11 DEC 33 FUNCTION NO. 12 DEC 32 FUNCTION NO. 13 DEC 30 FUNCTION NO. 14 ERWDS EQU * ERROR WORD POSITION IN EXEC CALL DEC 8 FUNCTION 1 DEC 8 FUNCTION 2 DEC 6 FUNCTION 3 DEC 8 FUNCTION 4 DEC 5 FUNCTION 5 DEC 6 FUNCTION 6 DEC 5 FUNCTION 7 DEC 6 FUNCTION 8 DEC 6 FUNCTION 9 DEC 8  FUNCTION 10 DEC 4 FUNCTION 11 DEC 5 FUNCTION 12 DEC 6 FUNCTION 13 DEC 3 FUNCTION 14 SPC 1 ARQCN ABS 224B AARGC DEF ARGCT ARQP1 DEF ARG1 AERWD DEF ERWDS-1 AFNTB DEF FNTBS-1,I AMODN DEF MODNS-1 MD24 DEC -24 79A5 MD16 DEC -16 MD12 DEC -12 MD10 EQU .-10 MD9 EQU .-9 MD8 EQU .-8 MD6 EQU .-6 MD5 EQU .-5 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D5 EQU .+5 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D9 EQU .+9 D10 EQU .+10 B12 EQU D10 D11 DEC 11 B13 EQU D11 D14 DEC 14 D12 DEC 12 D15 DEC 15 D17 DEC 17 D20 DEC 20 D23 DEC 23 D24 DEC 24 D27 DEC 27 D28 DEC 28 D30 DEC 30 D100 DEC 100 D127 DEC 127 D128 DEC 128 D200 DEC 200 D999 DEC 999 MB60 OCT -60 END$B NOP ADDRESS OF $BUF+127 ENDTS OCT 144000 END T/S +1 MXWPE DEC 9 AINVC DEF INVCH INVCH OCT 177400 INVALID CHAR OCT 177400 INVALID CHAR OCT 177400 INVALID CHAR WPOTE DEC 16 WORDS/OPEN TABLE ENTRY FLNGH OCT 0 TOTAL FILE LENGTH OF DOS-M FILE NOTRB OCT 0 TEMP. RECORD BUFFER VALUES NSUWA OCT 0 NO. SECT. USED IN WORK AREA WPTRB OCT 0 WORDS/TRB NXPTL OCT 0 NEXT AVAIL PACK NO. ENTRY IN OPEN TABLE FTRBE OCT 0 ADDR OF FIRST TRB ENTRY IN OPEN TABLE NXOTL OCT 0 NEXT O.T. LOCATION NXTFP OCT 0 NEXT FILE POSITION IN DIRECTORY OPNSZ OCT 0 SIZE OF OPENED TABLE OPNTE OCT 0 ADDR. OF OPEN TABLE END OPNTB OCT 0,0 ADDR. OF OPENED TABLE START OPNT1 EQU OPNTB+1 STSWA OCT 0 STARTING T/S OF WORK AREA TRBUF OCT 0 ADDR. OF TEMP. RECORD BUFFER TRBSZ OCT 0 SIZE OF TEMP. RECORD BUFFER SPC 1 ARGCT OCT 0 ARGRT OCT 0 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 AROL<:6G5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 EFRUN OCT 0 EFMP RUNNING FLAG HED POST FUNCTION * * POST FUNCTION * AFN14 DEF FUN14 FUN14 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY JSB POST JMP EFCON RETURN TO USER SPC 3 * * POST ALL TRB * POST NOP POST ALL TRB'S LDA NOTRB NO. OF TRB'S CMA,INA STA POSTI POST INDEX LDB FTRBE GET ADDR OF FIRST TRB POSTM EQU * POST MORE JSB POSTW POST WRITE LDB POSTP POINTER TO THIS TRB VECTOR ADB D3 BIAS TO NEXT TRB VECTOR ISZ POSTI FINISHED W/ TRB VECTORS JMP POSTM NO, POST MORE JMP POST,I RETURN SPC 3 POSTW NOP POST WRITE STB POSTP POST POINTER B<  24309-80006 1523 S 0122 DOS EFMP $EX30 (EAU)              H0101 ? INB STB POSTP+2 SAVE POINTER TO "MBW" FLAG INB LDA B,I POINTER TO O.T. ENTRY SZA,RSS FILE FOR THIS BUFFER? JMP POSTW,I NO, RETURN LDB B,I PICK UP POINTER TO O.T. ENTRY ADB D12 LDA B,I SUB CH. STA GSC SUB CH. FOR GENERAL R/W INB LDA B,I PICK UP T/S CUR. IN TRB SZA,RSS ANY SECT. IN CORE JMP POSTW,I NO, RETURN LDA POSTP+2,I "MUST BE WRITTEN" FLAG SZA WRITE THIS TRB? JMP *+3 YES STA B,I CLEAR T/S CUR. IN CORE JMP POSTW,I RETURN STB POSTP+1 SAVE POINTER ADB MD10 STB POSTP+3 SAVE ADDR. TO START T/S INB LDA B,I FILE LENGTH INB LDB B,I JSB MPY JSB DIV DEF D128 SZB INA STA B LDA POSTP+3,I START T/S JSB T.STS ADB A CALC. END "T/S" IN B LDA POSTP+1,I CURRENT T/S JSB T.STS CMB,INB ADB A CALC. NO. SECT. TO END STB A CMA,INA A = NO. SECT. TO END ADB TRBSZ CALC. ANY OVERFLOW SSB MORE SECT. THAN BUFFERS? LDA TRBSZ YES, USE TRB SIZE STA GNS NO. SEC. FOR GENERAL R/W LDA POSTP+1,I T/S CUR. IN CORE LDB POSTP,I ADDR. OF TRB JSB GWTXX GENERAL WRITE CLA STA POSTP+1,I CLEAR T/S NO. CUR. IN TRB STA POSTP+2,I CLEAR "MBW" FLAG ISZ POSTP+2 POINT TO POINTER TO O.T. LDB POSTP+2,I PICK UP POINTER TO O.T. STB POSTP+1 STA POSTP+2,I CLEAR POINTER TO O.T. ADB D8 LDA B,I HIGHEST RECORD ACCESSED ON DISC STB POSTP+3 SAVE POINTER TO "HRW" ON DISC ADB D7 CMA ADA B,I HIGHEST RECORD WRITTEN IN CORE SSA UPDATE HIGHEST RECORD ACCESSED? JMP POSTW,I NO, NO UPDATE ADB MD5 BACK UP TO PACK NO. FIELD LDA s=B,I PN000 ? SZA,RSS YES JMP PSTSC POST FOR SYST. SUB CH. LDB POSTP+1 GET OPEN TABLE ENTRY ADDR ADB D12 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET THE SUBCHANNEL STA PAKSC STORE THE SUBCHANNEL LDB POSTP+1 GET OPEN TABLE ENTRY ADDR JSB GETDE GET DIRECTORY ENTRY LDB CNAME GET DIRECTORY ENTRY ADDR ADB D8 STB POSTP+2 FILE POSITION FOR HIGH RCD. ACC. LDB POSTP+1 START OF THIS OT ENTRY ADB D15 LDB B,I HIGHEST RECORD ACCESSED IN CORE STB POSTP+2,I UPDATE HI RCD.ACC. IN DISC-DIR. STB POSTP+3,I UPDATE HI RCD.ACC. IN CORE-DIR. CLA,INA WRITE SWITCH LDB PAKSC GET THE SUBCHANNEL JSB PRWIO WRITE BACK DIRECTORY ENTRY JMP POSTW,I RETURN PSTSC EQU * ADB D5 7905 LDA B,I HIGHEST RECORD WRITTEN IN CORE STA POSTP+3,I HIGHEST RECD. WRITTEN ON DISC JMP POSTW,I RETURN POSTP OCT 0,0,0,0 POST POSITION POSTI OCT 0 POST INDEX HED GENERAL ROUTINES * MOVE - MOVE ARRAYS OF WORDS * ENTER: * A = SOURCE ADDRESS * B = DESTINATION ADDRESS * MOVCT = (-) NO. WORDS TO MOVE * EXIT: * NO. OF WORDS MOVED * A = END OF SOURCE ADDR.+1 * B = END OF DESTINATION ADDR.+1 * MOVE NOP MOVE ARRAYS OF WORDS STA MOVAD SAVE ADDR. OF SOURCE ARRAY MOVMR LDA MOVAD,I PICK UP WORD FORM SOURCE ARRAY STA B,I PUT IT IN DESTINATION ARRAY ISZ MOVAD BUMP POINTERS INB ISZ MOVCT FINISHED? JMP MOVMR NO, MOVE MORE LDA MOVAD RET. W/ A AND B AT END OF ARRAYS+1 JMP MOVE,I RETURN MOVAD OCT 0 MOVCT OCT 0 SPC 3 * NAM0? - CHECK IF 1ST WD. OF NAME = 0 OR INVALID CHAR. * ENTER: * A = ADDR. OF NAME * EXIT: * A IS SAVED * NAME NOT EQUAL TO 0 OR: INVALID CHAR * NAM0? NOP NAME = 0? LDB A,I PICK UP 1ST TWO CHAR. SZB,RSS JSB ER23 CPB INVCH INVALID CHAR.? JSB ER23 YES JMP NAM0?,I RETURN SPC 1 * CRPN0 - CREATE PN000 IN WORK AREA * ENTER: * VALUES FROM SRCDR * EXIT: * PN000 CREATED * B IS SAVED * CRPN0 NOP CREATE PN000 STB NXTFP SAVE NEXT FILE POSITION JSB GTLTS GET LAST T/S FOR SYST. DISC JSB T.STS T/S TO SECTORS STA TMPTS TEMP. STORAGE FOR NO. SECTORS LDA SYNTS NEXT T/S FOR SYST. DISC. LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S IN PACK NO. ENTRY STA STSWA STORE STARTING T/S JSB T.STS T/S TO SECTORS CMA,INA ADA TMPTS CALC. NO. SECTORS IN WORK AREA SZA,RSS ANY WORK AREA? JSB ER17 NO, NO WORK AREA SSA ANY WORK AREA? LDA MAXPN GET MAX PN SIZE AS GT 32767 AV. STA TMPTS SAVE LENGTH OF WORK AREA STA NOSEC FILE LENGTH FOR 'CKDSP' LDB PNEAD GET ADDR OF PACK NO. ENTRY ADB D1 INCREMENT TO SIZE FIELD STA B,I STORE SIZE OF PN000 IN PACK NO. ENTRY INB INCREMENT TO DIRECTORY SIZE FIELD LDA SECTR GET DIRECTORY SIZE ADA MD1 STA B,I STORE DIRECTORY SIZE IN PACK NO. ENTRY INB INCREMENT TO LSA FIELD CLA STA B,I STORE LSA IN PACK NO. ENTRY STA NSUWA STORE LSA LDA D5 NO. OF WDS./ENTRY JSB CKDSP CHECK DIRECTORY SPACE JSB ER24 LDA SYSBF GET T/S OF SYSTEM BUFFER JSB PRETS CLA LDB SYSSC JSB PRWIO READ SYS. BUFFER INTO $BUF LDA SYNTS GET LAST ALLOCATED T/S JSB T.STS CONVERT TO SECTORS ADA TMPTS ADD LENGTH OF 'PN000' (IN SECTORS) JSB STT.S GET NEW LAST ALLOCATED T/S wSTA SYNTS UPDATE SYST. NEXT T/S LDB A$BUF UPDATE DOS DIREC. WITH LAST ADB D64 SECTOR ALLOCATED STA B,I CLA,INA LDB SYSSC JSB PRWIO WRITE BACK UPDATED ENTRY LDB SYNTS GET NEXT SYSTEM T/S LDA .CUDS CPA SYSSC USER SUB CHAN = SYSTEM SUB CHAN? STB .UDNT YES, UPDATE USER DISC NEXT T/S JMP CRPN0,I RETURN TMPTS OCT 0 TEMP. T/S MAXPN DEC 32767 MAX PN000 SIZE SPC 3 * GTLTS - GET LAST T/S (FROM CORE) * ENTER: * NO PARAMETERS * EXIT: * A = LAST T/S * GTLTS NOP GET LAST T/S FOR SYST. DISC LDA JBINS JOB BINARY START CPA MD1 JOB BINARY PRESENT? JMP USELT NO, USE LAST TRACK SZA,RSS JOB BINARY PRESENT? JMP USELT NO, USE LAST TRACK LDA JBINC CURRENT JOB BINARY TRACK AND INVCH SAVE ONLY TRACK JMP GTLTS,I RETURN USELT EQU * USE LAST TRACK LDA DISCO AND L8BT SAVE ONLY TRACK NO. INA ALF,ALF PUT T/S INTO POSITION JMP GTLTS,I RETURN SPC 3 * CKPN - CHECK PACK NO. FOR GREATER THAN 999. * ENTER: * A= PACK NO. TO BE CHECKED * EXIT: * B IS SAVED * P+1 = VALID P.N. * DPNO = PACK NO. * JMP ER15 IF INVALID P.N. * CKPN NOP CHECK PACK NO. STA DPNO SAVE PACK NO. SSA,RSS JMP CKPN1 CPA MD1 RSS JSB ER15 CKPN1 EQU * LDA DPNO GET PACK NO. SSA MAKE SURE P.N. IS (+) CLA CMA,INA ADA D999 SSA TOO LARGE? JSB ER15 YES LDA DPNO GET PACK NO. JMP CKPN,I RETURN SPC 3 * CKNAP - CHECK NAME AND PACK NO. * ENTER: * ARG3 = ADDR. OF FILE NAME * ARG4,I = PACK NO. * EXIT: * A = PACK NO. * CKNAP NOP CHECK NAME AND PACK NO. LDA ARG3 FNAME JSB NAM0? CHECK IF NAME = 0 LDA ARG4,I PAKNO JSB CKPN CHECK PACK NO. JMP CKNAP,I RETURN SPC 3 * SETD1 - SET UP FOR EFMP SEARCH * EXIT: * B = ADDR OF NAME * TYPDR = 1(EFMP) * NOPAS = 0(COMPARE) * SETD1 NOP CLA STA NOPAS COMPARE INA STA TYPDR EFMP SEARCH LDB ARG3 FILE NAME ADDR JMP SETD1,I RETURN SPC 3 * SETD2 - SET UP FOR DOSM SEARCH * ENTER: * PAKSC = SUBCHANNEL * EXIT: * A = TRK/SEC TO START SEARCH * TYPDR = 0(DOSM) * NOPAS = 0(COMPARE) * SETD2 NOP CLA STA TYPDR DOSM SEARCH STA NOPAS COMPARE NAMES LDB PAKSC GET SUBCHANNEL CPB SYSSC SYSTEM SUBCHANNEL ? RSS YES JMP CKSYS NO LDA SYSBF CALCULATE STARTING T/S FOR SYSTEM DISC INA JMP SETD2,I RETURN CKSYS EQU * CLA STA TRKIO STA SECIO JSB PRWIO READ DISC LABEL INFORMATION LDA A$BUF GET LABEL ADDR ADA D3 LDB ALABL JSB CMPAR 1ST FIVE CHAR'S = 'SYSTE' ? JMP TR0S1 NO LDB A$BUF GET 6TH CHAR ADB D5 LDA B,I CPA EM 6TH CHAR = 'M' ? RSS YES JMP TR0S1 NO LDB A$BUF GET DIRECTORY T/S ADB D64 LDA B,I INA RSS TR0S1 EQU * LDA TK0S1 DIRECTORY T/S IS 0/1 JMP SETD2,I RETURN P+1 ALABL DEF LABEL LABEL ADDR LABEL ASC 1,SY 'SYSTEM' ASC 1,ST EM ASC 1,EM D64 EQU 67B TK0S1 OCT 00001 SKP * GETPN - GET PACK NUMBER * ENTER: * A = DESIRED PACK NUMBER * EXIT: * P+1 = PACK NO. NOT AVAILABLE * P+2 = PACK NO AVAILABLE * B = ADDR OF DIRECTORY ENTRY * PAKSC = SUBCHANNEL * TRKIO = TRACK OF DIRECTORY ENTRY * SECIO = SECTOR OF DIRECTORY ENTRY GETPN NOP STA DESPN SAVE DESIRED PACK NO. CLA STA CHNCT INITIALIZE CHANNEL COUNT TO 0 LDA ASUBC ZERO SUBCHANNEL TABLE LDB MD24 79A5 STB PAKSC CLB ZLOOP EQU * STB A,I INA ISZ PAKSC JMP ZLOOP LDB CUDSC START SEARCH AT CURRENT STB PAKSC USER DISC SRCH EQU * LDA ANOTP RETURN ADDR FOR INACTIVE STA XFLG SUBCHANNEL LDB PAKSC CALC. ADDR OF CURRENT ENTRY ADB ASUBC IN SUBCHANNEL STB CSUBC JSB SETD2 SET UP FOR DOSM DIRECTORY SEARCH STA STSDS SAVE DIRECTORY STARTING T/S LDA DESPN GET DESIRED PACK NUMBER SSA IS IT A GENERAL PACK NUMBER(-1) JMP SPNXX YES LDA DESPN GET REQUESTED PACK NO. LDB APNDE CONVERSION OUTPUT FIELD JSB CNVDA CONVERT DECIMAL TO ASCII LDB APNNO GET ADDR OF SPECIFIC PACK NO RSS SPNXX EQU * LDB APNXX GET ADDR OF GENERAL SEARCH NAME LDA STSDS GET DIRECTORY STARTING T/S JSB SRCDR SEARCH DIRECTORY SRCRT EQU * JMP NXCHN PACK NOT FOUND, CONTINUE ISZ GETPN INCREMENT P+2 JMP GETPN,I RETURN P+2 NXCHN EQU * LDB SCCNT CPB CHNCT ALL CHANNELS SEARCHED ? JMP GETPN,I YES, RETURN P+1 ISZ CHNCT INCREMENT CHANNEL COUNT ? ISZ CSUBC,I MARK CHANNEL AS SEARCHED TANCH EQU * LDB SCCNT LDA PAKSC GET NEXT SUBCH TO SEARCH INA CPB PAKSC HIGHEST CHAN JUST SEARCHED ? CLA YES, RESET TO 0 STA PAKSC STORE NEXT SUBCHANNEL ADA ASUBC GET SUBCH TBL ENTRY ADDR CLB,INB CPB A,I HAS SUBCH BEEN SEARCHED ? JMP TANCH YES LDA PAKSC CPA SYSSC IS THIS SYSTEM SUBCHANNEL? RSS YES JMP SRCH NO LD8_B SCCNT CPB CHNCT ALL OTHER SUBCH'S SEARCHED ? JMP SRCH YES JMP TANCH NO GTNPN NOP LDA ASRCR GET SEARCH RETURN ADDR STA SRCDR STORE RETURN ADDR LDA GTNPN GET RETURN ADDRESS STA GETPN STORE RETURN ADDRESS JMP GTNXE CONTINUE SEARCH ASRCR DEF SRCRT RETURN ADDR FOR CONTINUED SEARCH ANOTP DEF NXCHN RETURN ADDR FOR SUBCHANNEL INACTIVE ASUBC DEF SUBC ADDR OF SUBCH TABLE START CSUBC BSS 1 ADDR OF CURR SUBCH TBL ENTRY SUBC BSS 24 SUBCHANNEL TABLE 79A5 CHNCT BSS 1 CHANNEL COUNT DESPN BSS 1 DESIRED PACK NO. STSDS BSS 1 DIRECTORY STARTING T/S APNNO DEF PNNO ADDR. OF SPECIFIC PACK NAME APNXX DEF PNXXX ADDR. OF GENERAL PACK NAME APNDE DEF PNDEC ADDR OF DEC. PART OF SPECIFIC NAME PNNO ASC 1,PN SPECIFIC PACK NAME PNDEC BSS 1 BSS 1 PNXXX ASC 1,PN GENERAL PACK NAME ASC 1,XX ASC 1,XX SKP * SRCDR - SEARCH EITHER DOSM OR EFMP DIRECTORY * ENTER: * A = STARTING T/S(DOSM ONLY) * B = ADDR OF FILE NAME * TYPDR DIRECTORY TYPE(0=DOSM,1=EFMP) * NOPAS = COMPARE TYPE('-' = NO COMPARE,'+' = COMPARE) * PAKSC = PACK SUBCHANNEL * PNEAD = ADDR OF PACK NO. ENTRY(EFMP ONLY * WITH STARTING T/S IN FIRST WORD) * EXIT: * P+1 = FILE NOT FOUND * A = SECTOR NO. OF NEXT FILE * B = POINTER TO NEXT FILE NAME * P+2 = FILE FOUND/NO COMPARE PERFORMED * A = SECTOR NO. OF FILE * B = POINTER TO START OF DIRECTORY ENTRY * SECIO = SECTOR NO. OF DIRECTORY ENTRY * TRKIO = TRACK NO. OF DIRECTORY ENTRY * PACK NO. ENTRY INITIALIZED WITH DIRECTORY SIZE, * FILE SIZE, AND LAST SECTOR ALLOCATED * SRCDR NOP STB AFNAM SAVE FILE NAME ADDRESS CLB CPB TYPDR DOSM SEAA"RCH ? RSS YES LDA PNEAD,I GET STARTING T/S JSB PRETS PREPARE T/S FOR I/O LDA D1 SECTOR COUNT OF 1 STA SECCT INITIALIZE SECTOR COUNT SRCNS EQU * CLA READ OPERATION LDB PAKSC GET SUBCHANNEL JSB PRWIO READ NEXT DIRECTORY SECTOR LDB A$BUF START OF NEW SECTOR STB $BUFP INITIALIZE CURRENT ENTRY ADDRESS LDA TYPDR GET DIRECTORY TYPE SZA,RSS EFMP ? JMP CKEOD NO LDA SECCT GET SECTOR COUNT CPA D1 FIRST SECTOR ? RSS YES JMP SRCNF NO LDB $BUFP GET START OF EFMP'S DIRECTORY ENTRY ADB D3 INCREMENT TO DIRECTORY SIZE FIELD LDB B,I GET DIRECTORY SIZE LDA PNEAD GET PACK NO. ENTRY ADDR ADA D2 INCREMENT TO DIRECTORY SIZE FIELD STB A,I STORE DIRECTORY SIZE IN PACK NO. ENTRY LDB $BUFP GET START OF EFMP'S DIRECTORY ENTRY ADB D4 INCREMENT TO EFMP FILE SIZE FIELD LDB B,I GET EFMP FILE SIZE ADA MD1 BACK UP TO PACK NO. ENTRY FILE SIZE FIELD STB A,I STORE FILE SIZE IN PACK NO. ENTRY LDB $BUFP GET START OF EFMP'S DIRECTORY ENTRY ADB D8 INCREMENT TO LAST SECTOR ALLOCATED FIELD LDB B,I GET LAST SECTOR ALLOCATED ADA D2 INCREMENT TO PACK NO. ENTRY LSA FIELD STB A,I STORE LSA IN PACK NO. ENTRY LDB $BUFP GET ADDR OF CURRENT ENTRY ADB D9 SIZE FO ENTRY STB $BUFP STORE NEW CURRENT ADDR CKEOD EQU * LDA END$B GET ADDR OF END OF $BUF INA CPA $BUFP IS $BUF FULL ? RSS YES JMP SRCNF NO LDA SECCT GET SECTOR COUNT INA CPA SECTR PHYSICAL END OF DIRECTORY ? RSS YES JMP GETNS NO LDA SECCT CURRENT SECTOR LDB $BUFP CURRENT BUFFER ADDR JMP SRCDήR,I RETURN &+1 SRCNF EQU * LDA $BUFP,I GET NEXT DIRECTORY ENTRY SZA END-OF-DIRECTORY ? JMP CKEOS NO LDA SECCT GET FILE SECTOR LDB $BUFP GET NEXT ENTRY ADDR JMP SRCDR,I RETURN P+1 CKEOS EQU * CPA MD1 END OF SECTOR ? JMP GETNS YES, GET NEXT SECTOR LDA NOPAS GET COMPARE SWITCH SSA NO COMPARE JMP SRET1 YES LDA TYPDR GET DIRECTORY TYPE SZA EFMP ? JMP CKEQN YES, GO CHECK NAME LDA AFNAM GET REQUESTED FILE NAME ADDRESS LDB APNXX GET ADDRESS OF 'PNXXX' NAME JSB CMPAR REQUESTED FILE 'PNXXX' ? JMP SETPK NO CLA GENERAL SEARCH INDICATOR STA SPKSR STORE INDICATOR JMP CKNMT SETPK EQU * CLA,INA SPECIFIC SEARCH INDICATOR STA SPKSR STORE INDICATOR LDA AFNAM GET REQUESTED FILE NAME ADDRESS LDB $BUFP GET ADDRESS OF CURRENT DIRECTORY ENTRY NAME JSB CMPAR NAMES EQUAL ? JMP GTNXE NO JMP CKINI YES CKNMT EQU * LDB $BUFP GET CURRENT DIRECTORY ADDR LDA B,I GET FIRST TWO CHARS. OF FILE NAME CPA PN IS IT 'PN' ? RSS YES JMP GTNXE NO,GET NEXT ENTRY ADB D1 INCREMENT TO THIRD CHAR OF PACK NO. LDA B GET ADDR IN A JSB CNPND CONVERT PACK NO. TO DECIMAL JMP GTNXE NOT A DECIMAL VALUE SZA IS IT ZERO ? JMP CKINI NO GTNXE EQU * LDB $BUFP GET CURRENT ENTRY ADDR. ADB D2 INCREMENT TO 'TYPE' LDA B,I GET 'TYPE' ADB D3 INCREMENT TO NEXT ENTRY FOR SHORT TYPE AND L7BT SAVE TYPE CMA ADA D6 SSA,RSS SHORT TYPE ? ADB D6 NO STB $BUFP SAVE NEW ENTRY POINTER JMP CKEOD SEARCH NEXT FILE CKINI EQU * LDB $BUFP GET CURRENT ENTRY a<:6POINTER ADB D1 INCREMENT TO 2ND WORD OF NAME LDA B,I GET 2ND WORD OF NAME CPA PN+1 SECOND WORD OF NAME = ASCII ZEROS RSS YES JMP NPN00 NO ADB D1 INCREMENT TO LAST CHAR OF NAME LDA B,I GET LAST CHARACTER AND H8BT CLEAR RIGHT BYTE IOR ZMASK INSERT ASCII ZERO IN RIGHT BYTE CPA PN+1 PN000 ? RSS YES JMP NPN00 NO LDA B,I GET TYPE FIELD AND L7BT CLEAR MEANINGLESS BITS CPA B12 BINARY ? JMP SRET1 YES JMP GTNXE NO NPN00 EQU * LDB $BUFP GET ADDR OF ENTRY ADB D2 INCREMENT TO 'TYPE' LDA B,I GET 'TYPE' AND L7BT CLEAR MEANINGLESS BITS z<  24309-80007 1523 S 0122 DOS EFMP $EX30 (EAU)              H0101 @ CPA B12 'BINARY' ? JMP CKINF YES CPA B13 'ASCII' ? RSS YES JMP GTNXE NO LDB ARG2,I GET EFMP CODE CPB D7 INITIALIZE FUNC. ? JSB ER27 YES JMP SRET1 NO CKINF EQU * LDB ARG2,I GET EFMP CODE CPB D7 INITIALIZE FUNC. ? JMP SRET1 YES LDB SPKSR GET PACK SEARCH SWITCH SZA SEARCH FOR A SPECIFIC PACK ? JSB ER28 YES JMP GTNXE NO CKEQN EQU * LDA AFNAM GET ADDR OF REQUESTED NAME LDB $BUFP GET ADDR OF CURRENT ENTRY NAME JSB CMPAR NAMES EQUAL ? JMP EBIAS NO SRET1 EQU * LDA SECCT SECTOR OF ENTRY LDB $BUFP GET DIRECTORY ENTRY ADDR ISZ SRCDR INCREMENT TO P+2 JMP SRCDR,I RETURN TO P+2 EBIAS EQU * LDB $BUFP GET CURRENT ENTRY ADDR ADB MXWPE ADD ENTRY SIZE STB $BUFP STORE ADDR OF NEXT ENTRY JMP SRCNF SEARCH NEXT ENTRY GETNS EQU * ISZ SECCT INCR SECTOR COUNT ISZ SECIO INCR SECTOR FOR I/O LDA SECIO CPA SECTR END OF TRACK ? RSS YES JMP SRCNS NO ISZ TRKIO INCR TO NEXT TRACK CLA STA SECIO STORE NEW I/O SECTOR JMP SRCNS GET NEXT SECTOR ATRKI DEF TRKIO TRKIO BSS 1 I/O TRACK SECIO BSS 1 I/O SECTOR SECCT BSS 1 SECTOR COUNT SPKSR BSS 1 SEARCH MODE(0=GENERAL,1=SPECIFIC) AFNAM BSS 1 FILE NAME ADDRESS TYPDR BSS 1 DIRECTORY TYPE FLAG NOPAS BSS 1 COMPARE SWITCH PAKSC BSS 1 PACK SUBCHANNEL $BUFP BSS 1 POINTER TO DIRECTORY ENTRY ZMASK OCT 60 ASCII ZERO MASK SKP * CKDSP - CHECK FOR SUFFICIENT DIRECTORY SPACE * ENTER: * A = SIZE OF DIRECTORY ENTRY TO CREATE * B = ADDR OF OPEN TABLE ENTRY OF FILE TO COPY * (ONLY IF CALLER IS 'COPY' FUNCTION) * NXTFP )= ADDR OF NEXT FILE POSITION * SECCT = SECTOR OF NEXT FILE POSITION * PNEAD = ADDR OF PACK NO. ENTRY * PAKSC = CURRENT SUBCHANNEL * NOSEC = NO. SECTORS REQUIRED * EXIT: * P+1 = NO SPACE * A = 0(NO FILE SPACE) * = 1(NO DIRECTORY SPACE) * P+2 = DIRECTORY SPACE AVAILABLE * NEW EOD MARK INSERTED * DIRECTORY UPDATED * NEW ENTRY CREATED * CKDSP NOP STA DESIZ SAVE DIRECTORY ENTRY SIZE STB DEADR SAVE OPEN TABLE ADDR CPA D5 PN000 ? JMP CKRSC YES LDA NXTFP GET ADDR OF NEXT FILE POSITION ADA MD9 BACK UP TO NAME OF PREVIOUS FILE CLB CPB A,I EFMP'S OWN ENTRY ? JMP CKRSC YES, NO NEED TO CHECK LSA LDA NXTFP GET ADDR OF NEXT FILE POSITION ADA MD4 BACK UP TO PREVIOUS FILE'S RECORD LENGTH LDB A,I GET RECORD LENGTH ADA MD1 BACK UP TO PREVIOUS FILES SIZE LDA A,I GET NO. OF RECORDS JSB MPY JSB DIV DEF D128 SZB INA STA SECFL SAVE SECTORS USED LDA NXTFP GET ADDR OF NEXT FILE POSITION ADA MD6 BACK UP TO STARTING SECTOR LDB SECFL GET SECTORS USED BY FILE ADB A,I CALCULATE LAST SECTOR ALLOCATED ADB MD1 LDA PNEAD GET PACK NO. ENTRY ADDR ADA D3 INCREMENT TO LAST SECTOR ALLOCATED CPB A,I ARE LAST SECTOR ALLOCATED EQUAL ? JMP CKRSC YES STB A,I NO, UPDATE PACK NO. ENTRY CLA,INA CPA SECCT IS EFMP'S OWN DIRECTORY ENTRY IN CORE ? JMP SUPS1 YES LDA TRKIO GET TRACK OF CURRENT ENTRY STA STRKI SAVE TRACK OF CURRENT ENTRY LDA SECIO GET SECTOR OF CURRENT ENTRY STA SSECI SAVE SECTOR OF CURRENT ENTRY JSB UPSC1 UPDATE SECTOR 1 LDA STRKI GET TRACK OF CURRENT ENTRY ST A TRKIO RESTORE THE TRACK LDA SSECI GET SECTOR OF CURRENT ENTRY STA SECIO RESTORE THE SECTOR CLA READ SWITCH LDB PAKSC GET SUBCHANNEL JSB PRWIO RESTORE THE CURRENT ENTRY JMP ESPC GO CHECK FOR SPACE SUPS1 EQU * LDA AESPC RETURN ADDR STA UPSC1 STORE RETURN ADDR JMP UPLSA GO UPDATE LSA ESPC EQU * LDA PNEAD GET ADDR OF PACK NO. ENTRY ADA D3 INCREMENT TO LSA FIELD LDB A,I GET LSA CMB,INB ADA MD2 BACK UP TO FILE LENGTH FIELD ADB A,I CALCULATE SECOTRS UNUSED STB SECFL SAVE SECTORS REMAINING LDA NOSEC GET NO. OF SECTORS REQUESTED CMA,INA ADA SECFL CALCULATE SECTORS LEFT SSA,RSS ENOUGH SPACE ? JMP CKRSC YES CLA NO SPACE JMP CKDSP,I RETURN, P+1 CKRSC EQU * LDA NXTFP GET NEXT FILE POSITION ADDR ADA DESIZ ADD SIZE OF NEXT ENTRY CMA,INA TWO'S COMPLEMENT ADA END$B CALCULATE SPACE AVAILABLE IN SECTOR INA SSA,RSS SPACE AVAILABLE IN SECTOR ? JMP BLDEN YES LDA PNEAD GET PACK NO ENTRY ADDR ADA D2 INCREMENT TO DIRECTORY SIZE LDB A,I GET DIRECTORY SIZE CMB,INB TWO'S COMPLEMENT ADB SECCT CALCULATE SECTORS LEFT IN DIRECTORY SZB PHYSICAL EOD ? JMP CGEOD NO CLA,INA NO DIRECTORY SPACE JMP CKDSP,I NO, RETURN P+1 BLDEN EQU * JSB PKDIR CREATE DIRECTORY ENTRY LDA DESIZ ADA NXTFP ADA MD1 CPA END$B SPACE IN SECTOR FOR EOD MARK ? RSS NO JMP W$BUF YES LDA SECCT INA CPA SECTR PHYSICAL EOD ? JMP W$BUF YES CLB STB ATBUF,I STORE EOD MARKER ISZ SECIO WRITE EOD MARK ON NEXT SECTOR LDA A$BUF STA A$BSV SAVE ADDR OF $BUF LDB ATBUF STB A$BUF USE TEMPORARY BUFFER LDB PAKSC SUB CHANNEL FOR I/O CLA,INA WRITE FLAG FOR I/O JSB PRWIO WRITE NEW EOD MARKER LDA SECIO RESTORE SECTOR NUMBER ADA MD1 STA SECIO LDA A$BSV RESTORE ADDR OF $BUF STA A$BUF JMP W$BUF WRITE BACK NEW DIRECTORY ENTRY CGEOD EQU * LDA DESIZ ADA NXTFP ADA MD1 CPA END$B ROOM IN SECTOR FOR EOS MARK ? RSS NO JMP EOSFL YES ISZ SECIO INCR TO NEXT DIRECTORY SECTOR LDA A$BUF ADDR OF NEXT ENTRY STA NXTBF STORE ADDR OF NEXT ENTRY JMP BLDEN GO BUILD NEW DIRECTORY ENTRY EOSFL EQU * LDB MD1 END-OF-SECTOR INDICATOR STB NXTFP,I STORE INDICATOR LDA A$BUF GET CURRENT BUFFER ADDR STA A$BSV SAVE ADDR LDB ATBUF GET ADDR OF BUFFER FOR NEW ENTRY STB A$BUF STORE NEW WRITE ADDR STB NXTFP STORE ADDR FOR 'PKDIR' JSB PKDIR CREATE DIRECTORY ENTRY ISZ SECIO INCR SECTOR LDB SECIO CPB SECTR END-OF-TRACK ? RSS YES JMP WTBUF NO CLB SECTOR 0 STB SECIO STORE NEW SECTOR ISZ TRKIO INCR TRACK WTBUF EQU * LDB PAKSC GET CURRENT SUBCHANNEL CLA,INA WRITE INDICATOR JSB PRWIO WRITE NEW DIRECTORY SECTOR LDB A$BSV GET OLD BUFFER ADDR STB A$BUF RESTORE ADDR CLB CPB SECIO NEW ENTRY WRITTEN ON NEW TRACK RSS YES JMP DESEC NO LDB SECTR RESTORE TO PREVIOUS SECTOR ADB MD1 STB SECIO LDB TRKIO RESTORE TO PREVIOUS TRACK ADB MD1 STB TRKIO JMP W$BUF WRITE $BUF DESEC EQU * LDB SECIO RESTORE TO PREVIOUS SECTOR ADB MD1 STB SECIO W$BUF EQU * LDA D5 CPA DESIZ PN000 ? JMP W$BF1 Q YES CLA,INA CPA SECCT 1ST EFMP DIREC. SECT. IN $BUF ? RSS YES JMP W$BF1 NO LDA PNEAD GET NEW LSA OF PACK NO. ADA D3 LDB A,I LDA A$BUF UPDATE EFMP DIREC. ENTRY WITH ADA D8 NEW LSA STB A,I W$BF1 EQU * LDB PAKSC GET CURRENT SUBCHANNEL CLA,INA WRITE INDICATOR JSB PRWIO WRITE $BUF LDA D5 CPA DESIZ PN000 ? JMP RETP2 YES CLA,INA CPA SECCT 1ST EFMP DIREC. SECT. IN $BUF ? RSS YES JSB UPSC1 UPDATE LSA OF PACK NO. RETP2 EQU * ISZ CKDSP P+2 JMP CKDSP,I RETURN UPSC1 NOP LDA PNEAD,I GET T/S OF DIRECTORY START JSB PRETS PREPARE T/S FOR I/O LDB PAKSC GET SUBCHANNEL CLA READ INDICATOR JSB PRWIO READ 1ST SECTOR OF DIRECTORY UPLSA EQU * LDB PNEAD GET ADDR OF PACK NO. ENTRY ADB D3 INCREMENT TO LAST SECTOR ALLOCATED FIELD LDA B,I GET LAST SECTOR ALLOCATED LDB A$BUF GET ADDR OF EFMP'S DIRECTORY ENTRY ADB D8 INCREMENT TO LAST SECTOR ALLOCATED FIELD STA B,I STORE NEW LAST SECTOR ALLOCATED LDB PAKSC GET SUBCHANNEL CLA,INA WRITE INDICATOR JSB PRWIO WRITE $BUF JMP UPSC1,I NXTBF DEF 0 ADDRESS OF NEXT ENTRY NOSEC BSS 1 FILE LENGTH IN SECTORS/END SECFL BSS 1 SECTORS FOR THE FILE STRKI BSS 1 SAVE FOR TRACK NUMBER SSECI BSS 1 SAVE FOR SECTOR NUMBER AESPC DEF ESPC DESIZ BSS 1 DIRECTORY ENTRY SIZE DEADR BSS 1 OPEN TABLE ENTRY ADDR ATBUF DEF TBUFF ADDR OF TEMP BUFFER A$BSV BSS 1 SAVE FOR A$BUF APN00 DEF PN ADDR OF 'PN000' PN ASC 1,PN PN000 ASC 1,00 OCT 030212 TBUFF BSS 10 SKP * PKDIR - PACK DIRECTORY ENTRY * ENTER: * DESIZ = SIZE OF DIRECTORY ENTRY * NXTFP = ADDR OF ENTRY TO CREATE * NOSEC = SIZE OF FILE IN SECTORS * PNEAD = ADDR OF PACK NO. ENTRY * DEADR = ADDR OF ENTRY TO COPY('COPY FUNCTION ONLY') * EXIT: * P+1 * DIRECTORY ENTRY CREATED * PKDIR NOP LDB DESIZ GET DIRECTORY ENTRY SIZE CPB D5 PN000 ? RSS YES JMP CEFMP NO LDB NXTFP GET NEW DIRECTORY ENTRY ADDR LDA PN STORE NAME 'PN000' AND ENTRY TYPE STA B,I INB LDA PN+1 STA B,I INB LDA PN+2 STA B,I INB LDA SYNTS GET STARTING T/S STA B,I STORE STARTING T/S INB LDA NOSEC GET FILE LENGTH STA B,I STORE FILE LENGTH INB LDA DESIZ ADA NXTFP ADA MD1 CPA END$B IS SECTOR FULL ? JMP PKDIR,I YES CLA GET EOD INDICATOR STA B,I STORE EOD INDICATOR JMP PKDIR,I RETURN P+1 CEFMP EQU * LDB ARG2,I GET EFMP FUNCTION NUMBER CPB D12 COPY ? JMP CCOPY YES LDA MD2 NO. WORDS TO MOVE STA MOVCT STORE NO. LDA ARG3 ADDR. OF FILE NAME LDB NXTFP GET DESTINATION ADDR JSB MOVE MOVE 1ST 4 CHARS. STA TMPTR STORE NAME ADDR LDA TMPTR,I GET 3RD WORD OF NAME AND H8BT SAVE ONLY 5TH CHAR STA B,I STORE CHAR. INB LDA PNEAD GET PACK NO. ENTRY ADDR ADA D3 INCREMENT TO LSA FIELD LDA A,I GET LAST SECTOR ALLOCATED INA CALCULATE STARTING RELATIVE SECTOR OF FILE STA B,I INB LDA ARG5,I FILE LENGTH STA B,I INB LDA ARG6,I RECORD LENGTH STA B,I INB LDA ARG7,I SECURITY CODE STA B,I INB LDA ARG7 INA LDA A,I STA B,I USER STATUS INB CLA STA B,I HIGHEST RECORD$ ACCESSED INB STA B,I END-OF-DIRECTORY INDICATOR STLSA EQU * LDA PNEAD GET PACK NO. ENTRY ADDR ADA D3 INCREMENT TO LSA FIELD LDB NOSEC GET NO. OF SECTORS FOR THIS FILE ADB A,I CALCULATE NEW LSA STB A,I STORE NEW LSA JMP PKDIR,I CCOPY EQU * LDA MD8 NO. OF WORDS TO MOVE STA MOVCT STORE MOVE COUNT LDA DEADR GET DIRECTORY ENTRY ADDR LDB NXTFP GET NEXT FILE POS. ADDR JSB MOVE MOVE ENTRY LDB NXTFP GET NEXT FILE POS. ADDR ADB D3 INCREMENT TO STARTING SECTOR FIELD LDA PNEAD GET ADDR OF PACK NO. ENTRY ADA D3 INCREMENT TO LSA FIELD LDA A,I GET LSA INA CALCULATE STARTING RELATIVE SECTOR STA B,I STORE STARTING SECTOR ADB D5 INCREMENT TO HRA LDA DEADR GET OPEN TABLE ENTRY ADDR ADA D15 INCREMENT TO HRA FIELD LDA A,I GET HRA STA B,I STORE HRA IN DIRECTORY ENTRY INB CLA STA B,I SET EOD INDICATOR JMP STLSA TMPTR BSS 1 SKP * CKOPN - CHECK OPEN TABLE * ENTER: * B = ADDR. OF FILE NAME * EXIT: * P+1 = FILE NAME NOT FOUND * A = (-) IF END OF TABLE * B = POINTER TO BEGINNING OF NEXT FILE NAME. * P+2 = FILE NAME FOUND * B = POINTER TO BEGINNING OF FILE NAME * CKOPN NOP CHECK OPEN TABLE STB AFNAM SAVE ADDR. OF FILE NAME LDB OPNT1 START OF OPEN TABLE FILE ENTRIES CKNOE EQU * CHECK NEXT OPEN ENTRY STB OPNTP O.T. POINTER LDA B CMA ADA NXOTL NEXT O.T. LOCATION SSA ANY MORE FILES OPEN? JMP CKOPN,I NO, RETURN LDA AFNAM ADDR. OF FILE NAME JSB CMPAR COMPARE FILE NAMES JMP NOCPR NAMES NOT EQUAL ISZ CKOPN P+2 LDB OPNTP RESTORE CURRENT POINTER JMP CKOPN,I RETURN NOCPR EQU * NAMES DID NOT COMPARE LDB OPNTP POINTER TO LAST ENTRY ADB WPOTE BIAS TO NEXT ENTRY IN O.T. JMP CKNOE CHECK NEXT OPEN ENTRY OPNTP OCT 0 OPEN TABLE POINTER SKP SKP * CKCLM - CHECK CORE LIMITS * ENTER: * A = STARTING ADDRESS OF CORE TO BE CHECKED. * B = LENGTH (IN WORDS) OF BUFFER TO BE CHECKED. * EXIT: * B = SAME AS ENTRY * P+1 = INVALID BUFFER AREA. * P+2 = VALID BUFFER AREA. * A = STARTING ADDR. OF CORE TO BE CHECKED * OR EFFECTIVE ADDR. IF ORIGINAL WAS INDIRECT. * CKCLM NOP CHECK CORE LIMITS EFFA1 EQU * SZA,RSS ERROR IF 0 OR 1 JMP CKCLM,I 0, SO ERROR CPA D1 JMP CKCLM,I 1, SO ERROR RAL,CLE,SLA,ERA RSS JMP EFFAD VALID, EFFECTIVE ADDR. LDA A,I GET NEXT ADDR. IN INDIRECT CHAIN JMP EFFA1 AND PROCESS IT. EFFAD EQU * STA CORAD SAVE CORE ADDR. CMA ADA UMFWA USER MEMORY FWA SSA,RSS .GE. 1ST USER WORD? JMP CKCLM,I NO, RETURN LDA CORAD ADA B CALCULATE FINAL ADDR. CMA,INA ADA UMLWA USER MEM. LAST WORD ADDR. SSA TOO BIG? JMP CKCLM,I YES LDA VALSU VALID SETUP FLAG SZA,RSS VALID SETUP? JMP CKLMR NO, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER CMA,INA ADA OPNTE END OF OPEN TABLE BUFFER SSA START .GT. END OF OPEN TABLE? JMP CKLMR YES, CHECK-LIMIT RETURN LDA CORAD STARTING ADDR. OF BUFFER ADA B NO OF WDS. IN BUFFER CMA,INA ADA OPNTB START OF OPEN TABLE SSA END .LE. START OF OPEN TABLE? JMP CKCLM,I NO, ERROR CKLMR EQU * CHECK-LIMIT RETURN LDA CORAD ISZ CKCLM VALID BUFFER AREA JMP CKCLM,[I RETURN CORAD OCT 0 SKP * CMPAR - COMPARE FILE NAMES * ENTER: * A = ADDRESS OF FILE NAME REQUESTED. * B = ADDRESS OF FILE NAME TO BE COMPARED. * EXIT: * P+1 = NAMES DO NOT COMPARE * P+2 = NAMES COMPARE * CMPAR NOP COMPARE FILE NAMES STA AFLNM ADDR. OF FILE NAME LDA MD5 NUMBER OF CHARS TO COMPARE(-) STA CPRNC STORE COUNT CLE RESET 1ST/2ND FLAG COM2C EQU * LDA B,I PICK UP 2 CHAR. IN WORD REQ. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS STA COM1C SAVE TO COMPARE 1 CHAR. LDA AFLNM,I PICK UP 2 CHAR. IN WORD TO COMP. SEZ,RSS LEFT CHAR? ALF,ALF YES, SHIFT INTO POSITION AND L8BT STRIP LOW 8 BITS CPA COM1C ARE 2 CHAR'S. EQUAL RSS EQUAL SO FAR JMP CMPAR,I RETURN NAMES DO NOT COMPARE ISZ CPRNC FINISHED? JMP *+3 NO ISZ CMPAR P+2 JMP CMPAR,I RETURN SEZ,CME,RSS CHECK 2ND CHAR.? JMP COM2C YES ISZ AFLNM BUMP POINTER TO REQUESTED NAME INB BUMP POINTER TO NAME TO BE COMP. JMP COM2C-1 AFLNM OCT 0 ADDR. OF FILE NAME COM1C OCT 0 TEMP. FOR COMPARE 1 CHAR. CPRNC OCT -5 (-) NO. OF CHARS TO COMPARE SKP * ASDEC - ASCII TO DECIMAL CONVERSION * ENTER: * A = ASCII CHAR TO BE CONVERTED IN LO 8 BITS: * EXITS: * P+1 = NO. NOT BETWEEN 0 AND 9 INCLUSIVE * P+2 = VALID NUMBER * A = CONVERTED NUMBER * ASDEC NOP ASCII TO DEC. CONVERSION AND L8BT SAVE ONLY RIGHT CHAR. ADA MB60 BIAS TO NO. 0 SSA IS NO. .GE. TO ZERO? JMP ASDEC,I NO, ERROR ADA MD10 BIAS FOR NO. 9 SSA,RSS LESS THAN 10? JMP ASDEC,I NO, ERROR ADA D10 RESTORE NO. ISZ ASDEC P+2 c<:6 JMP ASDEC,I RETURN SKP * T.STS - CONVERT TRACK/SECTOR TO SECTORS * ENTER: * A = T/S TO BE CONVERTED * EXIT: * A = TOTAL SECTORS * B IS SAVED * T.STS NOP T/S TO SECTORS STA T.STM SAVE T/S TO BE CONVERTED STB T.STM+1 SAVE B FOR EXIT AND L8BT STRIP SECT. NO. STA T.STM+2 SAVE SECTOR NO. LDA T.STM T/S ALF,ALF PUT TK. NO. IN LO 8 BITS AND L8BT STRIP TK. NO. LDB SECTR JSB MPY CALC. TOTAL SECTORS/TRACK SZB OVERFLOW? JSB ER23 YES, INVALID ARGUEMENT ADA T.STM+2 ADD REMAINING SECTORS LDB T.STM+1 RESTORE B JMP T.STS,I RETURN T.STM OCT 0,0,0 TEMP. STORAGE SPC 1 * STT.S - SECTORS TO TRACK/SECTOR <  24309-80008 1523 S 0122 DOS EFMP $EX30 (EAU)              H0101 A* ENTER: * A = TOTAL SECTORS TO BE CONVERTED * EXIT: * A = TRACK/SECTOR * B IS SAVE * STT.S NOP SECT. TO T/S STB T.STM+1 SAVE B FOR EXIT CLB JSB DIV CALC. NO. TRKS. PLUS REMAINDER DEF SECTR SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR ALF,ALF SAVE NO. TRACKS IN HI 8 BITS ADA B INCLUDE NO. SECTORS LDB T.STM+1 RESTORE B JMP STT.S,I RETURN SKP * STZ - STORE ZEROS INTO A BUFFER (STSPC STORES SPACES) * ENTER: * A = (-) NO. OF WORDS TO CLEAR * B = STARTING ADDR. OF 1ST WORD * EXIT: * A = 0 * B = POINTER TO END-OF-BUFFER + 1 * STZ NOP STORE ZEROS STA STZX1 SAVE NO. WORDS TO MOVE,(-). CLA STA B,I PACK W/ ZEROS INB BUMP POINTER TO BUFFER ISZ STZX1 FINISHED? JMP *-3 NO JMP STZ,I RETURN STZX1 OCT 0 INDEX REG SKP * GRTXX - GENERAL READ FOR DISC TRACK X SECTOR X * ENTER: * A = TRACK/SECTOR * B = ADDRESS OF BUFFER * GNS = NO. OF SECTORS TO MOVE * GSC = SUB CH. * EXIT: * BUFFER TRANSFERRED FROM DISC * GRTXX NOP GENERAL READ TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD READ REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GRTXX,I RETURN SPC 1 GRWSU NOP GENERAL R/W SETUP STB REQC SAVE REQUEST CODE STA DRWBF PACK T/S * CHECK TO INSURE T/S DOES NOT OVERFLOW JSB T.STS ADA GNS CALC. LAST TK. TO BE ACCESSED CMA,INA STA DRWBF+2 SAVE TEMPORARILY LDA SECTR SECT./TK. LDB D200 JSB MPY CALC. ABSOLUTE SECTORS LDB GNS NO. SECT. TO TRANSFER CLE THIS IS A 16 BIT ARITHMETIC COMPARE ADA DRWBF+2 CALC. OVERFLOW IF ANY SEZ,RSS OV/>ERFLOW? ADB A YES, TRANSFER UP TO MAX AVAILABLE LDA D128 WORDS/SECT. JSB MPY CALC. NO. WDS. TO TRANSFER STA DRWBF+2 NO. WORDS TO TRANSFER LDB GSC SUB CH. TO BE USED JSB CKDRI CHECK DRIVE LDA ADRWB ADDR OF R/W BUFFER LDB REQC REQUEST CODE OCT 0 FOR DEBUGGING JSB $DISC OCT 0 FOR DEBUGGING JMP GRWSU,I RETURN ADRWB DEF DRWBF DRWBF EQU * DISC R/W BUFF. OCT 0 DISC T/S GBUF OCT 0 ADDR. OF I/O BUFF. OCT 0 WORD COUNT SPC 1 * CKDRI - CHECK DRIVE NO. * ENTER: * B = DESIRED SUB CH. * EXIT: * CUDSC PACKED * CRFLG SET IF NECESSARY * CUDLA SET IF NECESSARY CKDRI NOP CHECK DRIVE LDA CUDSC CURRENT SUB CH. OCT 0 FOR DEBUGGING STB CUDSC CUR. USER DISC SUB CH. CPB SYSSC SYSTEM SUB CH? RSS YES ISZ CRFLG SET DVR FLAG TO USER DISC ARS CALC. DRIVE NO. BRS CALC. DRIVE NO. CPA B SAME DRIVE? JMP *+3 YES LDA L8BT NO STA CUDLA FORCE LAST T/S TO BE MAX JMP CKDRI,I SPC 3 * GWTXX - GENERAL WRITE FOR DISC TRACK X SECTOR X * ENTER: * SAME AS GRTXX * EXIT: * SAME AS GRTXX * GWTXX NOP GENERAL WRITE TRACK X SECT. X STB GBUF SAVE BUFFER LOC. LDB REQCD+1 WRITE REQUEST CODE JSB GRWSU GENERAL R/W SETUP JMP GWTXX,I RETURN GSC OCT 0 SUB CH. FOR GENERAL R/W GNS OCT 0,0 NO. SECT, NO. WORDS TO XFER REQC OCT 0 REQUEST CODE SKP * RTXSX - READ TRACK X SECTOR X INTO $BUF. * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TK X SEC X PUT INTO $BUF. * RTXSX NOP READ TK X SECT X LDB TRKIO GET TRACK NO. BLF,BLF PUT TK. NO. INh] HI BITS STB DRWBF LDB REQCD READ RTSXX EQU * LDA SECIO GET SECTOR NO. IOR DRWBF PACK SECT. NO. STA DRWBF SAVE T/S LDA A$BUF ADDR. OF I/O BUFF. STA DRWBF+1 LDA D128 WORDS/SECT. STA DRWBF+2 LDA ADRWB ADDR. OF CALL BUFFER JSB $DISC CLA STA XFLG CLEAR INVALID SUB CH. FLAG RETURN JMP RTXSX,I RETURN A$BUF DEF $BUF REQCD EQU D1 SPC 3 * WTXSX - WRITE TRACK X SECTOR X FROM $BUF * ENTER: * TRKIO = TRACK NO. * SECIO = SECTOR NO. * EXIT: * TRACK X SECTOR X ON DISC FROM $BUF * WTXSX NOP WRITE TK. X SECT. X LDB TRKIO GET TRACK NUMBER BLF,BLF PUT TK. NO. IN HI 8 BITS STB DRWBF SAVE IT TEMP. LDB WTXSX STB RTXSX PACK RETURN ADDR. LDB REQCD+1 WRITE JMP RTSXX SKP *GETDE - GET DIRECTORY ENTRY * ENTER: * B = ADDR OF OPEN TABLE ENTRY * EXIT: * CNAME = ADDR OF DIRECTORY ENTRY * TRKIO = TRACK OF DIRECTORY SECTOR * SECIO = SECTOR OF DIRECTORY ENTRY * GETDE NOP STB ANAME SAVE ADDR OF NAME ADB D9 INCREMENT TO DIREC ENT T/S FIELD LDA B,I GET DIREC ENTRY T/S JSB PRETS PREPARE T/S FOR I/O LDB PAKSC GET SUBCHANNEL CLA READ SWITCH JSB PRWIO READ DIRECTORY SECTOR LDB A$BUF GET ADDR OF $BUF STB CNAME STORE IT NDIRE EQU * LDA ANAME GET ADDR OF FILE NAME JSB CMPAR EQUAL TO CURRENT ENTRY ? RSS NO JMP GETDE,I YES, RETURN LDB CNAME GET ADDR OF CURRENT ENTRY ADB D9 INCREMENT TO NEXT ENTRY STB CNAME STORE NEW ADDR JMP NDIRE CONTINUE CNAME BSS 1 ADDR OF ENTRY ANAME BSS 1 ADDR OF DESIRED FILE NAME SPC 3 * CNVDA - CONVERT DECIMAL TO ASCII * ENTER: * A = DECIMAL VALUE TO CONVERT(ހ0-999) * B = ADDR OF ASCII OUTPUT * EXIT: * FIRST 3 BYTES OF ADDR GIVEN IN B = ASCII VALUE CNVDA NOP STA DECVL SAVE DECIMAL VALUE STB ASCVL SAVE ADDR OF OUTPUT CLB CLEAR HI DIVIDEND JSB DIV DIVIDE BY 100 DEF D100 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(100'S) ALF,ALF STA ASCVL,I STORE 1ST ASCII CHARACTER(100'S) CLB CLEAR HI DIVIDEND LDA DECVL INIT LO DIVIDEND JSB DIV DIVIDE BY 10 DEF D10 STB DECVL SAVE REMAINDER IOR AMASK CONVERT QUOTIENT TO ASCII(10'S) XOR ASCVL,I STA ASCVL,I STORE 2ND ASCII CHARACTER(10'S) LDA DECVL GET REMAINDER(1'S) IOR AMASK CONVERT TO ASCII CHARACTER ALF,ALF LDB ASCVL ADB D1 STA B,I STORE 3RD ASCII CHARACTER(1'S) JMP CNVDA,I RETURN DECVL BSS 1 DECIMAL VALUE SAVE AREA ASCVL BSS 1 ADDR OF OUTPUT AREA AMASK OCT 60 MASK FOR CONVERSION SPC 3 * CNPND - CONVERT PACK NUMBER TO DECIMAL * ENTER: * A = ADDR OF 3RD CHAR OF PACK NAME * EXIT: * P+1 = NOT DECIMAL * P+2 = DECIMAL * A = DECIMAL PACK NO. * DPNO = DECIMAL PACK NO. * CNPND NOP STA PNADR SAVE ADDR OF PACK NO. LDA A,I GET FIRST CHAR ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DPNO STORE RESULT LDA PNADR,I GET 2ND CHAR JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT LDA DPNO CALCULATE INTERMEDIATE RESULT LDB D10 JSB MPY ADA DECPN STA DPNO SAVE INTERMEDIATE RESULT LDB PNADR GET 3RD CHAR ADB D1 LDA B,I ALF,ALF JSB ASDEC CONVERT TO DECIMAL JMP CNPND,I RETURN P+1 STA DECPN SAVE RESULT _ LDA DPNO CALCULATE FINAL RESULT LDB D10 JSB MPY ADA DECPN STA DPNO SAVE RESULT ISZ CNPND P+2 JMP CNPND,I RETURN PNADR BSS 1 ADDR OF PACK NO. DPNO BSS 1 DECIMAL TOTAL DECPN BSS 1 DECIMAL VALUE SPC 3 * CKSPC - CHECK FOR SUFFICIENT FILE SPACE * ENTER: * PNEAD = ADDR OF PACK NO. ENTRY * NOSEC = NO. SECTORS * EXIT: * P+1 = INSUFFICIENT SPACE * P+2 = SUFFICIENT SPACE * CKSPC NOP LDA PNEAD GET ADDR OF PACK NO. ENTRY ADA D3 INCREMENT TO LAST SECTOR ALLOCATED LDB A,I GET LAST SECTOR ALLOCATED CMB,INB COMPUTE TOTAL SECTORS UNUSED ADA MD2 ADB A,I STB SECLF SAVE COUNT OF UNUSED SECTORS LDA NOSEC GET NO. OF SECTORS NEEDED CMA,INA ADA SECLF SSA ENOUGH SECTORS AVAILABLE ? JMP CKSPC,I NO, RETURN P+1 ISZ CKSPC YES, P+2 JMP CKSPC,I RETURN SECLF BSS 1 NO. OF UNUSED SECTORS SPC 3 * STPNO - STORE PACK NO ENTRY OFFSET * ENTER: * A = ADDR OF OPEN TABLE ENTRY * PNEAD = ADDR OF PACK NO. ENTRY * EXIT: * PACK NO. OFFSET STORED IN OPEN TABLE ENTRY * STPNO NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR ADA D2 INCREMENT TO PACK NO. OFFSET FIELD LDA A,I GET PACK NO. OFFSET AND H8BT ZERO IT LDB OTEAD ADB D2 STA B,I STORE IT LDA OPNTB GET START OF OPEN TABLE CMA,INA ADA PNEAD GET START OF PACK NO. ENTRY CLB CALCULATE OFFSET JSB DIV DEF D4 LDB OTEAD GET OPEN TABLE ENTRY ADB D2 INCREMENT TO PACK NO. OFFSET FIELD XOR B,I STA B,I STORE PACK NO. OFFSET JMP STPNO,I RETURN OTEAD BSS 1 ADDR OF OPEN TABLE ENTRY SPC 3 * SFSTS - STORE FIRST T/S OF THE FILE * ENTER: * A = ADDR OcF OPEN TABLE ENTRY(REL SECTOR OFFSET IN 4TH WORD) * PNEAD = ADDR OF PACK NO. ENTRY * * EXIT: * STARTING T/S STORED IN OPEN TABLE ENTRY * SFSTS NOP STA OTEAD SAVE OPEN TABLE ENTRY ADDR LDA PNEAD,I GET STARTING T/S OF PCAK NO. JSB T.STS CONVERT TO SECTORS LDB OTEAD GET OPEN TABLE ENTRY ADDR ADB D3 INCREMENT TO SECTOR FIELD ADA B,I ADD REL SECTOR OFFSET ADA MD1 ADJUST TO STARTING REL SECTOR JSB STT.S CONVERT TO T/S STA B,I STORE STARTING T/S IN OPEN TABLE JMP SFSTS,I RETURN SPC 3 *PRETS - PREPARE TRACK/SECTOR *ENTER: * A = TRACK/SECTOR *EXIT: * TRKIO = TRACK NO. * SECIO = SECTOR NO. PRETS NOP STA TSTMP SAVE THE T/S ALF,ALF SHIFT TRACK NO. TO RIGHT MOST BYTE AND L8BT ZERO LEFT MOST BYTE STA TRKIO STORE TRACK NUMBER LDA TSTMP GET THE T/S AND L8BT ZERO LEFT MOST BYTE STA SECIO STORE SECTOR NUMBER JMP PRETS,I RETURN TSTMP OCT 0 TEMPORARY SPC 3 *PRWIO - PREPARE FOR READ/WRITE *ENTER: * A = 0(READ)/1(WRITE) * B = SUBCHANNEL NO. *EXIT: * TRK X SEC X ON DISC FROM $BUF PRWIO NOP STA RWSWH SAVE READ/WRITE SWITCH CPB SYSSC SYSTEM SUBCHANNEL RSS YES JSB CKDRI NO, CHECK THE DRIVE LDB RWSWH GET READ/WRITE SWITCH SZB READ ? JMP WXX NO JSB RTXSX YES, READ THE RECORD JMP PRWIO,I RETURN WXX EQU * JSB WTXSX WRITE THE RECORD JMP PRWIO,I RETURN RWSWH OCT 0 TEMPORARY SPC 3 * CKPNT - CHECK FOR AN AVAILABLE ENTRY OR AN EXISTING ENTRY * ENTER: * A = 0(CHECK FOR AN AVIALABLE ENTRY) * = 1(CHECK FOR AN EXISTING ENTRY) * B = PACK NO.(IGNORED IF A IS NOT 1) * EXIT: * P+1 = NO ENTRY AVAILABLE/NO ENTRY FOUND * [ P+2 = ENTRY FOUND/ENTRY AVAILABLE * PNEAD = ADDR OF FOUND/AVAILABLE ENTRY * PAKSC = PACK SUBCHANNEL OF FOUND ENTRY * CKPNT NOP SZA CHECK FOR AN AVAILABLE ENTRY JMP CKEXE NO LDB NXPTL GET NEXT AVAILABLE ENTRY ADDR CPB FTRBE END OF PACK NO. ENTRIES ? JMP CKPNT,I YES, RETURN P+1 STB PNEAD NO, STORE NEXT ENTRY ADDR ISZ CKPNT P+2 JMP CKPNT,I RETURN CKEXE EQU * LDA OPNT1 GET START OF OPEN TABLE FILE ENTRY CKXPN EQU * CPA NXOTL END OF OPEN TABLE ACTIVE ENTRIES ? JMP CKPNT,I YES, RETURN P+1 ADA D10 INCREMENT TO PACK NO. CPB A,I EQUAL TO REQUESTED PACK NO. ? JMP PNFND YES ADA D6 INCREMENT TO NEXT ENTRY JMP CKXPN CONTINUE SEARCH PNFND EQU * ADA D2 INCREMENT TO SUBCHANNEL FIELD LDB A,I GET SUBCHANNEL STB PAKSC STORE PACK SUBCHANNEL ADA MD10 BACK UP TO PACK NO. ENTRY NO. FIELD LDB A,I GET PACK NO. ENTRY NO. LDA B TRANSFER TO 'A' FOR 'AND' AND L8BT CLEAR MEANINGLESS BITS LDB D4 JSB MPY CALC. OFFSET ADA OPNTB CALCULATE ENTRY ADDR STA PNEAD STORE PACK NO ENTRY ADDRESS ISZ CKPNT P+2 JMP CKPNT,I RETURN PNEAD BSS 1 PACK NO. ENTRY ADDR SPC 3 * MVPNT - MOVE PACK NO. TABLE * ENTER: * A = OFFSET IN LO 8 BITS OF PACK NO. ENTRY * WHICH HAS HAD AN OPEN TABLE FILE ENTRY DELETED * EXIT: * UPDATED PACK NO. TABLE(IF NEEDED) * MVPNT NOP AND L8BT CLEAR LEFT BYTE STA OFFST SAVE PACK NO. OFFSET LDB OPNT1 GET FIRST OPEN TABLE ENTRY NXOTE EQU * CPB NXOTL END OF ENTRIES JMP UPNTB YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. OFFSET AND L8BT CLEAR LEFT BYTE CPA OFFST EQUAL TOL OFFSET OF DELETED FILE ENTRY JMP MVPNT,I YES, RETURN ADB D14 NEXT OPEN TABLE ENTRY JMP NXOTE CONTINUE UPNTB EQU * LDA OFFST GET DELETED OFFSET STA OFFS1 STORE IT LDB D4 JSB MPY ADA OPNTB UNXEN EQU * ADA D4 INCREMENT TO NEXT ENTRY CPA NXPTL END OF PACK NO. ENTRIES ? JMP UNXPT YES STA SVPNA SAVE PACK NO. ENTRY ADDR LDB A SAVE ADDR OF CURRENT ENTRY TO MOVE ADB MD4 BACK TO FIRST WORD OF NEW ENTRY TO USE STB NEADR STORE ADDR OF NEW ENTRY MNXWD EQU * LDB A,I MOVE WORD STB NEADR,I LDB NEADR INCREMENT TO NEXT WORD ADB D1 STB NEADR CPB SVPNA ENTRY MOVED ? JMP UDONE YES ADA D1 INCREMENT TO NEXT WORD JMP MNXWD MOVE NEXT WORD UDONE EQU * LDB OFFST GET DELETED OFFSET ADB D1 INCREMENT STB OFFS1 SAVE OFFSET TO CHANGE LDB OPNT1 GET START OF OPEN TABLE FILE ENTRIES CNXOT EQU * CPB NXOTL END OF OPEN TABLE ENTRIES JMP CKMPN YES ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I GET PACK NO. AND L8BT CLEAR LEFT BYTE CPA OFFS1 OFFSETS EQUAL ? RSS YES JMP INXOT NO LDA B,I GET PACK NO. AND H8BT CLEAR RIGHT BYTE STA B,I STORE LDA OFFST GET NEW OFFSET XOR B,I STA B,I STORE NEW OFFSET INXOT EQU * ADB D14 INCREMENT TO NEXT OPEN TABLE ENTRY JMP CNXOT GO CHECK NEXT ENTRY CKMPN EQU * LDA OFFST GET OFFSET TO CHANGE ADA D1 INCREMENT STA OFFST STORE LDA SVPNA GET PACK NO. ENTRY ADDR. JMP UNXEN CONTINUE UNXPT EQU * LDA NXPTL UPDATE NEXT PACK NO. ENTRY ADDR ADA MD4 STA NXPTL JMP MVPNT,I RETURN OFFST BSS 1 OFFSET TO CHAN±GE OFFS1 BSS 1 NEW OFFSET SVPNA BSS 1 CURRENT PACK NO. ENTRY ADDR NEADR BSS 1 NEW ENTRY ADDR SPC 3 * SVPNS - SAVE ARGUEMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS SAVED * SVPNS NOP LDA MD9 NO. OF WORDS TO SAVE STA MOVCT SAVE MOVE COUNT LDA ATRKI ADDR OF ARGUMENTS TO SAVE LDB ASRCS ADDR OF SAVE AREA JSB MOVE SAVE THE ARGUMENTS JMP SVPNS,I RETURN P+1 ASRCS DEF SRCSV ADDR OF SAVE AREA SRCSV BSS 9 SAVE AREA SPC 3 * REPNS - RESTORE ARGUMENTS FOR PACK NO. SEARCH * EXIT: SEARCH ARGUMENTS RESTORED * REPNS NOP LDA MD9 NO. OF WORDS TO RESTORE STA MOVCT SAVE MOVE COUNT LDA ASRCS GET ADDR OF SOURCE LDB ATRKI GET ADDR OF RESTORE AREA JSB MOVE RESTORE THE ARGUMENTS CLA READ LDB PAKSC GET THE SUBCHANNEL JSB PRWIO RESTORE $BUF JMP REPNS,I RETURN P+1 SPC 3 * EXIT: * A = CHECKSUM * CKSUM NOP LDB OPNTB GET START OF OPEN TABLE(1ST PN ENTRY) CCA START AT -1 PNLOP EQU * CPB NXPTL END OF PN ENTRIES ? JMP SUMOE YES XOR B,I COMPUTE CHECK SUM ADB D1 INCREMENT TO NEXT CHECK SUM WORD JMP PNLOP CHECK FOR END OF PN ENTRIES SUMOE EQU * LDB OPNT1 GET START OF OPEN TABLE ENTRIES DELOP EQU * CPB NXOTL END OF OPEN TABLE ENTRIES ? JMP CKSUM,I YES ADB D2 INCREMENT TO FIRST CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D6 INCREMENT TO SECOND CHECK SUM WORD XOR B,I COMPUTE CHECK SUM INB INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D2 INCREMENT TO NEXT CHECK SUM WORD XOR B,I COMPUTE CHECK SUM ADB D4  INCREMENT TO NEXT OPEN TABLE ENTRY JMP DELOP NO HED MULTIPLY AND DIVIDE ROUTINES * MPY - MULTIPLY TWO SIXTEEN BIT NUMBERS * ENTER : * A = MULTIPLICAND * B = MULTIPLIER * * EXIT : * A = LEAST SIGNIF. VALUE * B = MOST SIGNIF. VALUE * IFZ MPY NOP STB MULPL STORE MULTIPLIER OCT 100200 MULTIPLY DEF MULPL ADDR OF MULTIPLIER JMP MPY,I XIF SPC 3 IFN MPY NOP STA MPYTM SAVE MULTIPLICAND LDA MD16 MAX NO. OF SHIFTS STA MPYX1 CLA INITIALIZE PRODUCT NXTBT EQU * CLE,ELA ELB SEZ,CLE ADA MPYTM SEZ INB ISZ MPYX1 JMP NXTBT JMP MPY,I MPYTM OCT 0 TEMP. STORAGE MPYX1 OCT 0 INDEX REG. XIF * DIV - DIVIDE A 32 BIT NUMBER BY A 16 BIT NUMBER * ENTER: * A = LEAST SIGNIF. VALUE OF DIVIDEND * B = MOST SIGNIF. VALUE OF DIVIDEND * CONTENTS OF 'DIV' = ADDR OF ADDR OF DIVISOR * * EXIT: * A = QUOTIENT * B = REMAINDER * RETURN P+2 * IFZ DIV NOP STB SCRTH SAVE HIGH DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB B,I GET DIVISOR STB MULPL STORE FOR DIVIDE LDB SCRTH RESTORE HIGH DIVIDEND OCT 100400 DIVIDE DEF MULPL ADDR OF DIVISOR ISZ DIV P+2 JMP DIV,I RETURN MULPL OCT 0 DIVISOR SCRTH OCT 0 TEMP XIF SPC 3 IFN DIV NOP STB TEMPP SAVE HI DIVIDEND LDB DIV,I GET ADDR OF DIVISOR LDB 1,I GET DIVISOR ISZ DIV BUMP RETURN SZB,RSS ZERO DIVISOR JMP OVFLO YES CLE,SSB SET B TO ABS AND E TO SIGN CMB,CME,INB STB PLUSD STORE POSITIVE DIVISOR CMB,INB STB MIND STORE NEGATIVE DIVISOR LDB M16 STB COUNT INIT$B@<:6XT OPEN TABLE ENTRY ADA WPOTE ADD SIZE OF ENTRY ADA MD1 CMA,INA ADA OPNTE ROOM FOR NEW ENTRY ? SSA YES JSB ER18 NO LDB ARG4,I GET PACK NO. SSB,RSS TRY ALL PACKS ? JMP SOPNT NO LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR JMP GFSPN SOPNT EQU * CLA,INA SEARCH FOR ACTIVE ENTRY LDB ARG4,I GET PACK NO. JSB CKPNT PACK NO. IN TABLE RSS NO JMP SPNE1 YES CLA SEARCH FOR AVAILABLE ENTRY JSB CKPNT ENTRY AVAILABLE ? JSB ER16 NO CLA NEW ENTRY SWITCH STA PNESW STORE SWITCH GFSPN EQU * LDA ARG4,I GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? l<  24309-80010 1523 S 0122 DOS EFMP $EX31              H0101  JSB ER6 NO SRCFL EQU * STB SVAEN SAVE ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVAEN RESTORE ENTRY ADDR ADB D3 INCREMENT TO T/S OF DIRECTORY LDA B,I GET T/S START OF EFMP DIRECTORY LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S JMP CSET1 NO SPNE1 EQU * CLA,INA NO NEW ENTRY SWITCH STA PNESW STORE SWITCH CSET1 EQU * JSB SETD1 SET UP FOR EFMP SEARCH JSB SRCDR SEARCH FOR FILE RSS FILE NOT FOUND JMP BLFTE FILE FOUND LDA ARG4,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN YES, SEARCH FOR NEXT PACK NO. JSB ER6 NO PACK NO. AVAILABLE JMP SRCFL PACK NO. AVAILABLE BLFTE EQU * STB OCFPO OPEN/CLOSE FILE POSITION ADB D6 LDA B,I SECURITY CODE CPA ARG6,I VALID? RSS YES JSB ER7 CLA STA B,I CLEAR FOR IN CORE LDB ARG4,I GET PACK NO. SSB,RSS TRY ALL PACKS ? JMP MOVEN NO CLA,INA SEARCH FOR ACTIVE ENTRY SWITCH LDB DPNO GET PACK NO. JSB CKPNT PACK NO. IN TABLE JMP SFAVE NO CLA,INA NO NEW ENTRY SWITCH STA PNESW STORE SWITCH JMP MOVEN SFAVE EQU * CLA SEARCH FOR ENTRY SWITCH JSB CKPNT IS AN ENTRY AVAILABLE ? JSB ER16 NO LDA MD4 MOVE COUNT STA MOVCT STORE MOVE COUNT LDA ADPNE SOURCE ADDR LDB PNEAD DESTINATION ADDR JSB MOVE MOVE PACK NO. ENTRY FROM DUMMY TO REAL CLA NEW ENTRY USED SWITCH STA PNESW STORE SWITCH MOVEN EQU * LDA MXWPE MAX. WDS/ENTRY CMA,INA STA MOVCT NO. WDS TO MOVE LDA OCFPO O/C ,FILE POSITION(SOURCE) LDB NXOTL NEXT O.T. LOC.(DESTINATION) JSB MOVE INSERT NEXT ENTRY LDB NXOTL GET NEW OPEN TABLE ADDR ADB D2 INCREMENT TO PACK NO. OFFSET LDA B,I ZERO PACK NO OFFSET AND H8BT STA B,I STORE IT LDA NXOTL GET ADDR OF OPEN TABLE ENTRY JSB STPNO STORE PACK NO. OFFSET IN ENTRY LDA NXOTL GET ADDR OF OPEN TABLE ENTRY JSB SFSTS STORE STARTING T/S IN ENTRY LDB NXOTL GET ADDR OF OPEN TABLE ENTRY ADB D9 INCREMENT TO DIREC ENTRY T/S FIELD LDA TRKIO GET TRACK ALF,ALF SHIFT TRACK TO LEFT XOR SECIO GET DIRECTORY ENTRY SECTOR NO. STA B,I STORE DIRECTORY ENTRY T/S IN OPEN TABLE INB INCREMENT TO PACK NO. FIELD LDA DPNO GET PACK NO. STA B,I PACK NO. INB JSB GTRBN GET TRB NO. STA B,I TRB NO. LDA PAKSC PACK SUB CH. INB STA B,I INB CLA STA B,I T/S CUR. IN CORE ADB MD5 LDA B,I "HRA" ON DISC ADB D7 STA B,I "HRA" IN CORE LDB NXOTL NEXT O.T.LOC. JSB CKMRN CHECK MAX. RECD. NO. STA B,I NEXT RECORD BEING PROCESSED ADB D2 STB NXOTL UPDATE NEXT O.T. LOC. LDB PNESW GET PACK NO. ENTRY SWITCH SZB NEW ENTRY USED ? JMP EFCON NO LDB NXPTL GET ADDR OF NEXT PACK NO. ENTRY ADB D4 UPDATE ADDR FOR NEW ENTRY STB NXPTL STORE NEW ADDR JMP EFCON RETURN TO MAIN SPC 1 OTMFL EQU * "OPEN" TEMP FILE LDB ARG3 ADDR. OF FILE NAME JSB CKOPN CHECK IF FILE ALREADY OPEN JSB ER8 NOT IN DIR. FROM CREATE STB OCFPO SAVE FILE POSITION IN O.T. ADB D10 INCREMENT TO PACK NO. FIELD CLA PN000 CPA B,I PACK NO. = 0 ? RSS - YES JSB ER8 NO LDB OCFPO GET ADDR OF START OF ENTRY JSB GTRBN GET TRB NO. ADB D11 STA B,I TRB NO. LDB OCFPO POSITION IN O.T. JSB CKMRN CHECK MAX. RECD. NO. STA B,I STARTING R.N. JMP EFCON RETURN TO MAIN SPC 1 CKMRN NOP CHECK MAX. RECD. NO. LDA ARG5,I RCDNO SSA JSB ER10 ADB D4 CMA,INA ADA B,I FILE LENGTH(IN RECORDS) SSA .GT. FILE SIZE? JSB ER10 YES LDA ARG5,I RCDNO ADB D10 POINT TO NEXT R.N. BEING ACC. SZA START AT EOF? JMP CKMRN,I NO INB LDA B,I "HRA" IN CORE ADB MD1 INA JMP CKMRN,I RETURN HED CLOSE FUNCTION * * CLOSE FUNCTION * FUN05 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I PICK UP 1ST WORD SZA CLOSE ALL FILES? JMP CLSIT NO, CLOSE ONLY ONE * CLOSE ALL FILES NXCLS EQU * NEXT CLOSE LDA OPNT1 START OF O.T. CMA ADA NXOTL NEXT O.T. LOC SSA .GE. (FINISHED)? JMP EFCON YES, RETURN TO MAIN LDB OPNT1 START OF O.T. STB ARG3 STORE ADDR OF FILE NAME JSB CLOS1 CLOSE 1ST ONE AND REPACK JMP NXCLS NEXT CLOSE SPC 1 CLSIT EQU * CLOSE IT LDB ARG3 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN JSB ER11 FILE NOT OPEN JSB CLOS1 CLOSE THIS FILE ONLY JMP EFCON RETURN TO MAIN SKP * CLOS1 - CLOSE 1 FILE * ENTER: * B = ADDR. OF FILE NAME * EXIT: * FILE CLOSED (REMOVED FROM O.T.) AND * WORK AREA REPACKED IF NECESSARY (ALL * TRB'S WILL BE POSTED IF W.A. IS REPACKED) * CLOS1 NOP CLOSE 1 FILE STB OCFPO+1 O/C FILE POSITION ADB D12 INCREMENT TO SUBCHANNEL FIELD kLDA B,I GET SUBCHANNEL STA PAKSC INIT PACK SUBCHANNEL ADB MD2 BACK UP TO PACK NO. FIELD LDA B,I GET PACK NO. SZA,RSS PN000 ? JMP DISRP YES LDB OCFPO+1 GET OPEN TABLE ENTRY JSB GETDE GET DIRECTORY ENTRY LDB CNAME GET ADDR OF DIRECTORY ENTRY STB OCFPO STORE ADDR LDB OCFPO+1 ADDR OF OPEN TABLE ENTRY ADB D11 LDA B,I TRB NO. LDB D3 ADA MD1 JSB MPY CALC. BIAS ADA FTRBE START OF TRB'S LDB A ADA D2 LDA A,I TRB POINTER TO O.T. CPA OCFPO+1 THIS TRB FOR THIS FILE? JSB POSTW POST IF NECESSARY LDB OCFPO+1 POINTER TO FILE IN O.T. ADB D8 LDA B,I H.R.N. WRITTEN ON DISC ADB D7 CMA,INA ADA B,I H.R.N. ACCESSED IN CORE ELA SAVE SIGN OF "A" LDA B,I H.R.N. ACCESSED IN CORE LDB OCFPO POINTER TO FILE IN $BUF ADB D8 SEZ UPDATE OLD HRN?(NEW .GT. OLD?) STA B,I YES LDA ARG4,I USER STATUS CODE ADB MD1 STA B,I UPDATE USER STATUS CODE CLA,INA WRITE LDB PAKSC GET SUBCHANNEL JSB PRWIO WRITE UPDATED DIRECTORY ENTRY LDB OCFPO+1 POINTER TO FILE IN O.T. ADB D2 INCREMENT TO PACK NO. OFFSET FIELD LDA B,I GET PACK NO. OFFSET STA SVPNO SAVE THE PACK NO. OFFSET ADB MD2 BACK UP TO START OF ENTRY JSB MOVOT MOVE OPEN TABLE LDA SVPNO GET PACK NO. OFFSET JSB MVPNT UPDATE PACK NO. TABLE JMP CLOS1,I RETURN DISRP EQU * LDB OCFPO+1 POINTER TO FILE IN O.T. STB FILPO INITIALIZE POINTER JSB POST JSB RPWKA REPACK WORK AREA JMP CLOS1,I RETURN SKP * MOVOT - MOVE OPEN TABLE AND UPDATE TRB POINTERS * ENTER: * B = STARTING ADDR. OF ENTRY TO BE * fQ DELETED IN O.T. * EXIT: * OPEN TABLE AND TRB TRIPLET'S REPACKED * MOVOT NOP MOVE O.T. AND MODIFY TRB TRIPLET STB MVOT1 SAVE POINTER TO O.T. ADB WPOTE WORDS/O.T. ENTRY CMB,INB ADB NXOTL NEXT O.T. LOCATION LDA MVOT1 SZB,RSS ANY ENTRIES TO MOVE? JMP NOMOV NO CMB,INB STB MOVCT NO. OF WDS TO MOVE ADA WPOTE SOURCE ADDR. LDB MVOT1 DESTINATION ADDR. JSB MOVE STB NXOTL UPDATE NEXT O.T. LOC. RSS NOMOV EQU * NO MOVE STA NXOTL UPDATE NEXT O.T. LOC. LDA NOTRB NO. TRB CMA,INA STA MVOTX INITIALIZE INDEX LDB FTRBE ADB D2 MOVNA EQU * MOVE NEXT ADDR. LDA B,I PICK UP POINTER TO O.T. ENTRY CPA MVOT1 JMP CLRIT CLEAR IT CMA,INA ADA MVOT1 SSA,RSS .GE. TO ENTRY MOVED? JMP MVNTR NO LDA B,I POINTER TO OLD ENTRY IN O.T. ADA MWPOT BIAS BACK 1 ENTRY STA B,I RESTORE IT MVNTR EQU * MOVE TO NEXT TRB ADB D3 BIAS TO NEXT TRB TRIPLET ISZ MVOTX FINISHED? JMP MOVNA NO, MOVE NEXT ADDR. JMP MOVOT,I RETURN CLRIT EQU * CLEAR IT CLA STA B,I CLEAR THIS POINTER JMP MVNTR MOVE TO NEXT TRB HED OPEN/CLOSE ROUTINES * GTRBN - GET TRB NUMBER AND CHECK IT * ENTER: * ARG7 = ADDR. OF DESIRED TRB NO. * EXIT: * A = TRB NO. * B IS SAVED * GTRBN NOP GET TRB NO. LDA ARG7,I TRB NO SSA INVALID? JMP GTRB1 YES CMA,INA ADA NOTRB MAX. NO. TRB'S SSA .GT.? JMP *+3 YES LDA ARG7,I JMP *+2 GTRB1 EQU * CLA SZA,RSS INVALID 0? INA YES JMP GTRBN,I RETURN OCFPO OCT 0,0 OPEN/CLOSE FILE POSITION MVOT1 OCT 0 TEMP LOC. FOR MOVE O.T. MVOTX OCT 0 INDEX FOR MOVE O.T. SPC 3 * RPDIS - REPACK 1 DISC ENTRY * ENTER: * A = STARTING T/S OF NEXT DATA AREA * B = FILE POSITION * DISSC = DESIRED SUBCHANNEL * EXIT: * A = (-) NO. SECT. MOVED * P+1 = UPDATED LAST FILE ONLY * P+2 = UPDATED OTHER THAN LAST FILE * RPDIS NOP REPACK 1 DISC ENTRY JSB T.STS CONV. TO SECT. STA RPSTS LAS DATA FILE SECTOR+1 STB RPLOC FILE LOC. ADB D3 LDA B,I T/S IN WORK AREA JSB T.STS CONVERT TO SECTORS STA CFILS CURRENT FILE STARTING SECTOR INB LDA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY CALC. FILE LENGTH IN WORDS JSB DIV CALC. FILE LENGTH IN SECTORS DEF D128 SOC OVERFLOW ? JSB ER23 YES, ERROR SHOULD NOT OCCUR SZB OVERFLOW TO ANOTHER SECTOR ? INA YES STA FILSI FILE SIZE(IN SECT.) I. E. DELTA CMA,INA STA FILSI+1 SAVE (-) VALUE CMA,INA ADA CFILS CURRENT FILE STARTING SECTOR STA NFILS STARTING SECT. FOR NEXT FILE CMA ADA RPSTS LAST FILE START SSA LAST FILE ? JMP RPD1 YES INA STA NSLTM NO. SECT LEFT TO MOVE LDA NOTRB NO. OF TRB'S LDB TRBSZ JSB MPY CALC. NO. SECT. IN TOTAL TRB STA BUFSZ SAVE TOTAL TRB SIZE (IN SECTORS) RPAKM EQU * CMA,INA ADA NSLTM NO. SECT. LEFT TO MOVE LDB NSLTM STA NSLTM SSA,RSS MORE TO BE MOVED THAN BUFF. SIZE ? LDB BUFSZ YES SZB,RSS FINISHED ? JMP RPD1-1 YES STB GNS NO. SECT. FOR GENERAL R/W LDA DISSC DESIRED SUBCHANNEL STA GSC SUBCHANNEL FOR GENERAL R/W LDA NFILS NEXT FILE SECTOR JSB STT.S  CONV. TO T/S LDB TRBUF BUFFER ADDR JSB GRTXX READ LDA CFILS CURRENT FILE SECTOR JSB STT.S CONV. TO T/S LDB TRBUF JSB GWTXX WRITE LDA CFILS CURRENT FILE SECTOR (ABSOLUTE) ADA GNS NO. SECT. MOVED STA CFILS LDA NFILS NEXT FILE SECTOR (ABSOLUTE) ADA GNS NO. SECT. MOVED STA NFILS LDA BUFSZ TOTAL SIZE OF TRB (IN SECTORS) LDB NSLTM NO. SECT. LEFT TO MOVE SSB,RSS FINISHED ? JMP RPAKM NO, REPACK MORE ISZ RPDIS P+2 RPD1 EQU * LDA FILSI+1 (-) NO. OF SECT. MOVED JMP RPDIS,I RETURN RPSTS OCT 0 REPACK STARTING T/S RPLOC OCT 0 REPACK STARTING LOC. DISSC OCT 0 BUFSZ OCT 0 TOTAL SIZE OF TRB (IN SECTORS) CFILS OCT 0 CURRENT FILE STARTING SECTOR FILSI OCT 0,0 FILE SIZE NFILS OCT 0 NEXT FILE SIZE NSLTM OCT 0 NO. SECTORS LEFT TO MOVE HED INITIALIZE FUNCTION FUN07 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I GET PACK NUMBER JSB CKPN CHECK PACK NUMBER FOR EQUAL OR LESS THAN 999 SSA IS PACK NUMBER POSITIVE ? JSB ER15 NO SZA,RSS SYSTEM PACK DESIRED ? JSB ER15 YES JSB GETPN SEARCH FOR THE DESIRED PACK NUMBER JSB ER6 PACK NUMBER NOT AVAILABLE STB DIRPT SAVE DIRECTORY ADDRESS ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STA STRTS SAVE T/S ADB D1 INCREMENT TO FILE SIZE LDA B,I GET THE FILE SIZE STA FILSZ SAVE FILE SIZE LDA ARG4,I GET NUMBER OF DIRECTORY ENTRIES REQUESTED SSA POSITIVE ? JSB ER29 NO ADA D1 ADD ONE FOR EFMP'S OWN DIRECTORY ENTRY LDB MXWPE JSB MPY CALC. TOTAL WDS. NEEDED FOR DIRECTORY JSB DIV CALC. TOTAL SECT. NEEDED FOR DIRECTORY DEF D126 AMOUNT OF SECT USED PER TRAK7905 SOC OVERFLOW ? JSB ER29 DIRECTORY SIZE IS TOO LARGE SZB OVERFLOW TO ANOTHER SECTOR ? INA YES STA DIRSZ SAVE DIRECTORY SIZE CMA,INA TWO'S COMPLEMENT ADA FILSZ CALCULATE SPACE REMAINING BEYOND DIRECTORY SSA SPACE FOR DIRECTORY IN EFMP FILE ? JSB ER29 NO LDB DIBUF GET EFMP DIRECTORY BUFFER ADDRESS ADB D3 INCREMENT TO DIRECTORY SIZE FIELD LDA DIRSZ GET DIRECTORY SIZE STA B,I INITIALIZE DIRECTORY SIZE INB INCREMENT TO FILE SIZE FIELD LDA FILSZ GET FILE SIZE STA B,I INITIALIZE FILE SIZE ADB D4 INCREMENT TO LAST ALLOCATED SECTOR FIELD LDA DIRSZ CALCULATE LAST ALLOCATED SECTOR STA B,I INITIALIZE LAST ALLOCATED SECTOR LDA A$BUF GET ADDRESS OF $BUF STA A$BSV SAVE ADDR OF $BUF LDA DIBUF GET ADDRESS OF WRITE BUFFER STA A$BUF STORE IT FOR WRITE ROUTINE LDA TRKIO GET TRACK NO. STA SVTRK SAVE TRACK NO. LDA SECIO GET SECTOR NO. STA SVSEC SAVE SECTOR NO. LDA STRTS GET T/S WRITE ADDRESS JSB PRETS PREPARE IT FOR I/O LDA D1 WRITE INDICATOR LDB PAKSC GET CURRENT SUBCHANNEL JSB PRWIO WRITE FIRST SECTOR OF EFMP FILE LDA A$BSV GET ADDR OF $BUF STA A$BUF RESTORE THE ADDRESS OF $BUF LDB DIRPT GET DIRECTORY ADDRESS ADB D2 INCREMENT TO TYPE FIELD ISZ B,I CHANGE FROM BINARY TO ASCII LDA SVTRK GET TRACK NO. STA TRKIO RESTORE TRACK NO. LDA SVSEC GET SECTOR NO. STA SECIO RESTORE SECTOR NO. LDA D1 WRITE INDICATOR LDB PAKSC GET CURRENT SUBCHANNEL JSB PRWIO WRITE BACK DOSM ENTRY FOR THE PACK@ NUMBER JMP EFCON RETURN TO MAIN FNAM1 BSS 1 FNAM2 BSS 1 FNAM3 BSS 1 FDRSZ BSS 1 FLSIZ BSS 1 RESV1 BSS 1 RESV2 BSS 1 RESV3 BSS 1 LSTSA BSS 1 EODM BSS 1 DIBUF DEF FNAM1 A$BSV BSS 1 SAVE FOR $BUF ADDR DIRSZ BSS 1 DIRECTORY SIZE DIRPT BSS 1 DIRECTORY ENTRY POINTER STRTS BSS 1 EFMP STARTING T/S FILSZ BSS 1 EFMP SIZE SVTRK BSS 1 TRACK SAVE AREA SVSEC BSS 1 SECTOR SAVE AREA HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 POSTW NOP JSB MASUB DEC 3 CKVSU NOP JSB MASUB DEC 4 CRPN0 NOP JSB MASUB DEC 6 CKPN NOP JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 CKNAP NOP JSB MASUB DEC 9 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 GETDE NOP JSB MASUB DEC 12 REPNS NOP JSB MASUB DEC 13 MVPNT NOP JSB MASUB DEC 16 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCDR NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKDSP NOP JSB MASUB DEC 21 CKCLM NOP JSB MASUB DEC 22 CKPNT NOP JSB MASUB DEC 24 PKDIR NOP JSB MASUB DEC 25 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 STZ NOP JSB MASUB DEC 28 GRTXX NOP JSB MASUB DEC 29 GWTXX NOP JSB MASUB DEC 30 CKSPC NOP JSB MASUB DEC 31 STPNO NOP JSB MASUB DEC 32 SFSTS NOP JSB MASUB DEC 33 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 <:6 LDA D3 JSB ERR ER4 EQU * OCT 0 LDA D4 JSB ERR ER5 EQU * OCT 0 LDA D5 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER7 EQU * OCT 0 LDA D7 JSB ERR ER8 EQU * OCT 0 LDA D8 JSB ERR ER9 EQU * OCT 0 LDA D9 JSB ERR ER10 EQU * OCT 0 LDA D10 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER14 EQU * OCT 0 LDA D14 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER16 EQU * OCT 0 LDA D16 JSB ERR ER17 EQU * OCT 0 LDA D17 JSB ERR ER18 EQU * OCT 0 LDA D18 JSB ERR h<  24309-80011 1523 S 0122 DOS EFMP $EX31              H0101 ER19 EQU * OCT 0 LDA D19 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER24 EQU * OCT 0 LDA D24 JSB ERR ER25 EQU * OCT 0 LDA D25 JSB ERR ER26 EQU * OCT 0 LDA D26 JSB ERR ER29 EQU * OCT 0 LDA D29 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR SKP A EQU 0 B EQU 1 . EQU 53B SECTR EQU 116B SYSSC EQU 155B H8BT EQU 75B INVCH EQU 75B SPC 1 MD12 DEC -12 MD10 EQU .-10 MD8 EQU .-8 MD7 EQU .-7 MD5 EQU .-5 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D5 EQU .+5 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D9 EQU .+9 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D14 DEC 14 D15 DEC 15 D16 DEC 16 D17 DEC 17 D18 DEC 18 D19 DEC 19 D23 DEC 23 D24 DEC 24 D25 DEC 25 D26 DEC 26 D29 DEC 29 D126 DEC 126 7905 D128 DEC 128 MXWPE DEC 9 WORDS/DIRECTORY ENTRY PNESW BSS 1 PACK NO. ENTRY SWITCH WPOTE DEC 16 WORDS/OPEN TABLE ENTRY MWPOT DEC -16 NEG. WORDS/OPEN TABLE ENTRY TWTRB OCT 0 TOTAL WORDS IN ALL TRB'S AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END   24309-80012 1523 S 0122 DOS EFMP $EX32              H0101 ASMB,R,B,L,C,X $EX32 7905 HED EFMP EXEC MODULE NAM $EX32,1,0 7905 ENT $EX32 EXT ERROR, EFCON EXT AINVC,NSUWA,FTRBE,CNAME,PNEAD,OPNTB EXT TRBSZ,ARQP1,NOPAS,EBIAS,GTNXE,DPNO,PN EXT PAKSC,MOVCT,APN00,GSC,GNS EXT MASUB,SRCDR,A$BUF **************************************************** 7905 * * 7905 * REV 4-21-75 * 7905 * * 7905 **************************************************** 7905 SPC 3 $EX32 EQU * NOP DUMMY LDB MD8 STB MOVCT NO. WORDS TO MOVE LDA ARQP1 ADDR. OF SOURCE LDB AARG1 ADDR. OF DEST. JSB MOVE MOVE THE ARGS. LDA ARG2,I FUNCTION NO. ADA AJMPT JMP A,I EXECUTE PROPER FUNCTION AJMPT DEF JMPTB-6,I JMPTB EQU * DEF FUN06 DEF EFCON DEF FUN08 FUNCTION 8 DEF FUN09 DEF FUN10 DEF EFCON DEF EFCON DEF FUN13 HED READ FUNCTION * * READ FUNCTION * FUN06 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY JSB CKINL CHECK AND INITIALIZE PARA. AND TRB READ1 EQU * LDB RFLPO READ-FILE POSITION JSB CALAV CALCULATE ALL NECESSARY VALUES JSB CKEOF CHECK IF END-OF-FILE JSB ER21 END-OF-FILE JSB CKRNO CK. RECORD NO. IN CORE JMP READ2 DESIRED R.N. OUT OF RANGE OF TRB JSB CALMV CALC. NO. WDS. TO MOVE LDB ARG5 DESTINATION BUFFER JSB MOVE LDB RFLPO READ FILE POSITION ADB D14 LDA DESRN DESIRED R.N. INA STA B,I UPDATE N.R. TO BE PROCESSED  JMP EFCON RETURN TO MAIN READ2 EQU * JSB PST1T POST IF NECESSARY JSB RDTS READ DESIRED T/S JMP READ1 SPC 3 * CALMV - CALC. MOVE ADDR. * ENTER: * VALUES FROM CALAV * EXIT: * A = POINTER TO CORRECT TRB * CALMV NOP CALC. MOVE ADDR LDA RLGTH RECORD LENGTH IN WORDS CMA,INA STA MOVCT PACK NO. OF WDS. TO MOVE LDA STRNO STARTING RECD. NO. CMA,INA ADA DESRN DESIRED RECD. NO. LDB RLGTH JSB MPY CALC. RECORD LENGTH IN WORDS OCT 0 OCT 103001 FOR DEBUGGING ADA STRPO STARTING RECORD POSITION JMP CALMV,I RETURN HED WRITE FUNCTION * * WRITE FUNCTION * FUN08 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY CLA STA DESRN+1 INITIALIZE FLAG JSB CKINL CHECK AND INITIALIZE PARA. AND TRB WRIT1 EQU * LDB RFLPO READ-FILE POSITION JSB CALAV CALC. ALL NECESSARY VALUES JSB CKEOF CHECK IF END-OF-FILE JMP EOFWR END-OF-FILE WRITE WRIT3 EQU * JSB CKRNO CHECK RECORD NOS. IN CORE JMP RNXTS OUT-OF-RANGE, READ NEXT T/S JSB CALMV CALC. MOVE ADDR. LDB A DESTINATION LDA ARG5 SOURCE JSB MOVE "WRITE" PROPER RECORD LDB CTRBP CURRENT TRB POINTER INB CLA,INA STA B,I SET "MUST BE WRITTEN" FLAG LDB RFLPO READ FILE POSITION ADB D15 LDA DESRN DESIRED RECD. NO. CMA,INA ADA B,I HIGHEST RECD. NO. WRITTEN IN CORE SSA DESIRED .GT. HIGHEST? JMP UDHRW YES, UPDATE HRW IN CORE WRIT2 EQU * ADB MD1 LDA DESRN DESIRED R.N. INA STA B,I NEXT RECORD TO BE ACCESSED CMA,INA ADA FINRN FINAL RECD. NO. SSA NEXT .GT. FINAL(LAST RCD WRT) JSB PST1T YES, POST 1 TRB JMP EFCON Đ RETURN TO MAIN UDHRW EQU * UPDATE HI RECD. WRITTEN IN CORE LDA DESRN DESIRED R.N. STA B,I BUMP "HRW" INTO CORE JMP WRIT2 SPC 1 EOFWR EQU * END-OF-FILE WRITE ATTEMPT LDB RFLPO READ-FILE POINTER ADB D4 LDA DESRN DESIRED R.N. CMA,INA ADA B,I FILE SIZE SSA .GT. ABSOLUTE EOF? JSB ER21 YES, END-OF-FILE ADB D11 LDA DESRN+1 SZA INSERT ZEROS PASS? JMP INSZR YES LDA B,I "HRW" IN CORE INA CPA DESRN WRITE NEXT HIGHEST RECORD? JMP WRIT3 YES * ZEROS MUST BE INSERTED IN BETWEEN RECORDS LDB DESRN REAL DESIRED R.N. STB DESRN+1 SAVE AS FLAG STA DESRN "HRW"+1 IS TEMP. DESIRED INSZR EQU * JSB CKRNO CHECK IF R.N. IN CORE JMP RNXTS NOT IN CORE, READ IT LDA DESRN "DESIRED" CMA ADA DESRN+1 REAL SSA,RSS "DESIRED" .GE. REAL? JMP INSZ1 NO LDA DESRN+1 REAL DESIRED R.N. STA DESRN RESTORE IT CLA STA DESRN+1 RESET FLAG JMP WRIT1 INSZ1 EQU * JSB CALMV CALC. MOVE ADDR. STA B LDA RLGTH RECORD LGTH. (IN WORDS) CMA,INA JSB STZ FILL 1 RECORD W/ ZEROS LDB CTRBP CURRENT TRB POINTER INB CCA STA B,I SET "MBW" FLAG LDB RFLPO READ-FILE POSITION ADB D14 ISZ B,I NEXT RECD BEING PROCESSED INB ISZ B,I "HRW" IN CORE ISZ DESRN BUMP "DESIRED" R.N. JMP WRIT1 RNXTS EQU * READ NEXT T/S JSB PST1T POST IF NECESSARY JSB RDTS READ DESIRED T/S JMP WRIT1 HED GENERAL READ/WRITE ROUTINES CKINL NOP CHECK INITIALIZATION PARAMETERS LDA ARG3 ADDR. OF F.N. JSB NAM0? CHECK IF ZERO LDB ARG3 ADDR. OF F.N. JSB CKOPN  FILE OPEN? JSB ER11 NO STB RFLPO READ-FILE POSITION ADB D14 LDA ARG4,I RECORD NO. SSA,RSS BACKSPACE? JMP CKN2 NO ADA B,I NEXT RECORD TO BE PROCESSED SSA JSB ER13 SZA,RSS JSB ER13 JMP CKN1 CKN2 EQU * SZA,RSS SEQUENTIAL R/W? LDA B,I YES, GET NEXT RCD. TO BE PROCESSED CKN1 EQU * STA DESRN PACK DESIRED R.N. LDA RFLPO FILE POSITION ADA D5 LDB A,I RECORD LENGTH (IN WORDS) LDA ARG5 BUFFER AREA JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS LDB RFLPO FILE POSITION ADB D11 LDA B,I TRB NO. ADA MD1 LDB D3 JSB MPY ADA FTRBE START OF TRB ENTRIES STA CTRBP CURRENT TRB POSITION LDB CTRBP CUR. TRB POINTER ADB D2 STB CKIN1 SAVE POINTER TO FILE TEMPORARILY LDA B,I CPA RFLPO THIS TRB FOR THIS FILE? JMP CKN3 YES JSB PST1T POST IF NECESSARY LDA RFLPO STA CKIN1,I INITL. TRB FOR THIS FILE CKN3 EQU * LDB RFLPO READ-FILE POSITION JMP CKINL,I RETURN CKIN1 OCT 0 TEMP STROAGE SPC 3 * CKEOF - CHECK IF ATTEMPTED WRITE AFTER END-OF-FILE * EXIT: * P+1 = END-OF-FILE * P+2 = VALID POSITION * CKEOF NOP CHECK FOR END-OF-FILE LDB RFLPO READ-FILE POSITION. ADB D15 LDA B,I HIGHEST R.N. WRITTEN INTO CORE SZA 1ST PASS? JMP *+5 NO ADB MD7 LDA B,I HIGHEST R.N. WRITTEN ONTO DISC SZA,RSS 1ST PASS? JMP CKEOF,I YES, EOF CMA ADA DESRN DESIRED R.N. SSA IS DES. R.N. .LT. HRW? ISZ CKEOF YES, P+2 JMP CKEOF,I NO, END-OF-FILE RETURN SPC 3 * CKRNO - CHECK IF R.N. IN CORE * EXIT: * P+1 = READ NEXT T/S * .  P+2 = RECORD NO. IN CORE * CKRNO NOP CHECK IF R.N. IN CORE LDB RFLPO READ-FILE POSITION ADB D13 LDA B,I T/S CUR. IN CORE SZA,RSS 1ST TIME THRU? JMP CKRNO,I YES, READ NEW T/S LDA DESRN DESIRED R.N. CMA ADA STRNO "START" R.N. SSA,RSS DES. .LT. START? JMP CKRNO,I YES, READ NEXT T/S LDA DESRN DESIRED R.N. CMA,INA ADA FINRN "FINAL" R.N. SSA DES. .GT. FINAL? JMP CKRNO,I YES, READ NEXT T/S ISZ CKRNO P+2 JMP CKRNO,I RETURN SPC 3 RDTS NOP READ DESIRED T/S LDA DESRN DESIRED R.N. ADA MD1 LDB RLGTH JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR STA B SAVE NO. SECT TO REACH R.N. LDA RFLPO READ-FILE POSITION ADA D3 LDA A,I PICK UP STARTING T/S JSB T.STS CONV. TO SECTORS ADA B DESIRED NO. SECT TO REACH R.N. JSB STT.S CONV. BACK TO T/S LDB TRBSZ NO. OF SECT/TRB STB GNS NO. SECT. FOR GENERAL R/W LDB RFLPO READ-FILE POSITION ADB D13 STA B,I UPDATE NEW T/S IN CORE ADB MD1 LDB B,I SUB. CH. NO. STB GSC SUB. CH. FOR GENERA R/W LDB CTRBP,I PICK UP POINTER TO O.T. JSB GRTXX READ T/S W/ DESIRED R.N. LDB RFLPO READ-FILE POSITION * REINITIALIZE PART OF TRIPLET BECAUSE OF POSSIBLE POSTING LDA CTRBP CUR. TRB POINTER ADA D2 STB A,I POINTER TO FILE IN O.T. JMP RDTS,I RETURN SPC 3 PST1T NOP POST 1 TRB IF NECESSARY LDB CTRBP CURRENT TRB POSITION JSB POSTW POST WRITE IF NECESSARY JMP PST1T,I RETURN DESRN OCT 0,0 DESIRED RECORD NO. RFLPO OCT 0 READ-FILE POSITION (WRITE ALSO) SKP * CALA3V - CALC. ALL VALUES PERTINENT TO READ/WRITE ROUTINES * ENTER: * B = FILE POSITION IN OPEN TABLE * EXIT: * RLGTH = RECORD LENGTH (IN WORDS) * STRNO = STARTING RECORD NO. FOR CURRENT T/S * STRPO = STARTING RECORD NO. POSITION * FINRN = FINAL RECORD NO. FOR CURRENT T/S * CALAV NOP CALC. ALL VALUES FOR R/W ROUTINES STB CALPO FILE POSITION FOR THIS ROUTINE ADB D5 LDB B,I RECORD LENGTH (IN WORDS) STB RLGTH LDB CALPO FILE POSITION ADB D13 LDA B,I T/S CURRENTLY IN SZA,RSS 1ST PASS? ADB MD10 YES,BIAS BACK TO START T/S LOC LDA B,I T/S "CURRENTLY IN" JSB T.STS CONV. TO SECT. STA B LDA CALPO FILE POSITION ADA D3 LDA A,I STARTING T/S FOR THIS FILE JSB T.STS CONV. TO SECTORS CMA,INA ADA B CALC. DELTA SECTORS STA DELTS SAVE DELTA SECTORS ADA TRBSZ TRB SIZE (IN SECT.) LDB D128 JSB MPY JSB DIV DEF RLGTH SZA,RSS JSB ER26 RECORD LENGTH .GT. 1 TRB SOC OVERFLOW? LDA MAXRC MAX. RECORD NO. STA FINRN SAVE FINAL RECORD NO. LDA DELTS DELTA SECTORS LDB D128 JSB MPY JSB DIV DEF RLGTH SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR INA SZB INA STA STRNO STARTING RECORD NO. CMB,INB SZB ADB RLGTH RECD. LENGTH (IN WORDS) ADB CTRBP,I CUR. TRB POSITION STB STRPO STARTING RECORD POSITION JMP CALAV,I RETURN CALPO OCT 0 FILE POSITION RLGTH OCT 0 RECORD LENGTH (IN WORDS) DELTS OCT 0 DELTA SECTORS FINRN OCT 0 FINAL RECORD NO. STRNO OCT 0 STARTING RECORD NO. STRPO OCT 0 STARTING RECORD POSITION CTRBP OCT 0 CURRENT TRB POSITION HED RESET FUNCTION * * RESET FUNCTION * FUN09 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3 ADDR OF FILE NAME JSB NAM0? CHECK NAME LDB ARG3 ADDR. OF FILE NAME JSB CKOPN OPEN? JSB ER11 NO STB REST1 SAVE OPEN TABLE ENTRY ADDR. ADB D10 INCREMENT TO PACK NO. LDA ARG4,I GET REQUESTED PACK NO. SSA,RSS PACK # = -1;SCAN ALL PACKS 7905 CPA B,I PACK NO.'S EQUAL ? RSS YES JSB ER15 NO JSB POST POST TRB LDB REST1 GET OPEN TABLE ENTRY ADDR ADB D10 INCREMENT TO PACK NO. LDA B,I GET PACK NO. SZA,RSS PN000 ? JMP CRINC YES ADB D2 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET THE SUBCHANNEL STA PAKSC INITIALIZE SUBCHANNEL LDB REST1 GET OPEN TABLE ENTRY ADDR JSB GETDE READ DIRECTORY ENTRY LDB CNAME GET ADDR OF ENTRY ADB D8 BIAS TO "HRA" ON DISC LDA ARG5,I RECORD NO. STA B,I CHANGE "HRA" ON DISC JSB CNGRN CHANGE RECORD NO. CLA,INA WRITE INDICATOR LDB PAKSC SUBCHANNEL JSB PRWIO WRITE BACK DIRECTORY ENTRY JMP EFCON RETURN TO MAIN CRINC EQU * CHANGE RECORD IN CORE JSB CNGRN CHANGE RECORD NO. JMP EFCON RETURN TO MAIN SPC 1 CNGRN NOP CHANGE RECORD NO. LDA ARG5,I RESET RECORD NO. SSA VALID? JSB ER10 NO CMA,INA LDB REST1 GET ADDR OF OPEN TABLE ENTRY ADB D15 INCREMENT TO HRA IN CORE FIELD ADA B,I "HRA" SSA .LE.? JSB ER10 NO LDA ARG5,I RESET RECORD NO. STA B,I RESET RECORD ADB MD7 BIAS TO "HRA" ON DISC STA B,I CHANGE "HRA" ON DISC ADB D6 INCREMENT TO NXT RECD FIJELD CMA,INA ADA B,I SSA RESET NO. < NXT RECD TO PROCESS ? JMP CNGRN,I NO SZA,RSS JMP CNGRN,I NO LDA ARG5,I GET RESET NO. INA INCREMENT FOR NEXT RECD TO PROCESS STA B,I STORE NEW NEXT RECD TO PROCESS VALUE JMP CNGRN,I REST1 OCT 0,0,0 SECT. NO. HED STATUS FUNCTION * * STATUS FUNCTION * FUN10 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY LDA ARG3,I STATUS FUNCTION NO. SSA JSB ER23 CMA,INA ADA NOSTF NO. OF STATUS FUNCTIONS SSA .GT. MAX NO.? JSB ER23 LDA ARG3,I FUNCTION NO. SZA,RSS JSB ER23 ADA ASTAT ADDR.OF STATUS FUNCTION TABLE JMP A,I ASTAT DEF *,I DEF STAT1 DEF STAT2 DEF STAT3 DEF STAT4 DEF STAT5 DEF STAT6 DEF STAT7 NOSTF ABS *-ASTAT-1 NO. OF STATUS FUNCTIONS SPC 3 STAT1 EQU * FILE DIRECTORY INFORMATION JSB POST JSB STAPN SEARCH FOR PACK NO. JMP S1PAK SYSTEM PACK JSB SRCD2 FILE FOUND? JSB TNXTP NO STA1A EQU * STB SFILP STATUS-FILE POSITION LDA ARG7 ADDR. OF STATB LDB MXWPE MAX. WDS/ENTRY INB JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF- LIMITS LDA SFILP STATUS-FILE POSITION LDB MXWPE MAX. WDS/ENTRY CMB,INB STB MOVCT NO. OF WORDS TO MOVE LDB ARG7 ADDR. OF STATB INB JSB MOVE MOVE DIR. INFO. TO STATB+1 ADB MD3 CLA STA B,I CLEAR SECURITY CODE LDA ARG5,I PAKNO SSA,RSS ALL PACKS? JMP EFCON NO, RETURN TO MAIN LDA DPNO GET PACK NO. STA ARG7,I PACK STATB JMP EFCON RETURN TO MAIN S1PAK EQU * JSB TFOPN CHECK IF TEMP. FILE OPEN JMP STA1A SFILP OCT 0 STATUS-FILE PO;SITION SPC 1 TFOPN NOP CHECK IF TEMP. FILE OPEN LDB ARG4 ADDR OF FILE NAME JSB CKOPN CHECK IF FILE OPEN JSB ER3 NOT OPEN ADB D10 LDA B,I PACK NO. SZA SYSTEM PACK? JSB ER3 NO ADB MD10 JMP TFOPN,I RETURN SPC 3 STAT2 EQU * OPENED FILE? LDB D2 NO. WDS TO CHECK JSB CKSLM CHECK STATUS LIMITS LDB ARG4 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN CLA,INA,RSS NOT OPEN CLA STB SFILP POINTER TO O.T. LDB ARG7 ADDR. OF STATB INB STA B,I PACK OPEN STATUS SZA STORE PACK NO. IF OPEN JMP EFCON RETURN TO MAIN LDB SFILP POINTER TO O.T. ADB D10 LDA B,I PACK NO. STA ARG7,I STORE PACK NO. JMP EFCON RETURN TO MAIN SPC 3 STAT3 EQU * SECURITY CODE CHECK LDB D2 NO. WDS. TO CHECK JSB CKSLM CHECK STATUS LIMITS JSB STAPN STATUS PACK NO. SEARCH JMP STA3A SYSTEM PACK JSB SRCD2 FILE FOUND? JSB TNXTP GET NEXT PACK NO. LDA DPNO GET THE DECIMAL VALUE OF PACK NO. STA ARG7,I PACK STATB JMP STA3B STA3A EQU * STA ARG7,I STORE PACK NO. JSB TFOPN CHECK IF TEMP. FILE OPEN STA3B EQU * LDA ARG7 ADDR. OF STATB INA LDA A,I SECURITY CODE TO BE CHECKED ADB D6 BIAS TO EXISTING S.C. CPA B,I DOES SECURITY CODE CHECK? CLA,RSS YES CLA,INA LDB ARG7 ADDR. OF STATB ADB D2 STA B,I PACK SECURITY CODE STATUS JMP EFCON RETURN TO MAIN SPC 3 STAT4 EQU * NO. SECT. LEFT IN FILE LDB D2 NO. WDS. TO CHECK JSB CKSLM CHECK STATUS LIMITS LDB ARG4 ADDR. OF FILE NAME JSB CKOPN CHECK IF OPEN JMP CKDIS CHECK <:6IF FILE ON DISC ADB D10 LDA B,I PACK NO. SZA TEMP. FILE CURRENTLY OPEN? JMP CKDIS-1 NO, POST BEFORF CHECKING CPA ARG5,I TEMP. FILE REQUESTED? RSS YES JMP CKDIS CHECK DISC STA ARG7,I STORE PACK NO. ADB D5 LDA B,I HIGHEST RECORD ACCESSED IN CORE ADB MD11 STA4A EQU * CMA,INA ADA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR LDB ARG7 ADDR. OF STATB INB STA B,I PACK NO. SECT. LEFT INTO STATB+1 JMP EFCON RETURN TO MAIN JSB POST CKDIS EQU * CHECK IF FILE ON DISC t<  24309-80013 1523 S 0122 DOS EFMP $EX32              H0101  JSB STAPN SEARCH FOR PACK NO. JSB ER6 JSB SRCD2 FILE FOUND ? JSB TNXTP GET NEXT PACK NO. LDA DPNO GET THE DECIMAL VALUE OF PACK NO. STA ARG7,I PACK STATB ADB D8 LDA B,I HIGHEST RECORD ACCESSED ON DISC ADB MD4 JMP STA4A SPC 1 CKSLM NOP CHECK STATUS LIMITS LDA ARG7 ADDR. OF STATB JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS JMP CKSLM,I SPC 3 STAT5 EQU * SECTORS LEFT ON PACK LDB D2 NO. WDS. TO CHECK JSB CKSLM LDA ARG5,I PAKNO SSA JSB ER15 JSB ST6PN STATUS SEARCH FOR P.N. JMP S5PAK SYSTEM PACK ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S JSB PRETS PREPARE T/S FOR I/O CLA READ LDB PAKSC GET SUBCHANNEL JSB PRWIO READ FIRST SECTOR OF EFMP PACK NO. LDB A$BUF GET ADDR OF DIRECTORY ENTRY ADB D4 INCREMENT TO SIZE FIELD LDA B,I GET SIZE ADB D4 INCREMENT TO LSA FIELD LDB B,I GET LSA CMB,INB CALCULATE SECTORS UNUSED ADA B STA5A EQU * LDB ARG7 ADDR. OF STATB INB STA B,I PACK NO. SECT. LEFT INTO STATB+1 JMP EFCON RETURN TO MAIN S5PAK EQU * LDB SYSSC GET SYSTEM SUBCHANNEL STB PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M DIR. LDB APN00 GET ADDR OF NAME JSB SRCD3 SEARCH DIRECTORY JMP STA5B NO PN000 ADB D4 LDA B,I FILE LENGTH (IN SECTORS) LDB NSUWA NO. SECT. USED IN W/A CMB,INB ADA B CALC. NO. SECT. LEFT IN W/A JMP STA5A STA5B EQU * CLA JMP STA5A SPC 3 STAT6 EQU * NAME OF NTH. FILE LDA ARG4 POINTER TO NAME BUFFER LDB D3 JSB CKCLM CHECK CORE LIMITS JSB ER9 OUT-OF-LIMITS LDA ARG5,I PAKNO SZA,RSS JSB ER15 SSA JSB ER15 LDA MD3 NO. OF WDS TO CLEAR LDB ARG4 POINTER TO NAME BUFFER JSB STZ JSB ST6PN SEARCH FOR P.N. JSB ER15 BRANCH DOES NOT OCCUR LDA ARG7,I DESIRED FILE NO. "N" SZA,RSS JSB ER23 SSA JSB ER23 CLA,INA STA ENTNO ENTRY NO. IN DIRECTORY LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S JSB SETD1 SET UP FOR EFMP SEARCH CCB NO COMPARE SWITCH STB NOPAS STORE SWITCH JSB SRCD3 SEARCH DIRECTORY JSB ER21 END-OF-FILE STB ADRFL ADDR. OF FILE LDA AINVC POINTER TO INVALID CHAR. JSB CMPAR COMPARE NAMES JMP *+2 JMP STA6A LDA ENTNO CURRENT DIR. ENTRY NO. CPA ARG7,I DESIRED FILE POSITION? JMP *+3 ISZ ENTNO BUMP DIR. ENTRY NO. JMP STA6A LDA MD3 STA MOVCT NO. WDS. TO MOVE LDA ADRFL ADDR. OF FILE IN $BUF LDB ARG4 DESTINATION BUFFER JSB MOVE INSERT FILE NAME OF NTH FILE ADB MD1 LDA B,I 5TH CHAR, LO 8 BITS AND H8BT SAVE ONLY 5TH CHAR STA B,I RESTORE IT JMP EFCON RETURN TO MAIN ADRFL OCT 0,0 ADDR. OF FILE STA6A EQU * LDA SRCDR GET RETURN ADDR ADA MD1 SET TO ORIGINAL ADDR STA SRCDR STORE UPDATED RETURN ADDR JMP EBIAS GET NEXT ENTRY SPC 3 STAT7 EQU * LDA ARG4,I GET SUBCHANNEL SSA NEGATIVE ? JSB ER23 YES CMA,INA ADA SCCNT SSA LEGAL VALUE FOR SUBCHANNEL JSB ER23  NO LDA ARG4,I GET THE SUBCHANNEL STA PAKSC STORE SUBCHANNEL LDA ARG7,I GET ENTRY NUMBER SZA,RSS ZERO ? JSB ER23 YES SSA NEGATIVE JSB ER23 YES CLA,INA STA ENTNO INITIALIZE COUNTER JSB SETD2 SET UP FOR DOS-M SEARCH CCB STB NOPAS NO COMPARE SWITCH JSB SRCD3 SEARCH DIRECTORY JSB ER21 END OF DIRECTORY LDA PN CPA B,I 1ST TWO CHARS OF NAME EQUAL 'PN' ? RSS YES JMP GTNX1 NO ADB D2 INCREMENT TO 3RD WORD OF NAME LDA B,I GET TYPE FILED AND L7BT CLEAR MEANINGLESS BITS CPA B13 ASCII ? JMP AINIT YES CPA B12 BINARY ? JMP NINIT YES JMP GTNX1 NO AINIT EQU * CLA INITIALIZED INDICATOR RSS NINIT EQU * CLA,INA UNINITIALIZED INDICATOR STB SVDEA SAVE ENTRY ADDR LDB ARG4 GET ADDR OF RETURN BUFFER STA B,I STORE INDICATOR LDA SVDEA RESTORE ADDR ADA MD1 BACK UP TO 3RD CHAR JSB CNPND IS IT DECIMAL ? JMP GTNX1 NO LDB ENTNO GET ENTRY NO. CPB ARG7,I EQUAL TO REQUESTED NO. ? JMP SRET1 YES INB INCREMENT COUNTER STB ENTNO GTNX1 EQU * LDA SRCDR GET RETURN ADDR ADA MD1 SET TO ORIGINAL ADDR STA SRCDR STORE UPDATED RETURN ADDR JMP GTNXE GET NEXT ENTRY SRET1 EQU * LDB ARG5 GET ADDR OF RETURN BUFFER STA B,I STORE PACK NO. JMP EFCON RETURN SVDEA BSS 1 SAVE ADDR OF ENTRY ENTNO BSS 1 ENTRY NO. SPC 3 STAPN NOP LDA ARG4 GET ADDR OF FILE NAME JSB NAM0? CHECK NAME GARG5 EQU * LDA ARG5,I GET PACK NO JSB CKPN CHECK PACK NO SZA,RSS PN000 ? JMP STAPN,I YES LDA ARG5,IW GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO STB SVDEA SAVE DIRECTORY ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVDEA RESTORE DIRECTORY ENTRY ADDR ISZ STAPN P+2 JMP STAPN,I RETURN ST6PN NOP LDA ST6PN GET RETURN ADDR STA STAPN STORE RETURN ADDR JMP GARG5 CHECK PACK NO. SRCD2 NOP LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR SNXTD EQU * ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD STORE ITIN PACK NO. ENTRY STA B,I JSB SETD1 SET UP FOR EFMP SEARCH LDB ARG4 GET ADDR OF FILE NAME JSB SRCD3 FILE NAME FOUND ? JMP SRCD2,I NO, RETURN P+1 ISZ SRCD2 P+2 JMP SRCD2,I RETURN TNXTP NOP LDA ARG5,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JSB ER6 NO JMP SNXTD YES HED CHANGE FILE NAME * * CHANGE FILE NAME * FUN13 EQU * JSB CKVSU CHECK IF VALID DEFINE PREVIOUSLY JSB CKNAP CHECK NAME AND PACK NO. LDA ARG3 GET ADDR OF CURRENT FILE NAME ADA D3 GET ADDR OF NEW FILE NAME JSB NAM0? CHECK NEW NAME LDA ARG4,I GET PACK NO. SSA TRY ALL PACKS ? JMP SANPN YES SZA,RSS PN000 ? JMP CNINC YES LDB ARG3 GET CURRENT FILE NAME JSB CKOPN IS IT OPEN ? JMP CKPN1 NO STB CFNEN SAVE OPEN TABLE FILE ENTRY ADDR LDA ARG4,I GET PACK NO. ADB D10 INCREMENT TO PACK NO. FIELD CPA B,I PACK NO.'S EQUAL ? RSS YES JMP CKPN1 NO LDB ARG3 GET ADDR OF NEW FILE NAME ADB D3 JSB CKOPN DUPLICATE ENTRY ? RSS NO JSB ER2 YES JSB SETD1 SET UP FOR EFMP LDB CFNEN GET OPEN TABLE ENTRY ADDR ADB D12 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET SUBCHANNEL STA PAKSC STORE SUBCHANNEL ADB MD10 BACK UP TO PACK NO. OFFSET FIELD LDA B,I GET PACK NO. OFFSET AND L8BT CLEAR THE LEFT BYTE LDB D4 JSB MPY CALC. THE DISPLACEMENT ADA OPNTB CALCULATE ADDR OF PACK NO. ENTRY STA PNEAD STORE THE PACK NO. ENTRY ADDR LDB ARG3 GET ADDR OF NAME ADB D3 JSB SRCD3 SEARCH FOR DUPLICATE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB CFNEN GET ADDR OF OPEN TABLE ENTRY JSB GETDE GET DIRECTORY ENTRY LDB CNAME GET ADDR OF DIRECTORY ENTRY CINAD EQU * JSB CNGNM CHANGE NAME IN DIRECTORY ENTRY CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO WRITE NEW NAME LDB CFNEN GET OPEN TABLE ENTRY ADDR JSB CNGNM CHANGE NAME IN OPEN TABLE JMP EFCON RETURN CKPN1 EQU * CLA,INA CHECK FOR PACK NO. LDB ARG4,I GET PACK NO. JSB CKPNT PACK NO. IN TABLE ? RSS NO JMP SRCD1 YES SANPN EQU * LDA ARG4,I GET PACK NO. JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO SVPNN EQU * STB SVDEA SAVE DIRECTORY ENTRY ADDR JSB SVPNS SAVE PACK NO. SEARCH ENVIRONMENT LDB SVDEA RESTORE DIRECTORY ENTRY ADDR ADB D1 GET ADDR OF 3RD AND 4TH CHARS OF NAME STB APNSV SAVE ADDR OF 3RD CHAR OF PACK NO. LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR OF DUMMY PACK NO. ENTRY ADB D2 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S SRCD1 #EQU * JSB SETD1 SET UP FOR EFMP LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB SRCD3 SEARCH FOR DUPLICATE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB ARG3 GET CURRENT FILE NAME JSB SRCD3 NAME FOUND ? RSS NO JMP CTCOP YES LDA ARG4,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JSB ER3 NO JSB REPNS RESTORE PACK NO. SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JSB ER6 NO JMP SVPNN YES CTCOP EQU * STB DEAD1 SAVE DIRECTORY ENTRY ADDR ADB D6 INCREMENT TO SECURITY FIELD LDA ARG5,I GET SECURITY IN PARM LIST CPA B,I EQUAL ? RSS YES JSB ER7 NO LDA ARG4,I GET PACK NO. SSA,RSS ALL PACKS ? JMP CNOD NO LDB ARG3 GET CURRENT NAME JSB CKOPN FILE OPEN ? JMP CNOD NO LDA DPNO GET PACK NO. ADB D10 INCREMENT TO PACK NO. FIELD CPA B,I PACK NO.'S EQUAL ? RSS YES JMP CNOD NO LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB CKOPN CHECK FOR DUPLICATE IN OPEN TABLE RSS NO DUPLICATE JSB ER2 DUPLICATE LDB DEAD1 GET DIRECTORY ENTRY ADDR JMP CINAD CNOD EQU * LDB DEAD1 GET DIRECTORY ENTRY ADDR JSB CNGNM CHANGE NAME CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO WRITE NEW NAME JMP EFCON RETURN CNINC EQU * CHANGE NAME IN CORE LDB ARG3 ADDR. OF FILI NAME JSB CKOPN CHECK IF FILE OPEN JSB ER3 NOT OPEN STB DEAD1 SAVE OPEN TABLE ENTRY ADDR ADB D10 LDA B,I PACK NO. SZA TEMP FILE? JSB ER3 NO LDB ARG3 GET ADDR OF NEW NAME ADB D3 JSB CKOPN DUPLICATE OPEN :RSS NO JSB ER2 YES LDB DEAD1 GET DIRECTORY ENTRY ADDR JSB CNGNM CHANGE NAME JMP EFCON RETURN TO MAIN SPC 1 SPC 1 CNGNM NOP CHANGE NAME LDA MD2 STA MOVCT NO. WDS. TO MOVE LDA ARG3 ADDR. OF SOURCE ADA D3 JSB MOVE MOVE NAME LDA A,I 3RD WD. OF NAME (SOURCE) AND H8BT STRIP 5TH. CHAR. STA TCSTR LDA B,I 3RD WD. OF DESTINATION AND L8BT STRIP LO 8 BITS IOR TCSTR STA B,I REPACK 3RD. WD. OF ENTRY JMP CNGNM,I RETURN TCSTR BSS 1 TEMP. STORAGE DEAD1 BSS 1 ADDR OF DIRECTORY ENTRY ADPNE DEF DPNE ADDR OF DUMMY PACK NO. ENTRY DPNE BSS 4 DUMMY PACK NO. ENTRY CFNEN BSS 1 ADDR OF OPEN TABLE ENTRY APNSV BSS 1 ADDR OF PACK NO. HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 POSTW NOP JSB MASUB DEC 3 CKVSU NOP JSB MASUB DEC 4 NAM0? NOP JSB MASUB DEC 5 CKPN NOP JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 CKNAP NOP JSB MASUB DEC 9 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 GETDE NOP JSB MASUB DEC 12 REPNS NOP JSB MASUB DEC 13 CNPND NOP JSB MASUB DEC 15 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCD3 NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKCLM NOP JSB MASUB DEC 22 CMPAR NOP JSB MASUB DEC 23 CKPNT NOP JSB MASUB DEC 24 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 STZ NOP JSB MASUB DEC 28 GRTXX NOP JSB MASUB DEC 29 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB 00.* DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 LDA D3 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER7 EQU * OCT 0 LDA D7 JSB ERR ER9 EQU * OCT 0 LDA D9 JSB ERR ER10 EQU * OCT 0 LDA D10 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER13 EQU * OCT 0 LDA D13 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER21 EQU * OCT 0 LDA D21 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER26 EQU * OCT 0 LDA D26 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR HED CONSTANTS AND VARIABLES A EQU 0 B EQU 1 . EQU 53B L7BT EQU 73B L8BT EQU 74B H8BT EQU 75B SCCNT EQU 156B SYSSC EQU 155B MXWPE DEC 9 WORDS/DIRECTORY ENTRY MD11 DEC -11 MD10 EQU .-10 MD8 EQU .-8 MD7 EQU .-7 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D5 EQU .+5 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D9 EQU .+9 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D13 DEC 13 D14 DEC 14 D15 DEC 15 D21 DEC 21 D23 DEC 23 D26 DEC 26 D128 DEC 128 B12 EQU D10 BINARY B13 EQU D11 ASCII MAXRC DEC 32767 MAX. RECORD NO. AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END 0   24309-80014 1523 S 0122 DOS EFMP $EX33              H0101 ASMB,R,B,L,C,X $EX33 7905 HED EFMP EXEC MODULE NAM $EX33,1,0 7905 ENT $EX33 EXT $SYIO,$WAIT EXT ERROR, EFCON EXT A$BUF,SECIO,TRKIO,NOPAS,EBIAS,SRCDR EXT AINVC,FLNGH,NOTRB,NSUWA,NXTFP,MOVCT EXT STSWA,TRBUF,TRBSZ,ARQP1,APN00,DPNO EXT PAKSC,NOSEC,PNEAD,OPNTB,GSC,GNS EXT NXPTL,GSC,GNS EXT MASUB **************************************************** 7905 * * 7905 * REV 4-21-75 * 7905 * * 7905 **************************************************** 7905 SPC 3 $EX33 EQU * NOP DUMMY LDB MD8 NO. OF ARGS. TO MOVE STB MOVCT LDA ARQP1 ADDR. OF SOURCE LDB AARG1 ADDR. OF DESTINATION JSB MOVE MOVE ARGS. LDA ARG2,I FUNCTION NO. CPA D11 JMP FUN11 CPA D12 JMP FUN12 JMP EFCON HED REPACK FUNCTION * * REPACK FUNCTION * FUN11 EQU * JSB CKVSU CHECK FOR VALID SETUP LDA ARG3,I PAKNO JSB CKPN CHECK PACK NO. SZA,RSS JSB ER15 JSB GETPN PACK NO. AVAILABLE ? JSB ER6 NO LDA ADPNE ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR SVNXT EQU * STB SVAEN SAVE ADDR OF ENTRY JSB SVPNS SAVE SEARCH ENVIRONMENT LDB SVAEN RESTORE ADDR OF ENTRY ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S LDB PNEAD GET ADDR OF PACK NO. ENTRY STA B,I STORE STARTING T/S IN PACK NO. ENTRY JMP REPAK GO REPACK RPNXT EQU * LDA ARG3,I GET PACK NO. SSA,RSS TRY ALL PACKS ? JMP EFCON NO, RETURN JSB REPNS RESTORE SEARCH ENVIRONMENT JSB GTNPN PACK NO. AVAILABLE ? JMP EFCON NO, RETURN JMP SVNXT YES REPAK EQU * REPACK THIS PACK JSB POST POST ALL TRB'S JSB SETD1 SET UP FOR EFMP DIR. LDB AINVC ADDR. OF INVALID CHAR. NAME JSB SRCD1 SEARCH DIRECTORY JMP RPNXT REPACK NEXT PACK ADB D3 LDA PNEAD GET ADDR OF PACK NO. ENTRY LDA A,I GET STARTING T/S JSB T.STS CALCULATE T/S OF 1ST DESTROYED DATA ADA B,I ADA MD1 JSB STT.S STA RPNTS REPACK NEXT T/S FNXVF EQU * FIND NEXT VALID FILE JSB GTSDE GET A SINGLE DIRECTORY ENTRY JMP UDNAT NO MORE IN DIR. STB RPFPO REPACK-FILE POSITION LDA AINVC ADDR OF INVALID CHAR JSB CMPAR THIS FILE INVALID? RSS NO JMP FNXVF YES LDB RPFPO FILE POSITION JSB CALFS CALC. FILE SIZE STA NOSTM NO. OF SECT. TO MOVE LDA PAKSC GET SUBCHANNEL STA CPCSC COPY CURRENT SUB CH. STA CPDSC COPY DESIRED SUB CH. LDA RPNTS NEXT T/S FOR DATA JSB T.STS CONV TO SECT STA CPNXS COPY NEXT "T/S" LDB PNEAD ADDR OF PACK NO. ENTRY LDA B,I GET STATING T/S LDB RPFPO FILE POSITION ADB D3 JSB T.STS CONV. TO SECT. STA STSEC SAVE STARTING SECTOR ADA B,I SECTOR OF DATA TO BE MOVED ADA MD1 STA CPCTS COPY CURRENT "T/S" LDA STSEC GET STARTING SECTOR CMA,INA CALCULATE NEW STARTING REL SECTOR ADA CPNXS ADA D1 STA B,I UPDATE DIRECTORY ENTRY JSB CPMOV COPY-MOVE DATA CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DIRECTORY ENTRY LDB RPFPO ADDR. OF THIS FILE NAME JSB CKOPN 8 CHECK IF OPEN JMP RPMVE NOT OPEN ADB D12 LDA B,I SUB CH. IN O.T. CPA PAKSC SAME AS FILE BEING MOVED ? RSS YES JMP RPMVE ADB MD2 BACK UP TO PACK NO. FIELD LDA DPNO GET PACK NO. CPA B,I SAME PACK NO. ? RSS YES JMP RPMVE NO ADB MD7 LDA RPNTS NEW T/S FOR THIS FILE STA B,I UPDATE NEW T/S RPMVE EQU * LDA RPNTS NEXT DATA T/S JSB T.STS CONV. TO SECT. ADA NOSTM+1 NO. OF SECT. MOVED JSB STT.S CONV. BACK TO T/S STA RPNTS UPDATE NEXT DATA T/S JMP FNXVF FIND NEXT VALID FILE SPC 1 UDNAT EQU * UPDATE NEXT AVAIL. T/S LDA PNEAD ADDR OF PACK NO. ENTRY LDA A,I GET STARTING T/S JSB PRETS PREPARE T/S FOR I/O CLA READ LDB PAKSC SUBCHANNEL JSB PRWIO READ 1ST SECTOR LDA RPNTS CALCULATE LAST USED SECTOR JSB T.STS STA RPNTS LDA PNEAD CALCULATE STARTING SECTOR LDA A,I JSB T.STS CMA,INA ADA RPNTS CALCULATE NEW RELATIVE ENDING SECTOR LDB A$BUF ADB D8 STA B,I UPDATE LAST SECTOR ALLOCATED FIELD IN CORE CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DISC DIRECTORY LSA * REPACK DIRECTORY. DATA HAS BEEN REPACKED JSB SETD1 SET UP FOR EFMP DIR LDB AINVC ADDR. OF INVALID CHAR. JSB SRCD1 SEARCH DIRECTORY JSB ER23 JUMP SHOULD NEVER OCCUR LDA SECIO INITIALIZE TRACK AND SECTOR FOR REPACKED DIRECTORY STA NXSEC LDA TRKIO STA NXTRK ALF,ALF XOR SECIO STA NXSID NEXT SECT. TO BE USED IN DIR. CMB,INB ADB A$BUF CALC. BIAS IN $BUF CMB,INB ADB TRBUF BIAS 2ND DIR. TO BE USED STB NXLID NEXT LOC. TO BE USED IN DIR. CLB,INB L STB GNS NO. SECT. TO READ LDB PAKSC SUBCHANNEL STB GSC LDB TRBUF ADDR OF TRB JSB GRTXX READ SAME SECT. AS $BUF TO TRB LDB TRBUF ADB D128 STB E2BP1 END OF 2ND. BUF. PLUS 1 GNXVF EQU * JSB GTSDE GET NEXT DIR. ENTRY JMP RPEOD REPACK EOD STB RPFPO SAVE FILE POSITION IN $BUF LDA AINVC ADDR. OF INVALID CHAR. JSB CMPAR THIS FILE DISTROYED? RSS NO JMP GNXVF YES LDA NXLID NEXT LOC. IN DIR. (IN TRBUF) ADA MXWPE MAX. WDS./ENTRY CMA,INA ADA E2BP1 END OF TRBUF+1 SSA,RSS .LE.(ROOM FOR THIS ENTRY)? JMP RPDOK YES CCA STA NXLID,I PACK EOS FLAG JSB WTRBD WRITE DIR. IN TRBUF RPDOK EQU * REPACKED DIR. OK SO FAR LDA MXWPE MAX. WDS./ENTRY CMA,INA STA MOVCT NO. WDS. TO MOVE LDA RPFPO FILE POSITION IN $BUF (SOURCE) LDB NXLID FILE POSITION IN TRBUF (DEST.) JSB MOVE MOVE DIR. ENTRY STB NXLID UPDATE NEXT LOC. IN TRBUF LDA TRKIO GET TRACK OF CURRENT ENTRY ALF,ALF XOR SECIO GET SECTOR OF CURRENT ENTRY CPA NXSID CURRENT ENTRY SAME AS NEW ENTRY JMP GNXVF YES LDB NXLID GET ADDR OF FILE NAME ADB MD9 JSB CKOPN IS FILE OPEN ? JMP GNXVF NO ADB D12 INCREMENT TO SUBCHANNEL FIELD LDA B,I GET SUBCHANNEL CPA PAKSC SAME SUBCHANNEL AS FILE BEING REPACKED ? RSS YES JMP GNXVF NO ADB MD2 BACK UP TO PACK NO. FIELD LDA DPNO GET PACK NO. CPA B,I SAME PACK NO. ? RSS YES JMP GNXVF NO ADB MD1 BACK UP TO DIRECTORY ENTRY T/S FIELD LDA NXSID GET NEW DIRECTORY ENTRY T/S STA B,I STORE NEW DIRECTORY ENTRY T/S IN OPEN TABLE JMP GNXVF GET NEhXT VALID FILE SPC 1 RPEOD EQU * REPACK EOD FLAG LDA TRBUF EOD FLAG AT WORD ONE OF 7905 CPA NXLID OF A SECTOR 7905 RSS YES 7905 JMP RPNO. NO 7905 STB TEMP SAVE THE B-REG 7905 LDA NXSID READ PREVIOUS SECTOR 7905 ADA MD1 7905 STA NXSID 7905 LDB TRBUF GET BUFFR ADDR 7905 JSB GRTXX READ SECTOR 7905 LDA E2BP1 CALCULATE END OF DIRECTORY 7905 ADA MD2 FOR THIS SECTOR 7905 STA NXLID RESET POINTER 7905 LDB TEMP RESET B-REG 7905 RPNO. EQU * 7905 CLA STA NXLID,I PACK EOD FLAG JSB WTRBD WRITE DIR. FROM TRBUF JMP RPNXT REPACK NEXT PACK TEMP NOP 7905 SPC 1 WTRBD NOP WRITE DIR. CONTAINED IN TRBUF CLB,INB STB GNS NO. SECT. TO WRITE LDB PAKSC SUBCHANNEL STB GSC LDB TRBUF ADDR. OF TRB LDA NXSID SECT. IN TRB JSB GWTXX GENERAL WRITE LDA NXSEC GET SECTOR INA INCREMENT TO NEXT SECTOR STA NXSEC STORE NEW SECTOR CMA,INA ADA SECTR SZA END OF TRACK ? JMP GNTSD NO STA NXSEC YES, SECTOR 0 LDA NXVTRK GET CURRENT TRACK INA INCREMENT TO NEXT TRACK STA NXTRK STORE NEW TRACK GNTSD EQU * LDA NXTRK UPDATE NXSID FIELD ALF,ALF XOR NXSEC STA NXSID LDA TRBUF STA NXLID REINTIALIZE NEXT LOC. IN TRBUF JMP WTRBD,I RETURN SPC 1 GTSDE NOP LDA AGSDR GET RETURN ADDR STA SRCDR STORE RETURN ADDR CCA NO COMPARE SWITCH STA NOPAS STORE SWITCH JMP EBIAS GET NEXT DIRECTORY ENTRY GTSDR EQU * JMP GTSDE,I END OF DIRECTORY ISZ GTSDE P+2 JMP GTSDE,I RETURN P+2 AGSDR DEF GTSDR SPC 1 NXSID OCT 0 NEXT SECT.(IN TRBUF) NXLID OCT 0 NEXT AVAIL. LOC. IN TRBUF E2BP1 OCT 0 START OF 2ND SECT. IN TRBUF SVAEN BSS 1 SAVE FOR ENTRY ADDR ADPNE DEF DPNE ADDR OF DUMMY PACK NO. ENTRY DPNE BSS 4 DUMMY PACK NO. ENTRY STSEC BSS 1 STARTING SECTOR NXSEC BSS 1 NEW SECTOR FOR REPACKED DIRECTORY ENTRY NXTRK BSS 1 NEW TRACK FOR REPACKED DIRECTORY ENTRY RPFPO OCT 0 FILE POSITION RPNTS OCT 0 REPACKED NEW T/S HED COPY FUNCTION * * COPY FUNCTION * FUN12 EQU * JSB CKVSU CHECK IF VALID SETUP JSB POST POST ALL TRB'S LDA ARG3 POINTER TO FILE NAME JSB NAM0? NAME =0? LDB ARG3 POINTER TO FILE NAME JSB CKOPN CHECK IF FILE OPEN JSB ER11 FILE NOT OPEN STB CPFPO COPY-FILE POSITION ADB D3 LDA B,I T/S OF DATA JSB T.STS CONV TO SECT. STA CPCTS CURRENT DATA "T/S" STA CPCTS+1 ADB D7 LDA B,I CURRENT P.N. STA CPCPN ADB D2 LDA B,I SUB CH. STA CPCSC CURRENT SUB CH. CLA CPA CPCPN PN000 ? JMP NSCOD NO SECURITY CODE ADB MD10 LDA B,I GET OFFSET AND L8BT CLEAR LEFT BYTE LDB D4 JSB MPY ADA OPNTB CALCUALTE ADDR STA PNEAD STORE ADDR LDA CPFPO SET UP SUB CHAN FOR BFMP FILE SEARCH ADA D12 LDA A,I STA PAKSC JSB SETD1 SET UP FOR EFMP DIR. JSB SRCD1 SEARCH DIRECTORY JSB ER3 FILE NOT IN DIR. ADB D6 LDA B,I SECURITY CODE RSS NSCOD EQU * CLA STA SCODE SAVE IT FOR LATER COPY LDA ARG4,I PACK NO. SSA,RSS CMA,INA ADA D999 SSA TOO BIG? JSB ER15 YES LDA ARG4,I PACK NO. SSA CMA,INA STA DPNO STORE PACK NO LDA ARG4,I PACK NO. SZA,RSS JMP CPTOS COPY FROM PACK TO SYST. SSA JMP CPSTD COPY SYST. TO PACK * COPY PACK TO PACK * COPY TO SYST. PACK FIRST JSB GETPN GET SPECIAL PACK NO. RSS DESIRED DEST. PACK NOT AVAIL. JMP DPAVL DESIRED DESTINATION PACK AVAIL. JSB GPN00 JSB CLSTM CALC. NO. SECTORS TO MOVE LDA AGETD GET RETURN ADDR STA CPMOV PACK RETURN ADDR LDA MTRBS MAX. SECT. TO MOVE/READ-WRITE JMP CPYMR COPY MORE SECTORS AGETD DEF GETD * COPY SYST. PACK TO DEST. PACK GETD JSB GETDP GET DESTINATION PACK JSB ER22 * CREATE FILE ON DEST. PACK DPAVL EQU * DEST. PACK AVAILABLE LDA PAKSC GET SUBCHANNEL STA CPDSC SAVE SUBCHANNEL ADB D3 INCREMENT TO STARTING T/S FIELD LDA ADPNE ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR LDB B,I GET STARTING T/S STB A,I STORE STARTING T/S IN PACK NO. ENTRY JSB SETD1 SET UP FOR EFMP FILES LDB CPFPO FILE POSITION JSB SRCD1 SEARCH DIRECTORY RSS NO DUPLICATES JSB ER2 DUPLICATE FILE NAME STB NXTFP SAVE NEXT FILE LOC. LDB CPFPO OPEN-FILE POSITION JSB CALFS CALC. FILE=  SIZE(IN SECTORS) STA NOSEC SAVE SECTORS REQUIRED STA CPNSF SAVE SECTORS REQUIRED JSB CKSPC SPACE AVAILABLE ? JSB ER4 NO LDB CPFPO SET UP SECURITY CODE IN OPEN TABLE ADB D6 LDA SCODE STA B,I LDA MXWPE SIZE OF ENTRY TO CREATE LDB CPFPO ADDR OF ENTRY TO COPY JSB CKDSP DIRECTORY ENTRY CREATED ? RSS NO JMP CLRSC YES LDB CPFPO CLEAR SECURITY CODE IN OPEN TABLE ADB D6 STB CPFPO CLB STB CPFPO,I STB SCODE CLEAR SECURITY CODE SZA NO FILE SPACE ? JSB ER24 NO JSB ER4 YES CLRSC EQU * LDB PNEAD GET ADDR OF DUMMY PACK NO. ENTRY STB PNSAV SAVE ADDR CLA,INA SEARCH FOR EXISTING ENTRY LDB DPNO GET PACK NO. JSB CKPNT IS PACK NO. ACTIVE ? JMP NOCPN NO LDA PNEAD GET ADDR OF ACTIVE ENTRY ADA D3 INCREMENT TO LSA FIELD LDB PNSAV GET ADDR OF DUMMY ENTRY ADB D3 INCREMENT TO LSA FIELD LDB B,I GET UPDATED LSA STB A,I UPDATE ACTIVE ENTRY WITH NEW LSA NOCPN EQU * LDB PNSAV GET ADDR OF DUMMY ENTRY STB PNEAD RESTORE ADDR LDB CPFPO CLEAR SECURITY CODE IN OPEN TABLE ADB D6 CLA STA B,I STA SCODE CLEAR SECURITY CODE LDB PNEAD GET ADDR OF PACK NO. ENTRY LDA B,I GET STARTING T/S JSB T.STS CONVERT TO SECTORS ADB D3 INCREMENT TO LSA FIELD ADA B,I ADD LSA TO REL. STARTING SECTOR LDB NOSEC GET SIZE OF LAST FILE CREATED CMB,INB COMPUTE STARTING RELATIVE SECTOR ADA B STA CPNXS STORE STARTING T/S STA CPNXS+1 STORE STARTING T/S LDA ARG4,I PAKNO SSA,RSS JMP CPTOD COPY TO DESTINATION PACK * COPY FROM SYSTEM PACK TO DEST. PACK * (FOR SYST. TO DESTm. PACK COPY) LDB SYSSC GET SYSTEM SUBCHANNEL STB PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M SEARCH LDB APN00 GET ADDR OF NAME JSB SRCD1 SEARCH DIRECTORY JSB ER23 NOT FOUND JSB CLWAP CALC. WORK AREA PARAMETERS LDA CPNXS+1 NEXT "T/S" FOR DEST. PACK STA CPNXS JSB CPMOV COPY-MOVE SYST. TO DEST. JMP EFCON RETURN TO MAIN SPC 1 CPSTD EQU * COPY SYST. TO DEST. PACK LDB CPFPO FILE POSITION ADB D10 INCREMENT TO PACK NO. FIELD CLA CPA B,I PN000 ? JMP GETD GET DEST. PACK JSB ER3 * COPY FROM SYST. PACK TO DEST. * (FOR PACK TO PACK COPY) CPTOD EQU * COPY TO DESTINATION LDA CPCPN CURRENT P.N. JSB GETPN GET PACK NO. RSS PACK NOT AVAILABLE JMP GOCPY SOURCE AND DEST AVAIL.,GO COPY JSB GPN00 JMP *+3 MRTOD EQU * MORE TO MOVE LDB PAKSC STB CPDSC DEST. PACK SUB CH. LDA SYSSC SYSTEM SUB CH. STA CPCSC CURRENT SUB CH. LDA BWATS BEGINNING OF FREE W/A T/S STA CPCTS CURRENT "T/S" FOR W/A LDA CPNXS+1 NEXT "T/S" FOR DEST. PACK STA CPNXS NEXT "T/S" TO MOVE LDA NOSTM+1 NO. OF SECT. MOVED LAST TIME STA NOSTM NO. OF SECT. TO MOVE THIS TIME JSB CPMOV MOVE W/A TO DESTINATION LDA CPALF ALL SECT. XFERED FLAG SSA FINISHED? JMP EFCON YES, RETURN TO MAIN INA STA CPNSF NO. SECT. LEFT TO MOVE STA NOSTM NO. OF SECT. TO MOVE JSB GETSP GET SOURCE PACK JMP CPYT TERMINATE LDB PAKSC STB CPCSC CURRENT SUB CH. LDA CPNSF NO. SECT. LEFT IN FILE STA NOSTM NO. SECT. TO MOVE THIS TIME JSB CLSTM CAL. IF NO. SECT. DIFFERENT LDA CPNXS+1 NEXT "T/S" OF DEST. PACK ADA NOSTM+1 NO. SECT. MO@(<:6VED LAST TIME STA CPNXS+1 LDA CPCTS+1 CURRENT SOURCE PACT "T/S" ADA NOSTM+1 NO. OF SECT. MOVED LAST TIME STA CPCTS+1 STA CPCTS CURRENT "T/S" TO MOVE LDA BWATS BEGINNING FREE W/A T/S STA CPNXS NEXT "T/S" TO MOVE LDA *+4 STA CPMOV PACK RETURN ADDR. LDA MTRBS MAX. TRB SECT. JMP CPYMR MOVE FROM SOURCE TO W/A DEF *+1 RETURN ADDR. JSB GETDP GET DESTINATION PACK JSB ER22 JMP MRTOD COPY W/A TO DEST. PACK SPC 1 CPTOS EQU * COPY TO SYST. PACK JMP SPN00 GO SEARCH FOR PN000 CKPN0 EQU * CLA CLEAR PACK NO. USED SWITCH STA PNESW STORE SWITCH CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 M<  24309-80015 1523 S 0122 DOS EFMP $EX33              H0101  JSB CKPNT ENTRY FOUND ? JMP CKDPN NO LDA CPFPO GET OPEN TABLE ENTRY ADDR ADA D2 INCREMENT TO PACK NO. OFFSET FIELD LDB A,I GET PACK NO. OFFSET STB PNOFF SAVE IT ADA MD2 START OF OPEN TABLE ENTRY JSB STPNO STORE NEW PACK NO. OFFSET LDA PNOFF GET OLD OFFSET JSB MVPNT UPDATE PACK NO. TABLE CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT UPDATE 'PNEAD' FOR PN000 JSB ER16 BRANCH NEVER OCCURS JMP MOVDA MOVE DATA CKDPN EQU * LDA CPFPO GET OPEN TABLE ADDR ADA D10 INCREMENT OT PACK NO. FIELD LDB A,I GET PACK NO. STB PNOFF SAVE PACK NO. CLB NEW PACK NO. IS 0 STB A,I STORE NEW PACK NO. CLA,INA SEARCH FOR EXISTING ENTRY LDB PNOFF GET OLD PACK NO. JSB CKPNT CAN OLD PACK NO. ENTRY BE USED FOR PN000? RSS YES JMP GPNE NO CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT UPDATE 'PNEAD' FOR PN000 JSB ER16 ERROR NEVER OCCURS JMP MVPNE INIT REAL PACK NO. ENTRY GPNE EQU * CLA SEARCH FOR AVAILABLE ENTRY JSB CKPNT ENTRY AVAILABLE ? JMP NENTA NO CLA,INA SET PACK NO. USED SWITCH STA PNESW STORE SWITCH MVPNE EQU * LDA MD4 SIZE OF PACK NO. ENTRY(-) STA MOVCT LDA ADPNE ADDR OF SOURCE(DUMMY PACK NO. ENTRY) LDB PNEAD ADDR OF REAL PACK NO. ENTRY JSB MOVE MOVE PACK NO. ENTRY JMP MOVDA GO MOVE DATA NENTA EQU * LDA CPFPO GET OPEN TABLE ENTRY ADDR ADA D10 INCREMENT TO PACK NO. FIELD LDB PNOFF GET OLD PACK NO. STB A,I RESTORE ORIGINAL PACK NO. JSB ER16 NO SPN00 EQU * JSB GPN00 JMP CONTU CONTINUE GPN00 NOP  CLA,INA SEARCH FOR EXISTING ENTRY CLB PN000 JSB CKPNT ENTRY FOR PN000 EXIST ? RSS NO JMP SUWAP YES LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD USE DUMMY ENTRY LDA SYSSC GET SYSTEM SUBCHANNEL STA PAKSC STORE SUBCHANNEL JSB SETD2 SET UP FOR DOS-M SEARCH LDB APN00 GET ADDR OF NAME JSB SRCD1 PN000 EXIST ? JMP CPN00 NO ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STB SVAEN SAVE DIREC ENTRY ADDR LDB PNEAD GET PACK NO. ENTRY ADDR STA B,I STORE STARTING T/S IN PACK NO. ENTRY STA STSWA STORE STARTING T/S LDB SVAEN RESTORE DIREC ENTRY ADDR INB INCREMENT TO FILE SIZE FIELD LDA B,I GET FILE SIZE LDB PNEAD GET PACK NO. ENTRY ADDR INB INCREMENT TO FILE SIZE FIELD STA B,I STORE FILE SIZE LDA SECTR GET DIRECTORY SIZE ADA MD1 INB INCREMENT TO DIREC SIZE FIELD STA B,I STORE DIRECTORY SIZE CLA LSA INB INCREMENT TO LSA FIELD STA B,I STORE LSA IN PACK NO. ENTRY CLA SET NO. SECT. USED TO 0 STA NSUWA JMP SUWAP CPN00 EQU * JSB CRPN0 CREATE PN00 SUWAP EQU * JSB CLWAP CALC. WORK AREA PARAMETERS JMP GPN00,I RETURN CONTU EQU * LDA NSUWA NO. SECT. USED IN W/A CMA,INA ADA FLNGH CALC. NO. AVAILABLE SECT. CMA ADA CPNSF NO. SECT. IN FILE SSA,RSS W/A .GE. FILE SIZE? JSB ER17 NO JMP CKPN0 GO CHECK FOR A PACK NO. ENTRY MOVDA EQU * LDA SYSSC SYST. SUB CH. STA CPDSC DESIRED SUB CH. JSB CPMOV MOVE SECTORS LDA CPFPO GET OPEN TABLE ENTRY ADDR JSB STPNO STORE NEW PACK NO. OFFSET LDB CPFPO FILE POSITION IN O.T. ADB D3 LDA BWATS BEGINNING WORK AREA "T/S" JSB STT.S CONV. TO T/S STA B,I NEW T/S ADB D6 CLA STA B,I CLEAR DIRECTORY ENTRY T/S FIELD INB STA B,I NEW PACK NO. ADB D3 STA B,I FORCE CUR. T/S TO ZERO ADB MD1 LDA SYSSC SYST. SUB CH. STA B,I NEW SUB CH. LDA NSUWA NO. SECT. USED IN W/A ADA CPNSF NO. SECT. IN FILE STA NSUWA UPDATE NEW NO. LDB PNEAD GET PACK NO. ENTRY ADDR ADB D3 INCREMENT TO LSA FIELD STA B,I STORE NEW LSA LDA PNESW GET PACK NO. ENTRY USED SWITCH SZA,RSS NEW ENTRY USED ? JMP EFCON NO LDA NXPTL UPDATE ADDR OF NEXT PACK NO. ENTRY ADA D4 STA NXPTL JMP EFCON RETURN TO MAIN SPC 1 GOCPY EQU * COPY PACK TO PACK LDA PAKSC GET SOURCE FILE SUBCHANNEL STA CPCSC SET UP SUBCHANNEL FOR COPY LDA CPCTS+1 GET DISC ADR. OF SOURCE STA CPCTS SET UP DISC ADR FOR COPY LDA CPNSF NO. OF SECT. IN THIS FILE STA NOSTM NO. OF SECT. TO MOVE JSB CPMOV MOVE JMP EFCON RETURN TO MAIN SPC 1 CPYT EQU * COPY TERMINATE LDA DPNO DESIRED PACK NO. JSB GETPN GET SPECIAL PACK NO. JSB ER22 ADB D3 INCREMENT TO STARTING T/S FIELD LDA B,I GET STARTING T/S STA DPNE STORE STARTING T/S LDA ADPNE GET ADDR OF DUMMY PACK NO. ENTRY STA PNEAD STORE ADDR JSB SETD1 SET UP FOR EFMP DIR LDB CPFPO ADDR. OF FILE NAME JSB SRCD1 SEARCH DIRECTORY JSB ER22 ADB D8 CLA STA B,I "HRA" ON DISC CLA,INA WRITE LDB PAKSC SUBCHANNEL JSB PRWIO UPDATE DIRECTORY ENTRY JSB ER22 SKP CPMOV NOP COPY MOVE LD({A NOTRB NO. OF TRB'S LDB TRBSZ JSB MPY STA MTRBS MAX. TRB SIZE CPYMR EQU * COPY MORE CLB STB NOSTM+1 INITIALIZE NO. SECT. MOVED THIS TIME CMA,INA ADA NOSTM NO. SECT LEFT TO MOVE LDB NOSTM STA NOSTM UPDATE NO. LEFT TO MOVE SSA,RSS LDB MTRBS GET SMALLER OF TWO SZB,RSS FINISHED? JMP CPMOV,I YES STB GNS NO. SECT. TO XFER LDA CPCSC CURRENT SUB CH. STA GSC LDA CPCTS CURRENT T/S JSB STT.S CONV. TO T/S LDB TRBUF START OF I/O AREA JSB GRTXX READ SECTORS LDA CPDSC DESIRED DISC STA GSC LDA CPNXS NEXT "T/S" JSB STT.S CONV. TO T/S LDB TRBUF START OF I/O AREA JSB GWTXX WRITE DESIRED SECTORS LDA CPCTS CURRENT T/S ADA GNS NO. SECT. MOVED STA CPCTS UPDATE CURRENT T/S LDA CPNXS NEXT "T/S" ADA GNS NO. SECT. MOVED STA CPNXS UPDATE NEXT "T/S" LDA NOSTM+1 NO. OF SECT. MOVED THIS TIME ADA GNS NO. SECT. MOVED STA NOSTM+1 LDA MTRBS MAX. TRB SECTORS LDB NOSTM NO. SECT. LEFT TO MOVE SSB,RSS FINISHED? JMP CPYMR+2 NO, COPY MORE JMP CPMOV,I RETURN SPC 3 * CALFS - CALCULATE FILE SIZE (IN SECTORS) * ENTER: * B = STARTING ADDR. OF FILE * EXIT: * A = FILE SIZE (IN SECTORS) * CALFS NOP CALC. FILE SIZE ADB D4 LDA B,I FILE LENGTH (IN RECORDS) INB LDB B,I RECORD LENGTH (IN WORDS) JSB MPY JSB DIV DEF D128 SOC OVERFLOW? JSB ER23 YES, ERROR SHOULD NOT OCCUR SZB OVERFLOW? INA YES, ADD 1 FULL SECTOR JMP CALFS,I RETURN SPC 1 CLSTM NOP CAL. NO. SECT. TO MOVE LDA NOTRB NO. OF TRB'S LDB TRBSZ ^@ JSB MPY STA MTRBS MAX. TRB SECTORS LDA NSUWA NO. SECT. USED IN W/A CMA,INA ADA FLNGH DOS-M FILE LENGTH (OF W/A STA B CMA ADA MTRBS CALC. LENGTH OF WORK AREA LEFT SSA,RSS FILE LENGTH .LT. MAX. SECTORS. STB MTRBS SAVE SMALLEST NO. SECT. TO WRITE LDA B WORK AREA LEFT CMA ADA CPNSF NO. OF SECT. IN FILE TO COPY SSA,RSS W/A .GE. FILE LENGTH STB NOSTM NO. OF SECT. TO MOVE AT 1 TIME STA CPALF COPY-ALL FLAG * CPALF = (-), ALL RECORDS COPIED * = (+), NO. OF RECORDS YET TO COPIED-1 LDA SYSSC SYST. SUB CH STA CPDSC PACK DESIRED SUB CH. JMP CLSTM,I RETURN SPC 3 CLWAP NOP CALC. WORK AREA PARAMETERS LDB PNEAD GET PACK NO. ENTRY ADDR LDA B,I GET STARTING T/S JSB T.STS CONV. TO SECT. ADA NSUWA NO. SECT. USED IN W/A STA CPNXS STARTING "T/S" IN W/A STA BWATS BEGINNING FREE W/A "T/S" INB LDA B,I FILE LENGTH(IN SECTORS) STA FLNGH LDB CPFPO FILE POSITION IN W/A JSB CALFS CALC. FILE SIZE (IN SECT.) STA CPNSF SAVE NO. SECT. IN FILE STA NOSTM NO. SECT. TO MOVE JMP CLWAP,I RETURN SPC 1 GETDP NOP GET DESTINATION PACK LDA DPNO DESIRED PACK NO. JSB GETPN GET PACK NO. JMP *+3 PACK NOT AVAILABLE ISZ GETDP P+2, PACK AVAILABLE JMP GETDP,I RETURN JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS1 INSERT DESTINATION PACK ABS LM1 DEF *+2 JMP $WAIT HLT 76B JSB RCORT READ C OR T JMP GETDP,I P+1, TERMINATE JMP GETDP+1 CONTINUE SPC 1 GETSP NOP GET SOURCE PACK LDA CPCPN JSB GETPN GET PACK NO. JMP *+3 PACK NOT AVAILABLE ISZ GETSP P+2, PACK AVAILABLE JMP GETSP,I RETURN JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS2 INSERT SOURCE PACK ABS LM2 NO. WORDS DEF *+2 JMP $WAIT HLT 76B JSB RCORT READ C OR T JMP GETSP,I P+1, TERMINATE JMP GETSP+1 CONTINUE SPC 1 RCORT NOP READ C OR T JSB $SYIO DEC 2 WRITE OCT 1 L.U. DEF MS3 ENTER C OR T ABS LM3 DEF *+2 JMP $WAIT JSB $SYIO DEC 1 READ OCT 401 DEF MS4 ABS LM4 DEF *+2 JMP $WAIT LDA MS4 C OR T AND H8BT CPA T JMP RCORT,I P+1, TERMINATE CPA C RSS JMP RCORT+1 INVALID, REPEAT ISZ RCORT P+2 JMP RCORT,I CONTINUE C OCT 041400 T OCT 052000 MS1 ASC 19,INSERT DESTINATION PACK AND PRESS RUN. LM1 EQU *-MS1 MS2 ASC 17,INSERT SOURCE PACK AND PRESS RUN. LM2 EQU *-MS2 MS3 ASC 7,ENTER C OR T. LM3 EQU *-MS3 MS4 OCT 0 LM4 EQU *-MS4 CPCSC OCT 0 CURRENT SUB CH. CPCTS OCT 0,0 CURRENT "T/S" (IN SECTORS) CPDSC OCT 0 DESIRED SUB CH. CPNXS OCT 0,0 NEXT FILE SECT. MTRBS OCT 0 MAX. TRB SECTORS NOSTM OCT 0,0 NO. SECT. LEFT TO MOVE SPC 1 BWATS OCT 0 BEGINNING FREE W/A "T/S" CPALF OCT 0 COPY-ALL FLAG,(-)FIN,(+)SEC.LF-1 CPCPN OCT 0 CURRENT PACK NO. CPFPO OCT 0 COPY-FILE POSITION IN O.T. CPNSF OCT 0,0 NO. OF SECT. IN THIS FILE SCODE OCT 0 SECURITY CODE PNOFF OCT 0 PACK NO. OFFSET PNSAV BSS 1 PACK NO. ENTRY ADDR PNESW BSS 1 PACK NO. ENTRY USED SWITCH HED MISCEL. MOVE NOP JSB MASUB DEC 1 POST NOP JSB MASUB DEC 2 CKVSU NOP JSB MASUB DEC 4 NAM0? NOP JSB MASUB DEC 5 CRPN0 NOP JSB MASUB DEC 6 CKPN NOP  JSB MASUB DEC 7 SVPNS NOP JSB MASUB DEC 8 SETD1 NOP JSB MASUB DEC 10 SETD2 NOP JSB MASUB DEC 11 REPNS NOP JSB MASUB DEC 13 MVPNT NOP JSB MASUB DEC 16 GETPN NOP JSB MASUB DEC 17 CKOPN NOP JSB MASUB DEC 18 SRCD1 NOP JSB MASUB DEC 19 GTNPN NOP JSB MASUB DEC 20 CKDSP NOP JSB MASUB DEC 21 CMPAR NOP JSB MASUB DEC 23 CKPNT NOP JSB MASUB DEC 24 T.STS NOP JSB MASUB DEC 26 STT.S NOP JSB MASUB DEC 27 GRTXX NOP JSB MASUB DEC 29 GWTXX NOP JSB MASUB DEC 30 CKSPC NOP JSB MASUB DEC 31 STPNO NOP JSB MASUB DEC 32 PRETS NOP JSB MASUB DEC 34 PRWIO NOP JSB MASUB DEC 35 MPY NOP JSB MASUB DEC 36 DIV NOP JSB MASUB DEC 37 SKP ER2 EQU * OCT 0 LDA D2 JSB ERR ER3 EQU * OCT 0 LDA D3 JSB ERR ER4 EQU * OCT 0 LDA D4 JSB ERR ER6 EQU * OCT 0 LDA D6 JSB ERR ER11 EQU * OCT 0 LDA D11 JSB ERR ER15 EQU * OCT 0 LDA D15 JSB ERR ER16 EQU * OCT 0 LDA D16 JSB ERR ER17 EQU * OCT 0 LDA D17 JSB ERR ER22 EQU * OCT 0 LDA D22 JSB ERR ER23 EQU * OCT 0 LDA D23 JSB ERR ER24 EQU * OCT 0 LDA D24 JSB ERR ERR NOP LDB ERR ADB MD3 LDB B,I PICK UP LOC OF ERROR JMP ERROR HED CONSTANTS AND VARIABLES A EQU 0 B EQU 1 . EQU 53B L8BT EQU 74B H8BT EQU 75B SECTR EQU 116B SYSSC EQU 155B MD10 EQU .-10 MD9 EQU .-9 MD8 EQU .-8 MD7 EQU .-7 MD4 EQU .-4 MD3 EQU .-3 MD2 EQU .-2 MD1 EQU .-1 I0.*D1 EQU .+1 D2 EQU .+2 D3 EQU .+3 D4 EQU .+4 D6 EQU .+6 D7 EQU .+7 D8 EQU .+8 D10 EQU .+10 D11 DEC 11 D12 DEC 12 D15 DEC 15 D16 DEC 16 D17 DEC 17 D22 DEC 22 D23 DEC 23 D24 DEC 24 D128 DEC 128 D999 DEC 999 MXWPE DEC 9 AARG1 DEF ARG1 ARG1 OCT 0 ARG2 OCT 0 ARG3 OCT 0 ARG4 OCT 0 ARG5 OCT 0 ARG6 OCT 0 ARG7 OCT 0 ARG8 OCT 0 END m0   24309-80016 1523 S 0122 UTIL PROGRAM FOR EFMP              H0101 bFTN4,L,B C PROGRAM UTIL C PURPOSE : C THE PURPOSE OF UTIL IS TO PROVIDE "CONVERSATIONAL" ACCESS TO THE C EXTENDED FILE MANAGEMENT PACKAGE SO THAT A USER MAY CREATE/DESTROY, C OPEN/CLOSE,OBTAIN STATUS,REPACK,INITIALIZE THE DISC, AND COPY FILES; C I.E. PERFORM MOST OF THE FUNCTIONS CONTAINED IN THE EXTENDED FILE C MANAGEMENT PACKAGE C THE FUNCTIONS "READ AND WRITE " ARE NOT C INCORPORATED IN THIS PROGRAM BECAUSE OF POSSIBLE INCLUSION IN AN C INFORMATION RETRIEVAL SYSTEM. THE DEFINE FUNCTION IS INCORPORATED C INTERNALLY AND DEFINES 1 OPEN TABLE AND 1 TEMPORARY RECORD BUFFER OF C 4 SECTORS EVERYTIME UTIL IS CALLED. C FUNCTIONAL DESCRIPTION: C UTIL IS VERY SIMILAR IN OPERATION TO THE "EDIT" PROGRAM OF DOS-M C IN THAT IT ACCEPTS DIRECTIVES FROM THE KEYBOARD TO PROVIDE FILE C MANIPULATION(ALTHOUGH THE DIRECTIVES ENTERED ARE FUNCTIONALLY C DIFFERENT). IT IS DIFFERENT TO THE EXTENT THAT ONE OR MORE FILES C MAY BE MANIPULATED CONCURRENTLY. C C IN OPERATION,UTIL RESPONDS TO A KEYBOARD INPUT BY CALLING THE C APPROPRIATE EFMP FUNCTION(AN ERROR IS PRINTED IF THE INPUT IS INVALID) C . AT THE END OF PROCESSING,UTIL PRINTS RESULTS(OR AN ERROR MESSAGE) C AND AWAITS FURTHER INPUTS. C C KEYBOARD INPUTS INCLUDE; C C TO CREATE A FILE: C /CRE,FNAME,PAKNO,FLGTH,RLGTH,SCODE,USTAT C C TO DESTROY A FILE: C /DES,FNAME,PAKNO,SCODE C C TO OPEN A FILE: C /OPE,FNAME,PAKNO,RCDNO,SCODE C C TO CLOSE A FILE: C /CLO,FNAME,USTAT C C TO INITIALIZE A PACK NO.: C /INI,PAKNO,DIRSZ C C TO RESET THE HIGHEST RECORD ACCESSED: C /RES,FNAME,PAKNO,RCDNO C C TO OBTAIN FILE STATUS USE ONE OF THE FOLLOWING C C TO DUMP FILE DIRECTORY: C /STA,DF,FNAME,PAKNO C C TO DETERMINE IF A FILE HAS BEEN OPENED: C /STA,FO,FNAME C C TO PROVIDE A SECURITY CODE CHECK: C /STA,SC,FNAME,PAKNO,SCODE C C TO DETERMINE THE NUMBER OF AVAILABLE SECTORS BETWEEN THE HIGHEST C RECORD ACCESSED IN A FILE AND THE END OF A FILE: C /STA,LR,FNAME,PAKNO C C TO DETERMINE THE NUMBER OF AVAILABLE SECTORS LEFT BETWEEN THE LAST C FILE IN THE PACK,AND THE END OF THE PACK: C /STA,LF,PAKNO C C TO OBTAIN THE NAME OF THE NTH FILE ON THE PACK INDICATED BY PAKNO C WHERE N IS A NUMBER BETWEEN 1 AND THE MAXIMUM NUMBER OF FILES ON A C PACK: C /STA,NF,PAKNO,STATB C C TO OBTAIN THE NTH PACK NO. ON A SUBCHANNEL WHERE N IS A NUMBER C BETWEEN 1 AND THE MAXIMUM NUMBER OF PACK NO.'S ON A PLATTER: C /STA,AP,FNAME,STATB C C TO REPACK EXISTING PACKS: C /REP,PAKNO C C IN ORDER TO COPY FILES: C /COP,FNAME,PAKNO C C TO CHANGE THE FILE NAME: C /CHA,FNAM1,FNAM2,PAKNO,SCODE C C TO POST FILES: C /POS C C TO DECREASE FILE SIZE: C /BRI,FNAME,SCODE C C IN RESPONSE TO AN INPUT,UTIL EXECUTES A COMPUTED GO TO THAT C ACCESSES THE PARTICULAR CODE THAT PROCESSES THIS INPUT C FOR INSTANCE,THE INPUT OF /CRE,LCB70,1,10,10,-1,0 ACCESSES STATEMENT C NUMBER 6 IN THE PROGRAM. FIRST OF ALL,THE FILE NAME LCB70 IS PROCESSED C BY THE SUBROUTINE FNAME WHICH PACKS IT INTO 3 WORDS AND STORES IT IN C THE ARRAY IFNAM. NEXT,THE PACK NUMBER 1 IS EXTRACTED FROM THE INPUT C FIELD BY THE SUBROUTINE PAKNO(WHICH IS ACTUALLY ONLY A SPECIAL CASE OF C THE SUBROUTINE INTR) AND STORED IN IPAKN(PAKNO MAKES SURE THAT THE C PACK NUMBER IS 1 TO 999,0,OR -1 TO -999).THE OTHER DATA IN THE INPUT C FIELD ARE PROCESSED BY THE SUBROUTINE INTR WHICH FORMS INTEGER VALUES C FROM THE ASCII INPUT.IF AN ERROR HAS OCCURRED IN THE INPUT FIELD, C CONTROL IS TRANSFERRED TO STATEMENT 17 WHICH PRINTS AN ERROR AND C RETURNS TO STATEMENT 5 FOR FURTHER INPUT. OTHERWISE,THE EXEC CALL IS C EXECUTED AND LCB70 IS CREATED OR AN ERROR HAS OCCURRED.IF THE FILE HAS C BEEN CREATED,UTIL RETURNS THE RESULTS OF ITS ACTION ON THE LIST OUTPUT C DEVICE(I.E. "FILE LCB70 CREATED ON PACK # 1 ETC.").IF AN ERROR C OCCURRED,CONTROL IS TRANSFERRED TO STATEMENT 17 AS ABOVE. IN EITHER C CASE,CONTROL FINALLY RETURNS TO STATEMENT 5,WHERE UTIL AWAITS FURTHER C INPUTS. OTHER INPUTS ARE PROCESSED SIMILARLY BY 1) EXECUTING A SERIEOS C OF SUBROUTINES WHICH INTERROGATE THE INPUT FIELD 2) PERFORMING THE C ACTUAL EXEC CALL AND 3) PRINTING RESULTS. C C C PROGRAM UTIL DIMENSION JATOE(62),IDIR(72),IDRT(60),ISCOD(2),IFNAM(6),IPAKN(7), 1NEMTA(7),IPRAM(5),ISTAT(10),IBUFF(512),INOTR(2) C C COMMON IOPNT(128),ITRBU(512) C C EQUIVALENCE(IUSTA,ISCOD(2)) C C DATA IETYP,KDEF/0,0/ DATA IDRT(1),IDRT(2),IDRT(3)/60500B,141500B,154500B/ /CR DATA IDRT(4),IDRT(5),IDRT(6)/142500B,60500B,142100B/ E/D DATA IDRT(7),IDRT(8),IDRT(9)/142500B,161100B,60500B/ ES/ DATA IDRT(10),IDRT(11),IDRT(12)/153100B,153500B,142500B/ OPE DATA IDRT(13),IDRT(14),IDRT(15)/60500B,141500B,151500B/ /CL DATA IDRT(16),IDRT(17),IDRT(18)/153100B,60500B,141100B/ O/B DATA IDRT(19),IDRT(20),IDRT(21)/154500B,144500B,60500B/ RI/ DATA IDRT(22),IDRT(23),IDRT(24)/161100B,161500B,140500B/ STA DATA IDRT(25),IDRT(26),IDRT(27)/60500B,154500B,142500B/ /RE DATA IDRT(28),IDRT(29),IDRT(30)/153500B,60500B,141500B/ P/C DATA IDRT(31),IDRT(32),IDRT(33)/153100B,153500B,60500B/ OP/ DATA IDRT(34),IDRT(35),IDRT(36)/141500B,144100B,140500B/ CHA DATA IDRT(37),IDRT(38),IDRT(39)/60500B,153500B,153100B/ /PO DATA IDRT(40),IDRT(41),IDRT(42)/161100B,60500B,142500B/ S/E DATA IDRT(43),IDRT(44),IDRT(45)/152500B,142100B,0/ DATA IDRT(46),IDRT(47),IDRT(48)/0,0,0/ DATA IDRT(49),IDRT(50),IDRT(51)/0,0,0/ DATA IDRT(52),IDRT(53),IDRT(54)/0,60500B,154500B/ DATA IDRT(55),IDRT(56)/142500B,161100B/ DATA IDRT(57),IDRT(58)/60500B,144500B/ DATA IDRT(59),IDRT(60)/152500B,144500B/ C DATA JATOE(1),JATOE(2),JATOE(4)/40100B,40500B,41100B/ DATA JATOE(5),JATOE(6),JATOE(7)/55500B,41500B,50100B/ DATA JATOE(8),JATOE(9),JATOE(10)/76500B,46500B,56500B/ r DATA JATOE(11),JATOE(12),JATOE(13)/56100B,47100B,65500B/ DATA JATOE(14),JATOE(15),JATOE(16)/60100B,45500B,60500B/ DATA JATOE(17),JATOE(18),JATOE(19)/170100B,170500B,171100B/ DATA JATOE(20),JATOE(21),JATOE(22)/171500B,172100B,172500B/ DATA JATOE(23),JATOE(24),JATOE(25)/173100B,173500B,174100B/ DATA JATOE(26),JATOE(27),JATOE(28)/174500B,42100B,42500B/ DATA JATOE(29),JATOE(30),JATOE(31)/43100B,77100B,43500B/ DATA JATOE(32),JATOE(33),JATOE(34)/44100B,44500B,140500B/ DATA JATOE(35),JATOE(36),JATOE(37)/141100B,141500B,142100B/ DATA JATOE(38),JATOE(39),JATOE(40)/142500B,143100B,143500B/ DATA JATOE(41),JATOE(42),JATOE(43)/144100B,144500B,150500B/ DATA JATOE(44),JATOE(45),JATOE(46)/151100B,151500B,152100B/ DATA JATOE(47),JATOE(48),JATOE(49)/152500B,153100B,153500B/ DATA JATOE(50),JATOE(51),JATOE(52)/154100B,154500B,161100B/ DATA JATOE(53),JATOE(54),JATOE(55)/161500B,162100B,162500B/ DATA JATOE(56),JATOE(57),JATOE(58)/163100B,163500B,164100B/ DATA JATOE(59),JATOE(60),JATOE(61)/164500B,45100B,46100B/ DATA JATOE(62),JATOE(3)/47500B,40100B/ C DATA NEMTA(1),NEMTA(2),NEMTA(3)/42106B,43117B,51503B/ DATA NEMTA(4),NEMTA(5),NEMTA(6)/46122B,46106B,47106B/ DATA NEMTA(7)/40520B/ DATA NTYP,NWRIT,NREAD,K/1,6,5,57/ DATA INOTR(1),INOTR(2)/1,3/ C C C C C C C C C C C C C C C C C C C CALL RMPAR(IPRAM) CALL EXEC(24,1,IOPNT,128,ITRBU,INOTR,4,IETYP) IF(IPRAM(1))5,500,5 500 WRITE(NTYP,501) 5 WRITE(NTYP,502) READ(NTYP,503)(IDIR(I),I=1,72) CALL ASCEB(IDIR,1,72,IDIR,1,JATOE) N=1 600 IF(NCOMP(IDIR,1,4,IDRT,N))1,2,1 1 IF(N-K)3,4,4 4 WRITE(NTYP,507) GO TO 5 3 N=N+4 GO TO 600 2 N=(N-1)/4+1 N3=5 IF(IDIR(N3)-65500B)21,362,21 362 IF(N-10)20,363,20 363 IETYP=20 GO TO 17 21 IF(IDIR(N3)-40100B)4,22,4 22 IFp(N3-72)23,20,20 23 N3=N3+1 GO TO 21 20 GO TO(6,7,8,9,10,11,12,13,14,15,16,400,450,620,800)N 17 IF(IETYP)18,19,18 18 WRITE(NTYP,504)IETYP IETYP=0 GO TO 5 16 CALL EXEC(6) STOP 19 GO TO(200,201,202,203,204,205,206,207,208,209,16,5,5,650,850)N C CDIRECTIVE /INI,PAKNO,DIRSZ C 800 CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,IDRSZ,IETYP) IF (IETYP)17,801,17 801 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,802,17 802 CALL EXEC(24,7,IPAKN,IDRSZ,IETYP) GO TO 17 C CDIRECTIVE /CRE,FNAME,PAKNO,FLGTH,RLGTH,SCODE,USTAT C 6 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,IFLGT,IETYP) CALL INTR(IDIR,N3,N1,N2,IRLGT,IETYP) CALL INTR(IDIR,N3,N1,N2,ISCOD,IETYP) CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,350,17 350 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,31,17 31 CALL EXEC(24,2,IFNAM,IPAKN,IFLGT,IRLGT,ISCOD,IETYP) GO TO 17 C CDIRECTIVE /DES,FNAME,PAKNO,SCODE C 7 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,ISCOD,IETYP) IF(IETYP)17,351,17 351 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,32,17 32 CALL EXEC(24,3,IFNAM,IPAKN,ISCOD,IETYP) GO TO 17 C CDIRECTIVE /OPE,FNAME,PAKNO,RCDNO,SCODE C 8 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,IRCDN,IETYP) CALL INTR(IDIR,N3,N1,N2,ISCOD,IETYP) IF(IETYP)17,352,17 352 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,51,17 51 CALL EXEC(24,4,IFNAM,IPAKN,IRCDN,ISCOD,1,IETYP) GO TO 17 C CDIRECTIVE /CLO,FNAME,USTAT C 9 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP)  IF(IETYP)17,353,17 353 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,37,17 37 CALL EXEC(24,5,IFNAM,IUSTA,IETYP) GO TO 17 C CDIRECTIVE /BRI,FNAME,SCODE C 10 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL INTR(IDIR,N3,N1,N2,ISCOD,IETYP) IF(IETYP)17,354,17 354 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,38,17 38 CALL EXEC(24,10,2,IFNAM,0,0,ISTAT,IETYP) IF(IETYP)17,62,17 62 IF(ISTAT(2))63,63,64 64 IETYP=11 GO TO 17 63 ISTAT(2)=ISCOD CALL EXEC(24,10,3,IFNAM,ISTAT,0,ISTAT,IETYP) IF(IETYP)17,65,17 65 IF(ISTAT(3))66,67,66 66 IETYP=7 GO TO 17 67 CALL EXEC(24,10,1,IFNAM,ISTAT,1,ISTAT,IETYP) IF(IETYP)17,39,17 39 WRITE(NTYP,506)ISTAT(6),ISTAT(10) READ(NTYP,503)(IDIR(I),I=1,72) CALL ASCEB(IDIR,1,72,IDIR,1,JATOE) N3=1 45 IF(IDIR(N3)-40100B)41,42,41 42 IF(N3-72)43,44,44 43 N3=N3+1 GO TO 45 44 WRITE(NTYP,507) GO TO 39 41 IF(IDIR(N3)-60500B)46,47,46 47 IF(IDIR(N3+1)-142500B)44,5,44 46 N3=N3-1 CALL INTR(IDIR,N3,N1,N2,IRCDN,IETYP) IF(IETYP)17,52,17 52 IF(ISTAT(7)-512)49,49,54 54 WRITE(NTYP,509) GO TO 5 49 IF(ISTAT(10))55,71,55 55 IFNAM(4)=020040B IFNAM(5)=020040B IFNAM(6)=020040B CALL EXEC(24,2,IFNAM(4),0,ISTAT(10),ISTAT(7),0,IETYP) IF(IETYP)17,56,17 56 J=ISTAT(10) DO 61 I=1,J CALL EXEC(24,6,IFNAM,I,IBUFF,IETYP) IF(IETYP)70,58,70 58 CALL EXEC(24,8,IFNAM(4),I,IBUFF,IETYP) IF(IETYP)70,61,70 61 CONTINUE CALL EXEC(24,14,IETYP) 71 CALL EXEC(24,3,IFNAM,ISTAT,ISCOD,IETYP) IF(IETYP)70,24,70 24 CALL EXEC(24,2,IFNAM,ISTAT,IRCDN,ISTAT(7),ISCOD,IETYP) IF(IETYP)25,79,25 25 IETYP=0 75 CALL EXEC(24,11,ISTAT,IETYP) IF(IETYP)70,76,70 76 CALL EXEC(24,2,IFNAM,ISTAT,IRCDN,ISTAT(7),ISCOD,IETYP) IF(IETYP)78,79,78 79 ITEMP=>0 GO TO 73 78 ITEMP=IETYP IETYP=0 CALL EXEC(24,2,IFNAM,ISTAT,ISTAT(6),ISTAT(7),ISCOD,IETYP) IF(IETYP)70,73,70 73 CALL EXEC(24,4,IFNAM,ISTAT,1,ISCOD,1,IERR) IF(ISTAT(10))68,82,68 68 J=ISTAT(10) DO 72 I=1,J CALL EXEC(24,6,IFNAM(4),I,IBUFF,IETYP) IF(IETYP)70,69,70 69 CALL EXEC(24,8,IFNAM,I,IBUFF,IETYP) IF(IETYP)89,72,89 72 CONTINUE 89 IETYP=0 CALL EXEC(24,14,IETYP) 82 IF(ITEMP)91,92,91 91 IETYP=ITEMP GO TO 70 92 CALL EXEC(24,10,1,IFNAM,ISTAT,1,ISTAT,IETYP) IF(IETYP)70,88,70 88 WRITE(NTYP,511)ISTAT(6),ISTAT(10) 70 CALL EXEC(24,3,IFNAM(4),0,0,IERR) GO TO 17 C CDIRECTIVE /STA,DF,FNAME,PAKNO C /STA,FO,FNAME C /STA,SC,FNAME,PAKNO,SCODE C /STA,LR,FNAME,PAKNO C /STA,LF,PAKNO C /STA,NF,PAKNO,STATB C /STA,AP C 11 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) IF(IETYP)17,300,17 300 DO 303 I=1,7 IF(NEMTA(I)-IFNAM(1))303,302,303 302 IFSTA=I GO TO 93 303 CONTINUE IETYP=23 GO TO 17 93 GO TO(94,94,94,94,290,95,900)IFSTA 95 CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,ISTAT,IETYP) 97 IF(IETYP)17,355,17 355 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,98,17 98 CALL EXEC(24,10,IFSTA,IFNAM,IPAKN,IRCDN,ISTAT,IETYP) GO TO 17 94 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) GO TO(290,97,290,290,290,290,290)IFSTA 290 CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) IF(IFSTA-3)97,99,97 99 CALL INTR(IDIR,N3,N1,N2,ISTAT(2),IETYP) GO TO 97 900 CALL INTR(IDIR,N3,N1,N2,IFNAM,IETYP) CALL INTR(IDIR,N3,N1,N2,ISTAT,IETYP) GO TO 97 C CDIRECTIVE /REP,PAKNO C 12 CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) IF(IETYP)17,356,17 356 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,102,17 102 CALL EXEC(24,11,IPAKN,IETYP) GO TO 17 C CDIRECTIVE /COP,FNAME,PAKNO C 13 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) IF(IETYP)17,357,17 357 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,103,17 103 CALL EXEC(24,12,IFNAM,IPAKN,IETYP) GO TO 17 C CDIRECTIVE /CHA,FNAM1,FNAM2,PAKNO,SCODE C 14 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL FNAME(IDIR,N3,N1,N2,IFNAM(4),IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,ISCOD,IETYP) IF(IETYP)17,358,17 358 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,116,17 116 CALL EXEC(24,13,IFNAM,IPAKN,ISCOD,IETYP) GO TO 17 C CDIRECTIVE /POS C 15 CALL EXEC(24,14,IETYP) GO TO 17 C C INITIALIZE MESSAGE C 850 WRITE(NWRIT,851)IPAKN(1) 851 FORMAT(" PACK# "I6" INITIALIZED") GO TO 5 C C C CREATE MESSAGE C 200 WRITE(NWRIT,515)(IFNAM(I),I=1,3) 515 FORMAT(" FILE "3A2," CREATED") IF(IPAKN)220,221,222 220 WRITE(NWRIT,516) 516 FORMAT(" THE FILE IS ON AN AVAILABLE PACK") GO TO 223 221 WRITE(NWRIT,517) 517 FORMAT(" THE FILE IS TEMPORARY IN WORK AREA") ISCOD(1)=0 GO TO 223 222 WRITE(NWRIT,518)IPAKN(1) 518 FORMAT(" THE FILE IS ON PACK# "I6) 223 WRITE(NWRIT,519)IFLGT 519 FORMAT(" THE FILE LENGTH IS"I6," RECORDS") WRITE(NWRIT,520)IRLGT 520 FORMAT(" THE RECORD LENGTH IS"I6," WORDS") WRITE(NWRIT,521)ISCOD(1) 521 FORMAT(" THE SECURITY CODE IS"I6) WRITE(NWRIT,522)IUSTA 522 FORMAT(" THE USER STATUS WORD IS"I6) GO TO 5 C C DESTROY MESSAGE C 201 WRITE(NWRIT,523)(IFNAM(I),I=1,3) 523 FORMAT(" FILE "2A2,A1," DESTROYED") GO TO 5 C C OPEN MESSAGE C 202 WRITE(NWRIT,524)(IFNAM(I),I=1,3) 524 FORMAT(" FILE "2A2,A1," OPENED") IF(IPAKN)228,229,230 228 WRITE(NWRIT,516) GO TO 231 229 WRITE(NWRIT,517) GO TO 231 230 WRITE(NWRIT,518)IPAKN(~1) GO TO 231 231 WRITE(NWRIT,525)IRCDN 525 FORMAT(" THE RECORD # IS"I6) WRITE(NWRIT,521)ISCOD(1) GO TO 5 C C CLOSE MESSAGE C 203 WRITE(NWRIT,527)(IFNAM(I),I=1,3) 527 FORMAT(" FILE "2A2,A1," CLOSED") WRITE(NWRIT,522)IUSTA GO TO 5 C C BRIEF MESSAGE C 204 GO TO 5 C C C STATUS MESSAGE C 205 GO TO(232,232,232,232,661,232,238)IFSTA 232 WRITE(NWRIT,528)(IFNAM(I),I=1,3) 528 FORMAT(" FILE "2A2,A1," STATUS") GO TO(237,660,237,237,661,237,238)IFSTA 660 IF(ISTAT(2))239,239,245 661 IF(IPAKN)662,663,664 662 WRITE(NWRIT,665)ISTAT(1) 665 FORMAT(" FOR PACK # "I6) GO TO 236 663 WRITE(NWRIT,666) 666 FORMAT(" FOR WORK AREA") GO TO 236 664 WRITE(NWRIT,665)IPAKN(1) GO TO 236 237 IF(IPAKN)239,240,241 239 WRITE(NWRIT,518)ISTAT(1) GO TO 242 240 WRITE(NWRIT,517) GO TO 242 241 WRITE(NWRIT,518)IPAKN(1) 242 GO TO(233,244,235,236,236,243)IFSTA C C 233 WRITE(NWRIT,530)ISTAT(5) 530 FORMAT(" RELATIVE STARTING SECTOR # IS ",I6) WRITE(NWRIT,519)ISTAT(6) WRITE(NWRIT,520)ISTAT(7) WRITE(NWRIT,522)ISTAT(9) WRITE(NWRIT,534)ISTAT(10) 534 FORMAT(" HIGHEST RECORD # ACCESSED IS "I6) GO TO 5 C C 244 WRITE(NWRIT,535) 535 FORMAT(" FILE IS OPEN") GO TO 5 245 WRITE(NWRIT,536) 536 FORMAT(" FILE IS NOT OPEN") GO TO 5 C C 235 WRITE(NWRIT,521)ISTAT(2) IF(ISTAT(3))246,246,247 246 WRITE(NWRIT,537) 537 FORMAT(" CODE CHECKS") GO TO 5 247 WRITE(NWRIT,538) 538 FORMAT(" CODE DOES NOT CHECK") GO TO 5 C C 236 WRITE(NWRIT,539)ISTAT(2) 539 FORMAT(" # OF AVAILABLE SECTORS IS "I6) GO TO 5 C C 243 WRITE(NWRIT,540)ISTAT(1) 540 FORMAT(" FILE # "I6" IN THE DIRECTORY") GO TO 5 C C 238 IF (IFNAM)250,541,250 541 WRITE(NWRIT,248)IPAKN(1) 248 FORMAT(" PACK# "I6" IS AVAILABLE AND INITIALIZED") GO TO 5 250 WRITE(NWRIT,860)IP <:6AKN(1) 860 FORMAT(" PACK# "I6" IS AVAILABLE BUT NOT INITIALIZED") GO TO 5 C C REPACK MESSAGE C 206 IF(IPAKN)251,5,253 251 WRITE(NWRIT,542) 542 FORMAT(" ALL PACKS AVAILABLE REPACKED") GO TO 5 253 WRITE(NWRIT,543)IPAKN(1) 543 FORMAT(" PACK "I6" REPACKED") GO TO 5 C C COPY MESSAGE C 207 WRITE(NWRIT,544)(IFNAM(I),I=1,3) 544 FORMAT(" FILE "3A2" COPIED") IF(IPAKN(1))257,258,259 257 IPAKN(1)=-IPAKN(1) GO TO 259 258 WRITE(NWRIT,517) GO TO 5 259 WRITE(NWRIT,518)IPAKN(1) GO TO 5 C C CHANGE FILE NAME MESSAGE C 208 WRITE(NWRIT,546)(IFNAM(I),I=1,3) 546 FORMAT(" FILE "2A2,A1," OLD FILE") WRITE(NWRIT,547)(IFNAM(I),I=4,6) 547 FORMAT(" FILE "2A2,A1," NEW FILE") IF(IPAKN(1))260,261,262 260 WRITE(NWRIT,516) <  24309-80017 1523 S 0122 UTIL PROGRAM FOR EFMP              H0101 c GO TO 263 261 WRITE(NWRIT,517) GO TO 263 262 WRITE(NWRIT,518)IPAKN(1) 263 WRITE(NWRIT,521)ISCOD(1) GO TO 5 C C POST MESSAGE C 209 WRITE(NWRIT,548) 548 FORMAT(" ALL FILES POSTED") GO TO 5 C CDIRECTIVE /REA,FNAME,RCDNO,PAKNO C C RECORD CONTENTS WILL APPEAR ON LIST OUTPUT DEVICE IN OCTAL C RECORDS MUST BE 512 WORDS OR LESS C 400 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL INTR(IDIR,N3,N1,N2,IRCDN,IETYP) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) IF(IETYP)17,359,17 359 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,403,17 403 CALL EXEC(24,10,1,IFNAM,IPAKN,IRCDN,ISTAT,IETYP) IF(IETYP)17,405,17 405 IF(ISTAT(7)-512)406,406,407 407 WRITE(NTYP,509) GO TO 5 406 CALL FILL(IBUFF,1,512,040B) CALL EXEC(24,6,IFNAM,IRCDN,IBUFF,IETYP) IF(IETYP)17,408,17 408 WRITE(NWRIT,549)(IFNAM(I),I=1,3),IRCDN I=1 409 ISTAT(7)=ISTAT(7)-8 I=I+8 410 K1=I+7 WRITE(NWRIT,550)(IBUFF(J),J=1,8) IF(ISTAT(7))5,5,411 411 CALL MOVER(IBUFF,I,K1,IBUFF,1) GO TO 409 C CDIRECTIVE /WRI,FNAME,RCDNO,LOGUN C C BUFFER CONTENTS WILL BE FILLED FROM THE DEVICE SPECIFIED C BY THE LOGICAL UNIT #.UP TO 512 WORDS WILL ENTER THE BUFFER,8 C WORDS AT A TIME IN OCTAL FORMAT.A 000072000072 C IS THE DELIMITER IF LESS THAN 512 WORDS ARE ENTERED C 450 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL INTR(IDIR,N3,N1,N2,IRCDN,IETYP) CALL INTR(IDIR,N3,N1,N2,ILOGU,IETYP) IF(IETYP)17,360,17 360 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,452,17 452 CALL FILL(IBUFF,1,512,040B) I=1 458 CALL FILL(IDIR,1,8,040B) READ(ILOGU,551)(IDIR(J),J=1,8) IF(IDIR(1)-072B)455,456,455 455 CALL MOVER(IDIR,1,8,IBUFF,I) IF(I-512)460,457,457 460 I=I+8 GO TO 458 456 IF(IDIR(2)-072B)455,457,455 457 CALL EXEC(24,8,IFNAM,IRCDN,IBUFF,IETYP) IF(IETYP)17,700,17 700 CALL EXEC(24,14,IETYP) GO TO 17 501 FORMAT(" /CRE,FNAME,PAKNO,FLGTH,RLGTH,SCODE,USTAT"/" /DES,FNAME,PA 1KNO,SCODE"/" /OPE,FNAME,PAKNO,RCDNO,SCODE"/" /CLO,FNAME,USTAT"/ 2" /INI,PAKNO,DIRSZ"/" /RES,FNAME,PAKNO,RCDNO"/ 3" /STA,DF,FNAME,PAKNO"/" /STA,FO,FNAME"/ 4" /STA,SC,FNAME,PAKNO,SCODE"/" /STA,LR,FNAME,PAKNO"/ 5" /STA,LF,PAKNO"/" /STA,NF,PAKNO,STATB"/" /STA,AP,FNAME,STATB"/ 6" /REP,PAKNO"/" /COP,FNAME,PAKNO"/" /CHA,FNAM1,FNAM2,PAKNO,SCODE"/ 7" /POS"/" /BRI,FNAME,SCODE"/" /END") 502 FORMAT("UTIL READY") 503 FORMAT(72R1) 507 FORMAT(" ILLEGAL OPERATION") 504 FORMAT(" ERROR # "I6) 552 FORMAT(" FILE "2A2,A1," ALREADY OPEN") 505 FORMAT(" ILLEGAL RECORD #,TRY PACK # "I6) 506 FORMAT(" AVAILABLE RECS. ="I6" RECORDS USED = "I6/" NEW RECORD COU 1NT?") 508 FORMAT(" TOO BIG") 509 FORMAT(" RECORD SIZE TOO BIG") 510 FORMAT(" "I6" CONSECUTIVE TRACK NOT AVAILABLE") 511 FORMAT(" AVAILABLE RECS. ="I6" RECORDS USED = "I6) 512 FORMAT(" WHICH FILES?") 513 FORMAT(" ERROR ON ENTRY "I6) 514 FORMAT(" ERROR,TOO MANY FILES") 549 FORMAT(" FILE "2A2,A1," RECORD # "I6/) 550 FORMAT(8(" "K6)) 551 FORMAT(8K6) 620 CALL FNAME(IDIR,N3,N1,N2,IFNAM,IETYP,JATOE) CALL PKNUM(IDIR,N3,N1,N2,IPAKN,IETYP) CALL INTR(IDIR,N3,N1,N2,IRCDN,IETYP) IF(IETYP)17,361,17 361 IETYP=-1 CALL INTR(IDIR,N3,N1,N2,IUSTA,IETYP) IF(IETYP)17,621,17 621 CALL EXEC(24,9,IFNAM,IPAKN,IRCDN,IETYP) GO TO 17 650 WRITE(NWRIT,655)(IFNAM(I),I=1,3) 655 FORMAT(" FILE "2A2,A1," RESET") IF(IPAKN(1))651,652,653 651 WRITE(NWRIT,516) GO TO 654 652 WRITE(NWRIT,517) GO TO 654 653 WRITE(NWRIT,518)IPAKN(1) 654 WRITE(NWRIT,525)IRCDN GO TO 5 END C SUBROUTINE FNAME C CALLING SEQUENCE: C CALL FNAME(JCARD,J,K,KLAST,KCARD,IETYP,JATOE) C C PURPOSE: FNAME PACKS THE CHARACTERS FROM N1 TO N2,2 CHARACTERS PER C WORD. IF 2 CONSECUTIVE COMMAS OCCUR, IETYP =20, OTHERWISE IETYP=0. SUBROUTINE FNAME(JCARD,J,K,KLAST,KCARD,IETYP,JATOE) DIMENSION JCARD(1),KCARD(1),JATOE(1) DATA LCB/0/ IF(IETYP)1,2,1 1 RETURN 2 J=J+1 IF(JCARD(J)-40100B)3,4,3 4 IF(J-72)2,5,5 5 IETYP=20 RETURN 3 IF(JCARD(J)-65500B)6,5,6 6 K=J 8 J=J+1 IF(JCARD(J)-65500B)7,20,7 7 IF(J-72)8,20,20 20 KLAST=J-1 N=KLAST-K+1 CALL FILL(KCARD,1,3,020040B) CALL EBASC(JCARD,K,KLAST,JCARD,K,JATOE) IF(N-5)9,9,10 10 KLAST=K+4 9 N=K I=1 15 KCARD(I)=256*JCARD(N) IF(N-KLAST)11,12,12 12 KCARD(I)=KCARD(I)+040B RETURN 11 N=N+1 KCARD(I)=JCARD(N)+KCARD(I) IF(N-KLAST)13,14,14 14 RETURN 13 N=N+1 I=I+1 GO TO 15 END CFUNCTION NCOMP CFUNCTION-TWO VARIABLE-LENGTH DATA FIELDS ARE COMPARED,AND THE RESULT IS CSET TO A NEGATIVE NUMBER,ZERO,OR A POSITIVE NUMBER.THIS IS A FUNCTION CSUBPROGRAM. C CCALLING SEQUENCE- C CNCOMP(JCARD,J,JLAST,KCARD,K) FUNCTION NCOMP(JCARD,J,JLAST,KCARD,K) DIMENSION JCARD(1),KCARD(1) DATA LCB/0/ JNOW=J 1 KNOW=K+JNOW-J NCOMP=JCARD(JNOW)/16-KCARD(KNOW)/16 IF(NCOMP)3,2,3 2 JNOW=JNOW+1 IF(JNOW-JLAST)1,1,3 3 RETURN END CSUBROUTINE A1DEC C CFUNCTION-CONVERTS A FIELD FROM A1 FORMAT,ONE DIGIT PER WORD, CTO DECIMAL FORMAT,RIGHT-JUSTIFIED,ONE DIGIT PER WORD. C CCALLING SEQUENCE- C CCALL A1DEC(JCARD,J,JLAST,NER) SUBROUTINE A1DEC(JCARD,J,JLAST,NER) DIMENSION JCARD(1) DATA LCB/0/ CISOLATE THE SIGN IN JSIGN JSIGN=0 CALL NZONE(JCARD,JLAST,4,JSIGN) JNOW=J 1 JTEST=JCARD(JNOW) C IS JTEST LESS THAN ZERO IF(JTEST)2,3,3 CIS JTEST EQUAL TO AN EBCDIC BLANK 3 IF(JTEST-40100B)4,5,4 CIS JTEST LESS THAN -4032 2 IF(JTEST+4032)4,6,6 CSET ERROR CONDITION AT THIS CHARACTER 4 NER=JNOW GO TO 7 CSET JTEST EQUAL TO AN EBCDIC ZERO  5 JTEST=170100B CCONVERT CHARACTER TO ITS DECIMAL EQUIVALENT 6 JCARD(JNOW)=(JTEST+4032)/256 7 IF (JNOW-JLAST)8,9,9 8 JNOW=JNOW+1 GO TO 1 CIF THE SIGN IS NEGATIVE,MAKE THE LAST DECIMAL DIGIT NEGATIVE 9 IF(JSIGN-2)11,10,11 10 JCARD(JLAST)=-JCARD(JLAST)-1 11 RETURN END CSUBROUTINE MOVE CFUNCTION-MOVES DATA FROM ONE ARRAY TO ANOTHER ARRAY C CCALLING SEQUENCE- C CCALL MOVE(JCARD,J,JLAST,KCARD,K) SUBROUTINE MOVER(JCARD,J,JLAST,KCARD,K) DIMENSION JCARD(1),KCARD(1) DATA LCB/0/ JNOW=J 1 KNOW=K+JNOW-J KCARD(KNOW)=JCARD(JNOW) IF(JNOW-JLAST)2,3,3 2 JNOW=JNOW+1 GO TO 1 3 RETURN END C SUBROUTINE EBASC C FUNCTION-TO CONVERT AN ARRAY FROM A1 FORMAT(EBCDIC)TO ASCII. C C CALLING SEQUENCE- C C CALL EBASC(JCARD,J,JLAST,KCARD,K,JATOE) C SUBROUTINE EBASC(JCARD,J,JLAST,KCARD,K,JATOE) DIMENSION JCARD(1),KCARD(1),JATOE(1) DATA LCB/0/ JNOW=J 1 KNOW=K+JNOW-J DO 2 I=1,62 IF(JCARD(JNOW)-JATOE(I))2,3,2 2 CONTINUE 4 KCARD(KNOW)=40B GO TO 5 3 KCARD(KNOW)=I+37B IF(KCARD(KNOW)-42B)5,4,5 5 IF(JNOW-JLAST)6,7,7 6 JNOW=JNOW+1 GO TO 1 7 RETURN END CSUBROUTINE ASCEB CFUNCTION-TO CONVERT AN ARRAY FROM ASCII TO A1 FORMAT(EBCDIC). C CCALLING SEQUENCE- C CCALL ASCEB(JCARD,J,JLAST,KCARD,K,JATOE) C SUBROUTINE ASCEB(JCARD,J,JLAST,KCARD,K,JATOE) DIMENSION JCARD(1),KCARD(1),JATOE(1) DATA LCB/0/ JNOW=J 1 KNOW=K+JNOW-J IF(JCARD(JNOW)-40B)4,2,2 2 IF(JCARD(JNOW)-135B)3,3,4 3 JTEST=JCARD(JNOW)-37B KCARD(KNOW)=JATOE(JTEST) GO TO 5 4 KCARD(KNOW)=40100B 5 IF(JNOW-JLAST)6,7,7 6 JNOW=JNOW+1 GO TO 1 7 RETURN END SUBROUTINE NZONE(JCARD,J,NEWZ,NOLDZ) DIMENSION JCARD(1) DATA LCB/0/ JTEST=JCARD(J) IF(JTEST)10,20,20 10 IF(JTEST-170100B)21,11,21  11 IF(NEWZ-2)13,12,13 12 JCARD(J)=60100B 13 NOLDZ=4 14 RETURN 20 IF(JTEST-60100B)21,30,21 21 NOLDZ=5+(JTEST-4096)/4096 IF(NOLDZ-5)22,14,14 22 IF(NEWZ-5)23,14,14 23 JCARD(J)=JTEST+4096*(NEWZ-NOLDZ) GO TO 14 30 NOLDZ=2 IF(NEWZ-4)14,31,14 31 JTEST=150100B GO TO 23 END C SUBROUTINE INTR C CALLING SEQUENCE: CALL INTR(JCARD,J,K,KLAST,KCARD,IETYP) C C PURPOSE: INTR FORMS AN INTEGER FROM THE JCARD FIELD FROM POSITIONS K C TO KLAST. IF THE INTEGER FORMED IS NOT IN THE RANGE -32768 C TO 32767,IETYP IS SET TO 20. C SUBROUTINE INTR(JCARD,J,K,KLAST,KCARD,IETYP) DIMENSION JCARD(1),KCARD(1) DATA LCB/0/ IF(IETYP)30,2,1 30 IF(J-72)31,32,32 31 IETYP=20 GO TO 1 32 IETYP=0 1 RETURN 2 J=J+1 IF(J-72)4,4,5 4 IF(JCARD(J)-40100B)3,2,3 5 IETYP=20 RETURN 3 IF(JCARD(J)-60100B)7,6,7 6 JSIGN=-1 J=J+1 GO TO 8 7 JSIGN=1 8 K=J 12 IF(JCARD(J)-65500B)10,9,10 10 IF(J-72)11,13,13 11 J=J+1 GO TO 12 13 KLAST=J GO TO 14 9 KLAST=J-1 14 IF(JCARD(KLAST)-40100B)15,16,15 16 IF(K-KLAST)17,5,5 17 KLAST=KLAST-1 GO TO 14 15 IF(JCARD(KLAST)-170100B)33,18,18 18 CALL A1DEC(JCARD,K,KLAST,IETYP) IF(IETYP)33,19,33 33 IETYP=23 RETURN 19 N=0 N1=KLAST KCARD=0 23 KCARD=JCARD(N1)*(10**N)+KCARD IF(KCARD)5,20,20 20 IF(K-N1)21,22,22 22 KCARD=KCARD*JSIGN RETURN 21 N=N+1 N1=N1-1 IF(N-4)23,24,5 24 IF(JCARD(N1)-3)23,23,5 END C SUBROUTINE PAKNO C CALLING SEQUENCE: C CALL PAKNO(JCARD,J,K,KLAST,KCARD,IETYP) C C PURPOSE: PAKNO RETURNS THE PACK NUMBER SPECIFIED IN THE JCARD FIELD. C VALID NUMBERS ARE 0,1-999,AND(-1)-(-999).IF ANY OTHER C NUMBER APPEARS,IETYP IS SET TO 20. C SUBROUTINE PKNUM(JCARD,J,K,KLAST,KCARD,IETYP) DIMENSION JCARD(D{$"1),KCARD(1) DATA LCB/0/ IF(IETYP)1,2,1 1 RETURN 2 CALL INTR(JCARD,J,K,KLAST,KCARD,IETYP) IF(IETYP)1,3,1 3 IF(KCARD)4,1,6 4 IF(KCARD+999)5,1,1 5 IETYP=20 RETURN 6 IF(KCARD-999)1,1,5 END END$ D$   24309-80018 1523 S 0122 FILL ROUTINE FOR UTIL PROGRAM (EFMP)             H0101 ASMB,L,R,B NAM FILL,7 ENT FILL EXT .ENTR **************************************************** 7905 * * 7905 * REV 4-21-75 * 7905 * * 7905 **************************************************** 7905 * FILL COMMERCIAL SUBROUTINE PACKAGE * CALL FILL(JCARD,J,JLAST,NCH) * THE WORDS JCARD(J) THROUGH JCARD(JLAST) * ARE FILLED WITH THE CHARACTER AT LOCATION NCH. * * JCARD =ADDRESS OF INTEGER ARRAY * JCARD+1=ADDRESS OF J * JCARD+2=ADDRESS OF JLAST * JCARD+3=ADDRESS OF NCH JCARD BSS 4 FILL NOP JSB .ENTR TRANSFER DEF JCARD PARAMETERS CCA GET MINUS ONE IN (A) ADA JCARD+1,I ACCUM= J-1 ADA JCARD CREATE ADDRESS OF JCARD(J) STA JCARD * COMPUTE FIELD WIDTH LDA JCARD+1,I GET VALUE OF J CMA,INA AND MAKE MINUS (-J) ADA JCARD+2,I JLAST-J+1 INA ACCUM=FIELD WIDTH SZA,RSS JMP NEG1 0---NEGATIVE OR SSA NOT0-- ZERO-- NEG1 CLA,INA NOT0-- MAKE FIELD WIDTH = ONE. CMA,INA 0--- AND STA 1 STORE -FIELD WIDTH IN ACCUM B * JNOW=J LDA JCARD+3,I GET FILL CHARACTER-NCH * JCARD(JNOW)=NCH MORE STA JCARD,I STORE FILL CHARACTER IN JCARD(JNOW) * SEE IF JNOW IS LESS THAN JLAST. * IF YES, JNOW=JNOW+1 AND GO BACK FOR MORE. * IF NO, EXIT. ISZ JCARD INCREASE EFFECTIVE ADDRESS AND DECREASE FW. INB,SZB CHECK IF I IS LESS THAN JLAST JMP MORE NO, GO BACK FOR MORE. JMP FILL,I YES,EXIT....... END R    24312-80001 A S 0122 12K SIO HP7970 MAG TAPE DRIVER             H0101 t ASMBAB̬ HDKSϠHP90DVҠ G0006B DƠMD-ASԠDAVAABŠMMY DƠMDDVҠNYPN SPà DVҠNAZANSN SPà PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNADɯ ADDSSҠHŠ90MAGAPŠDV. SPà UNƠHSSNSBGUNAԠAN: SPà (MP3 (3DƠ.M SPà HSHS00-05ɯϠADDSS SPà HSSNSASDAҠHŠNAZAN SMPD. SPà G0000B MP00003BɠSԠSANG DƠ.MԠPNԠNAND3 SPà KŠU0000BKMMYSZŠVSN SPà GK+06000B SPà NGUŠɯ0NSUNS SPà NGHԠ00B SPà SSנU0BSNSŠSHGSҠADDSS. .MԠASSנGԠDAAHANN̠ADDSS SAUNSSAVŠHŠSHPNS. AND. SABSAVŠDAAHANN̠ADDSSNB ADAM.0"SUBA":S..-0B. SSASHANN̠NUMBҠ<0B? MPNGYSGϠSAԠNGUAN. ADAMAH"SUBA":S..-0B. SSASSSHANN̠NUMBҠ6B? MPNGYSGϠSAԠNGUAN. SPà DAñADAAàNSUNS ADAB SAM.3 SPà DAòADAAàNSUNS ADAB SAM.3 SPà DAôàDAANSUNS ADAB SAM.5 SAM.50 SAM.3 SPà DA5SSDAANSUNS ADAB SAM. SAM.6 SPà DAñSàDAAàNSUNS ADABNUDŠHŠHANN̠NUMB. SAM.9SŠHŠNSUN. SAM.SŠHŠNSUN. 5SPà DAñ3ƠDAANSUN. ADABNUDŠHŠHANN̠NUMB. SAM.SŠHŠNSUN. SPà DA6AMNDNSUNS ADAB SAS. SPà DA÷BMNDNSUNS ADAB SAS.0 SPà DAøSàMNDNSUNS ADAB SAP SAM.0SŠHŠNSUN. SPà DA9SSMNDNSUNS ADAB SAM.0 SAM. SPà DAñ0AMNDNSUNS ADAB SAM. SAM. SPà DAñSàMNDàNSUNS ADAB SAM. SAM.6 SPà DA0BMNDNSUN. ADAB SA.B SPà DA3àMNDNSUN. ADAB SAM. SAM.6 SPà DAUNSADHŠSHPNS. A̬A̠SHԠBԠϠBԠ0. SAA̠SMAMUMUNԠ3? MPNGYSһSA. A̠SHԠUNԠMAMUMϠ-0. AND.3SAŠHŠMAMUMUNԠNUMB. PA.3AŠHŠU(MԠUNS? MPSPYSMNAŠNGUAN. DBS0NϬADHŠS0MMAND. SBS3SԠUNԠ3ϠBŠUNԠ0. PADòAŠHŠH(3MԠUNS? MPSPYSMNAŠNGUAN. SBS̲NϬMAKŠUNԠUUNԠ0. PADñAŠHŠ(MԠUNS? MPSPYSMNAŠNGUAN. SBS̱NϬMAKŠUNԠUUNԠ0. SPà SPHԠBNDƠDVҠNGUAN. SPà DA.S̱ADHŠSԠUNԠMMAND. SAS̱SŠHŠMMAND. DA.S̲ADHŠSԠUNԠMMAND. SAS̲SŠHŠMMAND. DA.S35ADHŠSԠUNԠ3MMAND. SAS3SŠHŠMMAND. MP.M SPà .Ԡ M.0Ԡ-0 MAHԠ-60 UNSNP .S̱Ԡ0000SԠUNԠMMAND. .S̲Ԡ0000SԠUNԠMMAND. .S3Ԡ0000SԠUNԠ3MMAND. SPà ɯϠNSUNS SPà 0BMND ñADAA òADAA 3àMND ôàDAA 5SSDAA 6AMND ÷BMND øSàMND 9SSMND ñ0AMND ñSàMND ñSàDAA ñ3ƠDAA SPà NDƠASABŠNAZANSN SPà .P.̠U005BDVҠNGH. GK+035B-.P. SPà ..A.ƠSϠMԠDVҠMUSԠBŠ66B. SPà ..A.ƠSϠMԠDVҠMUSԠBŠ<ط35B. SKP ANGSUN:(ůAD SPà DANGD MSDƠ+ ASà9D̠BŠPNDAS ASàAD. HDBUƠASà9Š:D: ASàNUMBҠƠBYS: SKP NSANSANDSAGŪ SPà AU0-A-GS. AM0KDƠDM0KDMA̠NVABŠADDSS. BU-B-GS. BԠ B3Ԡ3 BԠ BԠ BKԠ00UPPҠBSMASK. B3KԠ36K-DSMԠMASK. BM0Ԡ-0ASɠ0ϠBANKNV.D. BNKSԠ000ASɠBANKS. BSҠԠBAKSPAŠDD. BYBUƠDƠHDBU+30ADDSSƠNVDBYŠUN. BYNԠNP BYԠNP MNDUBMAGAPŠMMANDHANN. NҠNP N נABS0000B+DAADMAN̠D(90. Z נABS60000B+DAADMAN̠D(3030. DDà DDà D6Dà6 D66Dà66 DDà DM6Dà-6 DM0Dà-0 D3Dà3 D3Dà3 DM0KDà-0000DMA̠NVSNAB. Dà-000 Dà-00 Dà-0 DMDà- DM5Dà-5 DM6Dà-6 DM0Dà-0 DM60Dà-60 DAAU0BMAGAPŠDAAHANN. DàNP DMAU DMA6U6 NԠDà-6 ̱NP ̲NP BUƠDƠHDBU+ADDSSƠNVDŠUN. NԠNP SƠԠ03ADSPAŠŠD. SҠUB3ADSPAŠDD. .HBUƠDƠHDBU BUƠDƠNDDNPUԠBU. BNKԠ0000 SԠDƠSA NNԠNP MNԠNP MأBYDƠMS+3ADDҠƠNVDMAؠN.BYS BUZDƠBU+ .BUƠDƠBUҠNŠUPUԠBU. BUƠDƠBU BUҠBSS0 DBYԠԠ000DDBYŠSAUSBԠҠ3030. BUƠDƠHDBU+ADDSSƠNVDDUN. NԠNP N נԠ0NDMMANDDŠ(90. Z נԠ0HNDMMANDDŠ(3030. ƠԠ3MAGAPŠADMMAND. S0Ԡ00SԠUNԠ0MMAND. SSנUSHGS. ABŠDƠ+BNAY--HؠNVSN. B60Ԡ606663665 D5Ԡ6660 Ԡ000300506 MPNP UPPҠNP DNԠNP ASɠDƠԱ AB̷DƠԲ AB9DƠ3 ASɠϠBDàNVSN ԱU Dà69039005 Dà93909659 Dà0356 Dà99660 Dà93995969999 Dà0000903 Dà566930 Dà3333 AK(BDϠASɠNVSN ԲU ASà535690-9 ASà50:SԠ0-9 ASà5UVYZ-0-9 ASà5+-KMNP30-39 ASà5$'A0-9 ASà5BDGH?.50-59 ASà(<ޠ60-63 9AK(BDéϠASɠNVSN 3U ASà.<(+0- ASà!$50-5 ASà--?60-6 ASà:'"0- ASàABDGH0- ASàKMNPD0-D ASàSUVYZ0- ASà035690- SKP MHUB NԠU0 DMAANDSԠDŠASSGNMNS-MDVҠ(UPUԩ DMA̠U3DMA-M- DMAHUDMA+DMA-M-HGH DHMU3BMDAAHANN HMUDHM+MMMANDHANN BADҠNPBGNAD DYԠ3MADYMMAND ױàABS0000B+DHM UPUԠUNŪ PUԠNP ƠN ASNVԠHAҠUNԠϠDS SBBADҠSAVŠBUҠADDSS SAB MҠDAױàMDMAD ADMAH àDMA̠PPAŠDMAҠS.A. DABADҠADDSSƠBU ADMA̠BGNƠUPU MBNB SàDMA BDMA KM.U AHM AҬAҠ0SԠAD5SԠVS SSA HԠ3 DADYADYD KM.U AHM KM.3U SàHM KM.0U SàDHMàSAԠMDAAHAN SàDMAHàSAԠDMA KM.U SSHM MP- KM.5U àHM KM.6U AHMMSAUS AҬSABԠSԠVSŬ HԠ SƠDMAH MPPUԬ KNŠBSS00 NDU DAHA SANԠNŠMŠNY ASABŠNGUANSN SPà ASSנGԠMAGAPŠDAAHANN̠S.. ANDBSAŠBS0-5. DB0à0àNSUN. ADBA SBM.3 DB3Sà0àNSUNS. ADBA SBM.3 NBBUMPϠMAGAPŠMMANDHANN. SBM. SBM. DB÷SƠ0NSUN(3030NY. ADBA Z SBM.0 DB.נDMAN̠D. ADBA SB NABUMPϠMAGAPŠMMANDHANN. DBñA0NSUNS. ADBA SBM. SBM. DBòSS0NSUN. ADBA SBM.6 DBôTZXTB0NSUN. ADBA SBM. DB5A0àNSUNS. ADBA SBM.5 SBM.9 SBM. DB6Sà0NSUN. ADBA SBD HԠBND--NGUANHA. MPNDPAԠNGUAN. SKP BԠMASKҠBS0-5. 0à0 ñA0 òSS0 3Sà0 ôB0 5A0 6Sà0 ÷SƠ0 øA0 N .נABS0000B Z .נABS60000B YNUYNAZAN DAHA SAN+ SZYSԠYAG DANK SAAMPԠYDV DAYNK SASԠSԠNKAG ASS ANDBGԠYSԠD SZASSƠZ DAYD̠USŠDAU ASS MP+ɠNGUŠY NKԠ6000 YNKԠ000NKHUSϠDV YD̠Ԡ5SԠDŠҠSYSMY KMNUKMNAZAN DAHA SAN+ ASS ANDBSAŠSԠD(ҩ SZASS DAKMSàGԠDAUԠƠZ DB. ADBA SBױàDϠDMAN̠D DB3Sà0 ADBA SBKM.0 NANҠSԠD NB SBKM.3 DB0à0 ADBA SBKM.5 DBñA0 ADBA SBKM. SBKM.6 DBøA0 ADBA SBKM. DBòSS0 ADBA SBKM. HԠB MPSA KMSàԠ3DAUԠSԠD SPà ND ƩZ  24313-80002 A S 0122               H0101  ASMBABì HDHANGŠ---PAHADҠϠPDAA33 HSPGAMPMSHŠNGUNNS .DMNSŠSZ .NGUSPAHADҠҠPPҠSàN360AMAK SNSŠADADҠ(ƠSDNSHGSҩ 3.MVSPAHADADҠNϠPDAA .NGUSMBԠ00(ƠSDNSHGSҩ 5.ANSSN̠ϠNŠMB HAԠ5NDASMBԠNGUANDAAϠBŠND HAԠ6NDASMBԠDNA̠ϠBŠND G MP+ DƠSA G00B SAԠU BDMNŠŠSZ ADBKK DABɠGԠVAU MAPA̠BS SABɠSŠNנVAU PABɠDDDHANG MP+YS MPNDN-ŠSZŠNB MA SABɠSŠGNA̠VAU MPSA+YNԠKMDU NDU ADBN6$ADUSԠϠPDAA SB ASS ANDB SZASSVAUŠND MPMVŠN-AVŠUNŠASNGUD DBS ADBA SB0 DBSS ADBA SBұ DBA ADBA SBҲ MVŠU DAN6$ SAUN DBS DAB SAŬɠMVŠϠPDAA NB SZ SZUN MPMV+3 A ASSנAҠSHGSҠҠPAAMS HԠ5B ASS ANDB SZASSNGUANDSD MPHԷ6 DBS ADBA SBM6ɠNGUŠɯϠNSUNS NB ;SBM SBM5 DBSS ADBA SBPɬ DBA ADBA SBM NA DBA ADBA SBM9 SBM DBA ADBA SBM3 SBM0 DBS ADBA SBM HԷ6U AAҠSHGSҠҠDNA ASS HԠ6B MPBԬɠNKϠMB PɠDƠP M0DƠM.0 MDƠM. M3DƠM.3 MDƠM. M5DƠM.5 M6DƠM.6 MDƠM. MDƠM. M9DƠM.9 BU KKDà096 N6$Dà-6 BԠ SàSà0 SSSS0 AA0 AàA0 AA0 SàSà0 ŠNP UNԠNP SŠDƠPAH BԠDƠMB 0DƠ.0 ұDƠ. ҲDƠ. HDHP360ABNAYPAHADҪ HSPGAMADSBNAYPAHSMHŠHP360AMAKSNS ADAD.HŠNPUԠMAԠSASS BS0-5DAA BS6AG 0PAKDAA SŠADDSS SŠDAA 3HKSUM HŠPGAMASSMBSDAA6BSAԠAMŠANDSSHŠAG BSҠAN.ƠNϠADDSSSNPUԠDAA̠BŠSD AԠHŠASԠADDSSND.HNDAASSDHŠADDSS SNMND.HŠHKSUMSHŠSUMMANƠHŠDAA DS(6BSNPU. HAԠDSMANNG 0ADPSNԠSAUS0HŠNPUNG HKSUM GDAD HNPPANGPAHDKSAVŠHKS$UMZϬADADS DBGS(HKSUMVYԠAD̠N DDVAUŠƠBGSҠҠHKSUMANDAD MPŠVAN.NŻHŠHKSUMSHUDNԠNDN A̠SNŠHSNDASNDƠADƠHSSHUD UҠPUԠANAADDSSNYNHŠADPҠϠH HKSUM. G300B PAHU DҠUB A SASUMAҠHKSUM A SADҠDASSMBYAA .0U SàDҬàADAHA .U SSD MP- .U ADҬ SAMPSAVŠHAҦSAUS ANDKSAŠ6BS DBD BƬ BBSHԠASSMBYD6 ADBAMGŠNPU DAMP SSASSADPSN HԠ0N SBDYS-SAVŠASSYD ANDK300MASKYPŠBS SZASSYPŠSPD MP.0N-KPADNG ADAK00YS SSAADDSS MPؠYS SZADAA MPHKN-NDƠNPUԬGϠHDKSUM SBADDҬɠSŠDAA SZADDҠNҠADDSS SS ؠU SBADDҠSԠNAGŠADDSS ADBSUMAUMUAŠHKSUM SBSUM MP.0- HKU PBSUMGDKSUM SS HԠN HԠBYS MPADDҬɠNK SUMNP DNP ADDҠNP MPNP KԠ K00Dà- K300Ԡ300 HDMBԪ G00B SPà VSN0 SPà MBԠU DԠUDAUԠDNA̠. DAAU0BAPŠDAAHANN. SPà HŠADҠNSHŠDVŠSDAASUNԠ0. SPà PANGAUS: SPà .HŠADҠNDSHŠAPŠBŠADNG. SPà .HŠADҠADSHŠSHGSҠҠHŠDNA PSNNŠƠHŠPGAMϠBŠADD.(N:H ADҠDSNԠDϠAN.D.NAMŠSAH.ԠHNSKPS HAԠPGAMANDADS.DNAS-3AŠSVDAND MUSԠNԠBŠSPD.ƠHŠSHGSҠS0A DAUԠƠSASSUMD.HSDAUԠMAYBŠHANGDBY DNGHŠ"D"SAMNԠAND-ASSMBNGҠBY NNGHŠNGAVŠƠHŠDSDDAUԠNAN "DA".HŠDAUԠMUSԠNԠBŠҠ3. SPà 3.PAYSNUNANDMDUSAŠGND.ƠA PAYҠUSDUNGADNGHŠADҠHAS(HԠ. HŠPAҠMUSԠADHŠSANGADDSSϠYAGAN. SPà .ƠHŠAŠNϠADNGSHŠADҠMSϠA GDHAԠ(HԠ0B.HŠHAԠSNHŠ-A-GSҬ-B- NANSA""ANDAUMPϠHŠSANGADDSSSN AN.UNBGNSBYPUSHNGUN(HŠ""N-B- SNPDASANP. SKP SNS: SPà BAUSŠHŠADҠSNY6DSNGAN SNSAŠPADNSPAN: SPà .ԠSNԠPDAGANSԠS-DSUN.PGAMS HHADNHŠSAMŠAA̠DSY. SPà .HŠPAҠMUSԠPUSHBH-NA̠PS-AND -NNA̠PS-BŠPUSHNG-UN-ϠASSUŠHAԠH NUPԠSYSMHASBNUND. SPà 3.ƠANҠHAԠ(HԠUSHŠPAҠMUS ADHŠSANGADDSSƠHŠADҠ(AND-NABŠԩ BŠPUSHNG-UN-. SPà .HŠPAҠMUSԠNԠNҠ(NҠHŠDAUԠA̠ҩ ANDNA̠HHDSHŠNUMBҠƠMDUSNŠ MS.HŠND--ŠMAKƠŠSNԠDD! AUŠϠBSVŠ7HSSN̠AUSŠHŠADҠ "AD"ŠMHŠAABŠMDUŠŠ(Š. PANSUNPDABŬANDHŠADҠMAYBŠDSYD. SPà 5.SMAYHŠDAUԠDNA̠MUSԠNԠBŠҠ3. HSŠMDUSAŠSVDҠSYSMUSŬANDUNPDAB PAN̠SUԠƠHYAŠADҠBYHŠPA. SPà 6.DUNGNMA̠PANAUMPϠHŠSANGADDSS ƠHŠDSDPGAMSPADNAN.SNŠHS AKSPAŠBŠHŠPGAMSADDHŠPGAMS MUSԠNԠADNϠANҠHŠUMP̠BŠDSYD. SPà .SNŠHŠUMPNANSADԠUMPH SANGADDSSƠA̠PGAMSϠBŠADDBYHSAD MUSԠBŠNHŠBASŠPAG. SKP DAS0נSԠUNԠ0 M.0U AMNDAND M.U SàMNDàNDAP. BSSנGԠDNA̠NUMBҠƠPGAM. MBŬNBSZBSSMAKŠ<0PSԠ--. DBDAԠUSŠDAUԠƠSG0. SBPGSAVŠҠUN. ADDAƠUPU M.3U AMNDADMMAND M.U AMNDAND AҬAҠS AҬSAҠ. MPADDKPYNGUN̠.K. M.5U SàMNDàSAԠAP. M.6U SàDAAàNAZŠDAAHANN. DAPGGԠPGDN̠NҠ-0ƠAD. BSZMŬNBSS-B-_DAADMASK. MPDAAҠDAADSKPN. DBADSAPSԠD SBPҠNAZŠADDSSPN. DBMASK-B-_PSԠàMASK(S.A.NY. DAAҠSZSZAƠDAADANDNԠADNG MPADGNŠHŠD. M.U SàMNDPSԠDҠ(DAADAND MPDNŠADNGAԠҠDAA PSSDAA(|ҠAPŠϠSP. MP-3 M.U ADAAàGԠDMAP SAPҬɠANDSŠ. SBSSƠDSϠBŠSAVD SZPҠBUMPADDSSPN. ŬBSHԠSůNϠSŠMASK. MPPUNҠNԠD. DNŠBNA̠SHԬ--_ƠŠUS ADPSԠD0ƠDAA. SAPҠSAVŠDAAADADDҠƠPS. DBPGGԠPGAMDNA̠UN. DAS.A.GԠPGAMSANGADDSS. SZMŠƠHSASDAAD SZASSҠNNUANPSԠD MPZSԠSKPNA̠PSԠàSPS. ҠMPNA̠PSԠìNUDŠUMP NBSZBSSϠSANGADDSS.ƠHS SASUҠPGSŠHŠUMP. ŠPŠUԠ--AUSDBYNBSZB. ZSԠSSBƠŠHAVN'ԠUNDUҠPGY MPAD-UPDAŠPGADNԠ. M.9U AMNDUҠPGҠPSԠDƠN ANDMASKNŬHKҠPAY SZAҠND--. HԠҠHA.NԠPD SZBSSSԠPSԠàƠNԠPGAM? MPAD-NϬUPDAŠPGNNU. DAHԷ0YSSŠNA̠HA. MPMPAGϠϠ. SKP NSANSANDSAG. SPà AU0-A-GSҠADDSSDNN. ADSADƠS.A. MNDUDAA+MAGAPŠMMANDHANN̠S.. DAԠABS-DԠ-(PGAMDNA̠DAUԩ. HԷ0HԠ0BNA̠HAԠ(GDHAԩ. MASKԠ6PSԠDADMASK. MASKԠ0MAGAPŠSAUSMASK. PGNPPGAMDNA̠UN. ƠԠ3MԠADNŠDMMANDD. S0נԠ50MԠSԠ0NDMMANDD. SSנUSHGADDSSDNN. SPà HŠNGϨ*($DSMUSԠBŠNGUUSANDHҠD MUSԠNԠBŠHANGD. SPà S.A.BSSPGSAԠADDҠ(NPSԠé. PҠBSSMVNGPүDAAàADADD. SPà ND *   24313-80003 A S 0122               H0101  ASMBABì HDHANGŠ---MBԠϠPDAA33 HSPGAMPMSHŠNGUNNS .DMNSŠSZ .NGUSMBԠ(ƠSDNSHGSҩ 3.MVSMBԠϠPDAA G MP+ DƠSA G00B SAԠU BDMNŠŠSZ ADBKK DABɠGԠVAU MAPA̠BS SABɠSŠNנVAU PABɠDDDHANG MP+YS MPNDN-ŠSZŠNB MA SABɠSŠGNA̠VAU MPSA+YNԠKMDU NDU ADBN6$ADUSԠϠPDAA SB ASS ANDB SZAVAUŠND MPNGYS-NGUŠMB MVŠU DAN6$ SAUN DBS DAB SAŬɠMVŠϠPDAA NB SZ SZUN MPMV+3 HԠB MP-HASA NGU DBS ADBA SBM6ɠNGUŠɯϠNSUNS NB SBM SBM5 DBSS ADBA SBPɬ DBA ADBA SBM NA DBA ADBA SBM9 SBM DBA ADBA SBM3 SBM0 DBS ADBA SBM DA ADAK6MDƠS.A. SAADS.ɠSŠNNGUDMB MPMV K6Ԡ6 PɠDƠP M0DƠM.0 MDƠM. M3DƠM.3 MDƠM. M5DƠM.5 M6DƠM.6 MDƠM. MDƠM. M9DƠM.9 BU KKDà096 N6$Dà-6 BԠ SàuSà0 SSSS0 AA0 AàA0 AA0 SàSà0 ŠNP UNԠNP SŠDƠMB BԠDƠMB ADS.DƠADSA HDMBԪ G00B SPà VSN0 SPà MBԠU DԠUDAUԠDNA̠. DAAU0BAPŠDAAHANN. SPà HŠADҠNSHŠDVŠSDASUNԠ0. SPà PANGAUS: SPà .HŠADҠNDSHŠAPŠBŠADNG. SPà .HŠADҠADSHŠSHGSҠҠHŠDNA PSNNŠƠHŠPGAMϠBŠADD.(N:H ADҠDSNԠDϠAN.D.NAMŠSAH.ԠHNSKPS HAԠPGAMANDADS.DNAS-3AŠSVDAND MUSԠNԠBŠSPD.ƠHŠSHGSҠS0A DAUԠƠSASSUMD.HSDAUԠMAYBŠHANGDBY DNGHŠ"D"SAMNԠAND-ASSMBNGҠBY NNGHŠNGAVŠƠHŠDSDDAUԠNAN "DA".HŠDAUԠMUSԠNԠBŠҠ3. SPà 3.PAYSNUNANDMDUSAŠGND.ƠA PAYҠUSDUNGADNGHŠADҠHAS(HԠ. HŠPAҠMUSԠADHŠSANGADDSSϠYAGAN. SPà .ƠHŠAŠNϠADNGSHŠADҠMSϠA GDHAԠ(HԠ0B.HŠHAԠSNHŠ-A-GSҬ-B- NANSA""ANDAUMPϠHŠSANGADDSSSN AN.UNBGNSBYPUSHNGUN(HŠ""N-B- SNPDASANP. SKP SNS: SPà BAUSŠHŠADҠSNY6DSNGAN SNSAŠPADNSPAN: SPà .ԠSNԠPDAGANSԠS-DSUN.PGAMS HHADNHŠSAMŠAA̠DSY. SPà .HŠPAҠMUSԠPUSHBH-NA̠PS-AND -NNA̠PS-BŠPUSHNG-UN-ϠASSUŠHAԠH NUPԠSYSMHASB NUND. SPà 3.ƠANҠHAԠ(HԠUSHŠPAҠMUS ADHŠSANGADDSSƠHŠADҠ(AND-NABŠԩ BŠPUSHNG-UN-. SPà .HŠPAҠMUSԠNԠNҠ(NҠHŠDAUԠA̠ҩ ANDNA̠HHDSHŠNUMBҠƠMDUSNŠ MS.HŠND--ŠMAKƠŠSNԠDD! AUŠϠBSVŠHSSN̠AUSŠHŠADҠ "AD"ŠMHŠAABŠMDUŠŠ(Š. PANSUNPDABŬANDHŠADҠMAYBŠDSYD. SPà 5.SMAYHŠDAUԠDNA̠MUSԠNԠBŠҠ3. HSŠMDUSAŠSVDҠSYSMUSŬANDUNPDAB PAN̠SUԠƠHYAŠADҠBYHŠPA. SPà 6.DUNGNMA̠PANAUMPϠHŠSANGADDSS ƠHŠDSDPGAMSPADNAN.SNŠHS AKSPAŠBŠHŠPGAMSADDHŠPGAMS MUSԠNԠADNϠANҠHŠUMP̠BŠDSYD. SPà .SNŠHŠUMPNANSADԠUMPH SANGADDSSƠA̠PGAMSϠBŠADDBYHSAD MUSԠBŠNHŠBASŠPAG. SKP DAS0נSԠUNԠ0 M.0U AMNDAND M.U SàMNDàNDAP. BSSנGԠDNA̠NUMBҠƠPGAM. MBŬNBSZBSSMAKŠ<0PSԠ--. DBDAԠUSŠDAUԠƠSG0. SBPGSAVŠҠUN. ADDAƠUPU M.3U AMNDADMMAND M.U AMNDAND AҬAҠS AҬSAҠ. MPADDKPYNGUN̠.K. M.5U SàMNDàSAԠAP. M.6U SàDAAàNAZŠDAAHANN. DAPGGԠPGDN̠NҠ-0ƠAD. BSZMŬNBSS-B-_DAADMASK. MPDAA;ҠDAADSKPN. DBADSAPSԠD SBPҠNAZŠADDSSPN. DBMASK-B-_PSԠàMASK(S.A.NY. DAAҠSZSZAƠDAADANDNԠADNG MPADGNŠHŠD. M.U SàMNDPSԠDҠ(DAADAND MPDNŠADNGAԠҠDAA PSSDAAҠAPŠϠSP. MP-3 M.U ADAAàGԠDMAP SAPҬɠANDSŠ. SBSSƠDSϠBŠSAVD SZPҠBUMPADDSSPN. ŬBSHԠSůNϠSŠMASK. MPPUNҠNԠD. DNŠBNA̠SHԬ--_ƠŠUS ADPSԠD0ƠDAA. SAPҠSAVŠDAAADADDҠƠPS. DBPGGԠPGAMDNA̠UN. DAS.A.GԠPGAMSANGADDSS. SZMŠƠHSASDAAD SZASSҠNNUANPSԠD MPZSԠSKPNA̠PSԠàSPS. ҠMPNA̠PSԠìNUDŠUMP NBSZBSSϠSANGADDSS.ƠHS SASUҠPGSŠHŠUMP. ŠPŠUԠ--AUSDBYNBSZB. ZSԠSSBƠŠHAVN'ԠUNDUҠPGY MPAD-UPDAŠPGADNԠ. M.9U AMNDUҠPGҠPSԠDƠN ANDMASKNŬHKҠPAY SZAҠND--. HԠҠHA.NԠPD SZBSSSԠPSԠàƠNԠPGAM? MPAD-NϬUPDAŠPGNNU. DAHԷ0YSSŠNA̠HA. MPMPAGϠϠ. SKP NSANSANDSAG. SPà AU0-A-GSҠADDSSDNN. ADSADƠS.A. MNDUDAA+MAGAPŠMMANDHANN̠S.. DAԠABS-Dԟ -(PGAMDNA̠DAUԩ. HԷ0HԠ0BNA̠HAԠ(GDHAԩ. MASKԠ6PSԠDADMASK. MASKԠ0MAGAPŠSAUSMASK. PGNPPGAMDNA̠UN. ƠԠ3MԠADNŠDMMANDD. S0נԠ50MԠSԠ0NDMMANDD. SSנUSHGADDSSDNN. SPà HŠNGϠDSMUSԠBŠNGUUSANDHҠD MUSԠNԠBŠHANGD. SPà S.A.BSSPGSAԠADDҠ(NPSԠé. PҠBSSMVNGPүDAAàADADD. SPà ND V    24313-80004 A S 0122               H0101  ASMBAB̬ HDMAPϠKM09033 KMMAP HSPGAMPVDSHŠAPABYƠUPUNGHŠSYSM ADMAPSANDMMYABSϠHŠKM090ҠHS SYSMSHUԠY.HŠPGAMPASAYUPU UNŠNHŠMAPPGAM.ANYHANGSϠMAP̠U HANGSϠKMMAP. NGUAN-HŠPGAMAPSSHGSҠNPUS ϠNGUŠHŠKMDV.ADDSS0000SHŠNGUAN NYPN.HԠNDASSUSSU̠NGUAN. NGUANSHUDBŠPMDAҠNA̠ADNY. PAN- .ADKMMAPUSNGMB .NGUŠKMMAPƠNSSAY 3.USŠMBԠϠADNMA̠ŠD .HԠ0 5.PSSUNANDSԠBS0ANDNHŠSHGS. N-HŠPGAMASHŠSHGSҠUPNSA UPSϠHŠBSMUSԠBŠSԠDUNGAPŠAD. 6.HԠ0 .PSSUN .HԠ0 9.DNNSƠMGS 0.AԠANSPDBYMGSҬPAHHŠNG MSB+ M+DƠKMMAP+(000 .SԠPM .PSSUN 3.PSSSAԠAԠKM .SYSMADNG̠PDASNMA̬ҠAHHԠ0PSS UN 5.PҠϠNANGMANGADVANŠMϠSA ADMAPS. G0000B MPKMN KMAPU NP DBKMAPGԠ.ADDSS ADBYϠSԠϠYUN SBA ADAND SANSԠUPϠUNNDԠHUԪ#Y A SAHAҠSԠHAҠUN NB SBA NA ANDPND ҠSBɠMSB+ SAB DANKDԠDƠKY NB SABɠSŠNY+ DBKMAP ADBMAP SBKMAPSԠUNMMAP DA.N SANŠSԠPN A SAҠSԠԯGHԠAG SBSAAMŠADVAN MPKMAP KYU NP PAƠAAGŠUNNŠD MPKYYS ANDK3ҠBSNY SZҠԠҠGH MPKYGH AƬAƠ SANŬɠSAVŠ MPNɠUN KYU ҠNŬɠMGŠHԠHA SANŬɠSŠNNŠBU SZNŠBUMPUN SZHAҠBUMPHAAҠUN A SAҠSԠԠGHԠNDAүɬ9 MPN KYU DAHA ASNVԠϠAUA̠HAҠUN DB.N SBNŠSԠPN SBSAUPUԠN A SAHAҠSԠHAҠUN A SAҠSԠԯGHԠNDA MPN ҠDà-ԠGHԠNDA NNP PNDԠ SBɠԠ6000NSANԠҠSB0 NKDƠKY NDҠԠ00000 ƠMAPHANGSHŠNԠϠVAABŠMUSԠHANGŪ YϠԠ3SԠϠYUNŠNMAP MAPԠ6ADDSSNMAPHŠYUPUԠBGNS ƠԠ6 HAҠNP ANSAŠUN(GHԠBYũ ANANSDŠϠBŠANSAD BNANSADDSSƠANSANAB ABŠNANSHAASPҠD ԠBYŠҠVNGHԠҠDD % AҠU NP ANDK3SԠBSNY SBAԱSAVŠABŠADDSS BNPNB SASSSԠDDVN DBAԲVN-SԠUPSH SBA3 ASA ADAAԱMPUŠADDSS DAA A3NPAƬA(VNNP(DD ANDK3UNBS MPAҬ AԱNP AԲAƬA SKP SAU NP SASA SBSB SSAPƠM MPSԱYS DASP+N DBSP SBPԬɠUPUԠSPA+PNԠS DASA SZASSSKP MPSԲYS ASNVԠϠDUN MANAN DBSB SBP SAP DAKMA SAYPԠSԠSGPN S3U DAPԬ AƬA SBSؠNVԠԠBYŠϠBD AƬA SAS DAPԬ SBSؠNVԠGHԠϠBD ADAS SAYPԬɠSŠNUPUԠAA SZYPԠNҠPN SZPԠNҠPN SZPDN MPS3N S5U DASA DBKMA SBPԬɠUPUԠN SԲU SZNԠNDƠPAG MPSAɠN SԱUYS-PƠM DAADV+ DBADV SBPԬɠPUԠAMŠADVAN DAM60 SANԠSԠNŠUN MPSA SؠU NP ANDKUSŠBS ADAN0N-0 SSAVAD AN-DAU AS(N NAMAKŠԠDD DBAS SBAҠANSAŠASɠBD MPSج KMADƠKN YPԠNP PԠDƠPU SANP SBNP SàNP NԠDà-60 M60Dà-60 SPŠDƠ+ Dà0 Ԡ600000 P3 Ԡ00000 Ԡ00B ADVDƠ+ Dà0 Ԡ60300ñ P3 Ԡ00000 Ԡ00B NSANSANDSAGŪ SPà AU0-A-GS. AM0KDƠDM0KDMA̠NVABŠADDSS. BU-B-GS. BԠ B3Ԡ3 BԠ BԠ BKԠ00UPPҠBSMASK. B3KԠ36K-DSMԠMASK. BM0Ԡ-0ASɠ0ϠBANKNV.D. BNKSԠ000ASɠBANKS. N0Dà-3 KԠ K3Ԡ3 PԠNP PNP DDà DDà D6Dà6 D66Dà66 DDà DM6Dà-6 D3Dà3 D3Dà3 DM0KDà-0000DMA̠NVSNAB. Dà-000 Dà-00 Dà-0 DMDà- DM5Dà-5 DM6Dà-6 DM0Dà-0 DM60Dà-60 DAAU0BMAGAPŠDAAHANN. DàNP DMAU DMA6U6 SԠDƠSA NNԠNP SSנUSHGS. MPNP UPPҠNP DNԠNP ASɠϠBDàNVSN ASɠDƠԱ ԱU Dà69039005 Dà93909659 Dà0356 Dà99660 Dà93995969999 Dà0000903 Dà566930 Dà3333 SKP MHUB NԠU0 DMAANDSԠDŠASSGNMNS-MDVҠ(UPUԩ DMA̠U3DMA-M-C DMAHUDMA+DMA-M-HGH DHMU3BMDAAHANN HMUDHM+MMMANDHANN BADҠNPBGNAD DYԠ3MADYMMAND ױàABS0000B+DHM UPUԠUNŪ PUԠNP ƠN ASNVԠHAҠUNԠϠDS SBBADҠSAVŠBUҠADDSS SAB MҠDAױàMDMAD ADMAH àDMA̠PPAŠDMAҠS.A. DABADҠADDSSƠBU ADMA̠BGNƠUPU MBNB SàDMA BDMA KM.U AHM AҬAҠ0SԠAD5SԠVS SSA HԠ3 DADYADYD KM.U AHM KM.3U SàHM KM.0U SàDHMàSAԠMDAAHAN SàDMAHàSAԠDMA KM.U SSHM MP- KM.5U àHM KM.6U AHMMSAUS AҬSABԠSԠVSŬ HԠ SƠDMAH MPPUԬ KNŠBSS00 .NŠDƠ+ NŠNP BSS66 BԠMASKҠBS0-5. 0à0 ñA0 òSS0 3Sà0 ôB0 5A0 6Sà0 ÷SƠ0 øA0 .נABS0000B KMNUKMNAZAN ASS ANDBSAŠSԠD(ҩ SZASS DAKMSàGԠDAUԠƠZ DB. ADBA SBױàDϠDMAN̠D DB3Sà0 ADBA SBKM.0 NANҠSԠD NB SBKM.3 DB0à0 ADBA SBKM.5 DBñA0 ADBA SBKM. SBKM.6 DBøA0 ADBA SBKM. DBòSS0 ADBA SBKM. HԠB KMSàԠ3l $"DAUԠSԠD SPà ND $   24313-80005 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A   ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24313-80006 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A H  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24313-80007 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMM6K33 G350B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A ț  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ36 ND Z   24313-80008 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMMK33 G550B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ( HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A !  ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ56 ND \   24313-80009 A S 0122               H0101  ASMBA̬B HDŠDUMPϠMM3K33 G50B ŠDUMPϠMM ADDҽSANGADDSS NDASԠADDSS+ KMDU3BKMDAAHANN KMàUKMD+KMN SAԠU àKMD DADY AKMàNDAŠADY DMPDAN6$ SAPAGŠSԠPAGŠUN(60NSPҩ DAADVAMŠADVAN SBHD àKMD MPDMP DMPDASPŠNŠADVAN SBHD àKMD DMPU DAN0$ SANŠDSN DBADD SBDUPUԠADDSS DABNKS SBUԠPUSABANKS àKMD DMP3DAADD PANDDN MPؠYS DBADDҬ SZADD SBDUPUԠNNS SZNŠNDƠHŠN MPDMP3N SZPAGŠYS-NDƠHŠPAG MPDMPN MPDMPYS-SAԠANH ؠDAADV SBHDҠAMŠADVANŠҠASԠPAG àKMD HԠBYS UԠUUPUԠHAASϠKM NP SàKMì SàKMD SSKMD MP- AKMD MPUԬ HDҠNP SBUԠUPUԠϠKM DAN03$ SAP DABNKSUPUԠ SBU SZP MP- DA SBUԠUPUԠUŠMD MPHDҬ DU NP DAN03$ SAPSԠUPҠ6HAAS A   ̠SAŠMSD SS D̠3 ADAƠNVԠϠBD AƬAS ̠3GԠNԠA̠DB ADAƠNVԠϠBD SBUԠUPUԠϠKM A SZPDN MPDN DABNKSYS SBUԠUPUԠBANKS àKMD MPD DYԠ3 N03$Dà-3 N06$Dà-6 N0$Dà- N6$Dà-6 BNKSԠ00000 ADVԠ60300ñ SPŠԠ600000 àԠ00B ƠԠ360000 NŠNP PAGŠNP PNP ADDҠNP NDԠ6 ND   24315-18001 1624 S 0122 MEMORY REFERENCE DG              H0101 :ASMB,A,B,L,C HED 2100 SERIES COMPUTER MEMORY REFERENCE TEST ORG 126B OCT 101100 DIAGNOSTIC SERIAL NUMBER * ******************************************************************* * * MEMORY REFERENCE INSTRUCTION GROUP DIAGNOSTIC * * RUNS IN 4K MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101100 * * 1. LOAD MRG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS IN THE SWITCH REGISTER: * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS. * SET TO LOOP ON DIAGNOSTIC * 13-15 RESERVED * * 4. PRESET(INT. & EXT. IF PRESENT) AND RUN. * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 102000 ERROR HALT * 102077 END OF PASS * 106075 UNEXPECTED HALT(LOCATIONS 3472 THRU 6477) * 106077 UNEXPECTED HALT(LOCATIONS 2 THRU 77) * ******************************************************************* SKP * THE FOLLOWING SOURCE LINES ARE SUPPRESSED * UNL SUPPRESS SOURCE LISTING * ORG 2 * REP 62 106077 HALTS IN CORE * OCT 106077 LOC 2 THRU 77 * ORG 3472B * REP 3005B * OCT 106075 LOC 3472 THRU 6477 UNL ORG 2 REP 62 OCT 106077 ORG 3472B REP 3005B OCT 106075 LST RESUME SOURCE LISTING SPC 3 * THE FOLLOWING IS A SIMPLE LOOP WHICH CAN BE USED TO CHECK THE * SWITCH REGISTER,HLT INSTRUCTION & JMP INSTRUCTION PRIOR TO * EXECUTION OF THE MRG DIAGNOSTIC. * THIS PROGRAM MUST BE MANUALLY LOADED VIA THE FRONT PANEL. * * 00010 ORG 10B * 00010 102501 LPO LIA 1 * 00011 102000 HLT 0 * 00012 102601 OTA 1 * 00013 024010 JMP LPO SPC 3 ORG 100B  JMP 130B HED BASIC TESTS ORG 130B * * CHECK SIMPLE ALTER-SKIP INSTRUCTIONS * START RSS HLT 0 RSS FAILED * CLA SZA HLT 0 CLA/SZA FAILED * CLA SZA,RSS RSS HLT 0 CLA/SZA,RSS FAILED * CLB SZB HLT 0 CLB/SZB FAILED * CLB SZB,RSS RSS HLT 0 CLB/SZB,RSS FAILED * * CHECK CPA INSTRUCTION * CLA CPA .0 RSS HLT 0 CLA/CPA .0 FAILED * CLA CPA M1 HLT 0 CLA/CPA M1 FAILED * CCA CPA M1 RSS HLT 0 CCA/CPA M1 FAILED * CLA,INA SZA,RSS HLT 0 CLA,INA/SZA,RSS FAILED * CLA,INA CPA .1 RSS HLT 0 CLA,INA/CPA .1 FAILED * * CHECK LDA & CPA INSTRUCTIONS * LDA .0 CPA .0 RSS HLT 0 LDA .0/CPA .0 FAILED * LDA M1 CPA M1 RSS HLT 0 LDA M1/CPA M1 FAILED * LDA EVEN1 CPA EVEN1 RSS HLT 0 LDA EVEN1/CPA EVEN1 FAILED * LDA ODD1 CPA ODD1 RSS HLT 0 LDA ODD1 /CPA ODD1 FAILED * CLA CPA M1 HLT 0 CLA/CPA M1 FAILED * LDA EVEN1 CPA ODD1 HLT 0 LDA EVEN1/CPA ODD1 FAILED * * * CHECK STA INSTRUCTION * CLA STA T1 CPA T1 RSS HLT 0 CLA/STA T1/CPA T1 FAILED * CCA STA T1 CPA T1 RSS HLT 0 CLA/STA T1/CPA T1 FAILED * LDA EVEN1 STA T1 CPA T1 RSS HLT 0 LDA EVEN1/STA T1/CPA T1 FAILED * LDA ODD1 STA T1 CPA T1 RSS HLT 0 LDA ODD1/STA T1/CPA T1 FAILED * * * CHECK AND INSTRUCTION * CCA AND M1 CPA M1 RSS HLT 0 CCA/AND M1/CPA M1 FAILED * 1 CLA AND M1 SZA HLT 0 CLA/AND M1/SZA FAILED * CLA AND .0 SZA HLT 0 CLA/AND .0/SZA FAILED * CCA AND .0 SZA HLT 0 CCA/AND .0/SZA FAILED * * CHECK IOR INSTRUCTION * CLA IOR .0 SZA HLT 0 CLA/IOR .0/SZA FAILED * CLA IOR M1 CPA M1 RSS HLT 0 CLA/IOR M1/CPA M1 FAILED * CCA IOR M1 CPA M1 RSS HLT 0 CCA/IOR M1/CPA M1 FAILED * CCA IOR .0 CPA M1 RSS HLT 0 CCA/IOR .0/CPA M1 FAILED * * CHECK XOR INSTRUCTION * CLA XOR .0 SZA HLT 0 CLA/XOR .0/SZA FAILED * CCA XOR .0 CPA M1 RSS HLT 0 CCA/XOR .0/CPA M1 FAILED * CLA XOR M1 CPA M1 RSS HLT 0 CLA/XOR M1/CPA M1 FAILED * CCA XOR M1 SZA HLT 0 CCA/XOR M1/SZA FAILED * * CHECK CPB INSTRUCTION * CLB CPB .0 RSS HLT 0 CLB/CPB .0 FAILED * CLB CPB M1 HLT 0 CLB/CPB M1 FAILED * CCB CPB M1 RSS HLT 0 CCB/CPB M1 FAILED * CLB,INB SZB,RSS HLT 0 CLB,INB/SZB,RSS FAILED * CLB,INB CPB .1 RSS HLT 0 CLB,INB/CPB .1 FAILED * * CHECK LDB & CPB INSTRUCTIONS * LDB .0 CPB .0 RSS HLT 0 LDB .0/CPB .0 FAILED * LDB M1 CPB M1 RSS HLT 0 LDB M1/CPB M1 FAILED * LDB EVEN1 CPB EVEN1 RSS HLT 0 LDB EVEN1/CPB EVEN1 FAILED * LDB ODD1 CPB ODD1 RSS HLT 0 LDB ODD1/CPB ODD1 FAILED * CLB CPB M1 HLT 0 CLB/CPB M1 FAILED * LDB EVEN1 CPB ODD1 HLT 0 JSB SR1A,I .P3 HLT 0 JSB,I FAILED .P4 LDA SR1A,I CPA .ADR3 .ADR3 = DEF .P3 RSS HLT 0 JSB,I FAILED - BAD RETURN ADDRESS * NOP ***** MODULE LOOP SPC 3 JMP PG1 GOTO END OF PAGE 0 HLT 0 JMP FAILED SPC 3 M1 DEC -1 M2 DEC -2 .0 DEC 0 .1 DEC 1 EVEN1 OCT 52525 ALL EVEN BITS 1'S ODD1 OCT 125252 ALL ODD BITS 1'S K1 OCT 52524 PMAX OCT 77777 BIT12 OCT 10000 BIT15 OCT 100000 HLT0 HLT 0 H7077 OCT 107077 T1 NOP TEMPORARY STORAGE ADDR1 DEF X1 ADDR3 DEF P3 ADDR4 DEF P4 JR1 JMP RTN1 JR2 JMP RTN2 JR3 JMP RTN3 JR4 JMP RTN4 A EQU 0 A REGISTER B EQU 1 R B REGISTER * ADDR2 DEF RA3-1 ADDRY DEF RA4-1 ADDR7 DEF Z1 IA1 DEF IR1 IA2 DEF *+1,I DEF IR2 IA3 DEF RA3 IA4 DEF *+1,I DEF RA4 IA5 DEF M1 IA6 DEF IA5,I IA7 DEF EVEN1 IA8 DEF IA7,I IA9 DEF T1 IA10 DEF IA9,I K7 DEC 14397 * IR11 DEF RA11 IR12 DEF RA12 IR13 DEF X13 IR14 DEF X14 ADR13 DEF P13 ADR14 DEF P14 * .P1 DEF TBL.1 .P2 DEF TBL.2 K10 OCT 015366 K11 OCT 051463 K12 OCT 162411 T2A DEF T2 JMP1A DEF JMP1 SR1A DEF SR1 .ADR3 DEF .P3 P99A DEF P99 FCA DEF 2 FIRST CORE ADDRESS LCA DEF 3677B LAST CORE ADDRESS (2K) * JSB7 NOP SUBROUTINE FROM PAGE 1 JMP *+2,I RETURN TO PAGE 1 HLT 0 JMP,I FAILED DEF P9 JMP5 JMP *+2,I GO BACK TO PAGE 1 HLT 0 JMP DEF P6 SPC 3 ORG 1777B PG1 NOP HED INDIRECT ADDRESSING TO BASE PAGE LDA K11A,I K11 = DEF K11, K11 = 051463 CPA TBL.2 TBL.2 = 051463 RSS HLT 0 LDA,I FAILED * LDB K10A,I K10A, = DEF K10, K10 = 015366 CPB TBL.1 TBL.1 = 015366 RSS HLT 0 LDB,I FAILED * LDA TBL.1 TBL.1 = 015366 CPA K10A,I K10A = DEF K10, K10 = 015366 RSS HLT 0 CPA,I FAILED * LDB TBL.2 TBL.2 = 051463 CPB K11A,I K11A = DEF K11, K11 = 051463 RSS HLT 0 CPB,I FAILED * LDA EVEN1 STA T1A,I T1A = DEF T1 CPA T1 RSS HLT 0 STA,I/CPA FAILED * LDB ODD1 STB T1A,I T1A = DEF T1 CPB T1 RSS HLT 0 STB,I/CPB FAILED * CCA STA T1 ISZ T1A,I T1A = DEF T1 HLT 0 ISZ,I FAILED - DID NOT SKIP LDA T1 SZA HLT 0 ISZ,I FAILED - T1 NOT 0 * CLA IOR K11A,I K11A = DEF K11, K11 = 051463 CPA TBL.2 TBL.2 = 051463 RSS HLT 0 q IOR,I FAILED * CCA XOR K12A,I K12A = DEF K12, K12 = 162411 CPA TBL.1 RSS HLT 0 XOR,I FAILED * CCA AND K10A,I K10A = DEF K10, K10 = 015366 CPA TBL.1 TBL.1 = 015366 RSS HLT 0 AND,I FAILED * JMP JMP5A,I JMP5A = DEF JMP5 HLT 0 JMP,I FAILED * P6 CLA STA JSB7 JSB7 _ NOP JSB JSB7A,I JSB7A = DEF JSB7 P7 HLT 0 JSB,I FAILED P9 LDA JSB7 CPA P7A P7A = DEF P7 RSS HLT 0 JSB,I FAILED - BAD RETURN ADDRESS * NOP ***** MODULE LOOP HED REGISTER INTERACTION TESTS * THIS SECTION CHECKS THAT ALL OTHER REGISTERS REMAIN UNCHANGED * WHEN A MEMORY REFERENCE INSTRUCTION IS EXECUTED. * CLB CLE CLO LDA M1 M1 = 177777 SZB HLT 0 LDA - B CHANGED SEZ HLT 0 LDA - E CHANGED SOC HLT 0 LDA - OV CHANGED CPA M1 RSS HLT 0 CPA FAILED SZB HLT 0 CPA - B CHANGED SEZ HLT 0 CPA - E CHANGED SOC HLT 0 CPA - OV CHANGED * CLA CLE CLO LDB EVEN1 EVEN1 = 052525 SZA HLT 0 LDB - A CHANGED SEZ HLT 0 LDB - E CHANGED SOC HLT 0 LDB - OV CHANGED CPB EVEN1 RSS HLT 0 CPB FAILED SZA HLT 0 CPB - A CHANGED SEZ HLT 0 CPB - E CHANGED SOC HLT 0 CPB - OV CHANGED * LDA ODD1 ODD1 = 125252 CCB CCE STO STA T1 SEZ,RSS HLT 0 STA - E CHANGED SOS HLT 0 STA - OV CHANGED CPB M1 RSS HLT 0 STA - B CHANGED CPA T1 RSS HLT 0 STA FAILED * LDB EVEN1 EVEN1 = 052525 CLeA CLE CLO STB T1 SZA HLT 0 STB - CHANGED SEZ HLT 0 STB - E CHANGED SOC HLT 0 STB - OV CHANGED CPB T1 RSS HLT 0 STB FAILED * CLO CLE CLA CLB JMP *+2 HLT 0 JMP FAILED SZA HLT 0 JMP - A CHANGED SZB HLT 0 JMP - B CHANGED SEZ HLT 0 JMP - E CHANGED SOC HLT 0 JMP - OV CHANGED * CLA STA X99 X99 _ NOP CCA CCB STO CCE JSB *+2 P99 HLT 0 JSB FAILED X99 NOP SEZ,RSS HLT 0 JSB - E CHANGED SOS HLT 0 JSB - OV CHANGED CPA M1 RSS HLT 0 JSB - A CHANGED CPB M1 RSS HLT 0 JSB - B CHANGED LDA X99 CPA P99A P99A = DEF P99 RSS HLT 0 JSB - BAD RETURN ADDRESS * CLA CLB ADA M1 < E, OV, A CHECKED ELSEWHERE> SZB HLT 0 ADA - B CHANGED * CLA CLB ADB ODD1 < E, OV, B CHECKED ELSEWHERE> SZA HLT 0 ADB - A CHANGED * CLA CLB CLO CLE IOR EVEN1 EVEN1 = 052525 XOR ODD1 ODD1 = 125252 AND M1 M1 = 177777 SZB HLT 0 IOR OR XOR OR AND - B CHANGED SOC HLT 0 IOR OR XOR OR AND - OV CHANGED SEZ HLT 0 IOR OR XOR OR AND - E CHANGED CPA M1 RSS HLT 0 IOR/XOR/AND - RESULT NOT 177777 * CCA STA T1 T1 _ 177777 CLA CLB CLE CLO ISZ T1 HLT 0 ISZ FAILED - DID NOT SKIP SZA HLT 0 ISZ - A CHANGED SZB HLT 0 ISZ - B CHANGED SEZ HLT 0 ISZ - E CHANGEaD SOC HLT 0 ISZ - OV CHANGED * NOP ***** MODULE LOOP HED INDIRECT ADDRESSING VIA A & B REGISTERS LDA IA5 IA5 = DEF M1, M1 = 177777 LDA A,I CPA M1 RSS HLT 0 LDA A,I FAILED * LDB IA7 IA7 = DEF EVEN1, EVEN1 = 052525 LDA B,I CPA EVEN1 RSS HLT 0 LDA B,I FAILED * LDB IA5 IA5 = DEF M1, M1 = 177777 LDB B,I CPB M1 RSS HLT 0 LDB B,I FAILED * LDA IA7 IA7 = DEF EVEN1, EVEN1 = 052525 LDB A,I CPB EVEN1 RSS HLT 0 LDB A,I FAILED * CLB STB T1 T1 _ 0 LDA IA9 IA9 = DEF T1 STA A,I LDB T1 CPB T1 RSS HLT 0 STA A,I FAILED * CLA STA T1 T1 _ 0 LDB IA9 IA9 = DEF T1 STB B,I LDA T1 CPA T1 RSS HLT 0 STB B,I FAILED * CLA STA T1 T1 _ 0 CCA A _ 177777 LDB IA9 IA9 = DEF T1 STA B,I LDB T1 CPB M1 RSS HLT 0 STA B,I FAILED * CLB STB T1 T1 _ 0 CCB B _ 177777 LDA IA9 IA9 = DEF T1 STB A,I LDA T1 CPA M1 RSS HLT 0 STB A,I FAILED * LDA IA9 IA9 = DEF T1 STA T1 CPA A,I RSS HLT 0 CPA A,I FAILED LDB IA9 IA9 = DEF T1 STB T1 CPB B,I RSS HLT 0 CPB B,I FAILED * LDA IA9 IA9 = DEF T1 STA T1 LDB IA9 CPA B,I RSS HLT 0 CPA B,I FAILED CPB A,I RSS HLT 0 CPB A,I FAILED * LDA IA7 IA7 = DEF EVEN1 ADA EVEN1 EVEN1 = 052525 STA T1 LDA IA7 ADA A,I CPA T1 RSS HLT 0 ADA A,I FAILED * LDB IA5 IA5 = DEF M1 ADB M1 M1 = 177777 STB T1 LDB IA5 ADB B,I CPB T1 RSS HLT 0 ADB B,I FAILED * CLA LDB IA5 IA5 = DEF M1, M1 = 177777 ADA B,I CPA M1 RSS HLT 0 ADA B,I FAILED * CLB LDA IA7 IA7 = DEF EVEN1, EVEN1 = 052525 ADB A,I CPB EVEN1 RSS HLT 0 ADB A,I FAILED * LDA IA5 IA5 = DEF M1, M1 = 177777 IOR A,I CPA M1 RSS HLT 0 IOR A,I FAILED * CLA LDB IA7 IA7 = DEF EVEN1, EVEN1 = 052525 IOR B,I CPA EVEN1 RSS HLT 0 IOR B,I FAILED * LDA IA5 IA5 = DEF M1, M1 = 177777 AND A,I CPA IA5 RSS HLT 0 AND A,I FAILED * LDA EVEN1 EVEN1 = 052525 LDB IA5 IA5 = DEF M1, M1 = 177777 AND B,I CPA EVEN1 RSS HLT 0 AND B,I FAILED * * CHECK CMB INSTRUCTION BEFORE TESTING XOR A,I * LDB EVEN1 B _ 052525 CMB CPB ODD1 RSS HLT 0 CMB FAILED CMB CPB EVEN1 RSS HLT 0 CMB FAILED * LDB IA5 IA5 = DEF M1, M1 = 177777 CMB LDA IA5 XOR A,I CPA B RSS HLT 0 XOR A,I FAILED * LDA EVEN1 EVEN1 = 052525 LDB IA5 IA5 = DEF M1, M1 = 177777 XOR B,I CPA ODD1 RSS HLT 0 XOR B,I FAILED * LDA IR11 IR11 = DEF RA11 JMP A,I HLT 0 JMP A,I FAILED * RA11 LDB IR12 IR12 = DEF RA12 JMP B,I HLT 0 JMP B,I FAILED * RA12 CLA STA X13 X13 _ NOP *($$*   24315-18004 1624 S 0122 MEMORY REFERENCE DG              H0101 = LDA IR13 IR13 = DEF X13 JSB A,I P13 HLT 0 JSB A,I FAILED X13 NOP CPA IR13 RSS HLT 0 JSB A,I FAILED - A REG. CHANGED LDB ADR13 ADR13 = DEF P13 CPB X13 RSS HLT 0 JSB A,I FAILED - BAD RETURN ADDR * CLB STB X14 X14 _ NOP LDB IR14 IR14 = DEF X14 JSB B,I P14 HLT 0 JSB B,I FAILED X14 NOP CPB IR14 RSS HLT 0 JSB B,I FAILED - B REG. CHANGED LDB ADR14 ADR14 = DEF P14 CPB X14 RSS HLT 0 JSB B,I FAILED - BAD RETURN ADDR * LDA K1 STA T1 T1 = K1 = 052524 LDA IA9 IA9 = DEF T1 ISZ A,I RSS HLT 0 ISZ A,I FAILED - IT SKIPPED LDB T1 CPB EVEN1 EVEN1 = 052525 RSS HLT 0 ISZ A,I FAILED - T1 NOT 052525 * CCB STB T1 T1 = 177777 LDB IA9 IA9 = DEF M1, M1 = 177777 ISZ B,I HLT 0 ISZ B,I FAILED - DID NOT SKIP LDA T1 SZA HLT 0 ISZ B,I FAILED - T1 NOT 0 * NOP ***** MODULE LOOP HED ITERATIVE TESTS * THESE TESTS TRY TO FIND INTERMITTANT ERRORS * * LDA/CPA ITERATIVE TESTS * CLB LP1 LDA EVEN1 A=052525 CPA EVEN1 RSS HLT 0 LDA/CPA FAILED ISZ B JMP LP1 * CLB LP2 LDA ODD1 A=125252 CPA ODD1 RSS HLT 0 LDA/CPA FAILED ISZ B JMP LP2 * * LDB/CPB ITERATIVE TESTS * CLA LP3 LDB EVEN1 B=052525 CPB EVEN1 RSS HLT 0 LDB/CPB FAILED ISZ A JMP LP3 * CLA LP4 LDB ODD1 B=125252 CPB ODD1 RSS HLT 0 LDB/CPB FAILED ISZ A JMP LP4 * * LDA/STA/CPA ITERATIVE TESTS * CLB LP5 LDA EVEN1 A=052525 STA T1 CPA T1 RSS HL.QT 0 LDA/STA/CPA FAILED ISZ B JMP LP5 * CLB LP6 LDA ODD1 A=125252 STA T1 CPA T1 RSS HLT 0 LDA/STA/CPA FAILED ISZ B JMP LP6 * * LDB/STB/CPB ITERATIVE TESTS * CLA LP7 LDB EVEN1 B=052525 STB T1 CPB T1 RSS HLT 0 LDB/STB/CPB FAILED ISZ A JMP LP7 * CLA LP8 LDB ODD1 B=125252 STB T1 CPB T1 RSS HLT 0 LDB/STB/CPB FAILED ISZ A JMP LP8 * * AND ITERATIVE TESTS * CLB LP9 LDA EVEN1 AND ODD1 SZA HLT 0 AND FAILED ISZ B JMP LP9 * CLB LP10 LDA EVEN1 AND EVEN1 CPA EVEN1 RSS HLT 0 AND FAILED ISZ B JMP LP10 * CLB LP11 LDA ODD1 AND ODD1 CPA ODD1 RSS HLT 0 AND FAILED ISZ B JMP LP11 * * IOR ITERATIVE TESTS * CLB LP12 LDA EVEN1 IOR ODD1 CPA M1 RSS HLT 0 IOR FAILED ISZ B JMP LP12 * CLB LP13 LDA ODD1 IOR EVEN1 CPA M1 RSS HLT 0 IOR FAILED ISZ B JMP LP13 * CLB LP14 LDA EVEN1 IOR EVEN1 CPA EVEN1 RSS HLT 0 IOR FAILED ISZ B JMP LP14 * CLB LP15 LDA ODD1 IOR ODD1 CPA ODD1 RSS HLT 0 ISZ B IOR FAILED JMP LP15 * * XOR ITERATIVE TESTS * CLB LP16 LDA EVEN1 XOR EVEN1 SZA HLT 0 XOR FAILED ISZ B JMP LP16 * CLB LP17 LDA ODD1 XOR ODD1 SZA HLT 0 XOR FAILED ISZ B JMP LP17 * CLB LP18 LDA EVEN1 XOR ODD1 CPA M1 RSS HLT 0 XOR FAILED ISZ B JMP LP18 * * ADA ITERATIVE TESTS * CLB _ LP19 CLE CLO LDA EVEN1 ADA ODD1 052525 + 125252 = 177777 CPA M1 RSS HLT 0 SUM NOT 177777 SEZ HLT 0 E NOT 0 SOC HLT 0 OV NOT 0 ISZ B JMP LP19 * CLB LP20 STO OV=1 CCE E=1 LDA ODD1 ADA EVEN1 125252 + 052525 = 177777 CPA M1 RSS HLT 0 SUM NOT 177777 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ B JMP LP20 * CLB LP21 CLE E=0 CLO OV=1 LDA EVEN1 052525 + 052525 = 125252 ADA EVEN1 CPA ODD1 RSS HLT 0 SUM NOT 125252 SEZ HLT 0 E NOT 0 SOS HLT 0 OV NOT 1 ISZ B JMP LP21 * CLB LP22 CLE E=0 CLO OV=0 LDA ODD1 125252 + 125252 = 052524 ADA ODD1 CPA K1 RSS HLT 0 SUM NOT 052524 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ B JMP LP22 * * ADB ITERATIVE TESTS * CLA LP23 CLE E=0 CLO OV=0 LDB EVEN1 ADB ODD1 052525 + 125252 = 177777 CPB M1 RSS HLT 0 SUM NOT 177777 SEZ HLT 0 E NOT 0 SOC HLT 0 OV NOT 0 ISZ A JMP LP23 * CLA LP24 CCE E=1 STO OV=1 LDB ODD1 ADB EVEN1 125252 + 052525 = 177777 CPB M1 RSS HLT 0 SUM NOT 177777 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ A JMP LP24 * CLA LP25 CLE E=0 CLO OV=0 LDB EVEN1 ADB EVEN1 052525 + 052525 = 125252 CPB ODD1 RSS HLT 0 SUM NOT 125252 G2 SEZ HLT 0 E NOT 0 SOS HLT 0 OV NOT 1 ISZ A JMP LP25 * CLA LP26 CLE E=0 CLO OV=0 LDB ODD1 ADB ODD1 125252 + 125252 = 052524 CPB K1 RSS HLT 0 SUM NOT 052524 SEZ,RSS HLT 0 E NOT 1 SOS HLT 0 OV NOT 1 ISZ A JMP LP26 * * JSB ITERATIVE TEST * CLB LP27 CLA STA Z2 Z2 _ NOP JSB *+2 JSB FAILED - DID NOT JUMP Z1 HLT 0 Z2 NOP LDA Z2 CPA ADDR7 ADDR7 = ADDRESS Z1 RSS HLT 0 JSB FAILED - BAD RETURN ADDRESS ISZ B JMP LP27 * * ADA & ISZ ITERATIVE TEST * CLA STA T1 ADA K7 000000 + 034075 * 65K = 000000 ISZ T1 JMP *-2 SZA HLT 0 ADA OR ISZ FAILED * * ADB & ISZ ITERATIVE TEST * CLB STB T1 ADB K7 000000 + (64K) * 034075 = 000000 ISZ T1 JMP *-2 SZB HLT 0 ADB OR ISZ FAILED * NOP ***** MODULE LOOP HED SOME DATA PATTERN TESTS * LDA/CPA - ALL OF CORE - 1ST 2 PAGES * LDB FCA 1ST CORE ADDRESS = 000002 PT1 LDA B,I CPA B,I RSS HLT 0 LDA/CPA FAILED: B = ADDRESS CPB LCA LAST CORE ADDRESS = 003677 JMP PT2 INB NEXT CORE ADDRESS JMP PT1 CONTINUE * * LDB/CPB/STB/CPB - ALL OF CORE - 1ST 2 PAGES * PT2 LDA FCA 1ST CORE ADDRESS = 000002 PT3 LDB A,I CPB A,I RSS HLT 0 LDB/CPB FAILED: A = ADDRESS STB A,I CPB A,I RSS HLT 0 STB/CPB FAILED: A = ADDRESS CPA LCA LAST CORE ADDRESS = 003677 JMP PT4 INA NEXT CORE ADDRESS JMP PT3 CONTINUE * * ADA - ADB - IOR - XOR - AND USING TABLE VALUES * PT4 LDB TBLA FWA TABLE PT5 STB A1A v[ ARG 1 ADDRESS INB STB A2A ARG 2 ADDRESS INB STB SUMA SUM ADDRESS INB STB IORA IOR RESULT ADDRESS INB STB XORA XOR RESULT ADDRESS INB STB ANDA AND RESULT ADDRESS LDA A1A,I ADA A2A,I CPA SUMA,I RSS HLT 0 ADA FAILED LDB A1A,I ADB A2A,I CPB SUMA,I RSS HLT 0 ADB FAILED LDA A1A,I IOR A2A,I CPA IORA,I RSS HLT 0 IOR FAILED LDA A1A,I XOR A2A,I CPA XORA,I RSS HLT 0 XOR FAILED LDA A1A,I AND A2A,I CPA ANDA,I RSS HLT 0 AND FAILED LDB ANDA INB CPB TBLE RSS END OF TABLE JMP PT5 * NOP ***** MODULE LOOP SPC 3 * END OF DIAGNOSTIC CYCLE * LIA 1 AND BIT12 SZA,RSS HLT 77B END OF PASS HALT JMP START DO AGAIN SPC 3 A1A NOP ARGUMENT POINTER A2A NOP ARGUMENT POINTER SUMA NOP SUM POINTER IORA NOP IOR RESULT POINTER XORA NOP XOR RESULT POINTER ANDA NOP AND RESULT POINTER K10A DEF K10 K11A DEF K11 T1A DEF T1 K12A DEF K12 JMP5A DEF JMP5 JSB7A DEF JSB7 P7A DEF P7 * TBLA DEF TBL.1 1ST TABLE ADDRESS TBL.1 OCT 15366 ARG 1 - 1ST PAIR OCT 127541 ARG 2 OCT 145127 SUM OCT 137767 IOR RESULT OCT 132627 XOR RESULT OCT 5140 AND RESULT TBL.2 OCT 51463 ARG 1 - 2ND PAIR OCT 31465 OCT 103150 OCT 71467 OCT 60006 OCT 11461 TBL.3 OCT 161271 ARG 1 - 3TH PAIR OCT 25636 ARG 2 OCT 7127 SUM OCT 165677 IOR RESULT OCT 144447 XOR RESULT OCT 21230 AND RESULT TBL.4 OCT 105560 ARG 1 - 4TH PAIR OCT 133410 OCT 41170 OCT 137570 OCT 36170 ɵ$"OCT 101400 TBL.5 OCT 141655 ARG 1 - 5TH PAIR OCT 35334 OCT 177211 OCT 175775 OCT 174561 OCT 1214 TBL.6 OCT 175752 ARG 1 - 6TH PAIR OCT 137257 OCT 135231 OCT 177757 OCT 42505 OCT 135252 TBL.7 OCT 32047 ARG 1 - 7TH PAIR OCT 41163 OCT 73232 OCT 73167 OCT 73124 OCT 43 TBL.8 OCT 66144 ARG 1 - 8TH PAIR OCT 143106 OCT 31252 OCT 167146 OCT 125042 OCT 42104 TBL.9 OCT 122241 ARG 1 - 9TH PAIR OCT 45032 OCT 167273 OCT 167273 OCT 167273 OCT 0 TB.10 OCT 156336 ARG 1 - 10TH PAIR OCT 146755 OCT 125313 OCT 156777 OCT 10463 OCT 146314 TBLE DEF * LWA TABLE * T2 NOP TEMPORARY STORAGE SR1 NOP SUBROUTINE FROM BASE PAGE JMP .P4 GO BACK JMP1 JMP JMP2 GO BACK TO BASE PAGE * END K2$   24316-18001 1431 S 0122 24316A 2100 SER ALT SKIP DIAGNOSTIC             H0101 ?ASMB,A,B,L,C HED 2100 SERIES COMPUTER ALTER-SKIP TEST ORG 2B * ******************************************************************* * * * DIAGNOSTIC CHECKS ALTER-SKIP INSTR GROUP * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * * RUNS IN 4K OF MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101001 * * OPERATING INSTRUCTIONS: * * 1. LOAD ASG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS: * * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0 LOOP BACK TO REPEAT A FAILING INSTRUCTION * BUT HALT 76 BEFORE EXECUTION * 1-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS.(A REGISTER = * PASS COUNT) SET TO LOOP ON DIAGNOSTIC. * 13-15 RESERVED * * * 4. PRESS PRESET(INT. & EXT. IF PRESENT), AND RUN. * SKP *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 10200X X= 1, A OR B ERROR; =2, E ERROR; =4, SKIP ERROR * A = ACTUAL A OR B RESULT * B = EXPECTED A OR B RESULT * E = ACTUAL E RESULT * 102000 ERROR DISPLAY HALT * A = FAILING INSTR CODE * B = ORIGINAL VALUE IN A OR B * E = ORIGINAL VALUE IN E * 10204X CLE,CCE,CME,SEZ,RSS ERROR (X=O-6) * 102076 HALT BEFORE REPEATING ERROR CONDITION * 102077 END OF PASS HALT. A REG. = PASS # * 103000 UNEXPECTED CHANGE IN A REG * 103001 UNEXPECTED CHANGE IN B REG * 106077 UNEXPECTED TRAP CELL HALT * * ******************************************************************* * SKP * UNL * REP 62 FILL TRAP CELLS * OCT 106077 LOC 2 THRU 77 UNL REP 62 OCT 106077 LST  ORG 100B JMP START ORG 126B OCT 101001 DIAGNOSTIC SERIAL NO ORG 130B JMP START JMP START SPC 3 PATA DEF PAT1 PAT1 OCT 0 OCT 177777 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 PATE DEF * SPC 3 AAB NOP ACTUAL A OR B REG RESULT ARG NOP ORIGINAL CONTENTS IN A OR B REG. EAB NOP EXPECTED A OR B REG RESULT EE NOP EXPECTED E REGISTER RESULT ESKP NOP EXPECTED SKIP FLAG (0=NO SKIP) IE NOP INITIAL CONTENTS OF E REGISTER PCA NOP PASS COUNT PT NOP DATA POINTER SKPEI NOP SKIP ERROR INDICATOR: 0=ERROR BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT5 OCT 40 BIT6 OCT 100 BIT7 OCT 200 BIT8 OCT 400 BIT9 OCT 1000 BIT11 OCT 4000 BIT12 OCT 10000 BIT15 OCT 100000 B3 OCT 3 B11 OCT 11 B20 OCT 20 B21 OCT 21 B31 OCT 31 B41 OCT 41 B73 OCT 73 B300 OCT 300 .0 OCT 0 .1 OCT 1 M1 DEC -1 M2 DEC -2 A1400 OCT 1400 A2001 OCT 2001 A4000 OCT 4000 I0001 OCT 100001 PATX OCT 43210 DATA FOR NON WORKING REGISTER .0X EQU 00 B EQU 1 B REGISTER SPC 3 * EXECUTE & CHECK ROUTINE FOR ALTER SKIP INSTRUCTIONS * E.C NOP LDB INSTR B _ INSTRUCTION LDA ESKP CPA .0 TEST EXPECTED SKIP JMP NSE NO SKIP EXPECTED STB INSTX SKIP EXPECTED JSB INITT INITIALIZE JMP *+2 JUMP OVER REPEAT HALT RPTS HLT 76B HALT BEFORE REPEAT INSTX NOP EXECUTE ALTER SKIP INSTRUCTION ISZ SKPEI DID NOT SKIP - STEP INDICATOR JMP E.C2 NSE JSB INITT INITIALIZE JMP *+2 JUMP OVER REPEAT HALT RPTNS HLT 76B HALT BEFORE REPEAT INSTR NOP EXECUTE ALTER SKIP INSTRUCTION JMP *+2 OK - IT DID NOT SKIP ISZ SKPEI UNEXPECTED SKIP - STEP I]NDICATOR E.C2 STA AAB ASSUME ACTUAL A OR B IS A REG. LDA INSTR AND BIT11 CPA BIT11 TEST REGISTER INVOLVED JMP E.C4 ACTUAL REG. IS B CPB PATX JMP E.C5 LDA INSTR ERROR: UNEXPECTED CHANGE IN B OCT 103001 HALT: T_103001, A_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C4 LDA AAB RESTORE A REGISTER RESULT STB AAB WORKING REGISTER IS B CPA PATX JMP E.C5 LDB INSTR ERROR: UNEXPECTED CHANGE IN A OCT 103000 HALT: T_103000, B_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C5 CLB INITIALIZE POSSIBLE HALT CODE ISZ SKPEI CHECK SKIP INDICATOR - IT SHOULD JMP *+2 HAVE BEEN -2 ADB BIT2 WAS -1: SKIP OR NO SKIP ERROR LDA EAB CPA AAB COMPARE ACTUAL & EXPECTED A OR B JMP *+2 REGISTER RESULTS ADB BIT0 A OR B REGISTER ERROR LDA .0 SEZ LDA M1 A _ ACTUAL E REG: -1 IF NOT 0 CPA EE CHECK ACTUAL & EXPECTED E RESULT JMP *+2 ADB BIT1 E REGISTER RESULT ERROR CPB .0 JMP E.C,I B=0, NO ERRORS, RETURN P+1 * * ERROR HALT & DISPLAY 1 * ADB HLT0 STB HLTI A _ ACTUAL A OR B REG. RESULT LDA AAB B _ EXPECTED A OR B REG. RESULT LDB EAB E _ ACTUAL E REGISTER RESULT HLTI HLT .0X T _ 10200X * * 2ND DISPLAY HALT * LDA IE CCE E _ ORIGNAL E REG. CONTENTS CPA .0 A _ ALTER SKIP INSTRUCTION CLE B _ ORIGINAL A OR B REG. CONTENT LDA INSTR T _ 102000 LDB ARG HLT0 HLT 0 * E.C9 LIA 1 AND BIT0 CPA .0 SWITCH 0 CLEAR JMP E.C,I DON'T LOOP REPEAT ON ERROR LDA ESKP BEFORE REPEATING, CHECK THE CPA .0 EXPECTED SKIP INDICATOR AGAIN JMP E.C3 JSB INITT REINITIALIZE JMP RPTS DO AGAIN - SKIP EXPECTEDV E.C3 JSB INITT JMP RPTNS DO AGAIN - NO SKIP EXPECTED * INITT NOP LDB M2 STB SKPEI RESET SKIP INDICATOR TO -2 LDA IE CCE CPA .0 CLE INITIALIZE E REGISTER LDA INSTR AND BIT11 CPA BIT11 JMP INIT1 LDA ARG A REG. INSTRUCTION LDB PATX A_ARG, B_043210 JMP INITT,I INIT1 LDA PATX B REG. INSTRUCTION LDB ARG A_043210, B_ARG JMP INITT,I SPC 3 START CLC 0,C TURN EVERYTHING OFF CLA STA PCA RESET END OF PASS COUNT * SOP RSS HLT 40B RSS FAILED * CLE SEZ CLE HLT 41B SEZ COMBINATION FAILED * CLE SEZ,RSS JMP *+2 CLE HLT 42B SEZ,RSS COMBINATION FAILED * CCE SEZ,RSS CCE HLT 43B SEZ,RSS COMBINATION FAILED * CCE SEZ JMP *+2 CCE HLT 44B SEZ COMBINATION FAILED * CLE CME CLE SEZ,RSS CME HLT 45B SEZ,RSS COMBINATION FAILED * CCE CME CCE SEZ CME HLT 46B SEZ COMBINATION FIALED SPC 3 LDA A2001 START WITH OCTAL 2001 X1 STA INSTR SAVE NEXT INSTRUCTION LDA .0 X2 STA IE FOR E = 0,1 LDB PATA X3 STB PT FOR 9 DATA PATTERNS LDA B,I STA ARG ARG _ NEXT DATA PATTERN STA EAB ASSUME EAB = ARG LDB .0 STB ESKP ASSUME NO SKIP EXPECTED LDA IE STA EE ASSUME EE = IE LDA INSTR AND A1400 CPA BIT8 STB EAB CLA OR CLB: EAB _ 0 LDB M1 CPA A1400 STB EAB CCA OR CCB: EAB _ 177777 CPA BIT9 JMP *+2 JMP X4 LDA ARG XOR M1 CMA OR CMB: STA EAB EAB _ 1'S COMPLIMENT OF ARG X4 LDA INSTR AN+D B41 CPA BIT5 JMP *+2 JMP X5 NOT SEZ LDA IE CPA .0 STB ESKP SEZ & E=0: ESKP _ -1 JMP X6 X5 CPA B41 JMP *+2 JMP X6 NOT SEZ,RSS LDA IE CPA M1 STB ESKP SEZ,RSS & E=1: ESKP _ -1 X6 LDA INSTR LDB .0 AND B300 CPA BIT6 STB EE CLE: EE _ 0 LDB M1 CPA B300 STB EE CCE: EE _ -1 CPA BIT7 JMP *+2 JMP X7 NOT CME LDA IE XOR M1 CME: STA EE EE _ 1'S COMPLIMENT OF IE X7 LDA INSTR AND B31 CPA B31 JMP *+2 JMP X8 NOT SS*,SL*,RSS LDA EAB AND I0001 CPA I0001 SS*,SL*,RSS & BIT15 = BIT0 = 1: STB ESKP ESKP _ -1 JMP X12 X8 LDA INSTR AND B21 CPA B21 JMP *+2 JMP X9 NOT SS*,RSS LDA EAB AND BIT15 CPA BIT15 STB ESKP SS*,RSS & BIT 15=1: ESKP _ -1 JMP X10 X9 CPA B20 JMP *+2 JMP X10 NOT SS* LDA EAB AND BIT15 CPA .0 STB ESKP X10 LDA INSTR SS* & BIT15=0: ESKP _ -1 AND B11 CPA B11 JMP *+2 JMP X11 NOT SL*,RSS LDA EAB AND BIT0 CPA BIT0 STB ESKP SL*,RSS & BIT0=1: ESKP _ -1 JMP X12 X11 CPA BIT3 JMP *+2 JMP X12 NOT SL* LDA EAB AND BIT0 CPA .0 STB ESKP SL* & BIT0=0: ESKP _ -1 X12 LDA INSTR AND BIT2 CPA .0 JMP X13 NOT IN* LDA EAB CPA M1 STA EE IN* & REG=177777: EE _ -1 ADA .1 STA EAB IN*: EAB _ EAB+1 X13 LDA INSTR AND B3 CPA B3 JMP *+2 JMP X14 NOT SZ*,RSS LDA EAB CPA .0 JMP X15 STB ESKP SZ*,RSS & REG NOT 0: ESKP _ -1 JMP X15 X14 CPA BIT1 JM$"P *+2 JMP X15 NOT SZ* LDA EAB CPA .0 STB ESKP SZ* & REG=0: ESKP _ -1 X15 LDA INSTR AND B73 CPA BIT0 STB ESKP RSS: ESKP _ -1 JSB E.C GO EXECUTE & CHECK LDB PT ADB .1 CPB PATE JMP *+2 JMP X3 NEXT DATA PATTERN LDA IE ADA M1 CPA M1 JMP X2 REPEAT FOR E=1 LDA INSTR ADA .1 INSTR _ INSTR + 1 CPA A4000 ADA A2001 MAKE 6001 IF 4000 CPA BIT12 JMP EOP END OF PASS IF 10000 JMP X1 ELSE DO NEXT INSTRUCTION SPC 3 EOP LDA PCA STEP END OF PASS COUNT ADA .1 STA PCA LIA 1 AND BIT12 CPA BIT12 JMP SOP LDA PCA HLT 77B END OF PASS HALT JMP SOP GO AROUND AGAIN * END $   24317-18001 1431 S 0122 24317A 2100 SER SHFT ROTATE DIAGNOSTIC             H0101 .ASMB,A,B,L,C HED 2100 SERIES COMPUTER SHIFT-ROTATE TEST ORG 2B * ******************************************************************* * * * DIAGNOSTIC CHECKS SHIFT-ROTATE INSTR GROUP * CHECKS INSTRS & CONDITIONS AFFECTING OVERFLOW REG. * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * ALTER-SKIP GROUP DSN 101001 * * RUNS IN 4K MEMORY * * TELETYPE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR NOT REQUIRED * * DIAGNOSTIC SERIAL NO (DSN) 101002 * * OPERATING INSTRUCTIONS: * * 1. LOAD SRG DIAGNOSTIC. * * 2. SET P REGISTER TO 100. * * 3. SELECT PROGRAM OPTIONS: * *************** SWITCH REGISTER OPTIONS *************************** * * BIT MEANING * * 0 LOOP BACK TO REPEAT A FAILING INSTRUCTION * BUT HALT 76 BEFORE EXECUTION * 1-11 RESERVED * 12 CLEAR TO HALT 102077 AT END OF PASS(A = PASS COUNT). * SET TO LOOP ON DIAGNOSTIC. * 13-15 RESERVED * * * 4. PRESS PRESET(INT. & EXT. IF PRESENT) AND RUN. * SKP * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 10200X X= 1, A OR B ERROR; =2, E ERROR; =4, SKIP ERROR * A = ACTUAL A OR B RESULT * B = EXPECTED A OR B RESULT * E = ACTUAL E RESULT * 102000 ERROR DISPLAY HALT * A = FAILING INSTR CODE * B = ORIGINAL VALUE IN A OR B * E = ORIGINAL VALUE IN E * 10204X OVERFLOW INSTR ERROR (X=ERROR #) * 10205X OVERFLOW ERROR FROM ARITHMETIC OPERATION WITH A REG * 10206X OVERFLOW ERROR FROM ARITHMETIC OPERATION WITH B REG * 102076 HALT BEFORE REPEATING ERROR CONDITION * 102077 END OF PASS HALT(A = PASS COUNT) * 103000 UNEXPECTED CHANGE IN A REG * 103001 UNEXPECTED CHANGE IN B REG * 106077 UNEXPECTED TRAP CELL HALT * ******************************************************************* SKP * UNL * REP 62 FILL TRAP CELLS * OCT 106077 LOC 2 THRU 77 UNL REP 62 OCT 106077 LST ORG 100B JMP START ORG 126B OCT 101002 DIAGNOSTIC SERIAL NO ORG 130B JMP START JMP START SPC 3 A EQU 0 B EQU 1 BIT0 OCT 1 BIT1 OCT 2 BIT2 OCT 4 BIT3 OCT 10 BIT4 OCT 20 BIT5 OCT 40 BIT6 OCT 100 BIT9 OCT 1000 BIT11 OCT 4000 BIT12 OCT 10000 BIT15 OCT 100000 .5 DEC 5 .6 DEC 6 .8 EQU BIT3 B100 EQU BIT6 PATX OCT 173567 FIXED PATTERN FOR NON WORKING SOVFC OCT 77777 M1 OCT 177777 PCA NOP PASS COUNT IE NOP INITIAL CONTENTS OF E REG ARG NOP ORGINAL A OR B REG PATTERN EAB NOP EXPECTED A OR B REG RESULT AAB NOP ACTUAL A OR B REG RESULT EE NOP EXPECTED E REGISTER RESULT PTI NOP PATTERN POINTER PT1 NOP TABLE 1 POINTER PT2 NOP TABLE 2 POINTER REG NOP BIT11 OF INSTRUCTION ESKP NOP EXPECTED SKIP FLAG (0= NO SKIP) J NOP COLUMN 4 INDEX K NOP COLUMN 1 INDEX KX NOP COLUMN 1 FIELD EE1 NOP EXPECTED E AFTER 1ST SHIFT OR ROTATE EAB1 NOP EXPECTED A OR B AFTER 1ST SHIFT PT1X NOP TEMPORARY STORAGE FOR PT1 CLE NOP BIT 5 OF INSTRUCTION SLAB NOP BIT 3 OF INSTRUCTION TBL5A DEF TBL5 TBL6A DEF TBL6 PATA DEF PAT1 FWA PATTERNS PATE DEF P0020 LWA PATTERNS TBL1A EQU PATE FWA TABLE 1 TBL2A DEF P1020 FWA TABLE 2 SITA DEF SIT FWA SPECIAL INSTRUCTION TABLE SIT6A DEF SIT6 ADDR. OF 1ST ELA INSTR. IN TBL. SITE DEF SIT+8 LWA SPECIAL INSTRUCTION TABLE SPC 3 * EXECUTE & CHECK ROUTINE FOR SHIFT ROTATE INSTRUCTIONS * E.C NOP LDB INSTR B _ INSTRUCTION LDA ESKP SZA < TEST EXPECTED SKIP JMP E.C1 SKIP EXPECTED JSB INITT INITIALIZE RSS SKIP OVER REPEAT HALT RPTNS HLT 76B HLT BEFORE REPEAT INSTR NOP EXECUTE SHIFT ROTATE INSTRUCTION RSS NO SKIP EXPECTED ISZ SKPEI UNEXPECTED SKIP - STEP INDICATOR JMP E.C2 E.C1 STB INSTX PUT INSTRUCTION IN LINE JSB INITT INITIALIZE RSS SKIP OVER REPEAT HALT RPTS HLT 76B HLT BEFORE REPEAT INSTX NOP EXECUTE SHIFT ROTATE INSTRUCTION ISZ SKPEI DID NOT SKIP - STEP INDICATOR E.C2 STA AAB ASSUME ACTUAL A OR B IS A REG. LDA INSTR AND BIT11 SZA TEST REGISTER INVOLVED JMP E.C4 ACTUAL REG. IS B CPB PATX ACTUAL REG. IS A JMP E.C5 LDA INSTR ERROR: UNEXPECTED CHANGE IN B OCT 103001 HALT: T_103001, A_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C4 LDA AAB RESTORE A REG RESULT STB AAB ACTUAL REGISTER IS B REGISTER CPA PATX JMP E.C5 LDB INSTR ERROR: UNEXPECTED CHANGE IN A OCT 103000 HALT: T_103000, B_INSTR JMP E.C9 GO CHECK FOR REPEAT E.C5 CLB INITIALIZE POSSIBLE HALT CODE ISZ SKPEI CHECK SKIP INDICATOR - IT SHOULD RSS HAVE BEEN -2 ADB BIT2 WAS -1: SKIP OR NO SKIP ERROR LDA EAB CPA AAB COMPARE ACTUAL & EXPECTED A OR B RSS REGISTER RESULTS ADB BIT0 A OR B REGISTER ERROR CLA,SEZ CCA A _ ACTUAL E REG: -1 IF NOT 0 CPA EE CHECK ACTUAL & EXPECTED E RESULT RSS ADB BIT1 E REGISTER RESULT ERROR SZB,RSS JMP E.C,I B=0, NO ERRORS, RETURN P+1 * * ERROR HALT & DISPLAY 1 * ADB HLT0 FORM HALT 10200X INSTRUCTION STB HLTI STORE IT IN LINE LDA AAB A _ ACTUAL A OR B REG. RESULT LDB EAB % B _ EXPECTED A OR B REG. RESULT HLTI HLT .0X E _ ACTUAL E RESULT, T_10200X * * 2ND DISPLAY HALT * LDA IE CLE,SZA CCE E _ ORGINAL E REG. CONTENTS LDA INSTR A _ SHIFT ROTATE INSTRUCTION LDB ARG B _ ORGINAL A OR B REG. CONTENTS HLT0 HLT 0 T _ 102000 * E.C9 LIA 1 AND BIT0 SZA,RSS SWITCH 0 CLEAR JMP E.C,I DON'T LOOP REPEAT ON ERROR LDA ESKP BEFORE REPEATING, CHECK THE SZA EXPECTED SKIP INDICATOR AGAIN JMP E.C3 JSB INITT REINITIALIZE JMP RPTNS DO AGAIN - NO SKIP EXPECTED E.C3 JSB INITT JMP RPTS DO AGAIN - SKIP EXPECTED * INITT NOP LDB M2 STB SKPEI RESET SKIP ERROR INDICATOR TO -2 LDA IE CLE,SZA CCE INITIALIZE E REGISTER LDA INSTR AND BIT11 SZA JMP INIT1 LDA ARG A REGISTER INSTRUCTION LDB PATX A_ARG, B_043210 JMP INITT,I INIT1 LDA PATX B REGISTER INSTRUCTION LDB ARG A_043210, B_REG JMP INITT,I * M2 DEC -2 SKPEI NOP SKIP ERROR INDICATOR: 0 = ERROR .0X EQU 0 SPC 3 * SUBROUTINE TO UPDATE EAB WHEN J OR K IS 5 OR 6 * GIVEN J OR K IN B * SC1 NOP CLA CPB .5 IF J OR K = 5, LDA BIT15 EAB _ EAB + BIT15 * IE CPB .6 IF J OR K = 6 LDA BIT0 EAB _ EAB + BIT0 * IE AND IE IOR EAB STA EAB JMP SC1,I SPC 3 * SUBROUTINE TO CHANGE EE WHEN J OR K IS 5 OR 6 * GIVEN J OR K IN B * SC2 NOP CLA CPB .5 IF J OR K IS 5, LDA BIT0 THEN EE _ BIT0 * ARG CPB .6 IF J OR K IS 6, LDA BIT15 THEN EE _ BIT15 * ARG SZA,RSS JMP SC2,I IF NEITHER 5 OR 6, LEAVE AND ARG EE UNCHANGED SZA CCA MAKE EE -1 IF NOT 0 STA EE JMEP SC2,I SPC 3 START CLC 0,C TURN EVERYTHING OFF CLA STA PCA RESET END OF PASS COUNT SPC 3 * GROUP 0: NOP * SOP CLA STA ESKP ESKP _ 0 STA INSTR INSTR _ 0 G0.2 STA IE FOR IE _ 0,1 STA EE EE _ IE LDB PATA G0.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG JSB E.C GO EXECUTE & CHECK INSTRUCTION LDB PTI INB CPB PATE CCA,RSS JMP G0.1 NEXT I CPA IE RSS JMP G0.2 NEXT IE SPC 3 * GROUP 4: CLE * CLA STA ESKP ESKP _ 0 STA EE EE _ 0 G4.3 STA REG FOR REG _ 0,1 IOR BIT5 STA INSTR INSTR _ REG + BIT5 CLA G4.2 STA IE FOR IE _ 0,1 LDB PATA G4.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG JSB E.C EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G4.1 NEXT I CPA IE RSS JMP G4.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G4.3 NEXT REG SPC 3 * GROUP 2: SLA - SLB * CLA G2.3 STA REG FOR REG _ 0,1 ADA BIT3 STA INSTR INSTR _ REG + BIT3 CLA G2.2 STA IE FOR IE _ 0,1 STA EE EE _ IE LDB PATA G2.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G2.1 NEXT I CPA IE RSS JMP G2.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G2.3 NEXT REG SPC 3 * GROUP 6: CLE,SLA - CLE,SLB *  CLA STA EE EE _ 0 G6.3 STA REG FOR REG _ 0,1 ADA BIT5 ADA BIT3 STA INSTR INSTR _ REG + BIT3 + BIT5 CLA G6.2 STA IE FOR IE _ 0,1 LDB PATA G6.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP G6.1 NEXT I CPA IE RSS JMP G6.2 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G6.3 NEXT REG SPC 3 * GROUP 1: COL4 * CLA STA ESKP ESKP _ 0 G1.4 STA REG FOR REG _ 0,1 CLA G1.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G1.2 STA J FOR J _ 0,7 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT4 + J LDB PATA G1.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB ASSUME EAB = TBL1(I,J) LDA IE STA EE ASSUME EE = IE LDB J JSB SC1 CHECK EAB FOR J = 5 OR 6 LDB J JSB SC2 CHECK EE FOR J = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G1.1 NEXT I ADA J CPA .8 CCA,RSS JMP G1.2 NEXT J CPA IE RSS JMP G1.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G1.4 NEXT REG SPC 3 * GROUP 10: COL1 * CLA STA ESKP ESKP _ 0 G10.4 STA REG FOR REG _ 0,1 CLA G10.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G10.2 STA K FOR K _ 0,7 STB KX So KX _ K*2**8 ADB BIT9 ADB REG STB INSTR INSTR _ REG + BIT9 + KX LDB PATA G10.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDA IE STA EE EE _ IE LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 LDB K JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G10.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G10.2 NEXT K CPA IE RSS JMP G10.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G10.4 NEXT REG SPC 3 * GROUP 3: SLA,COL4 - SLB,COL4 * CLA G3.4 STA REG FOR REG _ 0,1 CLA G3.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G3.2 STA J FOR J _ 0,7 ADA BIT3 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT4 + BIT3 + J LDB PATA G3.1 STB PTI FOR I - 1,7 LDA B,I STA ARG ARG _ PAT(I) AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) LDA IE STA EE EE _ IE LDA PT1,I STA EAB EAB _ TBL1(I,J) LDB J JSB SC1 CHECK EAB FOR K = 5 OR 6 LDB J JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G3.1 NEXT I ADA J CPA .8 CCA,RSS JMP G3.2 NEXT J CPA IE RSS JMP G3.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G3.4 NEXT REG SPC 3 * GROUP 5: CLE,COL4 * CLA STA ESKP ESKP _ 0 G5.4 STA REG FOPR REG _ 0,1 CLA G5.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA G5.2 STA J FOR J _ 0,7 ADA BIT5 ADA BIT4 ADA REG STA INSTR INSTR _ REG + BIT5 + BIT4 + J LDB PATA G5.1 STB PTI FOR I _ 0,7 LDA B,I STA ARG ARG _ PAT(I) CLA STA EE EE _ 0 LDA PT1,I STA EAB IAB _ TBL1(I,J) LDB J JSB SC2 CHECK EE FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G5.1 NEXT I ADA J CPA .8 CCA,RSS JMP G5.2 NEXT J CPA IE RSS JMP G5.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G5.4 NEXT REG SPC 3 * GROUP 7: CLE,SLA,COL4 - CLE,SLB,COL4 * CLA G7.4 STA REG FOR REG _ 0,1 CLA G7.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE POINTER CLA G7.2 STA J FOR J _ 0,7 ADA BIT5 ADA BIT4 ADA BIT3 ADA REG INSTR _ REG + BIT5 + BIT4 STA INSTR + BIT3 + J LDB PATA G7.1 STB PTI FOR I _ 0,7 LDA B,I STA ARG ARG _ PAT(I) AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * ARG) LDA PT1,I STA EAB EAB _ TBL1(I,J) CLA STA EE EE _ 0 LDB J JSB SC2 CHECK IE FOR J = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G7.1 NEXT I ADA J CPA .8 CCA,RSS JMP G7.2 NEXT J CPA IE RSS JMP G7.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G7.4 NEXT REG SPC 3 * GROUP 14: COL1,CLE * CLA g STA EE EE _ 0 STA ESKP ESKP _ 0 G14.4 STA REG FOR REG _ 0,1 CLA G14.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G14.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT5 ADB BIT9 ADB REG STB INSTR INSTR _ REG + BIT9 + BIT5 + KX LDB PATA G14.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G14.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G14.2 NEXT K CPA IE RSS JMP G14.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G14.4 NEXT REG SPC 3 * GROUP 12: COL1,SLA - COL1,SLB * CLA G12.4 STA REG FOR REG _ 0,1 CLA G12.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G12.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT9 ADB BIT3 ADB REG STB INSTR INSTR _ REG + BIT9 + BIT3 + KX LDB PATA G12.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA IE STA EE EE _ IE LDB K JSB SC2 CHECK EE FOR K = 5 OR 6 LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * EAB) JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G12.1 NEXT I LDB KX ADB B100 ADA K CPA .8 <:6CCA,RSS JMP G12.2 NEXT K CPA IE RSS JMP G12.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G12.4 NEXT REG SPC 3 * GROUP 16: COL1,CLE,SLA - COL1,CLE,SLB * CLA STA EE EE _ 0 G16.4 STA REG FOR REG _ 0,1 CLA G16.3 STA IE FOR IE _ 0,1 LDB TBL1A STB PT1 RESET TABLE 1 POINTER CLA CLB G16.2 STA K FOR K _ 0,7 STB KX KX _ K*2**8 ADB BIT9 ADB BIT5 ADB BIT3 ADB REG INSTR _ REG + BIT9 + BIT5 STB INSTR + BIT3 + KX LDB PATA G16.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB EAB _ TBL1(I,K) LDB K JSB SC1 CHECK EAB FOR K = 5 OR 6 AND BIT0 XOR BIT0 STA ESKP ESKP _ CMPL(BIT0 * EAB) JSB E.C GO EXECUTE & CHECK ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G16.1 NEXT I LDB KX ADB B100 ADA K CPA .8 CCA,RSS JMP G16.2 NEXT K CPA IE RSS JMP G16.3 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G16.4 NEXT REG SPC 3 <  24317-18002 1431 S 0122 24317A 2100 SER SHFT ROTATE DIAGNOSTIC             H0101 .* GROUP 11: COL1,COL4 * GROUP 13: COL1,CLE,COL4 * GROUP 15: COL1,SLA,COL4 - COL1,SLB,COL4 * GROUP 17: COL1,CLE,SLA,COL4 - COL1,CLE,SLB,COL4 * CLA G11.7 STA REG FOR REG _ 0,1 CLA G11.6 STA IE FOR IE _ 0,1 CLA G11.5 STA SLAB FOR SLA OR SLB _ 0,1 CLA G11.4 STA CLE FOR CLE _ 0,1 LDB TBL2A STB PT2 RESET TABLE 2 POINTER LDB TBL1A STB PT1X INITIALIZE TABLE 1 POINTER CLA CLB G11.3 STA K FOR K _ 0,7 STB KX K _ K*2**8 CLA G11.2 STA J FOR J _ 0,7 LDB PT1X STB PT1 RESET TABLE 1 POINTER ADA REG ADA BIT9 ADA KX ADA CLE ADA BIT4 ADA SLAB INSTR _ REG + BIT9 + KX + CLE STA INSTR + BIT4 + SLAB + J LDB PATA G11.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) LDA PT1,I STA EAB1 EAB1 = EXPECTED A OR B RESULT CLA AFTER 1ST SHIFT OR ROTATE LDB K CPB .5 EAB1 _ TBL1(K,I) LDA BIT15 + BIT15 * IE IF K=5 CPB .6 + BIT0 * IE IF K=6 LDA BIT0 AND IE IOR EAB1 STA EAB1 LDB SLAB STB ESKP SZB,RSS JMP G11.C AND BIT0 XOR BIT0 STA ESKP ESKP _ SLAB * CMPL(BIT0 * EAB1) G11.C LDA IE STA EE1 EE1 _ EXPECT E AFTER 1ST SHIFT CLA LDB K ASSUME EE1 = IE CPB .5 LDA BIT0 CPB .6 EE1 _ BIT0 * ARG IF K=5 LDA BIT15 EE1 _ BIT15 * ARG IF K=6 SZA,RSS JMP G11.A AND ARG SZA CCA STA EE1 G11.A LDA CLE IF CLE =1, EE1 _ 0 CLB SZA STB EE1 LDA EE1 EE _ EE1 IF J NOT 5 OR 6 STA EE CLA LDB J IF J=5, EE _ BIT0 * EAB1 CPB .5 LDA BIT0 IF J=6, EE _ BIT15 * EAB1 CPB .6 LDA BIT15 SZA,RSS JMP G11.B AND EAB1 SZA CCA STA EE G11.B LDA PT2,I ASSUME EAB _ TBL2(I,J,K) STA EAB LDB J CLA IF J=5, CPB .5 EAB _ EAB + BIT15* EE1 LDA BIT15 CPB .6 IF J=6 LDA BIT0 EAB _ EAB + BIT0 * EE1 AND EE1 IOR EAB STA EAB CLA LDB K CHECK K: CPB .5 LDA TBL5A IF K=5, A _ TABLE 5 ADDRESS CPB .6 LDA TBL6A IF K=6, A _ TABLE 6 ADDRESS SZA,RSS JMP G11.Z K NOT 5 OR 6 ADA J ADDRESS IN TBL LDA A,I BIT MASK = F(J) AND IE IOR EAB STA EAB EAB _ EAB + BITS * IE G11.Z JSB E.C GO EXECUTE & CHECK ISZ PT2 STEP TABLE POINTERS ISZ PT1 LDB PTI INB CPB PATE CLA,INA,RSS JMP G11.1 NEXT I ADA J CPA .8 CLA,INA,RSS JMP G11.2 NEXT J LDB PT1 STB PT1X ADJUST TABLE 1 POINTER LDB KX ADB B100 ADA K CPA .8 RSS JMP G11.3 NEXT K LDA CLE ADA BIT5 CPA BIT5 JMP G11.4 NEXT CLE BIT LDA SLAB ADA BIT3 CPA BIT3 JMP G11.5 NEXT SLA OR SLB BIT CCA CPA IE RSS JMP G11.6 NEXT IE LDA REG ADA BIT11 CPA BIT11 JMP G11.7 NEXT REG SPC 3 * SPCEIAL GROUP: ERA, ELA, ERB, ELB WITH D/E FIELD =0 * EXPECT RESULT IN E SAME AS INSTRUCTION WITH D/E FIELD = 1 * EXPECT NO CHANGE IN A OR B. * CLA STA ESKP ESKP _ 0 LDA .5 STA J J = 5 FOR ERA OR ERB LDB SITA SG.3 STB PT2 NEXT ADDR. IN SPEC. INSTR. TLB LDA PT2,I STA INSTR NEXT INSTRUCTION CLA SG.2 STA IE FOR IE _ 0,1 LDB [PATA SG.1 STB PTI FOR I _ 1,7 LDA B,I STA ARG ARG _ PAT(I) STA EAB EAB _ ARG LDB J JSB SC2 GET EE JSB E.C GO EXECUTE & CHECK LDB PTI INB CPB PATE CCA,RSS JMP SG.1 NEXT DATA PATTERN CPA IE RSS JMP SG.2 NEXT IE LDA .6 LDB PT2 INB CPB SIT6A STA J J = 6 FOR ELA OR ELB CPB SITE RSS JMP SG.3 NEXT INSTRUCTION SPC 3 * OVERFLOW REGISTER TESTS * CLO SOC HLT 40B CLO - SOC COMBINATION FAILED CLO SOS RSS HLT 41B CLO - SOS COMBINATION FAILED STO SOS HLT 42B STO - SOS COMBINATION FAILED STO SOC RSS HLT 43B STO - SOC COMBINATION FAILED STO SOS C HLT 44B STO - SOS,C COMB. FAILED SOC HLT 45B SOS,C DID NOT CLEAR OVFLO CLO LDA SOVFC A _ 077777 INA SOS HLT 50B INA DID NOT SET OVERFLOW CLO CCA A _ 177777 INA SOC HLT 51B INA SHOULD NOT HAVE SET OVERFLOW CLO LDA SOVFC ADA SOVFC SUM OF 077777 & 077777 IN A SOS HLT 52B ADA DID NOT SET OVERFLOW CLO LDA BIT15 ADA BIT15 SUM OF 100000 & 100000 IN A SOS HLT 53B ADA DID NOT SET OVERFLOW CLO LDA SOVFC ADA BIT15 SUM OF 0777777 & 100000 IN A SOC HLT 54B OV SET ON SUM ON UNLIKE SIGNS CLO CCA ADA M1 SUM OF 177777 & 177777 IN A SOC HLT 55B ILLEGAL SET OF OVERFLOW CLO CLA ADA A SUM OF 000000 & 00000 IN A SOC HLT 56B ILLEGAL SET OF OVERFLOW CLO LDB SOVFC B _ 077777 INB SOS HLT 60B IN^B DID NOT SET OVERFLOW CLO CCB B _ 177777 INB SOC HLT 61B INB SHOULD NOT HAVE SET OVERFLOW CLO LDB SOVFC ADB SOVFC SUM OF 077777 & 077777 IN B SOS HLT 62B ADB DID NOT SET OVERFLOW CLO LDB BIT15 ADB BIT15 SUM OF 100000 & 100000 IN B SOS HLT 63B ADB DID NOT SET OVERFLOW CLO LDB SOVFC ADB BIT15 SUM OF 077777 & 100000 IN B SOC HLT 64B OV SET ON SUM OF UNLIKE SIGNS CLO CCB ADB M1 SUM OF 177777 & 177777 IN B SOC HLT 65B ILLEGAL SET OF OVERFLOW CLO CLB ADB B SUM OF 000000 & 000000 IN B SOC HLT 66B ILLEGAL SET OF OVERFLOW SPC 3 EOP LDA PCA STEP END OF PASS COUNT INA STA PCA LIA 1 AND BIT12 SZA JMP SOP LDA PCA HLT 77B END OF PASS HALT JMP SOP GO AROUND AGAIN SPC 3 TBL5 OCT 100000 OCT 140000 OCT 1 OCT 40000 OCT 0 OCT 40000 OCT 0 OCT 10 TBL6 OCT 2 OCT 0 OCT 2 OCT 100000 OCT 2 OCT 0 OCT 2 OCT 20 PAT1 OCT 1 PAT2 OCT 100000 PAT3 OCT 100001 PAT4 OCT 074170 PAT5 OCT 103607 PAT6 OCT 125252 PAT7 OCT 052525 P0020 OCT 2 OCT 100000 OCT 100002 OCT 070360 OCT 107416 OCT 152524 OCT 025252 P0021 OCT 0 OCT 140000 OCT 140000 OCT 036074 OCT 141703 OCT 152525 OCT 025252 P0022 OCT 2 OCT 1 OCT 3 OCT 170360 OCT 7417 OCT 052525 OCT 125252 P0023 OCT 100000 OCT 40000 OCT 140000 OCT 036074 OCT 141703 OCT 052525 OCT 125252 P0024 OCT 2 OCT 0 OCT 2 OCT 070360 OCT 7416 OCT 52524 OCT 25252 P0025 OCT 0 OCT 40000 OCT 40000 OCT 36074 OCT 41703 OCT 52525 OCT 25252 P0026 OCT 2 OCT 0 OCT 2 OCT 170360 OCT 7416 OCT 52524 OCT 125252 P0027 OCT 20 OCT 10 OCT 30 OCT 103607 OCT 74170 OCT 125252 OCT 52525 P1020 OCT 4 OCT 100000 OCT 100004 OCT 60740 OCT 117034 OCT 125250 OCT 52524 P1021 OCT 1 OCT 140000 OCT 140001 OCT 034170 OCT 143607 OCT 165252 OCT 12525 P1022 OCT 4 OCT 1 OCT 5 OCT 160740 OCT 17035 OCT 125251 OCT 52524 P1023 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1024 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1025 OCT 1 OCT 40000 OCT 40001 OCT 34170 OCT 43607 OCT 65252 OCT 12525 P1026 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1027 OCT 40 OCT 10 OCT 50 OCT 7407 OCT 170350 OCT 52515 OCT 125242 P1120 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1121 OCT 0 OCT 160000 OCT 160000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1122 OCT 0 OCT 100001 OCT 100001 OCT 74170 OCT 103607 OCT 125253 OCT 52524 P1123 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 160741 OCT 165252 OCT 12525 P1124 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1125 OCT 0 OCT 60000 OCT 60000 OCT 17036 OCT 60741 OCT 65252 OCT 12525 P1126 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1127 OCT 0 OCT 14 OCT 14 OCT 141703 OCT 36074 OCT 52535 OCT 125242 P1220 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 25252 OCT 152524 P1221 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1222 OCT 4 OCT 2 OCT 6 OCT 160741 OCT 17036 OCT 125252 OCT 52525 P1223 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P0224 OCT 4 OCT 2 OCT 6 OCT 60740 OCT 17036 OCT 25252 OCT 52524 P1225 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1226 OCT 4 OCT 2 OCT 6 OCT 160740 OCT 17036 OCT 125252 OCT 52524 P1227 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1320 OCT 100000 OCT 0 OCT 100000 OCT 74170 OCT 103606 OCT 25252 OCT 152524 P1321 OCT 140000 OCT 20000 OCT 160000 OCT 17036 OCT 160741 OCT 25252 OCT 152525 P1322 OCT 1 OCT 100000 OCT 100001 OCT 74170 OCT 103607 OCT 125252 OCT 52525 P1323 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 160741 OCT 125252 OCT 52525 P1324 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1325 OCT 40000 OCT 20000 OCT 60000 OCT 17036 OCT 60741 OCT 25252 OCT 52525 P1326 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1327 OCT 10 OCT 4 OCT 14 OCT 141703 AOCT 36074 OCT 52525 OCT 125252 P1420 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1421 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1422 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1423 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1424 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1425 OCT 1 OCT 0 OCT 1 OCT 34170 OCT 3607 OCT 25252 OCT 12525 P1426 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 125250 OCT 52524 P1427 OCT 40 OCT 0 OCT 40 OCT 7407 OCT 170340 OCT 52505 OCT 125242 P1520 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1521 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 20741 OCT 25252 OCT 12525 P1522 OCT 0 OCT 100000 OCT 100000 OCT 74170 OCT 103606 OCT 125252 OCT 52524 P1523 OCT 0 OCT 20000 OCT 20000 OCT 17036 OCT 120741 OCT 125252 OCT 12525 P1524 OCT 0 OCT 0 OCT 0 OCT 74170 OCT 3606 OCT 25252 OCT 52524 P1525 OCT 0,20000,20000,17036,20741,25252,12525 P1526 OCT 0,100000,100000,74170,103606,125252,52524 P1527 OCT 0 OCT 4 OCT 4 OCT 141703 OCT 36064 OCT 52525 OCT 125242 P1620 OCT 4 OCT 0 OCT 4 OCT 160740 OCT 17034 OCT 25250 OCT 152524 P1621 OCT 1 OCT 0 OCT 1 OCT 174170 OCT 3607 OCT 25252 OCT 152525 P1622 OCT 4 OCT 0 OCT 4 OCT 16070.*41 OCT 17034 OCT 125250 OCT 52525 P1623 OCT 1 OCT 0 OCT 1 OCT 74170 OCT 3607 OCT 25252 OCT 52525 P1624 OCT 4 OCT 0 OCT 4 OCT 60740 OCT 17034 OCT 25250 OCT 52524 P1625 OCT 1,0,1,74170,3607,25252,52525 P1626 OCT 4,0,4,160740,17034,125250,52524 P1627 OCT 40 OCT 0 OCT 40 OCT 7417 OCT 170340 OCT 52505 OCT 125252 P1720 OCT 40 OCT 20 OCT 60 OCT 107416 OCT 70360 OCT 152524 OCT 25252 P1721 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 152525 OCT 25252 P1722 OCT 40 OCT 20 OCT 60 OCT 7417 OCT 170360 OCT 52525 OCT 125252 P1723 OCT 10 OCT 4 OCT 14 OCT 141703 OCT 36074 OCT 52525 OCT 125252 P1724 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 70360 OCT 52524 OCT 25252 P1725 OCT 10 OCT 4 OCT 14 OCT 41703 OCT 36074 OCT 52525 OCT 25252 P1726 OCT 40 OCT 20 OCT 60 OCT 7416 OCT 170360 OCT 52524 OCT 125252 P1727 OCT 400 OCT 200 OCT 600 OCT 74170 OCT 103607 OCT 125252 OCT 52525 OCT 0 SIT OCT 5 ERA COL4 D/E=0 OCT 500 ERA COL1 D/E=0 OCT 4005 ERB COL4 D/E=0 OCT 4500 ERB COL1 D/E=0 SIT6 OCT 6 ELA COL4 D/E=0 OCT 600 ELA COL1 D/E=0 OCT 4006 ELB COL4 D/E=0 OCT 4600 ELB COL1 D/E=0 * END 0   24318-18001 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 JASMB,A,B,L,C HED INPUT OUTPUT INSTR. GROUP AND CHANNEL/EXTENDER DIAGN. ORG 0 DSN 141103 1 MAR 1978 REV 1810 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND CONFIG. * B. LOAD DIAGNOSTIC PROGRAM. * C. LOAD ADDRESS 100B * D. LOAD SW REG WITH SELECT CODE(S) & TEST OPTIONS * AS FOLLOWES: * * ----------------+--+--------+--------+--------+--------+--------+ * S-REG. !15!14 13 12!11 10 9! 8 7 6! 5 4 3! 2 1 0! * ----------------+--+--------+--------+--------+--------+--------+ * STANDARD I/O ! ! ! UPPER ! LOWER ! * TESTS ! 0! ! INTERF. BOARD ! INTERF. BOARD ! * (TST 00-07) ! ! ! SC. (USC) ! SC. (LSC) ! * ----------------+--+--+--+--+--------+--------+-----------------+ * SPECIAL 12979B ! ! ! ! ! ! ! ! * TEST (TST 08) ! ! ! ! ! ! ! ! * 1 CPU, 2 EXT'S ! 1! 1! *! !BSW SC1 !BSW SC2 !INTERF. BOARD SC ! * 2 CPU'S, 1 EXT ! 1! 0! *! ! ! BSW SC !INTERF. BOARD SC ! * ----------------+--+--+--+--+--------+--------+-----------------+ * * BIT 13 SET: DMA BOARD INSTALLED IN EXTENDER, TEST 09 * * E. PRESS RUN WAIT FOR HALT 102074 * F. ENTER PROGRAM OPTION: (8-15) * IF SET =: * 15 = HALT AT END OF EACH TEST * 14 = SUPPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * (SUPPRESS ALL OPERATOR INTERVENTION) * 11 = SUPPRESS ERROR MESSAGES. * 10 = SUPPRESS NON-ERROR MESSAGES. * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = SUPPRESS OPERATOR INTERVENTION TESTS * * 7 * = RESERVED o * 0 * * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE - RETURN TO STEP C * * GENERAL COMPUTER HALTS * * 1020XX E OR H 000 TO 067 * 1060XX E OR H 100 TO 167 * 1030XX E OR H 200 TO 267 * 1070XX E OR H 300 TO 367 * SKP * * CONTROL PROGRAM HALT MESSAGES * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST * 102073 USER SELECT CODE ERROR * 102072 RESERVED * 102071 RESERVED * 102070 RESERVED * * 106077 TRAP CELL HALT * * 106070 - * 106076 CONFIG. HALTS SEE DIAG. CONFIG. MANUAL * * * * ** DEFINITION OF MNEMONICS OR ABBREVIATIONS ** * * A, A-REG - A-REGISTER. * ACT - ACTUAL. * ADDR - ADDRESS. * B, B-REG - B-REGISTER. * CNT - COUNT. * CONFIG - CONFIGURE, CONFIGURATOR. * CONST - CONSTANT. * DEC - DECIMAL. * DGT - DIGIT. * E, E-REG - EXTEND REGISTER. * EXP - EXPECT, EXPECTED. * INCR - INCREMENT. * INSTR - INSTRUCTION. * INTP - INTERRUPT. * MEM - MEMORY. * NEG - NEGATIVE * NOS, NUM, NUMB - NUMBER. * O-REG, OVR, - OVERFLOW REGISTER. * P, P-REG - P-REGISTER. * PARAM - PARAMETER. * POS - POSITIVE. * REG - REGISTER. * RTN - RETURN. * SC, SELECT CODE * SUBT - SUBTRACT * SYS, SYST - SYSTEM. * TP, TABLE POINTER. * WD, WDS- WORD, WORDS. * WDT, WATCH DOG TIMER. * := - REPLACED BY, I.E. A:=B, WHERE A IS REPLACED BY VALUE B. HED TEST DESCRIPTION * TEST SELECTION BY OPERATOR: * ********************************************************************* * A-REG SETTING * TEST TO BE * TEST NAME: * * IF SET: * SELECTED *  * ********************************************************************* * 0 * 0 * INTRPT FLAG, OV REG & CARD FLAG * * 1 * 1 * OV REG TEST * * 2 * 2 * INTRPT TEST * * 3 * 3 * SC SCREEN TEST * * 4 * 4 * OTA/B, LIA/B, MIA/B TEST * * 5 * 5 * S-REG TEST * * 6 * 6 * EXTERNAL/INTERNAL PRESET TEST * ********************************************************************* * * IF A-REG IS CLEAR THEN ALL TESTS ARE RUN. HED LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE DMASC EQU 2 DMA CHANNEL SC CH EQU 10B I-O CHANNEL SELECT CODE BSC1 EQU 70B BUS SWITCH SC1 FOR 12979B EXT BSC2 EQU 70B BUS SWITCH SC2 FOR 12979B EXT * ORG 100B * JMP CFIG,I GO TO CONFIGURATION SECTION FAIN BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) SLIN BSS 1 SLOW INPUT (KEYBOARD) FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY LWAM BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 NOT USED (MAG TAPE) OTMC BSS 1 1 MILL SEC TIME OUT COUNT BSS 4 SELECT CODES FOR I/O CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE ISWR BSS 1 INTERNAL SWITCH REGISTER TMRR BSS 1 1 MILL SEC TIMER SWRC BSS 1 CONFIGURATOR SWITCH CK PTR I2AS BSS 1 INTEGER TO ASCII CONVERSION O2AS BSS 1 OCTAL TO ASCII CONVERSION AS2N BSS 1 ASCII CONVERSION DSN OCT 141103 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * CONTROL LINKAGE AND DATA REFERENCES * CFIG DEF .CONF CONFIGURATION SECTION MSGC DEF .MSGC MESSAGE WITH NO HALT MSGH DEF .MSGH MESSAGE WITH HALT ERMS DEF .ERMS ERROR MESSAGE SWRT DEF .SWRT SWITCH REGISTER CHECK ROUTINE TSTN OCT 0 CURRENT TEST NUMBER EXRT DEF .EXRT RETURN TO CONTROL PROGRAM NOP RESERVED SKP * ORG 140B STDA OCT 0 STDB OCT 0 STDAS OCT 377 STDAX OCT 1400 HDMX DEF HDM1+12 * HDMS OCT 6412 ASC 17,I-O INSTRUCTION GROUP & CHANNEL OR OCT 6412 HDM1 ASC 16,EXTENDER DIAGNOSTIC DSN XXXXXX/ * TSTP DEF *+1 TABLE OF TEST NUMBERS DEF TST00 INTRPT FLAG, OV REG & BOARD FLAG TEST DEF TST01 OV REG TEST DEF TST02 INTRPT TEST DEF TST03 SC SCREEN TEST DEF TST04 OTA/B, LIA/B, MIA/B TEST DEF TST05 S-REG TEST DEF TST06 EXTNL. & INTNL. PRESET TEST DEF TST07 CONCATENATED CLF TEST DEF TST08 12979B EXTENDER TEST DEF TST09 12979B EXTENDER DMA TEST DEC -1 * IOID DEF *+1 TABLE POINTER OF INTRF. SC * DEF T2.00 DEF T2.01 DEF T2.02 DEF T2.03 DEF T2.04 DEF T2.05 DEF T2.06 DEF T2.07 DEF T2.08 DEF T2.09 DEF T2.10 DEF T2.11 DEF T2.12 DEF T2.13 DEF T2.14 DEF T2.15 DEF T2.16 DEF T2.17 DEF T2.18 DEF T2.19 DEF T3.00 DEF T3.01 DEF T4.00 DEF T4.01 DEF T4.02 DEF T4.03 DEF T4.04 DEF T4.05 DEF T4.06 DEF T4.07 DEF T4.08 DEF T4.09 DEF T4.10 DEF T4.11 DEF T4.12 DEF T6.01 DEF T6.02 DEF T8.01 DEF T8.02 DEF T8.03 DEF T8.04 DEF T8.05 DEF T8.06 DEF T8.07 DEF T8.08 DEF T8.09 DE}F T8.10 DEF T8.11 DEF T8.12 DEF T8.13 DEF T8.14 DEF T8.15 DEF T8.16 DEF T8.17 DEF T8.18 DEF T9.01 DEF T9.02 DEF T9.03 DEF T9.04 DEF T9.05 DEF T9.06 DEF T9.07 DEF T9.08 DEC -1 * IOSC NOP * * BSCP1 DEF *+1 TABLE POINTER OF BASE SWITCH SC1 * DEF CPU01 DEF CPU02 DEF CPU03 DEF CPU04 DEF CPU05 DEF CPU06 DEF CPU07 DEF CPU08 DEF CPU09 DEF CPU10 DEF CPU11 DEF CPU12 DEF CPU13 DEF CPU14 DEF CPU15 DEF CPU16 DEF CPU17 DEF CPU18 DEF CPU19 DEF CPU20 DEF CPU21 DEF CPU22 DEF CPU23 DEF CPU24 DEF CPU25 DEF EXT01 DEF EXT02 DEF EXT03 DEF EXT04 DEF EXT05 DEF EXT06 DEF EXT07 DEF EXT08 DEF EXT09 DEF CPU27 DEF CPU28 DEF CPU29 DEF CPU30 DEF CPU31 DEF CPU32 DEF CPU33 DEF CPU34 DEF CPU35 DEF CPU36 DEF CPU37 DEF CPU38 DEF CPU50 DEF CPU51 DEF CPU52 DEC -1 * * BSCP2 DEF *+1 TABLE POINTER OF BASE SWITCH SC2 * DEF EXT01 DEF EXT02 DEF EXT03 DEF EXT04 DEF EXT05 DEF EXT06 DEF EXT07 DEF EXT08 DEF CPU27 DEF CPU28 DEF CPU29 DEF CPU30 DEF CPU31 DEF CPU32 DEF CPU33 DEF CPU34 DEF CPU35 DEF CPU36 DEF CPU37 DEF CPU38 DEF CPU50 DEF CPU51 DEF CPU52 DEC -1 * * * DMAPT DEF *+1 TABLE POINTER OF DMA SC'S DEF DMA1 DEF DMA2 DEF DMA3 DEF DMA4 DEF DMA5 DEF DMA6 DEC -1 HED DIAGNOSTIC CONSTANTS & STORAGE LOCATIONS SAVA NOP SAVB NOP EOLC NOP gTSTA NOP SINA NOP SINB NOP UINA NOP UINB NOP BTMP NOP LSC NOP USC NOP SCVA NOP DEC -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 . OCT 0 DEC 1,2,3,4,5,6,7,8,9,10,11,12 .60 OCT 60 .70 OCT 70 .77 OCT 77 .177 OCT 177 .7700 OCT 7700 IOM OCT 177700 S1512 OCT 170000 S1514 OCT 140000 SM14 OCT 137777 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 S812 OCT 010400 SW11 OCT 4000 SW10 OCT 2000 SW9 OCT 1000 SW87 OCT 600 SW8 OCT 400 S1412 OCT 70000 P7777 OCT 77777 S1587 OCT 100600 SWM9 OCT 176777 SWM11 OCT 173777 M1514 OCT 37777 T4TL OCT 177776 OCT 177777 .1252 OCT 125252 .0525 OCT 052525 DAF3 OCT 146314 T6S15 OCT 113560 T6S DEC 6000 T5S DEC 5000 SW150 OCT 100001 .100 OCT 100 .200 OCT 200 .204 OCT 204 .300 OCT 300 H2 OCT 102000 H6 OCT 106000 H3 OCT 103000 H7 OCT 107000 CFTT DEC -1 TSTF DEF *+1 ASC 3,TEST .TSTN ASC 2,XX// PSC ASC 6,PASS XXXXXX/ A.E OCT 105 PCB DEF *+1 STORE DECIMAL TEST OCT 0 NUMBER IN OCT 0 STRING PCBX ASC 1,XX * CPTPY DEF CPTYP LINKAGE TO SUBROUT "CPTYP" DAFRS DEF DAFSR " " " "DAFSR" T09L DEF T09 RETURN LINK TO TEST 09 * EM50 ASC 10,E050 CPU TIMED OUT/ SKP HED DIAGNOSTIC PROGRAM CONTROL * * PUT JSB INSTRUCTION IN TRAP CELL * ORG 700B TCJI NOP LDB JSBI GET JSB INSTR & STORE IT IN THE TRAP STB IOSC,I CELL OF THE SPECIFIED INTERF BOADR LDA TCJI,I GET LOCATION OF INTRPT ROUTINE & STORE IT IN STA 3B MEM LOC 3 FOR JSB INSTRUCTION ISZ TCJI ADJUST RETURN JMP TCJI,I RETURN TO CALLER * JSBI JSB 3B,I JSB INSTRUCTION * * * * SC CONVERSION FROM OCTAL TO ASCII * N2AO NOP STA IOAD SAVE NUMBER AND .+7 CONVERT FIRST IOR .60 NUMBER STA B SAVE IT LDA IOAD GET  RAR,RAR SECOND RAR NUMBER AND .+7 CONVERT IOR .60 IT ALF,ALF MOVE TO UPPER HALF IOR B ADD LOWER JMP N2AO,I AND RETURN * IOAD OCT 0 * * * MESSAGE OUTPUT WITHOUT HALT * .MSGC NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK JMP .MSGC,I RETURN TO CALLER * * * MESSAGE OUTPUT WITH HALT * .MSGH NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 2000 SWITCH 10 CHECK LDA HLT GET HALT CODE STA *+2 PUT IT IN PLACE LDA SAVA RESTORE A REGISTER NOP HALT FOR DISPLAY JMP .MSGH,I RETURN TO CALLER * SKP * * ERROR MESSAGE WITH HALT * .ERMS NOP ENTRY JSB MSG OUTPUT MESSAGE OCT 4000 SWITCH 11 CHECK CLA LDB SW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT,I HALT STA *+3 PUT HALT IN PLACE LDA SAVA RESTORE A & B LDB SAVB HLT NOP WAIT FOR OPERATOR JMP .ERMS,I RETURN TO CALLER * * * OUTPUT MESSAGE * MSG NOP STA SAVA SAVE A AND B REGISTERS STB SAVB LDB MSG,I GET SWITCH REGISTER BIT LDA MSG ADA .-2 DECREMENT RETURN ADDRESS STA MSG JSB SWRT,I CHECK TO SUPPRESS MESSAGE JMP MSG0 YES LDA MSG,I CHECK IF ERROR LDA A,I ELA,CLE,ERA LDA A,I IF SO ALF,ALF AND .177 CPA A.E JSB CFTN CHECK TO OUTPUT TEST NUMBER LDA MSG,I NO RETRIEVE FORMAT LDB A,I ADDRESS ELB,CLE,ERB CLA,CLE JSB FMTR,I MSG0 LDA MSG,I CONVERT HALT CODE LDB A,I FROM ASCII STRING ELB,CLE,ERB CCA,CCE JSB AS2N,I STA N2AO SAVE RESULT AND .300 DECODE LDB H2  HALT CODE CPA .100 LDB H6 CPA .200 LDB H3 CPA .300 LDB H7 LDA N2AO GET HALT NUMBER AND .77 IOR B STA HLT SAVE IT MSG1 LDA MSG,I LDA A,I SSA,RSS JMP MSG2 ISZ MSG,I LDB MSG ADB .+2 LDB B,I JSB SWRT,I JMP MSG1 LDA MSG,I LDB A,I ELB,CLE,ERB CLA,CLE JSB FMTR,I JMP MSG1 MSG2 ISZ MSG,I ADJUST RETURN POINTERS ISZ MSG ISZ MSG ISZ MSG LDA SAVA RESTORE A AND B REGISTERS LDB SAVB JMP MSG,I * * * * CONVERT BINARY SC TO ASCII & RETURN VALUE IN A-REG * LDSC NOP LDA IOSC LOAD SC TO A-REG & GO TO CONVERSION JSB N2AO ROUTINE JMP LDSC,I * SKP * * TEST NR. VERIFICATION & CONVERSION * CFTN NOP LDA TSTN GET TEST NUMBER CPA CFTT IS IT THE SAME ONE? JMP CFTN,I YES SKIP OUTPUT STA CFTT NO - THEN UPDATE IT CLE LDB PCB JSB I2AS,I LDB PCBX STB .TSTN CLA JSB SLOP,I CLA,CLE LDB TSTF JSB FMTR,I JMP CFTN,I * * * * SWITCH REGISTER CHECK * .SWRT NOP STA N2AO SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ .SWRT NO LDA N2AO RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP .SWRT,I RETURN TO CALLER * * * * INITIALIZE TRAP CELL HALTS * ITCH NOP LDA TSH GET STARTING TRAP CELL HALT LDB .+2 GET FIRST TRAP CELL LOCATION TSHL STA B,I PUT IT IN PLACE CPB .77 AM I FINISHED JMP ITCH,I YES INB NEXT ADDRESS JMP TSHL * TSH OCT 106077 * SKP G64006   24318-18002 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 J* * INITIALIZE SELECT CODE I/O INSTRUCTIONS * ISC NOP STA IOSC SAVE SELECT CODE IOL LDA B,I GET ADDRESS OF LOCATION CPA .-1 IS IT THE TERMINATOR JMP ISC,I YES RETURN TO CALLER STA SAVA SAVE ADDR LDA A,I GET INSTR AND IOM MASK OFF OLD SELECT CODE IOR IOSC ADD IN NEW SELECT CODE STA SAVA,I RESTORE IT INB MOVE TO NEXT ADDRESS JMP IOL DO IT * * * CONFIGURATION SECTION * .CONF JSB CONF CONFIG I-O CHANNEL JMP STEX1,I RETURN TO DIAG CONTROL * CONF NOP CLC INTP,C TURN I/O SYSTEM OFF CON1 LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND .77 ELIMINATE OPTIONS STA LSC STORE INTO LOWER SC BUFFER CMA,INA CHECK THAT SC > 7 STA B ADA .+7 SSA ? JMP *+3 OK GO ON HLT73 HLT 73B NO JMP CON1 TRY AGAIN * LDA USSC GET SC & OPTIONS AGAIN SSA IS TEST FOR EXTENDER REQUESTED? JMP IOINI YES AND .7700 NO, MASK OFF UPPER SC ALF,ALF TRANSFER 2. SC TO BITS 0-5 & RAL,RAL STORE IN UPPER SC BUFFER STA USC SZA,RSS HAS AN UPPER SC BEEN SPECIFIED? JMP IOINI NO, JUMP OVER 2. SC TEST ADA .-1 YES, CHECK IF USC > LSC ADA B SSA JMP HLT73 NO, INPUT ERROR IOINI LDA LSC YES, INITIALIZE TEST I/O TO LOWER SC LDB IOID INITIALIZE TEST I/O JSB ISC INSTRUCTIONS CLA CLEAR OTA SW SWITCH REGISTER HLT 74B ALLOW OPERATOR TO CHANGE SR OPTIONS JMP CONF,I GO TO EXEC CONTROL SECTION * STEX1 DEF STEX * * * ROUTINE TO TEST IF EXECUTION IS REQUIRED ON SEVERAL I/O BOARDS * MIOTS NOP LDA USC CHECK IF AN UPPER SC HAS BEEN SPECIFIED SZA,RSS NyJMP MIOTS,I NO, RETURN & EXIT TEST CPA IOSC YES, CHECK IF IT IS EQUAL TO CURRENT SC JMP MIOTS,I YES, RETURN & EXIT TEST LDA IOSC NO, INCREMENT CURRENT SC INA STA T4SCP,I STORE SC INTO BUFR. F ERR MSG. ISZ MIOTS INCREMENT RETURN ADDRESS & RETURN JMP MIOTS,I * T4SCP DEF T4SC * * * SUBROUTINE TO CHECK TIME OUT IN TST 04 ON INTFACE BOARDS * TOSBR NOP NOP GIVE 12554 BOARD TIME TO RESPOND T4.12 SFC CH HAS BOARD RECEIVED THE DATA? JMP TOSBR,I YES, RETURN STA TOBFR NO, STORE A-REG TO SET LDA IOSC NO, TIME OUT ERROR JSB N2AO CONVERT CURRENT SC & STA BE32+10 STORE IN MESSAGE LDA IOSC LOAD SC & PRINT ERROR E032 JSB ERMS,I MESSAGE E032 DEF BE32 LDA TOBFR RESTORE A-REG JMP TOSBR,I RETURN TO TEST * BE32 ASC 12,E032 TIME OUT ON SC XX/ * TOBFR OCT 0 * * * TRAP CELL ROUTINE FOR TEST 02, E023 * BI71 NOP CLF INTP TURN OFF INTRPT SYST JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE23+5 LDA IOSC E023 JSB ERMS,I E023 CLC CH ERR DEF BE23 JMP *+1,I DEF B72 BE23 ASC 19,E023 CLC XX DID NOT CLEAR CONTROL FF/ * SKP * * CONFIGURATION & SPECIAL HEADER MESSAGE * SUBROUTINE FOR TEST 08 OR 09 * EXTSL NOP LDA STDAS ASSUME THAT TESTS 00-07 STA STDA WILL BE SELECTED LDA USSC IS TEST FOR EXTENDER REQUESTED? SSA,RSS JMP EXTSL,I NO, STANDARD TEST ALF,ALF YES, CONVERT BUS SWITCH SC1 SPECIFIED RAL,RAL IN S-REG BITS 6-8 TO ASCII & STUFF AND .+7 INTO HEADER MESSAGE IOR .70 STA BSSC1 STORE BUS SWITCH SC1 JSB N2AO STA BH60D+11 LDA USSC DOES THE SYSTEM UNDER TEST HAVE RAL,RAL REDUNDANT EXTENDERS? (BIT 14 SET) SLA,RSS BJMP RDCPU NO, REDUNDANT CPU'S * ALF,RAL YES, REDUNDANT EXTENDERS AND .+7 CONVERT BUS SWITCH SC2 SPECIFIED IN IOR .70 S-REG BITS 9-11 TO ASCII, STUFF STA BSSC2 INTO HEADER MESSAGE & STORE JSB N2AO BUS SWITCH SC2 STA BH60E+11 LDA DFEXD LINK BH40D DEF STATEMENT WITH BIT 15 IOR SW15 STA DFEXD LDA B60BP PULL "EXTENDER" DEF STATEMENT & LINK IOR SW15 WITH BIT 15 JMP DFEB * RDCPU LDA DFEXD REDUNDANT CPU'S, REMOVE LINKAGE BIT AND P7777 IN DEF STATEMENT STA DFEXD LDA B60CP PULL "CPU" DEF STATEMENT & LINK WITH IOR SW15 BIT 15 * DFEB STA DFEXB JSB MSGC,I OUTPUT MESSAGE H040 DEF BH60A,I DFEXB NOP DFEXD DEF BH60D DEF BH60E NOP * LDA STDAX SET UP STDA FOR EXTENDER TESTS STA STDA JMP EXTSL,I * B60BP DEF BH60B B60CP DEF BH60C * SKP * BH60A OCT 6412 ASC 22,H060 12979B EXTENDER TEST, WITH REDUNDANT _ BH60B ASC 05,EXTENDERS/ BH60C ASC 05,CPU'S / BH60D ASC 13, BUS SWITCH SC1 = YY/ BH60E ASC 13, SC2 = ZZ/ * BSSC1 OCT 0 BSSC2 OCT 0 BSSCX OCT 0 * * * SUBROUTINE TO TEST THAT BOTH EXTENDERS CAN BE * DICONNECTED FROM THE CPU (TEST 08 & 09) * DISCO NOP LDA EXT09+1 CONFIGURE THE CLC INSTR FOR THE AND IOM EXTENDER ON BSSC2 IOR BSSC2 STA EXT09+1 EXT09 CLC BSC1 TURN BOTH EXTENDER OFF TO PREVENT CLC BSC2 INTERFERENCE LDA SW150 GO TO SUBROUT "DAFSR" & CHECK IF JSB DAFSP,I FLAG SET OR DATA COMPARED RSS YES, AN EXT. IS STILL CONNECTED JMP DISCO,I NO, BOTH EXT'S ARE DISCONNECTED * LDA BSSC1 CONVERT BOTH SC TO ASCII & JSB N2AO STUFF INTO MESSAGE STA BE57+5 LDA BSSC2 JSB N2AO STA BE57+9 E057 JSB ERMS,I PRINT MESSAGE DEF BE57,I DEF BE57A JMP DISCO,I * BE57 ASC 15,E057 CLC XX, CLC YY DID NOT/ BE57A ASC 16, DISCONNECT BOTH EXTENDERS/ * DAFSP DEF DAFSR * * * ROUTINE TO WARN OPERATOR OF INPUT ERROR * ER61 LDA SINA RETRIEVE PREVIOUS TEST SELECTION LDB SINB JSB ERMS,I GO TO ERR MESG 61 DEF BE61 JMP EXCX,I * EXCX DEF EXC BE61 ASC 18,E061 CONFIG & TEST SEL INCOMPATIBLE/ SKP HED DIAGNOSTIC PROGRAM CONTROL ORG 2000B STEX CLC INTP,C TURN I/O SYSTEM OFF CLE LDA DSN OUTPUT DSN LDB HDMX WITH THE JSB O2AS,I HEADER MESSAGE JSB MSGC,I PRINT HEADER DEF HDMS CLA CLEAR PASS STA EOLC COUNT JSB EXTSL CHECK IF 12979B EXTENDER TEST EXCZ LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT,I JMP USR IT'S USERS CHOICE NUSR LDA STDA GET ONE OF THE TWO LDB STDB STANDARD TEST RUNS JMP EXC * USR LIA SW READ SW-REG AND SWM9 MASK OFF BIT 9 OTA SW OUTPUT TO SW-REG LDA SINA RETRIEVE PREVIOUS RUN LDB SINB HLT 75B WAIT FOR USER INPUT EXC STA UINA SAVE STB UINB USER STA SINA INPUT STB SINB PROGRAM LDB SW9 WAS USER CHOICE REQUESTED? JSB SWRT,I JMP USR YES, RETURN FOR NEW SELECTION CCA NO, CONTINUE. STA TSTN SET TEST NUMBER TO -1 STA CFTT CLA STA TSTA CLEAR TEST RUN FLAG * EXCL LDA UINA RESTORE A REG. LDB UINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA UINA SAVE POSITIONS STB UINB ISZ TSTN MOVE TEST UP ONE NOP XCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA .-1 ZO IS IT END OF LIST JMP EOL YES LDB UINB SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TSTA YES - SAVE TEST ADDRESS JSB ITCH INITIALIZE TRAP CELL HALTS LDA TSTN CHECK IF OPERATOR CHOSE INCOM- ADA .-8 PATIBLE CONFIG & TEST SELECTION XOR USSC CHECK IF BIT 15 ARE DIFFERENT SSA,RSS JMP ER61 YES, REPORT INCOMPATIBILITY JSB TSTA,I NO, OK, GO DO TEST .EXRT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWRT,I HLT 76B YES WAIT FOR OPERATOR LDB SW9 CHECK FOR ABORT JSB SWRT,I JMP USR YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWRT,I JMP XCL1 YES - LOOP JMP EXCL CONTINUE * EOL LDA TSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP NUSR NO, SO PICK UP STANDARD RUN LDA EOLC UP DATE PASS COUNT INA STA EOLC CCE LDB PSCA GET PASS COUNT ADB .+2 ADDRESS JSB O2AS,I CONVERT IT JSB MSGC,I CALL PRINT ROUTINE PSCA DEF PSC LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT,I JMP *+3 YES LDA EOLC HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA SINA RESTORE ORIGINAL PROGRAM LDB SINB NO, STANDARD TEST JMP EXC DO IT ALL AGAIN * * * *************************************************************** SKP HED TEST 00 * * * TEST 00 * ------- * INTERRUPT FLAG CHECK (STF00, CLF00, SFS00, SFC00) * OVERFLOW REGISTER CHECK (STF01, CLF01, SFS01, SFC01) * INTERFACE BOARD(S) FLAG CHECK (STFXX, CLFXX, SFSXX, SFCXX) * * TST00 EQU * NOP JSB T00 DO BASIC I/O CLC INTP,C TURN OFF ALL I/O JMP TST00,I * T00 NOP CLC INTP,C TURN OFF ALLD? I/O * LDA IOSPT FETCH THE FIRST SOURCE ADDRESS OF STA IOSAD THE INSTRUCTION TABLE & STORE IN IOSAD CLA SET SC=00 (INTRPT) INTO THE VALUE STA SCVA OF THE SC JSB IO1 EXERCISE TEST W STANDARD CLF,STF,SFS,SFC JSB IO1 " " " SPECIAL CLF,STF JSB IO1 " " " " SFC,SFS JSB IO1 " " " STANDARD SFC,C SFS,C SFS JSB IO1 " " " SPECIAL SFC,C SFS,C SFS * LDA IOSPT RECONFIGURE THE SC TO 01 (OVERFLOW REG) STA IOSAD & REPEAT THE SAME TESTS AS ABOVE ISZ SCVA JSB IO1 JSB IO1 JSB IO1 JSB IO1 JSB IO1 * LDA LSC RECONFIGURE THE SC TO THE SPECIFIED STA SCVA INTERFACE CARD & REPEAT THE SAME T00RP LDA IOSPT TESTS AS ABOVE EXCLUDING STA IOSAD THE LAST 2 SUBROUTINES JSB IO1 BECOUSE OF 21MX M-SERIES JSB IO1 REV. 1813 & LATER) JSB IO1 * LDA USC LOAD THE UPPER SC SZA,RSS IS ONE? JMP T00,I NO, EXIT TEST CPA SCVA YES, IS IT = SC JUST TESTED JMP T00,I YES, EXIT TEST ISZ SCVA NO, INCREMENT SC & REPEAT TEST JMP T00RP * SKP * * SUBROUTINE TO SET THE INSTRUCTION COUNTER TO 7, * SET THE DESTINATION & SOURCE ADDRESSES, * CONFIGURE THE I/O INSTRUCTIONS & RUN ONE TEST LOOP * IO1 NOP LDA .-7 7 I/O INSTR HAVE TO BE CONFIGURED & STA ISCT MOVED INTO THE TEST LDB IODPT STORE DESTINATION ADDRESS OF STB IODAD 1. INSTRUCTION IN GROUP AWAY JSB STIO CONFIGURE & STORE I/O INSTR INTO TEST JSB BIO1 EXERCISE TEST JMP IO1,I * ISCT OCT 0 * * * * SUBROUTINE TO PULL I/O INSTRUCTION FROM SOURCE, * CONFIGURE IT & STORE IT INTO THE DESTINATION IN * THE TEST. (SC MUST BE IN SCVA, NUMBER OF INSTR * TO BE MOVED IN ISCT, DESTINATION ADDRESS OF 1. * INSTRUCTION IN "IODAD" AND SOURCE ADDRESS OF NEXT * INSTRUCTION IN "IOSAD") * STIO NOP LDA IOSAD,I LOAD INSTR FROM SOURCE IOR SCVA CONFIGURE I/O INSTR LDB IODAD,I FETCH DESTIN. ADDRESS POINTER STA B,I STORE INSTR VIA POINTER INTO TEST * ISZ IOSAD INCREMENT SOURCE ADDRESS NOP ISZ ISCT CHECK IF PREDEFINED # OF I/O INSTR RSS HAVE BEEN TRANSFERED? JMP STIO,I YES, EXIT SUBROUTINE ISZ IODAD NO, INCREMENT DESTINATION ADDRESSES NOP JMP STIO+1 RETURN FOR TRANSFER OF NEXT INSTR * IOSAD OCT 0 IODAD OCT 0 SKP * * SUBROUTINE TO TEST STF, CLF, SFS & SFC INSTRUCTIONS * BIO1 NOP NOP TOGGLE FLAG ON, NOP THEN OFF NOP IS IT CLEARED? E000 JSB ER000 NO, ERROR NOP YES, IS IT SET? RSS NO, OK E001 JSB ER001 YES, ERROR NOP SET FLAG NOP IS IT SET? E002 JSB ER002 NO, ERROR NOP YES, IS IT CLEARED? RSS NO, OK E003 JSB ER003 YES, ERROR JMP BIO1,I * SKP * * I/O INSTRUCTION TABLE TO BE CONFIGURED & * TRANSFERED INTO TEST * IOSPT DEF *+1 * OCT 102100 STF OCT 103100 CLF OCT 102200 SFC OCT 102300 SFS OCT 102100 STF OCT 102300 SFS OCT 102200 SFC * OCT 102100 STF OCT 107100 CLF WITH BIT 11 SET OCT 102200 SFC OCT 102300 SFS OCT 106100 STF " " " " OCT 102300 SFS OCT 102200 SFC * OCT 102100 STF OCT 103100 CLF OCT 106200 SFC WITH BIT 11 SET OCT 106300 SFS " " " " OCT 102100 STF OCT 106300 SFS " " " " OCT 106200 SFC " " " " * OCT 102100 STF OCT 103100 CLF OCT 103200 SFC,C OCT 102300 SFS OCT 102100 STF OCT 103300 SFS,C OCT 102300 SFS * OCT 102100 STF OCT 103100 CLF OCT 107200 SFC,C WITH BIT 11 SET OCT 102300 SFS OCT 102100 STF OCT 107300 SFS,C " " " " OCT 106300 SFS WITH BIT 11 SET * OCT 177777 SKP * * DESTINATION ADDRESSES OF I/O INSTRUCTIONS * IODPT DEF *+1 * DEF BIO1+1 DEF BIO1+2 DEF BIO1+3 DEF BIO1+5 DEF BIO1+8 DEF BIO1+9 DEF BIO1+11 * SKP * * ERROR SUBROUTINE, CONVERTS THE 2 FAILING INSTRUCTIONS * TO ASCII & STORES THEM INTO THE ERROR MESSAGE STRING, * INSERTS THE CURRENT SC INTO THE ERROR MESSAGE STRINGS, * CHECKS THE ENTERY POINTS TO THE SUBROUTINES & OUTPUTS * ERROR MESSAGES. * ER000 NOP CLA STA ENPTC LDA E000-2 LDB E000-1 JMP STLOK ER001 NOP LDA .+1 STA ENPTC LDA E001-5 LDB E001-2 MARK THE ENTERY POINT IN "ENPTC" & JMP STLOK LOAD THE 2 FAILING INSTRUCTIONS ER002 NOP FROM THE TEST & JUMP TO THE LDA .+2 ERROR SUBROUTINE STA ENPTC LDA E002-2 LDB E002-1 JMP STLOK ER003 NOP LDA .+3 STA ENPTC LDA E003-5 LDB E003-2 * STLOK CLC INTP,C TURN ALL I/O OFF STA FIINS STORE THE 2 FAILING INSTRUCTIONS STB SEINS CLE CONVERT THE 2 FAILING INSTRUCTIONS FROM LDB BEADP OCTAL TO ASCII & STORE THEM INTO JSB O2AS,I THE "BEAD" STRING. CCE LDA SEINS LDB BEADP ADB .+3 JSB O2AS,I * LDA SCVA CONVERT THE SC WHICH IS STORED IN JSB N2AO MEM LOC "SCVA" FROM OCTAL TO STA BE00+5)640 ASCII & STORE IT INTO THE STA BE01+5 ERROR MESSAGES E000, E001, STA BE02+5 E002 & E003. STA BE03+5 STA BESC * SKP * LDA FIINS DETERMEN ENTERY POINT OF ERROR LDB ENPTC SUBROUTINE SO THAT CORRECT SZB,RSS ERROR MESSAGE CAN BE JMP EX000 ACCESSED. CPB .+1 JMP EX001 CPB .+2 JMP EX002 * EX003 LDB SEINS OUTPUT THE APPROPRIATE JSB ERMS,I ERROR MESSAGE DEF BE03,I DEF BESC,I DEF BEAD JMP ER003,I EX002 LDB SEINS JSB ERMS,I DEF BE02,I DEF BESC,I DEF BEAD JMP ER002,I EX001 LDB SEINS JSB ERMS,I DEF BE01,I DEF BESC,I DEF BEAD JMP ER001,I EX000 LDB SEINS JSB ERMS,I DEF BE00,I DEF BESC,I DEF BEAD JMP ER000,I * * ENPTC OCT 0 FIINS OCT 0 SEINS OCT 0 * BEADP DEF BEAD+3 * BE00 ASC 09,E000 CLF XX SFC _ BE01 ASC 09,E001 CLF XX SFS _ BE02 ASC 09,E002 STF XX SFS _ BE03 ASC 09,E003 STF XX SFC _ BESC ASC 04,XX ERR/ BEAD ASC 10, XXXXXX XXXXXX/ * * * *************************************************************** SKP 6   24318-18003 1810 S 0122 I/O INSTRUCTION GROUP DIAGNOSTIC             H0101 J HED TEST 01 * * * TEST 01 * ------- * OVERFLOW REGISTER CHECK. THE TEST IS DIVIDED INTO * 2 SECTIONS: THE 1. SECTIONS TESTS THE SETTING OF * THE OVERFLOW REGISTER BY ADA/B AND INA/B INSTRUC- * TIONS. THE 2. SECTION TESTS THE EAU INSTRUCTIONS * WHICH SET OR CLEAR THE OVERFLOW REGISTER. * * TST01 EQU * NOP JSB T01 CLC INTP,C JMP TST01,I * * * THIS SECTION TESTS THE SETTING OF THE OVERFLOW REG. * CAUSED BY ADA/B AND INA/B INSTRUCTIONS. * T01 NOP LDA INPPT GET TABLE POINTER TO FETCH THE 2 INSTR. OVTST LDB A,I FETCH THE 1. INSTR & CHECK IF END OF CPB .-1 TABLE HAS BEEN REACHED JMP EAUIN YES, EXIT STB TLO1 NO, STORE 1. INSTR INTO TEST INA INCR. TABLE POINTER LDB A,I FETCH 2. INSTR & STB TLO2 STORE IT INTO TEST INA INCR. TABLE POINTER STA INPTR & STORE IT * CLO START TEST BY CLEARING OVERFLOW REG TLO1 NOP TLO2 NOP SOS IS OVERFLOW SET E004 JMP ER04 NO, ERROR LDA INPTR YES, GET TABLE POINTER & JMP OVTST RETURN SKP * * INSTRUCTION TABLE FOR ADA/B & INA/B INSTR. * INPPT DEF *+1 * LDA P7777 ADA .+1 LDA .+1 ADA P7777 LDB P7777 ADB .+1 LDB .+1 ADB P7777 LDA SW14 ADA SW14 POSITIVE OVERFLOW W ADA/B INSTR LDB SW14 ADB SW14 LDA P7777 ADA P7777 LDB P7777 ADB P7777 LDA P7777 ADA .+2 LDB P7777 ADB .+2 * LDA SW15 ADA .-1 LDA .-1 ADA SW15 LDB SW15 ADB .-1 LDB .-1 ADB SW15 LDA SM14 ADA SM14 NEGATIVE OVERFLOW W ADA/B INSTR LDB SM14 ADB SM14 LDA SW15 ADA SW15 LDB SW15 ADB SWy15 LDA SW15 ADA .-2 LDB SW15 ADB .-2 * LDA P7777 INA POSITIVE OVERFLOW WITH LDB P7777 INA/B INSTR. INB * OCT 177777 SKP * * ERROR SUBROUTINE FOR OVERFLOW REGISTER TEST * CAUSED BY ADA/B OR INA/B INSTRUCTIONS. * ER04 NOP CLC INTP,C TURN OFF ALL I/O LDA TLO2 DETERMEN IF THE INSTRUCTION AND S1412 EXECUTED IN TLO2 IS AN AD* STA LIBUF INSTRUCTION CPA SW14 JMP ADA.B YES LDB INCIN NO, IN* INSTR, STORE "IN" IN ST1AS STB BE04+12 ERROR ASCII STRING LDA TLO2 DETERMEN IF THE INSTR EXECUTED AND SW11 IN TLO2 REFERENCES THE B-REG CPA SW11 JMP B.REG YES LDB A.BLK NO, A-REG IS REFERENCED, STORE "A" ST2AS STB BE04+13 IN ERROR ASCII STRING JMP DATLN B.REG LDB B.BLK STORE B-REG JMP ST2AS ADA.B LDB ADINS STORE "AD" JMP ST1AS * DATLN LDA LIBUF CHECK IF FAILING INSTR SZA,RSS WAS AN AD* JMP INERM NO, IN* -> SINGLE LINE ERR MESSAGE LDA TLO1 YES, AD* -> OUTPUT DATA WORDS ADDED AND SWM11 CONVERT THE 1. FETCHED INSTR TO A STA FDAWD LDA & STORE IT IN THE LAST ROUTINE STA O2AR1 & IN THE OCTAL TO ASCII CONV ROUT CLE O2AR1 NOP CONVERT THE 1. DATA WORD TO ASCII LDB BE4DP & STORE IN "BE4D" JSB O2AS,I * LDA TLO2 CONVERT THE 2. FETCHED INSTR IOR SW13 TO A LDA & STORE IT INTO AND SWM11 THE OCTAL TO ASCII CONVERTION STA O2AR2 ROUTINE IOR SW11 CONVERT IT TO A LDB & STORE STA SDAWD IT IN THE LAST ROUTINE CLE O2AR2 NOP CONVERT THE 2. DATA WORD TO ASCII LDB BE4DP & STORE IN "BE4D" ADB .+4 JSB O2AS,I * SKP * FDAWD NOP LOAD A-REG WITH 1|. DATA WORD SDAWD NOP LOAD B-REG WITH 2. DATA WORD & JSB ERMS,I OUTPUT DUAL LINE ERR MESSAGE DEF BE04,I FOR FAILING ADA/B INSTR. DEF BE4D JMP E004+1 * INERM JSB ERMS,I OUTPUT SINGLE LINE ERROR MESSAGE DEF BE04 FOR FAILING INA/B INSTR JMP E004+1 * INPTR OCT 0 LIBUF OCT 0 ADINS OCT 40504 INCIN OCT 44516 A.BLK OCT 40440 B.BLK OCT 41040 * BE4DP DEF BE4D+6 * BE04 ASC 17,E004 OV REG NOT SET BY XXX INSTR/ BE4D ASC 14, DATA: XXXXXX YYYYYY/ SKP * * THIS SECTION TESTS THE SETTING & CLEARING OF * THE OVERFLOW REG BY EXECUTING EAU INSTR. * THE OVERFLOW REG SHOULD BE SET BY: * ASL, IF AN OVERFLOW OCCURES, * DIV, IF DIVIDEND IS TOO BIG OR DIVISOR = 0 * THE OVERFLOW REG SHOULD BE CLEARED BY: * MPY, ARS OR ALS IF NO OVERFLOW OCCURES. * EAUIN LDA CPTO CHECK IF EAU IS PRESENT ARS IN CPU SLA,RSS JMP T01,I NO, EXIT TEST * CLC INTP,C YES, TURN OFF ALL I/O CLO PERFORM EAU INSTR TEST CLA SET 010000,000000 INTO B & LDB SW12 A-REG & PERFORM AN ASL 4 ASL INSTR. SOC IS OVERFLOW CLEARED? JMP *+3 NO, OK E005 JSB ERMS,I YES, ERROR DEF ER05 * CLO SET 037777,100000 INTO B & LDB M1514 A-REG & PERFORM A LDA SW15 DIV BY 077777 DIV P7777 SOC IS OVERFLOW CLEAR? JMP *+3 NO, OK E006 JSB ERMS,I YES, ERROR DEF ER06 * CLO CLB SET 000000,000001 INTO B & LDA .+1 A-REG & PERFOCRM A DIV . DIV BY 0 SOC IS OVERFLOW CLEAR? JMP *+3 NO, OK E007 JSB ERMS,I YES, ERROR DEF ER07 * STO CLA,INA SET A-REG TO 1 & PERFORM A MPY SW12 MPY BY 10000 SOS IS OVERFLOW SET? JMP *+3 NO, OK E010 JSB ERMS,I YES, ERROR DEF ER10 * SKP STO CLA SET 010000 & 000000 INTO B & LDB SW12 A-REG & PERFORM AN ASL 2 ASL INSTRUCTION SOS IS OVERFLOW SET? JMP *+3 NO, OK E011 JSB ERMS,I YES, ERROR DEF ER11 * STO CLA SET 010000 & 000000 INTO B & LDB SW12 A-REG & PERFORM AN ASR 2 ASR INSTRUCTION SOS IS OVERFLOW SET? JMP *+3 NO, OK E012 JSB ERMS,I YES, ERROR DEF ER12 JMP T01,I EXIT TEST * * ER05 ASC 18,E005 ASL W. OVFW DID NOT SET OV REG/ ER06 ASC 14,E006 DIV W. DIVIDEND TOO BIG OCT 6412 ASC 12, DID NOT SET OV REG/ ER07 ASC 17,E007 DIV BY 0 DID NOT SET OV REG/ ER10 ASC 15,E010 MPY DID NOT CLEAR OV REG/ ER11 ASC 15,E011 ASL WITHOUT OVFW DID NOT OCT 6412 ASC 09, CLEAR OV REG/ ER12 ASC 15,E012 ASR DID NOT CLEAR OV REG/ * * * *************************************************************** SKP HED TEST 02 * * * TEST 02 * ------- * INTERRUPT TEST. THIS TEST IS DIVIDED INTO 4 ROUTINES. * THE 1. CHECKES THE CAPABILITY TO TURN OFF THE INTRPT * SYSTEM AFTER INITIATON. THE 2. TESTS THE INTERPT * HOLD OFF BY I/O INSTRUCTIONS, JMP,I & JSB,I & THE * PROPER OCCURENCE OF INTRPTS. THE 3. CHECKS THE CLC SC * & THE CLC 0 INSTRUCTIONS AND THE LAST ONE CHECKS THE * STC SC,C & CLC SC,C INSTRUCTIONS. * * TST02 EQU * NOP JSB T02 CLC INTP,C JMP TST02,I * * * 1. TURN OFF INTERRUPT AFTER INITIALIZATION * T02 NOP LDA LSC GET 1. SC OF INTERFACE BOARD LDB IOID GET I/O INSTRUCTION TABLE POINTER JSB ISC & CONFIGURE I/O INSTRUCTIONS CLC INTP,C JSB TCJI SET JSB INSTR INTO TRAP CELL DEF B3E OF INTFACE BOARD T2.00 STF CH SET THE FLAG T2.01 STC CH SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TO INTERRUPT NOP NOP T2.02 CLF CH RESET CH FLAG JMP BIO5 * BE13 ASC 22,E013 CLF 0 DID NOT INHIBIT INTRPT ON SC XX/ * B3E NOP CLF INTP TURN OFF INTS JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE13+20 LDA IOSC E013 JSB ERMS,I OUTPUT ERROR MESSAGE DEF BE13 SKP * * 2. INERRUPT HOLD OFF & INTERRUPT CHECK * BIO5 JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI15 OF INTERFACE BOARD CLA SET UP STA BF5 FLAGS STA BI15 FOR TEST STA BTMP T2.03 STC CH TURN ON T2.04 STF CH CARD STF INTP AND INTRPT SYSTEM STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCUR DEF *+1 * HERE JSB *+1,I * DEF *+1 * BF5 NOP * ISZ BTMP INT. SHOULD BE HERE ISZ BTMP CLF INTP TURN I/O SYSTEM OFF LDA BI15 DID IT INTERRUPT? SZA JMP *+7 JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE16+10 LDA IOSC E016 JSB ERMS,I E016 NO INT DEF BE16 JMP BIO6 ABORT REST OF SECTION LDA BTMP CHECK FOR CORRECT INTERRUPT CPA .+2 ? JMP *+3 E020 JSB ERMS,I E020 INT EXECUTION ERROR DEF BE20 T2.05 CLF CH TURN OFF CH FLAG JMP BIO6 GO TO NEXT SECTION * BD5 DEF BF5-1 BD5A DEF BF5+1 * BE14 ASC 22,E014 INTRPT F. SC XX DURING HOLD OFF INSTR/ BE15 ASC 19,E015 SECOND INTRPT OCCURRED F. SC XX/ BE16 ASC 12,E016 NO INTRPT F SC XX/ BE17 ASC 13,E017 INTRPT RTN ADDR ERR/ BE20 ASC 13,E020 INTRPT EXECUTION= ERR/ SKP BI15 NOP CLF INTP TURN I/O SYSTEM OFF LDA BD5 CHECK TO SEE IF ALL CPA BF5 INSTRUCTION COMPLETED JMP *+6 YES JSB LDSC NO, LOAD SC INTO ERROR MESSAGE & A-REG STA BE14+9 LDA IOSC E014 JSB ERMS,I E014 INT DURING HOLD OFF DEF BE14 LDA BD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA BI15 JMP BI15A E017 JSB ERMS,I E017 INT RTN ADDR ERROR DEF BE17 JMP BIO6 BI15A JSB TCJI SET SECOND INT TRAP DEF BT15 STF INTP TURN I/O SYSTEM ON JMP BI15,I CONTINUE TEST * BT15 NOP CLF INTP TURN I/O SYSTEM OFF JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE15+17 LDA IOSC E015 JSB ERMS,I E015 SECOND INT OCURRED DEF BE15 * SKP * * 3. CLC CH AND CLC 0 * BIO6 JSB TCJI SET JSB INSTRUCTION DEF BI61 T2.06 STC CH SET CH CONTROL T2.07 STF CH SET CH FLAG STF INTP TURN ON INTERRUPTS T2.08 CLC CH CLEAR CH CONTROL NOP GIVE IT A CHANCE NOP NOP CLF INTP TURN INTS OFF B60 JSB TCJI SET JSB INSTRUCTION DEF BI62 T2.09 CLF CH CLEAR CH FLAG T2.10 STC CH SET CH CONTROL T2.11 STF CH SET CH FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP NOP CLF INTP TURN OFF INTS JMP BIO7 * BI61 NOP CLF INTP TURN OFF INTRPTS JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE21+5 LDA IOSC E021 JSB ERMS,I E021 CLC CH ERROR DEF BE21 JMP B60 * BI62 NOP CLF INTP TURN OFF INTS E022 JSB ERMS,I E022 CLC 0 ERROR DEF BE22 JMP BIO7 EXIT SECTION * BE21 ASC 9,E021 CLC XX ERR/ BE22 ASC 8,E022 CLC 0 ESRR/ * SKP * * 4. STC SC,C TEST * BIO7 JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI71 OF INTRF BOARD T2.12 STC CH,C TURN ON CHANNEL CONTROL STF INTP TURN ON INTRPT SYST T2.13 CLC CH DISABLE THE CHANNEL CONTROL NOP NO INTRPT NOP SHOULD OCCURE NOP HERE * B72 CLC INTP,C TURN ALL I/O OFF JSB TCJI SET JSB INSTR INTO TRAP CELL DEF BI72 OF INTRF BOARD T2.14 STC CH,C TURN ON CHANNEL CONTROL STF INTP TURN ON INTRP SYST NOP WAIT FOR 12554 INTERFACE BOARD NOP NOP INTRPT SHOULD OCCUR HERE CLF INTP TURN INTRPT OFF JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE16+10 LDA IOSC E016A JSB ERMS,I E025 NO INTRPT ON CHANNEL DEF BE16 (BOARD REQUIRES TEST CONNECTOR) * CLC INTP,C TURN ALL I/O OFF T2.15 STC CH,C TURN ON CHANNEL CONTROL & NOP GIVE THE BOARD TIME TO REPLY NOP NOP T2.16 SFC CH DID BOARD ANSWER BACK? JMP *+6 YES, OK JSB LDSC LOAD SC INTO ERROR MESSAGE & A-REG STA BE26+8 LDA IOSC E026 JSB ERMS,I NO, ERROR DEF BE26 * T2.17 STF CH TURN ON CHANNEL CONTROL T2.18 CLC CH,C CLEAR CHANNEL CONTROL & FLAG NOP GIVE 12554 BOARD TIME TO RESPOND NOP NOP T2.19 SFS CH DID CLC,C INSTR CLEAR THE FLAG? JMP *+6 CHECK IF TEST IS FINISHED JSB LDSC LOAD SC INTO ERROR MASSAGE & A-REG STA BE27+5 LDA IOSC E027 JSB ERMS,I E027 CLC CH,C INSTR DID NOT CLEAR FLAG DEF BE27 * JSB MIOTS CHECK IF TEST IS REQUIRED ON SEVERAL BOARDS JMP T02,I NO, EXIT TEST JMP T02+2 YES, REENTER TEST & REPEAT WITH NEW SC SKP * * EXPECTED INTRPT ROUTINE * BI72 NOP EXPECTED INTRPT OCCURED rCLF INTP JMP T2.15-1 RETURN TO TEST * BE26 ASC 20,E026 CARD IN SC XX DID NOT REPLY W FLAG/ BE27 ASC 17,E027 CLC XX,C DID NOT CLEAR FLAG/ * * * *************************************************************** SKP HED TEST 03 * * * TEST 03 * ------- * SELECT CODE SCREEN TEST * ORG 4000B TST03 EQU * NOP JSB T03 CLC INTP,C JMP TST03,I * T03 NOP LDA LSC GET SC OF 1. INTF. BOARD LDB IOID GET I/O INSTR. TABLE POINTER JSB ISC & CONFIGURE I/O INSTR CLC INTP,C LDB .+8 START WITH LOWEST ADDRESS B40 LDA IOSC GET SELECT CODE STORED BY SUBROUT "ISC" CPB A IS IT = TO THE BOARD UNDER TEST? JMP .CLF+1 YES - SKIP TEST LDA .STF NO, CONFIGURE STF INSTR. AND IOM WITH SC. IOR B STA .STF PUT IT IN PLACE LDA .CLF SET UP AND IOM IOR B CLF INSTRUCTION STA .CLF PUT IT IN LINE T3.00 CLF CH CLEAR FLAG ON BOARD UNDER TEST .STF STF CH EXECUTE STF CH INSTR ON ALL OTHER SC'S NOP GIVE 12554 BOARD TIME TO REPLAY NOP NOP T3.01 SFC CH TEST FLAG ON BOARD UNDER TEST JMP B41 .CLF CLF CH CLEAR FLAG ON ALL OTHER SC'S CPB .77 IS TEST FINISHED? JMP T03RT YES INB NO JMP B40 DO NEXT CHANNEL * T03RT JSB MIOTS CHECK IF TEST IS REQUIRED ON SEVERAL I/O BOARD JMP T03,I NO, EXIT TEST JMP T03+2 YES, REENTER TEST WITH NEXT BOARDS SC * SKP * BE30 ASC 19,E030 STF XX SET BOARD FLAG ON SC YY/ * B41 STB BTMP SAVE INTERFERING CHANNEL NUMBER LDA B CONVERT INTERFERING CH FOR MESSAGE JSB N2AO STA BE30+5 LDA IOSC CONVERT INTERFERED BOARDS SC JSB N2AO FOR MESSAGE STA BE30+17 LDA BTMP RETRIEVE SC hbNUMBERS LDB IOSC E030 JSB ERMS,I E030 DEF BE30 JMP T03RT EXIT ROUTINE * * * ***************************************************************** SKP HED TEST 04 * * * TEST 04 * ------- * THIS TEST CHECKS THE OTA/B, LIA/B & MIA/B * INSTRUCTIONS ON SC'S 01 (S-REG), SC 02 & * 03 (IF DMA IS INSTALLED) AND THE INTERFACE * BOARD(S) UNDER TEST. * TST04 EQU * NOP JSB T04 CLC INTP,C JMP TST04,I * * * TEST EXECUTION ON SC 01 (S-REG) * T04 NOP CLC INTP,C TURN OFF ALL I/O JSB CPTY CHECK IF COMPUTER IS A 2115/16 JMP C1516 YES, SKIP S-REG SUBTEST * LIA 1B NO, STORE SELECTED DIAGNOSTIC STA SREBF OPIONS AWAY LDA .+1 STORE SC 01 INTO STA T4SC SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O TO SC 1 JSB T4S1 EXECUTE TEST ON SC 1 T4RT1 LDA SREBF RESTORE SELECTED DIAGNOSTIC OTA 1B OPTIONS * * * TEST EXECUTION ON SC 02 (WORD COUNT REG ON DMA 1) * C1516 LDA CPTO CHECK IF DMA IS PRESENT AND .204 SZA,RSS JMP T4IB NO DMA, SKIP THIS SUBTEST * LDA .+2 STORE SC 2 INTO STA T4SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O INSTR TO SC 2 STC 2B SET DMA TO ACCEPT BLOCK LENGTH JSB T4S1 EXECUTE TEST ON SC 2 * SKP * * TEST EXECUTION ON SC 03 (WORD COUNT REG ON DMA 2) * T4RT2 LDA CPTO CHECK IF DUAL DMA IS PRESENT AND .+4 SZA,RSS JMP T4IB NO, ITS A 2114 * LDA .+3 STORE SC 3 INTO STA T4SC BUFFER LDB IOT41 LOAD I/O ADDRESS POINTER JSB ISC CONFIGURE I/O INSTR TO SC 3 STC 3B SET DMA TO ACCEPT BLOCK LENGTH JSRr<:6B T4S1 EXECUTE TEST ON SC 3 * * * TEST EXECUTION ON THE 1. SELECTED INTERFACE BOARD * (LONG TEST EXECUTION) * T4IB CLA STORE NOP'S INTO TEST SUBOUTINE STA T4I1 FOR LONG TEST EXECUTION (65536 STA T4I2 TRANSFERS) STA T4I3 STA T4I4 LDA LSC GET SC OF 1. INTERFACE BOARD, STA T4SC STORE SC INTO BUFR FOR ERR MSG & LDB IOID CONFIGURE I/O INSTR. JSB ISC JSB T4S2 EXECUTE TEST ON INTERFACE BOARD * * * TEST EXECUTION ON ALL SELECTED INTERFACE BORDS EXCEPT * THE FIRST ONE (4 TRANSFERS ONLY PER BOARD) * T4RT4 LDA JSB4A STORE JSB INTO TEST SUBROUTINE FOR STA T4I1 SHORT TEST EXECUTION STA T4I3 LDA JSB4B STA T4I2 STA T4I4 JSB MIOTS CHECK IF TEST IS REQUIRED ON OTHER I/O JMP T04,I NO, EXIT TEST LDB IOID YES, GET I/O INSTR. TABLE POINTER & JSB ISC CONFIGURE I/O INSTR. JSB T4S2 EXECUTE TEST ON NEXT I/O BOARD JMP *-5 & RETURN * SKP 3<  24318-18004 1810 S 0122 I/O INSTRUCTION/CHANNEL              H0101 * * SUBROUTINE TO TEST OTA/B, LIA/B & MIA/B ON * SC 01, SC 02 & SC 03 * T4S1 NOP CLA STA T4FG SET TEST FLAG TO OTA - LIB STB T4OG STORE ORIGN. VALUE OF B-REG T41 OTA 0B TEST OTA - LIB LIB 0B CPA B JMP *+2 JSB T4ER1 ISZ A JMP T41-1 * INB CLEAR B-REG ISZ T4FG SET TEST FLAG TO OTB - LIA STA T4OG STORE ORIGN. VALUE OF A-REG T42 OTB 0B TEST OTB - LIA LIA 0B CPB A JMP *+2 JSB T4ER1 ISZ B JMP T42-1 * INA CLEAR A-REG ISZ T4FG SET FLAG TO OTA - MIB STA T4ABF STORE VALUE TO BE OUTPUT STB T4BBF STORE VALUE TO BE MERGED INTO T43 OTA 0B MIB 0B TEST OTA - MIB IOR T4BBF CREATE EXPECTED MERGED VALUE CPA B & CHECK IF COMPARE JMP *+2 YES JSB T4ER1 NO, ERROR LDA T4ABF INCREMENT THE VALUE TO BE ISZ A OUTPUT JMP T43-2 * SKP * INB CLEAR B-REG ISZ T4FG SET FLAG TO OTB - MIA STA T4ABF STORE VALUE TO BE MERGED INTO STB T4BBF STORE VALUE TO BE OUTPUT T44 OTB 0B MIA 0B TEST OTB - MIA STA T4ARS STORE MERGED VALUE TO FREE A-REG LDA T4BBF FOR IOR OF EXPECTED VALUE IOR T4ABF STA T4ART STORE IT TO RELOAD A-REG W MERGED LDA T4ARS VALUE IN CASE OF ERROR CPA T4ART & COMPARE ACTUAL W EXPECTED VALUE JMP *+2 YES, OK JSB T4ER1 NO, ERROR ISZ B INCREMENT THE VALUE TO BE OUTPUT JMP T44-2 * JMP T4S1,I * SKP * * SUBROUTINE TO TEST OTA/B, LIA/B & MIA/B * ON INTERFACE BOARD. * T4S2 NOP LDA T4ORG ESTABLISH TABLE POINTER IN CASE STA T4PT OF SHORT INSTR. EXECUTION CLA  STA T4FG STB T4OG T4.00 OTA CH TEST OTA - LIB T4.01 STC CH,C JSB TOSBR T4.02 LIB CH CPA B JMP *+2 JSB T4ER1 T4I1 NOP NOP FOR LONG, JSB FOR SHORT INSTR EXEC ISZ A JMP T4.00-1 * LDA T4ORG ESTABLISH TABLE POINTER IN CASE STA T4PT OF SHORT INSTR. EXECUTION CLA CLB ISZ T4FG STA T4OG T4.03 OTB CH TEST OTB - LIA T4.04 STC CH,C JSB TOSBR T4.05 LIA CH CPB A JMP *+2 JSB T4ER1 T4I2 NOP NOP FOR LONG, JSB FOR SHORT INSTR EXEC ISZ B JMP T4.03-1 * SKP * LDB T4ORG ESTABLISH TABLE POINTER FOR STB T4PT SHORT INSTR EXEC CLB CLA CLEAR A-REG ISZ T4FG SET FLAG TO OTA - MIB STA T4ABF STORE VALUE TO BE OUTPUT STB T4BBF STORE VALUE TO BE MERGED INTO T4.06 OTA CH T4.07 STC CH,C TEST OTA - LIB JSB TOSBR T4.08 MIB 0B IOR T4BBF CREATE EXPECTED MERGED VALUE CPA B & CHECK IF COMPARE JMP *+2 YES JSB T4ER1 NO, ERROR LDA T4ABF LOAD VALUE TO BE OUTPUT (IF IN LONG TEST) T4I3 NOP NOP FOR LONG, JSB FOR SHORT TEST ISZ A INCREMENT THE VALUE TO BE OUTPUT JMP T4.06-2 * LDA T4ORG ESTABLISH TABLE POINTER IN CASE OF STA T4PT SHORT INSTR EXEC CLA CLB CLEAR B-REG ISZ T4FG SET FLAG TO OTB - MIA STA T4ABF STORE VALUE TO BE MERGED INTO STB T4BBF STORE VALUE TO BE OUTPUT T4.09 OTB CH T4.10 STC CH,C TEST OTB - MIA JSB TOSBR T4.11 MIA CH STA T4ARS STORE MERGED VALUE TO FREE A-REG LDA T4BBF FOR IOR OF EXPECTED VALUE IOR T4ABF STA T4ART STORE IT TO RELOAD A-REG W MERGED LDA T4ARS VALUE IN CASE OF ERROR CPA T4ART & COMPARE ACTUAL W EXPECTED VALUE JMP *+2 YES, OK JSB T4ER1 NO, ERROR T4I4 NOP NOP FOR LONG, JSB FOR SHORT EXEC ISZ B INCREMENT THE VALUE TO BE OUTPUT JMP T4.09-2 * JMP T4S2,I * SKP * * SUBROUTINE TO SUPPLY 4 DATA VALUES TO BE TRANSFERED * TO THE I/O BOARD FOR SHORT EXECUTION TEST * T4AMD NOP FETCH DESIRED DATA VALUE W A-REG LDA T4PT,I ISZ T4PT JMP T4AMD,I * T4BMD NOP FETCH DESIRED DATA VALUE W B-REG LDB T4PT,I ISZ T4PT JMP T4BMD,I * JSB4A JSB T4AMD JSB INSTR TO BE STORED INTO TEST SUBROUT JSB4B JSB T4BMD FOR SHORT TEST * T4ORG DEF T4TL STARTING TABLE POINTER T4PT OCT 0 MOVING TABLE POINTER * * * * SUBROUTINE TO TEST FOR 2115/16 COMPUTERS * (IF COMPUTER IS NOT A 2115/16 RETURN ADDRESS * IN "CPTY" IS INCREMENTED) * CPTY NOP LDA CPTO LOAD COMPUTER TYPE & CHECK IF AND S1512 IT IS A 2115 CPA SW14 JMP CPTY,I YES, EXIT AND S1514 NO, CHECK IF IT IS A 2116 SZA,RSS JMP CPTY,I YES, EXIT ISZ CPTY NO, INCREMENT RETURN ADDRESS JMP CPTY,I & EXIT * SKP * * ERROR HANDLING SUBROUTINE FOR TEST 04 * * STORE OTA/B, LIA/B, MIA/B INTO ERROR MESSAGE * T4ER1 NOP STA T4A STORE BOTH REG AWAY STB T4B LDB SREBF IN CASE THAT ERR ROUTINE WAS ENTERED LDA IOSC FROM DATA TRANSFER VIA S-REG (SC 1) CPA .+1 RESTORE SELECTED DIAGNOSTIC OTB 1B OPTIONS LDB T4FG FROM WHERE WAS ROUTINE ENTERED? LDA AS.TA LOAD A-REG W ASCII "TA" SLB IS IT AN OTA INSTR? INA NO, LOAD B-REG W ASCII "TB" STA BE31+3 YES, STORE "TA" OR "TB" INTO MESSAGE LDA AS.IA LOAD B-REG W ASCII "IA" SLB,RSS IS IT A *IB INSTR? INA YES, LOAD A-~REG W ASCII "IB" STA BE31+7 NO, STORE "IB" OR "IA" INTO MESSAGE * * STORE "A/B"-REG INTO ERROR MESSAGE * LDA AS..A LOAD A-REG W ASCII " A" SLB IS IT AN A-REG? INA NO, CONVERT IT TO " B" STA BE311+11 YES, STORE IT IN DATA OUTPUT LDA AS..A SLB,RSS INA STA BE312+11 STORE IT IN DATA INPUT STA BE313+11 STORE IT IN ORIG. DATA * * STORE TRANSFERED DATA WORDS INTO ERROR MESSAGE * LDA T4A ASSUME THAT IT WAS AN OTA SLB IS THAT CORRECT? LDA T4B NO, IT WAS AN OTB CLE YES, CONVERT THE OUTPUTTED DATA LDB B31PT WORD TO ASCII & STUFF IT JSB O2AS,I INTO MESSAGE LDB T4FG LOAD TEST FLAG AGAIN LDA T4B ASSUME THAT IT WAS A *IB SLB IS THAT CORRECT? LDA T4A NO, IT WAS A *IA CLE YES, CONVERT THE INPUTTED DATA LDB B31PU WORD TO ASCII & STUFF IT JSB O2AS,I INTO ERROR MESSAGE LDA T4OG CONVERT THE ORIG DATA CLE WORD TO ASCII & STUFF IT LDB B31PV INTO ERROR MESSAGE JSB O2AS,I * SKP * * STORE "L" OR "M" INTO ERROR MESSAGE * LDA AS..L ASSUME THAT ROUTINE WAS ENTERED LDB T4FG FROM AN OT* - LI* TEST BRS,SLB IS THAT CORRECT? INA NO, WAS ENTERED FROM A OT* - MI* STA BE31+6 YES, ENTER IT INTO ERROR MESSAGE * * STORE SC INTO ERROR MESSAGE * LDA T4SC LOAD A-REG WITH SC JSB N2AO CONVERT SC TO ASCII STA BE31+4 & STORE IT INTO MESSAGE STA BE31+8 * * OUTPUT THE E031 ERROR MESSAGE * LDA T4A YES, LOAD A-REG W OUTPUT LDB T4B & B-REG W RECEIVED DATA E031 JSB ERMS,I OUTPUT ERROR MESSAGE E031 DEF BE31,I DEF BE311,I DEF BE312,I DEF BE313 * LDA T4SC DETERMEN RETURN POSITION TO NEXT CPA .+1 SC IN TEST, 04 AFTER ERROR MESSAGE JMP T4RT1 CPA .+2 JMP T4RT2 CPA .+3 JMP T4IB JMP T4RT4 SKP * SREBF OCT 0 T4FG OCT 0 T4A OCT 0 T4B OCT 0 T4OG OCT 0 T4ABF OCT 0 T4BBF OCT 0 T4ARS OCT 0 T4ART OCT 0 AS.TA OCT 52101 AS.IA OCT 44501 AS..A OCT 20101 AS..L OCT 20114 T4SC OCT 0 * IOT41 DEF *+1 * DEF T41 DEF T41+1 DEF T42 DEF T42+1 DEF T43 DEF T43+1 DEF T44 DEF T44+1 DEC -1 * B31PT DEF BE311+15 B31PU DEF BE312+15 B31PV DEF BE313+15 BE31 ASC 12,E031 OT*SC - LI*SC ERR/ BE311 ASC 19, DATA OUTPUT FROM *-REG XXXXXX/ BE312 ASC 19, DATA INPUT INTO *-REG YYYYYY/ BE313 ASC 19, ORIGINAL DATA IN *-REG ZZZZZZ/ * * * ***************************************************************** SKP HED TEST 05 * * * TEST 05 * ------- * THIS TEST CHECKS THE MANUAL INTERVENTIONS * TO THE S-REG * * TST05 EQU * NOP LDB S812 CHECK IF TEST SHALL BE SUPPRESSED JSB SWRT,I ? JMP *+2 YES, SKIP S-REG TEST JSB T05 NO, PERFORM TEST CLC INTP,C JMP TST05,I * * * OUTPUT 1. MESSAGE TO CONSOLE REQUESTING * "125252" INPUT ON S-REG * T05 NOP CLC INTP,C TURN OFF ALL I/O LIA 1B STORE SELECTED DIAGNOSTIC STA SREBF OPTIONS AWAY AND SW10 CLEAR THE S-REG FOR INPUT EXEPT S-REG OTA 1B BIT 10 (SUPPRESS NON ERR MSG) LDA .1252 FETCH VALUE TO BE OUTPUT JSB H033 & GO TO H033 OUTPUT SUBROUTINE * * * TEST LIA/B FROM S-REG WITH 125252 * LDA CPR STORE "CPA .1252" INTO TEST STA CPA IOR SW11 STORE "CPB .1252" INTO TEST STA CPB CLA SET TEST FLAG TO "LIA 125252" STA T4FG JSB T5S1 EXERCISE TEST * * * TEST MIA/B FROM S-REG WIHTH 125252 * LDA LOAD STORE "LDA .1252" INTO TEST STA LDA LDA INOR STORE "IOR .1252" INTO TEST STA IOR ISZ T4FG SET TEST FLAG TO "MIA 125252" JSB T5S2 EXERCISE TEST * SKP * * OUTPUT 2. MESSAGE TO CONSOLE REQUESTING * "52525" INPUT ON S-REG * LDA SREBF CLEAR THE S-REG FOR NEW INPUT EXEPT AND SW10 S-REG BIT 10 OTA 1B LDA .0525 FETCH VALUE TO BE OUTPUT & JSB H033 GO TO H033 OUTPUT ROUTINE * * * * TEST LIA/B FROM S-REG WITH 052525 * LDA CPR STORE "CPA .0525" INTO TEST INA STA CPA IOR SW11 STORE "CPB .0525" INTO TEST STA CPB ISZ T4FG SET TEST FLAG TO "LIA 052525" JSB T5S1 * * * TEST MIA/B FROM S-REG WITH 052525 * LDA LOAD STORE "LDA .0525" INTO TEST INA STA LDA LDA INOR STORE "IOR .0525" INTO TEST INA STA IOR ISZ T4FG SET TEST FLAG TO "MIA 052525" JSB T5S2 EXERCICE TEST * * * * EXIT ROUTINE FOR TEST 05 * T5EX LDA SREBF RESTORE SELECTED DIAGNOSTIC OTA 1B OPTIONS JSB CPTY CHECK IF CPU IS A 2115/16 JSB SREST YES, OUTPUT MESSAGE H034 JMP T05,I NO, EXIT * SKP * * SUBROUTINE TO OUTPUT INSTRUCTION MESSAGE * H033 NOP LDB B33PT CLE JSB O2AS,I STORE NUMBER INTO ASCII STRING JSB MSGH,I OUTPUT MESSAGE DEF BE33 JMP H033,I * * * SUBROUTINE TO TEST LIA/B FROM S-REG * T5S1 NOP CLA STA T5BUF CLEAR A-REG & STORE IN BUFFER LIA 1B READ S-REG IN CPA NOP COMPARE AGAINST EXPECTED VALUE JMP *+2 YES, OK JSB T5ER NO, ERROR LDA T5BUF INCREMENT THE ORIG A-REG VALUE ISZ A & REPEAT JMP T5S1+2 * ISZ T4FG SET TEST FLAG TO "LIB 125252" OR "LIB 052525" CLB STB T5BUF CLEAR B-REG & STORE IN BUFFER LIB 1B READ S-REG IN CPB NOP COMPARE AGAINST EXPECTED VALUE JMP *+2 YES, OK JSB T5ER NO, ERROR LDB T5BUF INCREMENT THE ORIG B-REG VALUE ISZ B & REPEAT JMP CPB-2 JMP T5S1,I * * * SUBROUTINE TO TEST MIA/B FROM S-REG * T5S2 NOP CLA STA T5BUF CLEAR A-REG & STORE IN BUFFER MIA 1B MERGE S-REG IN & STORE AWAY STA T5MRG FOR IOR OPERATION LDA NOP LOAD A-REG W EXPECTED INPUTTED PATTERN IOR T5BUF IOR ORIG CONTENTS & COMPARE CPA T5MRG AGAINST MERGED IN VALUE JMP *+2 OK JSB T5ER ERROR LDA T5BUF INCREMENT THE ORIG BUFFER ISZ A & REPEAT OPERATION JMP T5S2+2 * SKP * ISZ T4FG SET TEST FLAG TO "MIB 125252" OR "MIB 052525" CLB STB T5BUF CLEAR B-REG & TRANSFER CONTENTS TO LDA B A-REG FOR IOR OPERATION MIB 1B MERGE S-REG IN IOR NOP IOR EXPECTED VALUE CPA B & COMPARE JMP *+2 OK JSB T5ER ERROR LDB T5BUF INCREMENT THE ORIG BUFFER ISZ B & REPEAT OPERTION JMP IOR-3 JMP T5S2,I * * * * OUTPUT MESSAGE TO RESTORE DIAGN. OPTIONS IN S-REG * SREST NOP H035 JSB MSGH,I RESTORE S-REG IF CPU IS A 2115/16 DEF BE35 JMP SREST,I * SKP * * * ERROR SUBROUTINE FOR TEST 05 * T5ER NOP STA T4A STORE BOTH REG AWAY STB T4B LDB T4FG LOAD TEST FLAG LDA AS.IA ASSUME THAT ROUTINE WAS ENTERED SLB FROM A LIA/MIA TEST INA NO, FROM A LIB/MIB TEST STA BE34+3 STORE "A" OR "B" INTO ERR MESSAGE * LDA AS..A STORE "A" OR "B" INTO THE SLB QF FOURTH LINE OF THE ERR INA MESSAGE (*-REG) STA BE313+11 * LDA T4A ASSUME THAT THE ACTUAL VALUE SLB WAS STORED IN T4A LDA T4B NO, IN T4B LDB B342P CONVERT VALUE TO ASCII & CLE STORE IN MESSAGE JSB O2AS,I "ACTUAL VALUE" * LDA T5BUF CONVERT "ORIG DATA" TO LDB B31PV ASCII & STORE IN STRING ADA .+4 CLE JSB O2AS,I * LDB T4FG LOAD TEST FLAG LDA AS..L ASSUME THAT ROUTINE WAS ENTERED BRS,SLB FROM A LIA/B CHECK INA NO, FROM A MIA/B CHECK STA BE34+2 STORE "L" OR "M" INTO 1. LINE * LDA .1252 ASSUME THAT EXPECTED VALUE = 125252 (LIA/B) SZB,RSS IS THAT CORRECT? JMP EXPVA YES LDA .0525 NO, ASSUME THAT EXP. VALUE = 052525 (LIA/B) SLB,RSS IS THAT CORRECT? JMP EXPVA YES LDA T4A NO, ASSUME THAT EXP VALUE IS IN T4A (MIA) LDB T4FG & CHECK TEST FLAG FOR A-REG SLB LDA T4B NO, ITS A MIB INSTR EXPVA CLE CONVERT EXPECTED VALUE TO ASCII LDB B341P & STORE IT INTO 2. LINE JSB O2AS,I * SKP * LDA SREBF TRY TO RESTORE ORIG S-REG SO THAT MSG OTA 1B CAN BE SKIPPED IF BIT 11 SET LDA T4FG A = EXPECTED, B = ACTUAL VALUE LDB T4A ASSUME THAT THE ACTUAL VALUE SLA WAS STORED IN T4A. TRUE? LDB T4B NO, IN T4B ARS,SLA WAS EXPECTED VALUE = 125252? JMP *+3 NO, 052525 LDA .1252 YES RSS LDA .0525 E033 JSB ERMS,I OUTPUT ERROR MESSAGE E033 DEF BE34,I DEF BE341,I DEF BE342,I DEF BE313 JMP T5EX GO TO EXIT ROUTINE * * * T5BUF OCT 0 T5MRG OCT 0 * CPR CPA .1252 LOAD LDA .1252 INOR IOR .1252 * B33PT DEF *+10 BE33 ASC 18,H033 SET S-REG TO XbXXXXX, PRESS RUN/ * B342P DEF BE342+15 B341P DEF BE341+15 BE34 ASC 14,E034 XI* FAILED FROM S-REG/ BE341 ASC 19, EXPECTED VALUE XXXXXX/ BE342 ASC 19, ACTUAL VALUE YYYYYY/ * BE35 ASC 21,H035 RESET S-REG TO DESIRED PROGR OPTIONS, OCT 6412 ASC 08, PRESS RUN/ * * * *************************************************************** SKP HED TEST 06 * * * TEST 06 * ------- * EXTERNAL & INTERNAL PRESET TEST * * TST06 EQU * NOP LDB S812 CHECK TO SUPPRESS TEST JSB SWRT,I ? JMP *+2 YES, SKIP PRESET TEST JSB T06 CLC INTP,C TURN OFF ALL I/O JMP TST06,I RETURN TO CALLER * T06 NOP CLC INTP,C TURN OFF ALL I/O H024 JSB MSGC,I TELL OPERATOR DEF BM24 PRESS PRESET * T6.01 CLF CH CLEAR CH FLAG STF INTP TURN ON INTS JSB TCJI SET TRAP CELL JSB INSTRUCTION DEF BI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLF INTP TURN OFF INTRPT T6.02 SFS CH CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS SKP B70 SLA,RSS CHECK FOR ERRORS JMP *+3 E040 JSB ERMS,I E040 DID NOT CLEAR CONTROL DEF BE40 RAR SLA,RSS JMP *+3 E041 JSB ERMS,I E041 I/O LINES NOT CLEAR DEF BE41 RAR SLA,RSS JMP *+3 E036 JSB ERMS,I E036 FLAG NOT SET DEF BE36 RAR SLA,RSS JMP *+<:63 E037 JSB ERMS,I E037 DID NOT DIABLE INTS DEF BE37 JMP T06,I RETURN TO CALLER * BI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP B70 * BE36 ASC 17,E036 PRESET(EXT) DID NOT SET FLAG/ BE37 ASC 20,E037 PRESET(INT) DID NOT DISABLE INTRPT/ BE40 ASC 20,E040 PRESET(EXT) DID NOT CLEAR CONTROL/ BE41 ASC 21,E041 PRESET(EXT) DID NOT CLEAR I-O LINES/ BM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ * * * *************************************************************** SKP )<  24318-18005 1810 S 0122 I/O INSTRUCTION/CHANNEL              H0101  HED TEST 07 * * * TEST 07 * ------- * THIS TEST CHECKS THE CONCATENATED CLF WITH MIA/B, * LIA/B AND OTA/B INSTRUCTIONS. * TST07 EQU * NOP JSB T07 CLC INTP,C JMP TST07,I * T07 NOP CLC INTP,C TURN OFF ALL I/O LDA .+1 TEST OVERFLOW REG JSB T7TCS LDA LSC TEST CLF ON 1. INTF. BOARD JSB T7TCS JMP T07,I * * * SUBROUTINE TO CONFIGURE I/O INSTR & EXECUTE INSTR * WITH CLF ATTACHED. * T7TCS NOP STA T4SC STORE & CONFIGURE SC OF I/O INSTR LDB T7CPT JSB ISC CLA SET ERR FLAG TO 0 STA T7EFG T7.01 STF CH MIA CH,C TEST CLF CONCATENATED TO MIA JSB T7TST MIB CH,C " " " " MIB JSB T7TST LIA CH,C " " " " LIA JSB T7TST LIB CH,C " " " " LIB JSB T7TST OTA CH,C " " " " OTA JSB T7TST OTB CH,C " " " " OTB JSB T7TST JMP T7TCS,I * SKP * * SUBROUTINE TO TEST FLAG & OUTPUT ERROR MESSAGE * T7TST NOP T7.02 SFC CH CHECK IF FLAG WAS CLEARED JMP *+4 NO, ERROR STF CH YES, OK. SET FLAG FOR NEXT CHECK & ISZ T7EFG INCREMENT ERR FLAG JMP T7TST,I * LDA T7EFG DETERMEN MEM LOG OF STORED I/O INSTR ALS ASCII STRING BY CALCULATING: ADA .+4 (ERR FLAG * 2) + 4 + START ADDRESS LDB ER51P,I ADA B LDB A,I LOAD B-REG WITH 1.& 2. ASCII STRING & STB ER42+3 STORE IN ERR MESSAGE INA LDB A,I STB ER42+4 * LDA T4SC CONVERT FAILING SC JSB N2AO STA ER42+5 * E042 JSB ERMS,I PRINT ERR MESSAGE DEF ER42 ISZ T7EFG INCREMENT ERR FLAG JMP T7TST,I * * ER42  ASC 18,E042 XXX YY,C FAILED TO CLEAR FLAG/ * ER51P DEF ER51 T7EFG OCT 0 * T7CPT DEF *+1 * DEF T7.01 DEF T7.01+1 DEF T7.01+3 DEF T7.01+5 DEF T7.01+7 DEF T7.01+9 DEF T7.01+11 DEF T7.02 DEF T7.02+2 DEC -1 * * * *************************************************************** SKP HED TEST 08 * * * TEST 08 * ------- * THIS TEST CHECKS THE SPECIAL SWITCHING CAPABILITIES * OF EITHER ONE 12979B EXTENDER UNDER PROGRAM CONTROL * OF TWO CPU'S, OR TWO I/O EXTENDERS UNDER PROGRAM * CONTROL OF ONE CPU. DURING CONFIGURATION OF THE * DIAGNOSTIC THIS TEST MUST BE SELECTED WITH THE HELP * OF S-REG BIT 15. IF THIS TEST IS SELECTED TESTS * 00 - 07 CAN NOT BE EXECUTED. * * ORG 6000B TST08 EQU * NOP JSB T08 CLC INTP,C JMP TST08,I * T08 NOP CLC INTP,C TURN OFF ALL I/O JSB CPTYP CHECK IF 21MX OR 21XE LDA BSSC1 CONFIGURE BUS SWITCH SC1 LDB BSCP1 JSB ISC LDA BSSC1 TRANSFER CURRENT BASE SC STA BSSCX INTO BUFFER * LDA USSC IS TEST REQUESTED ON REDUNDANT CPU'S? RAL SSA JMP EXTST NO, REDUNDANT EXTENDERS * SKP * * * *** TEST ONE EXTENDER CONNECTED TO TWO REDUNDANT CPU'S *** * * LDA .-4 SET LOOP COUT TO -4 STA T8CNT CPU01 STC BSC1 GET SWITCH LDA T5S LOAD TIME CONSTANT (5 SEC) JSB DAFSR GO TO FLAG, DATA CHECK & WAIT SUBROUT. JMP CPUNT TRANSFER DID NOT TIME OUT * * * TRANSFER TIMED OUT ON THIS CPU. THIS IS EITHER "CPU#2" * OR STC 7X FROM OTHER CPU DOES NOT WORK * LDA SW11 LOAD A TIME CONSTANT OF 2 SEC & GO TO JSB DAFSR FLAG, DATA CHECK & WAIT SUBROUTINE JMP FL08A SWITCH TAKEN BY OTHER CPU BEFORE 2 SEC E044 JSB MSGC",I TIME OUT ERROR, OTHER CPU DID NOT TAKE DEF ER44 SWITCH OR STC 7X ON OTHER CPU DID LDA CW02 NOT WORK (WILL OUTPUT E044 JSB FLDTC FOLLOWED BY E043) * FL08A LDA .+10 WAIT 10 MSEC TO ALLOW OTHER CPU TO JSB TMRR,I TEST ITS CAPABILITY TO GET THE CPU02 STC BSC1 SWITCH, THEN TAKE SWITCH & CHECK LDA CW01 IF RECEIVED JSB FLDTC JSB T08RC GO TO INFINITE WAIT LOOP FOR RESINC * ** STC 7X WORKS FROM BOTH CPU'S. TEST CLF 7X INSTR. ** * LDA CW04 CHECK IF OTHER CPU'S CLF INSTR DID NOT JSB FLDTC THROW SWITCH TO THIS CPU (<130 MSEC) LDA .+1 WAIT 1 MSEC TO LET OTHER CPU REACH JSB TMRR,I WAIT LOOP CPU03 STC BSC1 TAKE SWITCH TO RESINC BOTH CPU'S * CPU08 CLF BSC1 THROW SWITCH TO NEUTRAL POS.& CHECK LDA CW03 THAT SWITCH IS NO MORE CONNECTED TO JSB FLDTC THIS CPU (< 130 MICROSEC) * ** CLF 7X WORKS FROM BOTH CPU'S. TEST CLC 7X INSTR ** * LDA .+1 WAIT 1 MSEC TO LET OTHER CPU REACH JSB TMRR,I 2 MSEC WAIT LOOP, THEN TAKE SWITCH CPU09 STC BSC1 & GO TO WAIT LOOP FOR RESINC JSB T08RC LDA .+2 WAIT 2 MSEC BEFORE CHECKING THAT JSB TMRR,I OTHER CPU HAS THROWN SWITCH TO LDA CW06 THIS CPU JSB FLDTC * SKP * CPU12 CLC BSC1 THROW SWITCH BACK & CHECK THAT IT LDA CW05 IS GONE JSB FLDTC * ** CLC 7X WORKS FROM BOTH CPU'S. TEST SFC 7X INSTR ** * LDA .+5 WAIT 5 MSEC TO ASSURE THAT OTHER CPU JSB TMRR,I REACHED WAIT LOOP FOR RESINC CPU13 STC BSC1 RESINC BOTH CPU'S, THEN THROW SWITCH CPU14 CLF BSC1 TO NEUTRAL POS. & CHECK THAT IT IS LDA CW03 GONE JSB FLDTC * LDA SW8 WAIT 0.25 SEC TO ALLOW OTHER CPU TO JSB TMRR,I CHECK THAT SWITCH WAS NOT RECEIVED LDA CW08 CHECK THAT SFC IN OTHER CPU DID NOT JSB FLDTC THROW SWITCH TO THIS CPU * CPU22 STC BSC1 TAKE SWITCH FOR RESINC LDA .+2 WAIT 2 MSEC TO LET OTHER CPU TAKE JSB TMRR,I SWITCH & PUT IT TO NEUTRAL * LDA CW04 CHECK THAT CLF IN OTHER CPU DID NOT JSB FLDTC THROW SWITCH TO THIS CPU CPU17 SFC BSC1 TAKE SWITCH FROM NEUTRAL POS. JSB SKPER ERROR, SHOULD HAVE SKIPPED LDA CW07 CHECK THAT SWITCH WAS RECEIVED JSB FLDTC JSB T08RC GO TO WAIT LOOP FOR RESINC * CPU19 SFC BSC1 TRY TO TAKE SWITCH & CHECK THAT RSS IT WAS NOT POSSIBLE JSB SKPRE ERROR, SHOULD NOT HAVE SKIPPED LDA CW09 CHECK THAT SWITCH NOT RECEIVED JSB FLDTC WITH SFC LDA S1587 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS JSB ER50 TIME OUT ERROR * LDA .+1 WAIT 1 MSEC JSB TMRR,I * LDA CW10 CHECK THAT SFC AFTER CLC ON OTHER JSB FLDTC CPU DID NOT TAKE SWITCH * ** SFC WORKS FOR BOTH CPU'S. THIS CPU HAS THE SWITCH & IS * THE LAST ONE TO FINISH. MAKE IT CPU#1 & RETURN. * LDA SW8 WAIT 0.25 SEC BEFORE RESINC JSB TMRR,I * SKP CPU23 CLC BSC1 WAIT 2 MSEC TO LET OTHER CPU LDA .+2 CHECK CLC AGAIN, THEN TAKE SWITCH JSB TMRR,I BACK AND RETURN TO LOOP WITH CPU25 STC BSC1 10 MSEC TIME OUT LDA .+10 ISZ T8CNT INCREMENT LOOP COUNT RSS JMP NQIP GO TO LAST TEST SECTION JMP CPU01+2 * NQIP JSB NQI TEST UNDEFINED I/O INSTR LDA SW9 WAIT 0.5 SEC TO LET OTHER CPU JSB TMRR,I CHECK UNDEFINED I/0 INSTR JMP T08,I SKP * * TRANSFER DID NOT TIME OUT ON THIS CPU. "CPU#1" * OTHER CPU TOOK EXTENDER AFTER THIS ONE QRGOT IT OR * STC 7X FROM THIS CPU DOES NOT WORK. * CPUNT LDA T6S LOAD TIME CONSTANT (6 SEC) & WAIT TO JSB TMRR,I ASSURE OTHER CPU TIMES OUT (6 SEC) CPU04 STC BSC1 GET SWITCH, FETCH CONTROL WORD & LDA CW01 CHECK IF SWITCH WAS TAKEN JSB FLDTC * LDA .60 WAIT FOR 48 MSEC TO LET OTHER CPU TIME JSB TMRR,I OUT & TAKE THE SWITCH, THEN CHECK LDA CW02 THAT SWITCH IS GONE JSB FLDTC * ** STC WORKS FROM BOTH CPU'S. TEST CLF 7X INSTR. ** CPU05 STC BSC1 TAKE SWITCH TO RESINC BOTH CPU'S CPU06 CLF BSC1 THROW SWITCH TO NEUTRAL POS. & CHECK LDA CW03 THAT SWITCH IS NO MORE CONNECTED TO JSB FLDTC THIS CPU (< 130 MICROSEC) * CPU07 STC BSC1 TAKE SWITCH TO START RESINC OF BOTH CPU'S JSB T08RC THEN GO INTO WAIT LOOP FOR RESINC LDA CW04 CHECK IF OTHER CPU'S CLF INSTR DID NOT JSB FLDTC THROW SWITCH TO THIS CPU (<130 MICSEC) * ** CLF 7X WORKS FORM BOTH CPU'S. TEST CLC 7X INSTR ** * LDA .+2 WAIT 2 MSEC TO LET OTHER CPU REACH JSB TMRR,I RESINC WAIT LOOP CPU10 STC BSC1 TAKE SWITCH TO RESINC LDA .+1 TIME OUT FOR 1 MSEC TO ASSURE THAT JSB TMRR,I CPU GOT OUT OF SINC WAIT LOOP, CPU11 CLC BSC1 THEN THROW SWITCH TO OTHER CPU LDA CW05 & CHECK THAT IT'S GONE JSB FLDTC LDA .+2 WAIT 2 MSEC JSB TMRR,I * LDA CW06 CHECK THAT SWITCH WAS THROWN TO JSB FLDTC THIS CPU BY OTHER ONE * ** CLC 7X WORKS FROM BOTH CPU'S. TEST SFC 7X INSTR ** * JSB T08RC GO INTO WAIT LOOP FOR RESINC LDA .+1 WAIT 1 MSEC, THEN CHECK THAT JSB TMRR,I SWITCH WAS NOT THROWN BACK LDA CW04 TO THIS CPU JSB FLDTC * CPU15 SFC BSC1 TAKE SWITCH FROM NEUTRAL POS JSB SKPER ERROR, SHOULD HAVE SKIPPED LDA CW07 CHECK THAT SWITCH WAS RECEIVED JSB FLDTC * LDA SW87 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS OK JSB ER50 TIME OUT ERROR * CPU24 STC BSC1 CPU16 CLF BSC1 PUT SWITCH TO NEUTRAL POS & CHECK LDA CW03 THAT GONE JSB FLDTC * LDA SW8 WAIT 0.25 SEC TO LET OTHER CPU CHECK JSB TMRR,I THAT SFC IS OK, THEN CHECK THAT LDA CW08 SWITCH WAS NOT THROWN TO THIS JSB FLDTC CPU * CPU18 STC BSC1 RESINC BOTH CPU'S, THEN WAIT 0.25 SEC LDA SW8 JSB TMRR,I LDA CW10 CHECK THAT SFC ON OTHER CPU DID NOT JSB FLDTC TAKE SWITCH FROM THIS CPU * CPU20 CLC BSC1 GIVE SWITCH TO OTHER CPU CPU21 SFC BSC1 TRY TO TAKE IT BACK & CHECK IT IS RSS NOT POSSIBLE (NOT IN NEUTRAL) JSB SKPRE ERROR, SHOULD NOT HAVE SKIPPED LDA CW09 CHECK THAT SWITCH WAS NOT JSB FLDTC RECEIVED WITH SFC * ** SFC WORKS ON BOTH CPU'S. (THIS IS THE 1. CPU TO FINISH. * OTHER CPU HAS THE SWITCH. MAKE THIS CPU#2 & RETURN. LDA S1587 WAIT UP TO 0.38 SEC FOR RESPONSE JSB DAFSR FROM OTHER CPU RSS OK, RESINCED BY OTHER CPU JSB ER50 TIME OUT ERROR * LDA CW06 CHECK AGAIN THAT OTHER CPU COULD JSB FLDTC THROW SWITCH TO THIS CPU LDA .+5 WAIT 5 MSEC BEFORE RETURN JSB TMRR,I ISZ T8CNT INCREMENT LOOP COUNT RSS JMP LTS08 GO TO LAST TEST SECTION JMP CPU01 * LTS08 LDA SW8 WAIT FOR 0.25 SEC, THEN GO TO JSB TMRR,I LAST TEST SECTION JSB NQI JMP T08,I * SKP * * *** TEST TWO REDUNDANT EXTENDERS CONNECTED TO ONE CPU *** * * EXTST LDA .-4 SET LOOP COUNTER TO -4 STA EXCNT JSB DISCO CHECK IF BOTZWH EXT'S CAN BE DISCON * EXT01 STC BSC1 TAKE SWITCH & CHECK IF RECEIVED LDA CW01 JSB FLDTC * EXT02 CLC BSC1 THROW SWITCH TO OTHER PORT & LDA CW05 CHECK IF GONE JSB FLDTC * EXT03 STC BSC1 TAKE SWITCH & CHECK, THEN THROW LDA CW01 IT TO NEUTRAL POSITION & CHECK JSB FLDTC EXT04 CLF BSC1 LDA CW03 JSB FLDTC * EXT05 SFC BSC1 GET SWITCH & CHECK SKIP CONDITON, JSB SKPER THEN CHECK IF RECEIVED LDA CW07 JSB FLDTC EXT06 CLC BSC1 THROW SWITCH TO OTHER PORT & CHECK LDA CW05 THEN TRY TO TAKE IT & CHECK THAT JSB FLDTC IT'S NOT POSSIBLE & NO SKIP EXT07 SFC BSC1 OCCURED RSS JSB SKPRE LDA CW09 JSB FLDTC * JSB NQI TEST UNDEFINED I/O INSTRUCTIONS * ISZ EXCNT INCREMENT LOOP COUNT JMP EXT01 & REPEAT * LDA EXT01 SEPARATE SC & CHECK IF TEST HAS AND .77 BEEN RUN ON BSC2 CPA BSSC2 JMP T08,I YES, EXIT TEST LDA BSSC2 NO, RECONFIGURE THIS PART OF LDB BSCP2 TEST WITH BUS SWITCH SC2, CHANGE JSB ISC BUS SW SC BUFFER & REPEAT LDA BSSC2 PROCESS ON 2. EXTENDER STA BSSCX JMP EXTST * EXCNT OCT 0 * SKP * CW01 OCT 102421 STC DID NOT CONCT EXT TO THIS CPU CW02 OCT 004421 STC DID NOT CONCT EXT TO OTHER CPU CW03 OCT 003104 CLF DID NOT RELES EXT F. THIS CPU CW04 OCT 002444 CLF CONCTED EXT TO THIS CPU CW05 OCT 003102 CLC DID NOT RELES EXT F. THIS CPU CW06 OCT 102422 CLC DID NOT CONCT EXT TO THIS CPU CW07 OCT 152430 SFC DID NOT CONCT EXT TO THIS CPU, SWCH IN NEUTR CW08 OCT 052450 SFC CONCTED EXT TO THIS CPU, SWCH IN NEUTR CW09 OCT 072450 SFC CONCTED EXT TO THIS CPU, SWCH NOT NEUTR CW10 OCT 173210 SFC RELESED EXT F. THIS CPU, SWCH NOT NEUTR * T8CNT OCT 0 * c ER44 ASC 14,E044 THIS CPU TIMED OUT OR/ * * * SUBROUTINE TO PUT CPU IN WAIT LOOP FOR RESINC WITH * OTHER CPU. STAY THERE UNTIL SWITCH IS GONE. * T08RC NOP T8.01 STC CH,C TURN BOARD ON NOP NOP NOP T8.02 SFS CH IS FLAG SET? RSS NO, BOARD TAKEN OR NO FLAG JMP T8.01 YES, BOAD STILL IN POSSESSION T8.17 SFC CH DO WE STILL HAVE BOARD? JMP T08RC,I NO, BOARD TAKEN JSB E045 YES, ERROR * * * * FLAG ERROR FROM INTERFACE BOARD * E045 NOP JSB ERMS,I DEF ER45 JMP T08,I * ER45 ASC 18,E045 FLAG FF STAYS CLEARED ON INTF./ * SKP * * SUBROUTINES FOR SKIP FAILURES OF SFC 7X INSTRUCTION * SKPER NOP SHOULD HAVE SKIPPED BUT DID NOT JSB ERMS,I DEF ER46 JMP SKPER,I * ER46 ASC 20,E046 NO SKIP ON SFC & SWITCH IN NEUTRAL/ * * SKPRE NOP SHOULD NOT HAVE SKIPPED BUT DID JSB ERMS,I DEF ER47 JMP SKPRE,I * ER47 ASC 22,E047 SKIPPED ON SFC & SWITCH ON OTHER PORT/ * * * * TIME OUT SUBROUTINE * ER50 NOP JSB ERMS,I DEF EM50 JMP T08,I * * * * SUBROUTINE TO CHECK THAT CPU IS A 21MX OR 21XE * CPTYP NOP LDA CPTO IS CPU A 21MX/XE? SSA JMP CPTYP,I YES, RETURN JSB ERMS,I NO, OUTPUT ERROR MESSAGE DEF ER52 LDA CPTYP DETERMEN EXIT ADDRESS OF CMA TEST & RETURN TO CONTROL ADA .+3 PROGRAM CMA IOR SW15 JMP A,I * ER52 ASC 15,E052 TEST ILLEGAL ON THIS CPU/ SKP * * SUBROUTINE TO CHECK FLAG & DATA TRANSFER EVERY MSEC * (TIMER ERROR < +5% DUE TO OVERHEAD OF SUBROUTINE) * INPUT: A-REG BIT 15: IF SET: EXIT ROUTINE AS SOON AS FLAG * GETS SET AND DATA TRANSFER SUCCESSFUL * IF CLEARED: EXIT ROUTINE AS SOON AS *  FLAG IS NOT SET OR DATA TRANSFER * FAILED. * BIT 14-0: IF ROUTINE DOES NOT EXIT, TIME OUT * AFTER SPECIFIED NUMBER OF MSEC (OCTAL) * OUTPUT: IF TIME OUT WAS REACHED: P _ P+2 * IF EXITED BEFORE TIME OUT: P _ P+1 * DAFSR NOP STA DAF1 STORE INPUTTED VALUE PRELIMINARILY AND P7777 SEPERATE TIMING CONSTANT, 2TH COMPLEM. CMA,INA & STORE STA DAF2 DAFRT LDA DAF1 GET VALUE AGAIN, SEPARATE SWITCH AND SW15 SETTING & STORE STA DAF1 LDB DAF3 LOAD DATA PATTERN & SEND DATA T8.03 OTB CH T8.04 STC CH,C NOP GIVE 12554 BOARD TIME TO REPLY NOP SSA,RSS IS BIT 15 SET? JMP T8.07 NO, IT'S CLEARED * T8.05 SFS CH YES, WAS FLAG SET? JMP *+4 NO T8.06 LIA CH YES, CHECK IF DATA COMPARES ALSO CPA B JMP DAFSR,I FLAG SET & DATA COMPARES, RETURN JMP DACTN FLAG NOT SET OR DATA NOT COMPARE, CONTINUE * T8.07 SFS CH WAS FLAG SET? JMP DAFSR,I NO, FLAG NOT SET, RETURN T8.08 LIA CH YES, CHECK IF DATA COMPARES CPA B JMP DACTN YES, CONTINUE JMP DAFSR,I NO, DATA DOES NOT COMPARE, RETURN * DACTN LDA .+1 WAIT FOR 1 MSEC IN TIMER JSB TMRR,I ISZ DAF2 HAS TIME OUT BEEN REACHED? JMP DAFRT NO, RETRY AGAIN ISZ DAFSR YES, INCREMENT RETURN ADDRESS NOP JMP DAFSR,I & RETURN * DAF1 OCT 0 DAF2 OCT 0 * SKP * * SUBROUTINE TO CHECK FLAG AND/OR DATA TRANSFER TO INTER- * FACE BOARD IN EXTENDER. WHEN THE SUBROUTINE IS ENTERED * A-REG BIT 15 DETERMENS THE EXIT CONDITIONS: * IF SET: CORRECT EXIT FROM SUBROUTINE IF SFS IS MET * IF CLEARED: " " " " " SFC " " * IN CASE OF ERROR A-REG BITS 14-0 DETERMENS THE PIECES 4* OF THE ERROR MESSAGE WHICH HAVE TO BE CONCATENATED. * * A-REG BITS * 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 * ------------------------------------------------------------ * ! NOT ! ! ! F. TO ! ! ! ! SFC SFS CLC STC * ! ! ! THIS CPU ! ! ! DID NOT CONNECT * ! ! OTHER CPU ! ! CONNECTED * ! WITH SWITCH ! DID NOT RELEASE * IN NEUTRAL RELEASED * FLDTC NOP RETURN F. ROUTINE IN < 130 MICROSEC STA T08CW STORE RECEIVED CONTROL WORD SSA SHALL SUBROUTINE CHECK ON SFC? JMP SFSTS NO, ON SFS INSTR. * * CHECK THAT SKIP ON FLAG IS NOT POSSIBLE ON INTF & NO DATA * TRANSFER TAKES PLACE * LDA .1252 YES, LOAD DATA WORD LDB .-5 SET LOOP COUNT TO -5 STB T08B T8.09 OTA CH TRANSFER DATA WORD TO BOARD T8.10 STC CH,C NOP GIVE 12554 BOARD TIME TO REPLY NOP NOP T8.11 SFS CH IS FLAG SET? JMP *+3 NO, BOARD TAKEN OR NO FLAG JSB T08ER YES, ERROR JMP T08,I EXIT TEST T8.18 SFC CH DO WE HAVE BOARD? RSS NO, OK JSB E045 YES, ERROR ISZ T08B YES, INCR. COUNT & RETRY JMP T8.11 T8.12 LIB CH DID DATA COME THROUGH? CPA B RSS YES, ERROR JMP *+3 NO, OK JSB T08ER JMP T08,I EXIT TEST JMP FLDTC,I EXIT AFTER < 130 MICROSEC * SKP * * CHECK THAT FLAG GETS SET ON INTERF BOARD & * DATA TRANSFER TAKES PLACE * SFSTS CLA DATA TRANSFER TO INTERF BOARD WITH JSB SFSST 000000, 177777, 125252 & 525252 CCA JSB SFSST LDA .1252 JSB SFSST LDA .0525 JSB SFSST JMP FLDTC,I EXIT ROUTINE AFTER < 130 MICROSEC * SFSST NOP T8.13 OTA CH TRANSFER DATA 3B@= A, THEN * PRINT THE BUFFER, RESET IT, THEN ADD 2 SPACES * RETURN P+1 * CEOB NOP CMA,INA ADA BCNT SSA JMP CEOB,I OK: BCNT1.4 32 11.2 90 1.040 * 2115 >1.4 40 14.0 70 1.020 * 2114 >1.4 40 14.0 70 1.020 * 2100 >0.5 25 9.8 45 .466 * 21MX M >0.5 29 12.64 35 .474 * 21MX E >0.5 22 12.64 50 .474 * * ******************************************************************** SKP JMP ISTRT,I OPERATOR START LOCATION SPC 1 ************* CONFIGURATOR AREA ************************************ * TTY.I BSS 1 TAPE INPUT TTY.O BSS 1 LIST OUTPUT TTY.P BSS 1 PUNCH OUTPUT TTY.K BSS 1 KEYBOARD INPUT FWAMI DEF FWAM FIRST WORD AVAILABLE MEMORY LWAM BSS 1 LAST WORD AVAILABLE MEMORY ORG 126B OCT 101206 DIAGNOSTIC SERIAL NUMBER LOSC EQU 112B CTO EQU 115B MSIZE EQU 117B ******************************************************************** * SPC 3 ORG 130B JMP IRSTR,I OPERATOR RESTART LOCATION NOP NOP ERTRN DEF PS,I RETURN LOCATION FERC ABS -FER FER DEF *+1 ERROR NUMBER TABLE DEF H0 NOP DEF E2 DEF E3 DEF H4 DEF E5 NOP DEF E7 LER DEF * SPC 2 FMI DEF *+1 MESSAGE ADDRESS TABLE DEF M0 NOP DEF M2 DEF M3 DEF M4 DEF M5 NOP DEF M7 SPC 2 FML DEF *+1 MESSAGE LENGTH TABLE DEF L0 NOP DEF L2 DEF L3 DEF L4 DEF L5 NOP DEF L7 SPC 2 A EQU 0 / A REGISTER B EQU 1 B REG SWR EQU 1 SWITCH REGISTER SPC 2 AL OCT 0 AS OCT 0 BS OCT 0 CNVR OCT 0 VALUE TO BE REPORTED AT E3 COUNT OCT 0 VALUE OF B REGISTER CVT1 OCT 0 CVT2 OCT 0 CVT3 OCT 0 CYCLE OCT 0 TOTAL NUMBER OF CYCLES ELOC OCT 0 LCYCL OCT 0 LAST CYCLE COUNT OUTPUT LOCAL OCT 0 LP11 BSS 1 LOOP COUNT SAVE P4 OCT 0 P5 OCT 0 PS OCT 0 PSAVE OCT 0 SS OCT 0 SWBGN OCT 0 TEMP4 OCT 0 TEMP5 OCT 0 B2 DEC 2 B4 DEC 4 D7 DEC 7 D10 DEC 10 B16 DEC 14 B77 DEC 63 B100 DEC 64 D100 DEC 100 B377 DEC 255 D1000 DEC 1000 B3407 OCT 3407 MM1 DEC -1 MM12 OCT -12 MM10 DEC -10 MM100 DEC -100 M1000 DEC -1000 ASCZZ ASC 1,00 BIT8 OCT 400 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 CRLFI DEF *+1 OCT 006412 CR,LF P7400 OCT 177400 P7700 OCT 177700 THLT OCT 106002 TRAP CELL HALT BKI DEF BKGND IRSTR DEF RST ISTRT DEF START P002A DEF JP02A P002B DEF JP02B P003A DEF JP03A P003B DEF JP03B P004A DEF JP04A P007A DEF JP07A P007B DEF JP07B P1 DEF ST1 P2 DEF SAVE P3 DEF SAVE1 PFI JSB POWER,I FOR LOCATION 4 PFMI DEF FMI PFML DEF FML POWER DEF PWRFL * MEMAX OCT 0 MSMK OCT 70000 MSINC OCT 6477 TSV1 OCT 0 TSV2 OCT 0 CTM OCT 17 CTOS OCT 0 SKP OTBLS OCT 0 OTBLD DEF * POINTER TO TBL OF OVERHEAD TIME DEC 32 2116A DEC 32 2116B DEC 32 2116C DEC 40 2115A DEC 40 2114A DEC 40 2114B DEC 25 2100A DEC 29 21MX M DEC 22 LTBLS OCT 0 LTBLD DEF * POINTER TO TBL OF LOOP TIMES LTBL DEC 11 2116A DEC 11 2116B DEC 11 2116C DEC 14 2115A DEC 14 2114A DEC 14 2114B DEC 10 2100A DEC 13 21MX M DEC 11 21MX E CTBLS OCT 0 CTBLD DEF * POINTER TO TBL OF TIMER COUNTS CTBL DEC 90 2116A DEC 90 2116B DEC 90 2116C DEC 70 2115A DEC 70 2114A DEC 70 2114B DEC 45 2100A DEC 35 21MX M DEC 50 21MX E HED START * START SPC 1 * CALCULATES CORE SIZE AND FILLS EACH UNUSED * CORE LOCATION WITH THE ADDRESS OF THE CORE LOCATION * USES B10CK,TTY.O,ERR SPC 1 START CLC 0,C TURN EVERYTHING OFF LDB PFI INITIALIZE STB 4B POWER FAIL INTERRUPT LDA MSIZE AND MSMK FORM LWAM ADA MSINC STA MEMAX LDA CTO FORM ALF INDEX FOR AND CTM TABLE STA CTOS LOOK-UP ADA MM12 CHECK FOR CORRECT SSA,RSS COMPUTER TYPE JMP ERR1 WRONG TYPE-E1 LDA CTBLD ADA CTOS LDA A,I STA CTBLS LDA OTBLD FORM ADA CTOS POINTER TO STA OTBLS COMPUTER OVERHEAD TIME LDA LTBLD FORM ADA CTOS POINTER TO STA LTBLS COMPUTER LOOP TIME LDA LOSC STA SWBGN SWITCH REGISTER AT BEGINNING JSB B10CK IS TTY SUPPRESSED? JMP ST3-1 CLA H0 JSB PRINT PRINT INTRO MESSAGE LDB FWAMI INITIALIZE B TO FIRST AVAIL CORE ST3 STB B,I FILL CORE WITH ITS ADDRESS INB MOVE TO NEXT CORE LOCATION CPB MEMAX DONE ? RSS YES JMP ST3 NO CLA ZERO B-REGISTER STA COUNT COUNTER STA CYCLE STA LCYCL LDB B2 TRAP CELL LOCATION LDA THLT TRAP CELL HALT ST2 STA B,I INB INA CPB B100 TRAP CELL HALTS COMPLETE? RSS YES JMP ST2 NO,REPEAT LDB PFI INITIALIZE STB 4B { POWER FAIL INTERRUPT HED BKGND SPC 1 * BKGND * THIS PROGRAM INCREMENTS THE B-REGISTER TWO OR * THREE TIMES EACH SECOND AND VERIFIES THE * CONTENTS OF ALL UNUSED CORE MEMORY ONCE EACH * INCREMENT * USES DATA,B10CK,ERR,TTY.O,SWR SPC 1 BKGND LDB COUNT INCREMENT INB B-REGISTER LDA B LIMIT AND B377 COUNT LDB A TO BITS 0-7 STB COUNT LIA SWR AND P7400 USE COUNT IOR COUNT FOR RIGHT HALF OTA SWR STA SS SAVE S-REGISTER LDA FWAMI INITIALIZE MEMORY CHECK MORE CPA A,I CHECK FOR ERROR RSS OK JMP ERR2 REPORT ERROR INA ADVANCE A CPA MEMAX DONE ? JMP WAIT YES JMP MORE NO ERR2 STA LOCAL SAVE LOCATION STA TSV1 SAVE ERROR DATA LDB P002A ADDRESS JSB CNWRT LDA LOCAL,I CONTENTS STA TSV2 SAVE ERROR DATA LDB P002B JSB CNWRT E2 JSB ERROR CHANGED CORE,ADDRESS = XXXXXX * CONTENTS = YYYYYY LDA LOCAL RESTORE STA A,I CORE JMP BKGND WAIT LDB COUNT LIA SWR AND P7400 USE COUNT IOR COUNT FOR RIGHT HALF OTA SWR STA SS SAVE SWR CLA INA,SZA JMP *-1 CPB COUNT IS B EQUAL TO COUNT? JMP JOK YES LDA B NO,CONVERT STA TSV1 SAVE ERROR DATA LDB P007A B-REGISTER JSB CNWRT AND LDA COUNT COUNT STA TSV2 SAVE ERROR DATA LDB P007B TO JSB CNWRT ASCII E7 JSB ERROR B-REGISTER NOT EQUAL TO COUNT, * B = XXXXXX COUNT = XXXXXX JOK LIA SWR SSA JMP PHLT+5 ALLOW FOR ORDERLY HALT AND BIT12 SZA HALT & PRINT PASS COUNT? JMP BKGND NO LDA CYCLE YES.WAS COUNT DONE THIS CYCLE? CPA LCYCL JMP BKGND YES STA LCYCL NO,OUTPUT MESSAGE JSB B10CK TTY SUPPRESSED? JMP H4+1 YES.GO HALT LDB P004A LDA CYCLE JSB DCIN2 SET UP MESSAGE LDA B4 H4 JSB PRINT THERE HAVE BEEN XXXX TESTS OF LDA CYCLE A = # OF PASSES HLT 77B JMP BKGND RETURN AFTER PRINTOUT * THE POWER FAIL OPTION PHLT LIA SWR RAL AND BIT11 POSITION BIT 10 SZA SUPPRESS HALT ? JMP BKGND YES LDA CYCLE HLT 76B A = # OF PASSES JMP BKGND HED PWRFL SPC 1 * PWRFL * THIS ROUTINE CALLS RSTRT IF POWER IS BEING RESTORED. * IF POWER IS FAILING,THIS ROUTINE SAVES REGISTERS AND * ESTIMATES TIME BEFORE POWER IS OFF. SPC 1 PWRFL NOP SFC 4 SKIP IF POWER IS FAILING JMP RSTRT STA AS SAVE A-REG CCA COMPUTER STA AL IS RUNNING STB BS SAVE B-REG LDA PWRFL SAVE STA PS P-REGISTER LIA SWR STA SS S-REGISTER CLA STA LP11 ST1 INA COUNTER STA LP11 FOR NOP FORMING CPA CTBLS POWER FAIL JMP *+2 DELAY JMP ST1 CLC 4 SET UP FOR RESTART HLT 6 SAVE1 JMP *-1 IN CASE OPERATOR HITS RUN SAVE INA TIMER STA LP11 IMAGE NOP USED TO RESTORE CPA CTBLS PWRFL TIMER IN JMP *+2 CASE POWER DROPS JMP ST1 OUT IN LESS TIME CLC 4 HLT 6 HED RSTRT SPC 1 * RSTRT * THIS ROUTINE IS ENTERED THROUGH THE PWRFL ROUTINE. IT * VERIFIES PROPER OPERATION OF THE PWRFL ROUTINE AND INCREMENTS * THEn CYCLE COUNT. THE LAST PART OF PWRFL AND ALL THE * ASSOCIATED COUNTERS ARE REBUILT IN CASE POWER-OFF OCCURRED * DURING A CORE-FETCH. SPC 1 LL5 LDA SS OTA SWR E5 JSB ERROR POWER FAIL ROUTINE NOT ENTERED RST LDA BKI SET UP STA PS RETURN JMP ROK RSTRT LDA AL SZA,RSS WAS PWRFL ENTERED? JMP LL5 NO CLA CLEAR STA AL FLAG LDA LP11 DID DELAY TIME OUT? CPA CTBLS JMP GOK YES,EXIT STA CNVR NO,FIND ERROR JMP CONVT SPC 3 TIME NOP CALCULATE TIME TAKEN CMA LOOP COUNT STA LOCAL LDA OTBLS,I OVERHEAD TIME TM1 ISZ LOCAL DONE? RSS NO JMP TIME,I YES ADA LTBLS,I LOOP TIME JMP TM1 SPC 3 CONVT LDA CTBLS STA TSV1 SAVE ERROR DATA JSB TIME CONVERT TO LDB P003A MICROSECONDS JSB DCIN2 LDA CNVR PROGRAM COUNT STA TSV2 SAVE ERROR DATA JSB TIME CONVERT TO LDB P003B MICROSECONDS JSB DCIN2 E3 JSB ERROR SHUTDOWN ROUTINE DID NOT * COMPLETE. SHOULD COMPLETE XXXX * MICROSECONDS, COMPLETED XXXX * MICROSECONDS GOK CLA RESET STA LP11 COUNTERS ROK LDA P2 RESTORE STA P4 LAST LDB P1 PART STB P5 OF JMORE LDA P4,I POWER STA P5,I FAIL ISZ P4 INB STB P5 CPB P3 RSS JMP JMORE ISZ CYCLE BUMP CYCLE COUNT LDA SS RESTORE OTA 1 S-REGISTER LDA AS RESTORE LDB BS A AND B STC 4 JMP ERTRN,I RETURN(TWO LEVELS OF INDIRECT) HED ERROR * ERROR * REPORT ERROR MESSAGES * THE RETURN ADDRESS IS USED TO LOOK UP THE ADDRESS, * LENGTH AND NUMBER OF THE ERROR MESSAGE * USES SWR,B11CK,TTY.O SPC 2 ERROR NOP CLF 0 DISABLE INTERRUPTS CCB ADB ERROR LDA FER FIND ERROR NUMBER BASED ON RETRN ER2 EQU * CPB A,I ADDRESS AND TABLE JMP ER1 FOUND IT INA CPA LER TERMINATE IF PROGRAMMER ERRED JMP 100B PROGRAM ERROR,PAGE 0 MAY BE * WIPED OUT JMP ER2 CONTINUE SEARCH ER1 EQU * ADA FERC NORMALIZE NUMBER ADA MM1 STA ELOC JSB PRINT PRINT MESSAGE JSB B11CK TTY AVAILABLE JMP ERH1 NO CLA JSB TTY.O,I PRINT BLANK LINE ERH1 LIA SWR AND BIT14 SZA HALT? JMP ERROR,I NO LDA ERH2 YES AND P7700 BUILD IOR ELOC HALT STA ERH2 STC 4 TURN OFF RESTART LDA TSV1 EXP VALUE LDB TSV2 ACT VALUE ERH2 HLT 0 JMP ERROR,I HED B11CK - B10CK SPC 1 * B11CK - FOR ERROR MESSAGES * IF TTY SUPPRESSED RETURN * IF TTY NOT SUPPRESSED SKIP NEXT INSTRUCTION ON RETURN * USES SWR SPC 1 B11CK NOP LDA SWBGN WAS TELETYPE CONFIGURED? SZA,RSS JMP B11CK,I NO LIA SWR AND BIT11 SZA,RSS IS TTY SUPRESSED? ISZ B11CK NO JMP B11CK,I YES * * * B10CK - FOR NON ERROR MESSAGES * IF TTY SUPPRESSED RETURN * IF TTY NOT SUPPRESSED SKIP NEXT INSTRUCTION ON RETURN * USES SWR SPC 1 B10CK NOP LDA SWBGN WAS TELETYPE CONFIGURED? SZA,RSS JMP B10CK,I NO LIA SWR RAL AND BIT11 SZA,RSS ISZ B10CK JMP B10CK,I * * HED PRINT * PRINT * A = ERROR NUMBER * PRINT NOP  STA PSAVE JSB B11CK JMP PRINT,I LDA PSAVE LDB A ADB PFMI,I MESSAGE ADDRESS LDB B,I ADA PFML,I MESSAGE LENGTH LDA A,I JSB TTY.O,I JMP PRINT,I HED CNWRT,CNVRT * THE CNWRT ROUTINE USES CNVRT TO CONVERT THE WORD IN THE A REG. * TO OCTAL AND MOVES THE THREE ASCII WORDS TO THE LOCATION * SPECIFIED BY THE B REG. * CNWRT NOP STB TEMP4 SAVE ADDRESS FOR OCTAL WORDS JSB CNVRT CONVERT ACTUAL WORD TO OCTAL LDA CVT1 LOAD FIRST WORD STA TEMP4,I ISZ TEMP4 BUMP ADDRESS LDA CVT2 STA TEMP4,I ISZ TEMP4 LDA CVT3 STA TEMP4,I JMP CNWRT,I * * THE CNVRT ROUTINE CONVERTS THE SINGLE WORD IN * THE A REG. TO THREE ASCII WORDS (OCTAL) IN CVT1,CVT2 AND CVT3. * CNVRT NOP STA TEMP5 SAVE WORD LDB A WORD TO B ALSO ALF AND D7 SSB IOR BIT8 ONE FOR LEFT OCTAL DIGIT IOR ASCZZ STA CVT1 LDA TEMP5 GET WORD BACK ALF,ALF RAL,RAL AND B77 LEAVE TWO DIGITS LDB A SAVE FOR A WHILE ALF,RAL LEFTMOST TO POSITION IOR B OR THE TWO TOGETHER AND B3407 IOR ASCZZ STA CVT2 LDA TEMP5 GET WORD BACK AND B77 LEAVE LAST TWO DIGITS LDB A ALF,RAL IOR B AND B3407 IOR ASCZZ STA CVT3 SAVE RIGHTMOST DIGITS JMP CNVRT,I RETURN HED ERR1 * * REPORTS E1 IF CONSOLE DEVICE PRESENT AND HALTS * ERR1 EQU * LDA 112B IS THERE AND B77 A CONSOLE SZA,RSS DEVICE? JMP E1 NO.GO HALT CLA,CLE YES.REPORT LDB L1 ERROR JSB 127B,I E1 E1 HLT 1 JMP *-1 IRRECOVERALBE HED DECIN,DCIN2 * DECIN * CONVERTS DECIMAL INTEGERS TO ASCII * A = VALUE ON INPU`T * CVT1 = FIRST TWO DIGITS ON EXIT * CVT2 = SECOND TWO DIGITS ON EXIT * DECIN NOP CCB B = -1 DLP1 ADA M1000 ASSUME INTEGER LESS THAN 10000 INB COUNT UP THOUSANDS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP1 ADA D1000 RESTORE BLF,BLF ADB MM1 DLP2 ADA MM100 INB COUNT UP HUNDREDS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP2 ADA D100 RESTORE ADB ASCZZ STB CVT1 CCB B = -1 DLP3 ADA MM10 INB COUNT UP TENS PART SSA,RSS SKIP WHEN B REG IS CORRECT JMP DLP3 ADA D10 RESTORE BLF,BLF IOR B IOR ASCZZ STA CVT2 JMP DECIN,I * * DCIN2 * STORE TWO WORDS OF CONVERTED A STARTING AT B * DCIN2 NOP STB LOCAL SAVE POINTER JSB DECIN CONVERT TO ASCII LDA CVT1 STORE LDB LOCAL TWO STA B,I WORDS INB INTO LDA CVT2 MESSAGE STA B,I JMP DCIN2,I HED MESSAGES SPC 2 *** MESSAGES *** SPC 2 SUP M0 OCT 6412 ASC 17,H0 2100 SERIES PWR FAIL DIAGNOSTIC L0 EQU *+*-M0-M0 L1 DEF M1 M1 ASC 12,E1 WRONG COMPUTER TYPE / M2 ASC 13,E2 CHANGED CORE,ADDRESS = JP02A BSS 3 ASC 06, CONTENTS = JP02B BSS 3 L2 EQU *+*-M2-M2 M3 ASC 19,E3 SHUTDOWN ROUTINE DID NOT COMPLETE. OCT 6412 ASC 08,SHOULD COMPLETE JP03A BSS 2 ASC 09, USECS, COMPLETED JP03B BSS 2 ASC 03, USECS L3 EQU *+*-M3-M3 M4 ASC 10,H4 THERE HAVE BEEN JP04A BSS 2 ASC 17, TESTS OF THE POWER FAIL CIRCUITRY L4 EQU *+*-M4-M4 M5 ASC 17,E5 POWER FAIL ROUTINE NOT ENTERED L5 EQU *+*-M5-M5 M7 ASC 19,E7 B-REGISTER NOT EQUAL TO COUNT, B = JP07A BSS 3 ASC 05, COUNT = JP07B BSS 3 L7 EQU *+*-M7-M7 ORG 2000B RESTB@B JSB DATA,I CONVERT ADDR TO ASCII E51 JSB ERROR,I * DMA1 OUT=XXXXXX, IN=XXXXXX, LDB NTTY ADDR=XXXXXX SZB TTY AVAIL? JMP *+3 NO LDB BT11 YES JSB CHKSW,I SUPPRESS MESSAGES? RSS YES JMP E52+1 NO, SKIP NON-TTY HLT LDB BT14 JSB CHKSW,I ERROR HALTS SUPPRESSED? JMP E52+1 YES LDA ADDR NO, SO HLT & DISPLAY ADDR IN A E52 HLT 52B * DMA1--BAD ADDR DISPLAYED IN A JSB H/L,I CHECK FOR LOOP ON TEST AR.2 LDA ADDR HAVE ALL MEMORY LOCATIONS CPA MEMAX BEEN TESTED? JMP AR2 YES ISZ ADDR NO, INCREMENT ADDR & LOOP JMP AR.1 SPC 2 MA.T1 EQU * NOP NOP LDA ADDR,I OUTPUT IN A NOP NOP AND A377 MASK OUT BITS 8-15 STA DAOUT STC 6,C TURN ON DMA NOP SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR JMP CH6 SPC 2 AR2 JSB CTPD JMP T.12 LDA A2 SET DMA2 STARTING ADDR TO 2 STA ADDR * JSB SAVAD,I SAVE LOOP ADDRESS AR.3 CLB SAME AS DMA1 TEST CH8 OTB CH LDB BT5 JSB CHKSW,I NOP CH9 STC CH,C CCB.2 CCB LDA ADDR JSB OUT2,I LDB BT5 JSB CHKSW,I JMP MA.T2 LDA ADDR,I STA DAOUT STC.2 STC 7,C NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR CH10 STC CH,C SPC 2 CH11 LIA CH CPA DAOUT JMP AR.4 STA DAIN LDA DAOUT LDB AM54A JSB DATA,I LDA DAIN LDB AM54B JSB DATA,I LDA ADDR LDB AM54C JSB DATA,I E54 JSB ERROR,I * DMA2 OUT=XXXXXX, IN=XXXXXX, LDB NTTY ADDR=XXXXXX SZB JMP *+3 LDB BT11 JSB CHKSW,I RSS JMP E55+1 LDB BT14 JSB CHKSW,I JMP E55+1  LDA ADDR E55 HLT 55B * DMA2--BAD ADDR DISPLAYED IN A JSB H/L,I CHECK FOR LOOP ON TEST AR.4 LDA ADDR CPA MEMAX JMP *+3 ISZ ADDR JMP AR.3 ISZ COUNT WORK MEMORY ADDRESS JMP AR1 REGISTERS FOR A WHILE JMP T.12 SPC 2 MA.T2 EQU * LDA CHA OTA 7 LDA ADDR,I SSA JMP AR.4 AND A377 STA DAOUT STC 7,C NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR JMP CH10 HED T.12 - TEST THE STC DECISION FLIP-FLOP T.12 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CCB WORD COUNT (-1) IN B LDA ANULL JSB OUT1,I READY DMA1 LDA BT15 CHANGE CONTROL WORD TO IOR CHA STC SET, CLC NOT; OUTPUT OTA 6 TO DMA1 STC 6,C TURN ON DMA1 LDA CLF0 WHEN MCR INTERRUPTS, CLF0 IN MCR STA CHA,I TRAP CELL WILL TURN OFF INT SYS CLC 6 CLR DMA CTL TO AVOID DMA INT CH12 STF CH SET I/O FLAG STF 0 ENABLE INT. IF MCR CTL IS SET, NOP INT WILL TURN OFF INT SYS SFC 0 SKIP IF INT SYS OFF E56 JSB ERROR,I * DMA1--BIT 15 OF CTL WRD=1 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLF 0 CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 LDA CHA CHANGE CTL WRD TO STC NOT SET, OTA 6 CLC NOT SET; OUTPUT TO DMA1 STC 6,C TURN ON DMA NOP CLC 6 CLR DMA CTL TO AVOID DMA INT CH13 STF CH SET I/O FLAG STF 0 ENABLE INT. IF MCR CTL IS CLEAR, NOP NO INT WILL OCCUR SFS 0 SKIP IF INT SYS ON E57 JSB ERROR,I * DMA1--BIT 15 OF CTL WRD=0 BUT * I/O nCTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.13 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C TEST DMA2 (SAME AS ABOVE) CCB LDA ANULL JSB OUT2,I LDA BT15 IOR CHA OTA 7 STC 7,C NOP CLC 7 CH14 STF CH STF 0 NOP SFC 0 E60 JSB ERROR,I * DMA2--BIT 15 OF CTL WRD=1 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLF 0 CCB LDA ANULL JSB OUT2,I LDA CHA OTA 7 STC 7,C NOP CLC 7 CH15 STF CH STF 0 NOP SFS 0 E61 JSB ERROR,I * DMA2--BIT 15 OF CTL WRD=0 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST LDA HLTC STA CHA,I RESTORE TRAP CELL HALT HED T.13 - TEST THE CLC DECISION FLIP-FLOP T.13 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF LDA CLF0 STA CHA,I CCB -1 IN B LDA AWRD ADDR OF WRD TO BE OUTPUT IN A JSB OUT1,I READY DMA1 LDA CHA CHANGE CONTROL WORD TO STC IOR BT13 NOT SET, CLC SET; OUTPUT OTA 6 TO DMA1 CH16 STC CH SET DEVICE CONTROL STC 6,C TURN ON DMA1 NOP CLC 6 CLR DMA CTL TO AVOID DMA INT CH17 STF CH SET I/O FLAG STF 0 ENABLE INT. MCR CTL SHOULD BE NOP CLR, SO SHOULD NOT INTERRUPT SFS 0 SKIP IF INT SYS ON E62 JSB ERROR,I * DMA1--BIT 13 OF CTL WRD=1 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 چ LDA BT15 CHANGE CTL WORD TO STC IOR CHA SET, CLC NOT SET; OUTPUT OTA 6 TO DMA1 CH18 STC CH SET DEVICE CONTROL STC 6,C TURN ON DMA1 NOP CLC 6 CH19 STF CH SET I/O FLAG STF 0 ENABLE INT SYS NOP SFC 0 SKIP IF INT SYS OFF E63 JSB ERROR,I * DMA1--BIT 13 OF CTL WRD=0 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.14 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C TEST DMA2 (SAME AS ABOVE) CCB LDA ANULL JSB OUT2,I LDA CHA IOR BT13 OTA 7 CH20 STC CH STC 7,C NOP CLC 7 CH21 STF CH STF 0 NOP SFS 0 E64 JSB ERROR,I * DMA2--BIT 13 OF CTL WRD=1 BUT * I/O CTL SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CCB LDA ANULL JSB OUT2,I LDA BT15 IOR CHA OTA 7 CH22 STC CH STC 7,C NOP CLC 7 CH23 STF CH STF 0 NOP SFC 0 E65 JSB ERROR,I * DMA2--BIT 13 OF CTL WRD=0 BUT * I/O CTL NOT SET AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST * LDA HLTC STA CHA,I HED T.14 - TESTS 'CLF I/O' CTL FUNCTION & STF 6,7 T.14 EQU * CLC 0,C CLEAR ALL DEVICES, INT SYS OFF JSB SAVAD,I SAVE LOOP ADDRESS CCB -1 IN B LDA ANULL JSB OUT1,I READY DMA1 STC 6,C TURN ON DMA1 NOP CH76 SFC CH E136 JSB ERROR,I DMA1-I/O FLAG NOT CLR AFTER XFER JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP CT.1 SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CCB TEST DMA2 LDA ANULL JSB OUT2,I STC 7,C NOP V<:6CH77 SFC CH E112 JSB ERROR,I * DMA2--I/O FLG NOT CLR AFTER XFR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 * * TESTS ABILITY TO TURN DMA OFF * BY SETTING DMA FLAG * CT.1 JSB SAVAD,I SAVE LOOP ADDRESS LDA ANULL ADDR OF OUTPUT WORD IN A LDB A2 CMB,INB -2 IN B (WORD COUNT) JSB OUT1,I READY DMA1 LDA CHA CHANGE CTL WRD TO STC-NOT, OTA 6 WORD, CLC-NOT STC 6,C START XFR NOP STF 6 TURN OFF DMA1 CH83 STF CH ATTEMPT TO COMPLETE XFR NOP LIA 2 INPUT WORD COUNT SZA,RSS SHOULD NOT BE ZERO E133 JSB ERROR,I * STF 6 DID NOT TURN OFF DMA1 JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP T.15 SPC 2 JSB SAVAD,I SAME LDA ANULL AS LDB A2 DMA1 CMB,INB JSB OUT2,I LDA CHA OTA 7 STC 7,C NOP STF 7 CH84 STF CH NOP LIA 3 SZA,RSS E134 JSB ERROR,I * STF 7 DID NOT TURN OFF DMA2 JSB H/L,I CHECK FOR LOOP ON TEST HED T.15 - TEST DMA OUTPUT SPC 2 #<  24322-18004 1502 S 0122 24322A 2100 SERIES DMA DIAGNOSTIC             H0101 * THIS TEST CHECKS THE DMA OUTPUT CAPABILITY. * ALL POSSIBLE PATTERNS AND THEIR COMPLEMENTS * ARE TESTED. SPC 3 T.15 EQU * OC1 CLA INITIALIZE OUTPUT WORD TO ZERO LDB BT5 JSB CHKSW,I TTY? JMP TTO.1 YES JMP MRO.1 NO SPC 1 * * OUTPUT TO TTY I/O BOARD (DMA1) * TTO.1 JSB DOUT1 OUTPUT A WORD CMA AND A377 MASK OUT UPPER 8 BITS JSB DOUT1 OUTPUT COMPLEMENT CMA AND A377 JSB DOUT1 OUTPUT WORD AGAIN JSB PKFD NOP INA CPA BT8 FINISHED? JMP OC2 YES JMP TTO.1 NO, LOOP SPC 1 * * OUTPUT TO MCR (DMA1) * MRO.1 JSB DOUT1 OUTPUT A WORD CMA JSB DOUT1 OUTPUT COMPLEMENT CMA JSB DOUT1 OUTPUT WORD AGAIN JSB PKFD RAL INA,SZA FINISHED? JMP MRO.1 NO, LOOP JMP OC2 YES SPC 1 * * DATA OUT ROUTINE (DMA1) * DOUT1 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA AOUT,I STA DAOUT LDA FFWA CCB JSB OUT1,I READY DMA1 LDB BT5 JSB CHKSW,I TTY? NOP JMP *+3 NO LDA CHA CHANGE CTL WRD TO STC-NOT, OTA 6 WORD, CLC-NOT STC 6,C START XFR CLA,INA JSB TMR,I SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDB BT5 JSB CHKSW,I TTY? NOP CH24 STC CH,C LDA DAOUT CH25 LIB CH INPUT WORD STB DAIN CPB DAOUT OUTPUT = INPUT? JMP E67+1 YES LDB AM67A NO. OUTPUT IN A, MSG ADDR IN B JSB DATA,I CONVERT OUTPUT TO ASCII LDA DAIN INPUT IN A LDB AM67B MSG ADDR IN B JSB DATA,I CONVERT INPUT TO ASCII E67 JSB ERROR,I * DMA1--WORD OUTPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP DOUT1,I RETN *+1 SPC 2 OC2 JSB CTPD JMP T.16 CLA TEST DMA2 LDB BT5 JSB CHKSW,I JMP TTO.2 JMP MRO.2 SPC 1 * * OUTPUT TO TTY I/O BOARD (DMA2) * TTO.2 JSB DOUT2 CMA AND A377 JSB DOUT2 CMA AND A377 JSB DOUT2 JSB PKFD NOP INA CPA BT8 JMP IC1 JMP TTO.2 SPC 1 * * OUTPUT TO MCR (DMA2) * MRO.2 JSB DOUT2 CMA JSB DOUT2 CMA JSB DOUT2 JSB PKFD RAL INA,SZA JMP MRO.2 JMP IC1 SPC 1 * * DATA OUT ROUTINE (DMA2) * DOUT2 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA AOUT,I STA DAOUT LDA FFWA CCB JSB OUT2,I LDB BT5 JSB CHKSW,I RSS JMP *+3 LDA CHA OTA 7 STC 7,C CLA,INA JSB TMR,I SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDB BT5 JSB CHKSW,I NOP CH26 STC CH,C LDA DAOUT CH27 LIB CH STB DAIN CPB DAOUT JMP E71+1 LDB AM71A JSB DATA,I LDA DAIN LDB AM71B JSB DATA,I E71 JSB ERROR,I * DMA2--WORD OUTPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP DOUT2,I SPC 2 AOUT DEF OUT NOP ENDW DEF OUT+1 TEMPS OCT 0 SPC 3 * * WBL WRITES BLOCK ADDRESS INTO BLOCK WORDS * WBL NOP STA SAVA LDA FFWA STA TEMPS WRT1 STA TEMPS,I INA ISZ TEMPS CPA ENDW RSS JMP WRT1 LDA SAVA JMP WBL,I HED T.16 - TEST DMA INPUT SPC 2 * THIS TEST CHECKS THE DMA INPUT CAPABILITY. * ALL POSSIBLE PATTERNS AND THEIR COMPLEMENTS * ARE TESTED. SPC 3 T.161 EQU * IC1 CLA INITIALIZE INPUT WORD TO ZERO LDB BT5 JSB CHKSW,I TTY? JMP TTI.1 YES JMP MRI.1 NO SPC 1 * * INPUT FROM TTY I/O BOARD (DMA1) * TTI.1 JSB DIN1 INPUT A WORD CMA AND A377 MASK PUT UPPER 8 BITS JSB DIN1 INPUT COMPLEMENT CMA AND A377 JSB DIN1 INPUT WORD AGAIN JSB PKFD NOP INA CPA BT8 FINISHED? JMP IC2 YES JMP TTI.1 NO, LOOP SPC 1 * * INPUT FROM MCR (DMA1) * MRI.1 JSB DIN1 INPUT A WORD CMA JSB DIN1 INPUT COMPLEMENT CMA JSB DIN1 INPUT WORD AGAIN JSB PKFD RAL INA,SZA FINISHED? JMP MRI.1 NO, LOOP JMP IC2 YES SPC 1 * * DATA IN ROUTINE (DMA1) * DIN1 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA DAOUT CH28 OTA CH OUTPUT DATA TO BE INPUT LDB BT5 JSB CHKSW,I TTY? NOP YES CH29 STC CH NO CH30 CLC CH CMA LDB BT5 JSB CHKSW,I TTY? AND A377 YES, MASK OUT UPPER 8 BITS STA IN NO. SET UP INPUT AREA LDA FFWA CCB JSB IN1,I READY DMA1 STC 6,C XFR DATA TO INPUT AREA CLA,INA JSB TMR,I SFS 6 CHECK DMA1 FLAG JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA FFWA STA TEMPS LDA DAOUT DIN11 LDB TEMPS,I STB DAIN CPB DAOUT INPUT CORRECT? JMP E137+1 LDA DAOUT NO LDB AM73A OUTPUT IN A, MSG ADDR IN B JSB DATA,I CONVERT OUTPUT TO ASCII LDA DAIN INPUT IN A LDB AM73B MSG ADDR IN B JSB DATA,I CONVERT INPUT TO ASCII E137 JSB ERROR,I DMA1-WORD INPUT ERROR. GOOD = * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST ISZ TEMPS LDA TEMPS CPA ENDW RSS JMP DIN11 LDA DAOUT LDB DAIN JMP DIN1,I EXIT SPC 2 IC2 JSB CTPD JMP T.17 CLA TEST DMA2 LDB BT5 JSB CHKSW,I JMP TTI.2 JMP MRI.2 SPC 1 * * INPUT FROM TTY BOARD (DMA2) * TTI.2 JSB DIN2 CMA AND A377 JSB DIN2 CMA AND A377 JSB DIN2 JSB PKFD NOP INA CPA BT8 JMP PKO1 JMP TTI.2 SPC 1 * * INPUT FROM MCR (DMA2) * MRI.2 JSB DIN2 CMA JSB DIN2 CMA JSB DIN2 JSB PKFD RAL INA,SZA JMP MRI.2 JMP PKO1 SPC 1 * * DATA IN ROUTINE (DMA2) * DIN2 NOP JSB WBL JSB SAVAD,I SAVE LOOP ADDRESS STA DAOUT CH67 OTA CH LDB BT5 JSB CHKSW,I NOP CH68 STC CH CH69 CLC CH CMA LDB BT5 JSB CHKSW,I AND A377 STA IN LDA FFWA CCB JSB IN2,I STC 7,C CLA,INA JSB TMR,I SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA FFWA STA TEMPS LDA DAOUT DIN22 LDB TEMPS,I STB DAIN CPB DAOUT JMP E115+1 LDA DAOUT LDB A115A JSB DATA,I LDA DAIN LDB A115B JSB DATA,I E115 JSB ERROR,I * DMA2--WORD INPUT ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST ISZ TEMPS LDA TEMPS CPA ENDW RSS JMP DIN22 LDA DAOUT LDB DAIN JMP DIN2,I EXIT SPC 3 PWOU2 BSS 1 STORAGE FOR DMA1 UPPER BYTE PWOU3 BSS 1 STORAGE FOR DMA2 UPPER BYTE PWOL2 BSS 1 STORAGE FOR DMA1 LOWER BYTE PWOL3 BSS 1 STORAGE FOR DMA2 LOWER BYTE PT.17 DEF AT.17 TRD DEF PO.T2 NOP SPC 2 HED T.17 - TEST OUTPUT IN PACK MODE * THIS TESTn CHECKS THE DATA OUTPUT UNPACKING * CAPABILITY OF THE DMA. SPC 3 T.17 EQU * SHRTI EQU * PKO1 JSB PKFD JMP PT.17,I CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CLA CLEAR STORAGE AREAS STA PWOU2 STA PWOL2 LDA PWRDC STA PWRD CCB -1 IN B LDA APWRD ADDR OF PACKED WORD IN A JSB OUT1,I READY DMA1 LDB BT5 JSB CHKSW,I TTY? JMP PO.T1 YES LDA K0 NO, CTL WRD=STC, CLC IOR CHA IOR BT14 CHANGE CTL WRD TO BYTE OTA 6 STC 6,C TURN ON DMA1 NOP CH53 STC CH,C CH32 LIA CH INPUT BITS 8-15 OF OUTPUT WORD STA PWOU2 SAVE CH54 STC CH,C SPC 2 CH34 LIA CH INPUT BITS 0-7 OF OUTPUT WORD STA PWOL2 SAVE SFS 6 JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA PWRD ALF,ALF AND A377 STA DAOUT CPA PWOU2 IS UPPER BYTE (BITS 8-15) OK? JMP PKO.1 YES LDB AM75A GOOD DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWOU2 BAD DATA IN A STA DAIN LDB AM75B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E75 JSB ERROR,I * DMA1--UPPER BYTE OUTPUT ERROR. PKO.1 EQU * GOOD=XXXXXX, BAD=XXXXXX LDA PWRD AND A377 STA DAOUT CPA PWOL2 IS LOWER BYTE (BITS 0-7) OK? JMP E76+1 YES LDB AM76A GOOD DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWOL2 BAD DATA IN A STA DAIN LDB AM76B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E76 JSB ERROR,I * DMA1--LOWER BYTE OUTPUT ERROR. * GOOD=XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP PKO2 SPC 2 PO.T1 EQU * LDA CHA CTL WRD=STC-NOT, CLC-NOT, IOR BT14 BYTE OTA 6 STC 6,C TURN ON DMA1 NOP CH55 LIA CH STA PWOU2 CH33 STF CH GENERATE SRQ TO COMPLETE XFR NOP JMP CH34 SPC 2 PKO2 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLA TEST DMA2 STA PWOU3 STA PWOL3 CCB LDA APWRD JSB OUT2,I LDB BT5 JSB CHKSW,I JMP TRD,I LDA K0 IOR BT14 IOR CHA OTA 7 STC 7,C NOP CH56 STC CH,C CH35 LIA CH STA PWOU3 CH57 STC CH,C SPC 2 CH37 LIA CH STA PWOL3 SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA PWRD ALF,ALF AND A377 STA DAOUT CPA PWOU3 JMP PKO.2 LDB A101A JSB DATA,I LDA PWOU3 STA DAIN LDB A101B JSB DATA,I E101 JSB ERROR,I * DMA2--UPPER BYTE OUTPUT ERROR. PKO.2 EQU * GOOD=XXXXXX, BAD=XXXXXX LDA PWRD AND A377 STA DAOUT CPA PWOL3 JMP E102+1 LDB A102A JSB DATA,I LDA PWOL3 STA DAIN LDB A102B JSB DATA,I E102 JSB ERROR,I * DMA2--LOWER BYTE OUTPUT ERROR. * GOOD=XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP T.20I,I SPC 2 PO.T2 EQU * LDA CHA IOR BT14 OTA 7 STC 7,C NOP CH58 LIA CH STA PWD3,I CH36 STF CH NOP JMP *+1,I DEF CH37 SPC 2 HED T.17 - TEST DMA OUTPUT (SHORT TEST) AT.17 EQU * CLC 0,C TEST DMA1 JSB CLR CLEAR I/O BUFFER CLA,INA JSB DD1,I SPC 3 JSB CLR TEST DMA2 CLA,INA JSB DD2,I JMP *+1,I DEF T.21 SPC 3 CLR NOP CLEAR I/O BUFFER CLA CH85 OTA CH LDB BT5 JSB CHKSW,I TTY ? JMP *+3 YES CH86 STC CH CH87 CLC CH JMP CLR,I RTN*+1 HED T.20 - TEST INPUT IN PACK MODE U*($$*   24322-18005 1502 S 0122 24322A 2100 SERIES DMA DIAGNOSTIC             H0101 * THIS TEST CHECKS THE DATA INPUT PACKING * CAPABILITY OF THE DMA. SPC 3 T.20 EQU * JSB PKFD JMP T.21 CLA STA FLAG SET FLAG FOR FIRST PASS PKI1 JSB SAVAD,I SAVE LOOP ADDRESS CLC 0,C CLEAR ALL DEVICES, INT SYS OFF CLA CLEAR PACKED WORD INPUT STA PWS STORAGE AREA LDA BYT.U ALF,ALF IOR BYT.L STA PWRD LDA BYT.U PUT WORD TO BECOME UPPER BYTE CH38 OTA CH INTO INPUT BUFFER LDB BT5 JSB CHKSW,I TTY? JMP *+3 CH39 STC CH,C CH40 CLC CH LDA APWS ADDR OF INPUT AREA IN A CCB -1 IN B JSB IN1,I READY DMA1 LDA BT14 CHANGE CTL WRD TO BYTE, NO IOR CHA STC OR CLC OTA 6 STC 6,C TURN ON DMA1 NOP LDA BYT.L PUT WORD TO BECOME LOWER BYTE CH52 OTA CH IN INPUT BUFFER & FINISH XFR LDB BT5 JSB CHKSW,I TTY? JMP CH75 CH42 STC CH,C CH43 CLC CH RSS CH75 STF CH GENERATE SRQ TO COMPLETE XFR NOP SFS 6 JSB FLG.1,I * E50. DMA1 FLG NOT SET AFTER XFR LDA PWRD CHECK PACKED INPUT WORD STA DAOUT CPA PWS CORRECT? JMP PKI2 YES LDB A104A CORRECT DATA IN A, MSG ADDR IN B JSB DATA,I CONVERT TO ASCII LDA PWS INPUT IN A STA DAIN LDB A104B MSG ADDR IN B JSB DATA,I CONVERT TO ASCII E104 JSB ERROR,I * DMA1--INPUT BYTE ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 PKI2 EQU * JSB SAVAD,I SAVE LOOP ADDRESS CLA TEST DMA2 STA PWS LDA BYT.U CH44 OTA CH LDB BT5 JSB CHKSW,I TTY? JMP *+3 CH45 STC CH,C CH46 CLC CH LDA APWS CCB JSB IN2,I LDA BT14 IOR CHA OTA 7 STC 7,C  NOP LDA BYT.L CH47 OTA CH LDB BT5 JSB CHKSW,I TTY? JMP CH80 CH48 STC CH,C CH49 CLC CH RSS CH80 STF CH NOP SFS 7 JSB FLG.2,I * E53. DMA2 FLG NOT SET AFTER XFR LDA PWRD STA DAOUT CPA PWS JMP REVRS LDB A106A JSB DATA,I LDA PWS STA DAIN LDB A106B JSB DATA,I E106 JSB ERROR,I * DMA2--INPUT BYTE ERROR. GOOD= * XXXXXX, BAD=XXXXXX JSB H/L,I CHECK FOR LOOP ON TEST JMP REVRS SPC 2 REVRS EQU * LDA BYT.U REVERSE CONTENTS LDB BYT.L OF BYT.L & BYT.U STA BYT.L STB BYT.U LDA FLAG SZA WHICH PASS IS THIS? JMP T.21 SECOND CCA FIRST STA FLAG SET FLAG FOR PASS 2 JMP PKI1 REPEAT TEST SPC 2 BYT.U OCT 252 INITIAL BYT.L OCT 125 VALUES PWS BSS 1 SKP HED T.21 - ILLEGAL SELECT CODE TEST T.21 EQU * CLC 0,C * JSB SAVAD,I SAVE LOOP ADDRESS CLF 6 STF 1 SFC 6 E121 JSB ERROR,I * STF 1 SET DMA1 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLF 6 STF 16B SFC 6 E122 JSB ERROR,I * STF 16 SET DMA1 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS LIB 1 STB SAVB STC 2 CLA OUTPUT ZEROS TO WCR OTA 2 CCA ONES IN A OTA 1 WCR SHOULD NOT RESPOND TO SC1 LIA 2 LDB SAVB OTB 1 SZA E125 JSB ERROR,I * OTA1 SET DMA1 WCR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLA OUTPUT ZEROS TO WCR OTA 2 CCA ONES IN A OTA 12B WCR SHOULD NOT RESPOND TO SC12 LIA 2 SZA E126 JSB ERROR,I * OTA 12 SET DMA1 WCR JSB H/L,I CHECK FOR LOOP ON TEST JSB CTPD JMP END SPC 3 JSB SAVAD,I SAVE LOOP ADDRESS CLF 7 TEST DMA2 STF 1 SFC 7 E123 JSB ERROR,I * STF 1 SET DMA2 FLG JSB H/L,I CHECK FOR LOOP ONTEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLF 7 STF 17B SFC 7 E124 JSB ERROR,I * STF 17 SET DMA2 FLG JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS LIB 1 STB SAVB STC 3 CLA OTA 3 CCA OTA 1 LIA 3 LDB SAVB OTB 1 SZA E127 JSB ERROR,I * OTA 1 SET DMA2 WCR JSB H/L,I CHECK FOR LOOP ON TEST SPC 2 JSB SAVAD,I SAVE LOOP ADDRESS CLA OTA 3 CCA OTA 13B LIA 3 SZA E130 JSB ERROR,I * OTA 13 SET DMA2 WCR JSB H/L,I CHECK FOR LOOP ON TEST HED END ROUTINE END LDB BT10 JSB CHKSW,I SUPPRESS NON-ERROR MESSAGES? JMP NOEX JSB TTSK,I NO LDA AL77 LDB AM77 JSB TTY.O,I END DIAGNOSTIC NOEX LDB BT12 IF NO EXEC, RETURNS HERE JSB CHKSW,I HALT AT END OF DIAGNOSTIC? RSS H77 HLT 77B DIAGNOSTIC HAS BEEN COMPLETED JMP STRT2 HED *** COMMON SUBROUTINES *** * * THIS SR RETURNS TO REPORT INTERRUPT ERRORS * INT.1 NOP DMA1 INTPT ROUTINE CLC 0,C LDA INT.1 INA JMP A,I RETN *+2 & REPORT ERROR SPC 2 * THIS SR CHECKS FOR VALIDITY OF SELECT CODE * IN CONFIGURATION. A-REG MUST CONTAIN SC * TO BE CHECKED. IF VALID, RETURN TO *+1. * IF INVALID, RETURN TO *+2. VALID SELECT * CODES ARE 10 - 77 OCTAL. SPC 1 CHCKI NOP CLB CMP CPA 1 A=B? JMP INV YES INB NO CPB A10 JMP CHCKI,I YES,M VALID SC. RETURN *+1 JMP CMP NO INV ISZ CHCKI NOP HLT 73B NO.SELECT CODE INVALID JMP CHCKI,I TURN *+2 SPC 2 * * THIS SR CHECKS FOR LOOP ON CURRENT TEST * H/LI NOP STA SA.H STB SB.H LDB BT13 JSB CHKSW,I REPEAT TEST? JMP REP YES LDA SA.H NO LDB SB.H JMP H/LI,I RETN *+1 REP LDA SA.H LDB SB.H JMP SAVAI,I REPEAT * SA.H NOP SB.H NOP SPC 2 * THIS SR SAVES THE ADDRESS OF THE CURRENT * TEST SO THAT TEST MAY LATER BE LOOPED * ON BY SETTING SW-REG BIT 13. SPC 1 SAVAI NOP LOOP ADDRESS STORED HERE JMP SAVAI,I RETN *+1 SPC 2 * SWITCH REGISTER OPTION CHECKER. * CHECKS SW-REG AND RETURNS TO *+1 * IF OPTION BIT IS SET, OR TO *+2 IF * NOT SET. B-REG MUST CONTAIN MASK OF * BIT TO BE CHECKED. SPC 1 CHKSI NOP STA SAVA SAVE A-REG LIA 1 INPUT SW-REG AND B GET BIT OF INTEREST SZA,RSS IS IT ON? ISZ CHKSI NO. RETURN + 2 LDA SAVA YES. RETURN+1 JMP CHKSI,I SPC 2 B2ASC NOP OCTAL ASCII AND A77 LDB A BRS,BRS BRS BLF,BLF AND A7 IOR B IOR D60 JMP B2ASC,I SPC 2 DATAI NOP CHANGE DATA IN A TO ASCII AND STA DX STORE IN LOCATION IN B STB DADD JSB B2ASC CHANGE TWO LEAST SIG CH TO ASCII LDB DADD ADB A2 MODIFY ADDRESS STA B,I STORE TWO CHARACTERS LDA DX ALF,ALF RAL,RAL JSB B2ASC CHANGE NEXT TWO CH TO ASCII LDB DADD INB MODIFY ADDRESS STA B,I STORE TWO CHARACTERS LDA DX AND P0 ALF JSB B2ASC CHANGE TWO MOST SIG CH TO ASCII STA DADD,I STORE FINAL TWO CHARACTERS JMP DA6PTAI,I * DX BSS 1 DATA TO BE CONVERTED DADD BSS 1 ADDRESS WHERE ASCII CH MUST GO SPC 2 * * THIS SR REPORTS ERRORS THROUGH THE TTY AND/OR THE T-REG. * DATA, IF ANY, IS DISPLAYED IN THE A&B REGISTERS. * ERRI NOP CLC 0,C STA SAVA SAVE STB SAVB REGISTERS * CCB SUBT 1 FROM RETURN ADDR TO GET ADB ERRI ADDR OF E.XX IN B-REG * LDA FER FIND POSITION OF E.XX IN ERROR SERCH CPB A,I ADDRESS TABLE JMP FND INA JMP SERCH FND ADA FERC STA T.POS STORE TABLE POSITION * JSB TTSK,I USE TTY? LDA T.POS YES. GET MSG ADDR FROM TABLE LDB FMI JMP *+2 JMP CHT NO ADB A LDB B,I MESSAGE ADDR IN B ADA FML GET MSG LENGTH FROM TABLE LDA A,I MESSAGE LENGTH IN A JSB TTY.O,I PRINT ERROR MESSAGE * CHT LDB CHLT GET CODED HALT FROM TABLE ADB T.POS LDB B,I STB EXX STORE CODED HALT AT EXX * LDB BT14 JSB CHKSW,I ERROR HALTS SUPPRESSED? JMP EXX+1 YES LDA DAOUT NO. PUT DATA IN A&B REGS LDB DAIN EXX HLT XX CODED ERROR HALT LDA DAOUT LDB DAIN JMP *+1,I RETN *+1 DEF ERRI,I * SKP * * THIS SR RETURNS TO *+1 IF TTY IS AVAILABLE AND NOT * SUPPRESSED, OTHERWISE TO *+4. * TTSKI NOP CLF 0 DISABLE INT SYS LDB TTSKI ADB A3 ADD 3 TO RETURN ADDR STB RETN4 LDA NTTY SZA TTY AVAILABLE? JMP RETN4,I NO, RETN *+4 LDB BT11 YES JSB CHKSW,I TTY SUPPRESED? JMP RETN4,I YES, RETN *+4 JMP TTSKI,I NO, RETN *+1 * RETN4 NOP SPC 2 * * THIS SR REPORTS DMA1 FLAG ERRORS * FLGI1 NOP LDA DAOUT STA TEMP LDA FLGI1 PUT RETN ADDR IN DAOUT. WILL BE STA DAOUT PUT IN A-REG DURING ERR ROUTINE 6E50 JSB ERROR,I * DMA1 FLG NOT SET AFTER XFR LDA TEMP STA DAOUT JSB H/L,I CHECK FOR LOOP ON TEST JMP FLGI1,I RETN *+1 SPC 2 * * THIS SR REPORTS DMA2 FLAG ERRORS * FLGI2 NOP LDA DAOUT STA TEMP LDA FLGI2 PUT RETN ADDR IN DAOUT. WILL BE STA DAOUT PUT IN A-REG DURING ERR ROUTINE E53 JSB ERROR,I * DMA2 FLG NOT SET AFTER XFR LDA TEMP STA DAOUT JSB H/L,I CHECK FOR LOOP ON TEST JMP FLGI2,I RETN *+1 * TEMP NOP TEMP STORAGE FOR DAOUT SPC 2 * * SET UP DMA1 FOR OUTPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * OUT1I NOP CLC 2 PREPARE TO RECV MEM ADDR OTA 2 OUTPUT MEM ADDR STC 2 PREPARE TO RECV WRD-CNT OTB 2 OUTPUT WRD CNT LDA K0 CTL-WRD=STC; WORD; CLC IOR CHA INCLUDE I/O SELECT CODE OTA 6 OUTPUT PROG CTL-WRD CH70 CLC CH CH71 STF CH GENERATE SRQ TO DMA1 JMP OUT1I,I RETN *+1 SPC 2 * * SET UP DMA2 FOR OUTPUT. SAME AS FOR DMA1 (OUT1I). * OUT2I NOP CLC 3 OTA 3 STC 3 OTB 3 LDA K0 IOR CHA OTA 7 CH72 CLC CH CH73 STF CH JMP OUT2I,I SPC 2 * * SET UP DMA1 FOR INPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * IN1I NOP IOR BT15 SET INPUT BIT IN MEM ADDR WORD JSB OUT1,I JMP IN1I,I RETN *+1 SPC 2 * * SET UP DMA2 FOR INPUT. SAME AS FOR DMA1 (IN1I). * IN2I NOP IOR BT15 JSB OUT2,I JMP IN2I,I SPC 3 PWD3 DEF PWOU3 DD1 DEF DOUT1 DD2 DEF DOUT2 T.20I DEF T.20 HED DIAGNOSTIC MESSAGES SUP M0 ASC 12,H0. START DMA DIAGNOSTIC L0 EQU *+*-M0-M0 M1 ASC 10,E1. CLF6 OR SFS6 ERR L1 EQU *+*-M1-M1 M2 ASC 10,E2. CLF6 OR SFC6 ERR L2 EQU *+*-M2-M2 M3 ASC 10,E3. STF6 OR SFC6 ERR L3 EQU *+*-M3-M3 M4 ASC 10,E4. STF6 OR SFS6 ERR L4 EQU *+*-M4-M4 M5 ASC 10,E5. CLF7 OR SFS7 ERR L5 EQU *+*-M5-M5 M6 ASC 10,E6. CLF7 OR SFC7 ERR L6 EQU *+*-M6-M6 M7 ASC 10,E7. STF7 OR SFC7 ERR L7 EQU *+*-M7-M7 M10 ASC 11,E10. STF7 OR SFS7 ERR L10 EQU *+*-M10-M10 M13 ASC 11,E13. STF0 OR SFC0 ERR L13 EQU *+*-M13-M13 M14 ASC 11,E14. STF0 OR SFS0 ERR L14 EQU *+*-M14-M14 M15 ASC 07,E15. NO D1 INT L15 EQU *+*-M15-M15 M16 ASC 07,E16. NO D2 INT L16 EQU *+*-M16-M16 M17 ASC 10,E17. D1 RTN ADDR ERR L17 EQU *+*-M17-M17 M20 ASC 10,E20. D2 RTN ADDR ERR L20 EQU *+*-M20-M20 M21 ASC 08,E21. D1 IAK ERR L21 EQU *+*-M21-M21 M22 ASC 08,E22. D2 IAK ERR L22 EQU *+*-M22-M22 M23 ASC 08,E23. D1 CLC0 ERR L23 EQU *+*-M23-M23 M24 ASC 07,E24. CLC6 ERR L24 EQU *+*-M24-M24 M25 ASC 08,E25. D2 CLC0 ERR L25 EQU *+*-M25-M25 M26 ASC 07,E26. CLC7 ERR L26 EQU *+*-M26-M26 M35 ASC 12,E35. D1-D2 PRIORITY ERR L35 EQU *+*-M35-M35 M36 ASC 12,E36. D2-IO PRIORITY ERR L36 EQU *+*-M36-M36 M37 ASC 12,E37. D1-IO PRIORITY ERR L37 EQU *+*-M37-M37 M40 ASC 06,E40. WC1 IS M40A ASC 09,XXXXXX, SHOULD BE M40B ASC 03,XXXXXX L40 EQU *+*-M40-M40 M41 ASC 06,E41. WC2 IS M41A ASC 09,XXXXXX, SHOULD BE M41B ASC 03,XXXXXX L41 EQU *+*-M41-M41 M42 ASC 07,E42. NO D1 INT L42 EQU *+*-M42-M42 M43 ASC 07,E43. NO D2 INT L43 EQU *+*-M43-M43 M44 ASC 06,E44. WC1 IS M44A ASC 11,XXXXXX, SHOULD BE ZERO L44 EQU *+*-M44-M44 M45 ASC 09,E45. D1 INT LOC = M45A ASC 09,XXXXXX, SHOULD BE M45B ASC 03,XXXXXX L45 EQU *+*-M45-M45 M46 ASC 06,E46. WC2 IS M46A ASC 11,XXXXXX, SHOULD BE ZERO L46 EQU *+*-M46-M46 M47 ASC 09,E47. D2 INT LOC = M47A ASC 09,XXXXXX, SHOULD BE M47B ASC 03,XXXXXX L47 EQU *+*-M47-M47 M50 ASC 08,E50. D1 FLG CLR L50 EQU *+*-M50-M50 M51 ASC 06,E51. D1 OUT= M51A ASC 06,XXXXXX, IN= M51B ASC 07,XXXXXX, ADDR= M51C ASC 03,XXXXXX L51 EQU *+*-M51-M51 M53 ASC 08,E53. D2 FLG CLR L53 EQU *+*-M5P3-M53 M54 ASC 06,E54. D2 OUT= M54A ASC 06,XXXXXX, IN= M54B ASC 07,XXXXXX, ADDR= M54C ASC 03,XXXXXX L54 EQU *+*-M54-M54 M56 ASC 10,E56. D1 CTL WRD ERR L56 EQU *+*-M56-M56 M57 ASC 10,E57. D1 CTL WRD ERR L57 EQU *+*-M57-M57 M60 ASC 10,E60. D2 CTL WRD ERR L60 EQU *+*-M60-M60 M61 ASC 10,E61. D2 CTL WRD ERR L61 EQU *+*-M61-M61 M62 ASC 10,E62. D1 CTL WRD ERR L62 EQU *+*-M62-M62 M63 ASC 10,E63. D1 CTL WRD ERR L63 EQU *+*-M63-M63 M64 ASC 10,E64. D2 CTL WRD ERR L64 EQU *+*-M64-M64 M65 ASC 10,E65. D2 CTL WRD ERR L65 EQU *+*-M65-M65 M67 ASC 09,E67. D1 OUT. GOOD= M67A ASC 06,XXXXXX, BAD= M67B ASC 03,XXXXXX L67 EQU *+*-M67-M67 M71 ASC 09,E71. D2 OUT. GOOD= M71A ASC 06,XXXXXX, BAD= M71B ASC 03,XXXXXX L71 EQU *+*-M71-M71 M73 ASC 09,E137. D1 IN. GOOD= M73A ASC 06,XXXXXX, BAD= M73B ASC 03,XXXXXX L73 EQU *+*-M73-M73 M74 ASC 10,E136. D1-I/O FLG SET L74 EQU *+*-M74-M74 M75 ASC 09,E75. D1 OUT. GOOD= M75A ASC 06,XXXXXX, BAD= M75B ASC 03,XXXXXX L75 EQU *+*-M75-M75 M76 ASC 09,E76. D1 OUT. GOOD= M76A ASC 06,XXXXXX, BAD= M76B ASC 03,XXXXXX L76 EQU *+*-M76-M76 M77 ASC 10,H77. END DIAGNOSTIC L77 EQU *+*-M77-M77 M100 ASC 08,E100. D1 IAK ERR L100 EQU *+*-M100-M100 M101 ASC 10,E101. D2 OUT. GOOD= M101A ASC 06,XXXXXX, BAD= M101B ASC 03,XXXXXX L101 EQU *+*-M101-M101 M102 ASC 10,E102. D2 OUT. GOOD= M102A ASC 06,XXXXXX, BAD= M102B ASC 03,XXXXXX L102 EQU *+*-M102-M102 M103 ASC 08,E103. D2 IAK ERR L103 EQU *+*-M103-M103 M104 ASC 09,E104. D1 IN. GOOD= M104A ASC 06,XXXXXX, BAD= M104B ASC 03,XXXXXX L104 EQU *+*-M104-M104 M105 ASC 13,E105. PRIORITY OR PH5 ERR L105 EQU *+*-M105-M105 M106 ASC 09,E106. D2 IN. GOOD= M106A ASC 06,XXXXXX, BAD= M106B ASC 03,XXXXXX L106 EQU *+*-M106-M106 M112 ASC 11,E112. D2--I/O FLG SET L112 EQU *+*-M112-M112 M115 ASC 09,E115. D2 IN. GOOD= M115A ASC 06,XXXXXX, BAD= M115B ASC 03,XXXXXX L115 EQU *+*-M1 64015-M115 M116 ASC 09,E116. D1 CLF0 ERR L116 EQU *+*-M116-M116 M117 ASC 09,E117. D2 CLF0 ERR L117 EQU *+*-M117-M117 M121 ASC 08,E121. D1 SC ERR L121 EQU *+*-M121-M121 M122 ASC 08,E122. D1 SC ERR L122 EQU *+*-M122-M122 M123 ASC 08,E123. D2 SC ERR L123 EQU *+*-M123-M123 M124 ASC 08,E124. D2 SC ERR L124 EQU *+*-M124-M124 M125 ASC 08,E125. D1 SC ERR L125 EQU *+*-M125-M125 M126 ASC 08,E126. D1 SC ERR L126 EQU *+*-M126-M126 M127 ASC 08,E127. D2 SC ERR L127 EQU *+*-M127-M127 M130 ASC 08,E130. D2 SC ERR L130 EQU *+*-M130-M130 M131 ASC 08,E131. D1 CRS ERR L131 EQU *+*-M131-M131 M132 ASC 08,E132. D2 CRS ERR L132 EQU *+*-M132-M132 M133 ASC 07,E133. STF6 ERR L133 EQU *+*-M133-M133 M134 ASC 07,E134. STF7 ERR L134 EQU *+*-M134-M134 M135 ASC 08,E135. NO I/O INT L135 EQU *+*-M135-M135 FWAM EQU * FIRST WORD AVAILABLE MEMORY BSS 63 OUT OCT 0 VLAST EQU * END /`6   24322-18006 1705 S 0122 DG-DMA/DCPC              H0101 ASMB,A,B,L,C HED 2100-21MX COMPUTER DMA DIAGNOSTIC ORG 100B SUP DSN 101220 23 FEBRUARY 1977 REV 1705 ************************************************************ * * A CONSOLE MAY BE USED BUT IS NOT REQUIRED * * THE DIAGNOSTIC CONFIGURATOR IS REQUIRED * * THE DIAGNOSTIC SERIAL NUMBER (DSN) IS 101120 * * OPERATING INSTRUCTIONS: * * 1. LOAD AND CONFIGURE THE DIAGNOSTIC CONFIGURATOR. * * 2. LOAD THE DMA DIAGNOSTIC. * * 3. SET THE P REGISTER TO 100. SET THE SELECT CODE OF THE I/O CARD * USED WITH THE DIAGNOSTIC IN THE SWITCH REGISTER. PRESS PRESET * (INT. & EXT. IF PRESENT) AND RUN. * * * NOTE * THE TEST INTERFACE USED WITH THIS DIAGNOSTIC * MUST BE A 12554A OR 12597A OR 12566B WITH AN ATTACHED * 1251-0332 CONNECTOR OR 12930-60001 WITH AN ATTACHED * 12930-60006 TEST CONNECTOR. * * 4. SUCCESSFUL CONFIGURATION IS INDICATED BY A HALT 102074. * * 5. ENTER PROGRAM OPTIONS IN THE SWITCH REGISTER. * (SEE SWITCH REG OPTIONS ON THE NEXT PAGE) * * 6. PRESS RUN. * * 12554 JUMPER CONFIGURATION- * * W4-W6 B * W7 A * W8-W12 IN * W13 A(IF APPLICABLE) * W14 A(IF APPLICABLE) * * OR * W4-W5 A * W6-W7 B * W8-W12 IN * W13-W14 A (IF APPLICABLE) * * 12597A JUMPER CONFIGURATION- * * W1,W2 A -OR- W1,W2 B * W3,W4 IN W8,W4 IN * * NOTE: W3 & W8 MUST NOT BE INSTALLED AT THE SAME TIME. SKP * 12566 12849 JUMPER CONFIGURATION- * * W1 A(B) * W2-W4 B(A) * W5-W8 IN * * * NOTE: MUST HAVE PIN 22,23 (OR Z,AA) JUMPERED TOGETHER ON T.C. * * 12930 PROGRAMMABLE SWITCHES * * 85S1-1 97S1-2 106S1-1 * S2-5 S2-5 S2-5 * S3-10(0) S3-10(0) S3-9 * * 87S1-1 102S1-2 * S2-4 S2-7 * S3-8 S3-10(0) * * >G NOTE: THE PROGRAMMABLE SWITCHES ARE SET USING A SCREWDRRIVER * TO POSITION THE CONTACT MECHANISM. SEE FIGURE A-3 * IN MOD FOR SWITCH LOCATION AND SWITCH POSITION. * * THE SWITCH POSITIONS SHOWN ARE USED FOR THE UI CARD * AND THE TEST CONNECTOR WHEN RUNNING * THE STANDARD TEST RUN.. * *************** SWITCH REGISTER OPTIONS **************************** * * * BIT MEANING * * 0-7 RESERVED * 8 SUPPRESS PRESET TEST * 9 USER SELECTION * 10 SUPPRESS NON-ERROR MESSAGES * 11 SUPPRESS ERROR MESSAGES * 12 LOOP ON DIAGNOSTIC. CLEAR TO HALT 102077 AT END * OF PASS * 13 LOOP ON CURRENT TEST SECTION * 14 SUPPRESS ERROR HALTS * 15 HALT 102076 AT END OF CURRENT TEST SECTION * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 1020XX ERROR AND * 1030XX OPERATOR * 1070XX HALTS. * 1060XX UNEXPECTED TRAP CELL INTERRUPT * 102077 DIAGNOSTIC COMPLETE * * * SKP ORG 100B A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SR EQU 1 SWITCH REGISTER REFERENCE CH EQU 10B I-O CHANNEL REFERENCE * ORG 100B * JMP CFIG,I GO TO TEST EXECUTION. BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) BSS 1 FAST OUTPUT (DUMP OR PUNCH) BSS 1 SLOW INPUT (KEYBOARD) FWAM DEF FWAA FIRST WORD OF AVBL. MEMORY LWAM BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 NOT USED (MAG TAPE) BSS 1 1 MILL SEC TIME OUT COUNT BSS 4 SELECT CODES FOR I/O BSS 1 COMPUTER TYPE/OPTIONS USRSC BSS 1 USER CARD TYPE AND SELECT CODE BSS 1 MEMORY SIZE AND TYPE BSS 1 INTERNAL SWITCH REGISTER BSS 1  1 MILL SEC TIMER BSS 1 CONFIGURATOR SWITCH CK PTR BSS 1 INTEGER TO ASCII CONVERSION O2AS BSS 1 OCTAL TO ASCII CONVERSION AS2N BSS 1 ASCII CONVERSION DSN OCT 101220 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER SPC 1 CFIG DEF ENTRY STDA OCT 77777 TSTN NOP TSTP DEF *+1 DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST08 DEF TST09 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEC -1 HED DIAGNOSTIC CONSTANTS AND VARIABLES FIRST DEF *+1 DEF STFX DEF CLCCX DEF STCX DEF STCCX DEF OTAX DEF LIAX DEF LIAX1 DEF LIAX2 DEF SFSX DEF IOX1 DEF CH2 M1 DEC -1 * * CONSTANTS & STORAGE LOCATIONS * NULL BSS 2 SVRES BSS 2 B2 OCT 2 B6 OCT 6 B11 OCT 11 B12 OCT 12 B37 OCT 37 B77 OCT 77 B100 OCT 100 B105 OCT 105 B177 OCT 177 B377 OCT 377 B400 OCT 400 HLT0 OCT 102000 THLTX OCT 106077 NB77 OCT 177700 N76 OCT 177776 CNTLW OCT 120000 CNT12 OCT 100002 ASC00 OCT 30060 M2 DEC -2 M10 DEC -10 M10B OCT -10 CLF0 JSB *+1 NOP CLF 0 JMP *-2,I CNTR NOP SAVEA NOP DAOUT NOP DAIN NOP BT812 OCT 10400 BIT9 OCT 1000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 PATCK OCT 252 PATT1 OCT 125252 PATT2 OCT 52525 SAVWC NOP INTON NOP SAVAX NOP SAVA NOP SAVB NOP EOTCT NOP SVINA NOP SAVIA NOP TSTNN NOP TESTI DEC -1 JLINK JMP *+1,I PADDR NOP JSBLK JSB *-1,I ANULL DEF NULL ADDR1 DEF E012-3 ADDR2 DEF E015-3 WC1RP DEF M33A+3 WC1R2 DEF M33B+3 OUTP1 DEF M63A+7 OUTP2 DEF M63B+7 OUTP3 DEF M63C+7 CKPAD DEF PADDR * USSC BSS 1 USER SELECT CODE FOR DUAL CH BUF BSS 1 BUF1 DEF FWAA OUTPUT BUFFER BUF2 .BSS 1 INPUT BUFFER BUFX BSS 1 BUFZ BSS 1 WCNT BSS 1 WORD COUNT CNT BSS 1 COUNTER CNTX BSS 1 K OCT 135 CONSTANT XYZ BSS 1 CHA EQU 12B I-O CHANNEL CHB EQU 13B B7700 OCT 7700 B7777 OCT 7777 MW107 DEF M107B+10 MX107 DEF M107A+10 MY107 DEF M107A+3 MZ107 DEF M107B+3 MX114 DEF EE114+15 CH1I DEF CH1 CH3I DEF CH3 WCR NOP ASC6 ASC 01,6 ASC7 ASC 01,7 HED SUBROUTINES PATX NOP GENERATE PATTERN LDA BUF STA BUF2 LDA K GET FIRST VALUE PATTERN ADA EOTCT ADD PASS COUNT L3 STA BUF2,I STORE IN BUF ISZ BUF2 INCR BUF NOP POINTER ISZ CNT LAST PATTERN ? RSS NO, CONTINUE JMP LBFZ YES, RETURN CMA COMPLEMENT PATTERN STA BUF2,I STORE PATTERN CMA RESTORE PATTERN ADA K ADD NEW VALUE TO OLD PATTERN ISZ BUF2 INCR BUF NOP POINTER ISZ CNT LAST PATTERN ? JMP L3 NO, CONTINUE LBFZ LDA BUF GET ADDR OF BUF CMA,INA SUBTRACT INA TWO FROM BUF INA TO GET CMA,INA BUFFER-Z'S STA BUFZ ADDR LDB PATT1 GET PATTERN STB A,I STORE IN BUFF-Z CMB COMPLEMENT PATTERN INA NEXT LOCATION IN BUFF-Z STB A,I STORE PATTERN JMP PATX,I YES, RETURN * REV NOP REVERSE I-O SELECT CODES LDA USSC GET USERS SELECT CODES AND B77 MASK OFF BITS 0-5 ALF AND RAL,RAL STORE STA B IN BITS 6-9 LDA USSC GET BITS 6-9 ALF,ALF AND RAL,RAL STORE AND B77 IN IOR B BITS 0-5 STA USSC RESTORE NEW SC LDA CH1I,I RECONFIGURE AND NB77 STC INSTRUCTION l STA SAVA * LDA USSC * ALF,ALF * RAL,RAL * AND B77 * IOR SAVA * STA CH1I,I * JMP REV,I RETURN SKP ERR NOP REPORT ERROR MESSAGE STA SAVA SAVE A-REG STB SAVB SAVE B-REG CLE PACK IN UPPER BYTE LDB MY107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA SAVB ACTUAL DATA LDB MZ107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA BUF2 FAILING ADDRESS LDB MX107 BUFFER ADDRESS JSB O2AS,I OCTAL TO ASCII CONV CLE PACK IN UPPER BYTE LDA BUFX EXP BUF ADDR LDB MW107 JSB O2AS,I OCTAL TO ASCII CONV LDA SAVA RESTORE A-REG LDB SAVB AND B-REG E107 JSB ERMSG PRINT ERROR MESSAGE DEF EE107 LDA SAVA RESTORE A-REG LDB SAVB AND B-REG JMP ERR,I RETURN SKP DMAO NOP DMA OUT LDA USSC GET I-O CH NOP DEBUG NOP DEBUG AND B77 MASK OFF IOR BIT15 ADD CONTROL WORD NOP DEBUG OTA 6 OUTPUT CW1 CLC 2 PREPARE MEM.ADR.REG. LDA BUF ADDR OF BUFFER NOP DEBUG OTA 2 OUTPUT MEM.ADR.REG. STC 2 PREPARE WC LDA WCNT WORD COUNT NOP DEBUG OTA 2 OUTPUT WC NOP DEBUG JMP DMAO,I RETURN * DMAI NOP DMA IN LDA USSC GET I-O CH ALF,ALF POISTION BITS RAL,RAL 6-9 IN 0-5 AND B77 MASK OFF IOR BIT15 ADD CONTROL WORD NOP DEBUG OTA 7 OUTPUT CW1 CLC 3 PREPARE MEM.ADR.REG. LDA BUF1 BUFFERkV ADDR NOP DEBUG IOR BIT15 ADD CW OTA 3 OUTPUT MEM.ADR.REG. STC 3 PREPARE FOR WC LDA WCNT WORD COUNT NOP DEBUG OTA 3 OUTPUT WC NOP DEBUG JMP DMAI,I SKP ERR1 NOP STB WCR SAVE WCR VALUE LDA WCNT GET STARTING WC VALUE CPA B IS WCR = WC VALUE ? JMP *+2 YES JMP *+4 NO E110 JSB ERMSG REPORT ERR DEF EE110 JMP ERR1,I RETURN E111 JSB ERMSG DEF EE111 JMP ERR1,I RETURN * ERR2 NOP STB WCR SAVE WCR VALUE SZB IS WCR = TO ZERO ? JMP *+4 NO E113 JSB ERMSG REPORT ERR DEF EE113 JMP ERR2,I RETURN LDA WCNT GET STARTING WC VALUE CPA B IS WCR = TO WC ? JMP *+2 YES JMP *+4 NO E112 JSB ERMSG REPORT ERR DEF EE112 JMP ERR2,I RETURN LDB MX114 SET LDA WCR UP CLE MESSAGE JSB O2AS,I WITH LDA WCNT ACTUAL LDB WCR WCR VALUE E114 JSB ERMSG REPORT ERR DEF EE114 JMP ERR2,I RETURN * SMSG NOP SET STA EX110,I UP STA EX111,I MESSAGE STA EX112,I WITH STA EX113,I DMA-6 STA EX114,I OR DMA-7 JMP SMSG,I * EX110 DEF EE110+7 ERR MESSAGE ADDRESS EX111 DEF EE111+7 EX112 DEF EE112+7 EX113 DEF EE113+7 EX114 DEF EE114+7 HED DIAGNOSTIC SUBROUTINES * SWRT INVESTIGATES THE STATE OF THE S-REG. IF ANY BIT(S) * AS SPECIFIED IN THE B-REG ARE SET SWRT RETURNS P+1 * ELSE P+2. * SWRT NOP STA SAVAX SAVE A-REG. JSB DEBON GO DEBOUNCE SW.REG. AND B MASK OUT TEST BIT(S). SZA,RSS ANY SWITCHES UP? ISZ SWRT NO! UPDATE RETURN TO P+2. LDA SAVAX YES! GET ORIGINAL A-REG. JMP SWRT,I RETURN. SPC 3 * SWITCH REGISTER DEBOUNCE ROUTINE * TO PREVENT OVERLAY OF A HALT BY A DEPRESSED DISPLAY REG. BIT. * DEBON NOP LIA SR GET SWITCH REG. STA SAVEA SAVE SW.REG. SETTING. CLA,CCE READY INDICATORS. WAITS OTA SR TRY TO CLEAR SW.REG. LIA SR GET SW.REG. BACK. SZA,RSS IS OPERATOR PRESSING A SWITCH? JMP WAITO NO! GO DO NEXT SW. REG. TEST. CLA,CLE YES! SET DELAY MARKER. JMP WAITS WAIT UNTIL OPERATOR LETS GO. WATM1 CLE SET DELAY MARKER. WAITO CCA SET TEST PATTERN. OTA SR ATTEMPT TO SET ALL SR BITS. LIA SR GET SR CONTENTS. ISZ A IS OPERATOR CLEARING A SWITCH? JMP WATM1 YES! WAIT UNTIL HE LETS GO. SEZ WAS A SW.REG. BIT PRESSED? JMP RESSW NO! GO RESTORE SW.REG. INA YES! DELAY SZA ABOUT JMP *-2 400 MS. JMP WAITS TRY TEST AGAIN. RESSW LDA SAVEA RESTORE ORIGINAL SW.REG. OTA SR RESTORE DISPLAY. JMP DEBON,I RETURN. SPC 2 * THIS ROUTINE SETS THE DMA XFER ERROR MESSAGE TO * READ AS AN OUTPUT FAILURE. SETOT NOP JSB FIXMS PUT ASC 1, O AN DEF EE063+5 -OUT- JSB FIXMS IN ASC 1,UT THE DEF EE063+6 MESSAGE STRING. JMP SETOT,I RETURN. SKP * STUFFS A JUMP PADDR,I IN TRAP CELL 6 * AND THE DESTINATION ADDRESS IN PADDR * STUF6 NOP LDA JLINK GET A JMP PADDR,I STA 6 STORE IT IN TRAP CELL. LDA STUF6,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUF6 UPDATE RETURN. JMP STUF6,I RETURN. SPC 2 * STUFFS A JUMP PADDR,I IN TRAP CELL 7 * AND THE DESTINATION ADDRESS IN PADDR * STUF7 NOP LDA JLINK GET A JMP PADDR,I STA 7 STORE IT IN THE TR$"AP CELL. LDA STUF7,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUF7 UPDATE RETURN. JMP STUF7,I RETURN. SPC 3 * STUFFS A JUMP PADDR,I IN THE I-O TRAP CELL * AND THE DESTINATION ADDRESS IN PADDR * STUFI NOP LDA JLINK GET A JMP PADDR,I. STA USRSC,I PUT IT IN I-O TRAP CELL. LDA STUFI,I GET DESTINATION ADDRESS. STA PADDR SAVE IT. ISZ STUFI UPDATE RETURN. JMP STUFI,I RETURN. SPC 2 * STORES AN ASCII STRING IN A MESSAGE STRING. * CALLING FORMAT- * JSB FIXMS * ASC 1,XX * DEF MESG STRING POINTER * FIXMS NOP LDA FIXMS,I GET AN ASCII WORD. ISZ FIXMS UPDATE RETURN TO P+2. STA SAVEA SAVE ASCII DATA. LDA FIXMS GET JSB+2 ADDR. IOR BIT15 MAKE IT AN INDIRECT ADDR. STA FIXMS RESTORE NEW ADDR. LDA SAVEA RESTORE ASCII DATA. STA FIXMS,I STORE ASCII IN MESSAGE STRING. ISZ FIXMS UPDATE RETURN. LDA FIXMS GET JSB LINK ADDR. ELA,CLE,ERA CLEAR INDIRECT BIT. JMP A,I RETURN. SKP * SETS UP THE GOOD AND BAD DATA IN THE MESSAGE * STRING AFTER A WCR FAILURE. * PDATA NOP STB DAIN SAVE ACTUAL DATA. LDB WC1RP GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA DAIN GET ACTUAL DATA. LDB WC1R2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. JMP PDATA,I RETURN. SPC 2 * REPORTS A DMA1 WCR FAILURE. * FIX33 NOP JSB FIXMS UPDATE ASC 1,R1 ERROR DEF EE033+4 MESSAGE. DLD SVRES GET GOOD-BAD WCR DATA JSB ERMSG REPORT WCR1 GOOD=XXXXXX DEF EE033 BAD=XXXXXX * A=EXPECTED WCR1 CONTENTS * B=ACTUAL WCR1 CONTENTS JMP FIX33,I RETURN. SPC 2 * REPORTS A DMA2 WCR FAILURE. * FIX34 NOP JSB FIXMS UPDATE ASC 1,kR2 ERROR DEF EE033+4 MESSAGE TO WCR2. DLD SVRES GET GOOD-BAD WCR DATA JSB ERMSG REPORT WCR2 GOOD=XXXXXX DEF EE033 BAD=XXXXXX * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS JMP FIX34,I RETURN. SPC 2 * THIS RETURN SETS THE DMA XFER ERROR MESSAGE * TO READ AS AN INPUT FAILURE. * SETIN NOP JSB FIXMS PUT ASC 1, I AN DEF EE063+5 -IN- JSB FIXMS INTO ASC 1,N THE DEF EE063+6 MESSAGE STRING. JMP SETIN,I RETURN. SKP * I-O SUBROUTINES * STF NOP SET I-O FLAG. STFX STF CH JMP STF,I SPC 2 CLCC NOP CLCCX CLC CH,C CLEAR I-O CONTROL FF. JMP CLCC,I SPC 2 SPC 2 STC NOP STCX STC CH SET I-O CONTROL FF. JMP STC,I SPC 2 STCC NOP STCCX STC CH,C SET I-O CONTROL,CLEAR FLAG. JMP STCC,I SPC 2 OTA NOP OTAX OTA CH OUTPUT TO I-O DATA BUFFER. JMP OTA,I SPC 2 LIA NOP LIAX LIA CH INPUT I-O DATA BUFFER. JMP LIA,I SPC 2 SFS NOP SFSX SFS CH IS I-O FLAG SET? JMP SFS,I NO! RETURN P+1. ISZ SFS YES! RETURN P+2. JMP SFS,I SPC 2 FIXDT NOP STA SAVAX SAVE A-REG. LDA MARKB GET BOARD TYPE. CPA PATT1 16 BIT BOARD? JMP EXITF YES! EXIT. LDA B377 NO! GET BYTE MASK. AND B MASK OFF HI BYTE. STA B PUT NEW VALUE AWAY. EXITF LDA SAVAX RESTORE A-REG. JMP FIXDT,I RETURN. MARKB NOP SKP * SET UP DMA1 FOR OUTPUT. MEM ADDR IN A, COMPLEMENT WRD-CNT IN B * OUT1 NOP CLC 2 PREPARE TO RECV MEM ADDR OTA 2 OUTPUT MEM ADDR CMA TRY TO CHANGE DMA1 CLC 3 BY OTA 3 CHANGING DMA2. STC 2 PREP`ARE TO RECV WRD-CNT OTB 2 OUTPUT WRD CNT LDA CNTLW CONTROL WORD= STC,CLC. IOR USRSC INCLUDE I/O SELECT CODE OTA 6 OUTPUT DMA1 CNTL WORD. XOR CNTLW ALTER DMA2 CONTROL AND ADA B11 AND CHANGE SERVICE OTA 7 SELECT CODE. JMP OUT1,I RETURN. SPC 1 * SET UP DMA2 FOR OUTPUT. SAME AS FOR DMA1 (OUT1 ). * OUT2 NOP CLC 3 READY FOR MEM ADDR. OTA 3 OUTPUT TO MAR. CMA TRY TO CHANGE DMA2 CLC 2 BY OTA 2 CHANGING DMA1. STC 3 READY FOR WORD COUNT. OTB 3 OUTPUT TO WCR. LDA CNTLW GET CONTROL WORD= STC,CLC. IOR USRSC MERGE I-O SC. OTA 7 OUTPUT TO DMA2. XOR CNTLW CHANGE DMA1 CONTROL ADA B11 AND CHANGE SERVICE SELECT CODE OTA 6 ON DMA1. JMP OUT2,I RETURN. SPC 1 TRAPC NOP LDA B2 START AT ADDR 2. LDB THLTX GET A HLT 106077. THLTL STB A,I PUT HALT IN A TRAP CELL. INA UPDATE ADDR OF TRAP CELLS. CPA B100 LAST TRAP CELL? JMP TRAPC,I YES! EXIT. JMP THLTL NO! DO NEXT TRAP CELL. SKP * THIS SUBROUTINE STORES ALL DATA REPORTED * DURING A DMA OUTPUT OR INPUT XFER FAILURE INTO * THE ERROR MESSAGE STRING THEN PRINTS THE MESSAGE. * PXDAT NOP CLE LDA PADDR GET FAILING ADDRESS. LDB OUTP1 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. CLE LDA EXPDA GET EXPECTED DATA. LDB OUTP2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. CLE LDA DAIN GET ACTUAL DATA. LDB OUTP3 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR GET XFER ADDRESS. LDB DAIN GET ACTUAL DATA IN. JSB ERMSG PRINT ERROR MESSAGE. DEF EE063 ERROR MESSQAGE POINTER. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED JMP PXDAT,I RETURN. EXPDA NOP SPC 3 * THIS SUBROUTINE STORES ALL DATA REPORTED * DURING A DMA OUTPUT OR INPUT XFER FAILURE INTO * THE ERROR MESSAGE STRING THEN PRINTS THE MESSAGE. * PXDT2 NOP LDA PADDR GET FAILING ADDRESS. LDB OUTP1 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA DAIN GET EXPECTED DATA. LDB OUTP2 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR,I GET ACTUAL DATA. LDB OUTP3 GET MESSAGE POINTER. JSB O2AS,I CONVERT OCTAL TO ASCII. LDA PADDR GET XFER ADDRESS. LDB DAIN GET EXPECTED DATA IN. JSB ERMSG PRINT ERROR MESSAGE. DEF EE063 ERROR MESSAGE POINTER. * A=TRANSFER ADDRESS * B=EXPECTED DATA TRANSFERRED JMP PXDT2,I RETURN. SKP TSTC1 NOP LDA CLF0 SET SO WHEN IT INTERRUPTS THE INTS. STA USRSC,I ARE TURNED OFF JSB CLCC INSURE I/O IS OFF LDA BIT15 CHANGE CONTROL WORD TO IOR USRSC STC DURING XFER. OTA 6 OUTPUT TO DMA1. XOR BIT15 TRY TO CHANGE DMA1 OTA 7 BY CHANGING DMA2. STC 6,C TURN ON DMA1 JSB STF SET I/O FLAG TO START TRANSFER CLC 6 CLR DMA CTL TO AVOID DMA INT CLA START A WAIT TIME INA,SZA,RSS JMP *+3 JSB SFS IS FLAG SET YET JMP *-3 NO WAIT FOR IT STF 0 ENABLE INT. IF I-O CTL IS SET, NOP INT WILL TURN OFF INT SYS JMP TSTC1,I SPC 1 TSTC2 NOP LDA CLF0 SET SO THAT INTPS ARE TURNED OFF STA USRSC,I WHEN INTERRUPT OCCURS JSB CLCC TURN INTF OFF LDA BIT15 CHANGE CONTROL WORD TO STC IOR USRSC DURING XFER. OTA 7 OUTPUT TO DMA2. RHFB XOR BIT15 TRY TO CHANGE DMA2 CONTROL OTA 6 BY CHANGING DMA1. STC 7,C TURN ON DMA2. JSB STF SET FLAG TO START TRANSFER CLC 7 DISABLE DMA2 INTERRUPTS. CLA SET FOR TIME OUT INA,SZA,RSS JMP *+3 JSB SFS IS FLAG SET YET? JMP *-3 NO WAIT STF 0 TURN ON INT SYSTEM. NOP INT WILL TURN OFF INT SYSTEM. JMP TSTC2,I SPC 1 4H  24322-18007 1705 S 0122 DG-DMA/DCPC              H0101  SKP RDYXF NOP CLA CLEAR STA NULL TEST STA NULL+1 ADDRESSES LDA ANULL GET ADDR POINTER. STA PADDR SAVE IT LDB M2 SET LOOP STB CNTR TEST COUNTER. IOR BIT15 MAR CONTROL WORD TO INPUT. JMP RDYXF,I RETURN. SPC 1 RDYD1 NOP CCB WORD COUNT=-1 LDA ANULL XFER ADDR POINTER. JSB OUT1 INITIALIZE DMA1 OUT. JMP RDYD1,I SPC 2 RDYD2 NOP CCB WORD COUNT=-1 LDA ANULL XFER ADDR POINTER. JSB OUT2 INITIALIZE DMA2 OUT. JMP RDYD2,I SKP TCLC1 NOP JSB CLCC TURN OFF INTERFACE OTA 6 OUTPUT TO DMA1. XOR BIT13 TRY TO CHANGE DMA1 CONTROL OTA 7 BY CHANGING DMA2. STC 6,C TURN ON DMA1. JSB STC SET I-O CONTROL FF. CLC 6 CLR DMA CTL TO AVOID DMA INT. CLA SET TO TIME OUT INA,SZA,RSS JMP *+3 SFS 6 WAIT FOR DMA JMP *-3 JSB STF SET I-O FLAG FF. STF 0 NO I-O INT SHOULD OCCUR NOP SINCE DMA1 SHOULD CLC. JMP TCLC1,I SPC 2 TCLC2 NOP JSB CLCC TURN OFF INTERFACE OTA 7 OUTPUT TO DMA2. XOR BIT13 TRY TO CHANGE DMA2 CONTROL OTA 6 BY CHANGING DMA1. STC 7,C TURN ON DMA2. JSB STC SET I-O CTL FF. CLC 7 DISABLE DMA2 INTERRUPT. CLA SET TIME OUT INA,SZA,RSS JMP *+3 SFS 7 WAIT FOR DMA2. JMP *-3 JSB STF SET I-O FLAG FF. STF 0 NO I-O INT SHOULD OCCUR NOP SINCE DMA2 SHOULD CLC. JMP TCLC2,I SKP * MESSAGE OUTPUT WITHOUT HALT * MSGCO NOP JSB MSGRT OUTPUT MESSAGE OCT 2000 S-REG 10 CHECK JMP MSGCO,I RETURN TO CALLER * * ERROR MESSAGE WIXTH HALT * ERMSG NOP JSB MSGRT OUTPUT MESSAGE B4000 OCT 4000 S-REG 11 CHECK CLA LDB BIT14 CHECK SWR BIT 14 TO JSB SWRT SUPPRESS HALTS. STA ERHLT PUT HALT IN LINE LDA SAVA RESTORE THE LDB SAVB A & B REGISTERS. ERHLT NOP ERROR HALT. CLB,INB SWR BIT 0 JSB SWRT CHECK SWR BIT 0 JMP *+3 SWR BIT 0 IS SET LDB SAVB RESTORE B-REG JMP ERMSG,I SWR BIT 0 NOT SET RETURN TO CALLER LIA SR READ SWR AND N76 MASK OFF BIT 0 OTA SR CLEAR SWR BIT 0 JMP TRETN EXIT CURRENT TEST * * OUTPUT MESSAGE * MSGRT NOP STA SAVA SAVE A AND STB SAVB B REGISTERS. CCA READY INT SYSTEM MARKER. SFS 0 INT SYSTEM ON? CLA NO! CLEAR MARKER. STA INTON SET INT SYSTEM MARKER. CLF 0 SHUT OFF INT SYSTEM. LDB MSGRT,I GET SWITCH REGISTER BIT LDA MSGRT GET RETURN ADDRESS. ADA M2 DECREMENT AND STA MSGRT RESTORE RETURN ADDRESS. JSB SWRT CHECK TO SUPPRESS MESSAGES JMP CNVTH YES? DON'T PRINT MESSAGE. LDA MSGRT,I NO? GET ERROR LDA A,I MESSAGE LDA A,I POINTER. ALF,CLE,ALF CHECK IF AND B177 THIS IS AN CPA B105 ERROR MESSAGE. IS IT? JMP GETTN YES! CHECK TO OUTPUT TEST #. GETPT LDA MSGRT,I NO! RETRIEVE FORMAT LDB A,I ADDRESS CLA,CLE AND JSB FMTR,I PRINT MESSAGE. CNVTH LDB ERMSG,I CONVERT HALT CODE CCA,CCE TO JSB AS2N,I OCTAL. STA SAVEA SAVE ERROR CODE. AND B77 MASK TO SC. IOR HLT0 MERGE IN HALT 102000. LDB SAVEA GET ERROR CODE AGAIN. BLF,BLF POSITION UPPER ERROR CODE #. SSB . 1060XX OR 1070XX HALT? IOR B4000 YES! MERGE IN BIT11. RBL POSITION LOWER DIGIT. SSB 1030XX OR 1070XX HALT? IOR BIT9 YES! MERGE BIT 9. STA ERHLT SAVE HALT. ISZ MSGRT,I ADJUST ISZ MSGRT RETURN ADDRESS ISZ MSGRT POINTERS. ISZ MSGRT LDA INTON GET INT SYSTEM MARKER. SZA WAS INT SYSTEM ON? STF 0 YES! TURN IT BACK ON. LDA SAVA RESTORE A AND LDB SAVB B REGS JMP MSGRT,I RETURN GETTN LDA TSTN GET TEST NUMBER CPA TESTI IS IT THE SAME ONE? JMP GETPT YES! SKIP OUTPUT STA TESTI NO! THEN UPDATE IT CLB CONVERT THE AND B37 TEST NUMBER. ADA M10 IS TEST NUMBER SEZ GREATER THAN 10? LDB B400 YES! SET UP AN ASCII 1. SEZ,RSS TEST NUMBER>10?IS > 10 ADA B12 NO! CONVERT TO POSITIVE. IOR B MERGE IN UPPER IOR ASC00 DIGIT THEN STA TSTNX PUT IT IN STRING CLA DO A CRLF JSB SLOP,I TO CONSOLE. CLA,CLE INDICATE START OF FORMAT LDB TSTFN GET TEST # MESG. POINTER. JSB FMTR,I PRINT TEST # MESSAGE. JMP GETPT RETURN SKP TSTFN DEF *+1 ASC 3,TEST TSTNX ASC 2,XX// PSCMS ASC 6,PASS XXXXXX/ SPC 3 RDYIO NOP LDA PATT1 GET FIRST DATA PATTERN. JSB OTA OUTPUT TO TEST INTERFACE. CMA COMPLEMENT PATTERN. JSB STCC GATE DATA TO INPUT BUFR. JSB OTA OUTPUT 2ND DATA PATTERN. JMP RDYIO,I RETURN. HED DIAGNOSTIC CONTROL ENTRY CLC 0,C TURN I/O SYSTEM OFF GETSR LIA SR GET SR CONTENTS. AND B77 MASK TO SC. CLE READY TO CHECK ADA M10B SELECT CODE. SEZ SC>7? JMP *+3 YES! GO AHEAD NORMALLY. ~HLT 73B NO! REPORT ERROR. JMP GETSR GO TRY AGAIN. LIA SR GET SR CONTENTS AND B77 BACK AGAIN. STA USRSC SAVE USER SC. LDB FIRST UPDATE GETIO LDA B,I ALL CPA M1 I-O JMP CLRPC INSTRUCTIONS STA SAVA TO LDA A,I THE AND NB77 USER IOR USRSC SELECT STA SAVA,I CODE. INB JMP GETIO CLRPC LIA SR GET SR CONTENTS AND B7777 MASK OFF SC'S STA USSC STORE BOTH SC'S AND B7700 MASK OFF SC-2 SZA,RSS 1 OR 2 SC'S ? JMP CLRP 1, DO STANDARD TEST RUN ALF,ALF POSITION SC IN RAL,RAL BITS 0-5 CLE READY TO CHECK ADA M10B SELECT CODE SEZ SC>7? JMP *+3 YES! GO AHEAD HLT 73B NO! REPORT ERROR JMP GETSR GO TRY AGAIN LDA USSC TEST AND B77 BOTH STA B SC LDA USSC FOR ALF,ALF THE RAL,RAL SAME AND B77 VALUE STA SAVA SAVE SC IN BITS 6-9 CPA B BOTH THE SAME ? JMP *+2 YES! SAME VALUE JMP *+3 OK-DIFFERENT HLT 71B REPORT ERROR JMP GETSR GO TRY AGAIN LDA CH3I,I CONFIGURE CLC INSTRUCTION AND NB77 MASK OFF SC IOR SAVA MERGE IN NEW SC STA CH3I,I STORE INSTRUCTION JSB REV CONFIGURE STC INSTRUCTION CLA CLEAR SR OTA SR FOR OPERATOR CCA SET UP FLAG STA XYZ TO DO TST15 JMP HLT74 HLT FOR SR OPTIONS CLRP CLA DO STANDARD TEST RUN STA XYZ CLEAR TST15 FLAG LDA PATT1 GET A TEST PATTERN. JSB OTA OUTPUT IT TO THE TEST JSB STCC INTERFACE AND TURN IT ON. JSB LIA ] GET PATTERN BACK. CPA PATT1 IS THIS A 16-BIT BOARD? RSS YES! GO TO HALT 74. CPA PATCK 8 BIT BOARD? JMP *+3 YES! GO HLT 74. HLT 72B NO! TELL OPERATOR I-O FAILED.. JMP GETSR GO TRY ANOTHER SELECT CODE? STA MARKB SAVE BOARD TYPE. HLT74 HLT 74B CONFIGURATION COMPLETE. SKP MAIND CLC 0,C CLEAR I-O. JSB TRAPC INITIALIZE TRAP CELLS. JSB MSGCO PRINT THE DEF INTRO INTRODUCTORY MESSAGE. CLA CLEAR PASS STA EOTCT COUNT. NEWSR LDA XYZ TEST SZA,RSS FOR TST15 JMP NEWS NO TST15 - DO STANDARD TEST RUN LDA BIT15 GET BIT 15 CLB FOR TST15 STA SAVIA SAVE TEST STA SVINA NUMBER JMP STLP1 SET UP TST15 NEWS LDA STDA GET THE STANDARD TEST SET. LDB BIT9 USER TEST JSB SWRT SELECTION? RSS YES! GO GET USER INPUT. JMP STLP GO SAVE TEST SET. OPIN LDA SVINA RETRIEVE PREVIOUS CLB TEST SET. HLT 75B WAIT FOR USER INPUT AND STDA STLP CLB GET STANDARD TEST SET. STA SAVIA SAVE USER STA SVINA INPUT TEST SET. LDB BIT9 CHECK IF SW9 IS DOWN JSB SWRT IS IT? JMP OPIN NO! GO HALT AGAIN. STLP1 CCA YES! SET THE TEST STA TSTN NUMBER TO -1. STA TESTI CLEAR PRESENT TEST. CLA CLEAR STA TSTNN TEST RUN FLAG STLPL LDA SAVIA RESTORE A REG. RAR ROTATE TEST BITS. STA SAVIA SAVE TEST BIT ISZ TSTN MOVE TEST NUMBER UP ONE NOP NEXTL LDA TSTN GET TEST NUMBER. ADA TSTP GET THE TEST SECTION LDA A,I STARTING ADDRESS. CPA M1 IS THIS THE END OF TESTS? JMP EOTL YES! GO TO THE END OF TEST. LDB SAVIA NO! GET TEST INDICATOR. SSB,RSS SHOULD THIS TEST BE RUN? JMP STLPL NO! GO TRY NEXT TEST. STA TSTNN YES! SAVE STARTING ADDRESS. JSB CLCC INSURE INTERFACE IS OFF STF 6 AND DMA STF 7 CLC 0,C TURN OF SYSTEM JSB TRAPC SET TRAP CELLS TO A HALT JSB RDYD1 READY DMA1. JSB RDYD1 READY DMA2. JMP TSTNN,I GO DO TEST TRETN CLC 0,C CLEAR I-O. LDA TSTN GET THE TEST NUMBER. LDB BIT15 CHECK FOR HALT AT END OF TEST JSB SWRT HALT REQUESTED? HLT 76B YES! WAIT FOR OPERATOR. LDA XYZ IS THIS TEST TST15 ? SZA JMP *+4 YES LDB BIT9 CHECK FOR USER SELECTION. JSB SWRT IS USER SELECTION REQUESTED? JMP OPIN YES! GO HALT. LDB BIT13 CHECK FOR LOOP ON TEST SECTION. JSB SWRT LOOP REQUESTED? JMP NEXTL YES! GO DO TEST AGAIN. JMP STLPL NO! DO NEXT TEST. SKP EOTL LDA TSTNN WERE ANY TESTS SZA,RSS RUN? JMP NEWSR NO! GET STANDARD TEST SET. LDA EOTCT UPDATE INA PASS STA EOTCT COUNT. CCE READY FOR CONVERSION. LDB PRNTP GET PASS COUNT ADB B2 ADDRESS. JSB O2AS,I CONVERT IT TO ASCII. JSB MSGCO CALL PRINT ROUTINE PRNTP DEF PSCMS MESSAGE POINTER. LDB BIT12 CHECK FOR LOOP ON DIAG. JSB SWRT LOOP ON DIAGNOSTIC REQUESTED? JMP *+3 YES! BYPASS HLT 77B. LDA EOTCT NO! GET PASS COUNT. HLT 77B AND HALT. CLB LDA SVINA CHECK SSA,RSS FOR JMP STLP STANDARD STA SAVIA RUN STA SVINA OR JMP STLP1 TEST 15 SPC 4 ORG 2000B JMP MAIND GO TO TEST CONTROL. HED TST00 DMA FLAG TEST * TST00 -- TEST ABILITY TO SET AND CLEAR THE DMAq& FLAGS * TST00 CLF 6 CLEAR DMA1 FLAG SFS 6 JMP E000+2 E000 JSB ERMSG DMA1--CLF DID NOT CLR FLG OR SFS DEF EE000 CAUSED SKIP WITH FLG CLR SFC 6 RSS JMP E001+2 E001 JSB ERMSG DMA1--SFC CAUSED NO DEF EE001 SKIP WITH FLG CLR STF 6 SET DMA1 FLAG SFC 6 JMP E002+2 E002 JSB ERMSG DMA1--STF DID NOT SET FLG OR SFC DEF EE002 CAUSED SKIP WITH FLG SET SFS 6 RSS JMP E003+2 E003 JSB ERMSG DMA1--SFS CAUSED NO DEF EE003 SKIP WITH FLG SET CLF 7 CLEAR DMA-2 FLAG SFS 7 JMP E004+2 E004 JSB ERMSG DMA2--CLF DID NOT CLR FLG OR SFS DEF EE004 CAUSED SKIP WITH FLG CLR SFC 7 RSS JMP E005+2 E005 JSB ERMSG DMA2--SFC CAUSED NO DEF EE005 SKIP WITH FLG CLR STF 7 SET DMA2 FLAG SFC 7 JMP E006+2 E006 JSB ERMSG DMA2--STF DID NOT SET FLG OR SFC DEF EE006 CAUSED SKIP WITH FLG SET SFS 7 RSS JMP TRETN E007 JSB ERMSG DMA2--SFS CAUSED NO DEF EE007 SKIP WITH FLG SET JMP TRETN HED TST01 DMA INTERRUPT TEST * TST01 -- INSURE DMA DOESN'T INTERRUPT WITH THE INTERRUPT SYSTEM OFF * TST01 JSB STUF6 PUT RETURN JMP IN THE DEF E010 DMA1 TRAP CELL STC 6 SET DMA1 TO INTERRUPT AS STF 6 IF INT SYS WERE ON. NOP ALLOW TIME FOR INTERRUPT CLC 6,C TURN DMA1 OFF JMP E010+2 DMA1 SHOULD NOT INTERRUPT. JSB FIXMS UPDATE ASC 1,10 ERROR DEF EE010+1 MESSAGE. E010 JSB ERMSG ILLEGAL DMA1 INT DEF EE010 WITH INT SYSTEM OFF. JSB STUF7 PUT A RETURN JMP IN DEF E011 THE DMA2 TRAP CELL. STC 7 SET DMA2 TO INTERRUPT AS STF 7 IF INT SYS WERE ON. NOP ALLOW TIME FOR INTERRUPT CLC 7,C TURN DMA2 OFF JMP E011+2 DMA2 SHOULDN'T INTERRUPT. JSB FIXMS UPDATE ASC 1,11 ERROR DEF EE011+1 MESSAGE. E011 JSB ERMSG ILLEGAL DMA2 INTERRUPT DEF EE011 WITH INT SYSTEM OFF. SKP * -- TEST INTERRUPT CAPABILITY OF DMA * JSB STUF6 SET UP RETURN JMP DEF RTR02 IN DMA1 TRAP CELL. LDA JSBLK UPDATE TRAP CELL TO STA 6 A JSB. STC 6 DMA1 INTERRUPT STF 6 REQUEST. STF 0 ENABLE INT SYSTEM. STC 1 NO INTERRUPTS HERE. NOP DMA1 SHOULD INTERRUPT HERE. JSB FIXMS NO? UPDATE ASC 1,12 ERROR DEF EE012+1 MESSAGE. E012 JSB ERMSG DMA1 DID NOT INTERRUPT DEF EE012 * RET02 JSB STUF7 SET UP RETURN JMP DEF RTX02 IN DMA2 TRAP CELL. LDA JSBLK UPDATE TRAP CELL STA 7 TO A JSB. STC 7 DMA2 INTERRUPT STF 7 REQUEST. STF 0 ENABLE INT SYSTEM. STC 1 NO INTERRUPTS HERE. NOP DMA2 SHOULD INTERRUPT HERE. JSB FIXMS NO? UPDATE ASC 1,15 ERROR DEF EE015+1 MESSAGE. E015 JSB ERMSG DMA2 DID NOT INTERRUPT DEF EE015 JMP TRETN EXIT TEST SECTION. SKP * DMA INTERRUPT ROUTINES * RTR02 NOP DMA1 INTERRUPT SUBROUTINE CLF 0 DISABLE INT SYSTEM. JSB STUF6 SET UP DMA1 TRAP CELL DEF E013 IN CASE IAK DIDN'T WORK. STF 0 TEST INTERRUPT ACKNOWLEDGE. NOP DMA1 SHOULDN'T INTERRUPT. CLC 6,C TURN DMA1 OFF REX02 LDA RTR02 DID INTERRUPT OCCUR AT THE CPA ADDR1 CORRECT MEM LOCATION? JMP RET02 YES! GO CHECK DMA2. JSB FIXMS NO! UPDATE ASC 1,14 ERROR DEZF EE010+1 MESSAGE. LDA RTR02 FORM ACTUAL INTERRUPT ADA M1 LOCATION. LDB ADDR1 FORM EXPECTED ADB M1 INTERRUPT LOCATION. E014 JSB ERMSG DMA1 RETURN ADDR IS INCORRECT DEF EE010 * A=ACTUAL INTERRUPT LOCATION B=EXPECTED JMP RET02 GO DO NEXT TEST. RTX02 NOP DMA2 INTERRUPT SUBROUTINE CLF 0 DISABLE INT SYSTEM. JSB STUF7 SET UP DMA2 TRAP CELL DEF E016 IN CASE IAK DIDN'T WORK. STF 0 TEST INTERRUPT ACKNOWLEDGE. NOP DMA2 SHOULDN'T INTERRUPT. CLC 6,C TURN DMA2 OFF RTE02 LDA RTX02 DID INTERRUPT OCCUR AT THE CPA ADDR2 CORRECT MEM LOCATION? JMP TRETN YES! EXIT TEST SECTION. JSB FIXMS NO! UPDATE ASC 1,17 ERROR DEF EE011+1 MESSAGE. LDA RTX02 FORM ACTUAL ADA M1 INTERRUPT LOCATION. LDB ADDR2 FORM EXPECTED ADB M1 INTERRUPT LOCATION. E017 JSB ERMSG DMA2 RETURN ADDR IS INCORRECT DEF EE011 * A=ACTUAL INTERRUPT LOCATION B=EXPECTED JMP TRETN EXIT TEST SECTION. E013 JSB FIXMS UPDATE ASC 1,13 ERROR DEF EE010+1 MESSAGE. JSB ERMSG DMA1 IAK DID NOT DEF EE010 DISABLE DMA1 INTERRUPTS. JMP REX02 RETURN TO NEXT TEST. E016 JSB FIXMS UPDATE ASC 1,16 ERROR DEF EE011+1 MESSAGE. JSB ERMSG DMA2 IAK DID NOT DEF EE011 DISABLE DMA2 INTERRUPTS. JMP RTE02 RETURN TO NEXT TEST. HED TST02 CONTROL RESET TEST * TST02 -- TEST CONTROL RESET TO DMA * TST02 JSB STUF6 SET UP DMA1 TRAP DEF E020 CELL IN CASE OF ERROR. STC 6 ENABLE DMA1 STF 6 INTERRUPT. CLC 0 SHOULD CLEAR DMA1 CONTROL. STF 0 ENABLE INT SYSTEM. NOP ALLOW TIME FOR INTERRUPT JMP CRSD1 NO INTERRUPT HERE. E020 JSB FIXMS UPDATE ASC 1,20 ERROR DEF EE020+1 RETURN. JSB ERMSG CLC 0 DID NOT CLEAR DEF EE020 DMA1 CONTROL. CRSD1 JSB STUF6 SET UP DMA1 TRAP CELL IN DEF E022 CASE OF AN ERROR. STC 6 ENABLE DMA1 INTERRUPT. CLC 6 CLEAR DMA1 CONTROL. NOP ALLOW TIME FOR INTERRUPT JMP E022+2 NO INTERRUPT HERE. E022 JSB ERMSG CLC 6 DID NOT CLEAR DEF EE022 DMA2 CONTROL. CLC 6,C TURN DMA1 OFF JSB STUF7 SET UP DMA2 TRAP CELL IN DEF E021 CASE OF ERROR. STC 7 ENABLE A DMA2 STF 7 INTERRUPT. CLC 0 SHOULD CLEAR DMA2 CONTROL. STF 0 ENABLE INT SYSTEM. NOP ALLOW TIME FOR INTERRUPT JMP CRSD2 NO INTERRUPT HERE. E021 JSB FIXMS UPDATE ASC 1,21 ERROR DEF EE021+1 MESSAGE. JSB ERMSG CLC 0 DID NOT CLEAR DEF EE021 DMA2 CONTROL. CRSD2 JSB STUF7 SET UP DMA2 TRAP CELL IN DEF E023 CASE OF AN ERROR. STC 7 ENABLE DMA2 INTERRUPT. CLC 7 CLEAR DMA2 CONTROL. NOP ALLOW TIME FOR INTERRUPT JMP E023+2 NO INTERRUPT HERE. E023 JSB ERMSG CLC 7 DID NOT CLEAR DEF EE023 DMA2 CONTROL. CLC 7,C TURN OFF DMA2 CLF 0 TURN OFF INTERRUPTS JMP TRETN EXIT TEST SECTION. HED TST03 PRESET TEST * TST03 -- PRESET TEST * TST03 LDB BT812 SUPPRESS JSB SWRT PRESET TEST? JMP TRETN YES! EXIT TEST SECTION. CLF 6 CLEAR DMA1 AND DMA2 CLF 7 FLAGS FOR PRESET TEST. JSB MSGCO PRINT PRESET DEF PRSET MESSAGE. JSB DEBON DEBOUNCE SW.REG. OCT 107024 PRESS PRESET THEN PRESS RUN. SFC 6 PRESET SET DMA1 FLAG? JMP E024+2 YES! CHECK DMA2. E024 ZJSB ERMSG NO! REPORT ERROR. DEF EE024 PRESET DIDN'T SET DMA1 FLAG. SFC 7 PRESET SET DMA2 FLAG? JMP TRETN YES! EXIT TEST SECTION. E025 JSB ERMSG NO! REPORT ERROR. DEF EE025 PRESET DIDN'T SET DMA2 FLAG. JMP TRETN EXIT TEST SECTION. HED TST04 PRIORITY TEST * TST04 -- PRIORITY TEST * TST04 LDA CLF0 PUT A CLF0 IN STA 6 THE DMA1 TRAP CELL. JSB STUF7 SET UP AN ERROR RETURN DEF E026 JMP IN THE DMA2 TRAP CELL. STF 6 ENABLE INTERRUPTS STF 7 FOR STC 6 DMA1 AND STC 7 DMA2. STF 0 INT SYSTEM ON. NOP ALLOW TIME FOR INTERRUPT JMP NXPT1 DMA1 SHOULD INT HERE. E026 JSB FIXMS NO? UPDATE ASC 1,26 ERROR DEF EE026+1 MESSAGE. JSB ERMSG DMA2 TOOK PRIORITY OVER DMA1 DEF EE026 NXPT1 LDA CLF0 PUT A CLF0 IN THE STA 7 DMA2 TRAP CELL. JSB STUFI SET UP AN ERROR RETURN DEF E027 JMP IN THE I-O TRAP CELL. JSB STF ENABLE AN I-O JSB STC INTERRUPT. CLF 6 ENABLE DMA2 INT. STF 0 INT SYSTEM ON. NOP ALLOW TIME FOR INTERRUPT JMP NXPT2 DMA2 SHOULD INT HERE. E027 JSB FIXMS NO? UPDATE ASC 1,27 ERROR DEF EE026+1 MESSAGE. JSB ERMSG I/O SC TOOK PRIORITY OVER DMA2 DEF EE026 SKP NXPT2 JSB TRAPC INITIALIZE TRAP CELLS. CLF 7 ENABLE I-O PRIORITY. LDA CLF0 PUT A CLF0 IN THE STA 6 DMA1 TRAP CELL. JSB STUFI SET UP AN ERROR RETURN DEF E030 IN THE I-O TRAP CELL. STF 6 ENABLE A DMA1 INTERRUPT. STF 0 INT SYSTEM ON. JMP NXPT3 DMA1 SHOULD INT HERE. E030 JSB FIXMS NO? UPDATE ASC 1,30 ERROR DEF EE026+1  MESSAGE. JSB ERMSG I/O SC TOOK PRIORITY OVER DMA1 DEF EE026 NXPT3 JSB STUFI SET UP AN ERROR RETURN DEF E031 IN THE I-O TRAP CELL. JSB RDYD1 READY DMA1. CLC 7,C SHUT OFF CHANNEL TWO. STF 0 ENABLE INT SYSTEM. STC 6,C START TRANSFER. JMP NXPT4 DMA CYCLE SHOULD HOLD OFF I-O. E031 JSB FIXMS NO? UPDATE ASC 1,31 ERROR DEF EE026+1 MESSAGE. JSB ERMSG DMA DID NOT INHIBIT I/O INT DEF EE026 NXPT4 JMP TRETN EXIT TEST SECTION. HED TST05 - TEST WORD COUNT REGISTERS * TST05 -- TESTS ABILITY TO SET AND READ * THE WORD COUNT REGISTERS * TST05 CLA START WITH WORD COUNT=0 WC1 STC 2 READY WCR1. STC 3 READY WCR2. OTA 2 OUTPUT PATTERN TO WCR1 OTA 3 AND WCR2. STA DAOUT SAVE PATTERN. LIB 2 GET WCR1 CONTENTS. CPA B WCR1 AS EXPECTED? JMP E033+2 YES! DO NEXT PATTERN. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR MESSAGE. JSB FIXMS UPDATE ASC 1,33 ERROR DEF EE033+1 MESSAGE. E033 JSB FIX33 REPORT BAD WCR1. * A=EXPECTED WCR1 CONTENTS * B=ACTUAL WCR1 CONTENTS LDA DAOUT RESTORE PATTERN. LIB 3 GET WCR2 CONTENTS. CPA B IS WCR2 AS EXPECTED? JMP E034+2 YES! DO NEXT PATTERN. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR MESSAGE. JSB FIXMS UPDATE ASC 1,34 ERROR DEF EE033+1 MESSAGE. E034 JSB FIX34 REPORT BAD WCR2. * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS LDA DAOUT RESTORE PATTERN. INA,SZA UPDATE PATTERN. FINISHED? JMP WC1 NO! DO NEXT PATTERN. SKP * * -- CHECK CRS CLEARS CONTROL FF TO WCR *  STC 2 READY WCR1. STC 3 READY WCR2. OTA 2 SET WCR1 TO ZERO OTA 3 SET WCR2 TO ZERO. CLC 0 SHOULD CLEAR CTL FF'S TO WCRS. CCA SHOULD NOT BE ABLE OTA 2 TO CHANGE WCR1 OTA 3 OR WCR2. LIA 2 INPUT WCR1 CONTENTS. SZA,RSS IS WCR1 CHANGED? JMP E035+2 NO! TEST WCR2. JSB FIXMS YES! UPDATE ASC 1,35 ERROR DEF EE020+1 MESSAGE. E035 JSB ERMSG CRS DID NOT CLEAR WCR1 DEF EE020 CONTROL FF. LIA 3 GET WCR2 CONTENTS. SZA,RSS WAS WCR2 CHANGED? JMP TRETN NO! EXIT TEST SECTION. JSB FIXMS YES! UPDATE ASC 1,36 ERROR DEF EE021+1 MESSAGE. E036 JSB ERMSG CRS DID NOT CLEAR WCR2 DEF EE021 CONTROL FF. JMP TRETN EXIT TEST SECTION. HED TST06 - TEST WORD COUNT ROLLOVER * TST06 -- THIS TEST CHECKS THE WORD COUNT ROLLOVER * BY SETTING THE WORD COUNT TO -1 AND * FORCING A TRANSFER. * TST06 JSB STUFI SET UP ERROR RETURN DEF E037 IN CASE I-O INTERRUPTS. JSB STUF6 SETUP RETURN JMP IN DEF RTN1 THE DMA1 TRAP CELL. LIA 3 GET WCR2. STA SAVWC SAVE IT. JSB RDYD1 READY DMA1. STF 0 ENABLE INT SYSTEM. STC 6,C TURN ON DMA1. JSB STCC DMA1 SHOULD INTERRUPT HERE. NOP ALLOW TIME FOR INTERRUPT E037 JSB FIXMS NO? UPDATE ASC 1,37 ERROR DEF EE012+1 MESSAGE. JSB ERMSG DMA1 DID NOT INTERRUPT AFTER XFR DEF EE012 RET07 JSB TRAPC INITIALIZE TRAP CELLS. CLC 6,C TURN OFF DMA1 JSB STUFI SET UP ERROR RETURN DEF E040 IN CASE I-O INTERRUPTS. JSB STUF7 SETUP RETURN JMP IN DEF RTN2 THE DMA2 TRAP CELL. LIA 2 TRN SAVE INITIAL STA SAVWC WCR1. JSB RDYD2 READY DMA2. STF 0 TURN ON INTERRUPT SYSTEM. STC 7,C TURN ON DMA2. JSB STCC DMA2 SHOULD INTERRUPT HERE. NOP ALLOW TIME FOR INTERRUPT E040 JSB FIXMS NO? UPDATE ASC 1,40 ERROR DEF EE015+1 MESSAGE. JSB ERMSG DMA2 DID NOT INTERRUPT AFTER XFR DEF EE015 CLC 7,C TURN OFF DMA2 JMP TRETN EXIT TEST SECTION SKP RTN1 CLF 0 TURN OFF INTERRUPTS LIA 3 GET WCR2. CPA SAVWC WAS IT ALTERED BY DMA1? JMP *+3 NO! CONTINUE. E105 JSB ERMSG YES! REPORT ERROR. DEF EE105 DMA1 ALTERED WCR2. LIA 2 GET WCR1 CONTENTS. SZA,RSS IS IT ZERO? JMP RET07 YES! RETURN TO NEXT TEST. E041 JSB ERMSG WCR1 WAS NOT ZERO DEF EE041 AFTER ROLLOVER. * A=ACTUAL WCR1 CONTENTS JMP RET07 DO NEXT TEST. SPC 2 RTN2 CLF 0 TURN OFF INTERRUPT LIA 2 GET WCR1. CPA SAVWC WAS WCR1 ALTERED BY DMA2? JMP *+3 NO! CONTINUE. E106 JSB ERMSG YES! REPORT ERROR. DEF EE106 DMA2 ALTERED WCR1. LIA 3 GET WCR2 CONTENTS. SZA,RSS IS IT ZERO? JMP *+3 YES! EXIT TEST SECTION. E042 JSB ERMSG WCR2 WAS NOT ZERO DEF EE042 AFTER ROLLOVER. * A=ACTUAL WCR2 CONTENTS CLC 7,C TURN OFF DMA2 JMP TRETN EXIT TEST SECTION. T  24322-18008 1705 S 0122 DG-DMA/DCPC              H0101  HED TST07 - TEST THE STC DECISION FLIP-FLOP * TST07 -- CHECKS THE STC DECISION FF * TST07 JSB TSTC1 CHECK DMA1 STC. SFS 0 DID I-O INTERRUPT? JMP E043+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,43 ERROR DEF EE043+1 MESSAGE. E043 JSB ERMSG DMA1--BIT 15 OF CTL WRD=1 BUT DEF EE043 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INT SYSTEM. JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2 JSB CLCC CLC ON I-O SC. LDA USRSC CHANGE CTL WRD TO NO STC DURING XFER. OTA 6 OUTPUT TO DMA1. IOR BIT15 TRY TO CHANGE DMA1 BY OTA 7 CHANGING DMA2. STC 6,C TURN ON DMA1. CLC 6 CLR DMA CTL TO AVOID DMA INT. JSB STF SET I/O FLAG. STF 0 ENABLE INT. IF I-O CTL IS CLEAR, NOP NO INT WILL OCCUR SFC 0 DID I-O INTERRUPT OCCUR? JMP E044+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,44 ERROR DEF EE043+1 MESSAGE. E044 JSB ERMSG DMA1--BIT 15 OF CTL WRD=0 BUT DEF EE043 I/O CTL SET AFTER XFR SKP CLF 0 TURN OFF INTERRUPT SYSTEM JSB RDYD1 READY DMA1 JSB RDYD2 READY DMA2. JSB TSTC2 CHECK DMA2 STC. SFS 0 DID I-O INTERRUPT? JMP E045+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,45 ERROR DEF EE045+1 MESSAGE. E045 JSB ERMSG DMA2--BIT 15 OF CTL WRD=1 BUT DEF EE045 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INT SYSTEM. JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. JSB CLCC CLC ON I-O SC. LDA USRSC CHANGE CTL WORD TO NO STC OTA 7 DURING XFER. IOR BIT15 TRY TO CHANGE DMA2 BY OTA 6 CHANGING DMA1. STC 7,C TURN ON DMA2. CLC 7 DISABLE DMA2 INTERRUPTS. JSB STF SET I-O FLAG FF. STF 0 ENABLE INT SYS. IF I-O CTL IS NOP CLEAR, NO INT WILL OCCUR. SFC 0 DID I-O INTERRUPT OCCUR? JMP TRETN NO! EXIT TEST SECTION. JSB FIXMS YES! UPDATE ASC 1,46 ERROR DEF EE045+1 MESSAGE. E046 JSB ERMSG DMA2--BIT 15 OF CTL WRD=0 BUT DEF EE045 I/O CTL SET AFTER XFR JMP TRETN EXIT TEST SECTION. HED TST08 - TEST THE CLC DECISION FLIP-FLOP * TST08 -- CHECKS THE CLC DECISION FF * TST08 LDA CLF0 PUT A CLF0 IN THE STA USRSC,I I-O TRAP CELL. LDA USRSC CHANGE CONTROL WORD TO CLC IOR BIT13 SET AND STC CLEAR. JSB TCLC1 CHECK DMA1 CLC. SFC 0 DID I-O INTERRUPT? JMP E047+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,47 ERROR DEF EE047+1 MESSAGE. E047 JSB ERMSG DMA1--BIT 13 OF CTL WRD=1 BUT DEF EE047 I/O CTL SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA BIT15 CHANGE CTL WORD TO STC IOR USRSC SET, CLC NOT SET. JSB TCLC1 CHECK DMA1 CLC. SFS 0 DID I-O INTERRUPT. JMP E050+2 YES! DO NEXT TEST. JSB FIXMS NO! UPDATE ASC 1,50 ERROR DEF EE047+1 MESSAGE. E050 JSB ERMSG DMA1--BIT 13 OF CTL WRD=0 BUT DEF EE047 I/O CTL NOT SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA USRSC SET CTL WORD TO CLC IOR BIT13 AFTER TRANSFER. JSB TCLC2 CHECK DMA2 CLC. SFC 0 DID I-O INTERRUPT? JMP E051+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,51  ERROR DEF EE051+1 MESSAGE. E051 JSB ERMSG DMA2--BIT 13 OF CTL WRD=1 BUT DEF EE051 I/O CTL SET AFTER XFR CLF 0 TURN OFF INTERRUPTS JSB RDYD1 READY DMA1. JSB RDYD2 READY DMA2. LDA BIT15 SET CTL WORD TO STC AND IOR USRSC NO CLC AFTER XFER. JSB TCLC2 CHECK DMA2 CLC. SFS 0 DID I-O INTERRUPT? JMP TRETN YES! EXIT TEST SECTION. JSB FIXMS NO! UPDATE ASC 1,52 ERROR DEF EE051+1 MESSAGE. E052 JSB ERMSG DMA2--BIT 13 OF CTL WRD=0 BUT DEF EE051 I/O CTL NOT SET AFTER XFR JMP TRETN EXIT TEST SECTION. HED TST09 - TESTS 'CLF I/O' CTL FUNCTION & STF 6,7 * TST09 -- CHECKS THE DMA CLF CONTROL FUNCTION AND * STF 6 AND STF 7 ABILITY TO STOP TRANSFERS. * TST09 JSB STF SET I-O FLAG FF. JSB RDYD1 READY DMA1. LDA USRSC DON'T DO STC OR CLC OTA 6 STC 6,C TURN ON DMA1. JSB SFS DID DMA1 CLF CLEAR I-O FLAG? JMP E053+2 YES! DO NEXT TEST. E053 JSB ERMSG I/O FLAG NOT CLR AFTER DMA1 XFER DEF EE053 JSB STF SET I-O FLAG. JSB RDYD2 READY DMA2. LDA USRSC DON'T DO STC OR CLC OTA 7 STC 7,C TURN ON DMA2. JSB SFS DID DMA2 CLEAR I-O FLAG FF? JMP E054+2 YES! DO NEXT TEST. E054 JSB ERMSG I/O FLG NOT CLR AFTER DMA2 XFR DEF EE054 * * -- TESTS ABILITY TO TURN DMA OFF * BY SETTING THE DMA FLAGS * JSB CLCC TURN OFF INTERFACE JSB RDYD1 READY DMA1. STC 6,C START TRANSFER. STF 6 TURN OFF DMA1. JSB STF ATTEMPT TO COMPLETE TRANSFER. INB,SZB WAIT A COUPLE JMP *-1 OF CYCLES. LIA 2 INPUT WORD COUNT. SZA DID STF 6 STOP TRANSFER? JMP E055+2 YES! DO NEXT TEST. E055 JSB ERMSu+G STF 6 DID NOT TURN OFF DMA1 DEF EE055 JSB CLCC CLEAR I-O FLAG. JSB RDYD2 READY DMA2. STC 7,C START TRANSFER. STF 7 STOP TRANSFER. JSB STF TRY TO COMPLETE TRANSFER. INB,SZB WAIT A COUPLE JMP *-1 OF CYCLES. LIA 3 GET WCR2 CONTENTS. SZA DID STF 7 STOP DMA2 TRANSFER? JMP TRETN YES! EXIT TEST SECTION. E056 JSB ERMSG STF 7 DID NOT TURN OFF DMA2 DEF EE056 JMP TRETN EXIT TEST SECTION. HED TST10 ILLEGAL SELECT CODE TEST * TST10 -- CHECKS FOR AN ILLEGAL DMA DECODE OF * SELECT CODE 2,3,6 AND 7. * TST10 LDA THLTX PUT A STC 2 PATTERN STC 3 IN BOTH OTA 2 WORD LDA NB77 COUNT OTA 3 REGISTERS. CLB INITIALIZE TEST SC TO 0. SCLOP LDA LIAXX GET LIA INSTRUCTION. AND NB77 STRIP AWAY OLD SC. IOR B MERGE IN NEW SC. STA LIAXX PUT NEW LIA IN LINE. LIAXX LIA 0 EXECUTE ILLEGAL LIA XX. CPA THLTX DID LIA READ SC 2? RSS YES! REPORT ERROR. JMP E032+2 NO! DO NEXT SC. JSB FIXMS UPDATE ASC 1,32 ERROR DEF EE032+1 MESSAGE. LDA LIAXX GET ILLEGAL LIA. E032 JSB ERMSG ILLEGAL LIA 2 DEF EE032 * A=INSTRUCTION THAT ACTED LIKE A LIA 2. CPA NB77 DID ILLEGAL LIA 3 OCCUR? RSS YES! REPORT ERROR. JMP NXTSC NO! TEST NEXT SC. JSB FIXMS UPDATE ASC 1,67 ERROR DEF EE032+1 MESSAGE. LDA LIAXX GET ILLEGAL LIA. E067 JSB ERMSG ILLEGAL LIA 3 DEF EE032 * A=INSTRUCTION THAT ACTED LIKE A LIA 3 NXTSC INB UPDATE SC. CPB B2 IS THIS SC 2? ADB B2 YES! SKIP TO SC 4. CPB B100 LAST SC TESTED? RSS YES! DO NEXT TEST. JMP SCLOP NO! DO NEXT SC. SKP * ---- TEST SELECT CODE DECODE OF SELECT * CODES 6 AND 7. * CLB INITIALIZE SC TO 0. STF 6 SET THE FLAG FF ON STF 7 DMA1 AND DMA2. MALOP LDA CLFXX GET A CLF INSTRUCTION. AND NB77 STRIP AWAY OLD SC. IOR B MERGE IN NEW SC. STA CLFXX PUT ILLEGAL CLF IN LINE. CLFXX CLF 0 EXECUTE ILLEGAL CLF X. SFC 6 DID DMA1 FLAG GET CLEARED? JMP E057+2 NO! DO NEXT TEST. JSB FIXMS YES! UPDATE ASC 1,57 ERROR DEF EE032+1 MESSAGE. LDA CLFXX GET ILLEGAL CLF INST. E057 JSB ERMSG DMA1 FLAG CLEARED BY AN DEF EE032 ILLEGAL CLF XX. * A= INSTRUCTION THAT ACTED LIKE A CLF 6 SFC 7 DID DMA2 FLAG GET CLEARED? JMP E060+2 NO! DO NEXT SC. JSB FIXMS YES! UPDATE ASC 1,60 ERROR DEF EE032+1 MESSAGE. LDA CLFXX GET ILLEGAL CLF INST. E060 JSB ERMSG DMA2 FLAG CLEARED BY AN DEF EE032 ILLEGAL CLF XX. * A=INSTRUCTION THAT ACTED LIKE A CLF 7 INB UPDATE SC. CPB B6 IS THIS SC 6? ADB B2 YES! SKIP TO SC 10. CPB B100 LAST SC TESTED? JMP TRETN YES! EXIT TEST SECTION. JMP MALOP NO! GO DO NEXT SC. HED TST11 WCR COUNT UP TEST * TST11 -- CHECKS THE ABILITY OF THE WORD COUNT REGISTERS * TO INCREMENT FROM 0 TO 177777B. * TST11 CLB READY INITIAL WCR1 SETTING. LARL1 STB PADDR SAVE TEST DATA. LDA M2 SAVE -2 IN STA NULL THE COUNTER. DOLOP LDB PADDR GET WCR1 TEST VALUE. LDA ANULL GET DUMMY ADDRESS. JSB OUT1 INITIALIZE DMA1 OUTPUT XFER. LDA CNTLW CHANGE CONTROL XOR BIT15 TO IOR USRSC NO OTA 6 STC. JSB CLCC p CLEAR I-O. JSB STF SET I-O FLAG FF. STC 6,C TURN ON DMA1. INB UPDATE TO 1 XFER+WCR1. STB DAOUT SAVE EXPECTED WCR1. STF 6 TURN OFF DMA1. LIB 2 GET ACTUAL WCR1. LDA DAOUT RESTORE EXPECTED WCR1. CPA B 2 XFERS OCCUR? JMP E061+2 YES! SKIP ERROR REPORT. DST SVRES NO! SAVE RESULTS. JSB PDATA SAVE ERROR DATA. JSB FIXMS UPDATE ASC 1,61 ERROR DEF EE033+1 MESSAGE. E061 JSB FIX33 E061 BAD WCR1 AFTER 2 XFERS. * A=EXPECTED WCR1 CONTENTS. * B=ACTUAL WCR1 CONTENTS. JMP NXWP1 CONTINUE TESTING. ISZ NULL 2 PASSES COMPLETED? JMP DOLOP NO! TRY PATTERN AGAIN. NXWP1 LDB DAOUT YES! UPDATE TO NEXT WCR1. CPB M1 LAST PATTERN CHECKED? RSS YES! DO DMA2 TEST. JMP LARL1 NO! DO NEXT PATTERN. SKP CLB READY INITIAL WCR2 SETTING. LARL2 STB PADDR SAVE WCR2 TEST PATTERN. LDA M2 SET COUNTER STA NULL TO -2. DOLP2 LDB PADDR GET WCR2 TEST ADDRESS. LDA ANULL GET DUMMY XFER ADDRESS. JSB OUT2 INITIALIZE DMA2 OUTPUT. LDA CNTLW CHANGE CONTROL XOR BIT15 TO IOR USRSC NO OTA 7 STC. JSB CLCC CLEAR I-O. JSB STF SET I-O FLAG FF. STC 7,C TURN ON DMA2. INB FORM AND SAVE STB DAOUT EXPECTED WCR2. STF 7 TURN OFF DMA2. LIB 3 GET ACTUAL WCR2. LDA DAOUT RESTORE EXPECTED WCR2. CPA B 2 XFERS OCCUR? JMP E062+2 YES! SKIP ERROR REPORT. DST SVRES NO! SAVE RESULTS. JSB PDATA READY ERROR DATA. JSB FIXMS UPDATE ASC 1,62 ERROR DEF EE033+1 MESSAGE. E062 JSB FIX34 E062 BAD WCR2 AFTER 2 XFERS. * A=EXPECTED WCR2 CONTENTS * B=ACTUAL WCR2 CONTENTS JMP NXWP2 CONTINUE TESTING. ISZ NULL 2 PASSES COMPLETED? JMP DOLP2 NO! EXECUTE ADDRESS AGAIN. NXWP2 LDB DAOUT YES! UPDATE TO NEXT WCR2. CPB M1 LAST PATTERN CHECKED? JMP TRETN YES! EXIT TEST SECTION. JMP LARL2 NO! DO NEXT PATTERN. HED TST12 MAR COUNT UP TEST * TST12 -- CHECKS THE ABILITY OF THE DMA MEMORY ADDRESS * REGISTERS TO INCREMENT FROM 2 TO 77777. * TST12 LDA B2 SET INITIAL MAR TEST VALUE. STA PADDR SAVE MAR TEST VALUE. JSB CLCC INSURE INTERFACE IS OFF. LDB CNT12 SET 32K-2 WORD TRANSFER. JSB OUT1 INITIALIZE DMA1 OUTPUT. LDA USRSC DON'T DO STC OR CLC AT END OF TRANSFER OTA 6 STC 6,C TURN ON DMA1. CLE SET FOR FIRST TRANSFER. LOPIM JSB STC TRANSFER ONE WORD. NOP LDB PADDR CHECK IF POINTER CPB CKPAD JMP GOOD1 SEZ,CME,RSS FIRST TRANSFER? JMP LOPIM YES SKIP CHECK LIAX1 LIA CH GET I-O INPUT BUFFER. LDB PADDR,I GET EXPECTED DATA. JSB FIXDT GO MASK DATA. CPA B XFER VALID DATA? JMP GOOD1 YES! DO NEXT TEST. STB EXPDA SAVE EXPECTED DATA. STA DAIN NO! SAVE ACTUAL DATA. JSB FIXMS UPDATE ASC 1,63 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A1 TO DEF EE063+4 DMA1 JSB SETOT OUTPUT. E063 JSB PXDAT E063 DMA1 OUTPUT XFER ERROR. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED GOOD1 LDA PADDR GET TEST ADDRESS. ISZ PADDR MOVE TO NEXT ADDRESS. CCE SET FOR ONE WORD TRANSFER. CPA STDA LAST ADDRESS TESTED? JMP MART2 YES! CHECK DMA2 MAR. JMP LOPIM NO! DO ADDR AGAIN. SKP MART2 LDA B2 SET UP INITIAL MAR2 TEST VALUE. STA PADDR SAVE MAR2 TEST ADDR. JSB CLCC INSURE INTERFACE IS OFF. LDB CNT12 SET 2 WORD TRANSFER. JSB OUT2 INITIALIZE DMA2 OUTPUT. LDA USRSC DON'T DO STC OR CLC AT END OF TRANSFER OTA 7 STC 7,C TURN ON DMA2. CLE SET FOR FIRST TRANSFER. MARI2 JSB STC START TRANSFER. NOP LDB PADDR CHECK IF POINTER? CPB CKPAD JMP GOOD2 YES SKIP CHECK SEZ,CME,RSS FIRST TRANSFER? JMP MARI2 YES LIAX2 LIA CH GET TRANSFERRED DATA? LDB PADDR,I GET EXPECTED DATA? JSB FIXDT GO MASK DATA. CPA B XFER VALID. JMP GOOD2 YES! SKIP ERROR REPORT. STB EXPDA SAVE EXPECTED DATA STA DAIN NO! SAVE ACTUAL DATA. JSB FIXMS UPDATE ASC 1,64 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A2 TO DEF EE063+4 DMA2 JSB SETOT OUTPUT. E064 JSB PXDAT E064 DMA2 OUTPUT XFER ERROR. * A=TRANSFER ADDRESS * B=ACTUAL DATA TRANSFERRED GOOD2 LDA PADDR GET TEST ADDRESS. ISZ PADDR MOVE TO NEXT ADDRESS CCE SET FOR NEXT WORD CPA STDA LAST ADDRESS? JMP TRETN YES! EXIT TEST SECTION. JMP MARI2 TRY NEXT ADDRESS. HED TST13 DMA IN TEST * TST13 -- TESTS THE ABILITY OF DMA TO EXECUTE INPUT TRANSFERS. * TST13 JSB RDYXF READY TRANSFER. JSB OUT1 INITIALIZE DMA1 INPUT. JSB RDYIO READY I-O. STC 6,C TURN ON DMA1. LDA NULL GET FIRST XFER ADDR DATA. LDB PATT1 GET EXPECTED DATA. CHKPT JSB FIXDT GO MASK DATA. STB DAIN SAVE EXPECTED DATA CPA B TRANSFER VALID? JMP E065+1 YES! SKIP ERROR. JSB FIXMS NO! UPDATE ASC 1,65 THE DEF EE063+1  ERROR JSB FIXMS MESSAGE ASC 1,A1 TO DEF EE063+4 DMA1 JSB SETIN INPUT. E065 JSB PXDT2 REPORT BAD INPUT XFER. * A=TRANSFER ADDRESS * B=EXPECTED DATA ISZ CNTR SECOND WORD CHECKED YET? RSS NO! GO CHECK IT. JMP MARIN YES! GO CHECK DMA2. ISZ PADDR UPDATE TEST PATTERN PNTR. LDA NULL+1 GET SECOND XFER ADDR DATA. LDB PATT2 GET SECOND PATTERN. JMP CHKPT GO CHECK IT. SKP MARIN JSB RDYXF READY TRANSFER. JSB OUT2 INITIALIZE DMA2 INPUT. JSB RDYIO READY I-O. STC 7,C TURN ON DMA2. LDA NULL GET FIRST XFER ADDR DATA LDB PATT1 GET EXPECTED DATA. CHKPN JSB FIXDT GO MASK DATA. STB DAIN SAVE EXPECTED DATA CPA B TRANSFER VALID? JMP E066+1 YES! SKIP ERROR REPORT. JSB FIXMS NO! UPDATE ASC 1,66 THE DEF EE063+1 ERROR JSB FIXMS MESSAGE ASC 1,A2 TO DEF EE063+4 DMA2 JSB SETIN INPUT. E066 JSB PXDT2 REPORT BAD DMA2 IN XFER. * A=TRANSFER ADDRESS * B=EXPECTED DATA ISZ CNTR SECOND XFER CHECKED? RSS NO! GO CHECK IT. JMP TRETN YES! EXIT TEST SECTION. ISZ PADDR UPDATE TEST PATTERN POINTER. LDA NULL+1 GET EXPECTED PATTERN. LDB PATT2 GET SECOND TEST PATTERN. JMP CHKPN GO CHECK SECOND XFER. HED TST14 STC,CLF AND OVERRIDE TEST * TST14 TESTS NO STC OR CLF OCCURS ON THE LAST DMA INPUT XFER * AND DMA1 CYCLES OVERRIDE DMA2 CYCLES. * TST14 CLC 0,C CLEAR I-O. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 INPUT XFER. JSB OUT1 READY DMA1 IN. JSB TSTC1 CHECK DMA1 STC. SFC 0 p STC OCCUR? JMP E100+2 NO! SKIP ERROR. E100 JSB ERMSG E100 ILLEGAL STC ON DEF EE100 LAST DMA1 INPUT XFER. CLC 0,C CLEAR I-O. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 INPUT XFER. JSB OUT2 READY DMA2 IN. JSB TSTC2 CHECK DMA2 STC. SFC 0 STC OCCUR? JMP E101+2 NO! SKIP ERROR. E101 JSB ERMSG E101 ILLEGAL STC ON LAST DEF EE101 DMA2 INPUT XFER. JSB STF SET I-O FLAG FF. CLF 0 TURN OFF INT SYSTEM. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT1 READY DMA1 IN. STC 6,C TURN ON DMA1. JSB SFS DMA1 CLF OCCUR? RSS YES! REPORT ERROR. JMP E102+2 NO! SKIP ERROR. E102 JSB ERMSG E102 ILLEGAL CLF ON LAST DEF EE102 DMA1 INPUT XFER. JSB STF SET I-O FLAG FF. CCB WORD COUNT=-1. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT2 READY DMA2. STC 7,C TURN ON DMA2. JSB SFS DMA2 CLF OCCUR? RSS YES! REPORT ERROR. JMP IOX1 NO! SKIP ERROR. E103 JSB ERMSG E103 ILLEGAL CLF ON LAST DEF EE103 DMA2 INPUT XFER. SKP IOX1 CLF CH CLEAR I-O FLAG FF. LDB M2 WORD COUNT=-2. LDA ANULL XFER ADDR. JSB OUT1 READY DMA1 OUT. LDA NULL SAVE EXPECTED STA SVRES TRANSFER ADDRESS CONTENTS. LDA ANULL XFER ADDR. IOR BIT15 FORM INPUT ADDR. JSB OUT2 READY DMA2 IN. STC 6,C TURN ON DMA1 OUT. STC 7,C TURN ON DMA2 IN. JSB STF SET I-O FLAG FF. STF 6 TURN OFF DMA1. STF 7 TURN OFF DMA2. LDA NULL GET XFER ADDR CONTENTS. CPA SVRES WAS INPUT XFER ALLOWED? JMP TRETN NO! EXIT TEST SECTION. E104 JSB ERMSG E104 DMA1 DID NOT OVERRIDE DEF EE104 DMA2 CYCLE. JMP TRETN EXIT TEST SECTION. HED DUAL CH DMA BLOCK TRANSFER TEST * TEST 15 IS AN APPENDIX ADDED TO THE DMA TEST. TEST 15 IS NOT * PART OF THE STANDARD TEST RUN. THIS TEST REQUIRES TWO UI CARDS * WITH A SPECIAL TEST CONNECTOR AS DESCRIBED IN THE MOD. * SEE FIGURE A-1 AND A-2.. * * * TO RUN SET: * * P-REG TO 100B. * S-REG WITH SELECT CODES: * SC1 IN BITS 5-0 * SC2 IN BITS 9-6 * PRESS PRESET RUN * WAIT FOR HALT 74B * S-REG WITH PROGRAM OPTIONS * PRESS RUN * HALT 77B FOR COMPLETION * * * 12930 PROGRAMMABLE SWITCHES * * 85S1-2 97S1-2 106S1-1 * S2-5 S2-5 S2-5 * S3-10(0) S3-10(0) S3-9 * * 87S1-1 102S1-2 * S2-4 S2-7 * S3-8 S3-10(0) * * NOTE: THE PROGRAMMABLE SWITCHES ARE SET USING A SCREWDRIVER * TO POSITION THE CONTACT MECHANISM. SEE FIGURE A-3 * IN MOD FOR SWITCH LOCATION AND SWITCH POSITIONS. * * THE SWITCH SETTING SHOWN ABOVE ARE FOR TEST 15 USING * TWO UI CARDS WITH SPECIAL TEST CONNECTOR DESCRIBED IN * THE MOD.. SKP TST15 NOP CLC 0,C CLEAR I-O CLC 6 CLEAR CLC 7 DMA 1 & 2 LDA ASC6 SET UP MESSAGE JSB SMSG FOR DMA-6 LDA FWAM FIRST WORD OF AVBL. MEMORY LDB LWAM LAST WORD OF AVBL. MEMORY CMA,INA MAKE 2'S COMP ADA B SUBTRUCT FWAM FROM LWAM ARS DIVIDE BUF AREA IN HALF NOP DEBUG STA BUF SAVE BUF SIZE ISZ BUF ADD 1 TO BUF ADDR CMA,INA 2'S COMP INA SUBTRACT 1 STA WCNT WORD COUNT FOR DMA TRANSFER LDA BUF GET ADDRESS ADA FWAM FOR BUF2 STA BUF AND STORE LDA M2 -2 STA CNTX SET COUNTER NOP DEBUG L1 LDA WCNT NUMBER OF WORDS STA CNT TO BE TRANSFERED JSB PATX GENERATE PATTERN IN BUFFER CH2 CLC CHA,C CLEAR CONTROL AND CH3 CLC CHB,C FLAG ON I-O JSB DMAO INITIALIZE DMA FOR OUT JSB DMAI INITIALIZE DMA FOR INPUT STC 6,C START DMA CH1 STC 7,C START DMA CH2 NOP DEBUG CLA CLEAR FOR CPU CYCLE COUNT CH1 STC CHB,C START I-O CH L8 NOP FOUR INSTR SFC 6 LOOP FOR JMP L6 21MX-E INA,SZA CPU JMP L8 CYCLE COUNT LIB 2 DMA DID'NT COMPLETE JSB ERR2 REPORT ERR JMP L4 SKIP DMA FLAG 6 TEST L6 STA TST14 STORE CPU CYCLES NOP DEBUG LIB 2 READ DMA WC REG SZB IS DMA WC COMPLETE ? JSB ERR1 REPORT ERR NOP DEBUG LDB 115B CHECK IF SSB,RSS 21MX-E JMP *+3 NO - NOT MX SERIES BLF,SLB IS IT "E" ? JMP L10 YES "E" NOP DEBUG LDB WCNT ALLOW CMB ONLY ADA B ONE CPU CYCLE JMP L9 FOR 2100-21MX-M L10 NOP DEBUG ALS,ALS MULTIPLY CPU COUNTS BY FOUR L9 ADA WCNT ADD NEGATIVE WC VALUE SSA ERR IS COUNT = POSTIVE VALUE JMP L4 OK JSB ERMSG REPORT ERR DEF EE117 L4 NOP DEBUG LDA ASC7 SET UP MESSAGE JSB SMSG FOR DMA-7 SFS 7 IS FLAG SET ? JMP *+2 NO, CHECK WCR JMP L7 YES LIB 3 READ WCR JSB ERR2 REPORT ERR JMP L5 L7 LIB 3 READ WCR SZB IS WCR = TO ZERO JSB ERR1 NO, REPORT ERR L5 NOP 7 DEBUG LDB BUFZ ADDR OF BUFFER-Z LDB B,I ACT DATA LDA PATT1 EXP DATA CPA B COMPARE DATA JMP *+3 OK JSB ERMSG REPORT ERROR DEF EE115 NOP DEBUG LDB BUFZ ADDR OF BUFFER-Z INB NEXT ADDR IN BUFF-Z LDB B,I ACT DATA LDA PATT2 EXP DATA CPA B COMPARE DATA JMP *+3 OK JSB ERMSG REPORT ERROR DEF EE116 NOP DEBUG LDA BUF GET ADDRESS FOR BUF2 STA BUF2 TABLE POINTER LDA WCNT NUMBER OF INA SKIP FIRST WORD IN BUF STA CNT WORDS IN TABLE LDA BUF1 GET ADDRESS FOR BUF1 INA SKIP FIRST WORD IN BUF STA BUFX TABLE POINTER NOP DEBUG L2 LDA BUF2,I GET EXPECTED DATA LDB BUFX,I GET ACTUAL DATA NOP DEBUG CPA B COMPARE DATA RSS OK JSB ERR REPORT ERROR ISZ BUF2 INCR BUF2 TABLE POINTER ISZ BUFX INCR BUF1 TABLE POINTER ISZ CNT LAST WORD ? JMP L2 NO, LOOP JSB REV REVERSE I-O CH NOP DEBUG ISZ CNTX HAS SECOND PASS BEEN RUN ? JMP L1 NO, LOOP AGAIN NOP DEBUG JMP TRETN RETURN * HED MESSAGES INTRO OCT 6412 ASC 10,DMA-DCPC DIAGNOSTIC OCT 6412 ASC 01,// EE000 ASC 07,E000 CLF-SFS6/ EE001 ASC 07,E001 CLF-SFC6/ EE002 ASC 07,E002 STF-SFC6/ EE003 ASC 07,E003 STF-SFS6/ EE004 ASC 07,E004 CLF-SFS7/ EE005 ASC 07,E005 CLF-SFC7/ EE006 ASC 07,E006 STF-SFC7/ EE007 ASC 07,E007 STF-SFS7/ EE010 ASC 11,E010 ILLEGAL DMA1 INT/ EE011 ASC 11,E011 ILLEGAL DMA2 INT/ EE012 ASC 09,E012 NO DMA1 INT/ EE015 ASC 09,E015 NO DMA2 INT/ EE020 ASC 07,E020 DMA1 CRS/ EE021 ASC 07,E021 DMA2 CRS/ EE022 ASC 05,E022 CLC6/ EE023 ASC 05,E023 CLC7/ EE024 D0TRNASC 09,E024 DMA1 PRESET/ EE025 ASC 09,E025 DMA2 PRESET/ EE026 ASC 07,E026 PRIORITY/ EE032 ASC 08,E032 SC DECODE/ EE033 ASC 05,E033 WCR1 OCT 6412 M33A ASC 07, EXP = XXXXXX OCT 6412 M33B ASC 07, ACT = XXXXXX/ EE041 ASC 05,E041 WCR1/ EE042 ASC 05,E042 WCR2/ EE043 ASC 09,E043 DMA1 STC FF/ EE045 ASC 09,E045 DMA2 STC FF/ EE047 ASC 09,E047 DMA1 CLC FF/ EE051 ASC 09,E051 DMA2 CLC FF/ EE053 ASC 07,E053 DMA1 CLF/ EE054 ASC 07,E054 DMA2 CLF/ EE055 ASC 06,E055 STF 6/ EE056 ASC 06,E056 STF 7/ EE063 ASC 07,E063 DMA1 OUT OCT 6412 M63A ASC 11,TRANSFER ADDR =XXXXXX OCT 6412 M63B ASC 11,EXPECTED DATA =XXXXXX OCT 6412 M63C ASC 11,ACTUAL DATA =XXXXXX/ EE100 ASC 13,E100 DMA1 STC GENERATION/ EE101 ASC 13,E101 DMA2 STC GENERATION/ EE102 ASC 7,E102 DMA1 CLF/ EE103 ASC 7,E103 DMA2 CLF/ EE104 ASC 10,E104 DMA1 OVERRIDE/ EE105 ASC 05,E105 WCR2/ EE106 ASC 05,E106 WCR1/ EE107 ASC 19,E107 DUAL CH DMA BLOCK TRANSFER FAILED OCT 6412 M107A ASC 13,EXP =YYYYYY ADDR =XXXXXX OCT 6412 M107B ASC 14,ACT =ZZZZZZ ADDR =XXXXXX/ EE110 ASC 18,E110 DMA FLAG 6 SET BUT WCR=ORIGINAL ASC 05,WC VALUE/ EE111 ASC 19,E111 DMA FLAG 6 SET BUT WCR NOT ZERO/ EE112 ASC 20,E112 DMA FLAG 6 NOT SET & WCR= ORIGINAL ASC 05,WC VALUE/ EE113 ASC 19,E113 DMA FLAG 6 NOT SET BUT WCR=ZERO/ EE114 ASC 19,E114 DMA FLAG 6 NOT SET & WCR=XXXXXX/ EE115 ASC 15,E115 DMA WROTE 1 WORD PASS WC/ EE116 ASC 20,E116 DMA WROTE 2 OR MORE WORDS PAST WC/ EE117 ASC 17,E117 EXECESSIVE CPU CYCLE COUNTS/ PRSET ASC 13,H324 PRESS PRESET AND RUN/ FWAA EQU * FIRST WORD AVAILABLE MEMORY END WT  24323-18001 1624 S 0122 MEMORY DG              H0101 ASMB,A,B,L,C HED 2100 SERIES MEMORY DIAGNOSTIC(LOW) ORG 2B * UNL * REP 62 * OCT 106077 UNL REP 62 OCT 106077 LST * ******************************************************************** * * * DIAGNOSTIC CHECKS MEMORY OPERATION * * DIAGNOSTIC ASSUMES THE FOLLOWING TESTS HAVE BEEN RUN * * MEMORY REFERENCE GROUP DSN 101000 * ALTER-SKIP GROUP DSN 101001 * SHIFT-ROTATE GROUP DSN 101002 * * RUNS IN 4K MEMORY * * CONSOLE NOT REQUIRED * * DIAGNOSTIC CONFIGURATOR IS OPTIONAL * * DIAGNOSTIC SERIAL NO(DSN) 102200 * * OPERATING INSTRUCTIONS: * * 1. LOAD AND CONFIGURE DIAGNOSTIC CONFIGURATOR (OPTIONAL) * * 2. LOAD MEM DIAGNOSTIC. * * 3. SET P REGISTER = 100. (SET P = 130 TO START WITH LOW * MEMORY MODULE(RESIDES LOW(2-1777) AND TESTS HIGH).) * * 4. SELECT PROGRAM OPTIONS IN SWITCH REGISTER. * * 5. PRESS PRESET(INT. & EXT. IF PRESENT) AND RUN. * * NOTE-WHEN PROGRAM IS TESTING LOW MEMORY(2-1777),THE DSN AT * LOCATION 126 IS WIPED OUT. IT SHOULD BE LOCATED AT * ADDRESS 3624. SKP * *************** SWITCH REGISTER OPTIONS **************************** * * * * BIT MEANING * * 0 RUN ADDRESS TEST(BIT/DECODER-21MX) * 1 RUN ALT WORD PATTERN TEST(COLUMN-21MX) * 2 RUN WORD PATTERN TEST(ROW-21MX) * 3 RUN BIT 0 TEST(DISTURBANCE-21MX) * 4 RUN RANDOM NUMBER TEST * *NOTE-BITS 0 THRU 4 CLEAR WILL RESULT IN TESTS 0-3 * BEING RUN. * 5 STORE ERROR OCCURRING ABOVE 8K AND NOT DUE TO MOVE * COMPARISONS IN THE ERROR TABLE.(LIMITED TO FOUR * ERRORS PER 4K). * 6 CLEAR ERROR TABLE(LOW MEMORY MODULE ONLY). * 7 RESERVED. * 8 CLEAR IF CONFIGURATOR IS LOADED AND CONFIGURED. * SET IF CONFIGURATOR IS NOT LOADED. * 9 RESERVED. * 10  EXIT TO RESTART LOW MEMORY MODULE * 11 HALT UPON RETURN TO LOW MEMORY MODULE. * 12 LOOP ON DIAGNOSTIC. CLEAR TO HALT AT END OF PASS. * 13 LOOP ON SELECTED TEST. * 14 SUPPRESS ERROR HALTS. * 15 HALT AT END OF TEST * * ******************************************************************** * SKP * * *************** COMPUTER HALTS ************************************* * * HALT MEANING * * 102005 ERROR TABLE DISPLAY (A=NXT AVAILABLE ADDRESS OF TABLE * (B= # OF ERRORS) * 102006 ERROR TABLE RAN OVER LOCATION 2000. PROGRAM WIPED OUT * 102007 PARITY ERROR IN PGM AREA * 102013 PARITY ERROR IN TEST AREA * 1020XX MEMORY ADDRESS/DATA ERROR * * XX TEST * 10 PROGRAM NOT MOVED CORRECTLY. AN ERROR * OCCURRED WHILE RELOCATING A SECTION OF * THE PROGRAM. DETERMINE HIGH OR LOW AND * START FROM THE GOOD MODULE. (A) = GOOD DATA, * (B) = BAD DATA. PRESS RUN FOR ADDRESS. * 20 1 (A)= DATA WRITTEN INTO MEMORY * 30 2 (B)= DATA READ FROM MEMORY * 40 3 * 50 4A * 52 4B * 60 5 * 1020YY MEMORY ADDRESS/DATA ERROR * YY=XX+1 (A)=FAILING ADDRESS * 102076 HALT AT END OF EACH TEST * 102077 END OF TEST CYCLE * 103004 UNEXPECTED POWER FAIL * 103077 NONEXISTENT MEMORY READ OTHER THAN ALL 0'S * 106005 MEMORY PROTECT INTERRUPT * 106077 UNEXPECTED TRAP CELL INTERRUPT * * * * ******************************************************************* * SKP * * ERROR TABLE FORMAT: * * M ADDRESS OF ERROR * M+1 GOOD DATA(DATA WRITTEN) * M+2 BAD DATA(DATA READ) * M+3 RESERVED * M+4 NUMBER OF TIMES AN ERROR OCCURRED AT THIS ADDRESS * * THE ERROR TABLE STARTS AT 1600. FIVE LOCATIONS PER ERROR. * FOUR ERRORS PER 4K ABOVE 8K(ADDITIONAL ERRORS WITHIN THE * 4K MODULE ARE IGNORED). * * TABLE ADDRESSES * RESERVED FOR THE * MODULE MODULE * * 2 1600-1623 * 3 1624-1647 * 4 1650-1673 * 5 1674-1717 * 6 1720-1743 * 7 1744-1767 * SKP * * WORST CASE MEMORY PATTERN EQUATIONS * ******************************************************************** * * * COMPUTER EQUATION MEMORY TYPE * * 2100A (M5 EOR M6)F CUPERTINO 4/8 * 21MX M6F SEMICONDUCTOR * * *** NOTE MX= MEMORY ADDRESS BITS *** *** EOR = EXCLUSIVE OR *** * ******************************************************************** * * * SEMICONDUCTOR MEMORY FUNCTIONAL TESTS * ******************************************************************** * * COMPUTER TEST MEMORY TYPE * * 21MX SEMICONDUCTOR * * CHIP TEST : PATTERN USED : * * (1) BIT/DECODER * * * P = ADDRESS * (2) COLUMN * * * P = M0 PASS 1 0'S,1'S * * * PASS 2 1'S,O'S * (3) ROW * * * P = M5 PASS 1 32-O'S,32-1'S * * * PASS 2 32 1,S,32-O'S * (4) DISTURBANCE * * * P = M5 PASS 1 SLIDING O,1 32L * * * PASS 2 SLIDING 1,O 32L * * ******************************************************************** * SKP ORG 2B NOP DEF HMPPE HLT 4,C POWER FAIL INT LPEIT JS\B LMPPE MEMORY PROTECT/PARITY ERROR INT ORG 100B JMP L2000,I GO START WITH HIGH MEMORY TEST ORG 105B DEF FWAM ORG 126B OCT 102200 SPC 3 A EQU 0 B EQU 1 SWR EQU 1 ORG 130B JMP LPE GO START WITH LOW MEMORY TEST BJMP1 JMP NEXT9 JMP NEXT9 INSTRUCTION LTYPE OCT 0 LSTBL OCT 17 TESTS 0-3 LWTBL OCT 2 OCT 2000 OCT 4777 LFRST EQU LWTBL+1 LFWA EQU LWTBL+1 LLAST EQU LWTBL+2 LLWA EQU LWTBL+2 LDM16 DEC -16 LOOP COUNT LMMG OCT 10 LMFG OCT 0 LADDR OCT 0 CURRENT WORKING ADDRESS LPTN1 OCT 0 DATA PATTERN 1 LPTN2 OCT 0 DATA PATTERN 2 LLPC OCT 0 LOOP COUNTER LBPT1 OCT 1 BIT PATTERN 1 LBPT2 OCT 177776 BIT PATTERN 2 LBPTS OCT 0 BIT PATTERN SAVE LMSB OCT 77777 BIT 15 MASK MB4 OCT -4 M10K OCT -10000 M30K OCT -30000 B4 OCT 4 B5 OCT 5 L10 EQU LMMG LB20 OCT 20 B24 OCT 24 LB30 OCT 30 LB37 OCT 37 LB40 OCT 40 LB50 OCT 50 LB52 OCT 52 LB60 OCT 60 LHLTS OCT 0 LHLT HLT 0 L2000 OCT 2000 B3500 OCT 3500 B4700 OCT 4700 B4777 OCT 4777 B5000 OCT 5000 B6500 OCT 6500 LLDCM BSS 1 CONFIGURATOR ADDRESS TEMP BSS 1 LMAX BSS 1 MAXIMUM MEMORY ADDRESS * * * LRST TESTS SWR BIT 10 FOR PROGRAM RESTART * IF IT IS SET THE PROGRAM RESTARTS SKIPPING * CONFIGURATION SECTION * IF IT IS NOT SET A NORMAL RETURN IS MADE * LRST NOP LIA SWR ALF,RAL SSA TEST FOR RESTART JMP LPE2 JMP LRST,I SKP * * * LPE START OF PROGRAM * LPE EQU * JSB MEMRY GO DETERMINE PARAMETERS LDA LTYPE CPA LMMG TEST FOR NEW TYPE RSS CLA STA LMFG LDA LTYPE ADA LMSK1 FORM MASK 1 POINTER STA LMS1 SAVE LDA LTYPE ADA LMSK2 FORM MASK 2 POINTER STA LMS2 SAVE LDA LSDM1 STA LSDS1 K NOP NOP NOP LDB LJPE NOP NOP STB LPEIT LDA B5000 MOVE HIGH MEMORY STA LADDR TEST MODULE CLE TO LOCATIONS LDA B3500 5000-6477 LDB L2000 JSB MOVE LDA B4777 SET TEST STA LWTBL+2 LIMITS OF LDB L2000 2000-4777 STB LWTBL+1 LPE2 EQU * LIA SWR STA LWTBL ALF SSA,RSS TEST FOR HALT AT RESTART JMP LTS0 LDA LPNT1 LDB LCNT HLT 5 YES, A=ADDR, B=ERROR COUNT SKP * ************** TEST SELECTION CONTROL ***************************** * LTS0 EQU * LIA SWR SAVE STA LWTBL PROGRAM OPTIONS AND LB37 DEFAULT SET SZA,RSS OF TESTS? LDA LSTBL YES STA LTSW INITIALIZE TEST SELECT WORD LDA LTSOL STA LTADR SET POINTER TO FIRST TEST ADR LDA LWTBL ALF,ALF RAL POSITION TEST BITS SSA TEST FOR ERROR TABLE RESET JSB LRSET RESET ERROR TABLE LTS2 LDA LTSW SLA,RSS PERFORM TEST ? JMP LTS3 NO LTS JSB LTADR,I YES LIA SWR SSA TEST FOR HALT REQUEST HLT 76B LIA SWR RAL,RAL SSA TEST FOR LOOP ON PGM JMP LTS LTS3 LDA LTSW ARS STA LTSW MODIFY TEST SELECT WD FOR NXT TST ISZ LTADR LDA LTADR CPA LTEOL TEST FOR LAST ADR RSS JMP LTS2 LOOK FOR NEXT TEST BREAK NOP LDA L2000 MOVE HIGH MEMORY STA LADDR MODULE BACK CCE TO LOCATIONS LDB B5000 2000-3477 LDA B6500 JSB MOVE LDA BJMP1 SET INSTRUCTION IN STA BREAK BREAK TO SKIP THIS SECTION LDA B3500 MOVE CONFIGURATOR STA LADDR AND LDCM DOWN CCE TO LOCATIONS LDA LMAX 3500-4777 KINA LDB LLDCM JSB MOVE LDA B5000 SET TEST STA LWTBL+1 LIMITS OF LDB LMAX 5000-MAXIMUM ADDRESS STB LWTBL+2 JMP LTS0 DO ANOTHER PASS W/NEW LIMITS NEXT9 EQU * LDA LLDCM MOVE CONFIGURATOR STA LADDR BACK TO CLE LOCATIONS LDA B4700 X6500-X7700 LDB B3500 JSB MOVE CLA RESTORE NOP STA BREAK TO BREAK LIA SWR CHECK ALF,RAR BIT 12 SSA,RSS HLT 77B JMP 100B DO ANOTHER PASS LTADR BSS 1 LTSW BSS 1 LTSOL DEF *+1,I DEF LADRT DEF LSWRD DEF LWORD DEF LPATT DEF LRNT LTEOL DEF *,I SKP *************** LOW MEMORY ADDRESS TEST **************************** * * LADRT PERFORMS ADDRESS TEST BY * * (1) WRITING LOC ADDRESS INTO LOCATION FOR * ALL AVAILABLE MEMORY LOCATIONS * (2) READING AND TESTING ALL LOCATIONS * LADRT NOP LDA LB20 STA LHLTS SAVE HALT TYPE CLO INDICATE WRITING MEMORY LDA LFWA STORE ADDRESS INTO LAW1 STA A,I LOCATION CPA LLWA TEST FOR LAST ADDRESS JMP LAR EXIT INA NEXT ADDRESS JMP LAW1 LAR STO INDICATE READING MEMORY LDB LFWA INITIALIZE STB LADDR ADDRESS POINTER STB LHLD2 PATTERN HOLD LDB LADDR,I CPB LADDR ADDRESS = TO ADDRESS CONTENTS RSS JSB LER1 NO JSB LRST TEST FOR PGM RESTART LDB LADDR YES CPB LLWA LAST ADDRESS JMP LAW2 GO DO ADDRESS COMPLIMENT TEST INB INCREMENT JMP LAR+2 CONTINUE LAW2 CLO INDICATE WRITING MEMORY JSB LRST TEST FOR PGM RESTART LDB LFWA LOAD 1ST ADDRESS LAW3 LDA B LOAD A CMA COMPLIMENT ADDRESS STA B,I STORE TO LOCATION @ CPB LLWA TEST FOR LAST ADDRESS JMP LAR2 GO TO READ INB NEXT ADDRESS JMP LAW3 LAR2 STO INDICATE READING MEMORY LDB LFWA INITIALIZE LAR3 STB LADDR ADDRESS POINTER CMB STB LHLD2 PATTERN HOLD LDB LADDR,I CPB LHLD2 ADDRESS COMP = TO ADDRESS CONTS RSS JSB LER1 NO LDB LADDR RELOAD CURRENT ADDRESS CPB LLWA LAST ADDRESS JMP LADRT,I YES INB NO JMP LAR3 CONTINUE SKP *************** LOW MEMORY PATTERN (ALT WD) TEST ******************* * * LSWRD PERFORMS ALTERNATE 1/0 PATTERN TEST * LSWRD NOP LDA LB30 STA LHLTS SAVE HALT TYPE LDA LJC1 SET UP STA LP0 PATTERN STA LR0 SELECTION CALL CCA STA LPFG SET PATTERN CHG FLAG CLA CCB JSB LPTN CCA CLB JSB LPTN JMP LSWRD,I SKP *************** LOW MEMORY PATTERN (WORD) TEST ********************* * * LWORD PERFORMS WORD PATTERN TESTING BY * * (1) WRITING PATTERN (WORSE CASE NOISE) INTO * MEMORY. PATTERN BASED ON CPU/MEMORY TYPE. * * (2) READING AND TESTING EACH LOCATION FOR * CORRECT PATTERN * * (3) SAVING PATTERN,WRITING,READING TESTING * COMPLIMENT OF ORIGNAL PATTERN AND RESTORING * ORIGNAL PATTERN * * (4) REPORTING ERRORS ENCOUNTERED DURING ALL TESTING * * (5) TEST IS PERFORMED TWICE, ONCE USING WORSE CASE * PATTERN AND SECOND TIME USING COMPLIMENT PATTERN * LWORD NOP LDA LB40 STA LHLTS SAVE HALT TYPE LDA LMFG DETERMINE SZA,RSS WHICH JMP LW0 PATTERN TO USE LDA LJC2 SET UP DIAGNONAL STA LP0 PATTERN STA LR0 SELECTION CALL JMP LW1  LW0 LDA LJC1 SET UP NORMAL STA LP0 PATTERN STA LR0 SELECTION CALL LW1 CLA STA LPFG CLEAR PATTERN CHG FLAG CCB JSB LPTN PERFORM WORD PATTERN CCA CLB JSB LPTN PERFORM ALT WD PATTERN JMP LWORD,I EXIT SKP *************** LOW MEMORY PATTERN (BIT) TEST ********************** * * LPATT PERFORMS BIT PATTERN TESTS * * (1) BIT 0 PATTERN * * (2) BIT 1 PATTERN * LPATT NOP LDA LJC1 SET UP STA LP0 PATTERN STA LR0 SELECTION CALL JSB LBITO PERFORM BITO TEST JSB LBIT1 PERFORM BIT1 TEST JMP LPATT,I EXIT SPC 5 * * LBITO IS SAME AS LWORD WITH THE EXCEPTION OF * * (1) PATTERN USED * * (2) TEST IS RUN 16 TIMES EACH TIME CHANGING PATTERN * LBITO NOP LDA LB50 STA LHLTS SAVE HALT TYPE LDA LBPT1 LDB LMFG SZB TEST FOR PATTERN TO BE USED LDA LBPT2 STA LBPTS INITIALIZE BIT O PATTERN LDA LDM16 STA LLPC INITIALIZE LOOP COUNT LBOO CLA STA LPFG CLEAR PATTERN CHG FLAG LDB LBPTS JSB LPTN PERFORM BIT O PATTERN LDA LBPTS CLB JSB LPTN PERFORM BIT O ALT PATTERN LDA LBPTS RAL CHANGE BIT O PATTERN STA LBPTS ISZ LLPC BUMP COUNT JMP LBOO CONTINUE JMP LBITO,I EXIT SKP * * LBIT1 IS THE SAME AS LBIT0 EXCEPT FOR INITIAL * PATTERN USED. * LBIT1 NOP LDA LB52 STA LHLTS SAVE HALT TYPE LDA LBPT2 LDB LMFG SZB TEST FOR PATTERN TO USED LDA LBPT1 STA LBPTS INITIALIZE BIT 1 PATTERN LDA LDM16 STA LLPC SET UP LOOP COUNT CLA STA LPFG SET PATTERN CHG FLAG LBT10 CCA LDB LBPTS JSB LPTN PERFORM BIT 1 PATTERN LDA LBPTS CCB JSB LPTN PERFORM BIT 1 ALT PATTERN LDA LBPTS RAL CHANGE BIT 1 PATTERN STA LBPTS ISZ LLPC BUMP LOOP COUNT JMP LBT10 CONTINUE JMP LBIT1,I EXIT SPC 3 * * LPTN PERFORMS ACTUAL TEST BY * * (1) SAVING PATTERNS TO BE WRITTEN * * (2) WRITING MEMORY * * (3) READING/TESTING MEMORY * LPTN NOP STA LPTN1 SAVE PATTERN 1 STB LPTN2 SAVE PATTERN 2 CLO INDICATE WRITING MEMORY JSB LWT WRITE PATTERN STO INDICATE READING MEMORY JSB LRD READ AND TEST PATTERN JMP LPTN,I EXIT SKP * * LWT WRITES PATTERN INTO MEMORY BASED ON CPU/MEMORY * TYPE BEING TESTED * LWT NOP JSB LRST TEST FOR PGM RESTART LDA LFRST STA LADDR INITIALIZE FIRST ADDRESS LP0 JSB LACK CHECK ADR FOR PTN TYPE JMP LP1 LDA LPTN1 JMP LP1+1 LP1 LDA LPTN2 STA LADDR,I STORE PATTERN LDA LADDR CPA LLAST TEST FOR LAST ADR JMP LWT,I EXIT ISZ LADDR BUMP CURRENT ADR JMP LP0 CONTINUE SPC 3 * * LRD READS/TESTS MEMORY BASED ON PATTERN WRITTEN * LRD NOP JSB LRST TEST FOR PGM RESTART LDA LFRST STA LADDR INITIALIZE FRST ADDRESS LR0 JSB LACK CHECK ADR FOR PATTERN TYPE JMP LR1 LDA LPTN1 JMP LR1+1 LR1 LDA LPTN2 STA LGDS STA LHLD2 SAVE GOOD DATA LDB LADDR,I READ LOCATION CPB A PATTERN OK ? RSS JSB LER1 NO JSB LCMP YES, COMPLIMENT AND TEST PTN LDA LADDR CPA LLAST TEST FOR LAST ADR JMP LRD,I EXIT ISZ LADDR BUMP CURRENT ADR JMP LR0 CONTINUE SKP * * LACK DETERMINES PATTERN TO BE WRITTEN INTO MEMORY * BASED ON THE EQUAT$<:6IONS DEFINING WORSE CASE * PATTERN FOR A PARTICULAR CPU/MEMORY TYPE * LACK NOP LDA LPFG SZA TEST FOR PATTERN CHG JSB LSACK LDA LADDR AND LMS1,I AND ADDRESS WITH MASK 1 ALF,ALF RAL,RAL POSITION BITS STA LRNS1 JSB LPS LDA LMS2,I SZA TEST FOR ONE TERM JMP LACK1 NO LDA LMSV2 SZA TEST PARITY FOR "0" ISZ LACK JMP LACK,I EXIT LACK1 AND LADDR SZA,RSS TEST FOR T OR F JMP LACK2 F CLA,INA AND LMSV1 STA LMSV3 SAVE AND TERM 1 CLA JMP LACK3 LACK2 STA LMSV3 SAVE AND TERM 1 CLA,INA AND LMSV2 LACK3 STA LMSV4 SAVE AND TERM 2 IOR LMSV3 FORM OR OF TERM 1 & 2 SZA TEST FOR "0" ISZ LACK JMP LACK,I EXIT b<  24323-18002 1624 S 0122 MEMORY DG              H0101 LMS1 OCT 0 TEMP STORAGE FOR MSK PTR LMS2 OCT 0 TEMP STORAGE FOR MSK PTR LMSV1 OCT 0 PARITY (T) LMSV2 OCT 0 PARITY (F) LMSV3 OCT 0 AND TERM 1 LMSV4 OCT 0 AND TERM 2 LMSK1 DEF * POINTER TO START OF 1ST MASK TBL OCT 41 2116A OCT 3 2116B OCT 140 2116C OCT 101 2115A OCT 101 2114A OCT 101 2114B OCT 140 2100A OCT 100 210XX OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 LMSK2 DEF * POINTER TO START OF 2ND MASK TBL OCT 100 OCT 200 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 SPC 3 * * LSACK PERFORMS SECOND PATTERN GENERATION * FROM ADDRESS BITS IN TABLE FOR * VARIOUS CPU/MEMORIES * LSACK NOP LDA LACK STA LSACK FORM NEW EXIT LDA LSDS1,I PICK UP MASK AND LADDR AND ADDRESS BITS SZA TEST FOR "0" ISZ LSACK JMP LSACK,I EXIT LPFG OCT 0 LSDS1 OCT 0 LSDM1 DEF *+1 OCT 1 210X OCT 0 210XX SPC 2 LDACK NOP LDA LADDR LOAD CURRENT ADDRESS AND LMSK3 MASK BITS 0/5 CPA LMSK3 JMP LDACK,I EXIT SZA ISZ LDACK JMP LDACK,I EXIT LMSK3 OCT 101 LJC1 JSB LACK LJC2 JSB LDACK SKP * * LCMP SAVES CURRENT PATTERN,WRITES/READS/TESTS * COMPLIMENT PATTERN AND RESTORES OLD PATTERN * FOR EACH LOCATION TESTED * LCMP NOP LDA LGDS LOAD GOOD DATA CMA COMPLIMENT CURRENT PATTERN STA LHLD2 SAVE STA LADDR,I WRITE IT BACK LDB LADDR,I READ IT BACK CPB LHLD2 IS OK ? RSS JSB LER1 NO LDA LGDS RELOAD DATA LSTA LADDR,I WRITE IT BACK JMP LCMP,I EXIT LGDS OCT 0 SKP *************** LOW MEMORY RANDOM NUM.TEST ************************* * * LRNT PERFORMS RANDOM PATTERN TESTING OF MEMORY * LRNT NOP LDA LB60 STA LHLTS SAVE HALT TYPE LDA LRN LRN0 STA LRNS INITIALIZE RNDM NO STORAGE STA LRNTS CLO INDICATE WRITING MEMORY LDA LFWA STA LADDR INITIALIZE 1ST ADDR LRN1 JSB LRNG GENERATE RNDM NUMBER STA LADDR,I STORE NUMBER IN TEST ADR LDA LADDR CPA LLWA LAST ADDR ? JMP *+3 ISZ LADDR BUMP ADDR JMP LRN1 NO STO INDICATE READING MEMORY LDA LFWA YES STA LADDR INITIALIZE 1ST ADDR LDA LRNTS STA LRNS INITIALIZE RNDM NO STORAGE LRN2 JSB LRNG GENERATE RNDM NUMBER LDB LADDR,I CPB LRNS TEST (ADR) RSS JSB LER1 BAD LDA LADDR GOOD CPA LLWA LAST ADDR ? JMP *+3 ISZ LADDR JMP LRN2 NO JSB LRST TEST FOR PGM RESTART NOP JMP *+2 JMP LRNT,I EXIT LDA LRNS JMP LRN0 LRN OCT 177777 RNDM NO LRNS OCT 0 RNDM NO STORAGE LRNTS OCT 0 SKP * * LRNG PERFORMS ACTUAL RANDOM NUMBER GENERATION * * ******** RANDOM PATTERN GENERATION ********************************* * * (1) INITIALIZE PATTERN (RPS _ 1'S) * * (2) AND OFF BITS 11,13,14,16 * * (3) FORM EXCLUSIVE OR OF BITS (PARITY SUM) * * (4) LEFT SHIFT RNDM PATTERN SHIFTING IN PARITY SUM * TO BIT O * * (5) TEST FOR ALL O'S AND DO (1) IF T, (6) IF F * * (6) EXIT * LRNG NOP JSB LRST TEST FOR PROGRAM RESTART LDA LRNS AND LRNM MASK NO FOR BITS 11,13,14,16 RAL POSITION BITS STA LRNS1 SAVE JSB LPS FORM PARITY LDA LRNS RAL SHIFT AND LBT0 ADA LMSV1 SZA,RSS TEST FOR "0" LDA LRN STA LRNS SAVE STA LHLD2 JMP LRNG,I LRNM OCT 132000 BIT MASK LBT0 OCT 177776 BIT O MASK SKP * * LPS GENERATES THE PARITY OF THE BITS IN RSN1 * GENERATOR IS A TOGGLING FLOPFLOP INITIALLY * CLEARED * LPS NOP LDA LDM7 STA LRCT INITIALIZE COUNT LDA LRNS1 CLB CLEAR FLOP LPS1 SLA,RSS JMP LPS2 CMB TOGGLE FLIP FLOP LPS2 RAL NEXT BIT ISZ LRCT LAST BIT JMP LPS1 NO SZB TEST FOR PARITY "0" JMP LPS3 "1" STB LMSV1 SAVE T.P. INB JMP LPS4 LPS3 CLB,INB STB LMSV1 SAVE T.P. CLB LPS4 STB LMSV2 SAVE F.P. JMP LPS,I EXIT LRNS1 OCT 0 LDM7 DEC -7 LRCT OCT 0 CTR STORAGE SKP * * LER1 IS THE COMMON ERROR REPORTING SUBROUTINE WHICH * * (1) CHECKS FOR ERROR HALT * * (2) FORMS HALT TYPE * * (3) CHECKS FOR ERROR TO BE PUT IN TABLE * LER1 NOP STB LHLD1 SAVE BAD DATA LDA LHLT IOR LHLTS OR IN HALT TYPE STA LHLT0 INA STA LHLT1 LIA SWR CHECK ALF,ALF BIT 5 RAL,RAL SSA,RSS ON? JMP *+3 NO JSB LETBL YES. GO STORE JMP LE2 ERRORS IN ERROR TABLE JSB LCHK CHECK TO SEE IF HLT REQUESTED LHLT0 HLT 10B LDA LADDR CLB LHLT1 HLT 11B LE2 LDA LSAVA LDB LSAVB JMP LER1,I EXIT LHLD1 OCT 0 TEMP. STORAGE FOR BAD DATA LHLD2 OCT 0 TEMP. STORAGE FOR GOOD DATA SPC 2 * * LCHK CHECKS TO SEE IF ERROR HALT IS BEING REQUESTED * LCHK NOP STO SET OVERFLOW (ERROR) LIA SWR ALL ENTRIES CHECKED RAL,RAL SLA SUPPRESS ERROR HALT ? JMP LNHLT 1 YES LDA LHLD2 LDB LHLD1 JMP LCHK,I NO LNHLT LDA LCHK ADA B4 MODIFY RETURN ADDRESS JMP A,I RETURN SKP * * LETBL PLACES ERROR IN TABLE * LETBL NOP LDA LADDR ERROR ADDRESS ADA M8K IN FIRST 8K SSA OF MEMORY? JMP LHLT0-1 YES.MUST GO HALT LDA LHLTS NO.IS THIS A CPA L10 MOVE COMPARISON? JMP LHLT0-1 YES.MUST GO HALT LDA LECNT NO.CHECK TO STA LCTR1 SEE IF THIS LDB LAT1 ADDRESS HAS ERRORED LDA LADDR BEFORE LCPR EQU * CPA B,I BAD ADDRESS BEEN USED? JMP LCH1 YES ADB B5 NO.CHECK NEXT ERROR ADDRESS ISZ LCTR1 DONE? JMP LCPR NO JMP LCH2 YES.GO ON LCH1 EQU * LDA B4 BUMP # OF ADA B TIMES ERROR ISZ A,I COUNTER JMP LE2 CONTINUE WITHOUT HALT CCB STOP AT STB A,I 32K ERRORS JMP LE2 LAT1 DEF LTBL1 LCTR1 OCT 0 COUNTER STORAGE LCH2 EQU * LDA LAT1 POINT TO STA TEMP START OF TABLE STA LPNT1 LDA LADDR ERROR ADDRESS LDB M30K START WITH MOD 2 LET1 EQU * ADA B IS THE ERROR SSA IN THIS MODULE? JMP LET2 YES LDA TEMP NO.POINT TO ADA B24 NEXT 4K MODULE STA TEMP ERROR TABLE LOCATION STA LPNT1 LDA LADDR GET ERROR ADDRESS ADB M10K BUMP MODULE #(4K) SZB 32K? JMP LET1 NO LET2 EQU * YES LDA MB4 SET STA COUNT COUNTER LDB TEMP LET3 EQU * LDA B,I GET TABLE ADDRESS ENTRY SZA,RSS ANY PREVIOUS ENTRY? JMP LET4 NO.GO AHEAD & ENTER THE ERROR ADB B5 YES.POINT TO NEXT ERROR STB LPNT1 ISZ COUNT DONE 4 ERRORS YET?  JMP LET3 NO JMP LE2 YES.TABLE IS FULL FOR THIS MOD. LET4 EQU * LDA LPNT1 MOVE TABLE POINTERS INA STA LPNT2 INA STA LPNT3 INA STA LPNT4 INA STA LPNT5 LDA LADDR STA LPNT1,I SAVE BAD ADDR LDA LHLD2 STA LPNT2,I SAVE GOOD PTRN LDA LHLD1 STA LPNT3,I SAVE BAD PTRN CLA,INA STA LPNT5,I SAVE FIRST TIME THIS ERROR ISZ LCNT BUMP TABLE COUNT LDA LPNT1 CMA,INA ADA L2000 SSA,RSS TEST AREA OVERLAP TABLE ? JMP LETBL,I NO HLT 6 SOMETHING IS WRONG JMP LETBL,I M8K OCT -20000 COUNT BSS 1 COUNTER LCNT OCT 0 LPNT1 DEF LTBL1 POINTER TO TBL 1 LPNT2 DEF LTBL2 POINTER TO TBL 2 LPNT3 DEF LTBL3 POINTER TO TBL 3 LPNT4 DEF LTBL4 POINTER TO TBL 4 LPNT5 DEF LTBL5 POINTER TO TBL 5 SKP * * LRSET RESETS THE ERROR TABLE * LRSET NOP CLA CLEAR LDB LAT1 ERROR LRS1 EQU * TABLE STA B,I INB CPB L2000 DONE? RSS JMP LRS1 NO STA LCNT CLEAR ERROR COUNT JMP LRSET,I EXIT LECNT DEC -24 SKP * * LMPPE PARITY/MEMORY PROTECT INT HANDLER * LMPPE NOP STA LSAVA SAVE A STB LSAVB SAVE B LDA LFRST CMA,INA STA LNFST FORM NEG 1ST LOCATION ADR LIA 5 SSA TEST FOR JMP *+3 MEMORY OCT 106005 PROTECT JMP LMP1+2 INT. AND LMSB READ ERROR ADR AND MASK OUT BT15 ADA LNFST SSA IS PE IN PGM OR TEST AREA JMP LPGM PGM AREA LDA LHLD2 LOAD CURRENT PATTERN CPA LSAVB LOAD PARITY ERROR PATTERN JMP LMP1 ERROR IS BIT LMP0 STF 5 TURN ON PARITY LDA LSAVA RESTORE A LDB LSAVB RESTORE (B JMP LMPPE,I EXIT LMP1 LDB LADDR LOAD ADDR HLT 13B PARITY ERROR JMP LMP0 EXIT LPGM LIA 5 AND LMSB LDB A,I HLT 7B A= ADDR B= (ADDR) STB A,I RESTORE (P.E. ADDR) STF 5 JMP LPE2 RESTART LNFST OCT 0 STORAGE FOR FRST LSAVA OCT 0 SAVE AREA LSAVB OCT 0 SAVE AREA LJPE JSB LMPPE SKP * * MOVE ROUTINE * * MOVES A SECTION OF MEMORY UP OR DOWN * * CALLING SEQUENCE: * * CLE(MOVE UP) OR CCE(MOVE DOWN) * LDA UPPER LIMIT OF BLOCK + 1 * LDB LOWER LIMIT OF BLOCK * JSB MOVE * (DESTINATION STARTING ADDRESS MUST BE IN * LOCATION LADDR) * MOVE NOP STA TEMP SAVE UPPER LIMIT LDA L10 SAVE STA LHLTS HALT TYPE SEZ UP? JMP LOOP6 NO LOOP5 EQU * YES LDA B,I TRANSFER STA LADDR,I A WORD LDA LADDR,I COMPARE CPA B,I IT JMP NEXT7 OK.GO ON STA LSAVA SAVE STB LSAVB REGISTERS LDB B,I GET GOOD DATA SWP STA LHLD2 SAVE GOOD DATA JSB LER1 GO TO ERROR ROUTINE NEXT7 EQU * ISZ LADDR BUMP INB POINTERS CPB TEMP DONE? JMP MOVE,I YES JMP LOOP5 NO LOOP6 EQU * LDA B,I TRANSFER STA LADDR,I A WORD LDA LADDR,I COMPARE CPA B,I IT JMP NEXT8 OK.GO ON STA LSAVA SAVE STB LSAVB REGISTERS LDB B,I GET GOOD DATA SWP STA LHLD2 SAVE GOOD DATA JSB LER1 GO TO ERROR ROUTINE NEXT8 EQU * ISZ LADDR BUMP INB POINTERS CPB TEMP DONE? JMP MOVE,I YES JMP LOOP6 NO ORG 1600B LTBL1 OCT 0 BAD ADDR LTBL2 OCT 0 nAGOOD DATA LTBL3 OCT 0 BAD DATA LTBL4 OCT 0 RESERVED LTBL5 OCT 0 # TIMES ERROR AT THIS ADDRESS SKP * * * MEMORY SIZE & COMPUTER TYPE ROUTINE * OVERLAYED AFTER PROGRAM IS STARTED * MEMRY NOP LDA L10 SAVE STA PHLTS,I HALT TYPE LDA B10K START WITH 8K ADA B3 MOVE TO ADDRESS 3 OF PAGE FOR WRAPAROUND AGAIN EQU * CLB CLEAR WRAPAROUND STB 3B CCB STB A,I TRY TO WRITE ONES THERE CPB 3B DID IT WRAPAROUND? JMP GOTIT YES - NO MORE MEMORY LDB A,I GET RESULTS CPB ONES IS IT ALL ONES? JMP *+4 YES.MEMORY IS THERE SZB NO.IS IT ALL ZEROS? HLT 77B,C NO.SOMETHING IS WRONG JMP GOTIT OK NO MORE MEMORY ADA B10K MOVE UP 4K SSA,RSS DID THE ADDRESS GO MINUS? JMP AGAIN NO.TRY AGAIN GOTIT EQU * YES ADA MB10K DROP BACK ONE 4K AND B70K ELIMINATE 3B STA TEMP SAVE ADDRESS ADA B7700 POINT TO BINARY LOADER LDB A,I TRY TO READ WORD LDA TEMP RESTORE A REG. ADA B7677 SZB DID IT READ? IOR B100 YES THEN CHECK LOADER STA LMAX SET UPPER LIMIT MAX LIA 1 CHECK FOR CONFIGURATOR STA 3B SAVE S-REG ALF,ALF ERA PUT BIT IN E REG LDA 115B PICK UP COMPUTER TYPE FROM CONFIGURATOR ALF AND B17 SEZ,RSS IS CONFIG. LOADED JMP *+4 LDA B7 SET FOR 2100 SZB IS IT INA NO MOVE TO 21MX STA LTYPE SAVE MACHINE TYPE STA PHTYP,I LDA B17 SET TIME FOR DISPLAY OF MEMORY CMA,INA MAKE IT NEGATIVE STA LLDCM LDA LMAX GET MEMORY SIZE OTA 1 PUT IT ON S-REG. CLB INB,SZB JMP *-1 ISZ LLDCM TIME UĕP JMP *-3 NO LDA 3B GET ORIGINAL S-REG OTA 1 RESTORE IT SKP CLA STA PLPE,I DISABLE CALLS STA PHPE,I TO THIS ROUTINE LDA PHPE,I COMPARE SZA,RSS NOP JMP NEXT5 OK LDB PHPE FORM STB PADDR,I ADDRESS LDB A FORM GOOD DATA CLA STA PHLD2,I SAVE GOOD DATA JSB PHER1,I GO HALT FOR ERROR NEXT5 EQU * LDA PLPE,I COMPARE SZA,RSS OTHER NOP JMP NEXT6 OK LDB PLPE FORM STB PADDR,I ADDRESS LDB A FORM GOOD ADDRESS CLA STA PHLD2,I SAVE GOOD DATA JSB PHER1,I GO HALT FOR ERROR NEXT6 EQU * LDA TEMP FORM START OF ADA B6500 CONFIGURATOR ADDRESS STA LLDCM SAVE IT LDA LTYPE GET COMPUTER TYPE IN A REG JSB LRSET CLEAR ERROR TABLE JMP MEMRY,I MB10K OCT -10000 B3 OCT 3 B7 OCT 7 B17 OCT 17 B100 OCT 100 B7700 OCT 7700 B7677 OCT 7677 B10K OCT 10000 B70K OCT 70000 ONES OCT 177777 PLPE DEF LPE LINK TO LOWER CALLING ADDRESS PHPE DEF HPE LINK TO HIGH CALLING ADDRESS PHLTS DEF HHLTS LINK TO HIGH HALT TYPE PHTYP DEF HTYPE LINK TO HIGH COMPUTER TYPE PHLD2 DEF HHLD2 LINK TO GOOD DATA IN HIGH TEST PHER1 DEF HER1 LINK TO HIGH ERROR ROUTINE PADDR DEF HADDR LINK TO ADDRESS IN HIGH TEST HED 2100 SERIES MEMORY DIAGNOSTIC(HIGH) * * * START OF LOW MEMORY TEST * ORG 2000B JMP HPE HTYPE OCT 0 HSTBL OCT 17 TESTS 0-3 OCT 6 START OF TEST AREA OCT 1777 END OF TEST AREA HWTBL OCT 2 OCT 6 OCT 1777 HFRST EQU HWTBL+1 HFWA EQU HWTBL+1 HLAST EQU HWTBL+2 HLWA EQU HWTBL+2 PMEM DEF MEMRY LINK TO MEMORY ROUTINE HDM16 DEC -16 LOOP COUNT HMMG OCT 10 HMFG OCT 0 HADDR OCT 0 CURRENT WORKING ADDRESS HPTN1 OCT 0 DATA PATTERN 1 HP CTN2 OCT 0 DATA PATTERN 2 HLPC OCT 0 LOOP COUNTER HBPT1 OCT 1 BIT PATTERN 1 HBPT2 OCT 177776 BIT PATTERN 2 HBPTS OCT 0 BIT PATTERN SAVE HMSB OCT 77777 BIT 15 MASK HB20 OCT 20 HB30 OCT 30 HB37 OCT 37 HB40 OCT 40 HB50 OCT 50 HB52 OCT 52 HB60 OCT 60 HHLTS OCT 0 HHLT HLT 0 * * * HRST TESTS SWR BIT 10 FOR PROGRAM RESTART * IF IT IS SET THE PROGRAM RESTARTS SKIPPING * HIGH MEMORY MODULE * IF IT IS NOT SET A NORMAL RETURN IS MADE * HRST NOP LIA SWR ALF,RAL SSA TEST FOR RESTART JMP HTS4 JMP HRST,I SKP * * * HPE START OF PROGRAM * HPE EQU * JSB PMEM,I GO FIND MEMORY SIZE & COMP. LDA HTYPE CPA HMMG TEST FOR NEW TYPE RSS CLA STA HMFG LDA HTYPE ADA HMSK1 FORM MASK 1 POINTER STA HMS1 SAVE LDA HTYPE ADA HMSK2 FORM MASK 2 POINTER STA HMS2 SAVE LDA HSDM1 STA HSDS1 NOP NOP NOP NOP NOP LDB HJPE STB 5B YES JSB UPPER SAVE LOWER PROGRAM IN TEST AREA HPE2 JSB HINIT INITIALIZE INT LOC 4,5 SKP * ************** TEST SELECTION CONTROL ***************************** * LIA SWR SAVE PROGRAM STA HWTBL OPTIONS AND HB37 DEFAULT SZA,RSS TESTS? LDA HSTBL YES STA HTSW INITIALIZE TEST SELECT WORD LDA HTSOL STA HTADR SET POINTER TO FIRST TEST ADR HTS2 LDA HTSW SLA,RSS PERFORM TEST ? JMP HTS3 NO HTS JSB HTADR,I YES LIA SWR SSA TEST FOR HALT REQUEST HLT 76B LIA SWR RAL,RAL SSA TEST FOR LOOP ON PGM JMP HTS HTS3 LDA HTSW ARS STA HTSW MODIFY TEST SELECT WD FOR NXT TST ISZ HTADR LDA HTADR CPA HTEOL E<:6 TEST FOR LAST ADR RSS JMP HTS2 LOOK FOR NEXT TEST HTS4 EQU * JSB LOWER RESTORE LOWER PROGRAM JMP 130B GO DO LOW MEMORY TEST HTADR BSS 1 HTSW BSS 1 HTSOL DEF *+1,I DEF HADRT DEF HSWRD <  24323-18003 1624 S 0122 MEMORY DG              H0101  DEF HWORD DEF HPATT DEF HRNT HTEOL DEF *,I SKP *************** HI MEMORY ADDRESS TEST **************************** * * HADRT PERFORMS ADDRESS TEST BY * * (1) WRITING LOC ADDRESS INTO LOCATION FOR * ALL AVAILABLE MEMORY LOCATIONS * (2) READING AND TESTING ALL LOCATIONS * HADRT NOP LDA HB20 STA HHLTS SAVE HALT TYPE CLO INDICATE WRITING MEMORY LDA HFWA STORE ADDRESS INTO HAW1 STA A,I LOCATION CPA HLWA TEST FOR LAST ADDRESS JMP HAR EXIT INA NEXT ADDRESS JMP HAW1 HAR STO INDICATE READING MEMORY LDB HFWA INITIALIZE STB HADDR ADDRESS POINTER STB HHLD2 PATTERN HOLD LDB HADDR,I CPB HADDR ADDRESS = TO ADDRESS CONTENTS RSS JSB HER1 NO JSB HRST TEST FOR PGM RESTART LDB HADDR YES CPB HLWA LAST ADDRESS JMP HAW2 GO TO ADDRESS COMPLIMENT TEST INB INCREMENT JMP HAR+2 CONTINUE HAW2 CLO INDICATE WRITING MEMORY JSB HRST TEST FOR PGM RESTART LDB HFWA LOAD 1ST ADDRESS HAW3 LDA B LOAD A CMA COMPLIMENT ADDRESS STA B,I STORE TO LOCATION CPB HLWA TEST FOR LAST ADDRESS JMP HAR2 GO TO READ INB NEXT ADDRESS JMP HAW3 HAR2 STO INDICATE READING MEMORY LDB HFWA INITIALIZE HAR3 STB HADDR ADDRESS POINTER CMB STB HHLD2 PATTERN HOLD LDB HADDR,I CPB HHLD2 ADDRESS COMP = TO ADDRESS CONTS RSS JSB HER1 NO LDB HADDR RELOAD CURRENT ADDRESS CPB HLWA LAST ADDRESS JMP HADRT,I YES INB NO JMP HAR3 CONTINUE SKP **************** HI MEMORY PATTERN (ALT WD) TEST ******************* * * HSWRD PERFORMS ALTERNATE 1/0 PATTERN 7RTEST * HSWRD NOP LDA HB30 STA HHLTS SAVE HALT TYPE LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL CCA STA HPFG CLEAR PATTERN CHG FLAG CLA CCB JSB HPTN CCA CLB JSB HPTN JMP HSWRD,I SKP **************** HI MEMORY PATTERN (WORD) TEST ********************* * * HWORD PERFORMS WORD PATTERN TESTING BY * * (1) WRITING PATTERN (WORSE CASE NOISE) INTO * MEMORY. PATTERN BASED ON CPU/MEMORY TYPE. * * (2) READING AND TESTING EACH LOCATION FOR * CORRECT PATTERN * * (3) SAVING PATTERN,WRITING,READING TESTING * COMPLIMENT OF ORIGNAL PATTERN AND RESTORING * ORIGNAL PATTERN * * (4) REPORTING ERRORS ENCOUNTERED DURING ALL TESTING * * (5) TEST IS PERFORMED TWICE, ONCE USING WORSE CASE * PATTERN AND SECOND TIME USING COMPLIMENT PATTERN * HWORD NOP LDA HB40 STA HHLTS SAVE HALT TYPE LDA HMFG DETERMINE SZA,RSS WHICH JMP HW0 PATTERN TO USE LDA HJC2 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL JMP HW1 HW0 LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL HW1 CLA STA HPFG CLEAR PATTERN CHG FLAG CCB JSB HPTN PERFORM WORD PATTERN CCA CLB JSB HPTN PERFORM ALT WD PATTERN JMP HWORD,I EXIT SKP **************** HI MEMORY PATTERN (BIT) TEST ********************** * * HPATT PERFORMS BIT PATTERN TESTS * * (1) BIT 0 PATTERN * * (2) BIT 1 PATTERN * HPATT NOP LDA HJC1 SET UP STA HP0 PATTERN STA HR0 SELECTION CALL JSB HBITO PERFORM BITO TEST _  JSB HBIT1 PERFORM BIT1 TEST JMP HPATT,I EXIT SPC 2 * * HBITO IS SAME AS LWORD WITH THE EXCEPTION OF * * (1) PATTERN USED * * (2) TEST IS RUN 16 TIMES EACH TIME CHANGING PATTERN * HBITO NOP LDA HB50 STA HHLTS SAVE HALT TYPE LDA HBPT1 LDB HMFG SZB TEST FOR PATTERN TO BE USED LDA HBPT2 STA HBPTS INITIALIZE BIT O PATTERN LDA HDM16 STA HLPC INITIALIZE LOOP COUNT HBOO CLA STA HPFG CLEAR PATTERN CHG FLAG LDB HBPTS JSB HPTN PERFORM BIT O PATTERN LDA HBPTS CLB JSB HPTN PERFORM BIT O ALT PATTERN LDA HBPTS RAL CHANGE BIT O PATTERN STA HBPTS ISZ HLPC BUMP COUNT JMP HBOO CONTINUE JMP HBITO,I EXIT SKP * * HBIT1 IS THE SAME AS LBIT0 EXCEPT FOR INITIAL * PATTERN USED. * HBIT1 NOP LDA HB52 STA HHLTS SAVE HALT TYPE LDA HBPT2 LDB HMFG SZB TEST FOR PATTERN TO BE USED LDA HBPT1 STA HBPTS INITIALIZE BIT 1 PATTERN LDA HDM16 STA HLPC SET UP LOOP COUNT CLA STA HPFG CLEAR PATTERN CHG FLAG HBT10 CCA LDB HBPTS JSB HPTN PERFORM BIT 1 PATTERN LDA HBPTS CCB JSB HPTN PERFORM BIT 1 ALT PATTERN LDA HBPTS RAL CHANGE BIT 1 PATTERN STA HBPTS ISZ HLPC BUMP LOOP COUNT JMP HBT10 CONTINUE JMP HBIT1,I EXIT SPC 2 * * HPTN PERFORMS ACTUAL TEST BY * * (1) SAVING PATTERNS TO BE WRITTEN * * (2) WRITING MEMORY * * (3) READING/TESTING MEMORY * HPTN NOP STA HPTN1 SAVE PATTERN 1 STB HPTN2 SAVE PATTERN 2 CLO INDICATE WRITING MEMORY JSB HWT WRITE PATTERN STO INDICATE READING MEMORY JSB HRD READ AND TEST PATTERN JMP HPTN,I EXIT SKP * * HWT WRITES PATTERN INTO MEMORY BASED ON CPU/MEMORY * TYPE BEING TESTED * HWT NOP JSB HRST TEST FOR PGM RESTART LDA HFRST STA HADDR INITIALIZE FIRST ADDRESS HP0 JSB HACK CHECK ADR FOR PTN TYPE JMP HP1 LDA HPTN1 JMP HP1+1 HP1 LDA HPTN2 STA HADDR,I STORE PATTERN LDA HADDR CPA HLAST TEST FOR LAST ADR JMP HWT,I EXIT ISZ HADDR BUMP CURRENT ADR JMP HP0 CONTINUE SPC 2 * * HRD READS/TESTS MEMORY BASED ON PATTERN WRITTEN * HRD NOP JSB HRST TEST FOR PGM RESTART LDA HFRST STA HADDR INITIALIZE FRST ADDRESS HR0 JSB HACK CHECK ADR FOR PATTERN TYPE JMP HR1 LDA HPTN1 JMP HR1+1 HR1 LDA HPTN2 STA HGDS STA HHLD2 SAVE GOOD DATA LDB HADDR,I READ LOCATION CPB A PATTERN OK ? RSS JSB HER1 NO JSB HCMP YES, COMPLIMENT AND TEST PTN LDA HADDR CPA HLAST TEST FOR LAST ADR JMP HRD,I EXIT ISZ HADDR BUMP CURRENT ADR JMP HR0 CONTINUE SKP * * HACK DETERMINES PATTERN TO BE WRITTEN INTO MEMORY * BASED ON THE EQUATIONS DEINING WORSE CASE * PATTERN FOR A PARTICULAR CPU/MEMORY TYPE * HACK NOP LDA HPFG SZA TEST FOR PATTERN CHG JSB HSACK LDA HADDR AND HMS1,I AND ADDRESS WITH MASK 1 ALF,ALF RAL,RAL POSITION BITS STA HRNS1 JSB HPS LDA HMS2,I SZA TEST FOR ONE TERM JMP HACK1 NO LDA HMSV2 SZA TEST PARITY FOR "0" ISZ HACK JMP HACK,I EXIT HACK1 AND HADDR SZA,RSS TEST FOR T OR F JMP HACK2 F CLA,INA AND HMSV1 STA HMSV3 SAVE AND TERM 1 CLA JMP HACK3 HACK2 STA HMSV3 SAVE AND TERM 1 CLA,INA AND HMSV2 HACK3 STA HMSV4 SAVE AND TERM 2 IOR HMSV3 FORM OR OF TERM 1 & 2 SZA TEST FOR "0" ISZ HACK JMP HACK,I EXIT HMS1 OCT 0 TEMP STORAGE FOR MSK PTR HMS2 OCT 0 TEMP STORAGE FOR MSK PTR HMSV1 OCT 0 PARITY (T) HMSV2 OCT 0 PARITY (F) HMSV3 OCT 0 AND TERM 1 HMSV4 OCT 0 AND TERM 2 HMSK1 DEF * POINTER TO START OF 1ST MASK TBL OCT 41 2116A OCT 3 2116B OCT 140 2116C OCT 101 2115A OCT 101 2114A OCT 101 2114B OCT 140 2100A OCT 100 210XX OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 OCT 40 HMSK2 DEF * POINTER TO START OF 2ND MASK TBL OCT 100 OCT 200 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 OCT 0 SPC 3 * * HSACK PERFORMS SECOND PATTERN GENERATION * FROM ADDRESS BITS IN TABLE FOR * VARIOUS CPU/MEMORIES * HSACK NOP LDA HACK STA HSACK FORM NEW EXIT LDA HSDS1,I PICK UP MASK AND HADDR AND ADDRESS BITS SZA TEST FOR "0" ISZ HSACK JMP HSACK,I EXIT HPFG OCT 0 HSDS1 OCT 0 HSDM1 DEF *+1 OCT 1 210X OCT 0 210XX SPC 2 HDACK NOP LDA HADDR LOAD CURRENT ADDRESS AND HMSK3 MASK BITS 0+5 CPA HMSK3 JMP HDACK,I EXIT SZA ISZ HDACK JMP HDACK,I EXIT HMSK3 OCT 101 HJC1 JSB HACK HJC2 JSB HDACK SKP * * HCMP SAVES CURRENT PATTERN,WRITES/READS/TESTS * COMPLIMENT PATTERN AND RESTORES OLD PATTERN * FOR EACH LOCATION TESTED * HCMP NOP LDA HGDS LOAD GOOD DATA CMA COMPLIMENT CURRENT PATTERN STA HHLD2 SAVE STA HADDR,I WRITE IT BACK LDB HADDR,I READ IT BACK CPB HHLD2 IS OK ? RSS JSB HER1 NO LDA HGDS RELOAD DATA STA HADDR,I WRITE IT BACK JMP HCMP,I EXIT HGDS OCT 0 SKP *************** HI MEMORY RANDOM NUM.TEST ************************* * * HRNT PERFORMS RANDOM PATTERN TESTING OF MEMORY * HRNT NOP LDA HB60 STA HHLTS SAVE HALT TYPE LDA HRN HRN0 STA HRNS INITIALIZE RNDM NO STORAGE STA HRNTS CLO INDICATE WRITING MEMORY LDA HFWA STA HADDR INITIALIZE 1ST ADDR HRN1 JSB HRNG GENERATE RNDM NUMBER STA HADDR,I STORE NUMBER IN TEST ADR LDA HADDR CPA HLWA LAST ADDR ? JMP *+3 ISZ HADDR BUMP ADDR JMP HRN1 NO STO INDICATE READING MEMORY LDA HFWA YES STA HADDR INITIALIZE 1ST ADDR LDA HRNTS STA HRNS INITIALIZE RNDM NO STORAGE HRN2 JSB HRNG GENERATE RNDM NUMBER LDB HADDR,I CPB HRNS TEST (ADR) RSS JSB HER1 BAD LDA HADDR GOOD CPA HLWA LAST ADDR ? JMP *+3 ISZ HADDR JMP HRN2 NO JSB HRST TEST FOR PGM RESTART NOP JMP *+2 JMP HRNT,I EXIT LDA HRNS JMP HRN0 HRN OCT 177777 RNDM NO HRNS OCT 0 RNDM NO STORAGE HRNTS OCT 0 SKP * * HRNG PERFORMS ACTUAL RANDOM NUMBER GENERATION * * ******** RANDOM PATTERN GENERATION ********************************* * * (1) INITIALIZE PATTERN (RPS _ 1'S) * * (2) AND OFF BITS 11,13,14,16 * * (3) FORM EXCLUSIVE OR OF BITS (PARITY SUM) * * (4) LEFT SHIFT RNDM PATTERN SHIFTING IN PARITY SUM * TO BIT O * * (5) TEST FOR ALL O'S AND DO (1) IF T, (6) IF F * * (6) EXIT * HRNG NOP JSB HRST TEST FOR PROGRAM RESTART LDA HRNS AND HRNM MASK NO FOR BITS 11,13,14,16 RAL POSITION BITS STA HRNS1 SAVE JSB HPS FORM PARITY LDA HRNS RAL SHIFT AND HBT0 ADA HMSV1 SZA,RSS TEST FOR "0" LDA HRN STA HRNS SAVE STA HHLD2 JMP HRNG,I HRNM OCT 132000 BIT MASK HBT0 OCT 177776 BIT O MASK SKP * * HPS GENERATES THE PARITY OF THE BITS IN RSN1 * GENERATOR IS A TOGGLING FLIPFLOP INITIALLY * CLEARED * HPS NOP LDA HDM7 STA HRCT INITIALIZE COUNT LDA HRNS1 CLB CLEAR FLOP HPS1 SLA,RSS JMP HPS2 CMB TOGGLE FLIP FLOP HPS2 RAL NEXT BIT ISZ HRCT LAST BIT JMP HPS1 NO SZB TEST FOR PARITY "0" JMP HPS3 "1" STB HMSV1 SAVE T.P. INB JMP HPS4 HPS3 CLB,INB STB HMSV1 SAVE T.P. CLB HPS4 STB HMSV2 SAVE F.P. JMP HPS,I EXIT HRNS1 OCT 0 HDM7 DEC -7 HRCT OCT 0 CTR STORAGE SKP * * HER1 IS THE COMMON ERROR REPORTING SUBROUTINE WHICH * * (1) CHECKS FOR ERROR HALT * * (2) FORMS HALT TYPE * * (3) CHECKS FOR ERROR TO BE PUT IN TABLE * HER1 NOP STB HHLD1 SAVE BAD DATA LDA HHLT IOR HHLTS OR IN HALT TYPE STA HHLT0 INA STA HHLT1 JSB HCHK CHECK TO SEE IF HLT REQUESTED HHLT0 HLT 10B LDA HADDR HHLT1 HLT 11B LDA HSAVA LDB HSAVB JMP HER1,I EXIT HHLD1 OCT 0 TEMP. STORAGE FOR BAD DATA HHLD2 OCT 0 TEMP. STORAGE FOR GOOD DATA SPC 3 * * HCHK CHECKS TO SEE IF ERROR HALT IS BEING REQUESTED * HCHK NOP STO SET OVERFLOW (ERROR) LIA SWR ALL ENTRIES CHECKED RAL,RAL SLA SUPPRESS ERROR HALT ? ̷JMP HNHLT YES LDA HHLD2 LDB HHLD1 JMP HCHK,I NO HNHLT LDA HCHK ADA HA3 MODIFY RETURN ADDR JMP A,I RETURN HA3 OCT 3 SKP SKP * * RELOCATION ROUTINE * * RELOCATES LOWER PROGRAM MODULE (2-1777) TO UPPER MEMORY * MODULE(3500-5475). * UPPER NOP LDA B10 SAVE STA HHLTS HALT TYPE LDA H3500 SET STA PMOVE LIMITS OF LDB B2 THE MOVE LOOP4 EQU * LDA B,I TRANSFER STA PMOVE,I A WORD INB BUMP ISZ PMOVE POINTERS CPB B2000 DONE? RSS JMP LOOP4 NO LDA H3500 YES.REINITIALIZE STA PMOVE THE MOVE LDB B2 LIMITS LOOP2 EQU * LDA PMOVE,I COMPARE MOVED CPA B,I CONTENTS JMP NEXT1 OK.GO ON STB HSAVB SAVE B REG LDB B,I GET GOOD DATA SWP STA HHLD2 SAVE GOOD DATA STA HSAVA SAVE A REG JSB HER1 GO HALT FOR ERROR NEXT1 EQU * ISZ PMOVE BUMP INB POINTERS CPB B2000 DONE? JMP UPPER,I YES JMP LOOP2 NO SKP * * RELOCATION ROUTINE * * RELOCATES UPPER MEMORY MODULE (3500-5475) TO LOWER PROGRAM * MODULE(2-1777) * LOWER NOP LDA B10 SAVE STA HHLTS HALT TYPE LDA H3500 SET STA PMOVE MOVE LDB B2 LIMITS LOOP3 EQU * LDA PMOVE,I TRANSFER STA B,I A WORD LDA B,I COMPARE THE CPA PMOVE,I CONTENTS MOVED JMP NEXT2 OK.GO ON STB HSAVB SAVE B REG LDB PMOVE,I GET GOOD DATA SWP STA HHLD2 SAVE GOOD DATA STA HSAVA SAVE A REG JSB HER1 GO HALT FOR ERROR NEXT2 EQU * ISZ PMOVE BUMP INB POINTERS CPB B2000 DONE? JMP LOWER,I YES JMP LOOP3 NO 640PMOVE EQU HADDR B2 OCT 2 B2000 OCT 2000 B10 OCT 10 H3500 OCT 3500 * * * HINIT INITIALIZES INT LOC 4,5 * HINIT NOP LDA HLT4C STA 4B PRIME POWER INT LDA HJPE STA 5B PRIME P.E. INT JMP HINIT,I SKP * * HMPPE PARITY/MEMORY PROTECT INT HANDLER * HMPPE NOP STA HSAVA SAVE A STB HSAVB SAVE B LIA 5 SSA TEST FOR JMP *+3 MEMORY OCT 106005 PROTECT JMP HMP1+2 INT. AND HMSB READ ERROR ADR AND MASK OUT BT15 CMA,INA 2'S COMP OF P.E. ADDR IN A LDB HSTBL+2 ADB A SSB TEST FOR P.E. IN TEST AREA JMP HPGM PGM AREA LDA HHLD2 LOAD CURRENT PATTERN CPA HSAVB LOAD PARITY ERROR PATTERN JMP HMP1 ERROR IS BIT HMP0 STF 5 TURN ON PARITY LDA HSAVA RESTORE A LDB HSAVB RESTORE B JMP HMPPE,I EXIT HMP1 LDB HADDR LOAD ADDR HLT 13B PARITY ERROR JMP HMP0 EXIT HPGM LIA 5 AND HMSB LDB A,I HLT 7B A= ADDR B= (ADDR) STB A,I RESTORE (P.E. ADDR) STF 5 JMP HPE2 RESTART HSAVA OCT 0 SAVE AREA HSAVB OCT 0 SAVE AREA HLT4C HLT 4,C HJPE JSB 3B,I FWAM EQU * END 36   24324-18001 1431 S 0122 0124324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 w* ASMBAB̬ HD00SSMPUҠMMYPԠDAGNS G00B DAGNSàHKSMMYPԠPAN DAGNSàASSUMSHŠNGSSHAVŠBNUN MMYNŠGUPDSN0000 A-SKPGUPDSN000 SH-AŠGUPDSN000 ɯϠGUPDSN0003 AUGUPDSN000 UNSNKMMY YPŠUD DAGNSàNGUAҠSUD DAGNSàSA̠NϠ(DSN000 PANGNSUNS: .ADANDNGUŠDAGNSàNGUA. .ADMPҠDAGNS. 3.SԠPGSҠϠ00. .SԠPGAMPNSNSHGS. 5.PSSPS(N..ƠPSNԩANDUN. SKP SHGSҠPNS BԠMANNG 0-SVD SUPPSSPAҠNVNN 9SVD 0SUPPSSPAҠMSSAGS SUPPSSҠMSSAGS PNDAGNS.AҠϠHAԠAԠNDƠPASS. 3PNS SUPPSSҠHAS 5HAԠNS MPUҠHAS HAԠMANNG 00ؠҠHAԠ(ؽ0-6 00NDƠSԠHA 00NDƠSԠHA 003NDƠSԠHA 003NDƠSԠHA 00NDƠSԠHA 0053NDƠSԠHA 060ؠUNPDAP̠HA 0000AUM.P. SKP SԱMPSҬ SPà SϠMA SPà Y.ɠBSSAPŠNPU Y.ϠBSSSԠUPU $Y.PBSSPUNHUPU Y.KBSSKYBADNPU DƠAMSԠDAVAABŠMMY G6B Ԡ000DAGNSàSA̠NUMB SPà SϠUB ϠU5B DSàU6B MSZŠUB SPà SKP SPà נMMYPGAMSABSANDNSANS SPà G30B MPSҬ NP PSBPDPAŠD SZV SZN SZNà(NŠ- PSBMDMVŠD SBSDSԠDŠƠSPA̠S DAN PANDSHSHŠND? MP+6YS AMPNMNԠHŠN SƠ0NABŠNS SàMPUNNMP NP MPNŬɠUŠSPA̠S SBPDPAŠDŠBŠNGP MP+ DƠҲ(BAKϠMANPGAM SPà BNԠDƠ+ NP SZBN+ MPBN+ ZDNP ZŠMP+ DƠZű ZƠDƠ+ MP+ DƠZŲ ZGNP MPZG ZHDƠ+ NP MP- AƠMP+ DƠAN ANNP MP- ʱSB+ DƠNԱ ʠàMP DAAɠDƠDAA ҠNP NDNP NàNPNŠ- NŠNP V̠NP SNP P00Ԡ00 P0Ԡ-0 AԠ ABNP ABDƠAB ABBSS0BMPAYSAGŠAA SKP SPà SPA̠SԠPGAMHAԠSUDN A̠ƠMMY SPà ABNP ABDƠAB ABDANìɠNԠ ʲSANìɠNԠNϠҬNϠNԠ SàMPŠNԠϠPԠ DANŬɠNԠ SANŬɠNԠ àMPNԠNϠҬNϠNԠ Ơ0NԠ MPجɠNϠNԬPԠ SPà ؠDƠ+PNϠNSAҠUNGSPA SBPDPGAM DAN DBŲ SBDAAɬ 33SBҬɠNϠNUPS MPP+ SPà PDNPPAŠD DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPPD SPà MDNPMVŠD DAP0 SA DAAB SAAB DBN DAB SAAB NB SZAB SZ MP-5 MPMD SPà SDNPSԠSPA̠D DAP0 SA DAAB SAAB DBN DAAB SAB NB SZAB SZ MP-5 MPSD SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PBʲSԠGA̠N? MPSԠYSNNUŠSPA̠S PBʠSԠGA̠N? MPPYSSPSԠKSϠYAGAN SBSSAVŠBMP SBPDPAŠD DAS DBV SBDAAɬɠNSUNNMSG AMP DB SBDAAɬɠVAN.NMSG DAN DBN SBDAAɬɠNŠ.NMSG 3SBҬɠGA̠NUP MPP+ SԠSBV AMP ADAA SƠ0NABŠNS SàMPUNNMP NP MPAɠUNϠSPA̠S SPà VؠNP AMP PAV̠V̠GK? MPVجɠYS SAS SBPD DAS DBV SBDAAɬɠNԠDAANMSG DAV DBVSԠDAA SBDAAɬɠNMSG 3SBҬɠVANGSҠN MPP+ SKP SPà MMNABSANDNSANS SPà àABS- ҠDƠ+ҠNUMBҠAB DƠű DƠŲ DƠ3 DƠŴ DƠ5 DƠ6 DƠű0 DƠű DƠű DƠű6 DƠű DƠŲ0 DƠŲ DƠŲ DƠŲ3 DƠŲ5 DƠŲ6 DƠŲ DƠ30 DƠ3 DƠ33 DƠ3 DƠŴ0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠŷ ҠDƠ SKP SPà MɠDƠMSSAGŠADDSSAB DƠM DƠM DƠM3 DƠM DƠM5 DƠM6 DƠM0 DƠM DƠM DƠM6 DƠM DƠM0 DƠM DƠM DƠM3 DƠM5 DƠM6 DƠM DƠM30 DƠM3 DƠM33 DƠM3 DƠM0 DƠM50 DƠM5 DƠM60 DƠM6 DƠM6 DƠM63 DƠM6 DƠM65 DƠM SKP SPà M̠DƠMSSAGŠNGHAB DƠ̱ DƠ̲ DƠ3 DƠ̴ DƠ5 DƠ6 DƠ̱0 DƠ̱ DƠ̱ DƠ̱6 DƠ̱ DƠ̲0 DƠ̲ DƠ̲ DƠ̲3 DƠ̲5 DƠ̲6 DƠ̲ DƠ30 DƠ3 DƠ33 DƠ3 DƠ̴0 DƠ50 DƠ5 DƠ60 DƠ6 DƠ6 DƠ63 DƠ6 DƠ65 DƠ̷ SKP SPà SԠDƠ+ABŠƠSԠDSϠB DƠHMDD DƠH DƠH3 DƠH DƠH5  DƠH6 DƠH DƠH DƠH9 DƠH0 DƠH DƠH DƠH3 DƠH DƠH DƠH DƠH9 DƠH30 DƠH3 DƠ DƠH DƠDH DƠHԷ ASԠDƠ- SKP SPà A00ԠMMNNSANSANDSYMBS A0003Ԡ3 A000Ԡ00 MNԠ6 MN3Ԡ5 HԠԠ0600 ؠƠH 0Ơ0 A03Ԡ3 DŠԠ0000 MN0Ԡ-0 MPKMP+ DƠK MPؠMP+ DƠN NYNP NP NؠԠ000 Ԡ000 NNP NP NؠDƠ+ NP NP A0300Ԡ300 ANŠDƠA ANàDƠAN NDƠM3+ ŠDƠM3+30 VԠDƠM3+39 ŲDƠM33+ VɠDƠM3+0 VSDƠM3+9 MPɠDƠMP SBɠDƠSB MSABSM+ MDABSM+30 MƱABSM+ P0000Ԡ0000 HҠNP HAԠ06000AGAP̠HA HBԠ0600BG HàԠ06000SDHANN HԷԠ0000 DHNP ϠNP SPNP ̠Ԡ ɠDƠ+ Ԡ006Ҭ SAɠDƠSA àDƠM0+36 V̠DƠM0+5 ɠDƠM0+6 MàDƠM50+3 ŠDƠM50+0 NSԠDƠM50+3 MòDƠM5+33 ŲDƠM5+ NSԲDƠM5+5 ZAԠ3 ZBԠ6 ZàԠ6 AUϠԠ MMSKԠ0000 MNàԠ6 AԠ MPBԠ5 PASSNPPASSUN MPԠ0 MPU5MMYP AU0AG BUBG HU0BNA̠VAUŠƠSԠD SKɠDƠSKNDԠADDSSS SBSBұɠNUPԠUN ҠDƠ ADDSDƠNP+ ʱSB+ DƠNԱ ʲSB+ DƠNԲ ʴSB+ DƠNԴ 5SB+ DƠN5 6SB+ DƠN6 ʷSB+ DƠNԷ 9SB <+ DƠN9 ʱ0SB+ DƠNԱ0 ʱSB+ DƠNԱ ʱ3SB+ DƠNԱ3 ʱSB+ DƠNԱ ʱ5SB+ DƠNԱ5 ʱ6SB+ DƠNԱ6 ʱSB+ DƠNԱ ʲ0SB+ DƠNԲ0 ʲSB+ DƠNԲ ʲSB+ DƠNԲ MɷDƠM MDƠ̷ MɱDƠM MDƠ̱ Mɱ3DƠM3 M3DƠ̱3 Mɱ5DƠM5 M5DƠ̱5 MɲDƠM MDƠ̲ M3DƠM3 M3DƠ3 M3DƠM3 M3DƠ3 MɴDƠM MDƠ̴ M53DƠM53 M53DƠ53 M66DƠ66 M66DƠM66 MɷDƠM MDƠ̷ ұDƠN SҠDƠSA HԠNP DAHA DBHB HSàH HSƠH MPHԬ SKP MMYPAYҠUN MPҠU à0àUNVYHNG Ơ5UNƠP..G A5 SAMPSAVŠVANGS ASUPPSS AƠ SSAMSSAG? MPNԱYS ŠN.NV DAMPϠAS DBP66ANDPUԠN SBBɠMSSAGŠ.66 DAM66P DBM66 SBY.Ϭɠ.66 NԱU DAMPPUԠVANG.NA HԠ66BHA-VAB MP-GϠϠANHҠDAGNS MPBSS P66DƠM66APNҠϠV.GNM66 HDNAZANPGAM HSPGAMSSAP ̠HASNA̠ɯϠANSANDMDSHŠPN ɯϠNSUNSNDVASHGS SPà G000B SAԠà0àUNVYHNG ANAZ SAPASSPASSUN DAMSZ ANDMMSKSAVŠMDBS ADAMN SAHҠSAVŠ*($ASԠ. SPà DBA DAHԠAP̠HA SAB NB NA PBA000AP̠HASMP? SSYS MP-5NϬPA DAS ANDA00SAVŠBS0-5 SA SZAYSàPSNԠ? SSYS MPNԲN DBSԠMDYɯϠNSUNS SBSP ̠DBSP DAB ANDP00 Ҡ SAB PBASԬɠNSHD? MP+3YS SZSP MP SBSKɬ DA DB SBY.ϬɠUPUԠҬ SBSKɬ DAM5 DBMɱ5 SBY.ϬɠHADNGMSSAG NԲU DAϠY SZASSPSN? MPMPϠN HDBɯϠ-BASàɯϠS o*   24324-18002 1431 S 0122 0224324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 x+ HSPGAMSSHŠPNҠɯ SPà SԠABYϠSԠANDAҠHŠHANN̠AG SPà BɯϠà0àUNVYHNG DAHAAP̠HAS DBHB HƠHAҠHANN̠AG HSSH SSƠDDNԠAҠAGҠSS űSBҬɠAUSDSKPHAGA H3SàH ŲSBҬɠSàNϠSKPHAGA HSƠH H5SàH SSSƠDDNԠSԠAGҠS 3SBҬɠAUSDSKPHAGS H6SSH ŴSBҬɠSSNϠSKPHAGS SKP SPà SԠNUPԠAPABY SPà DASBSԠNUPԠAP SADH DAHAAP̠HAS DBHB HSàHSԠHANN̠ϠUS H9SƠHANNUP SƠ0NABŠNUPS SàNUPS SƠSHUD àB ƠDAYD MP+ɠUN DƠ+. SB+ɠ. DƠ+. NP. NPԠNPH 5SBҬɠDDNԠNUP MP NNPNUPԠSUBUN Ơ0DSABŠNUPS DAHàAP̠HA SADH SƠ0SԠNUPԠAKNDG NPSHUDN NPNUPԠH Ơ0DSABŠN DANDDNUPԠUҠAԠH PAADDSԠMMAN? SS 6SBҬɠUNADDSSSN SBNHANGŠN SKP SPà SԠN̠S SPà ҠDAHàAP̠HAS SADH SBH à0SHUDAҠA̠N̠BS SƠ0NAB NPfSHUDN NPNUPԠH Ơ0 HàH ASHG AƬA̠HK A̬A̠BԠ SSAS? MPGD SBSKɬɠNԠS DAM DBMɷ SBY.Ϭ à0 DBHB DAHA H0SàH H3ƠHAҠAG SƠ0 HHԠ SKP SPà PSԠSԠ SPà HSSH ű0SBҬɠPSԠDDNԠSԠAG Ơ0 SBH NPSHUDN NPNUPԠH GDà0àUNVYHNG DAH SADHɠSԠAP̠HA ASנGBԠ5 SSASSSKPƠS MPH+NԠSԬNNUŠAU SBSKɬɠUNSM-AU DAM DBMɱ SBY.ϬɠS A HHԠBNDBɯ ASנGϠA A̬A̠HKBԠ3 SSAYŠS? MPBɯϠYSPA HDMP HSPGAMSSHŠMMYPԠɯϠNSUNSH AANDBGSSHŠPSԠSH MPNUPNGBUԠANGϠPԠMMYND UMPNUPԠGAŬANDNDԠADDSSNGHUGH PDAAS SPà HSSNSSHŠSìABAAND BNSUNSҠHŠMPPN SPà MPϠà0àUNVYHNG DAʱ6SԠNԠADDSS SAMP DAN SAN AMP SƠ0 SàMP NP SAҠSAN Ơ0ŠNԠANDUN+ 6SBҬɠNϠNUPԬSàҠAMGH MPBҠHAVŠADҠNϠMPNSAD SPà NԱ6NP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PB0ASԠƠ0? MP6YS PASAɠMPAŠV̠GHàSA SS 63SBҬɠNԠNԠNGHԠPAŬA BMPMGHԠHAVŠAD SSBHK MPMPҠMMYPAY PBSA SS 6SBҬɠNԠNԠNGHԠPAŬB SPà BҠà0àUNVYHNG DAʱSԠNUPԠNAD SAMP DBN SBN BMP SƠ0 SàMP NP SBN Ơ0ŠNԠANDUN+ 65SBҬɠNϠNUPԬSìBMGH MPANBHAVŠADҠNϠMPNSAD SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DBA PB0 MP65 SKP SPà SԠHŠAANDBGSS SPà ANBà0àUNVYHNG DAʱSԠNUPԠNAD SAMP DAN SAN SAN AMP SƠ0NABŠNS SàMPUNNMMP NP SABSHUDNԠNԠH SBAҠH Ơ0BUԠKH MPPS SPà NԱNPAANDBGSҠNԠUN Ơ0 AMPVANGSҠNNSϠA SSAHK MPMPҠMMYPAY DAAɠNSUNϠA PA0GA̠N? MPPSԠYS DBMSPԠHŠ SBDAANSUNNϠMSG AMP DBMD SBDAAANNϠMSG DAN DBMƱ SBDAANŠNϠMSG űSBҬɠAANDBGSҠSԠAD SKP SPà SԠABYƠPSԠϠUNƠMMYs|P SPà PSԠASנG AƬAƠHK AҠBԠ SSASKPSԠƠN MPPV DAϠY SZASSPSN? MPPVϠN.AN'ԠPMPԠPA-SKP SBSKɬɠNԠS DAM3 DBMɱ3 SBY.Ϭ à0àUNVYHNG DAʲSԠNUPԠADDSS SAMP DAN SAN AMP SƠ0 SàMPUNNMP DAD5 SBBɠMŠUԠҠ5SS. SƠ0NABŠNS-SHUDAUS DAN SAN Ơ0 MPPVϠSԠK D5Dà5000 SPà NԲNP Ơ0 AMP SSAHK MPMPҠMMYPAY űSBҬɠPSԠDDNԠUNƠMP SKP SPà SԠҠMMYPԠϠNUPԠAND S̠A̠ϠPԠMMY SPà PVϠà0àUNVYHNG DAʱ5SԠUPNPԠUNADDSS SAMP DAN SAN AMP SƠ0 SàMP A SAN Ơ0ŠNԠANDUN+ 60SBҬɠNϠNUP MP SPà NԱ5NP Ơ0 AMP SSAHK MPMPҠMMYPAY DAA PA0 MP60 DAN PAN SS 6SBҬɠMPNԠANDVANUD SKP SPà SԠNDԠUMPNUPԠGA BYSNGAGϠANDUNGSBBNԬ.ƠGAŠSBAD PHASŠƠHŠNGNSUN̠BŠUDHHN HSASŠSA. SPà ɠà0àUNVYHNG DAʴSԠNUPԠNAD SAMP DAN SAN AMP SƠ0 SàMPUNNMP ANA SBBNԬɠSHUDNԠHŠANDUNA ANԠS Ơ0ŠNԠϠDSABŠMP űSBҬɠNϠNUP MPAPA SPà NԴNP Ơ0 SZA MP+3 ű6SBҬɠGAŠAD MPAPA AMP SSAHK MPMPҠMMYPAY DAA PA0 MPű MPAPA SKP SPà SԠNDԠADDSSNGHUGHPDAAS SPà APAà0àUNVYHNG DA5 SAMPSԠNUPԠADDSS DAN SAN AMP SƠ0 SàMPUNNMP DAN SAN Ơ0NUPԠHŠANDUN Ų3SBҬɠADϠNP MP SPà N5NP Ơ0 AMPV̠G SSAHK MPMPҠMMYPAY DAAɠNSԠϠA PA0GA? SSYSPD Ų0SBҬɠNDԠADDSSNGHUGH SKP SPà SԠAP̠NSUNS SPà ANɯϠNSUNUDNAP̠̠NԠUNƠMP AND̠NԠAUSŠANMPNUP SPà ɠà0àUNVYHNG DAϠSHŠA SZASSNSŠDV? MPAԠN.GϠUSŠANAŠSԠSN DAؠSԠɯϠNSҠNAP SADHɠ̠(PNҩ DA6 SAMPSԠNԠADD DAN SAN AMP SBH SƠ0 SàMPUNNMP NPҠ̠AUSŠN NP Ơ0 MPŲ SKP SPà ANNɯϠNSUNUDNAP̠̠UNƠMP AND̠NԠAUSŠANMPNUP SPà` NϠà0àUNVYHNG DAMPؠSԠNNɯϠNSҠNAP SADHɠ DAʷ SAMPSԠNԠN DAN SAN AMP SBH SƠ0 SàMPUNNMP NPSHUDNԠH NɠƠ0NԠHŠS SPà ASנG5 SSASS MPH+ SBSKɬɠUNSM-AU DAM DBMɲ SBY.Ϭ HHԠBNDMP A A̬A̠HKBԠ3 SSAYŠS? MPMPϠYS MPɠN SPà N6NP Ơ0 à0 AMPVANG SSAHK MPMPҠMMYPAY DAA PA0 SS ŲSBҬɠϠAP̠NSԠ MPN SPà NԷNP Ơ0 à0 ŲSBҬɠNNɯϠAP̠NSԠ MPN+ HD SSҠHANDNDԠMPANDSBNUPSAҠH SNDV̠ƠNDԠADDSSNG SPà ɠà0àUNVYHNG DAϠSHŠANS SZASSDV? MPҠN.SKPHSSN DAHԠSԠMPNSUN NA SAMPSԠAP̠HAԠNMP DA9 SADHɠSԠNԠADDSS SBH SƠ0 MP+ɠSԠSASH. DƠ+ MP+ɠ DƠ+ɠ DƠ+NUPSSHUDBŠDSABD MP+ɠ DƠ+ɠ DƠ+ɠSHUDNUPԠHŠANDUN DƠ+AԠɲ MPɠƠ0 Ų5SBҬɠNϠNUPԠAҠSNDV SPà ɲà0àUNVYHNG DAʱ0SԠSBNS SADHɠSԠNԠADDSS SBH SƠ0 SB+ɠNSSHUDBŠDSABD DƠ+ NP SB+ɠ DƠ+ɠ DƠ+ NP SBɠSB+ɠ DƠ+ DƠ+ɠ DƠ+ɠSHUDNUPԠHŠANDUN DƠ+AԠ3 NP Ơ0 ŲSBҬɠNϠNԠAҠ3DV 3à0àUNVYHNG DAHàSԠAP̠HA SADH à0 ASנGBԠ5 SSASS MPH3+NNUŠAU SBSKɬɠUNSM-AU DAM3 DBM3 SBY.Ϭ H3HԠ3BND A A̬A̠HKBԠ3 SSAYŠS? MPɠYS MPҠN SPà N9NP Ơ0 DAN9DDNԠUҠAԠHŠ PAMPɠMMYAN? SS Ų6SBҬɠNԠNADDҠHAND MPɲNDԠMPNUPS SPà NԱ0NP Ơ0 DANԱ0DDNԠUҠAԠHŠ PASBɠMMYAN? SS 30SBҬɠNԠNADDҠHAND MP3NDԠSBNUPS HDA PMSPAA̠SSҠɠANDNϠUSNGAP 5NSADƠANɯϠSԠD. AԠU ANNɯϠNSUNUDNAAP̠̠UN MMYPԠANDNԠAUSŠAMPVAN. ŠSԠŠGҠS DAɠPUԠAŠNSUN SAMPNAP DAASԠNŠ AMPUA̠ SƠ0UNNNUPԠSYSM SàMPUNN6MMYP SA3SA3VAŠMP NPŠNAP̠SHUDU SZDD? MPҷN. DAʷSԠAP̠ SAMPNUPԠϠNԷ AMPGԠVANGSԠMP SSAPAY? MPMPҠYS DAAɠGԠVANGNSUN PASA3SHUDBŠSA3 SSK MPҷN. à0àUNVYHNG MPAMPAԱNNU ҷUNNɯϠNSUN DAMPASԠNԷϠUN SAŲ+ϠSԠAԱ MPNԷ+GϠ HDAԱ ANɯϠNSUNUDNAAP̠̠NԠUN ƠMPҠAUSŠAMPVAN. AԱU DAA0ɠPUԠAA0NSUN SAMPNAP DAASԠN AMPϠ(ƠAD ASԠAA̠'S SƠ0UNNNUPԠSYSM SàMPUNNMP SA3VAŠMP NPA0NAP̠SHUDU SZADD? MP6N. DAMPKPUԠAMPKNSUN SAMPNHŠAP SAVAŠMPϠHKMPS̠N NPSHUDGϠϠAB̠K 6UɯϠNSUN DAMPؠSԠN6ϠUN SAŲ+ϠN MPŲGϠ KU AMPGԠVANG SSASԠPAY? MPMPҠYS DAAɠGԠVANGNSUN PASA3SHUDBŠSA3 SSYS.K MP6N. à0àUNVYHNG MPNɠNNU ɠ AԠ A0ɠA0 HD HSPGAMSS: C640 .SàMP(UNNMMYPԩ MPMɠHŠMSABVŠHŠNŠҠMMY00B ϠHҬ .GA̠NUPSANDNϠNUPSHNSNGVAN ANDNN-VANNSUNSNBHSDSƠHŠNŠ MMY00BϠHҬ 3.HŠVANGSҠҠMMY00BϠH. (HҠSUNDNNAZANPGAM SPà HŠPGAMSNAZDHŠANDHNUDN MMYBנ00B.AҠHSPGAMHASBNUD N̠̠UNAԠҲ. SPà Ҡà0àUNVYHNG DAA03 SANàNAZ NAPNS SANŠAND NA SAV DAMN0NDƠP ADAHҠAND SANDHN DAʱ SAMPSԠNԠADDSS MPP ҲAANDUNH SSASS MPH3+NNUŠAU SBSKɬɠUNSM-AU DAM3 DBM3 SBY.Ϭ H3HԠ3BND A A̬A̠HKBԠ3 SSAYŠS? MPҠYS MPNVɠN HDNV +S6   24324-18003 1431 S 0122 0324324A 2100 SERIES MEM PRT DIAGNOSTIC             H0101 y, HSPGAMSSA̠NN-VANNSUNSNUDNG HŠAUNSUNS(ƠSD SPà NVɠà0àUNVYHNG DAʱ SAMPSԠNԠADDSS DAA0300 SAN AMP SƠ0 SàMPUNNMP NP AUŠA̠NN-VAN SZANSUNS NP SZA MP+ SB+ NP ADAZA ADBZA DAZB DBZA SAZB SBZA ANDZB ҠZB ҠZB PAZB NP PBZA NP AS BS AS BS A B A B A B A B A B A B SA NP SB NP A B MA MB B M SZ SSA SSB NA NB SZA NP SZB NP S S SS NP SS NP DA ANDAU SZASSSԠҠAUPSN MPNVŠN Ԡ0000MPY DƠZ B Ԡ0000DV DƠZ Ԡ000DD DƠZA Ԡ000DS DƠZA Ԡ0033AS Ԡ00033AS Ԡ0 Ԡ00 Ԡ005S Ԡ0005S NVŠƠ0ŠNԠϠNDS ASנGBԠ5 SSASS MPH+NNUŠAU SBSKɬɠUNSM-AU DAM DBMɴ SBY.Ϭ HHԠBNDNV A A̬A̠HKBԠ3 SSAYŠS? MPNVɠYS MPVɠN SPà NԱNP Ơ0 AMP SSAHK MPMPҠMMYPAY DAA PA0GA̠N? MPNV+YS DB SBDAANSԠNMSG DAN DB SBDAANŠNMSG AMP DBV SBDAAV̠NMSG Ŵ0SBҬɠGA̠NUP MPNV HDV HSPGAMSSA̠VANNSUNSNUDNGH AUNSUNS(ƠSDANDHŠHAԠNSUNHA SSPAYDD(0000 SPà Vɠà0àUNVYHNG DAN SAN SAN AMP DAʲ0 SAMP SBN MPZŠDԠUMPNϠMPAA ZűSBNN DAʲ SAMP SBN MPZƬɠMPHUMPNϠMPAA ZŲSBNN DAʲ SAMP SBN MPANŬɠMPHUNN-MPNϠMPAA ANSBNN DAʱ3 SAMP SBN SBZGDԠSBNϠMPAA SBNN SBN SBZHɠSBHUMPNϠMPAA SBNN SBN SBANìɠSBHUNN-MPNϠMPAA SBNN A SAZD SBN SZZD SBNN SBN SAZD SBNN SBN SBZD SBNN SBN SàMP SBNN SBN AMP SBNN SBN BMP SBNN SBN MAMP SBNN SBN MBMP SBNN SBN DAN AMP SBNN SBN DBN BMP SBNN SBN SƠMP SBNN SBN ƠMP SBNN SƠ5NABŠP..G HàH HSƠH SBN H9SàH SBNN H30àH SBN H3SSH SBNN DA ANDAU SZASSSԠҠAUPSN MPVŠN SBN DADŠ0000 SA+ HԠ0 SBNN A SANY SANY+ DAʱ SAMPSԠNԠUN SƠ0 SàMPUNNMP A Ԡ000DD DƠN Ԡ000DSԠ DƠNY SBNN VSԠDANY SZA MPŷ DANY+ SZA ŷSBҬ VŠASנG SSASSHKBԠ5 MPH53+NNUŠAU SBSKɬɠUNSM-AU DAM53 DBM53 SBY.Ϭ H53HԠ53BNDV A A̬A̠HKBԠ3 SSAYŠS? MPVɠYS MPNDN SPà NNԠNPNϠNUPԠҠUN Ơ0UN+ à0àUNVYHNG DAMNMNUS ADANN DBM SBDAAɬɠMMàNMSG DAN DB SBDAAɬɠNŠNMSG DAMNMNUS ADANN DAA DBNS SBDAAɬɠNSԠNMSG 50SBҬɠNϠNUP SƠ5NABŠP..G MPNNԬ SPà NNNPNϠNUPԠҠUNŠ-AU Ơ0 à0àUNVYHNG DAMN3MNUS3 ADANN DBMò SBDAAɬɠMMàNMSG DAN DBŲ SBDAAɬɠNŠNMSG DAMN3MNUS3 ADANN -DAA DBNSԲ SBDAAɬɠNSԠNMSG 5SBҬɠNϠNUPԠ-AU MPNN SPà N̠NPNAZ: SƠ0NUPSAND SàMPMMYP. NP MPN̬ SPà NԱ3NP SƠ5NABŠP..G SBNA NB MPBɠUN+ SPà NԱNP SBNA MPVS SPà NԲ0NP SBNA MPZű+ SPà NԲNP SBNA MPZŲ+ SPà NԲNP SBNA MPAN+ SPà NANP Ơ0 BMP SSBHK MPMPҠMMYPAY DAB NB PA0 MPB MPNA HDSVŠANDSUBUNS NDNP SZPASSBUMPPASSUN NP DAPASSNVԠPASS DBPUNԠ SBBɠAS SBSKɬɠHKҠMSSAGŠSUPPSS DAM DBMɷ SBY.Ϭɠ̠PAҠSԠSNSHD AHK AƬAҠBԠ SSAPNDAGNS? MPH+YS DAPASSN HHԠB MPNԲDϠANHҠPASS PDƠMA SKP SPà SUBUNS SPà BASàNPA̠AS ANDA00 DBA BSBS BS BƬB ANDA000 ҠB ҠD0060 MPBASì A000Ԡ D0060Ԡ30060ASɠPS SPà DAANPHANGŠDAANAϠASɠAND SADؠSŠNANNB SBDADD SBBASàHANGŠϠASԠSGHϠAS DBDADD ADBAMDYADDSS SABɠSŠϠHAAS DAD AƬA A̬A SBBASàHANGŠNԠϠHϠAS DBDADD NBMDYADDSS SABɠSŠϠHAAS DAD ANDP0000 A SBBASàHANGŠϠMSԠSGHϠAS SADADDɠSŠNA̠ϠHAAS MPDAAɠ DؠBSSDAAϠBŠNVD DADDBSSADDSSHŠASɠHMUSԠG SKP SPà ҠNPҠPNGUN Ơ0DSABŠNUPS B ADB DAҠNDҠNUMBҠBASDNN PBAɠADDSSANDAB MP+5UND NA PAҠMNAŠƠPGAMMҠD HϠHԠ0 MP-5NNUŠSAH ADAàNMAZŠNUMB SAS DBMɠMSSAGŠADDSSAB ADBA DBBɠMSSAGŠADDSSNϠB SBؠSAVŠADDSS DAϠY SZASSPSN? MPNHN AHK AƠBԠ SSAYSUPPSSD? MPNHYS DAS ADAM DAAɠMSSAGŠNGHNϠA SBY.ϬɠYPŠMSSAG NHSZNԲUNԠA̠S.ASԠSGN SSNԲANDMSԠSGNNԱ SZNԱ NP DAجɠGԠSԠDƠMSSAG ANDASAVŠBS- A̬A̠PSNBS A SAMPSAVŠSԠHAƠƠHAԠN. DB NB DBBɠGԠNDDƠMSSAG BƬB DAB ANDA ҠMPҠNSԠHA ҠHϠҠNHԠNS SAؠPUԠNN ASנGϠA A̠HKBԠ SSASSNϠHAԠUSD? ؠHԠ0NϬSϠHA MPҬ NԱNP NԲNPUNS_ SؠNP SPà SKNPHKSҠPNUԠSN Ơ0DSABŠNUPS DBSK ADBA0003MDYUNADDSS DAS SZASSYPSNԠ? MPBɠN ASנGϠA AƬA̠HKBԠ0 SSAYSUPPSSD? MPBɠYSSKPPNU MPSKɠNϬԠANDPN SKP SPà MSSAGS SPà SUP MASà30.ƠH-SSH ̱U+-M-M MASà30.ƠH-SàH ̲U+-M-M M3ASà303.SƠH-SàH 3U+-M3-M3 MASà30.SƠH-SSH ̴U+-M-M M5ASà05.DDNԠNUP 5U+-M5-M5 M6ASà506.UNADDSSN 6U+-M6-M6 MASà6H0.PSSPSԠ(ԯNԩUN ̷U+-M-M M0ASàű0.PSԠ(ԩDDNԠSԠAG ̱0U+-M0-M0 MASà0H.NDBɯ ̱U+-M-M MASà3ű.ABG.SԠAD ASàNSҠؠAS. Ԡ6 ASàAԠàجNŠG.AԠ ̱U+-M-M M3ASàH3.PSSHAԬPS(NԩUN Ԡ6 ASà0NSSHAN5S. ̱3U+-M3-M3 MASà9ű.PS(NԩDDNԠUNƠM.P. ̱U+-M-M M5ASà5HP00SSMMYP ASà05DAGNS ̱5U+-M5-M5 M6ASàű6.ҬPHASŠƠNS ASà5NGSBɠM.P.VAN Ԡ6 ASà06ASUD ̱6U+-M6-M6 MASàű.NϠM.P.NUPԠDUNGMP ̱U+-M-M M0ASà5Ų0.NDԠADDSSNGHU ASà0M.P.AAAD ̲0U+-M0-M0 MASà5Ų.ɯϠAP̠NSҠ ̲U+-M-M MASàŲ.NNɯϠAP̠NSҠ ̲U+-MX-M M3ASà5Ų3.NDԠADDSSNGHU ASàM.P.AAAD(NϠNPԩ ̲3U+-M3-M3 MASà0H.NDMP ̲U+-M-M M5ASàŲ5.NϠNUPԠNSNDV̠ ASà06MPɠHAN ̲5U+-M5-M5 M6ASàŲ6.UNADDSSNԠ ASàHANDMPɠNUPS ̲6U+-M6-M6 MASàŲ.NϠNUPԠNHDV̠ ASà06SBɠHAN ̲U+-M-M M30ASà30.UNADDSSNԠ ASàHANDSBɠNUPS 30U+-M30-M30 M3ASà0H3.ND 3U+-M3-M3 M3ASà3.GA̠NUP.NŠG. Ԡ6 ASà0VANG.جNSҠS 3U+-M3-M3 M33ASà33.NϠNP.NŠGS 33U+-M33-M33 M3ASà3.VANG.جSHUDBŠ 3U+-M3-M3 M3ASà06H3.ND 3U+-M3-M3 M0ASà0Ŵ0.NUPԠUDHŠUNG ASà09GA̠NSҠ Ԡ6 ASàNŠG.جV.G ̴0U+-M0-M0 MASà06H.NDNV ̴U+-M-M M50ASà50.NϠM.P.NUPԠA ASàUNGNSҠ Ԡ6 ASà6AԠ.جNŠAԠ 50U+-M50-M50 M5ASà5.NϠM.P.NUPԠA ASàUNGAUNSҠ Ԡ6 ASà6AԠàجNŠAԠ 5U+-M5-M5 M53ASà06H53.NDV 53U+-M53-M53 M60ASà60.NϠNUPԠHNM.P.VAD 60U+-M60-M60 M6ASà6.M.P.AAVADAND ASàM.P.NUPԠUDAԠSAMŠM 6U+-M6-M6 M6ASà6.NϠM.P.NUPԬS ASàҠANSҠMAYHAV Ԡ6 ASàADҠM.P.NԠNSAD 6U+-M6-M6 M63ASà63.M.P.NUPԠàNԠUA̹0.* ASà9ϠVANG.AMAYHAVŠAD 63U+-M63-M63 M6ASà6.M.P.NUPԠàNԠUA ASà9ϠVANG.BMAYHAVŠAD 6U+-M6-M6 M65ASà65.NϠM.P.NUPԬS ASàҠBNSҠMAYHAVŠAD 65U+-M65-M65 M66ASà.66MMYPAYҬVAN ASà06GSҠ M66ABSS3 66U+-M66-M66 MASà5ŷ.SԠDUBŠSŠAD ̷U+-M-M MASà03PASS MABSS3 ̷U+-M-M AMUSԠDAVAABŠMMY ND <0   24325-18001 1431 S 0122 0124325A 2100 SER MEM PARITY CHECK DIAG             H0101 R ASMBAB̬ HD00SSMMYPAYHKDAGNS GB DAGNSàHKSPAYPAN DAGNSàASSUMSHŠNGSSHAVŠBNUN MMYNŠGUPDSN0000 A-SKPGUPDSN000 SH-AŠGUPDSN000 MMYDSN0000 MMYPԠDSN000 UNSNKMMY YPŠNԠUD DAGNSàNGUAҠSUD DAGNSàSA̠NϠ(DSN000 PANGNSUNS: .ADANDNGUŠDAGNSàNGUA. .ADMPàDAGNS. 3.SԠPGSҠϠ00.PUԠɯϠADSԠDŠN SHGS.PSSPS(N..ƠPSNԩ ANDUN. .SUSSU̠NGUANSAHAԠ00.PSSUN. 5.HAԠ000US.PҠƠANDSԠMPUҠϠ BADPAY. 6.SԠSHGSҠϠ0.SԠPGSҠϠ30.PSS PS(N..ƠPSNԩANDUN. .HAԠ0003US.PҠƠANDSԠMPUҠϠA GDPAY. .PAŠHŠNUPԯHAԠSHNHŠHAԠMD. SԠPGSҠϠ3. 9.SԠSHGSҠϠ0.PSS PS(N.AND.ƠPSNԩANDUN. 0.HAԠUSHBGSҠ.PAŠHŠNUPԯ HAԠSHNHŠNUPԠPSN.SԠPGAM PNSNHŠSHGS.PSSPS(N.. ƠPSNԩANDUN. SKP SHGSҠPNS BԠMANNG 0-SVD SUPPSSPAҠNVNN 9-SVD PNDAGNS.AҠϠHAԠAԠNDƠPASS. 3-5SVD MPUҠHAS HAԠMANNG 000SԠUPHAԠҠNGBADPAY 0003SԠUPHAԠҠNGGDPAY 00ؠPAYS0<< 005ؠҠHAԠҠ.G.ؽ0- 00NDƠPASS 060ؠUNPDAP̠HAԠ(ؽSé 003SԠDŠNSנG<0 00NGUANMP SKP G00B MPNɬ G05B DƠAMSԠDAVAABŠMMY BSSASԠDAVAABŠMMY G6B Ԡ000DAGNSàSA̠N SPà3 ϠU5B SDU6B MSZŠUB SPà3 G30B SPà MPSұɠPAҠSAԠAN MPSҲɠPAҠSAԠAN MPH+SAԠϠBYPASSSàNY ABŠƠSԠDSϠBŠMDD SԠDƠ+ DƠH0 DƠH DƠH DƠH3 ASԠDƠ- SPà UAS AU0 BU SҠU HU0 SPà NSANSSAGŠANS MSNàԠ MSMKԠ0000 H000Ԡ0000 GMGԠ00000 GMKԠ0000 MPMKԠ0 DAñDƠAñ+ DAòDƠBADPA+ AԠ AԠ A00Ԡ00 A000Ԡ000 A000Ԡ000 HԠ MMAؠNP A0Ԡ0 M0Ԡ-0 ɯϠNPɯϠSԠD NSҠNPNNA̠SHG HԠԠ0600SԠAP̠HA BANP P00Ԡ00 5ɠMP5ɬ H5Ԡ06005 P0ɠSBP0ɬ PADNPPDADDҠƠP HAԠ06000A-GAP̠HA HBԠ0600B-GAP̠HA NMPԠNPMMPԠAVA MSK5Ԡ AADNPAUA̠NԠADD ű0ɠSBű0ɬ űɠSBűɬ ŲɠS&BŲɬ Ų0ɠSBŲ0ɬ KZϠԠ0 MPNP Ŵ0ɠSBŴ0ɬ PɠSBPɬ ɠSBɬ PűɠSBPұɬ PŲɠSBPҲɬ P3ɠSBP3ɬ B6Ԡ00 BԱԠ0000 BԸԠ00 PұԠ PҲԠ356 P3Ԡ0 PҴԠ55 P5Ԡ5 P6Ԡ6 N00BԠ-00 NҠNP ADDSSDNNS 5ɠDƠ5 P0ɠDƠPB0 APұDƠPұPAYҠADDSS AP5DƠP5 AP6DƠP6 PұɠDƠPұ PҲɠDƠPҲ P3ɠDƠP3 ű0ɠDƠű0 űɠDƠű ŲɠDƠŲ Ų0ɠDƠŲ0 Ŵ0ɠDƠŴ0 PɠDƠP ɠDƠ SұDƠSԱ SҲDƠSԲ NɠDƠN SɠDƠSA SKP GKHKSMPUҠYPŠҠG ƠSϠM.P.SHKDҠSPSN ANDƠPSNԬSϠP+ HSŠϠP+ GKNP SASAVA DA ANDGMKMASKҠMPUҠYP PAGMG.G. MPNKYS DASAVA SZGKNϬԠP+ MPGKɠԠP+ NKDANMP SZAM.P.PSN SZGKYSԠP+ DASAVA MPGKɠNϬԠP+ SAVAԠ0 HDPAYSԠ--N G600B NƠà5 à0 DMNŠANDSŠMMYSZ DAMSZ ANDMSMKMAM ADAMSN SAMMA NPUԠHKɯϠSԠD SàAS ANDAG SASDSԠD ADAM0 SSASSSSHAN(A̩? MPVADYS HԠ3BN MPSàYAGAN VADU DASDS SAɯϠSԠD DA ANDMPMK SANMP NPUԠSŠNNA̠S-G HàHԠB MPSɬ HDPAYSԠ--SA G000B SAԠà5àUNƠPAYN à0àҠA̠DVSNԠSYS2 SŠAP̠HASNà-B DBA DAH PSAB NB NA PBA00AP̠HASMP? SSYS MPPNϬP MDYɯϠNSUNS DBS SBBA ̠DBBAɠGԠNSUNADDҠMAB DABɠNSUNNϠA ANDP00MASKUԠSԠD ҠɯϠNUDŠNנS SABɠSŠɯϠNSUN PBASԬɠMDANMP? MP+3YS SZBAN MP HDPAYSԠ--N DPNU A SA5NPNPŠAP HHԠBUNƠPҬŠҠVN MPHPAYSԠSHNɯϠϠN UNNP SAԠAԠ30B SԱU à5BàPAYNԠ DAPұ SAPұ DAP5 SAP5 DAP6 SAP6 DABADPA SABADPA SBADPAYPANSN ANS000BHUGHB DAN00BNAZŠUN SANҠϠ-00B DAPұPANNA DBA000SANGADDҠNB SB DAPҲ SB DAP3 SB DAPҴ SB H3HԠ3BUNƠPҬŠҠDD MPH3PAYSԠSHNɯϠϠHA UNNP SAԠAԠ3B SPà ŠUN.SBADPAYNϠ00B ANSSANGAԠADDSSNB-G ŠNP SABɠSŠBADPAYPAN A̠SHԠPAN NBSPADD SZNҠSPUN MP+PA DAN00BNSHD.SԠUN SAN MPŬɠANDUN+ HDPAYSԠ--SA SSBԠ5ƠA-GSҠAҠA5PMS DYHAԠNPAY SPà PA05U SԲU à5 DA5ɠSԠAP SA5 SBGK.G.? MPH0 A5HKBԠ5ƠVANG SSAҠƠ ŴHԠBBԠ5SSԠAҠPҠUNN GNAŠPAYHA H0ƠHUSŠAGASHAԠNDA SƠ5NABŠPŠN DBPұPAYHAԠSHUDUҠH. NPPSSPSԠ(N.PAYHA NPSHUDA.SԠϠPAYN MDŬPSSPSԠ(ԩUN HSSHƠHԠUDPSԠSԠAG 5HԠ5BADϠHAԠNPAY à5 DAH5SŠAP̠HA SA5 HDPAYSԠ--SB SSABYϠNUPԠNPAYһHKSPůMP VANƬPAYNUPԠADDSS. SPà PB05U Ơ0NԠSYS Ơ5DSABŠPŠN DAP0ɠSԠAP SA5 DAAPұ SAPADPŠADDҠNϠPAD DAHA SƠ5NABŠPŠN DBPұSHUDNUP AñNA NP SBGK.G.? MPP05 DAPADPDNԠADDҠNϠA B0NϠB 6HԠ6BPŠNԠNԠVD MP.PB PŠNԠSUBUN PB0NP à5àDSABŠPŠN SBGK.G.? MP50 DBHBBPDNSҠSU PABSԠҠNSҠUN MP+ HԠ0UN DAPB0AAUA̠ADDSS DBDAñBPDADDSS PABSԠҠԠADDSS MP+ HԠADDSS A5 SS79APůMPԠV.ƠS? SSYS MPŴ3NϬPԠ DBNMPԠHKNԠADD SZBSSMMYPԠAVAAB MP.PBNϬ ANDMSK5SPBԠ5 SAAADNԠADDҠNϠAAD PAPADAUA̠ADDҠPDADD MP.PBYS DAPADNϬPADDҠNϠA DBAADAUA̠ADDҠNϠB ŷHԠBPŠNԠADDҠN MPP05 50HԠ50B.G.ANDNϠM.P.SHUDNԠN .PBU HDPAYSԠ--S SSABYƠƠ5ϠNHBԠPŠN SPà P05U DAű0 SA5SԠAP SƠ5 Ơ5 DBPұSHUDN NPNUPԠH MP.P PŠNԠSUBUN ű0ҠNP à5 DAű0 ű0HԠ0BƠ5DDNԠNHBԠPŠN .PàU HDPAYSԠ--SD SSHAԠPŠNSAŠNHBDHNPD ADҠAAҠNN-SNԠMMYSASSD. SPà ASSADҠAA PD05U DA ANDGMK PAGMGSԠҠDDG MPPD05 DAű SA5SԠAP SƠ5NABŠPŠN DAMMAجɠASSADҠAA NPSHUDNԠNԠH ASSNN-SNԠMMY(ƠANY PD05DAŲ SA5SԠAP SƠ5NABŠPŠN DAMMA PAPAHASԠMD MP.PD ADAH000 DBAɠASSNN-SNԠMMY NPSHUDNԠNUPԠH MPPA űNԠUN űҠNP Ơ5 DAű űHԠBPŠNԠMADҠAA MPűҬɠN+ ŲNԠUN ŲҠNP Ơ5 DAŲ ŲHԠBPŠNԠMNN-SNԠMMY MPŲҬ .PDU HDPAYSԠ--S SSHAԠPŠNSAŠNHBDDUNG AAүŠPAN SPà P05U Ơ5 DAŲ0 SA5SԠAP DAKZ SƠ5NABŠPŠN SAMPPH3ƠSAUSSүԠPAN NPSHUDNԠNԠH MP.P Ų0NԠUN Ų0ҠNP Ơ5 DAŲ0 Ų0HԠ0BүԠADϠNHBԠPŠN MPŲ0ҬɠN+ .PŠU HDPAYSԠ--SH SSPAYҠPYN SPà PH05U Ơ0 Ơ5 DAŴ0 SAɯϬɠSԠɯϠAP DAP SA5SԠPŠAP DAHA DBHB HSàH H3SƠH SƠ0NABŠɯϠN SƠ5NABŠPŠN BADPANAVNPAYH NPPŠNԠSHUDUҠH ŴHԠBNϠPŠҠɯϠN MP.PH PŠNԠUN PɠNP Ơ0DSABŠNԠSYS SBGK.G.? MP5 DBHBBPDNSҠSU PABSԠҠNSҠUN MP+ HԠ0UN DAPɠAAUA̠ADDSS DBDAòBPDADDSS PABSԠҠԠADDSS MP+ HԠADDSS DA SAɯϬɠSԠɯϠAP DAHA SƠ0NABŠNԠSYS NPɯϠSHUDNUP Ơ0 ŴHԠBNϠɯϠN MP.PH 5HԠ5B.G.ANDNϠM.P.SHUDNԠN MP.PHNUPD ɯϠNԠҠUN Ŵ0ҠNP Ơ0 SBGK.G.? MP.PH DAŴ0 Ŵ0HԠ0BɯϠKNԠPYVҠP MPv.PH ɯϠNԠUN ҠNP Ơ0 MP.PH .PHU HDPAYSԠ--S SSPAYŠGàBYASSNG ANUMBҠƠDNԠBADPAYANS. HKSPAYҠADD.SSABY AVŠBADPAYAԠANADDSSHNASSNG HAADYPŠNSUN(DB SŠGDPAYHNASSNGHA ŠYPŠNSUN(SB. SPà P05U Ơ0 à5 DAPű SA5SԠPŠAP DAA000 SAPAD ASSPŠANS(000B-B.SHUD NUPԠϠPұSUBUN DPҠSƠ5 DBPADɠBADPANNϠB NPSHUDNԠHŠϠPұ NP SBGK.G.? MPSP DAPADPDNԠADDҠNϠA ŴHԠBPŠNԠNԠVD MPSP SPà PұNԠUN PұNP à5 SBGK.G.? MP5 A5 SSAHKBԠ5ƠA-G SS Ŵ3HԠ3BPŠNDAҠBԠ5NԠS DBNMP SZBSSMMYPԠAVAAB MPSPN ANDMSK5YSSPBԠ5 SAAADSŠAUA̠PŠNԠADD PAPADSADDҠ? MPSPYS DAPADNϬPDADDҠNϠA DBAADAUA̠NԠADDҠNϠB Ŵ5HԠ5BPŠNԠADDҠN MPSP 5HԠ5B.G.ANDNϠM.P.SHUDNԠN SPà SPDAPAD NASPADD SAPAD PAA000NSHD? MPPɱ0YS MPDPҠNϬPA SPà HKSABYϠAVŠBADPAY Pɱ0U à5 DAPŲ SA5SԠAP SƠ5NABŠPŠN DAAP6PŠADDҠNϠA DBP6NNSNϠ[B NPSHUDNԠϠPҲ NP SBGK.G.? MPHNG Ŵ6HԠ6BBADPAYHANGDBYAD-YP NSUN HKSABYϠSŠGDPAY HNGŠà5 DAP3 SA5SԠPŠAP DAAP5PŠADDҠNϠA DBP5NNSNϠB SBP5SHUDSŠGDPAY SƠ5 DBP5ASSSAMŠANAGAN NPSHUDNԠNԠϠP3 à5 MP.P SPà PҲNԠUN PҲNP à5 SBGK.G.? 53HԠ53B.G.ANDNϠM.P.SHUDNԠN MPHNG SPà P3NԠUN P3NP à5 SBGK.G.? MP5 ŴHԠBGDPAYNԠSDBY ŠYPŠNSUN MPP3ɠN+ 5HԠ5B.G.ANDNϠM.P.SHUDNԠN à5 MP.P SPà .PɠU HDPAYSԠ--ND NDU AS ANDBԸBԠ SZAN? MPNԱYS DAMP0N.PUԠMP SAMP.000BAҠH SBPŠSŠGDPAY MPNԲ NԱU DAMP0PUԠMP SAMP.PB05AҠH NԲU AS ANDBԱBԠ SZASSN? MPHN.GϠHA AYS.S ANDBԸBԠ SZAN? MP0MPPB05YS MP0MPSɬɠN HU HԠBNDƠPASS MP.BSSDϠANHҠPASS SPà SUBUNŠϠSŠGDPAYϠANS NANNGPAYS DƠASԠADDҠϠBŠAD PŠNP à5àPAY16<:6NԠ DAAA_SԠADDҠ(à PDBAɠADMHNŠBAK SBAɠNϠAN PAP-NSHD? MPNYS NANϬNҠADD MPPP NSƠ5NABŠPŠNP MPPŬɠN+ AMUSԠDAVA̠MMY ND <  24326-80001 A S 0122  4K HP 2762A SIO DRIVER             H0101 ^ ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0K SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. #JҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN ?WSAHòϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-DDŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHKh SSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0P?*($SNNDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND 4*   24327-80001 A S 0122  8K HP 2762A SIO DRIVER             H0101 b ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠsB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24328-80001 A S 0122 12K HP 2762A SIO DRIVER             H0101 %\ ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU0000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠtB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24329-80001 A S 0122 16K HP 2762A SIO DRIVER             H0101 &` ASMBAB̬Ԭ HDMNԠSϠDV SYSMNPUԯUPUԠDVҠ ҠHŠMN HSDVҠPVDSҠϠƠHŠɯϠAS UDBYHŠASSMBҬSYMBàDҠANDH ANMP.HŠASAŠDSBDAS SHNBנHHŠANNHŠSYSMNKAG ABŠANDHŠNAMŠƠHŠSPNDNGSNN HŠDV: SԠUPUԠ0Y. KYBADNPUԠ0Y.K ANGSUN: (ANGHƠDAABUҠ(ҠD: ϬNGHNHAASҠASɠDS <0SMUADPƠM (BSANGADDSSƠDAABU. (PSB0جɠ(HŠؠSҠ (P+-UN-(BMANNGSS (ANUNMANNPUԠPANNANS HŠNUMBҠƠHAAS(ASɠ (ANUNMANUPUԠPANS MANNGSS. DMAS: A.NPUԠ-AS:AGUPƠHAAS MNADBYAUNNŠD. HSŠDSNPUԠBŠHŠS DAAHAAҠƠADAŠGND. AUB-UԠDŠAUSSHŠUNԠD ϠBŠDDANDHŠNԠDNPU. AN-DMUSԠMNAŠHŠUN D. KYBAD:ASɠMAԠHAH HAAҠPNDASԠSYPD. B.UPUԠ-AS:AUNN-DSUPUԠBY HŠDVҠϠMNAŠANASɠD. DVҠNAZANSN PUPSŠƠHSSNSϠSԠHŠɯ NSUNSϠNŠADSGNAD ɯϠADDSSҠHŠPNҠANDH KYBADUNS.UNƠHSSN SBGUNAԠAN:(MP3. (3DƠ.Y. HŠSHGSҠSSԠASS: BԠ5NMANSNGUŠKYBADHANN SԠANDHNNGUTSԠSN ANHҠHANN. BԠ5ƠMANSNGUŠNNMA̠MANN BHKYBADANDSԠSNSϠSAM HANN ҠBԠ5ƠNGUANHŠMPU ̠HAԠHMMYDAA00BAҠPUSH- NGUN.HBԠ5NHŠMPUҠ̠HA H006BNMMYANDHŠPAҠMUS NҠSNDHANN̠NϠHŠSHGS ANDPUSHUN.HŠMPUҠ̠HAԠH 00BNMMY BԠNMANSPANDHƠƠMANS DHƠ5 HSSNSASDAҠH NAZANSMPD. G0000B SPà BGNMPNGɠGϠNGUŠHŠDV NGDƠ.YDVҠNGUANSN. SPà HԠ0BàPҠA̠NUP:HA HԠ05BPAYҠNUP:HA SPà SYSMNKAGŠABŠS-UPSN SPà G0B SPà DƠY.ϠSԠUPUԠ G0B DƠY.KKYBADNPUԠ SPà G06B SPà DƠY.K-..A.ƠAVAABŠMMY SPà KŠU30000B SKP GK+06000B .YA0BGԠAND SAY.KSAVŠHŠSHGS. SSASSVAY MP+DAY B SBSAҠNN-HP605A SBSA+USAG A̬ASGԠDHB SSASS5? MP+3YSUMP DBDNϬSԠ SBDH ANDM.SAŠɯϠADDSS SABSԠNB DASPSԠ SABGNNϠSA DA.3SàY AND. ҠB SA.3 DA.33SSY AND. ҠBUPU SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.3AY AND. ҠB SA.3 DA.0AD:AàB AND.SAŠHŠNSUN ҠBNGU:àYNS. SA.0AD:AHԠB DBY.K(BɯϠADD. DAY.KSԠA-GSҠϠSHSNG SSASSSKPƠBԠ5SN MP+3NԠSԻSKPNנSHSNG HԠ6BSPANDAԠҠNנSHSNG A0ADSHSNG SAY. ANDM.MASKƠA̠BUԠɯϠHN SABSAVŠNB DA.3 AND.PA ҠBH SA.3ABV DA.33 AND.UPU ҠBSN SA.33 DAU3 AND. ҠB SAU3 SA.3 DA.0 AND. ҠB SA.0 DBY.KSԠBSԠHN. DAY.ϠSԠANDHN. SPHԠBSP MPSP SPà M.ԠɯϠADDҠMASK .Ԡ00 DDà SKP SKP GK+005B SPà Y.KNPKYBADNPUԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠANANND B̬ŬSBB MP-YSDϠSԠAGAN SBBUƠSԠBU SBBUSADDSS DBNԠSԠNŠUN SBUN SSASSƠAADYNG.SKP MANAHAS.SԠHAҠUNԠNGAV. BSԠB(DAA-NAG0NϠDAA SANGSԠUSDNGH(HAS .SAHñASUN. DAU5NAZŠUPPүҠHA.PS. SAU̠NDAҠϠUPP. ASԠHA.NPUԠUN SAHò~ϠZ. SPà HAAҠNPUԠSN SPà .3ҠDA.NUDŠMMANDD YU5BSANDADɯϠHN. .3AYUPUԠMMANDD U3AY .3SàYàSԠN̠ANDAҠAG .33SSYAԠUN̠ADY MP.33 .0àYYSAҠN .3AYNPUԠHŠHAA ANDMMVŠAҠBSƠAS. SPà HAAҠAMNANSN SPà PAMƠHA.SAUBUԠG MP.ϠSԠNPUԠҠNԠD. PAN.ƠHA.SN-DGϠ MP.MNANSN. SSBSSSAN-DϠBŠAD PAN.YSGϠADHŠNԠHA. MP.3ؠUDNPUԠNԠHA. BNBSԠDAA-NAGϠSAY SB.0DBNGANSMD SPà DAAPAKNGANDSNGSN SPà DBU̠(BHA.PSNNDA. SSBSS MP.9UPP. ҠSAVŠ-PAKPVUSUPPҠHA SABUƬɠANDSŠPAKDD SZBUƠADDϠBUҠADDSS. MP.0 .9AƬAƠAŠϠUPPҠAND SASAVŠSAV. .0B̠SԠNDAҠҠNԠPSN SBU̠ANDSAVŠAG. DB.0SŠDAANAG SZHòUNԠHA.NPU SZHñNDؠHA.NGH MP.3ؠBUҠNԠD. BSԠҠNŠHA .3ؠAN:A0. MP.3ϠŠAN-DN. SPà SNϠPSSUBUԠDŠ(ASɠMDũ SPà .DABUSSԠSANGBU SABUƠADDSS. DANG(AGNA̠BUҠNGH. BSԠDAA-NAG-Ϡ MP.AƠϠMNAŠD. SPà SNϠPSSN-D݂DŠ(ASɠMDũ SPà .BSԠB0Ҡ-NPUԠMUB-U. DANGƠNϠHAS.NPUԠҠUB-U PAHñDMNADAD MP.3ؠNԠHAA. SKP HKUNԠPSNNDA. SPà DBU̠ƠASԠHA. DASAVŠNPUԠASNUPPҠPSN ҠBANKMAKŠҠHA.A SSBBANKANDS SABUƬɠASԠD. SAҠDAMDAYUN̠DV SB.0ZSADY SPà Ԡ(MPNSN SPà DAHòSԠAHAAҠUN MPY.K SPà SPà N.Ԡ00005 .0ZNP SBSAVŠSAVŠBGS BSԠB PANDSHAAҠANŠD DBMYSSԠB- PAMNPUԠA? DBMYSADBϠ- SBNԠSŠBNUN DBSAVŠSŠBGS ؠSB.0GϠϠA̠UPUԠUN SZNԠNMNԠUNҬSKPƠ0 SSSKPƠNԠ0 MP.0ZɠUNUNԠ0 DAMADAHDŠҠAD MP MDà- SAVŠBSS NԠBSS SKP SԠUPUԠSN SPà SPà Y.ϠNPUPUԠSԠNY SSSKPNԠNSUNSԠM DBBɠSBUҠAN B̬ŬSBBANND? MP-YSPAԠS SBBUƠSAVŠSANGADDSSƠBU. SABSԠA-GSҠNB-GS SZUN ŬSSASԠŬHKAҠPAGŠSKP MPPAGŠGϠԠPAG UԱMBNBSZBSԠHA.UNԠNGAV SSƠZ(0HAAҠNGH MP.5GϠUPUԠAN-D. SBHñSԠHA.ND ADBDHHK YSSBSS MP+3VAD DBDHPN MPUԱNGH DBU5(BUPPүҠNDA SPà HAAҠUPUԠSN SPà .DABUƬɠGԠDNANNGHAA SSBSSƠUPPүҠAGSAYSUPPҬ AƬAƠSGN0AŠϠ. ANDMSAŠHAA SB.0ZGϠUPUԠAHAA B̬SBƠHA.UPUԠASҠHA. SZBUƠADDϠBUҠADDSS. SZHñNDؠHAAҠUN MP.MŠϠPSS. SPà UPUԠMPNSN SPà .5BNһB DANADAAAGŠUNHAA SB.0ZGϠUPUԠAUN DANDADANŠDHAA SB.0Z MPY.ϬɠUN SPà PAGŠDNŠH SPà PAGŠDASKPMSKPUN ADAUN SAUN DAND SB.0ZPNԠP SZUN MP-3 DANԠSԠUN SAUN SSB MPY.ϬɠMNYUN SZUNԠԠUN MPUԱPNԠN SPà HAAҠUPUԠH SPà .0NP ҠUԠADDNN̠D .3AY U3AY .3SàY .33SSY MP.33 .0àY MP.0 SPà NSANԬSAGŠANDAGSN SPà GK+065B BUƠԠ0HDSUNԠBUҠADDSS BUSԠ000000HDSSANGBUҠADDSS NGԠ0HDSGNA̠BUҠNGH HñԠ0NDؠVAUŠҠHAAS HòԠ0HDSUNԠƠHAASNPU UԠԠ3000 DA.Ԡ60000 UPPүҠHAA U5Ԡ555PSNNDA:0UPPҬ U̠Ԡ0PSN*($NDAҠAG BANKŠASɠSPAŠ(BANK MԠ000 BU0000B N.Ԡ0000N-DD. NDԠ NԠ5 UNԠDà-6 NԠDà-6 SKPDà-6 DHDà5 SPà SPà ND *   24330-80001 A S 0122 BCS HP 2762A DRIVER (D.26)             H0101 9K ASMBҬB̬ԬàBSMNԠDV HDD.6BSMNԠDV NAMD.6 D.6MN NԠD.6.6 Ԡ.BU HSMDUŠƠHŠHP-6BASàN̠SYSM SAŠSDSGNDϠPAŠHŠMNԠ300 -YP.HŠUNNƠHSDVҠS ϠNAŬNNUŠANDMPŠAADŠ PANUSDHUGHNPUԯUPUԠN. HŠDVҠAPSANDPSSSAADҠ NASɠMD. KYBADMDŠMAYBŠSDҠASNGŠ ADPAN. HŠDVҠ̠ԠA-UNNS- USԠASNNŠƠHŠDNDUNNSS APPABŠҠHŠKSҠDV ҠϠHŠ-NA̠DSGNSPANS-Ơ HŠBSSYSMҠADSPNƠHŠUSԠ ASϠàANDHŠDMAS. D.6NANSN D.6NP SASAVASAVŠԠNYADDSS. SBSAVBSAVŠUSԠ(DADDSS. DABɠGԠDƠUSԬA AƠUSԠDŠϠנA ANDMANDSAŠDŠD SZAƠDŠNԠZϬNNU MP.NMA̠PSSNG. DŠZϠ(AҠUNԠPAN-H NGNSҠ(MPSPADBYAàA HŠSԠPANSNAD. .MPD.6 .SƠ0SԠDVŠAGҠNԠUS. SASAVàSAVŠAҠD. BNBGϠ MPSAԱSAUSSN. .DBDGHKDVҠAG- SZB&ƠDVҠBUSY MPBԠHSUS. SASAV ADAM3SUBAԠ3MD SSASSƠSUԠ+HNGA̠DŬ MPҠԠUS.GA. DASAVASAVŠԠADD. SA+A̠Ϡ.BUҠAҠ DASAVAɠGԠDƠԠNY. ANDMSAŠPUNHUNԠɯϠADDSS. ҠAɠAY SA.0 ҠAMAY SA.6 ҠSSMSSY SA.3 ҠMƠY ҠSSMSàY SA.5 SA. SA. ҠMSƠY ҠSSM SA. ҠMàY SA. SA. SA. ҠBɠBY SA. SA.9 SA.3 .3SS0ƠAGNԠSԠ(..DVŠUN- MPBAVAABũԠUS. DBSAV DAPŠGԠPNԬHϠN SBSSAD? MP.3ANϬN̠DDN Ҡ.ADYSSԠ SPà DBSAVBɠGԠUS BƬBƠPUԠKBԠNSB SBSSH?SKPƠYS( Ҡ.NHNϬAҠHϠB .3ASAנSAVŠN̠D SZSAVASԠADDSSƠԠNY DASAVAɠDGԠD ADAM5SԠ-D(BUSYAND SASAVAɠS. DASAVASԠ-A- NAADDSSƠԠNY SAAD3. SZSAVBNDؠϠD SZSAVBƠɯϠUS. DASAVB DAAɠGԠBUҠADDSS A̬ŬSAAƠNDN MP-GԠN-V̠ADDSS SABUƠSAVŠBUҠADDSS. SABUS SZSAVBSԠϠD6ƠUS. DASAVBɠGԠD6-BUNGH. B SSAƠHAS.USDS NBB(SBANDSŠD3 SBAɠƠԠNY SSAƠDSUSD MP+3NVԠDS MANAHAASAND ASMPMN SANGSAVŠNG.HAҠNGH SAH DAU5NAZŠUPPүҠHA. SAU̠PSNNDAҠϠUPP. DBSAV SADGSԠDVҠAGBUSY(NԠ0. A SADNƠAҠDAA-NAG SAHàHAAҠUNҠAND SAA SBSS MPY NGNSUNSASDAAANSMSSN. DB .B0UPUԠNSUNN-B- .5Sà0 MPD.6 YSB.6 MPD.6 ҠBSS---ԠSN...Ҡ(B0. BDBM5DVůDVҠNԠAVAAB ANASԠ(ANN-ZϠAND MPD.6 SKP NNUAҠSN NDSBNDVŠNUPԠAN .6NP SASAVAؠSAV SBSAVBؠA AASB Sà NAAND SASAVؠV DAAԠANG? SZANϬSKP MPNԠYSDϠ SPà DASAVàGԠN̠D SASSPAN MPUPŠ- NPUԠSN .6A0 ANDM3MVŠAҠBS. DBDNƠSԠ(BDAA-NAG. HAAҠAMNANSN ANDMMVŠ-V̠B PAUBϠ-ASɠMD-HAAҠHK--- MP.0UBUԠ(DDũ PAN MP.UN-GNŠUN- PAN MP.NŠD SSBƠDAA-NAG-GNŠHA- MP.ASUN̠N-7DNPU. .5BNBSԠDAA-NAGϠSAYDAA SBDNƠHAAҠN. DBU̠SԠBUPPүҠPSNAG. SSBSSƠSԠҠUPPҠ(50SAVŠHA MP.6N. ҠBUƬɠ-ҪNPVUSUPP SABUƬɠHAAҠANDSŠNBU. SZBUƠADDϠBUҠADDSS. MP+3 .6AƬAƠPSNHA.ϠUPPҠAND SABUƬɠSAV B̠SԠAGҠNԠPSN SBU̠ANDSAVŠAG. SZHàADDϠHAA-UN. SZHؠNDؠNGHUN. MP.NϠZϠ(BUҠNԠMPũ SԠϠNPUԠNԠHAA. BUҠD. .BSԠDAA-NAGϠŠAUN SBDNƠANDN-DϠMNAŠAS .DB .3B0 SBSҠSŠGSS .Sà0 MP.6 PSSҠҠ-UB-U-D .0DABUS-SԠSANG SABUƠBUҠADDSS. DANG-SԠSANG SAHؠHAAҠNGH DAU5-SԠUPPүҠHAA SAU̠PSNAGϠUPP A-SԠHAAҠUN SAHàϠZ. MP.-GϠϠSԠDAA-NAG- PSSҠҠN-DD .BAҠDAA-NAGҠPSSB SBDNƠ-NPUԠAUSDBYUB-U. DANGƠGNA̠HA.NDؠ PAHؠUNԠNDؠHNAUB-U MP.ASNPUԠ-NPUԠNԠD ҠGNŠN-DBŠD. ASɠNPUԠMPD. DBU̠ƠASԠHAAҠNPUԠASN DABUƬɠUPPҠPSNHNMAKŠ ҠBNKHAAҠABANK(SPAũ SSBANDSŠASԠDN SABUƬjBU. MPA SAԠDBHàSAUSSN DAAɠSԠAD3ԠNYBHA. ŬSAUN.ƠHA.NGHUS- MP+3DSBSKPNVSN. SBBSƠDDN.HAS.NPUԬADD NBϠDUN. AA̠SԠSBƠA0. ADABPUԠHAүDUNԠNAAND SAԱSAAɠSԠԠNYD3. ASԠA-ϠG ADAAADDSSƠDƠH SABUƠԠNY. DABUƬɠGԠDMVŠPVUS ANDMSԠSNGƠSAUSANDϠDS SABUƬɠANDSԠDƠԠNY. AAҠDV-BUSY-AG SADGSAYDVҠAVAAB. PASAVàƠAҠUSԠBNGPSSD MPD.6 DASAVàƠ SASSBNGPSSD MPԠԠϠ.BUҠN. SBSҠSŠGSS- .à0AҠDVŠN-AVŠAG MP.6 ԠDA.6 SA+ADDSSN.BUҠA. SBSҠSŠGSS. .à0AҠDVŠN. ԠSB.BUҠA̠ҠBUNG NPHDSNUPԠUNADDSS. NPHDSԠNYADDSS SҠNP-SŠGSSUN- DASAVؠS ϠŬ SAAV SƠA DASAVAؠAND DBSAVBؠB MPSҬɠAND. UPUԠSN UPDABUƠUPUԠSN SSAHNԠ MPSAԠSAUSSN-UPUԠMP. DBHؠƠHAAҠ(DNGH SSBSSNDؠZϬHNGϠ MP.AN-UPUPUԠSN. DABUƬɠGԠDMBUҠNANNG oyDBU̠NԠHA. SSBSSƠHA.SNUPPҠPAԠƠD AƬAƠAŠϠ. SZHàUNԠHAAҠUPU. .ANDM3SAŠҠHAA. ҠM00ADDV̠B B̬SBAŠUPPүҠMASKҠN SZBUƠHA.ADDϠBUҠADDSS SBU̠ƠUNԠHA.SN. SZHؠNDؠHAAҠNGHUN. MP.3GϠϠUPUԠHA. PAAנƠASԠHA.NASɠDS MP.ԠA׬ԠׯϠUN. .3DB .9B0UPUԠNSUNN-B- .0A0SԠHAAҠNBU PANƸ MPA SBS .Sà0àUPUԠBUҠϠY. MP.6 .U DAN(AUND DBDNƠƠDAA-NAG SADNƠ0G SZBSSUPUԠUN MP. DANƠUNUԠ-SԠAN-D .6DBMNN̠HŠҠASԠHA. SBBUƠSԠBUƠNGAVŠϠSGNA̠HA MP.ASԠHA.SBNGUPU. .DBH ADBMSUBAԠҠ_NHì MPSA+GϠϠSAUS.(BH. SPà AԠUN AϠDAD-SԠUN SAA MP.-NNU SPà AɠDAD-9SԠUN SAA SPà NԠASNDANU DBPŠSԠN̠D SZAԠDN? MP.9NϬSNDANHҠNU DASAV SANPU? MPSAԠYSSAUS MPUPNϬ-NҠDV NSANԬAGANDSAGŠSN AU0 BU SAVAؠNPSAGŠAA SAVBؠNPҠSAVNG-GSS SAVؠNPAԠNUPԠM. SAVA*($NPHDSԠADDSS SAVBNPHDSUSԠDADDSS SAVàNPHDSUSԠD. AԠNP DGԠ0DVҠBUSYAG.0NԠBUSY MԠMASKS MԠUSD MԠN M3Ԡ3PSSNG M00Ԡ00 M5Ԡ00000 MSԠԠ300 AMԠ300 SSMԠ600NNSUNG MԠ00ɯ MԠ600NSUNS MԠ000 AɠԠ0600 BɠԠ00 DNƠԠ0DAA-NAG U̠Ԡ0UPPүҠHAҠPSNAG. Ҭ0UPP. AԠ0MPAY BUƠԠ0 BUSԠ0SAG NGԠ0 HàԠ0AA HؠԠ0 MDà- M3Dà-3 MNDà- U5Ԡ555 UBϠUM NԠ5 NƠԠ NƸԠNDHBԠS BNKԠ0 AנԠ33 נNP PŠԠ0000 .ADԠ0000 .NHԠ0000 ND $*   24332-80001 1419 S 0122 01DOS 2100 MICRO ASSEMBLER             H0101  ASMBҬB̬Ԭ HDHPDSDS-MMϠASSMBҠVSNA. NAMMϬ30 ԠìN ԠADS.PSY HŠDSMϠASSMBҠASMBSDŠҠHŠ00 MϠPSS.ԠSAPASSDDMA ASSMBҠHAԠAPSSUŠMAGSMNADDN ϠNVNNA̠NPUԠDVSDS.(USҠSPS :ũ.ԠMAؠASϠPNAYAŠAADANDG ŠNHŠBBNAYAAƠHŠDS. SAMNSAҠƠHŠYPS .MMNSNDADBYANASSK""N UMNƠHŠNPUԠAD. .N̠SAMNSNDADBYADA SGN"$"NUMNƠHŠNPUԠAD 3.ASSMBYSAMNԻHHAUSSDŠϠB GNAD.HSSAMNԠHASDS. .AB̠DAD.-5 HSDMAYNANASNGƠ 5APHANUMàSYMBSHŠSԠƠHH MUSԠNԠBŠANASSKҠADAҠSGN .BUSDAD.-9 MUSԠNANAGA̠BUSNNUMN 3.SBUSDAD.- MUSԠNANAGA̠SBUSMNUMN. .UNNDAD.6-9 MUSԠNANAGA̠UNNMNUMN. 5.SŠDAD.- MUSԠNANAGA̠SŠMNUMN. 6.SPA̠DAD.6-9 MUSԠNANAGA̠SPA̠MNUMN. .SKPDAD.3-3 MUSԠNANAGA̠SKPMNUMN. .MAKSAD̠36-56 SPADҠADDNA̠MMNS. HŠSKPANDSPA̠DSMAYDSABD BYUSŠƠANSANԠҠMPADDSS. NԠM MPM SUP PAMBSS5 NţBSS PԠBSS PBSS NSԱBSS NSԲBSS GBSS ̠BSS BUSBSS SBUSBSS NàBSS SҠBSS SPàBSS SKPBSS SԣBSS UNBSS PUSԠ53 MNUSԠ55 .MDà- .ƠԠ06 .DԠ0 .59Dà59 .9Dà9 .Dà .Dà .3Dà3 .56Dà56 .5Dà5 .M5Dà-5 .99Dà99 .Dà ASҠԠ5 BANKԠ0 BUKԠ MSKUB HMSKU5B B00Ԡ00 .ϠԠ .SԠ3 .NԠ6 .ŠԠ05 .̠Ԡ .ؠԠ30 ..Ԡ5 .PԠ0 DҠDà5 .MDà- B0Ԡ0 PHDà HDASà6SYMB̠AB SԠDà6 ŠBSS AADDƠAD PPDà56 BYADBSS UBƠBSS ADBSS0 Ԡ0 AB0DƠUB ABU3DƠUB+3 AB9DƠUB+9 NBSS NBSS PNҠBSS .00BSS .00BSS VAUBSS AGBSS SYMBBSS S.000BSS BNKASà S.00BSS .M0Dà-0 SNԠBSS KNBSS HDABBSS S.00BSS BASŠBSS B00Ԡ00 PNҠBSS .U53B AKBSS UNBSS HSUNŠNSSUŠNPU DDNP DA.M0 SASN DBAAD DABNK SA NB SZSN MP-3 DAD PA.+ ҠB00 SAD DSBADAD DƠ+5SU DƠDҠNPU DƠADMDSà DƠ.M0 MPD3ƠUN SZBSS? MPDYSYAGAN. MBNB SBN DAUNAN SZASSSAVŠSU? MPDDɠNϬ. SBS DƠ+SU DƠAD DƠNDS. ADSàU̠UN. ANDHMSKSԠUN AƬA SAUNҠNԠ. MPDD D3SBMSU DƠ.+ DƠ DƠ.+6 ABԠSB DƠ+5 NDƠ.+ DƠ.+ DƠAND DƠ.+9 SB DƠ+ DƠ.+6 .M0Dà-0 ŠASà6MSSNG$ND ANDASà9ASSMBYABD! HSUNŠSPAGŠNS DV ԠNP DASԠSUPPSS SZASSSNG? MPԬɠYS. ҠB00 SAND SBàN DƠ+ DƠ.+3 DƠND DƠ.- DAPP MANA SANS MPԬɠ. NDBSS B00Ԡ00 HSUNŠGNASADҠNPUNHDV ADҠNP DAPH SZASS MPADҬ ҠB000 SA.00 SB DƠ+3 DƠ.+3 DƠ.00 MPADҬ B000Ԡ000 ҠPNԠUN HSUNŠPNSҠNSSAGSNSԠDV ҠNP SZNM DBSԠSUPPSS SZBSSSNG? DB.+6 SB.00 SSASSPASSɠS? MP̱ PASSɠS MANAYSMAKŠҠPS. ̲DBűPU B̠N SBDM DA.00 BNB SBSPAŠSPAŠNŠN. SBMSUԠUPU DƠ.00 DƠұMSSAG DƠ.+ MPҬɠ. ұASà6 ASà űDƠұ+ PASSɠS ̱SZASSA MP̲0?YSGϠBAK. DBŲ B SBDM DANţ DB3 B NB SBDM DA.00 BNB SBSPA SBMSU DƠ.00 DƠҲ DƠ. MPҬ ҲASàҠؠNNŠؠ NMҠԠ0 B3Ԡ3 3DƠҲ+0 ŲDƠҲ+ HSPUNŠNSMSSAŠUPU ANOGSUN: SBMSU DƠUN DƠBUU DƠBU MSUԠNP DAMSUԬɠPKUϠ.U. DA0ɠSԠNϠAԠB SZA MP+ DAMSU ADA.+3 MP0 SAMUNSAŠN̠D. SZMSUԠPK DAMSUԬɠUP SABADBUUҠADDSS SZMSUԠAND DAMSUԬɠADDSS DA0 SSASS MP+3 AS SS MANA SAMN SZMSU MANA NA SAḆ DBUAD DABAD SA NB SZBAD SZMN MP-5 SB DƠ+5 DƠ.+ DƠMUN DƠBU- DƠḆ SBPAG MPMSUԬ MUNBSS UADDƠBU ASà BUԠBSS0 MNԠBSS ḆBSS BADBSS HSUNŠNVSBNAY ϠDGԠDMA NUMBҠNA BYŠADDSSNB DM̠NP SBD.000SAVŠADDSS BDVD DV.000BY000 ADAB60A000HDG.MAKŠAS SBD.00SAVŠMAND DBD.000PKUPADDSS SBSBSŠ000HDG. SBD.000SAVŠNԠADDSS BDVD DAD.00MAND DV.00BY00. ADAB60AHUNDDDG.MAKŠAS SBD.00SAVŠMAND DBD.000PKUPADDSS SBSBSŠHUNDDSDG SBD.000SAVŠNԠADDSS BDVD DAD.00BY DV.00. ADAB60ANSDG.MAKŠAS SBD.00SAVŠ'SDG DBD.000PKUPADDSS SBSBSŠNSDG DAD.00PKUP'SDG ADAB60MAKŠAS S}BSBSŠ MPDM̬ɠUN D.000BSS D.00BSS .000Dà000 .00Dà00 .0U.+0 HSUNŠSPASNNSNSPD DV. ANGSUN: DA.U. DBN SBSPA SPAŠNP MBNBS SBSNԠUN SADVàSAVŠ.U. SP0SBàUPU DƠ+5 DƠ.+ DƠDVàBANK DƠBNK DƠ.+N. SBPAG SZSNԠNSHD? MPSP0NϬGϠBAK MPSPAŬɠYS DVàBSS PAGҠNP SZNS MPPAGҬ SB MPPAGҬ NSBSS ASɠϠBNAYNVSNUN. ANGSUN: DAYPŠ0A̠0DMA DBBYŠADDSS SBNV NUNSUԠNAG. VנSԠN NVԠNP SBMPñSAVŠBYŠADDSS DB.+PUԠA̠BASŠNB. SZAAMԠDMA? DB.+0YSPUԠDMA̠BASŠNB. SBMPòSAVŠBSS AAҠMPAY SAMP3 SAG NDBMPñAD SBADBBY. ADA.MVAUŠƠBY SSA<60? MPNYS SAMPôNϬSAVŠBY. DAMPòS MANABU ADAMPôNNGA SSASSDG? MPNYS DAMP3MPUŠN MPYMPòMPAYSU. SZBV? MPNYS ϠNϬAҠ-B. ADAMPôADDNNנDG SàV? MPNVԬɠYSUN SAMP3SAVŠNMDAŠSU SZGSԠGDDGԠAG. SZMPñBUMPBYŠ=NADDSS. MPN NDAGGA̠DGԠUND DBMPñPUԠBYŠADDSSNB SZASSDDŠGԠANYHNG? SϠNϬSԠҠNDN DAMP3PUԠSԠNA-G MPNVԬ NSϠV MPNVԬ MPñBSS MPòBSS MP3BSS MPôBSS .MDà- GԠ0 HSUNŠADSBYŠHSŠADDSS SSPDNB-G.ADDSSUNHANGD. UNS0BYŠNA-G. ADBNP SB.000SAVŠBYŠADDSS ŬBSԠŠϠNDAŠHɠҠϠBY DAɠPKUPD DBHMSKPUԠHMASKNB SZANԠHɠBY? BƬBƠNϠMAKŠMASK ANDSAŠBY SZSSSBYŠH? AƬAƠYSSHԠ DB.000SԠB MPADBɠ. HSUNŠSSנBYŠƠAN ANNB.ADDSSNMNDN. SBNP SB.000SAVŠB-G ŬBŠNDAŠHɠҠ SB.00SAVŠDADDSS ANDMSKSAV SA.00SUŠBY. DAɠPKUPD. DBHMSKPUԠHɠMASKNB-G. SZSSDSԠSϠBY? BƬBƠNϠSAVŠPPS ANDBY. SZSSSHԠUN AƬAƠBYŠHGHƠNSSAY Ҡ.00ҠNSUŠBY SZSS-ADUS AƬAƠDƠNSSAY SA.00ɠS DB.000BUMP NBBYŠADDSS MPSBɠ. .000BSS .00BSS .00BSS HSUNŠADSSUŠMDSàҠHҠDV SAVSSUŠMAGŠƠNSSAYSSHŠNDƠDAA MAKҠNSNG HSUNŠADDSSYMB̠PNDϠBYB-G ϠABŠHVAUŠNA-G UNŠHKSҠDUPAŠNS\UPUS APPPAŠS. -GSԠNNYMPSNA̠SYMB SYMB̠ABŠMA: BYűBYŲ BY3BYŴ BY5BANK VAUŠ AG SYMADNP SAVAUɠSAVŠVAU. AS SZNA NAAG SAAGɠNDAD. SZHS' MPSY0S BSAB DAɠHUS SASYMBɠ NBAN SZSYMB DAɠMY SASYMBɠPK NBUP SZSYMB DAɠNԠ6 ANDHMSK ҠBANK SASYMBɠHAAS. DBSYMB ADB.- SBSYMB SYDASYMB SBSHUNԠSYMB SSAƠUND MPSY3HN DA.-ҠDUPAŠABS. SB DASYMB SA+3 SBMSU DƠS NP DƠ.+3 DAS BNB SBSPA MPSYMADɠ.S SY3DAAGBUMP NAND SASYMBƠAB ADA.+3PNS SAVAUSYMBVAU NA SAAGAG MANA ADA00B SSASS MPSYMADɠ. SBMSU DƠ.+ DƠSV DƠ.+ MPAB SY0SBS.000SAVŠBYŠADDSSNMP. DA.-5S SASNԠU DBSYMBBANK DABNKU SAɠSPA NB SAɠNA NBSYMB. SA DBS.000GԠS SBADBBY NBBUMP SBS.000SAVŠADDSS. DBSYMBS B̠AAY SYSBSBHAA. SBS.00SAVŠNԠADDSS DBS.000HK SZS.000N SBADBHAA PABANKBANK? MPSYYSGϠSAH. DBS.00N SZSNԠBUMPHAAҠUN MPSY DA.-MŠHAN5 SBҠ SBMSU DƠS DƠAD DƠN MPSYMADɠ. SV̠ASàMMYV! HSUNŠSAHSSYMB̠AB ҠSYMB̠HSŠSԠHAASAŠND PNDϠBYA-G. UNSDPNҠϠ5DNYNA-G. A-G<0SYMB̠NԠPSN SHNP SAKNSAVŠADDSS DBHDABPKUPHADABŠADDSS S0PBSYMBNDƠAB? SS MP+3 AYSNԠUND MPSHɠ DAɠNϬMPA PAKNɠSԠHA.SAM? MP+3YS ADB.+5NϠPN MPS0ϠNԠNYGϠBAK. DAKNMPA NAN SAS.00 NBHAAS. DA PAS.00ɠSAM? MP+3 ADB.+NϠPNԠϠN MPS0NYYAGAN SZS.00YS NBHKAS DAɠ. PAS.00ɠSAM? MP+3 ADB.+3NϠPNԠϠN MPS0NYYAGAN. DAYSSUSS ADA.-SԠAϠHADƠNY MPSHɠ. HSUNŠSKPSϠSYMB̠NA-G SANGAԠBYŠADDSSSPDNB-G. ƠNDƠADSAHDBŠSYMB̠UND VנSS. SKPϠNP SAHAҠSAVŠSԠHA SK0SBADBADHAҠMSNG  PAHAҠ? SSYS MP+3 ϠAҠV MPSKPϬɠ SZANDƠSNG? MP+3 SϠYSSԠV MPSKPϬɠ NBSŠBUMPADDSS MPSK0+YAGAN. HAҠBSS3 AHAҠDƠHA HSUNŠSKPSVҠA̠NSUVŠSYMBS KŠHAԠNA-G. SAMŠAGSASABV. SKPNP SAHAҠSAVŠSԠHA SKP0SBADBADHAҠMSNG SZA0? MP+3 SϠYSSԠNDƠNŠAG. MPSKPɠ PAHAҠHA? SS MPSKPɠNϠ NBYSHK MPSKP0NԠN. SPSBSS M.3Dà-3 MMAԠ5 HSUNŠNVSA̠ 6DGԠAS. B-GHASBYŠADDSSƠHŠ S. A-GHASNUMB. ASɠNP SAA.000SAVŠNUMB ŬASGN DAB60 SZS NAYS SBSBPUԠNԠBY. DAA.000MASK AƠ AND.+NԠ3BS ADAB60MAKŠAS. SBSBS. DAA.000MASK AƬAƠ AҠN AND.+BYS ADAB60N SBSBSUSSN DAA.000AND AƬAƠS A̬A̠AS AND.+AD ADAB60N SBSBBUU DAA.000NDAD AҬA A AND.+ ADAB60 SBSB DAA.000 AND.+ ADAB60 SBSB MPASɬɠUN A.000BSS B60Ԡ60 SAԠKMAN MϠNP DAɠSS PA.9999? MPDYSUSŠDAUS. SZANϬ<:6DAUԠNPU? SADҠNϠSԠVAU. NB DAɠSND PA.9999? MPDYS SZANϬDAUԠS? SAS NBPNԠϠN. DAɠS3D PA.9999? MPDYS SZANϬDAUԠPUNH? SAPH NB DA PA.9999? MPD SZA SAPP DDAB NA SASYMB SAHDAB ADA.+3 SAVAU NA SAAG SB SBMSU DƠS DƠHD DƠ.+6 DAS DB.+ SBSPA SBNNϬNZŠSUŠ AYSNPUԠDSàҠANԠSAVŠSU SAAKS ANDHMSKDS AƬA SAUN.U. SAUN DAAK ANDMSKAK V<  24332-80002 1419 S 0122 02DOS 2100 MICRO ASSEMBLER             H0101  SAAK A SASPS SAPN MA SABAS DAD PA.+ SS MPNPU DAB SZA MPNPU SB DƠ+5 DƠ.+ DƠ.+ DƠNSU DƠ.+5 SB DƠ+ DƠ.+6 NSUҠASà5NϠSU NPUԠSBDDADAD DBAADAMN B̠S SBBYADBY SBADB PAASҠ? MPNPUԠYSGN. PABUK$? MPN̠N̠SA. PABANKAB̠PSN? MP+ DAPNҠYSADD SBSYMADSYMB̠AB SZPNҠBUMPPN DA.M DBPN PBB0 SB DABASŠBAS SSASSNAZD? MPNPUԠYSGϠBAK DAB00NϠSԠ SABASŠ00A MPNPUԠGϠPSSNԠAD. N̠ADPSS N̠NBHKN SBADBBY. PA.Ϡ? MP̱YSGNAD PA.SS? MP̲YSSUPPSSANNGMSSAGS PA.NN? MP3YSUDBŠNSԠҠNPUNH. PA.Š? MP̴YSNA̠ҠND PA.D"D? MP5YSDBUG(GNDBɠDSMDũ PA.Ơ" MP6YS .BAD.DA.-BAD SBҠN̠SAMN SBMSU DƠS DƠAD DƠN MPNPUԠADNԠAD. GNADPSS GNP ̱DA..SKP SBSKPϠUA̠SGN. SàNDƠN? AY3MP.BAD.YS. NB DABANKSKPV SBSKPBANKS SàNDƠN? AY'MP.BAD.YS. ANVҠ SBNVԠA SàANYS? AY5MP.BAD.YS. DB0N ANDMSKSPAA SA.00 DA ANDHMSKUPP SA.00 DBBASŠHASBAS SSBSSBNNAZD? MP+ MANANϠSSPD ADAB00 SSAGAҠHANMA? AY6MP.BAD.YS. DA.00S SABASŠBAS. DA.00 PABAS SS AYMP.BAD. DA.00SN MAPN ADAPNҠVAUŠSS SSASSHANUN. AYMP.BAD.YS DA.00S SAPNҠPN AYMPNPU MPG SUPPSSADPSS ̲A SASPS MPNPU NSԠҠNPUNH 3NBHK NB3DBY SBADB B PA.̠? MP+6 PA.PP? SS MP.BAD.NϠ SBPHSUPPSSPUNHNG MPNPU SBSԠS̠HUSNS. MPNPUԠ. SԠDBUGAG 5ANA SADBUG MPNPU GԠBNAYUPUԠ 6DA..SKP SBSKPϠUA̠SGN. SàNDƠN? MP.BAD.YS NBN DABANKSKP SBSKPBANKS. S MP.BAD. SBADBANS SA SB.00 DB.-5 SBN DBANAMŠNAM B 6SBSB SZN SS MPNPU SB.00MPAY DB.00 NBBUU SBADB SB.00ҠUS DB.00 SZ{ABY MP6 MPNPUԠPASS. NDҠNA ̴NBHKN SBADBBY. PA.ؠ? SS MPҴ DA..YSNASSKP SBSKPϠSGN. SàNDƠAD? MP.BAD.YS ҴNBN DABANKSKP SBSKPBANKS. SàNDƠAD? MP.BAD.YS. SB.00NϠSAVŠADDSSƠSYMB DABANKSKP SBSKPϠNDƠSYMB. SàNDƠAD? MP.BAD.YS DABANKNϠSKPASS SBSKPBANKS. SàNDƠAD? MP.BAD.YS. ANV SBNVԠA̠VAU. SàNDƠAD.Ҡ. MP.BAD.YS. SB.00SAVŠUNԠPSN DB.00PKUPSYMB̠ADDSS ŠSԠ-GϠNDAŠ SBSYMADADDϠSYMB̠AB DB.00PKUPUNԠADDSS DAMMASKP SBSKPϠϠMA SàNDƠAD? MPNPUԠ MPҴGϠBAK. ҴPA.N"N SS MP.BAD.NϬBADN̠SA DAUNYSND SZANGSUŠHN SBƠŠNDƠ. DASԠSUPPSS SZASSSNG? MPPASSYSGϠϠPASS. DAHDABG SAPNҠSAԠƠAB PASYMBND? MPPASS-YSGϠϠPASS DAS DB.+ SBSPA PұDAPNҬɠG SAADADY SZPNҠ DAPNҬɠPN SAAD+N SZPNҠSYMB DAPNҬɠAND SAAD+VAU. SZPN DAPNҬ SZPN DBPNҬ SZBSS ADABAS DBAAD B ADB.+6 SBAS DAPNҬ SZASS MP+3 DA. SS DABANK SBSB SBMSUԠPN DƠSԠNY DƠAD DƠM.3 SZPNҠPN DAPNҠ PASYMBNԠNY.ND? SS MPPұNϬGϠDϠN. SBԠYSԠҠPASS. SKP PASS PASSAS SAAY DAAY+UP SAAY3 SAAYGN SAAY5 SAAY6PSSUN SAAY SAAYҠNDPASS DA SZASS MPP SBàS DƠ+ DƠ. DƠNAM DƠSԠN DAS SZADS? MP+6 SBMSUԠNϬMSSNG DƠ.+ DƠMS00ASSMBY DƠ.+ABD MPAB PA SAP SAP SASԣϠ0. SAPN MA SABAS ANA SANţ SBAD DAUNSSUŠNK SZAAAƠDS? MPPYSGϠADҠNDPASS DADҠASNPU PA.+MDS? MPP0YSGϠADŠAGAN. SBàNϬUS DƠ+5MUSԠAD DƠ.+SU DƠ.+ DƠADNNU DƠ.+ SBàPAUS DƠ+ϠAנUSҠ DƠ.+ADSU DAAYؠNPU SANPԲ+UNŠϠADADS. A SANPԲ+ MPPGϠADNPU. ADASàADADS NPԲNP SBDSK DƠAD MPNPԲ AYSBDD P0DABSԠ YSAAK ANDMSKAK SASԣ DAAKAND AƬA ANDMSKS SAAKNUMB. SA DA.+ SAUN PAA SAGUMPAG. DA.M0 SASN DBAAD DABNK SA NB SZSN MP-3 SBNPԲADAD DBAADHK B̠S SBADBBY. PAASҠ? MPPAYSGNŠBUԠPN PABUK$? SS MPPBNϬGDD. NBYS SBADB PA.ϠGN? SS MPPABNϬHKҠND SBGGNAD MPPA PABPA.ŠBYŠS? SS MPPANϬNԠNDGNŠ NBYS SBADBBYŠSN? PA.N MPND PADANS SSASSADN MANAMA SBSҠ? SZNţ MPPGϠBAK. PBDABASŠSBAS SSASSNAZD? MPPàYSPD. DAB00NϬSŠϠ00A. SABAS PàDBAADND ADB.+3 B̠BUS ANA SB$SHPD. SABUSSAV. DBAADND ADB.+5 B̠SBUS DA.+ SB$SHPD. SASBUSSAV. DBAADND ADB.+ B̠UNN NB DA.+3PD. SB$SH SANàSAV. DBAADND ADB.+0 B̠S DA.+ SB$SHPD SASҠSAV: DANàAS ADA.M5H SSAA MPPMP ADA.-6N SSASSUNNhD? MPPN UMPNUNND SAGYSSԠUMPAG. DBAADPK ADB.A B̠S NBBY. SBADB PAASҠ""? MPP5YSSƠ.UMP. ADA.MUDB SSADG? MPPNϬAB. ADA.- SSASS MPP AYSSDG SBNVԠNVԠϠBNAY SS? MP+ P3DA.+9YSBAD SBҠUMPAG. A SASKP MPP30GϠNSHUP. SBADBN PABANKHAҠBANK? SS MPPNϬAB̠AҠA? SASKPSAVŠAG MPP30GϠNSHUP. AGԠSAB PDBAADS ADB.ADDSS B̠ϠSA NBƠD. SBADBMV AƬAƠ' SAHA NBN SBADB ҠHA SAHAҠ6 NB SBADBHAAS AƬA SAHA+ NB SBADB ҠHA+ SAHA+MPAY NB SBADB AƬAƠSAG SAHA+ NB SBADB ҠHA+ SAHA+SAH. DAAHAҠSAH SBSHSYMB̠AB? SSAUND. MPP3NϬ ADA.+3PK SA NBUP DA0ɠVAUŠAND DBɠAG SZBSSƠA̠HN ADABASŠADDϠBASŠVAU. SASKPANDSAV. MPP30GϠNSHUP. SƠAVŠAG P5NBHKN SBADBBY PAPUS"+"? MPP PAMNUS"-"? MxPP6 PABANKBANK? SS MPP3NϬ DAPNҠUSŠPN ADABAS SASKP MPP30GϠN P6NBNV ANADMA SBNVԠNSAN Sà? MPP3 MANANϬNGA ADAPNҠADDϠPN ADABAS SASKPSAV MPP30GϠNSH PNBNV ANADMA SBNVԠNSAN Sà? MPP3 ADAPNҠNϠADDϠPN ADABAS SASKPSAV MPP30GϠNSH PDASBUSS PAB5H MP+NSANԠGH PAB SSNSANԠԠNSBUS MPP9 NSANԠSSBUS DBAADS ADB.ADDSS B̠N NBB. ANV SBNVԠNSAN SS? MP+ DA.3YS SBҠPNԠ A SASKP MPP30GϠNSH NϠMPҠNSAN P9DBAAD ADB.S B̠ADDSS NBNB. DA.+5NDSPA SB$SHPD SASPàSAV. DBAAD ADB.5ND B̠SKP DA.+6PD SB$SH SASKP NSUNMANMPD. P30DAPNҠPU AƬAƠPN SANSԱNNSUN DABUSPKUPABUSPD SSASSGA? MP+3 DA.+3NϬGA SBҠBUSPD. PA.+6YS? SS MP+3 DA.YS SBANANUS. DABUS AND.+SH AƬA̠EBUSϠPSN ҠNSԱҠN SANSԱNS. DASBUSSBUSPD SSASSGA? MP+3 DA.+N SBҠ ANDBYS A̠PSN ҠNSԱҠN SANSԱNS DAGSH SZASSAUMP? MPP3 DASKPYS MANAAG ADA.5 SSASS5? MPP3 DANàYS PABUMP? SS MP+ DAB3YS SANàSԠԠD MPP3 SZNàSŠSԠBԠ0Ϡ P3DANàUNNPD SSASSGA? MP+3 DA.+5N SBҠ DAN ANDB0HKMSB SZA0? SZNSԱNϠSԠNNSԱ. DANàNϠG ANDBҠBS AƬAƠSH AƠϠPSN. SANSԲS. DANàUNNPD PA.+6D? MPP33YSGϠHKBUS SZANϬ? MP+ DA.AN SBANUS. MPP35GϠNSH PA.+? MPP3 DAGAMPSBҠMP? SZASS MPP35 DASBUSYSNPN PABSBUS? MPP3 DA.N DBSBUSPN PBB6SBUS? DA.HNANNGS SBANANNG. MPP35GϠNSH P3DASBUS.SNP PABNSBUS? MPP35 DA.NϠAN SBANUS MPP35 P33DABUSD.NPN PA.+BUS? SS MPP35 DA.3YS SBANANUS. MPP35 P3=DASKPNPNSBUSHUMP MANAAG ADA.55N SSASSMDUŠ0? MPP36 ADA.56N SSASSMDUŠ? MPP35 ADA.56NϬ SSAMDUŠ3? MPP35 P36DA.-3YSS ANDNSԱSBUS SANSԱBԠϠ0(BԠ P35DASҠHK SSASSSŠD.GA? MP+3 DA.+6N SBҠ DAS ANDBPSN AƬAƠBS ҠNSԲPUԠN SANSԲNSUN. DASҠS ADA.-N SSA MPP3H ADA.-SAHPADS SSASSNS? MPP3 DASBUSS ADA.- SSAN MPP3 ADA.-N SSASSSBUS? MPP3 DASҠ'YS ADA.+AŠHNH PASBUSSAM SS MPP3YS DA.5 SB P3DAGASHŠA SZASSUMPSBҠUMP? MPP3 DASKPYS ANDMSK ҠNSԲN SANSԲADDSS. MPP6GϠNSH P3DASBUSAS PABHŠ̠ҠҠNSBUS? MPP3+3YSGϠPUԠN PAB5 MPP3+3 DASPàHKSPA. SSASSGA? MP+3 DA.+N. SBҠ ANDBPSN AƠBS ҠNSԲPUԠN SANSԲNSUND. DASP PA.+P? SS MP+ DAB0YS SBANANUS MPP0GϠϠNԠD. DBSҠMN PB.+S? SS MPP0 PAB6YSנ~<:6NSP? MPP0 PABNϠנNSP? MPP0 DA.NϬAN SBANUS P0DASKPHKSKP SSASSGA? MP+3 DA.+N SBҠ. ANDBPU ҠNSԲN SANSԲNS. DASKP DBP SZBSSPNPVUSNS. MPP PABYSNPH MPP DA.NϠANUS. SBAN PDBSPàN PBBנNSPA? SS MPP3 PABYSHKҠSKPNDN. MPұ0NP- PA.+0 MPұ0- PA.+ MPұ0P- PAB5 SS MPP3 ұ0DA.+0YS SB P3DAPԠPԠNPVUSNS. SZASS MPP5 DASKPYS SZA PA.+H MPP PA.+A MPP3ANN PABSKP MPP PAB5YPŠH? MPPYSҠ9. PA.+NϠNG SS PA.+3DD? SS MPP6 DANàYS ADA.-ADD SSAYP MPP6NSUN ADA.-5N SSASSUNN? MPP6 P3ADA.0YS SBҠ MPP6 r<  24332-80003 1419 S 0122 03DOS 2100 MICRO ASSEMBLER             H0101  PDA.9 SB P5BP DASKP PAB5PSN? NBYS SBPSԠPAG BP PA.+ NBPSN? SBPԠSԠPԠAG MP+ P6BPҠP SBPNԠPSN SBPԠAҠAGS DANS SSA MANA SBSҠN SBMDŠUPUԠD SZPNҠBUMPPGAMN SZNţ MPPGϠADNԠAD NDSBMPBƠMPYPUNHBUU. DAN SSASS MANA SBS DANM SZASS MPND DBDʱ B NB SBDM NDDAS SZASS DA.+6 SAS SB DƠ+5 DƠ.+ DƠS DƠD DƠ.+ SBAD DA SZA SB SB SBàPN DƠ+5 DƠ.+ND DƠ.+ DƠNDMSMSSAG DƠ.+5 SBàU. DƠ+ DƠ.+6 NDMSASà9$NDMϠASMB. DʠASàNϠS DʱDƠD+ HSUNŠPNSANNGMSSAGS ANNP DBSPSSUPPSS? SZB MPANɠYSUN. SZNMҠBUMPƠS. DBAN B SBDM DBAN3 B DANţ SBDM DAS BNB SBSPA SBMSU DƠS DƠAN DƠ.5 MPAN ANASà5ANNGؠNNŠؠ ANDƠAN+5 AN3DƠAN+ HSUNŠNSHŠSNG SUŠPGAM NNYA<0SԠMAԠ NŠN.-AD A0SԠMAԠ ,NŠN.-D-AD ABSUŠAHAASNAD SҠNP DBSԠSUPPSS SZBSSSNG? MPSҬɠYSUN SSASSN.MAԠ? MPSұ SԠMAԠ ADA.-YSADUS SANUNԠϠNUDŠNŠN. DBAB9NV B̠N DANţ SBDM̠ϠDMA SBMSUԠUPU DƠSԠN DƠUB+9 DƠN MPSҬɠUN SԠMAԠ SұADA.ADUSԠNŠUN MANAϠNKUD SANHҠSU. DBABU3NV B̠UPP NB DANSԱBS ANDMSKƠNSUN SBASɠϠAS DABANKPUԠN SBSBANDSAVŠPSN. SB.000 DBAB0NV B NBADDSS NB NBƠNSN DANSԱ ANDHMSK AƬAƠ ADABAS SBASɠAS DABANK SBSB DANţPU DBAB0 B̠N SBDM DABANKNţ. SBSB DB.000NV DANSԲҠ6BS SBASɠϠAS DABANKPU SBSBN DABANK SBSBBANKS. SBMSUԠPN DƠS DƠUB DƠNN MPSҬɠ. NBSS .000BSS HSUNŠSAHSHŠPDŠABŠNDADBYA-G ҠPDŠPNDϠBYB-G. NNYA356HHNSSPVY BUSSBUS. BBYŠPNҠϠPDŠSNG NԠAVAUŠƠPD A<0NԠUND. ABŠKSK  BYűBYŲ BY3BYŴ VAUŠ . . $SHNP SBS.000SAVŠBYŠADDSS DBHSKPPUԠSKPABŠHADN'B PA.+BUS? DBHBUSYSPUԠABŠHADNB. PA.+SBUS? DBHSBUSYSPUԠSBUSABŠHADNB. PA.+3UNN? DBHNàYSPUԠNàABŠHADNB. PA.+S? DBHSҠYSPUԠSҠABŠHADNB. PA.+5SPA? DBHSPàYSPUԠSPàHADNB. SBPNҠSAVŠABŠHAD. DBS.000PU SBADB AƬAƠPD SAKN NBSNG SBADB ҠKN SAKNN NB SBADBKN AƬAƠ+ SAKN+ NBKN+. SBADB ҠKN+ SAKN+ DBPNҠDϠS DAɠ PAKNBYSMPAS? MPSH ADB.+3NϠPNԠ SH0DAɠNԠNY. SZANDƠAB? MP-5NϠGϠBAK AYSSԠ MP$SHɠ SHNBDϠND DAɠ PAKN+BYSMPA MP+3 ADB.+NϠPNԠ MPSH0NԠ+GϠBAK NBYS DAɠPKUPVAUŠ+ MP$SHɠ DŠMҠҠMϠASSMB NSUNNNSԱ MDŠNP DAPNBUƠPUNHBUU PA.59U? SBMPBƠYSMPY DAASPSHS NAN PAPNҠSUNA̠NS? $vSS SBMPBƠNϬMPYPUNHBUU. DAKSUMKP ADANSԱUNNNG ADANSԲHK- SAKSUMSUM. DBNSԲPU DANSԱNS SAPNADҬɠN SZPNADҠPUNH SBPNADҬɠBUU. SZPNADҠPNԠϠNԠPSN. DAPNҠSAVŠUN SAASPPNҠҠNԠM. SZPNBUƠNMNԠDN. SZPNBU MPMDŬɠ HSUNŠMPSUNԠNNS ƠPUNHBUUҠANDSSUPHADҠҠN. MPBƠNP DAPNBU SANSAVŠDUN. PA.+5ANYDAANBUU? MPPB0NϬGϠSԠHAD AƬA SAPNBUƠSԠHGHUN. AS SAPNADҬ SZPNADҠHKSUM DAKSUM SAPNADҬɠNBUU. DA SZASSADGϠPAAM?(99 MP+9 SBԠ DƠ+ DƠPNBUƠ DƠN SSDSà. MP+3 AƠƠHN SA DAPHSUPPSS SZASSPUNHNG? MPPB0 ҠB00N SAPUNPUNH SB DƠ+5BNAY DƠ.+ DƠPUNAP. DƠPNBU DƠN PB0DA.+5SԠUP SAPNBUƠHAD DAPNҠ ADABAS SAPNBU+N SAKSUM DADBUG SAPNBU+ ADAKSUM SAKSUM DAPBASŠPN ADA.+3 SAPNADҠBUUҠPSN MPMPBƬɠ PNBUƠԠ5 Ԡ00 BSS5 PBASŠDƠPNBU PNADҠDƠPNBU+3 ASPNP KSUMNP PUNBSS HSUNŠSBNAYDAA SNGBNAY. ANGSUN: SB DƠ+ DƠBUU DƠBU ƠUN NMA̠UN. ԠNP DAԬɠGԠNMA SAԠUN. SZԠG DAԬɠBUU SABADADDSS SZԠG DAԬɠD DA0ɠUN MANAMAK SANԠNG. SZԠSԠƠUN. DASԠSԠM? SZAM? MP0 SZSԠYS. ASԠSANG SASҠSҠ. SB.PSYG DB.6 SZADS DB. SBDSPҠS. DABBUASԠADDSS SABBADƠSҠBUU. ADADSMPU SASNDND. 0DBBBADANS ױDABADɠN SAɠD. SZBADBUMPSUŠBUUҠADDSS NBBUMPAGԠBUUҠADDSS PBSNDAGԠU? MPײ 3SZNԠNϬSUŠMPY? MPױNϠGϠBAK. SBBBADYSSAVŠAGԠADDSS MPԬɠAND. ײSBàAGԠBUU DƠ+SU DƠ.5 DƠB0 DƠBBUƠS DƠDS DƠNAM DƠSҠDSà. SZSҠBUMPSҠ. DAS PASԠND? MP+3 DBBBUANϠSԠAGԠADDSS MP3GϠBAK. SBMSUԠYS DƠ.+NSUN DƠMS0 DƠ.SPA MPԬɠAKŠƠUN. HSSҠŠƠƠ ƠNP DBBBADGԠAGԠADDSS. AZ SAɠS NB PBSNDS. SS MP-5 SBà DƠ+ DƠ.5S DƠB0 DƠBBUƠ DƠDS DƠNAMŠDS DƠS MPƬɠ. ԠBSS NԠBSS SԠNP SҠBSS DSBSS BBUƠBSS BBUADƠBBU BBADBSS SNDBSS MS0ASàNSUNԠŠSPA. B0Ԡ0 MS00ASà0ŠNԠNDS NAMŠASà3 SԠBSS ANAMŠDƠNAM DBUGBSS HSUNŠADSSUŠMDS ҠNDPASS.NA̠AKSҠASSUM ϠBŠNAKANDSԣ.̠SԠPԠSU MŠSŠKAA. ANGSUN: SBDSK DƠBUU DSKNP DADSKɠPKUP SABADAGԠADDSS SZDSKSԠUN DASԠS SZAM? MP0 SZSԠYS DA6BGԠ SASKSSAK SB.PSYS DB.6S SZA DB.SZ SBSZŠBU DB.6ƠADNG DA̠MKAA SZASSUS SBSZŠ6. DAUN ҠB00 SAUNSԠN̠D SBDSԠADS SBSBADSAVŠSҠBUUҠPN ADBSZŠANDND SBSBNDSҠPN 0DBSBADG DAɠD AƬAƠUN MANANGA SANԠANDSAV. NBBUMPSҠPN AS SAN PBSBNDNDƠS? SS MPұNϠGϠANSҠNԠD SZSԣBUMPSҠ DASԣND PASKƠAK? MP6 SBDSԠNϠADNԠS ұDA SABAD NBBUMPSԣ PBSBNDNDƠS? MP3 ҲSZBADBUMPAGԠADDSS SZNԠANSҠMP? MPұNϠGϠBAK SBSBADSAVŠPN MPDSKɠ. 3SZSԣBUMPSԣ DASԣND PASKƠAK? MP+3 SBDSԠNϬADN MPҲSҠANDGϠMPŠANS DB̠YS.ADNG SZBSSM? MP5 ҴSZAKYSBUMPAK ASԠSԣ SASԣϠ0 SBDSԠADNԠS MPҲGϠMPԠANS. 5DABADɠASԠDANSDSN SAAKUNANDAK AƬAƠG ANDMSKBH ҠB00AND SAUNS DAAK ANDMSK SAAK AS SASԣSԣ0. SBDSԠADNԠS MPұGϠANSҠHAԠDAGAN 6DB̠ SZBN MPҴADNGM DANԠHNN MANAHASN SAAKUN ANDMSKAND ҠB00AK. SAUNAM DAAKAND AƬAƠS ANDMSKBH. SAAK AS SASԣS+0 SBDSԠADNԠS MP0+GϠMPUŠNԠANS. SҠADUN DSԠNP SBàAD DƠ+ DƠ.-S DƠUN DƠSBUƠM DƠSZ DƠAKDS DƠSԣ DBSBUASԠSҠBUUҠPN. MPDSԬɠAND SBNDBSS BADBSS SBADBSS SԠNP SBUADƠSBU SKBSS UNBSS SBUƠBSS .6Dà6 .Dà B00Ԡ00 ׯSԠBSS NԠBSS ϠPàϠDMcŠԠAB̠ŠS HBUSDƠ+ ASàNP Ԡ ASà Ԡ6 ASàAAB Ԡ5 ASàAB Ԡ ASà Ԡ3 ASà Ԡ ASàB Ԡ ASàA Ԡ0 ASà Ԡ Ԡ0NDƠBUSAB HSBUSDƠ+ ASàNP BԠ ASàP B6Ԡ6 ASà B5Ԡ5 ASà BԠ ASàS Ԡ3 ASàS BԠ ASàS3 Ԡ ASàS Ԡ0 ASàND Ԡ ASàAD Ԡ6 ASàN Ԡ5 ASàS Ԡ ASàM Ԡ3 ASà Ԡ ASà Ԡ ASà Ԡ0 ASà Ԡ Ԡ0NDƠSBUSAB HNàDƠ+ ASà Ԡ3 ASàSV Ԡ36 ASà Ԡ35 ASàSG Ԡ3 ASàG Ԡ33 ASà Ԡ3 ASàAS Ԡ30 ASàS Ԡ ASàGS Ԡ6 ASàSB Ԡ5 ASàMP BԠ ASàMP .Ԡ ASàSB B0Ԡ0 ASà Ԡ6 ASàN Ԡ5 ASàAND Ԡ ASàADD Ԡ3 ASàADD Ԡ ASàN Ԡ ASàN Ԡ0 ASàD Ԡ6 ASàSUB Ԡ5 ASàDV Ԡ ASàMPY Ԡ3 ASàPA Ԡ ASà Ԡ ASà Ԡ0 ASà Ԡ3 Ԡ0NDƠUNNAB HSҠDƠ+ ASàNP Ԡ ASàA Ԡ6 ASàB Ԡ5 ASàAAB Ԡ ASàAB Т640Ԡ3 ASà Ԡ ASà Ԡ ASàP Ԡ0 ASàS Ԡ ASàS Ԡ6 ASàS3 Ԡ5 ASàS Ԡ ASà Ԡ3 ASà Ԡ ASàM Ԡ ASà Ԡ0 ASà Ԡ Ԡ0NDƠSŠAB. HSPàDƠ+ ASàNP Ԡ ASà Ԡ ASà Ԡ6 ASàG Ԡ5 ASà Ԡ ASàASG Ԡ3 ASàASG Ԡ ASàYN Ԡ ASàYZ Ԡ0 ASàP Ԡ ASàAAB Ԡ6 ASàSG Ԡ5 ASàSG Ԡ ASàN Ԡ3 ASàұ Ԡ ASà̱ Ԡ ASàSS Ԡ0 Ԡ0NDƠSKPAB HSKPDƠ+ ASàNP Ԡ ASà Ԡ ASàUN Ԡ6 ASàP Ԡ5 ASàNAAB Ԡ ASàAAB Ԡ3 ASàNMPV Ԡ ASà Ԡ ASà Ԡ0 ASàBZ Ԡ ASàG Ԡ6 ASàV Ԡ5 ASàU Ԡ ASàNG Ԡ3 ASàDD Ԡ ASàP Ԡ ASà Ԡ0 Ԡ0NDƠSKPAB .UB .3UB5 .UB6 .5UB .0UB .55UB SZŠBSS NDM A6   24333-80001 A S 0122 DOS 2100 WCS I/O UTILITY ROUTINE             H0101   ASMBҬB̬Ԭ NAMSϬ NԠAD Ԡì.N SɯϠUYUNŠ(DS ANGSUN: AD SBADSB DƠ+5DƠ+ DƠUNԠDƠUN DƠBUUҠDƠBUU DƠNGHDƠNGH DƠADS HŠUNԽSGA̠UNԠ BUUҽSԠDƠŠBUU NGHDSϠANS (<0000DS 0SDS(00DS ADS(ADNYADDSƠHŠ SAԠAD ADDƠBUƱPAAMҠBUU BUƱBSSҠAD. ADNP SB.NҠG DƠBUƱPAAMS DA.+S SADŠUSԠD. DAADSԠUN SAԠN. DAADSԠPAAM SAADҠBUUҠADDSNAD MP0GϠPSS. ADDƠBUƲPAAMҠBUU BUƲBSS3Ҡ ԠNP SB.NҠG DƠBUƲŠPAAMS DA.+S SADŠUSԠD DAADPAAMҠBUU. SAADҠADDSNAD. 0DAADҬɠG SAUNԠUN SZAD DAADҬɠG SABUADBUUҠADDSS SZAD DAADҬɠGԠNGH DB0 SSBSS<0? MP+3 MBNBYSMAK BSPS.HAV. DADŠA PA.+ŠADNG? MPױ DAYS ANDM3SAŠUN. DB0 SZADҠG DAADҬɠADSƠHŠ DA0ɠSAԠAD. ANDM3 BƬBƠSHԠNGHHGH. ҠҠNNGH. DB0PU ױSBPAMSNPAMS SBàA &  DƠ+5 DƠDŠà UNԠBSS BUADBSSDϠɯ DƠPAMS MPԬɠ DŠBSS ADҠBSS PAMSBSS .U53B M3UB ND w   24334-80001 1419 S 0122 0112908 WCS MICRO DEBUG EDITOR             H0101  ASMBҬB̬Ԭ HDHPDSDS-MMϠDBUG-DҠVSNA. NAMMDŬ30 Ԡì.PSYSԬMA NԠSA MϠDBUGD HSPGAMAASADNGANDDBUGGNG AUSSMϠPGAM.SPAYԠAS HMϠADҠADSUŠHSMD HBAKPNSHAԠ̠DSPAYHŠMA GSSANDGNASMASKAPSHAԠA USDϠPGAMPMHPS.AHUNN HŠMDŠSMDUAҠAND̠BŠPANDNM DA̠HNAHMDU. SAԠNP DAUNS ANDMSK ҠPN+P-G. SAPN+ DAUN ANDHMSKUN AƬA ҠPN+3 SAPN+3ADDSS. DAGSҠS ADA.+3 DB0 ANDMSKGS ҠADG+ SAADG+ ANDMSK ҠS+DUMP SAS+ SP ANDHMSK AƬA ҠADG+3ADDSS. SAADG+3 ANDMSK ҠS+3 SAS+3 SBMSUԠPN DƠMS00HADNG. DƠ.0 DAMGNAZ SBMVŠADDUMPUN. SBSPAŠSPA SBSPAŠ3 NMDSBSPAŠNS SBMSUԠASK DƠMS0N DƠ.+MMAND SBDYAD DƠNŠSPNS. DƠ.M0 DBANŠG B̠SԠNPU SBBAMD SBADBHAA. PA.̠MMANDS MPADAD PA. MPԠ PA. MPADAD PA.D MPDUMPDUMP PA.S MPSHנSH PA.P MPPPPPA PA.V MPVҠVY PA.B MPBAKBAK PA. MPHANHANG PA. MPàU PA. MPNDND. PA.MMVŠҠMDY? MP+5 SBҠNϬ DƠMS0GA DƠ.+ MPNMDGϠGԠN. NBHKN SBADBBY. PA.ϠMMANDPSSBYMV SS MPMDNϬMMANDSMDY NBYSHK SBADBNԠBY PA.VV? SS MPMDNϬMDY NB SBADB PA.Š MPMVŠYSMV MPMDNϬMDY NDPGAM NDSBMSU DƠMSND DƠ.+ SB DƠ+ DƠ.+6 NŠBSS0 ANŠDƠN .̠Ԡ .נԠ .ҠԠ .DԠ0 .SԠ3 .PԠ0 .VԠ6 .BԠ0 .àԠ03 .ŠԠ05 .MԠ5 .ƠԠ06 .ϠԠ .U53B .Dà .Dà .Dà .0Dà0 .6U6B .60Dà60 .ASҠԠ5 .M0Dà-0 BAMDNP .MDà- .AԠ0 .ѠԠ .M3Dà-3 .Dà B6Ԡ6 B6Ԡ6 B63Ԡ63 B6Ԡ6 BBASŠDƠBUU BANKԠ0 BUUҠBSS5 NԠBSS .3Dà3 .M56Dà-56 .MDà- BADҠBSS HBASŠDƠ+ BSS56 Dà- HNDDƠ- .Dà MDŠBSS SUP MS00ASà0HPMϠDBUGD MS0ASàMMAND? MS0ASàGA̠MMAND MSNDASàNDƠPGAM .M5Dà-5 .M66Dà-66 B360Ԡ360 HSMDUŠADSUSҠMϠPGAMM DSà(BNҠũҠHҠDV. MMANDMA: AD۬UNԠݠDAUԽ5. ADANA SBGPAҠGԠPAAM. DAPAM SZASSNŠUND? MP+3 DAPAM+YSGԠ SS DA.+5NϬUSŠDAU SADҠSAV. PA.+DSàNPU? SS MP3NϬGϠSAԠAD. SBMSUԠYSN DƠMSAŠNAM DƠ.+ SBDYAD DƠNŠSPNS. DƠ.M0 DBANŠG B̠S SBADBBY SBMP00SAVŠB-G. DB.-5 SBN DBBNKBANK SBNAM SBNAM+5HA SBNAM+NAM DBANAMŠGԠBY ŬBADDSSƠNAM ̲SBSBSŠSԠBY SZN SS MP3 SBMP0SAVŠNAMŠAD. DBMP00G NBN SBADBBY. SBMP00SAVŠADS. DBMP0GԠNAMŠADS. SZANDƠN? MP̲NϠGϠBAK SAԠADPSS 3ANAZ SASԠS 3ADADҠAD SBBADS DƠ+3D DƠBUƱ SSƠԠAND MP3B DADҠNԠDSàHN PA.+ SS MP3AYAGANS 9SBҠDSà DƠMS09 DƠ.+9MPY. MPNMD 3BDBHBASŠA DA.M56 SAMP0HAD A SAɠBUU. NB SZMP0NSHD? MP-3NϬGϠBAK. 5ANAZ SAKSUMHKSUM. SAMPY DABUƱ+GԠAV ANDMSKGN SAMP0SAV. ADAHBASŠMPU SAHADҠHADҠADDSS DABUƱ+G ANDHMSKMDU SAMDŠBASŠ. DABUƱ+ SADBUG DABUƱGԠD AƬAƠUNԠ ADA.-5AUA̠D. DBHAD MB ADBHND SSB MP6 SAHADҬɠSԠHAD DB0 BSNDA MBNBGD NBDAA. SZBSSDϠSAM MP5A0ҠN 5BSZHADҠN SAMP00 DAHAD PAHND MP6 DAMP00 SAHADҬɠS.H NBN SZBDN-5. MP5B 5AMANANGAŠAND SAMP0+SAVŠUN-5 DAMP0MPU ASAUA ADABBASŠBUUҠADDSS SABUADANDSAV. DBABUƱG NBADY NB ̴NB DAɠANSҠ SABUADɠŠBUU ADAKSUMKPUNNNG SAKSUMHKSUM SZBUAD SZMP0+NSHD? MP̴NϬGϠBAK DABUƱ+MAK ADABUƱ+NA ADAKSUMADUSMN SAKSUM NBHKSUM NBAND DAɠMPAŠH PAKSUMHAԠNAP MP+5 6SBҠƠN DƠMS06SAMŠHN DƠ.+HKSUM MPNMDUN DADҠS SBBADAD DƠ+3N DƠBUƱDAND SSƠNԠԠHN MP5GϠBAK A SAMPY DAD PA.+ MPNMD SBàSŠԠUS DƠ+UPDV DƠ.+AND MPNMDU. MSAASàNҠNAM BNKASà MP00BSS MP0BSS NAMŠBSS5 ANAMŠDƠNAM BUƱBSS60 DҠBSS HADҠBSS BUADBSS MPYNP MS06ASàHKSUM KSUMBSS ABUƱDƠBUƱ DBUGBSS DUMPMMANDMDU. HSMDUŠASUSҠϠDUMPMDŠ DSàj(SNGũҠNA̠PUNHDV. NHŠASŠƠADUMPϠDSàHŠŠMUS BŠASNGNŠADVAHŠSŬBDV. MMANDMA: DUMP۬UNԠݠDAUԽ. DUMPDAMPY SZASS MP9 A SAS NADMA SBGPAҠPAAMS. DAPAM SZASSMSSNG? MP+3N DAPAM+G SS. DA.+YSUSŠDAU. SAPH PA.+UNԠSDS? SS MPD SBMSUԠYS DƠMSAG DƠ.+ SBDYDS DƠN DƠ.M0 DBANŠNAM B DA.-5 SANԠ SBADB SBMP00 DBBNK SBNAMŠNAM SBNAM+ SBNAM+AND DBANAM ŬBSAV D0SBSB SZNԠ SS MPDA SBMP0 DBMP00US NB SBADB SBMP00 DBMP0 SZA MPD0 DDBHBASŠSAH DA SZA MP+3 NBNNZ0 MP-HAD SSASSNGAV? MP+3 SBBƠYSŠ MPNMDGϠGԠNԠMMAND. SBMP0SAVŠHADҠADDSS SAMP0+3SAVŠVAU BA SBKSUMHKSUM. ADA.+5SԠN SAN AƬAƠSHԠHGH. SABUƱSԠN AƬA MANAMPU NA NAGNA NA SAMP0+ DAHBAS MANA ADAMP0GN. SAMP0+ ҠMD SABUƱ+ ADAKSUMKPUNNNG SAKSUMHKSUM. LmSZMP0+ DADBUGG SABUƱ+NԠD. ADAKSUM SAKSUM SZMP0+BUMPUN DAMP0+PKUP̠ADSƠHAD ASDUB ADABBASŠMPUŠSANG SABUADBUUҠADDS. DBABUƱPK NBUP NBDAA DMNBD DABUADɠAND SAɠMVŠϠUPUԠBUU. ADAKSUMKP SAKSUMHKSUM. SZBUADBUMPADS. SZMP0+NSHD? MPDMNϬGϠBAK NBYS AZ SAɠNԠD DAKSUMS NB SAɠKSUM. DAPHUPU SBBԠD DƠBUƱ DƠN DBMP0+3BGN BSSAH ADBMP0 MPD+NԠHAD.GϠBAK. MP0BSSҬ333 NԠBSS PHBSS HSUNŠUPUSBNAYMDŠ DSàŠҠHҠDV. ANGSUN: DAUNԣ SBB DƠBUU DƠBU BԠNP PA.+ŠϠDS? SS MPB״NϬGϠPUNH DASԠYS SZASԠM? MPB0 SZSԠYSAҠSԠAG. AS SASҠSҠ0. SB.PSYG DB.6 SZADS DB.P SBׯSԠS. SBàS DƠ+ DƠ.ŠN DƠNAM DƠSԠDS? DAS SZASS MPұ3NϬ DASBUAYSS SASBADPNS. ADAׯS SASND B0DABԬɠPK SABADUPAGԠADDSS. ՅSZBԠG DABԬɠBUU DA0ɠNGH. MANASԠNG. SANԠN SZB DBSBAD BױDABADɠANS SAɠNԠD SZBAD NB PBSNDSҠU? MPBײ B3SZNԠNϬANSҠMPD? MPBױNϬGϠDϠN. SBSBADYSSAVŠSҠPN. MPBԬɠ. BײSBàSҠU DƠ+ DƠ.5 DƠB0S DƠSBU DƠׯSԠN DƠNAM DƠSҠ. SZSҠBUMPSҠ DAS PASԠNDƠS MP+3 DBSBUAN MPB3GϠBAK SBҠҠNSUN DƠMS5 DƠ.SPA. MPNMDGϠGԠNԠMMAND. UPUԠϠNA̠DV B״ҠB00S SAUNN̠D. DABԬɠG SABBUƠBUUҠADDSS SZBԠ DABԬ SABBU̠BUUҠNGH. SZB DASԠS SZAM? MP+3 SZSԠYS SBADҠPUNHAD SBàUPU DƠ+5 DƠ.+BUU DƠUN BBUƠBSS BBU̠BSS MPBԬɠUN. HSNYSNDƠ BƠNP DAPH PA.+DVŠDS? MP+3 SBADҠNϬPUNH MPBƬɠA. AYS SASBADɠSԠNԠ0 SBà DƠ+S DƠ.5 DƠB0 DƠSBUƠDS. DƠׯS DƠNAM DƠS MPBƬɠ B0Ԡ0 .5Dà5 MS5ASàNSUNԠŠSPA ADҠNP DAmPH ҠB000 SADV SB DƠ+3 DƠ.+3 DƠDV MPADҬ DVàBSS HSUNŠNVSANAS SNGϠADMA̠ҠA̠NUMB NNYA0A A0DMA BBYŠADDSSƠSNG. NԠB<0 NVԠNP SBMPàSAVŠBYŠADDSS DB.+PUԠA̠BASŠNB. SZAANԠDMA DB.+0YSPUԠDMA̠BASŠNB SBMP+SAVŠBAS AS SAGDAAAG+ SAMP+MPAY. NDBMPàADAS SBADBDG ADA.MNVԠϠ. SSA MPN SAMP+3 DAMP+ MANA ADAMP+3 SSASS MPN DAMP+YSMPU MPYMP+NԠSU SZBV? MPNYS ADAMP+3ADDNUNԠDG. S MPNVԬɠ SAMP+SAVŠMPSU SZGSԠGDDAAAG. SZMPàBUMPADDSS MPNGϠBAK. NDAGNNDGԠUND.ANYGD DBMPàDAA? SZASS SϠNϠSԠV DAMP+PKUPSU MPNVԬɠ NSϠV MPNVԬɠ MPàBSS .MDà- GBSS HSUNŠADSBNAY NPUԠMDSàŠҠH DV ANGSUN: DA<.U.ƠDV..U.MANS DVŠSDS..U.MANSHҠDV. SBBAD DƠ+3 DƠBUU ԠUN NMA̠UN ҠNDNS ŠNԠNDSK-MMANDABD NDƠŠ-MMAND3[ABD BADNP DBBAD SB SZBAD ADMŠҠHҠDV PA.+DVŠDS? MPBҷYSŠNPU. HҠDVŠNPU ҠB300NϬ SAUNSԠN̠D. DABADɠS SABADDBUUҠADDSS. SZBADSԠԠUN. SBàAD DƠ+5 DƠ.+ DƠUN BADDNPD DƠ.60 SZBSS? MPBADɠYS MPԬɠNϬ ŠNPU BҷҠB00SԠN SAUND. DABADɠS SABADAGԠADDSS SZBADSԠԠUN. DASԠSԠM? SZA MPBҸ SZS AYSSԠSҠϠ0 SASҠG SB.PSY DB.6 SZADS DB.S. SBׯS SBàS DƠ+ DƠ. DƠNAM DƠSԠN DAS SZADS? MPB9YS ұ3SBҠN DƠMS3N DƠ.+. MPNMD B9SBàYSAD DƠ+ DƠ.S DƠUN DƠSBUƠM DƠׯS DƠNAM DƠSҠ. DASBUASԠSAԠAND SASBADND ADAׯSԠPNS. SASND BҸDASBADND PASNDƠS. SS MPBұ0 SZSҠYSBUMPSҠ. DAS PASҠASԠSҠƠ? SS MPB9NϬGϠADNԠS Bұ3SBҠYS: DƠMSND DƠ.+Ơ MPNMDGϠGԠNԠMMAND. Bұ0DASBADɠANS SABADɠDNH<:6 AƬA MANA SANԠMAKŠNGAV SZASSD? MPBADɠYS BұSZBADBUMP SZSBADPNS. SZNԠNDƠD? SS MPԬɠYS. DASBADNϬND PASNDƠS? MPBұ DASBADɠNϬANS SABADɠNԠD MPBұGϠGԠN. BұSZSҠYSNDƠS DASԠASHA PASҠASԠSҠƠ? MPBұ3YS SBàN DƠ+AD DƠ. DƠUNN DƠSBU DƠׯSԠS DƠNAM DƠS DASBUAS SASBADPNҠϠSUŠBUU i< ! 24334-80002 1419 S 0122 0212908 WCS MICRO DEBUG EDITOR             H0101  MPBұ-3GϠMPŠANS. ԠBSS UNBSS B00Ԡ00 MS09ASà9NϠPGAMADD MS3ASàŠNԠNDS MSASàND SԠBSS SҠBSS .Dà ׯSԠBSS SBUƠBSS SBUADƠSBU SBADBSS SNDBSS BADBSS NԠBSS B300Ԡ300 SԠNP DYADSMSYSMYAND ASҠSPNS.ԠASϠPUS ANNDƠDAAAGAԠNDƠNPUԠSNG. ANGSUN: SBDY DƠBUU DàBU DYNP DADYɠPKUP SADBUƠBUUҠADSS SZDYPK DADYɠUPUN SADNԠADDSS SZDYSԠUN. SBàAD DƠ+5 DƠ.+N DƠND3M DBUƠNP DNԠNPY. SBMP00 DADBUƠMPU A̠BYŠADDSSƠBUU. SP(GNB ADB0ADBA ASԠD SBSBAG A SBSB DBMP00 MPDYɠ. ND3Ԡ0 PAAMҠHUN ANGSUN: DAYPAG(0A̠NVSN 0DMA̠ SBGPA UNŠAMNSMMANDNPUԠSNG PAAMS.PMSNSSAYNVSN ANDUNSSUԠNPAAMҠAB.AB MAԠSUSADB. PAAMҠAB ƠNSD NYD NYD3 X NYNDN+ ƠҠDDMMANDMUSԠBŠ-NPUD. GPAҠNP SAPYPŠSAVŠNVSNAG. AS SAPAMPAAMS0 DAPAMPNԠϠND SAAPAMDƠPAAMҠAB DAM.5 SAN DBBAMDSKP G0DAMA SBSKPϠMA. SZASSUND? MPGPAҬɠNϬUN NBPNԠϠNԠHAҠPASԠ"". DABANKSKPV SBSKPBANKS. SZADDŠAHNDƠN? MP+5N SBҠYS DƠMS0MSSNG DƠ.+9 MPNMDGϠGԠNԠMMAND. DAPYPŠNV SBNVԠASɠϠBNAY SSNUMBҠGA? MP+5YS SBҠNϬ DƠMS0GA DƠ.DG. MPNMDGϠGԠNԠMMAND SAAPAMɠPUԠPAAMҠNAB SZAPAMBUMPPN SZPAMBUMPUPPAAMҠUN SZNԠANԠHANDŠ6PAAMS. MPG0GϠBAKGԠN. MPGPAҬ PYPŠBSS PAMBSS6 PAMDƠPAM+ APAMBSS MAԠ5 MS0ASàGA̠DGԯV M.5Dà-5 MDYMMANDMDU MMANDMA: MDY * TO > RESERVED * 3 > * 2 = ABORT RCVR WAIT LOOP * 1 = CPU ACTS AS RECEIVER IF BIT IS SET * CPU ACTS AS TRANSMITTER IF BIT IS CLEARED * 0 = RESERVED * NOTE: STANDART RUN SHOULD BE WITH SWITCH = 000000 * USER CONTROL WILL ASK FOR A 32 BIT WORD. * EACH BIT WILL = 1 TEST * G. PRESS RUN * * TO RESTART DIAGNOSTIC * * 1. IF CHANGE SELECT CODE AND OPTIONS REPEAT FROM C. ABOVE * 2. IF NOT CHANGE SELECT CODE AND OPTIONS * A. LOAD ADDRESS 2000B * B. PRESS RUN SKP * GENERAL COMPUTER HALTS * * 102000 INITIALIZING HALT FOR TEST 7 * 1020XX ERROR HALTS (XX=TEST #, XX NOT 0, 76, 77) * 102076 END OF TEST HALT (A=TEST #) * R 103000 NO USER SELECT CODE * 103001 NO 1 MILL. TIME COUNT * 106000 INITIALIZING HALT TO SYNC 2 COMPUTERS * 1060XX UNEXPECTED TRAP CELL HALT (XX=SELECT CODE) * 107076 INITIALIZING HALT AFTER LOADING SELECT CODE * 107077 USER SELECTION REQUESTED SPC 2 * ALL HALTS MAY BE RESTARTED FROM ADDRESS 2B. THIS IS * FOR CONVENIENCE ON THE 2114 WHERE THE M REG. NEEDS TO * BE ALTERED TO OBSERVE A&B REGISTERS. * * THE ONLY EXCEPTION IS A 1060XX HALT WHICH IS NOT * RECOVERABLE. SKP * SPECIFIC DIAGNOSTIC FUNCTIONS * * TESTS 1 THROUGH 7 ARE BASIC I/O TESTS * * TEST 8 * TRANSMITS AND RECEIVES A 100 WORD BLOCK OF DATA WITH THE * INTERRUPT SYSTEM OFF (SFS). AFTER THE BLOCK IS RECEIVED IT * IS COMPARED WITH MEMORY RESIDENT DATA TO TEST FOR ERRORS. * * TEST 9 * SAME AS TEST 8 BUT WITH INTERRUPT SYSTEM ENABLED. * * TEST 10 * CHECKS WATCHDOG TIMER. 1 WORD IS TRANSMITTED AND RECEIVED. * AFTER A 15 MS WAIT, THE FLAG IS TESTED AND THE STATUS WORD * IS CHECKED FOR THE WDO BIT. * * TEST 11 * CHECKS CLEAR CRC. THE CRC IS CLEARED, THEN TRANSMITTED AND * RECEIVED. THE ERROR BIT IN THE STATUS WORD IS THEN TESTED. * * TEST 12 * CHECKS CRC ACCUMULATION AND TRANSMITION AS TEXT WORD. THE * RECEIVED CRC IS COMPARED TO CALCULATED CRC. IN 2 CPU CONF. * THE RCVR RESPONDS BY SENDING CRC AFTER RECEIVING CRC, THEN * TESTS ERROR BIT IN STATUS WORD IN ADDITION TO THE COMPAR- * ISON MADE AND THE XMTR TESTS FOR RECEPTION OF ZERO. * * TEST 13 * CHECKS THE HARDWARE HANDSHAKE. THE HANDSHAKE WORD IS SENT * AND RECEIVED, THEN COMPARED TO TEST FOR ERRORS. NEXT THE * 100 WORD BLOCK OF DATA IS TRANSMITTED AND RECEIVED IN THE * HANDSHAKE MODE. AFTER THE BLOCK IS RECEIVED IT IS COMPARED * WITH MEMORY RESIDENT DATA TO TESAT FOR ERRORS. * * TEST 14 * CHECKS LISTEN-REPEAT AND ADDRESS RECOGNITION. THE TRANS- * MITTER SENDS ALL ADDRESSES FROM 2 TO OCT 176 (ADDRESS IS * INCREMENTED BY 2). THE RECEIVER STARTS WITH ADDRESS 2 * AND INCREMENTS IT'S ADDRESS UPON RECOGNITION AFTER SENDING * CONFIRMATION TO TRANSMITTER. UPON COMPLETION OF SENDING * ALL ADDRESSES THE TRANSMITTER CHECKS FOR ANY NON RECOG- * NIZED ADDRESSES. ALL REPEATED WORDS ARE COMPARED TO THE * WORD SENT. * * TEST 15 * CHECKS INTERRUPTION OF DMA WITH TAG ONE WORD AND IRQ TAG * BIT SET IN RCVR. RCVR IS SET TO EXPECT MORE WORDS THAN * XMTR WILL SEND BEFORE TAG ONE WORD IS SENT. THE DMA RESI- * DUE IS ALSO CHECKED. SKP * CONFIGURATIONS SPC 4 * ******** * * *********----------------- * * 21XX * HWSIC * 1 COAXIAL CABLE - * * CPU * BOARD * - * * *********----------------- * ******** * * CONFIGURATION 1 - CAN RUN TESTS 1 THROUGH 12 SPC 5 * ******** ******** * * *********------------------------------********* * * * 21XX * HWSIC * 2 COAXIAL CABLES * HWSIC * 21XX * * * CPU * BOARD * * BOARD * CPU * * * *********------------------------------********* * * ******** ******** * * CONFIGURATION 2 - CAN RUN TESTS 1 THROUGH 14 SPC 5 * ********* ********* * * *********----------------------------********* * * * 21XX * HWSIC * 2 COAXIAL CABLES * HWSIC * 21XX * * * CPU * BOARD * * BOARD * CPU * * * W/DMA *********--------------------------- ********* W/DMA * * * * * * * ********* ********* * * CONFIGURATION 3 - CAN RUN TESTS 1 THROUGH 15 SKP * * PROGRAM ORGANIZATION CHART * * ******************************************* * * CONFIGURATOR 100B * * * LINKAGE TABLE 127B * * ******************************************* * * EXECUTIVE 130B * * * LINKAGE 137B * * ******************************************* * * CONSTANTS 140B * * * AND USER * * * STORAGE 1777B * * ******************************************* * * 2000B * * * EXECUTIVE CONTROL * * * * * ******************************************* * * DEF LIST TO * * * START OF EACH TEST * * ******************************************* * * DEF LIST TO * * * I/O INSTRUCTIONS * * ******************************************* * * * * * BASIC I/O TESTS (0-7) * * * * * ******************************************* * * * * * * * * * * * * * * * * * MAIN DIAGNOSTICS (8-31) * * * * * * *  * * * * * * * * * * ******************************************* SKP * ADDRESS 2 RESTART FOR 2114 * ORG 2B JMP *+1,I OCT 100 ORG 100B * A EQU 0 B EQU 1 TSC EQU 10B TEST SELECT CODE * * CONFIGURATOR LINKAGE TABLE * START JMP CNF,I GO TO CONFIGURATION FAIN BSS 1 FAST INPUT (PHOTO READER) SLOP BSS 1 SLOW OUTPUT (LIST) FAOP BSS 1 FAST OUTPUT (DUMP OR PUNCH) SLIN BSS 1 SLOW INPUT (KEYBOARD) FWA DEF FWAA FIRST WORD OF AVBL. MEMORY LWA BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 TMC BSS 1 1MILLSEC. TIME OUT COUNTER BSS 4 SELECT CODES FOR I/O CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEM BSS 1 MEMORY SIZE AND TYPE ISWR BSS 1 INTERNAL SWITCH REGISTER TMR BSS 1 1 MILL SEC TIMER SWR BSS 1 CHECK SWITCH REG I2ASC BSS 1 INTEGER TO ASCII CONVERSION O2ASC BSS 1 OCTAL TO ASCII CONVERSION ASC2N BSS 1 ASCII CONVERSION DSN OCT 103207 DIAGNOSTIC SERIAL NUMBER FMTR BSS 1 FORMATTER * * EXECUTIVE LINKAGE TABLE * CNF DEF CONF GO TO CONFIGURATION ER DEF ERR ERROR REPORTING ROUTINE MS DEF MSG NON ERROR MESSAGE REPORTING DFPA DEF SDS POINTER TO SUBROUTINE DEF'S IODL DEF IODS POINTER TO I/O DEF LIST SC NOP CURRENT SELECT CODE * * SET RESTART FOR ADDRESS 2 * STOP NOP ENTRY POINT STA .STOP SAVE A REG LDA STOP INA GET JMP ADDRESS STA 3B SHOVE IN 3 LDA .STOP RESTORE A REG JMP STOP,I RETURN .STOP NOP SKP * * CONSTANTS AND STORAGE * HLT0 OCT 106000 HLT1 OCT 106001 HLTSC NOnP TMP NOP * * LPCNT DEC -100 CNTR NOP .1 OCT 1 .2 OCT 2 .3 OCT 3 .4 OCT 4 .5 OCT 5 .6 OCT 6 .7 OCT 7 .10 OCT 10 .17 OCT 17 .20 OCT 20 .50 DEC 50 .77 OCT 77 .100 OCT 100 .M3 DEC -3 .M4 DEC -4 .M5 DEC -5 .M7 DEC -7 .M16 DEC -16 .M50 DEC -50 .M100 EQU LPCNT M300 DEC -300 .ME3 DEC -1000 .M35C DEC -3500 TYPE NOP CONF2 NOP BIT8 OCT 400 BIT9 OCT 1000 BIT10 OCT 2000 BIT11 OCT 4000 BIT12 OCT 10000 BIT13 OCT 20000 BIT14 OCT 40000 BIT15 OCT 100000 BITS OCT 177764 NBIT9 OCT 176777 .M1 OCT -1 BIT23 OCT 14 SCNT NOP DCNT NOP DEFL NOP ADDR NOP WADDR NOP WORDS BSS 4 PNTR DEF WORDS PNTRS NOP PSCP DEF PSCT+10 EOLCP DEF EOLC+3 MAXNM OCT 176 TST# NOP T13 DEC 13 * SW15 EQU BIT15 SW13 EQU BIT13 SW9 EQU BIT9 SW14 EQU BIT14 SW10 EQU BIT10 SW11 EQU BIT11 SW12 EQU BIT12 .8 EQU .10 .16 EQU .20 SKP * * COMMONLY USED SUBROUTINES * * * PUT JMP INSTRUCTION IN TRAP CELL * TCJMP NOP LDA JMPI GET JUMP INSTRUCTION STA SC,I PUT IT IN TRAP CELL LDA TCJMP,I GET LOCATION STA JMPIL SAVE IT FOR JMP INSTRUCTION ISZ TCJMP ADJUST RETURN JMP TCJMP,I RETURN TO CALLER * JMPI JMP *+1,I JMP INSTRUCTION JMPIL NOP JUMP LOCATION * T5.I0 JSB *+1,I TRAP CELL JSB DEF TIT5 * TSTX NOP SPC 4 .WAIT NOP ENTRY POINT LDA M300 SET UP COUNTER STA TMP FOR APPROX 15 SEC ISZ TMP DONE? JMP *+2 NOT YET JMP WAIT,I YES EXIT * LDA .50 TIME OUT FOR 50 MS JSB TMR,I LDB .4 IS IT STILL SET? JSB SWR,I JMP .WAIT+3 YES, CONTINUE JMP .WAIT,I NO, EXIT SKP * COMMON ERROR MESSAGES * TETX1 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP  CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 12,RCVR WAIT LOOP ABORTED/ * TETX2 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT -1 CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 15,FLAG NOT SET ON DATA TRANSFER/ * TETX4 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS TTX4 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 18,FLAG SET ON DATA TRANSFER BY STATUS ASC 5,WORD = #/ * TETX5 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 12,ERROR IN DATA TRANSFER/ SPC 3 * CALL = LDA WITH SA OF DEF LISTS FOR DEF LISTS FOR TESTS * JSB HDWSI * GOOD RETURN * ERROR RETURN * HDWSI NOP ENTRY POINT ADA CONF2 ADD TABLE OFFSET TO POINT TO XMIT RCVR LDA A,I GET ADDRESS TO DEF LIST STA DEFL SAVE STARTING ADDRESS OF DEF LIST * HDW2 LDA DEFL,I GET SUBROUTINE ADDRESS SZA ALLOWS NOP'S IN DEF LIST JSB A,I GO TO SUBROUTINE JMP HDW3 GOOD RETURN FROM SUBROUTINE * ERRT ISZ HDWSI ERROR RETURN FROM SUBROUTINE JMP HDWSI,I EXIT ERROR RETURN * HDW3 ISZ DEFL INCREMENT DEF LIST JMP HDW2 SKP * INITIALIZING ROUTINE FOR ALL TESTS * INIT NOP ENTRY POINT CLA STA CONF2 INITIALIZE CONFIGURATION STA ERROR CLEAR ERROR STA REM1 CLEAR CRC ACCUMULATOR STA TYPE TO XMIT STA TSTNO CLEAR LAST TEST NO. LDA USSC GET USER OPTION AND BIT8 MASK TO # CPU'S SZA,RSS IS IT SET FOR 2? JMP INT1 CONF IS 0 ISZ CONF2 LDB .2 TEST FOR XMIT OR RCVR wJSB SWR,I JMP *+2 IS SET = RCVR (CONF = 2) JMP INT1 NO SET = XMIT (CONF = 1) LDA BIT10 SET TYPE TO RCVR CRC STA TYPE ISZ CONF2 INT1 LDA LPCNT CLEAR DESTINATION AREA STA CNTR SET UP COUNTER CLA LDB DEST STA B,I INB ISZ CNTR ALL CLEARED? JMP *-3 NO, CONTINUE * LDA LPCNT SET UP COUNT FOR LOOPR STA CNTR * LDA SOURC SET UP DATA XFR ADDRESSES STA SCNT LDA DEST STA DCNT JSB INIT2 CLEAR STATUS AND SET CONTROL JMP INIT,I EXIT * INIT2 NOP ENTRY POINT ISC8 LIA TSC CLEAR SUSPEND ISC1 CLC TSC ISC2 LIA TSC,C CLEAR STATUS WORD LDA BIT23 CLEAR CRC, MASTER RESET IOR TYPE SET CRC (XMIT OR RCVR) IOR BIT12 DISABLE CONSTANT ONES ISC3 CLC TSC ISC4 OTA TSC,C SET CONTROL WORD ISC7 CLF TSC MAKE SURE THE THING IS CLEAR! JMP INIT2,I EXIT * SOURC DEF SAS DEST DEF SAD SKP * SUBROUTINE TO GET 2 CPU'S IN STEP * (XMTR) * TESTS 8 THRU 15 * XSTAR NOP ENTRY POINT XSTA2 JSB TXMIT SEND TEST NO. JSB ABORT CHECK FOR ABORT XSTA3 SFS TSC DID FLAG GET SET? JMP XSTA2 NO, TRY AGAIN * JSB NONAB SEE IF RCVD GOOD WORD JMP *+2 YES JMP XSTA2 NO, TRY AGAIN * LDA .1 WAIT 1 MS JSB TMR,I JSB INIT2 CLEAR STATUS AND SET CONTROL JMP XSTAR,I START XMTR SPC 4 * SUBROUTINE TO GET 2 CPU'S IN STEP * (RCVR) * TESTS 8 THRU 15 * RSTAR NOP ENTRY POINT RSTA1 SFS TSC IS FLAG SET? JMP RSTA2 NO JSB NONAB SEE IF RCVD GOOD WORD JMP *+4 YES RSTA2 JSB INIT2 CLEAR SUSPEND JSB ABORT CHECK FOR ABORT JMP RSTA1 TRY AGAIN JSB TXMIT SEND TEST NO. JSB INIT2 CLEAR STATUS AND SET CONTROL vJMP RSTAR,I START RCVR SPC 4 * SUBROUTINE TO COMPARE TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * NONAB NOP ENTRY POINT JSB TRCVR GET WORD LDA TST# GET CURRENT TST# CPA TSTNO COMPARE WITH REC'D WORD JMP NONAB,I IS GOOD ISZ NONAB NO, NOT YET JMP NONAB,I EXIT SKP * SUBROUTINE TO XMIT TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * TXMIT NOP ENTRY POINT LDA TST# GET CURRENT TST# TXMI1 OTA TSC,C SEND IT TXMI2 CLF TSC CLEAR XMIT FLAG JMP TXMIT,I EXIT SPC 4 * SUBROUTINE TO RCVR TST# TO GET 2 CPU'S IN STEP * TESTS 8 THRU 15 * TRCVR NOP ENTRY POINT TRCV1 LIA TSC,C GET WORD STA TSTNO SAVE IT JMP TRCVR,I EXIT * TSTNO NOP SPC 4 4 * SUBROUTINE TO TEST FOR ABORT (2 CPU'S IN STEP) * TESTS 8 THRU 15 * ABORT NOP ENTRY POINT LDA .20 WAIT 16 MS JSB TMR,I LDB .4 CHECK FOR ABORT JSB SWR,I JMP *+2 YES, ABORT JMP ABORT,I NO, EXIT * JSB .WAIT WAIT FOR BIT OFF JSB ER,I REPORT ABORT DEF TSTX,I RETURN POINT DEF *+3 OCT -1 A REG OCT -1 B REG ASC 7,TEST ABORTED/ SKP * SUBROUTINE TO XMIT 1 WORD * TESTS 8, 10, 11, 12, 13 * XMIT NOP ENTRY POINT LDB .M100 SET UP COUNT FOR STB ECNT WAIT BETWEEN TRANSFERS ISZ ECNT WAIT LONG ENOUGH? JMP *-1 NO, NOT YET * LDA SCNT,I GET WORD FROM MEMORY XSC1 OTA TSC,C SEND IT ISZ SCNT INCREMENT POINTER JMP XMIT,I EXIT SPC 4 * SUBROUTINE TO RCVR 1 WORD * TESTS 8, 10, 12, 13 * RCVR NOP ENTRY POINT RSC1 LIA TSC,C GET TRANSMITTED WORD STA DCNT,I STORE IN MEMORY ISZ DCNT INCREMENT POINTER JMP RCVR,I EXIT M<:6 SPC 4 * SUBROUTINE TO LOOP AND WAIT FOR 1ST WORD * TESTS 8, 9, 10, 12, 13, 15 * LOOP NOP ENTRY POINT CLA SET UP COUNTS STA TMP FOR ABORT WAIT LOOP LDB .M100 STB ECNT * LOOP2 LDB .4 CHECK IF ABORT JSB SWR,I JMP LOOP1 ABORT WAIT * LSC1 SFS TSC FLAG SET? JMP *+2 NO, INCREMENT COUNT JMP LOOP,I GOOD EXIT * ISZ TMP LITTLE COUNTER JMP LOOP2 CHECK FOR ABORT ISZ ECNT BIG COUNTER JMP LOOP2 CHECK FOR ABORT * LOOP1 JSB .WAIT WAIT FOR BIT OFF ISZ LOOP ABORT EXIT CLA A=0 IF ABORT WAIT JMP LOOP,I EXIT SKP * SUBROUTINE TO CHECK THE FLAG OF HWSIC * TESTS 8, 10 THRU 15 * FLAG NOP ENTRY POINT LDA M300 STA ECNT SET ERROR COUNTER FSC1 SFS TSC FLAG SET YET? JMP *+3 NOT YET FSC2 CLF TSC YES, CLEAR IT JMP FLAG,I EXIT-GOOD RETURN ISZ ECNT COUNT DONE? JMP *-5 NO, CONTINUE LDA .M1 YES, ERROR ISZ FLAG JMP FLAG,I ERROR RETURN * ECNT NOP SPC 4 4 * SUBROUTINE TO LOOP THROUGH DEF LIST * TESTS 8, 9, 12, 13 * LOOPR NOP ENTRY POINT ISZ CNTR DONE YET? RSS LOP1 JMP LOOPR,I * LDB .M4 -4 IF CONF2 .NE. 0 LDA CONF2 SZA,RSS LDB .M5 -5 IF CONF2 = 0 * LDA B ADA DEFL DECREMENT DEFL STA DEFL JMP LOOPR,I EXIT SKP < % 24335-18002 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 i* SUBROUTINE TO COMPARE RECEIVED DATA WITH MEMORY BLOCK * TESTS 8, 9, 12, 13 * COMPA NOP ENTRY POINT LDA LPCNT SET UP COUNTER STA CNTR JSB RESET RESET POINTERS * COMPB LDA SCNT,I COMPARE WORDS CPA DCNT,I JMP *+4 GOOD COMPARISON ISZ COMPA * LDA .1 SET ERROR CODE JMP COMPA,I ERROR EXIT * ISZ SCNT INCREMENT POINTERS ISZ DCNT ISZ CNTR ARE WE DONE? JMP COMPB NO, DO AGAIN JMP COMPA,I EXIT SPC 4 * SUBROUTINE TO WAIT FOR INTERRUPT * AFTER DATA TRANSFER * TEST 9 * TIMER NOP ENTRY POINT LDA .ME3 SET UP COUNTER STA ECNT LDA INFLG CHECK INTERRUPT FLAG SZA,RSS NOT CLEAR YET? JMP TIMER,I IS CLEAR, EXIT ISZ ECNT JMP *-4 CONTINUE * ERTIM LDA .7 ERROR CODE = 7 ISZ TIMER JMP TIMER,I ERROR EXIT SPC 4 * SUBROUTINE TO WAIT N MS - NON-ERROR * TESTS 10, 12, 13 * WAIT NOP ENTRY POINT LDA TIME GET WAIT TIME JSB TMR,I GO AND WAIT JMP WAIT,I EXIT * TIME NOP SKP * SUBROUTINE TO CHECK WATCHDOG TIMEOUT * TEST 10 * WDO NOP ENTRY POINT LDB .1 SET ERROR CODE WSC1 SFS TSC DID WDO SET FLAG? JMP WDOER INB BE WSC2 CLC TSC WSC3 LIA TSC,C GET STATUS WORD AND .10 AND FOR WDO BIT SZA,RSS SKIP IF THERE JMP WDOER NOT THERE, IS ERROR JMP WDO,I GOOD EXIT * WDOER LDA B GET ERROR CODE ISZ WDO JMP WDO,I SPC 4 * SUBROUTINE TO SET TSC INTERRUPT CELL FOR RECEIVE MODE * AND ENABLE INTERRUPTS * TEST 9 * ENINR NOP ENTRY POINT LDA ISR GET INSTRUCTION FOR INTERRUPT STA SC,I PUT IN APPROPRIATE CELL STF 0 ENABLE INTERRUPT SYSTEM ESC1 STC TSC ENABsLE HWSIC ESC7 LIA TSC,C DUMMY LOAD ESC14 CLF TSC CLEAR JUST IN CASE JMP ENINR,I EXIT * ISR JSB *+1,I DEF SERVR RECEIVE INTP SERVICE ADDRESS SKP * RECEIVE INTERRUPT SERVICE * TEST 9 * SERVR NOP ENTRY POINT CLC 0,C DISABLE INTERRUPTS STA SAVEA SAVE A REG STB SAVEB SAVE B REG ESC2 LIA TSC,C GET WORD STA DCNT,I STORE IN RCVR BUFFER ISZ DCNT INCREMENT POINT CLA STA INFLG CLEAR INTP FLAG FOR TIMER LDA SAVEA RESTORE A REG LDB SAVEB RESTORE B REG JMP SERVR,I EXIT * INFLG NOP SAVEA NOP SAVEB NOP SPC 4 * TRANSMIT FOR 1 CPU CONFIGURATION * TESTS 8 THRU 13 * FXMIT NOP ENTRY POINT LDA SCNT,I GET WORD TO SEND ISZ SCNT INCREMENT POINTER STA INFLG SET INTP FLAG FOR TIMER FXSC1 OTA TSC,C SEND WORD FXSC2 CLF TSC CLEAR TRANSMIT FLAG JMP FXMIT,I EXIT SPC 4 * CHECK CLEAR CRC (NO ERROR IN STATUS WORD) * TESTS 11, 12 * CCRC NOP ENTRY POINT LDA ERROR AND .2 MASK TO ERROR BIT SZA SKIP IF NOT THERE - GOOD ISZ CCRC IS ERROR JMP CCRC,I EXIT SKP * SUBROUTINE TO CLEAR LISTEN-REPEAT MODE * TEST 14 * LRCLR NOP ENTRY POINT LDA .10 SET BIT3 FOR (MASTER CLEAR) STA WORD CONTROL WORD JSB CWORD OUTPUT WORD JMP LRCLR,I EXIT SPC 4 * SUBROUTINE TO SEND A BLOCK (100 WORDS) TO RCVR WITH * INTERRUPT ENABLED. WILL SEND A WORD EVERY MS. * TEST 9 * XMTI NOP ENTRY POINT LDA LPCNT SET UP COUNTER STA CNTR FOR 100 WORDS XMT1 LDA SCNT,I GET WORD FROM MEMORY * ESC5 OTA TSC,C SEND IT TO OTHER CPU ISZ SCNT INCREMENT POINTER ISZ CNTR DONE YET? RSS NO, NOT YET JMP XMTI,I YES,z EXIT * LDA .1 DO A 1 MS TIMER JSB TMR,I JMP XMT1 CONTINUE SKP * SUBROUTINE FOR RCVR CPU TO RECEIVE WORDS * WITH INTERRUPT ENABLED * TEST 9 * RCVI NOP ENTRY POINT LDA LPCNT STA CNTR SET WORD COUNT = 100 LDA ISR2 STA SC,I SET INTERRUPT CELL * STF 0 ENABLE INTERRUPTS ESC4 STC TSC ENABLE HWSIC ESC6 LIA TSC DUMMY LOAD * ESC3 LIA TSC,C GET RECEIVED WORD STA DCNT,I SAVE IN BUFFER ISZ DCNT INCREMENT BUFFER POINTER ISZ CNTR DONE YET? JMP *+3 NO, NOT YET CLC 0,C DISABLE INTERRUPTS JMP RCVI,I YES, EXIT * LDA .17 DO A 15 MS TIMEOUT JSB TMR,I CLC 0,C DISABLE INTERRUPTS LDA .7 OOPS, TIMED OUT ISZ RCVI JMP RCVI,I ERROR EXIT * ISR2 JMP *+1,I DEF ESC3 SPC 2 * SUBROUTINE TO XMIT AND SET UP HANDSHAKE MODE * TEST 13 * HXMIT NOP ENTRY POINT LDB SCNT,I GET 1ST WORD TO SEND ISZ SCNT INCREMENT POINTER LDA WORD GET CONTROL BIT IOR TYPE CRC KIND IOR BIT12 DISABLE CONSTANT ONES * HXSC1 OTB TSC,C SEND 1ST WORD HXSC3 CLC TSC HXSC4 OTA TSC,C OUTPUT CONTROL WORD LDB SCNT,I HXSC5 OTB TSC,C LOAD SECOND WORD * ISZ SCNT INCREMENT POINTER ISZ CNTR INCREMENT LOOP COUNT ISZ DEFL SKIP XMIT FIRST TIME JMP HXMIT,I EXIT SKP * SUBROUTINE TO CHECK IF FLAG WAS SET BY STATUS WORD * TESTS 8, 10 THRU 15 * CHFLG NOP ENTRY POINT CLA RESET ERROR STA ERROR FOR THIS CHECK CHSC1 CLC TSC CHSC2 LIA TSC,C GET STATUS WORD SZA,RSS IS ANYTHING SET? JMP CHFLG,I NO, IS OK * STA ERROR SAVE FOR ERROR MESSAGE AND BITS MASK OUT BITS 0,1,3 SZA,RSS IS ANYTHING SET? JMP CHFLG,I NO, IS OK LDA .10 10 = ERROR CODE ISZ CHFLG JMP CHFLG,I ERROR EXIT * ERROR NOP SPC 3 * DUMMY SUBROUTINE TO FILL DEF LIST * TEST 9 * DUMMY NOP ENTRY POINT JMP DUMMY,I EXIT SPC 3 * SUBROUTINE TO OUTPUT COMPLETION MESSAGE * TESTS 8 THRU 15 * GOOD NOP ENTRY POINT JSB MS,I OUTPUT MESSAGE DEF TSTX,I RETURN POINT DEF *+1 MESSAGE ADDRESS ASC 5,COMPLETED/ SPC 3 * MESSAGE TO WRONG CONFIGURATION * TESTS 13 THRU 15 * NONO NOP ENTRY POINT JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP CONTENTS FOR A REG OCT -1 B REG ASC 17,THIS CONFIGURATION CANNOT RUN THIS ASC 3, TEST/ SKP * SUBROUTINE TO RESET SOURCE AND DESTINATION * TESTS 12, 13 * RESET NOP ENTRY POINT LDA SOURC IT IS STA SCNT SELF LDA DEST EXPLANATORY STA DCNT JMP RESET,I EXIT SPC 2 * SUBROUTINE TO SET A SPECIAL CONTROL WORD * TESTS 10 THRU 15 * CWORD NOP ENTRY POINT LDB TST# CHECK FOR SPECIAL CASES CPB T13 IS IT HANDSHAKE? JSB INIT2 IF YES INITIALIZE LDA WORD GET BITS THAT HAVE BEEN SET CPB BIT23 CRC TRANSMIT (TEST 12) RSS SKIP IF YES IOR TYPE GET CRC KIND IOR BIT12 DISABLE CONSTANT ONES CWSC1 CLC TSC CWSC2 OTA TSC,C SEND IT JMP CWORD,I EXIT * WORD NOP SPC 2 * SUBROUTINE TO CHECK IF CRC TO CRC EQUALS ZERO * TEST 12 * ZERO NOP ENTRY POINT LDA DEST,I GET THE WORD SZA,RSS JMP ZERO,I OK, IT EQUALS ZERO STA CRC SAVE IT FOR MESSAGE LDA .17 SET ERROR CODE ISZ ZERO JMP ZERO,I ERROR EXIT * CRC NOP 7 SPC 2 * SET CRC KIND TO RCVR * TEST 12 (1 CPU CONFIGURATION) * FCRC NOP ENTRY POINT LDA BIT10 RESET TYPE FOR CRC STA TYPE IOR BIT12 DISABLE CONSTANT ONES ISC5 CLC TSC ISC6 OTA TSC,C SET CONTROL WORD JMP FCRC,I SKP * ROUTINE TO TRANSMIT AND ACCUMULATE CRC * TEST 12 * CXMIT NOP ENTRY POINT LDB SCNT,I GET WORD TO SEND ISZ SCNT INCREMENT POINTER CXSC1 OTB TSC,C SEND WORD CXSC2 CLF TSC CLEAR TRANSMIT FLAG * JSB CACRC CALCULATE CRC JMP CXMIT,I EXIT SPC 2 CACRC NOP ENTRY POINT LDA .M16 SET UP LOOP COUNTER STA CONTR LDA REM1 GET OLD CRC XOR B NEW WORD CLE,SLA,ERA XOR POLY1 POLYNOMIAL ISZ CONTR DONE? JMP *-3 NO STA REM1 YES, SAVE CRC JMP CACRC,I EXIT SPC 3 * COMPARE RECEIVED CRC WITH CALCULATED CRC * TEST 12 * COMPS NOP LDA DEST,I GET RECEIVED WORD CPA REM1 COMPARE WITH CALC. CRC JMP COMPS,I OK, EXIT LDA .6 ERROR CODE = 6 ISZ COMPS JMP COMPS,I ERROR EXIT * CONTR NOP REM1 NOP POLY1 OCT 120001 SPC 3 * ROUTINE TO RECEIVE AND ACCUMULATE CRC * TEST 12 * CRCVR NOP ENTRY POINT CRSC1 LIB TSC,C GET RECEIVED WORD STB DCNT,I STORE IN MEMORY ISZ DCNT INCREMENT POINTER JSB CACRC CALCULATE CRC JMP CRCVR,I EXIT SKP * SUBROUTINE TO TRANSMIT SPECIAL WORD * TESTS 13, 15 * SXMIT NOP ENTRY POINT LDA SWORD GET SPECIAL HANDSHAKE WORD SSC1 OTA TSC,C LOAD IT SSC3 CLF TSC CLEAR TRANSMIT FLAG JMP SXMIT,I EXIT * SWORD OCT 123456 NOP SPC 4 * SUBROUTINE TO RECEIVE SPECIAL WORD * TESTS 13, 15 * SRCVR NOP ENTRY POINT SSC2 LIA TSC,C RECEIVE HANDSHAKE WORD _ STA SWORD+1 SAVE IT JMP SRCVR,I EXIT SPC 4 * SUBROUTINE TO COMPARE SPECIAL WORDS * TESTS 13, 15 * COMP1 NOP ENTRY POINT LDA SWORD GET TRANSMITTED WORD LDB SWORD+1 GET RECEIVED WORD CPA B COMPARE THEM JMP COMP1,I GOOD - EXIT LDA .17 ERROR CODE = 17 ISZ COMP1 JMP COMP1,I ERROR RETURN SPC 4 * SUBROUTINE TO CLEAR CONTROL WORD * TEST 13 * CLEAR NOP ENTRY POINT LDA WORD SAVE CONTROL BIT STA TMP FOR LATER USE CLA STA WORD JSB CWORD OUTPUT WORD LDA TMP RESTORE CONTROL BIT STA WORD JMP CLEAR,I EXIT SKP * ENABLE INTERRUPT & SET TRAP CELL OF INTFACE WITH JMP,I * TESTS 14, 15 * ENINT NOP ENTRY POINT LDA ESR STA SC,I SET INTERRUPT CELL STF 0 ENABLE INTERRUPT ESC8 STC TSC ENABLE HWSIC ESC9 LIA TSC,C DUMMY LOAD JMP ENINT,I EXIT * ESR JMP *+1,I DEF SEINT SPC 4 * INTERRUPT SERVICE ROUTINE * TESTS 14, 15 * SEINT CLC 0,C DISABLE INTERRUPT SYSTEM STF 6 ABORT A POSSIBLE DMA TRANSFER CLC 6,C & BRING DMA INTO RESET CONDITION ESC10 CLC TSC ESC11 LIA TSC,C GET STATUS WORD STA ERROR SAVE FOR TAG? ESC12 LIA TSC,C GET COMPARE WORD STA SWORD+1 SAVE FOR COMP1 JMP SLOOP,I RETURN TO NORMAL FLOW SPC 4 * SUBROUTINE TO WAIT FOR INTERRUPT * TESTS 14, 15 * SLOOP NOP ENTRY POINT CLA SET UP COUNTS STA TMP FOR ABORT WAIT LOOP LDB .M100 STB ECNT * SLOO2 LDB .4 CHECK IF ABORT JSB SWR,I JMP SLOO1 ABORT * ISZ TMP LITTLE COUNTER JMP SLOO2 CHECK IF ABORT ISZ ECNT BIG COUNTER JMP SLOO2 CHECK IF ABORT * SLOO1 JSB .WAIT WAIT FOR BIT OFF ISZ SLyOOP ABORT EXIT LDA .2 ERROR CODE = 2 JMP SLOOP,I EXIT SKP * SUBROUTINE TO CHECK FOR TAG BIT * TEST 15 * * TAG1 NOP ENTRY POINT LDA ERROR GET STATUS WORD AND .1 MASK TO TAG BIT SZA IS IT THERE? JMP TAG1,I YEP, EXIT LDA .7 ERROR CODE = 7 ISZ TAG1 JMP TAG1,I ERROR EXIT SPC 4 * SUBROUTINE TO SET TAG BIT IN CONTROL WORD * TESTS 14, 15 * STAG NOP ENTRY POINT LDA .100 GET TAG BIT STA WORD JSB CWORD OUTPUT WORD JMP STAG,I EXIT SPC 4 * SUBROUTINE TO SET LISTEN-REPEAT IN CONTROL WORD * TEST 14 * LRCWD NOP ENTRY POINT LDA BIT14 GET LISTEN-REPEAT BIT STA WORD JSB CWORD OUTPUT WORD JMP LRCWD,I EXIT SKP * SUBROUTINE TO OUTPUT ADDRESS IN LISTEN-REPEAT * TEST 14 * LRS NOP ENTRY POINT LDA ADDR GET CURRENT ADDRESS T13C5 OTA TSC,C OUTPUT IT T13C6 CLF TSC CLEAR OUTPUT FLAG JMP LRS,I EXIT SPC 4 * SUBROUTINE TO RECEIVE REPEATED WORD * TEST 14 * LRG NOP ENTRY POINT T13C8 CLC TSC LOAD STATUS WORD TO CLEAR T13C9 LIA TSC,C TAG BIT T13C7 LIA TSC,C GET REPEATED WORD CPA ADDR DOES IT COMPARE? JMP LRG,I YES, EXIT STA WADDR SAVE FOR MESSAGE LDA .3 ERROR CODE = 3 ISZ LRG JMP LRG,I ERROR EXIT SPC 4 * SUBROUTINE TO INCREMENT ADDRESS AND LOOP THRU DEF LIST * TEST 14 * LRLOP NOP ENTRY POINT LDA ADDR GET LAST ADDRESS CPA MAXNM IS IT MAXIMUM? JMP LRLOP,I YES, EXIT ADA .2 INCREMENT IT STA ADDR LDA DEFL DECREMENT DEF LIST ADA .M7 STA DEFL JMP LRLOP,I EXIT SKP * SUBROUTINE TO WAIT FOR RECOGNITION WORD AND CHECK IT * TEST! 14 * SHPAS NOP ENTRY POINT LDA BIT8 WAIT FOR RECOGNITION WORD CMA,INA FOR ABOUT 1 MS STA CNTR (IF IT COMES) ISZ CNTR JMP *-1 * T13C1 SFS TSC DID FLAG GET SET? JMP SHPAS,I NOPE, EXIT T13C2 CLC TSC T13C3 LIA TSC,C GET STATUS WORD T13C4 LIB TSC,C GET ADDRESS WORD STB WADDR SAVE FOR MESSAGE AND .1 CHECK TAG NOT THERE SZA GOOD - NO TAG JMP SHPA2 ERROR CODE = 4 * CPB ADDR GOOD RECOGNITION? JMP SHPA3 YES, DO CLEAN UP LDA .5 ERROR CODE = 5 ISZ SHPAS JMP SHPAS,I ERROR EXIT SHPA2 LDA .4 JMP *-3 SKP SHPA3 LDA PNTR GET POINTER TO WORDS WITH BITS STA PNTRS TO INDICATE RECOGNIZED ADDRESS LDA .M3 STA CNTR LDA .16 IN FIRST WORD? BRS DIVIDE ADDRESS BY 2 CMB,INB MAKE NEGATIVE ADA B SSA,RSS TOO BIG? JMP OUT IS FIRST WORD * SHPA4 ISZ PNTRS INCREMENT POINTER ADA .16 IN NEXT WORD? SSA,RSS TOO BIG? JMP OUT IS SECOND WORD ISZ CNTR JMP SHPA4 * LDA .6 IMPOSSIBLE ADDRESS! ISZ SHPAS ERROR CODE = 6 JMP SHPAS,I ERROR EXIT * OUT STB CNTR STRIP BIT FROM WORD CLB,INB SET LSB RSS RBL ISZ CNTR FOUND IT? JMP *-2 NO, KEEP ROTATING BIT * LDA PNTRS,I GET CORRECT BIT WORD XOR B DELETE BIT STA PNTRS,I REPLACE WORD * LDA ADDR HAVE WE FINISHED? CPA MAXNM MAXNM = 176 JMP SHPAS,I YES, EXIT CLA RESET ADDRESS TO RUN THRU AGAIN STA ADDR JMP SHPAS,I EXIT AT LAST SKP * SUBROUTINE TO CHECK IF ANY ADDRESS NOT RECOGNIZED * AND OUTPUT MESSAGES IF SO * TEST 14 * NOREC NOP ENTRY POINT CLA CLEAR ER 640ROR INDICATOR STA NOR1 STA WADDR CLEAR ADDRESS ACCUMULATOR LDA .M4 SET UP COUNTER FOR 4 WORDS STA CNTR TO CHECK LDA PNTR SET UP POINTER TO WORDS STA PNTRS * NOR2 LDA PNTRS,I GET BIT INDICATOR WORD SZA SKIP IF ALL CLEAR JSB NOR1 FIND BIT(S) SET * LDB WADDR INCREMENT ADDRESS ACCUMULATOR ADB .16 STB WADDR ISZ PNTRS INCREMENT POINTER TO WORDS ISZ CNTR DONE YET? JMP NOR2 NO, CONTINUE * LDA NOR1 WAS THERE AN ERROR? SZA SKIP IF NOT ISZ NOREC LDA .7 ERROR CODE = 7 JMP NOREC,I * NOR1 NOP ENTRY POINT CLB SET FOR INITIAL BIT INB CLE,ERA ROTATE LSB OUT SEZ SKIP IF BIT NOT SET * JSB NOROT OUTPUT MESSAGE SZA,RSS IS THAT ALL IN WORD? JMP NOR1,I YES EXIT JMP NOR1+2 NO CONTINUE SKP * NOROT NOP ENTRY POINT STA SAVEA SAVE THE REGISTERS STB SAVEB ADB WADDR ADD ADDRESS ACCUMULATOR BLS *2 STB NOR3 SAVE FOR MESSAGE * JSB ER,I REPORT ERROR DEF NOR4 RETURN POINT DEF ADREC MESSAGE ADDRESS NOR3 NOP A REG NOP B REG * NOR4 LDA SAVEA RESTORE THE REGISTERS LDB SAVEB JMP NOROT,I EXIT SKP 6  % 24335-18003 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 i* SUBROUTINE TO CHECK FOR DMA IN CONFIGURATION * TEST 15 * CHCON NOP ENTRY POINT LDA CPTO GET CONFIGURATION WORD AND .4 MASK TO DMA BIT SZA IS DMA PRESENT? JMP CHCON,I YES JSB NONO NO, ISSUE MESSAGE OF NO DMA SPC 1 * SUBROUTINE TO CHECK DMA RESIDUE * TEST 15 * CHRES NOP ENTRY POINT CLC 6,C DISABLE DMA STC 2 LIA 2 READ RESIDUE AND DMAMA MASK IN CASE 2116, 2114 CPA DMA50 EQUUAL TO -50? JMP CHRES,I YES, EXIT * STA RESID SAVE FOR ERROR MESSAGE LDA .5 ERROR CODE = 5 ISZ CHRES JMP CHRES,I ERROR EXIT * DMAMA OCT 17777 DMA50 OCT 17716 RESID NOP SKP * * SUBROUTINE TO FIND OUT WHAT KIND OF ERROR IT IS * ERRS NOP ENTRY POINT * SSA WAS IT A FLAG NOT SET JMP TETX2 YES * CPA .10 IS IT A STATUS WORD FLAG? JMP TETX4 YES * CPB .1 TIME TO EXIT? JMP ERRS,I YES * SZA,RSS WAS IT A RCVR ABORT? JMP TETX1 YES * CPB .2 TIME TO EXIT? JMP ERRS,I YES * CPA .1 IT IS A COMPARE ERROR? JMP TETX5 YES * JMP ERRS,I EXIT SPC 4 CRLF NOP ENTRY POINT JSB MS,I OUTPUT CARRIAGE RETURN DEF *+3 AND LINE FEED DEF *+1 ASC 1,/ JMP CRLF,I EXIT SPC 4 DMAS JMP *+1,I INDIR JMP INSTR TO BE STORED IN TRAP CELL DEF DMAIN WITH LINK TO DMA INTP ROUTINE SKP * CONFIGURATION SECTION * ORG 1760B * CONF LIA 1 GET SELECT CODE STA USSC SAVE IT AND .77 MASK OFF THE SC ENTERED LDB A AND CHECK IF IT IS CMB,INB > 7. ADB .7 SSB JMP *+4 YES, VALID SC ENTERED JSB STOP HLT 73B Y NO, INVALID SC ENTERED JMP CONF RETURN FOR NEW CONFIGURATION STA SC SAVE SC CLA CLEAR S-REG OTA 1 JSB STOP HLT 74B OPERATOR ENTERS OPTIONS CLC 0,C TURN EVERYTHING OFF LDA IODL GET USER DEF LIST STA TMP SAVE IT AS A POINTER IOL LDB TMP,I GET ADDRESS OF LOCATION CPB .M1 IS IT -1 ? JMP TSHLT PUT HALTS IN TRAP CELLS LDA B,I NO - GET CONTENTS AND MSKSC MASK OFF SELECT CODE IOR SC ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ TMP MOVE TO NEXT ADDRESS JMP IOL DO IT SPC 4 * PUT HALTS IN ALL TRAP CELLS * TSHLT LDA TSH4 GET STARTING TRAP CELL HALT LDB .4 GET FIRST TRAPCELL ADDRESS TSHL STA B,I PUT IT IN PLACE INA MOVE TO INB NEXT ADDRESS CPB SC IS IT THE TBG? STA HLTSC YES - SAVE FOR LATER CPB .100 AM I FINISHED? JMP EXEC YES - GO TO EXEC CONTROL JMP TSHL NO * MSKSC OCT 177700 TSH4 OCT 106004 SKP * * EXECUTIVE CONTROL * EXEC CLA CLEAR PASS STA EOLC COUNT CCA SET TEST NO = -1 STA TST# JSB CRLF DO CARRIAGE RETURN, LINE FEED LDB SW9 CHECK FOR USER SELECTION REQUEST JSB SWR,I JMP USR IT'S USERS CHOICE NUSR LDA .M1 GET STANDART TEST RUN LDB .M1 * JMP EXC USR LIA 1 CLEAR S-REG BIT 9 AND NBIT9 OTA 1 LDA SUINA LOAD A-REG WITH TEST SELETION CLB JSB STOP HLT 75B WAIT FOR USER INPUT REST SZA,RSS INPUT? JMP NUSR NO - DO ALL OF THEM * * EXC STA UINA SAVE STB UINB USER STA SUINA INPUT STB SUINB PROGRAM LDB SW9 CHECK IF SW9 IS DOWN JSB SWR,I RSS RETURN IF SWITCH IS SET JMP *+4 OK GO ON (RETURN IF SWITCH IS CLEARED USR1 LDA SUINA RESTORE ORIGINAL PROGRAM LDB SUINB * JMP USR NOW GO BACK AND WAIT CCA SET TEST NUMBER STA TST# =-1 SKP EXCL LDA UINA RESTORE A REG. LDB UINB RESTORE B REG. ERA,RAL ROTATE ERB FIRST ERA TEST BIT STA UINA SAVE POSITIONS STB UINB ISZ TST# MOVE TEST UP ONE NOP LDA TST# CPA .10 FINISHED WITH BASIC? JSB EXBC YES - TELL OPERATOR EXCL1 LDA TST# ADA DFPA GET IT'S LDA A,I ADDRESS CPA .M1 IS IT END OF LIST JMP EOL YES LDB UINB SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TMP SAVE FOR CALL JSB INIT INITIALIZE LDA EXECR STA TSTX SKP JSB TMP,I YES EXCR CLC 0,C TURN OFF INTERRUPT SYSTEM LDA HLTSC RESTORE TRAP CELL STA SC,I HALT LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWR,I RSS JMP *+4 NO - CONTINUE LDA TST# YES - DISPLAY TEST NUMBER JSB STOP HLT 76B WHEN HALTED LDB SW9 CHECK FOR ABORT JSB SWR,I JMP USR1 YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWR,I JMP EXCL1 YES - LOOP JMP EXCL CONTINUE * * EOL ISZ EOLC COUNT THIS TEST STA TST# DON'T PRINT TEST # LDB SW12 CHECK FOR LOOP ON ALL TESTS JSB SWR,I JMP EXCNT CONTINUE WITH ANOTHER LOOP CLE CONVERT THE PRESENT PASS LDA EOLC COUNT TO ASCII AND STORE LDB PSCP IT INTO THE MESSAGE. JSB O2ASC,I JSB MSG OUTPUT "TEST COMPLETE" DEF .EOL DEF *+1 PSCT ASC 14,DIAG COMPLETE, PASSԎ XXXXXX/ .EOL LDB SUINB RESTORE ORIGINAL PROGRAM JSB STOP LDA EOLC LOAD DIAGNOSTIC LOOP COUNT HLT 77B WAIT FOR ANY CHANGES LDA SUINA RESTORE ORIGINAL PROGRAM JMP REST GO TO IT EXCNT JSB CRLF DO CARRIAGE RETURN, LINE FEED CCE LDA EOLC LDB EOLCP JSB O2ASC,I JSB MSG OUTPUT "PASS #" DEF ..EOL DEF *+2 EOLC NOP DIAG LOOP COUNT ASC 6,PASS XXXXXX/ ..EOL JSB CRLF DO CARRIAGE RETURN, LINE FEED LDA SUINA RESTORE ORIGINAL LDB SUINB PROGRAM JMP EXC DO IT ALL AGAIN SKP * BASIC I/O COMPLETE * EXBC NOP ENTRY POINT CLA STA TST# DON'T PRINT TEST NUMBER LDA SUINA CHECK IF ANY AND EXBCM BASIC TESTS DONE SZA,RSS ? JMP EX.BC NO - SKIP IT JSB MS,I YES - PRINT COMPLETE MESSAGE DEF EXBC. DEF *+1 ASC 14,BASIC I-O (TESTS 1-7) COMP/ EXBC. LDA USSC CHECK FOR 2 CPU AND BIT8 CONFIGURATION SZA,RSS SKIP IF TRUE JMP EX.BC NOT TRUE, NO HALT * JSB MS,I OUTPUT MESSAGE DEF E.XBC RETURN DEF *+1 ASC 17,START RCVR AND XMTR AT SAME TIME/ * E.XBC JSB STOP OCT 106000 WAIT FOR OPERATOR RESPONSE * EX.BC LDA .10 STA TST# RESTORE TEST NUMBER JMP EXBC,I EXIT * EXBCM OCT 376 * SUINA NOP SUINB NOP UINA NOP UINB NOP EXECR DEF EXCR SKP * * ERROR REPORTING * * CALLING SEQUENCE: * * JSB ERR * DEF RTN * DEF * NOP * NOP * NOP * . * . * RTN EQU * * * NOTE IF THE FORMAT STARTING ADDRESS IS Z* MISSING THE MESSAGE WILL BE OMITED * * ERR NOP CLC 0,C TURN OFF I/O SYSTEM LDB SW11 CHECK IF SUPRESS ERROR MESSAGES JSB SWR,I JMP CKEH YES LDA ERR NO JSB OPMSG OUTPUT MESSAGE * CKEH LDB SW14 CHECK IF HALT ON ERRORS JSB SWR,I RSS JMP *+3 ERREX LDA ERR,I GET RETURN ADDRESS JMP A,I RETURN TO CALLER LDA TST# SET HALT NUMBER AND .77 INSURE NOT GREATER THAN 77 IOR EHLT STA EHLT0 PUT IT IN PLACE LDB ERR GET A REG ADB .2 AND LDA B,I BREG. INB FOR DISPLAY WHEN LDB B,I JSB STOP EHLT0 NOP JMP ERREX CONTINUE * EHLT HLT 0 SKP * NON-ERROR MESSAGES REPORTING * * CALLING SEQUENCE: * * JSB MSG * DEF RTN * DEF * NOP * . * . * RTN EQU * * * MSG NOP CLC 0,C TURN OFF I/O SYSTEM LDA TST# IS IT CR-LF CALL? INA,SZA,RSS TEST IF TST# WAS -1 STA TST# YES, CLEAR TST# LDB SW10 NO, CHECK IF SUPRESSED JSB SWR,I JMP MSGEX YES, EXIT MSG2 LDA MSG NO - OUTPUT MESSAGE JSB OPMSG OUTPUT MESSAGE MSGEX LDA MSG,I GET RETURN ADDRESS JMP A,I RETURN TO CALLER SKP OPMSG NOP ENTRY TO OUTPUT A MESSAGE INA LDB A,I GET FORMAT ADDRESS INA STA NUA SAVE NUMBER ADDRESS STB FPTA SAVE FORMAT STARTING ADDRESS SZB,RSS IS THERE A MESSAGE JMP OPMSG,I NO LDB BIT8 CHECK IF FAST DEVICE JSB SWR,I WAS REQUESTED CLA,CCE,RSS YES CLA,CLE LDB TST# DO WE WANT TEST # SZB,RSS YES JMP MSGA NO, DON'T PRINT IT LDB TSTF Ř JSB FMTR,I OUTPUT "TST" LDB TST# JSB FMTR,I OUTPUT NUMBER LDB BIT8 JSB SWR,I CLA,CCE,RSS CLA,CLE MSGA LDB FPTA RETRIEVE MESSAGE JSB FMTR,I START FORMAT MSGL0 CPA .43 IS THERE ANY NUMBER REQUESTED RSS JMP OPMSG,I NO LDB NUA,I YES GET NUMBER CCA JSB FMTR,I OUTPUT IT ISZ NUA MOVE TO NEXT NUMBER JMP MSGL0 NUA NOP FPTA NOP TSTF DEF *+1 ASC 4,TEST #/ * .43 OCT 43 SKP SDS EQU * SUB DEF START DEF TST0 DEF TST1 DEF TST2 DEF TST3 DEF TST4 DEF TST5 DEF TST6 DEF TST7 DEF TST8 DEF TST9 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEC -1 SPC 5 * IODS EQU * I/O DEF START DEF T2SC1 DEF T2SC2 DEF T2SC3 DEF T3SC1 DEF T3SC2 DEF T3SC3 DEF T3SC4 DEF T3SC5 DEF T3SC6 DEF T3SC7 DEF T4SC1 DEF T4SC2 DEF T5SC1 DEF T5SC2 DEF T5SC3 DEF T6SC1 DEF T6SC2 DEF T6SC3 DEF T6SC4 DEF T6SC5 DEF T6SC6 DEF T7SC1 DEF T7SC2 SKP * HWSIC UNIQUE SETTINGS * DEF ISC1 DEF ISC2 DEF ISC3 DEF ISC4 DEF ISC7 DEF XSC1 DEF RSC1 DEF LSC1 DEF FSC1 DEF FSC2 DEF ESC1 DEF ESC2 DEF ESC3 DEF ESC4 DEF ESC5 DEF ESC6 DEF ESC7 DEF WSC1 DEF WSC2 DEF WSC3 DEF CXSC1 DEF CXSC2 DEF CRSC1 DEF CHSC1 DEF CHSC2 DEF CWSC1 DEF CWSC2 DEF SSC1 DEF SSC2 DEF SSC3 DEF ESC8 DEF ESC9 DEF ESC10 DEF ESC11 DEF ESC12 DEF ESC14 DEF FXSC1 DEF FXSC2 DEF T13C1 DEF T1hq3C2 DEF T13C3 DEF T13C4 DEF T13C5 DEF T13C6 DEF T13C7 DEF T13C8 DEF T13C9 SKP DEF CW1 DEF DSCX1 DEF DSCR1 DEF ISC5 DEF ISC6 DEF ISC8 DEF HXSC1 DEF HXSC3 DEF HXSC4 DEF HXSC5 DEF XSTA3 DEF RSTA1 DEF TXMI1 DEF TXMI2 DEF TRCV1 DEC -1 SKP * * TEST 0 HEADING * TST0 NOP CLE ADD DSN TO HEADER MESSAGE LDA DSN BY GETTING DSN LDB DSNP SPECIFY STORAGE POINTER JSB O2ASC,I & CONVERT STRING TO ASCII JSB MS,I DEF TST0,I DEF *+1 ASC 20,HARDWIRED SERIAL INTERFACE DIAGNOSTIC, DSNB ASC 6,DSN XXXXXX/ DSNP DEF DSNB+2 * SKP * * TEST 1 STF 0 - CLF 0 - SFS 0 - SFC 0 * TST1 NOP P LDA LPCNT SET LOOP STA CNTR COUNTER LDA HLT0 PUT HALT TRAP IN AREG. TLT1 CLB STF 0 * RSS SAFTY FOR BAD SKP LINE JMP TET1 REPORT ITS BAD CLF 0 * LDB .1 .1 SFC 0 *? JMP TET1 *BAD LDB .2 .2 SFS 0 *? RSS * JMP TET1 *BAD STF 0 * LDB .3 .3 SFC 0 *? RSS * JMP TET1 *BAD LDB .4 .4 SFS 0 *? JMP TET1 *BAD ISZ CNTR NO LOOP AGAIN? JMP TLT1 YES JMP TST1,I NO - RETURN TO EXEC * TET1 STB TBT1 INDICATE ERROR JSB ER,I REPORT ERROR DEF TST1,I DEF *+3 TBT1 NOP NOP ASC 19,STF 0 - CLF 0 - SFS 0 - SFC 0 FAILURE ASC 4,(A = #)/ SKP * TEST 2 CHECK FOR NO INTERRUPT AFTER CLF 0 * TST2 NOP LDA LPCNT SET LOOP STA CNTR COUNTER TLT2 JSB TCJMP PUT JMP IN TRAP CELL DEF TIT2 RETURN LOC0.*ATION IF INTERRUPT LDA HLT0 LDB HLT1 T2SC2 STF TSC SET THE FLAG FF T2SC1 STC TSC SET THE CONTROL FF CLF 0 TURN OFF INTERRUPT SYSTEM NOP GIVE IT A CHANCE NOP NOP T2SC3 CLF TSC RESET TSC FLAG ISZ CNTR LOOP DONE? JMP TLT2 NO JMP TST2,I * TIT2 JSB ER,I REPORT ERROR DEF TST2,I DEF *+1 ASC 8,INT AFTER CLF 0/ SKP `j0  % 24335-18004 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 !i* TEST 3 STF TSC - CLF TSC - SFS TSC - SFC TSC * TST3 NOP LDA LPCNT SET LOOP STA CNTR COUNTER LDA HLT0 PUT TRAP IN A REG. CLB TLT3 EQU * T3SC1 STF TSC * RSS JMP TET3 SKF SIGNAL UP T3SC2 CLF TSC * LDB .1 .1 T3SC3 SFC TSC *? JMP TET3 *BAD LDB .2 .2 T3SC4 SFS TSC *? RSS * JMP TET3 *BAD T3SC5 STF TSC * LDB .3 .3 T3SC6 SFC TSC *? RSS * JMP TET3 *BAD LDB .4 .4 T3SC7 SFS TSC *? JMP TET3 *BAD ISZ CNTR NO - LOOP AGAIN? JMP TLT3 YES JMP TST3,I NO * TET3 STB TAT3 SET ERROR TYPE JSB ER,I REPORT IT DEF TST3,I DEF *+3 TAT3 NOP TBT3 NOP B REG. DISPLAY ASC 19,STF TSC - CLF TSC - SFS TSC - SFC TSC ASC 8,FAILURE (A = #)/ SKP * * TEST 4 SELECT CODE SCREEN TEST * CHECK THAT SETTING OTHER FLAGS * DOES NOT SET THE TSC FLAG * TST4 NOP LDA LPCNT SET LOOP STA CNTR COUNTER LDA .10 START WITH LOWEST ADDRESS TLT4 STA TAT4 SAVE IT CPA SC IS IT THE TSC JMP TNT4 YES SKIP IT IOR STF0 SET UP SET FLAG INSTRUCTION STA .STF0 PUT IN PLACE T4SC1 CLF TSC CLEAR TSC FLAG .STF0 NOP EXECUTE STF SC INSTRUCTION T4SC2 SFS TSC TEST SCG FLAG RSS JMP TET4 IT WAS SET - SO ERROR TNT4 LDA TAT4 GET TEST SELECT CODE INA MOVE IT TO NEXT ONE CPA .100 IS IT FINISHED RSS YES JMP TLT4 NO ISZ CNTR ALL LOOP DONE? JMP TLT4-1 NO JMP TST4,I YES * TET4 JSB ER,I REPORT ERROR DEF TST4,I DEF *+3 TAT4 NOP TBT4 NOP ASC 10,STF # SET TSC FLAG/ * STF0 STF 0 Gn SKP * * TEST 5 CHECK FOR INTERRUPT HOLD OFF * TST5 NOP LDA LPCNT SET LOOP STA CNTR COUNTER TLT5 LDA T5.I0 SET TRAP CELL JSB STA SC,I CLA SET UP FOR TEST STA TFT5 STA TIT5 STA TZT5 LDA HLT0 LDB HLT1 T5SC1 STC TSC TURN ON T5SC2 STF TSC TSC STF 0 AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * TFT5 NOP * ISZ TZT5 INT. SHOULD BE HERE ISZ TZT5 CLF 0 TURN OFF INTERRUPT SYSTEM LDA TIT5 DID IT INTERRUPT SZA,RSS ? JMP TET5C NO - REPORT ERROR LDA TZT5 CHECK INTERRUPT CORRECTLY CPA .2 ? RSS YES JMP TET5D NO - REPORT ERROR CLF 0 TURN OFF INTERRUPTS T5SC3 CLF TSC AND TSC FLAG ISZ CNTR LOOP DONE? JMP TLT5 NO TRT5 JMP TST5,I RETURN TO EXEC * TZT5 NOP TDT5 DEF TFT5-1 TDT5A DEF TFT5+1 SKP TIT5 NOP CLF 0 TURN OFF INTERRUPTS LDA TDT5 CHECK TO SEE IF ALL CPA TFT5 INSTRUCTIONS COMPLETED RSS YES - CONTINUE JMP TET5A AND REPORT ERROR JSB TCJMP SET SECOND INTP JMP INST. DEF TET5B INT LOCATION LDA TDT5A CHECK RETURN ADDRESS CPA TIT5 FOR CORRECTNESS JMP TIT5A GOOD INA CPA TIT5 AND + 1 JMP TIT5A GOOD JMP TET5D INTERRUPT INCORRECTLY TIT5A LDA HLT0 RESTORE A REG HALT STF 0 TURN ON INTERRUPTS JMP TIT5,I CONTINUE TEST * * TET5A JSB ER,I DEF TRT5 DEF *+3 DEC 1 A REG. DISPLAY TBT5 NOP B REG. DISPLAY ASC 16,INT DURING HOLD OFF INSTRUCTION/ * * TET5B CLF 0 TURN OFF INTERRUPTS JSB ER,I DEF TRT5 DEF *+3 DEC 2 NOP ASC 10,SECOND INT OCCURRED/ * * TET5C JSB ER,I DEF TRT5 DEF *+3 DEC 3 NOP ASC 4,NO INT/ * * TET5D JSB ER,I DEF TRT5 DEF *+3 DEC 4 NOP ASC 7,INT INCORRECT/ SKP * TEST 6 CLC TSC AND CLC 0 * TST6 NOP LDA LPCNT SET LOOP STA CNTR COUNTER JSB TCJMP SET TRAP CELL JMP DEF TET6 JMP LOCATION TLT6 CLA,INA STA TAT6 SET INDICATOR FOR CLC TSC TEST T6SC1 STC TSC SET TSC CONTROL T6SC2 STF TSC SET TSC FLAG STF 0 TURN ON INTERRUPTS T6SC3 CLC TSC CLEAR TSC CONTROL NOP GIVE IT A CHANCE TO INTERRUPT NOP CLF 0 TURN OFF INTERRUPTS ISZ TAT6 INDICATE CLC 0 TEST T6SC4 CLF TSC CLEAR TSC FLAG T6SC5 STC TSC SET TSC CONTROL T6SC6 STF TSC SET TSC FLAG STF 0 TURN ON INTERRUPTS CLC 0 CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP TO INTERRUPT CLF 0 TURN OFF INTERRUPTS ISZ CNTR DONE WITH LOOP? JMP TLT6 NO TRT6 JMP TST6,I RETURN TO EXEC * TET6 JSB ER,I DEF TRT6 DEF *+3 TAT6 NOP NOP ASC 16,CLC 0 OR CLC TSC FAILED (A = #)/ SKP * * TEST 7 EXTERNAL PRESET * TST7 NOP LIA 1 CHECK IF LOOP ON DIAGNOSTIC AND BIT12 WAS SELECTED SZA JMP TST7,I YES, ABORT TEST JSB MS,I NO, OUTPUT MESSAGE DEF TCT7 DEF *+1 ASC 19,PRESS PRESET (EXTERNAL AND INTERNAL), ASC 5,PRESS RUN/ * TCT7 EQU * T7SC1 CLF TSC CLEAR TSC FLAG STF 0 TURN ON INTERRUPTS JSB STOP HLT 0 WAIT FOR OPERATOR RESPONSE * T7SC2 SFS TSC CHECK THE FLAG RSS )  JMP TNT7 OK - CHECK INT. ENABLE * TET7 JSB ER,I NOT OK REPORT ERROR DEF TST7,I DEF *+3 DEC 1 NOP ASC 13,FLAG NOT SET AFTER POPIO/ * TNT7 SFS 0 CHECK INTP. FLAG JMP TST7,I OK RETURN TO EXEC JSB ER,I NOT OK REPORT ERROR DEF TST7,I DEF *+3 DEC 2 NOP ASC 18,INT SYSTEM NOT CLEARED AFTER PRESET/ SKP * * TESTS 8 TRANSFERS 100 WORDS-SFS TSC AND MEM TO MEM COMPARE * TST8 NOP ENTRY POINT LDA T8SAT GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST8,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * HLT 66B TEMP HLT-SHOULDN'T GET HERE * SPC 4 T8SAT DEF T8SA * * SETUPS FOR TEST 8 * T8SA EQU * DEF T8SU1 1 CPU DEF LIST DEF T8SU2 2 CPU XMIT DEF LIST DEF T8SU3 2 CPU RCVR DEF LIST SPC 4 T8SU1 EQU * DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE * T8SU2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR A FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF GOOD COMPLETED MESSAGE * T8SU3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG CHECK FLAG DEF CHFLG WHY FLAG DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 9 TRANSFERS 100 WORDS WITH INTERRUPT ENABLED AND * MAKES MEM TO MEM COMPARISON * TST9 NOP ENTRY POINT LDA T9SAT GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST9,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .7 IS IN AN INT TIMEOUT? JMP TETX3 YES * HLT 66B SHOULDN'T GET HERE * TETX3 JSB ER,I REPORT ERROR DEF TST9,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 7 A REG NOP B REG ASC 12,NO INT IN DATA TRANSFER/ SPC 4 T9SAT DEF T9SA * * SETUPS FOR TEST 9 * T9SA EQU * DEF T9SU1 1 CPU DEF LIST DEF T9SU2 2 CPU XMIT DEF LIST DEF T9SU3 2 CPU RCVR DEF LIST SKP T9SU1 EQU * DEF ENINR ENABLE INTERRUPT DEF FXMIT 1 CPU TRANSMIT DEF TIMER WAIT FOR INT DEF DUMMY FILLER DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE * T9SU2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMTI SEND 100 WORDS DEF GOOD COMPLETED MESSAGE * T9SU3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF RCVI RECEIVE 100 WORDS DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 10 CHECKS FOR WDO. FIRST THE FLAG IS CHECKED * THEN THE STATUS WORD IS CHECKED. * TST10 NOP ENTRY POINT LDA BIT9 SET WATCHDOG BIT STA WORD FOR CWORD LDA .17 SET TIME FOR STA TIME WAIT SUBROUTINE LDA T10ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST10,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * LDB .2 SET EXIT CODE JSB ERRS FIND E32RROR TYPE IF COMMON * STA TAT10 CPA .1 WAS IT WDO FLAG NOT SET? JMP TT103 YES * CPA .2 WAS IT WDO BIT NOT SET? JMP TT103 YES * HLT 66B TEMP HLT - SHOULDNT GET HERE * TT103 JSB ER,I REPORT ERROR DEF TST10,I RETURN POINT DEF *+3 MESSAGE ADDRESS TAT10 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 14,NO WATCHDOG TIMEOUT (A = #)/ * T10ST DEF T10SA SKP * * SETUPS FOR TEST 10 * T10SA EQU * DEF T10S1 1 CPU DEF LIST DEF T10S2 2 CPU XMIT DEF LIST DEF T10S3 2 CPU RCVR DEF LIST * T10S1 EQU * DEF CWORD OUTPUT CONTROL WORD DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE * T10S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CWORD OUTPUT CONTROL WORD DEF RCVR CLEAR WATCHDOG DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE * T10S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG CHECK FLAG DEF RCVR RECEIVE A WORD DEF CWORD OUTPUT CONTROL WORD DEF WAIT WAIT 15 MS DEF WDO CHECK WATCHDOG DEF GOOD COMPLETED MESSAGE SKP * * TEST 11 CHECKS THE CLEAR CRC BIT * ORG 4000B * TST11 NOP ENTRY POINT LDA BIT11 SET SEND CRC BIT STA WORD FOR CWORD LDA T11ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST11,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * ` LDB .1 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .2 WAS THE ERROR BIT SET? JMP TET11 YES * HLT 66B TEMP HLT - SHOULDN'T GET HERE * TET11 JSB ER,I REPORT ERROR DEF TST11,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 8,CLEAR CRC ERROR/ * T11ST DEF T11SA SKP * * SETUPS FOR TEST 11 * T11SA EQU * DEF T11S1 1 CPU DEF LIST DEF T11S2 2 CPU XMIT DEF LIST DEF T11S3 2 CPU RCVR DEF LIST * T11S1 EQU * DEF CWORD OUTPUT CONTROL WORD DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE * T11S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE * T11S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE SKP * * TEST 12 CHECKS SENDING CRC AS TEXT WORD AFTER 100 WORD BLOCK * TST12 NOP ENTRY POINT LDA .5 SET TIME FOR STA TIME WAIT SUBROUTINE LDA BIT11 GET SEND CRC BIT STA WORD SAVE FOR CWORD * LDA T12ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST12,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE LDB CRC STB TTX12 * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON *  CPA .17 WAS CRC TO CRC = 0? JMP TE121 NO * CPA .2 TEXT CRC ERROR? JMP TE122 YES * CPA .6 CRC WRONG? JMP TE123 YES * HLT 66B SKP TE121 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS TTX12 NOP CONTENTS FOR A REG NOP CONTENTS FOR B REG ASC 10,CRC TO CRC EQUAL #/ * TE122 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 2 A REG NOP CONTENTS FOR B REG ASC 8,TEXT CRC ERROR/ * TE123 LDA REM1 GET CALCULATED CRC STA TT121 STORE FOR MESSAGE LDA DEST,I GET RECEIVED CRC STA TT122 STORE FOR MESSAGE LDB TEE SET FOR TRANSMIT CRC LDA TYPE WHICH IS IT? SZA SKIP IF TRANSMIT LDB ARE SET FOR RECEIVE CRC STB TT123 JSB ER,I REPORT ERROR DEF TST12,I RETURN POINT DEF *+3 MESSAGE ADDRESS TT121 NOP A REG TT122 NOP B REG TT123 ASC 12,X CRC SHOULD BE #, IS #/ * TEE ASC 1,T ARE ASC 1,R T12ST DEF T12SA SKP * * SETUPS FOR TEST 12 * T12SA EQU * DEF T12S1 1 CPU DEF LIST DEF T12S2 2 CPU XMIT DEF LIST DEF T12S3 2 CPU RCVR DEF LIST * T12S1 EQU * DEF CXMIT TRANSMIT + FIND CRC DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT DUMMY TRANSMIT DEF FLAG WAIT FOR FLAG DEF RCVR RECEIVE CRC DEF COMPS COMPARE THEM DEF INIT INITIALIZE DEF FCRC SET CRC KIND TO RECEIVE DEF FXMIT 1 CPU TRANSMIT DEF FLAG WAIT FOR FLAG t640 DEF CHFLG WHY FLAG DEF CRCVR RECEIVE + FIND CRC DEF LOOPR BACK UP 4 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT DUMMY TRANSMIT DEF FLAG WAIT FOR FLAG DEF RCVR RECEIVE CRC DEF COMPS COMPARE THEM DEF GOOD COMPLETION MESSAGE SKP * T12S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF XMIT TRANSMIT A WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF WAIT WAIT 5 MS DEF RESET RESET POINTERS DEF RESET RESET POINTERS DEF CWORD OUTPUT CONTROL WORD DEF FXMIT TRANSMIT DUMMY WORD DEF LOOP WAIT FOR RETURN CRC DEF FLAG CLEAR FLAG DEF RCVR RECEIVE A WORD DEF ZERO IS IT ZERO? DEF WAIT GET 2 CPU'S IN SYNC DEF GOOD COMPLETED MESSAGE * T12S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LOOP WAIT FOR 1ST WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CRCVR RECEIVE + FIND CRC DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF RESET RESET POINTERS DEF LOOP WAIT FOR CRC DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF COMPS COMPARE CRC'S DEF CWORD OUTPUT CONTROL WORD DEF XMIT TRANSMIT DUMMY WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF CCRC CHECK CRC ERROR DEF GOOD COMPLETED MESSAGE SKP 6  ' 24335-18005 1717 S 0122 12889 HARDWIRED SERIAL INTERFACE CARD DIAG             H0101 "i* * TEST 13 CHECKS THE HARDWARE HANDSHAKE MODE * TST13 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST13,I NO, EXIT TEST LDA .5 YES, SET TIME FOR STA TIME WAIT SUBROUTINE LDA BIT13 GET HANDSHAKE BIT STA WORD SAVE FOR CWORD CLA STA SWORD+1 * LDA T13ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST13,I GOOD RETURN * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * CLB SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .17 HANDSHAKE COMPARE ERROR? JMP TE131 YES * HLT 66B * * T13ST DEF T13SA * TE131 LDA SWORD STA TE132 LDA SWORD+1 STA TE132+1 JSB ER,I REPORT ERROR DEF TST13,I RETURN POINT DEF *+3 MESSAGE ADDRESS TE132 NOP A REG NOP B REG ASC 17,HANDSHAKE ERROR-SHOULD BE #, IS #/ * * * SETUPS FOR TEST 13 * T13SA EQU * DEF T13S1 1 CPU DEF LIST DEF T13S2 2 CPU XMIT DEF LIST DEF T13S3 2 CPU RCVR DEF LIST * T13S1 EQU * DEF NONO NO CAN DO MESSAGE SKP T13S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF FXMIT TRANSMIT A WORD DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE THEM DEF WAIT PAUSE 1 MS DEF SXMIT TRANSMIT WORD AS SIGNAL DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG DEF CLEAR CLEAR HANDSHAKE BIT DEF LOOP WAIT FOR SIGNAL WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG DEF SRCVR CLEAR SUSPEND k DEF RESET RESET POINTERS DEF WAIT PAUSE 1 MS DEF HXMIT XMIT IST WORD, SET CONTROL, 2ND DEF XMIT LOAD TRANSMITTER DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF LOOPR BACK UP 3 WORDS IN LOOP DEF RCVR CLEAR SUSPEND DEF GOOD COMPLETED MESSAGE SKP T13S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF CLEAR CLEAR HANDSHAKE BIT DEF LOOP WAIT FOR SIGNAL WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR CLEAR SUSPEND DEF WAIT PAUSE 1 MS DEF FXMIT TRANSMIT A WORD DEF LOOP WAIT FOR WORD DEF FLAG CLEAR FLAG DEF CHFLG WHY FLAG? DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE THEM DEF WAIT PAUSE 1 MS DEF SXMIT TRANSMIT WORD AS SIGNAL DEF CWORD OUTPUT CONTROL WORD DEF SXMIT LOAD BUFFER DEF LOOP WAIT FOR WORD DEF FLAG WAIT FOR FLAG DEF CHFLG WHY FLAG? DEF RCVR RECEIVE A WORD DEF LOOPR BACK UP 3 WORDS IN LOOP DEF COMPA COMPARE BLOCKS DEF GOOD COMPLETED MESSAGE SKP * * TEST 14 CHECKS LISTEN-REPEAT MODE * TST14 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST14,I NO, EXIT TEST LDA .2 YES, SET INITIAL ADDRESS STA ADDR FOR LISTEN-REPEAT CCA SET ALL BITS FOR ADDRESS WORDS STA WORDS STA WORDS+1 STA WORDS+2 XOR BIT15 ONLY 63 ADDRESS SO STA WORDS+3 DELETE 64TH BIT * LDA T14ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST14,I GOOD RETURN *  CPA .7 WAS IT FROM NOREC? JMP TST14,I YES, EXIT * LDB ERROR SET STATUS WORD STB TTX4 FOR ERROR MESSAGE * LDB .1 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .2 WAIT FOR INTERRUPT ABORT? JMP TE141 YES * CPA .3 LISTEN-REPEAT ERROR? JMP TE142 YES * CPA .4 TAG BIT SET? JMP TE143 YES * CPA .5 WRONG RECOGNITION? JMP TE144 YES * CPA .6 IMPOSSIBLE ADDRESS? HLT 13B YES, SOFTWARE SICK * HLT 66B SKP TE141 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 A REG OCT 1 B REG ASC 12,NO INT IN LISTEN-REPEAT/ * TE142 LDA ADDR SET UP NUMBERS FOR STA TS142 ERROR MESSAGE LDA WADDR STA TS142+1 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS TS142 NOP A REG NOP B REG ASC 19,LISTEN-REPEAT ERROR: SENT #, RECEIVED ASC 1,#/ * TE143 JSB ER,I RERORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP A REG NOP B REG ASC 19,TAG BIT SET WITH ADDRESS CONFIRMATION/ * TE144 LDA ADDR SET UP NUMBERS FOR STA TS144 ERROR MESSAGE LDA WADDR STA TS144+1 JSB ER,I REPORT ERROR DEF TST14,I RETURN POINT DEF *+3 MESSAGE ADDRESS TS144 NOP A REG NOP B REG ASC 19,RECOGNITION ERROR: SHOULD BE #, IS #/ * T14ST DEF T14SA SKP * * SETUPS FOR TEST 14 * T14SA EQU * DEF T14S1 1 CPU DEF LIST DEF T14S2 2 CPU XMIT DEF LIST DEF T14S3 2 CPU RCVR DEF LIST * T14S1 EQU * DEF NONO NO CAN DO MESSAGE * T14S2 EQU * DEF XSTAR GET CPU'S IN STEP DEF STAG SET TAG BIT DEF LRS GET ADDRESS AND SEND DEF FLAG WAIT FOR REPEAT DEF CHFLG WHY FLAG? DEF LRG GET AND COMPARE REPEATED WORD DEF SHPAS WAIT FOR ADDRESS CONFIRMATION DEF LRLOP INCREMENT ADDRESS AND LOOP DEF NOREC SEE IF ANY NO RECOGNITIONS DEF GOOD COMPLETED MESSAGE * T14S3 EQU * DEF RSTAR GET CPU'S IN STEP DEF LRCWD SET LISTEN-REPEAT MODE DEF LRS SET ADDRESS DEF ENINT ENABLE INTERRUPT DEF SLOOP WAIT FOR INTERRUPT DEF LRCLR DISABLE LISTEN-REPEAT DEF LRS SEND THIS ADDRESS DEF LRLOP INCREMENT ADDRESS AND LOOP DEF GOOD COMPLETED MESSAGE SKP * * TEST 15 CHECKS TAG 1 INTERRUPT OF DMA TRANSFER * TST15 NOP ENTRY POINT LDA USSC CHECK FOR DUAL CPU TRANSFER AND BIT8 SZA,RSS JMP TST15,I NO,EXIT TEST LDA BIT8 YES, GET IRQ TAG BIT STA WORD FOR CWORD CLA STA SWORD+1 LDA .5 SET WAIT LOOP IN SUBROUT. "WAIT" STA TIME TO 5 MS. LDA WCSTP SET WORD COUNT POINTER TO STA WCP BEGINNING OF TABLE * LDA T15ST GET DEF POINTER JSB HDWSI DO SUBROUTINES JMP TST15,I GOOD EXIT * LDB ERROR SET STATUS WORD STB TTX4 LDB .2 SET EXIT CODE JSB ERRS FIND ERROR TYPE IF COMMON * CPA .6 DMA XMIT ABORT? JMP TE151 YES * CPA .2 NO RCVR INTP? JMP TE152 YES * CPA .17 TAG ONE WORDS NOT COMPARE? JMP TETXL YES * CPA .7 TAG BIT NOT SET? JMP TETX7 YES * * CPA .5 RESIDUE WRONG? JMP TE153 YES * HLT 66B SKP TETXL JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS h OCT 2 A REG NOP B REG ASC 16,TAG BIT NOT SET IN STATUS WORD/ * TETX7 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 1 A REG NOP B REG ASC 15,TAG ONE WORDS DO NOT COMPARE/ * TE151 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 3 A REG NOP B REG ASC 11,ABORTED DMA TRANSFER/ * TE152 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS OCT 4 A REG NOP B REG ASC 9,NO INT WHILE DMA/ * TE153 LDA RESID STA TE154 JSB ER,I REPORT ERROR DEF TST15,I RETURN POINT DEF *+3 MESSAGE ADDRESS TE154 NOP A REG OCT 17716 B REG ASC 16,RESIDUE WRONG; = #, SHOULD BE #/ * T15ST DEF T15SA SKP * * SETUPS FOR TEST 15, STARTING ADDRESSES OF SUBROUTINES * T15SA EQU * DEF T15S1 1 CPU DEF LIST DEF T15S2 2 CPU XMIT DEF LIST DEF T15S3 2 CPU RCVR DEF LIST * T15S1 EQU * DEF NONO NO CAN DO MESSAGE * T15S2 EQU * DEF CHCON CHECK CONFIGURATION FOR DMA DEF XSTAR GET CPU'S IN STEP DEF WRDCT SET WORD COUNT FOR DMAX & DMAR DEF DMAX START DMA TRANSMIT DEF DMAWF WAIT FOR DMA COMPLETION DEF FLAG CHECK IF FLAG SET, IF SET CLEAR IT DEF STAG SET TAG BIT (BIT6), THEN JSB CWORD DEF SXMIT TRANSMIT SPECIAL WORD DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3 DEF LOOP LOOP & WAIT F.1ST WORD TRANSMITTED DEF FLAG CHECK IF FLAG SET, IF SET CLEAR IT DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3 DEF SRCVR RECEIVE SPECIAL WORD DEF COMP1 COMPARE TRANSMITTED WITH RECEIVED WORD DEF TAG1 CHECK VIA STATUS WORD IF TAG BIT WAS SET * DEF XSTAR GET CPU'S IN STEP * DEF GOOD COMPLETED MESSAGE SPC 2 T15S3 EQU * DEF CHCON CHECK CONFIGURATION FOR DMA DEF RSTAR GET CPU'S IN STEP DEF CWORD OUTPUT CONTROL WORD TO BOARD ONLY DEF WRDCT SET WORD COUNT FOR DMAX & DMAR DEF DMAR START DMA RECEIVE DEF ENINT ENABLE INTPT & SET TRAP CELL OF INTF TO INTPT DEF SLOOP LOOP & WAIT FOR INTERRUPT WHILE DMA DEF TAG1 CHECK VIA STATUS WORD IF TAG BIT WAS SET DEF COMP1 COMPARE TRANSMITTED WITH RECEIVED WORD DEF CHRES CHECK RESIDUE OF WORD COUNT REG. DEF STAG SET TAG BIT (BIT6), THEN JSB CWORD DEF SXMIT TRANSMIT SPECIAL WORD DEF CHFLG CHECK IF FLAG SET BY STAT WD BITS 0,1&3,1&3 * DEF RSTAR GET CPU'S IN STEP * DEF GOOD COMPLETED MESSAGE SKP * REPORT DMA INTERRUPT ERROR * TEST 15 * DMAIN CLC 0,C TURN OFF INTERRUPTS CLC 6,C DISABLE DMA LDB HLT6 RESTORE TRAP CELL HALT STB 6 JSB ER,I REPORT ERROR DEF TSTX,I RETURN POINT DEF *+3 MESSAGE ADDRESS NOP A REG NOP B REG ASC 7,HAD A DMA INT/ SPC 4 * ENABLE RECEIVE DMA AND BOARD * TEST 15 * DMAR NOP ENTRY POINT LDA CW1 GET I/O CHANNEL OTA 6 SET DMA * CLC 2 LDA DEST GET DESTINATION ADDRESS IOR BIT15 SET INPUT BIT OTA 2 SET DMA * STC 2 LDA CW3R GET WORD COUNT OTA 2 SET DMA * STC 6,C ACTIVATE DMA DSCR1 CLF TSC CLEAR BOARDS FLAG JMP DMAR,I EXIT SPC 4 * GET WORD COUNT FOR TRANSMITTER AND RECEIVER FROM TABLE * TEST 15 * WRDCT NOP LDA WCP,I GET WORD COUNT FOR TRANSMITTER, STA CW3X STORE AND INCREMENT POINTER ISZ WCP  NOP LDA WCP,I GET WORD COUNT FOR RECEIVER, STA CW3R STORE AND INCREMENT POINTER ISZ WCP NOP JMP WRDCT,I EXIT SKP * ENABLE TRANSMIT DMA AND BOARD & SET TRAP CELL OF DMA TO INTPT * TEST 15 * DMAX NOP ENTRY POINT LDA DMAS STORE JMP,I TO SUBROUT DMAIN STA 6 INTO TRAP CELL LDA CW1 GET I/O CHANNEL OTA 6 SET DMA CLC 2 LDA CW2X GET SOURCE ADDRESS OTA 2 SET DMA * STC 2 LDA CW3X GET WORD COUNT OTA 2 SET DMA * STC 6,C ACTIVATE DMA DSCX1 STF TSC ACTIVATE BOARD JMP DMAX,I SPC 4 * WAIT FOR DMA COMPLETION ON BOARD * TEST 15 * DMAWF NOP LDA .M35C SET COUNTER FOR ABORT 3500 LOOPS STA TMP SFS 6 WAIT FOR DMA COMPLETION JMP *+2 NOT YET JMP DMAW1 YES, EXIT * ISZ TMP CHECK FOR ABORT JMP *-4 NOT YET * ISZ DMAWF LDA .6 ERROR CODE = 6 DMAW1 LDB HLT6 RESTORE TRAP CELL STB 6 CLC 6,C DISABLE INTP JMP DMAWF,I EXIT SKP SPC 4 HLT6 OCT 106006 CW1 OCT 0 CW2X EQU SOURC CW3X OCT 0 CW3R OCT 0 * WCSTP DEF WCTR WCP DEF WCTR WCTR DEC -50 DEC -100 SKP ADREC ASC 13,NO RECOGNITION-ADDRESS #/ * * SAS EQU * REP 10 OCT 52525 REP 10 OCT 125252 REP 10 OCT 100001 REP 10 OCT -1 REP 10 OCT 70707 REP 10 OCT 107070 REP 10 OCT -1 REP 10 OCT 100001 REP 10 OCT 125252 REP 10 OCT 52525 * SAD EQU * BSS 100 FWAA EQU * END V0.**0  ' 24336-80001 A S 0122 12K SIO 7970 MAG TAPE DRIVER             H0101  ASMBAB̬ HDKSϠAK90DVҠ NGUANSN G MP3 DƠAPɠNAZŠAPŠHANNS G06B DƠAP-ASԠDAVAABŠNMMY DƠAPŠNYPN G6000BKVSN APɠAGԠƠUNSMSH A̠GSҠAŠ. SSASSSN.ƠUNS3? MP+3N. HԠ0YS MPAPɠYAGAN. AƬAҠUNSNנN0-3. AND.MASKƠ3-5. MAA-A. DBM5B-5. SBҠSŠB. DBSAPD SBS̲NGUŠHŠDV DBS̱ASUHHAԠAA SBS̱ҠNN-SN DBS̱ɠSBUMPDDN SBS̲ɠANSNGUN. SZS̱NMN SZS̲HŠS SZҠDSAND NASZAHŠS MP-6UN.PBAK. SZҠNSHD? SSYS. MP+5GϠGԠɯϠS. DAS̱AɠNGUŠA SAS̲ɠSԠDS SZS̲NSHD? MP-6NϬP. AGԠɯϠDAAHANN̠ AND.MASKƠBS5-6. SAϠSŠA. DADANԠA-. DBDAABADDSSƠANSϠM. SBMɠGϠMA̠DAAHANN̠ɯϠMMANDS. SZϠϠMMANDHANN. DAHNԠA-9. DBMNDBADDSSƠANSϠM. SBMɠGϠMA̠MDHANN̠ɯϠMMANDS. HԠBNSHD. MPAPɠYUHAVŠASNDHAN. MɠNPNYPN. SANNԠSŠƠPASϠNGU DAɠGԠADDSSMBGS. ANDMSKMASKƠBS5-6. ҠϠANGUDNSUN SAɠSŠ. NBGԠNԠNSUàN. SZNNԠNMNԠUN. MPM+PBAK. MPMɬɠNSHD. ϠNPɯϠSԠNANNGMAGAPŠAD. .Ԡ NNԠNPUN. .Ԡ MSKԠ00 S̱ADƠ+ADDSSƠSԠUNS0-3 Ԡ000000000 S̱BSS S̲BSS ҠBSS M5Ԡ-5 HNԠDà-9 DANԠDà- MNDDƠ+ɠADDSSƠ9ɯϠNSUNS DƠ.05ϠMMANDHANN DƠ.0 DƠ.0 DƠ.5 DƠ.6 DƠ.30 DƠ.3 DƠ.35 DƠ.0 DƠ.5 DƠ.65 DƠ.90 DƠ.9 DƠ.00 DƠ.0 DƠ.0 DƠ. DƠ. DƠ.3 DAADƠ+ɠADDSSƠɯϠNSUNS DƠD.0ϠDAAHANN DƠD.0 DƠD. DƠD. DƠD.30 DƠD.35 DƠD.0 NGSHŠMAGAPŠDVҠ-ABVŠNGUAN SNSASD. ANGSUN:(ADũ DA0.*DƠU MUNABS-UN DƠDAB PDBSMPPDB- SPUSS UNNUNNYADDSSS PDBDƠAB DƠN DƠSPA DƠAN DƠAN DƠP DƠG DƠABS DƠS DƠN DƠND DƠSGN DVSҠDƠDVSS'N'SDNŠNASPA̠AY DƠYP DƠM DƠSN DƠS DƠBK SPà DVSSDà0000 Dà000 Dà00 Dà0 MNGԠ00000 Ԡ36 HAƠDà0.5 M6UD00 HMSKUM56 ƠU.- ҠU.- BԱ5UMNG A000UB000 HŠNGNSANSAŠMASKSҠHŠB-AGD NAHUS'SYAB ҠU.+APŠ AGU.+MPŠMD HAGU.+$HϠSUNNNG APƠU.+USҠNAPŠMD UNABԠU.+6UNABŠϠAB UԠU.+3UPUԠBUҠU MUB00MMUNANM ABYUB00ABԠAMP DHKUB00HKҠDYS HNGUB000HANUNNNG PUAԠUB000PGAMUNADB MBUSԠUB000MBUSYPSV PBGUPPABԠAPABYDSABD BGUB0M"BAK"MMANDGVN ҠUMPAB SSDƠS P35 DƠS SDƠS P50 DƠS SDƠS P DƠS SDƠS P9 DƠS # 0  ) 24337-80002 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 2 OF 52             H0101 0 HDUSҠAA USŠDƠUS USɠDƠUSҬ GB USҠU AGDà3000SYSMV̠D BGDà00AUŠV̠D GNP PGNP BUSU SUBUNŠUNADDSSS SàNP MP-D SBSKNP MP-D UҠNP MP-D PPNP MP-D VAPNP MP-D ADNP MP-D PGNNP MP-D BSHNP MP-D GPƠNP MP-D PKNP MP-D PKNP MP-D ҠNP MP-D SPNP MP-D HSԠNP MP-D DGKNP MP-D KNP MP-D SBPUDNP MP-D SYMKNP MP-D NHNP MP-D NUMKNP MP-D MBY0NP MP-D DBY0NP MP-D NM̠NP MP-D .PAKNP MP-D VנNP MP-D DPҠNP MP-D NDPSNP MP-D SSYMԠNP MP-D ASYMԠNP MP-D DMP̠NP MP-D PNSԠNP MP-D USPNP MP-D SDNP MP-D SPNP MP-D GSԠNP MP-D MؠNP MP-D SSҠNP MP-D SBؠNP MP-D PSҠNP MP-D UHKNP MP-D SҠNP MP-D MPҠNP MP-D PHKNP MP-D HNP MP-D SDPNP MP-D DAANP MP-D SHNP MP-D PSHSԠNP MP-D ANVNP MP-D BNPNP MP-D SPNP MP-D PHKNP MP-D SHKNP MP-D .ADNP MP-D .SBNP MP-D .MPNP MP-D PH.DVNP MP-D .UNNP MP-D ؠNP MP-D NUԠNP MP-D NUMԠNP MP-D GDGNP MP-D UNNP MP-D DMNP MP-D SPԠNP MP-D .PNP MP-D .GNP MP-D .HBNP MP-D .NԠNP MP-D .PҲNP MP-D NA̠NP MP-D GҠNP MP-D BKSPNP MP-D UҠNP MP-D UNNP MP-D MUԠNP MP-D USԠNP MP-D SNԠNP MP-D BDNNP MP-D DMNP MP-D VHKNP MP-D SҠNP MP-D HUƠNP MP-D MVҠNP MP-D ƠNP MP-D ƠNP MP-D V̠NP MP-D SҠNP MP-D SԠNP MP-D GYPNP MP-D BUƠNP MP-D AMNP MP-D SPԠNP MP-D NHNP MP-D MGNP MP-D ḎNP MP-D UNDNP MP-D UB̠NP MP-D U̠NP MP-D DSHNP MP-D MHAҠNP MP-D VPNP MP-D USKNP MP-D PSHNP MP-D MAԠNP MP-D PUSNP MP-D SKNP MP-D DPNP MP-D UàNP MP-D DABҠNP MP-D DUS-SBB+ GNA̠USAGŠNMAN NDرBSS30-BԠANDM NDزBSSNG. .NUMBSS NAMŠBSS HԠBSS BANKԠ0 SBPҠBSS SYMBBSS VABBSS SPGDƠPGB+ VGBSS SSBSS PԠBSS ԠBSS USSNBSmS NUMPԠBSS NUƠNP AMBSS MPBSS9 MPBSS YMPBSS UMPBSS زMPBSS AMPBSS BMPBSS DMPBSS BNϱBSS BNϲBSS MPBNP SàBSS6 àBSS ñBSS òBSS NҠBSS DPBSS DPGBSS DSABSS AGBSS SԠBSS GBSS SPBSS SSBSS SҠBSS NHBSS NUMBSS NUMBSS PñBSS PòBSS SADBSS SBDBSS PMASKBSS DBSS ASNPBSS DPԠ50000 PԠ5000 PԠBSS AGԠ0 GUS+55B PGBU- PNSANDMPAS GBԠUMNG GAGUNUM PNGUS SGNUK MANԱUSSYM MANԲUASYM PUDMP PNUPNS AGUM NMMPUSDP NMPҠUDAA NUMBƠUMP+3 DGԠUH N0UMBY0 MPUV 0USHK ԱUDM ԲUNH 3USP ԴU.HB 5U.N 6U.PҲ ԷU.P ԸUMA ԱUNA 3UBKSP DGNԠUSP SUàUS DSԠUGYP AP0UMV APUS UUHU SYNAؠNMANMPAS ԠUVAB SBUAUMP+5 SYNѠUVHK SSAKUMP+ MAҠU.AD ABŠU.SB NGHU.MP SMBGNU.DV SNGU.P UNԠU.HB BPԠU.N SPҠU.PҲ SB0U.PAK DGU.UN PAGUMP+6 MPŠNMANMPAS NKUU BU SNDUAD SPҠUS NSPҠUPP SYPŠUVAP SMPUMP SMPUMP+ VMPUMP VMPUMP+ VMP3UMP+ VMPUMP+3 VMP5UMP+ MSNUMP+ SPҠUMP+5 MPԠUMP+5 SԱUMP+6 SԲUMP+ S3UMP+3 DGUMP+6 NSԠUMA UNNMANMPAS ŠUSBSK NҠU NѠUVAP NSԠUAD ѠUBSH SԠUGP MPSԠUSD PDSԠUSP PѠUBDN PGԠUGS DNԠUHS NDԠUPGN MPUMP MPUPK MP3UPK MPU MP5USYMK MP6USP GMPUMV VԠUDM N0UNUM NUGDG NUUN N3UPSHS NƠUMU NԠUNUM SPҠUNUM MNԠUAMB NMPUPHK SNUMA ̠UVHK PƠUMU BSUSBP BSUS BS3UMP M0UDP MԱUNDPS MԲUMP M3UMP+ MPUSS MԠUSH MM0UAMP MMԱUAMP+ MMԲUBMP MM3UBMP+ MMԴUDMP MM5UDMP+ MM6UزMP MMԷUزMP+ MMԸUPHK D0UBU DUDAA D0UVHK V0USHK SAҠUMP MAŠUYMP ̠UUMP PV̠UPS SԱU.HB SԲU.N S3U.PҲ AUMP+5 AUMP+6 ñUMP+ D0U.AD ԱUDGK ԲUK 3UMP+3 ԴUMP+ ѱUS+ ѲUS+ 3US+ ѴUS+3 5US+5 BASŠUPP ̠US+6 ţUU DUSP V0UBU DADҠUS+ ԠUS+ MPԠUSHK NԠUPHK NU̠U.MP PMŠU.DV PS0UDM PSUSN P0U.P PUPS HU.AD S0U.SB 0U.HB ԱU.N BMPU.G MPUPHK àUS SԠUS+ SGUS+3 PנUS+ HBUS+56DBU HBPUS+5 HUS+5 NADUS+53 NBDUS+5 NBKUS+55 NHBנUS+56 NUMױUS+59 NUMײUS+60 SNGUS+6 DGUS+6 DҠUS+63 NԠUVHK DNϠUMA ASBPUSK ASYPUDM o  ' 24337-80003 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 3 OF 52             H0101 2 HDDàAB DàAB DàSA560DSDNԠABŠHHNANSNMAN ABUԠHŠDY.HŠABŠHAS0NSNŠҠAH PSSBŠDYAK.AHNYSSVNDSNGAND HASHŠNGSUU: NGHN-DS SAMŠASS 3UҠDS DY 5AK 6DS ADDSS SPà G30000B DàBSS560 SPà D̠U-SAԠƠASԠNY DUUSԠANBYNDAB HDDSàDVҠDV HSUNŠASHŠA̠DSàDVҠANDASҠH ANSҠϠBŠSUSSUYMPD.HŠANGSUN ϠHSDVҠSASS: SBDSZ AGSҠ-MUSԠNANHŠADDSSƠADUB DNANNGHŠDSàADDSS(BK NUMBҩƠHŠSԠDƠHŠANS. BGSҠ-BS:0-ŠADDSSAԠHHH ANSҠSϠBGN. BԠ5-ANSҠD -DSàAD 0-DSà MD-MUSԠNANHŠNGAVŠNUMBҠƠDS ϠBŠANSD. MBUSY-SԠϠ-BYHŠDSàDVҠHŠԠSBUSY SPà ZDSàNP SASDAPSAVŠPN SBDSAɠA̠DSàDV HԠDAH+30BDVҠBUSY HԠDAH+3BDSàNԠPSN DAMBUSYAԠ SSAMPN MP- SZASSƠNϠSADVAN SZZDSàUNADDSS MPZDSì HDDKUNS DK DKSAHSHŠDYҠAPAUAҠNY.H DSDNYSDNDBYMP(0:3. NYSUND: HŠAPPPAŠDYAKSN (MP+PNҠϠDàNY (MP+5DYMMYADDSSƠNY DKUNSϠP+ NYSNԠUND: (PM+PNԠAԠHŠASԠNY (MP+5SSHANHŠGVNNY DKUNSϠP+ SPà DKNP DBDD̠SԠMP+ϠPNԠA DKSBMP+ASԠDYAK DABɠSԠ SZAMPYAK MPDK3NԠMPY DKDBMP+BUMPBAK ADB.-NԠAK MPDK SPà DK3NBMPAŠHŠS DADMNYNHSAK SBDMϠHŠDSDNY MPDKNԠNHSAK NPUNDH DAMP+ɠGHԠAK MANASԠUPNA ADABDPNҠ ADA.-AKSAN SAMP+5 DAMP+GԠDYDS ADA.+5ADDSSPN PADDSHSAKAADYN? MPDKYS DADDNϠ-HKҠANYAKN SZASS MPDKBNNŬSϠUSԠADNNנAK DBBDYSŠPVUS SBDSZɠAKUԠϠDS SBSVAGɠDSà SPà DKBDAMP+ɠSԠUPDYAK SAMDANSҠNGH DAMP+SԠUPPNҠ ADA.+5DSàADDSS DBBD SBDSZɠADNDYAK SBSKP SPà NנSAHDYҠDSDNY.ABNAYSAHSUSD HMP(:5USDASPNSϠHŠSԠANDASԠƠA UNSDNS. DKDABDSԠPNҠϠBGNNNG SAMP+DY. DADMS1ASԠNYNAK. DBMP+5 SBDM MPDK5ASԠNYϠBG--SAԠHP. SZDKϠSMA--'SHŠN. MPDKɠASԠNYS. DK5DAMP+5SԠNDPN. SAMP+5 DAMP+MPUŠDNŠBNS DK6MANAANDASԠNS. ADAMP+5 ASDVDŠBY. BUNDϠA DV.+MUP MPY.+ƠV ADAMP+GԠADDSSƠMDDŠNY. SAMP+5SԠNϠSUԠAN. DBDMSUPҠSBDM. PAMP+SԠҠNYNS. MPDKHŠA--'VŠGԠHŠSU. SBDMSԠMDAYNY. MPDKϠSMA--GϠSԠMP(. MPDK5ϠBG--GϠSԠMP(5. MPDKɠUA--UN. DKDAMP+5SԠMP(. SAMP+ MPDK6 DKPABDƠMP(S+6ɠNNŠUND DBADS SBSD DSNGDNҠ SNGDNҠԠNMP+SAGSԠϠ-. ԠHNGHAAҠN(A.ԠϠ ƠASNGVAABŠSNԠPMDNHSN. SɠPA.+B'$'? MPSɱYS DASBPҠNϬSԠPNҠ SAAYADVAABŠAN DAMP+D DB.+56BAAY SBSPVAAB DAMP+VŠNG MPSDɠHAA SɱDASAGSNGVAAB PASBPҠPMD? ASSYS SBSS+ɠN SASAGSԠAGϠ'SNGUD' DAMP+D DB.+53BSNG SBSPVAAB DASSAKSԠPNҠϠDUMMY SAAYADVAABŠAN SBGҠH NPN MPSDɠHAA DASNGPAND DMANDASNGVAABŠҠASNGNSAN. ϠҠƠNHҠSUNDSŠԠHHŠN HAAҠN(A. SϠDASBPҠSK SASAGSNG SBVAPPAND MPSϱSԠHAAҠNԠA SZSAGSNGVAAB? SBSS+ɠN MPSPɠYS SϱSBSBPUDDMANDA SBGSԠSNG MPSPɠNSAN HASNGNSANԠ ԠϠҠƠ(A"UPNNY.SŠSAVŠUN BUҠPNҠANDPAKHŠNPUԠSNGNϠHŠBU NGHŠNA̠BUҠD.ԠϠҠƠN SNG"SUND.DHŠPNNG"ANGHA nUNԠƠHŠSNGHAASANDԠHHŠN HAAҠN(A.ԠϠҠƠSNGDS HAAS. GSԠDBSBPҠSAVŠSYNA SBAYADBUҠPN PA.+B"? BSSYSSԠ(B0 SBSS+ɠN SBHSԠDSNGNSAN SBSS+9ɠNϠSNGU DAUŠDHAAҠUN ADAMP+ANGH SAAYADɠPNNGU ADADMŠHAN SSASSHAAS? SBSS+30ɠYS SBGҠNϬH NPN MPGSԬɠHAA HKҠUSNGSAMNԠ SANHŠNPUԠSNGҠAUSNGPA.ƠNNŠUND Ϡ(P+HHŠNPUԠSNGANDSYNAؠBUҠASUPNNY. HSŬHKҠAGA̠PAҠNGHŠ'USNG'AND ԠϠ(P+AҠSAVNGԠNHŠSYNAؠBUҬH(A HŠNԠHAA. USKSASBPҬɠ(ANԠHAA DA.+55HAAS SAMAҠAD BK DAUSMAK SBBSH'USNG' MPUSK3NԠUND SZUSK SBҠNԠHAAҠ? MPUSKN PA.+BYS'$'S? SSYS SBSS+3ɠN DBSBPҠNABŠSNG SBSAGVAAB SBSDSŠSNG SBSBSK NP MPUSK USKPA.+BU? MPUSKYS SBBKSPSAH B SBGAGSAMN SBPGNNUMB MPUSKɠUNDN SBSS+3ɠNԠUND USKSBSBPUDADVANŠBUҠPN SBGSԠDSNGNSAN MPUSK USK3B8S ADBSBPҠBU SBSBPҠPN DA.+3SԠ SAMAҠ3HAAS SBBKSPSŠNPUԠSNG MPUSK SKP USMADƠUSM SYPDƠSYPS M̠DƠMS NNԠ0033 PԠ6000 NPPԠ63000 PPԠ000 DԠ- D5Ԡ-5 B33Ԡ33 HDSAMNԠSYNAؠPSSS G3000B BB33Ԡ33 D33Ԡ-33 DM0DƠMS0 SGADƠSAG D53Ԡ-53 M03Dà-03 SADƠS USDBYMPŠANDDMP̠ϠSANHUGHHŠPGAM. A'SBPNS'NAZSHŠSAN:(P+SAPN ϠHŠDŠҠHANDNGHŠND--SAMNԠNDN .NUMHDSHŠSUNŠNUMBҠƠHŠSAMNԠBNG PSSDSPҠPNSϠHŠDƠHŠPGAMBNG PSSD.PNSԠHANDS? MPPNYSB PAPNϬ HDSAMNԠUNPSSS UŠ<ԠSAMNԾ ԠANAAנSNGNSAN SA̠NMUA SBMؠVAUA MPñMUA UŠ<ƠSAMNԾ ƱSZMPVAUA SBV̠ŠUS SZBASŠANS SZMPƠAB DBMPɠ SBBASŬɠŠAB MPñ ƠDDMPɠ PBNDP SSAPA? ANASSN MPƱYS SA̠AנSNGNSAN SBHVAUAŠDSNMUA SZASSSUANԠ'U'? MPñN UŠ6 $ 2 24337-80010 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 10 OF 52             H0101 ,! UŠUŠϠ+. DSԠYMPSAV. DBMAN(B?AG DAMPVŠHGHPAԠƠAGUMN. SZAAGUMNԽ0? MPBK ANAYS.SԠPBGϠ(DSAB SBDABҠABԩ. Ơ0 ADB.+?SAԠB?SA DBBɠB?SA A PAB MPSUSPNɠUԠƠABԠUS. SƠ0 MPBK BKU SSAN.AGUMNԠ0Ҡ<0? MPBK<0.DϠNHNG. DA.+<0SԠPBGϠ0(NAB SBDABҠABԩ. BKU DDYMPUNHVAUŠƠNDN MPԬɠPVUSϠVAUAN. SUSPNDƠSUSP HDSԠUNS SԠHŠPGAM 'S'NVSHŠUNԠUSҠPGAMϠASANDADAS MAԠANDPNSԠNHŠYPŠNŠNŠPҠPGAM SAMN.'PUNH'ADDSAADҠANDAҠϠHŠAS PGAMDUMP.SNGBGNSHHŠSԠPGAMSAMN UNSSDDHSŠBYHŠ'S'Ҡ'PUNH'MMAND. ԱSHŠPGAMPSNPN.ԲSHŠSAMN NGHUN. PNHANASԠϠ'PUNH'MD MPS+ PUNHASSSԠϠ'PUNH'MD SԠASԠϠ'S'MD SA0SAVŠMD ASԠ SAԸNϠPAGNAN DBPBUƠNU PBPBPҠPGAM? MPS6YS BNBNϬSԠSԠSAMNԠNUMB SB3 SBSNԠPPAŠPGAMҠSNG DBPBP Ơ0 DAAGSAV ANDMANɠPGAM SA5MD SƠ0 DMNŠSԠSAMNԠϠBŠSD  SZASAVŠPNҠ DBSYMBASԠD+ SB6ƠPGAM DBBԱ5GԠAGŠSUNŠNUMB SBԷSԠNDNGSUNŠNUMB SBGҠSANGNŠNUMB? MPSѠN B PA.+5BHKҠMMA MPSMSԠSAMNԠNUMBҠMD. PAB0PAGNAN? MPSPYS SBBKSPBAKUPҠSԠSAMNԠNUMB SBBDNHNG PA.+5BHKҠAAGŠUN MPSҠYSNDƠMMAND PA.+5BMMAS? SSYS SBS+ SMU SB3SAVŠSANGSUNŠNUMB SBGҠGԠHŠNԠHAA SBS+ PAB0HKҠP MPSPPAGNAN SBBKSPBAKUPҠSNDSAMNԠ SBBDNGԠNG MB SBԷSAVŠNDNGSUNŠNUMB PA.+5BNDƠD? MPSѠYS SBGҠNϬGԠNԠHAA SBS+ PAB0PAGNAN? SSYS SBS+ɠN SPU DAMBSԠNŠUN SAԸ SBGҠSԠҠNDƠN SS SBS+ SѠU DB3GԠBAKSANGSUNŠNUMB SҠU DA6SK SBNDPSSAMN MPS6A̠NŠNUMBS! HDASɠϠBNAYNUMBҠNVSN HANDŠVנ (ANANSHŠHGHMANSSAUPNNY.(AAND (BNANHŠAGSԠPSNABŠNUMBҠ APPPAŠSGNPAKDUPN. V̠DB.- SSA DBBB6 ҠN SSA DAMNG MPV׬ HKVүUNDS ԠϠ(P+ƠSAUSSNԠSYNA.SŠԠϠ(P+ SNGSYMBƠNKYBADMD.HSŠSAŠN PDƠNAPŠMD. HUDANAMŠMPU ADA.+?SA-?D DB0ɠSAUS PB.+SYNA? SSYS MPHUN DAAPƠAP ANDMAN SZASSMD? SBAGNϠB SZHU MPHUƬ HUSZNUƠAŠŠUNGNҠSA? SSN SZHUƠYS--SUPPSS MPHUƬ KҠANUMBҠ NUMKKSҠANUNSGNDNUMBҬSGNMUSԠBŠS BYHŠAҠ(SGN-ҠNGAVŬSŠPSVũ. (ANANSAHAAҠUPNNYƠԠSNH ADGԠNҠADMA̠PNԬԠSϠ(P+H (AUNHANGDAND(B0.ԠSϠҠNNDNG ANPNNԠPAԠƠNԠMA.ZϠPASAN UND׻HŠAGSԠPSNABŠNUMBҠƠH APPPAŠSGNPASANV.AҠSNGA ANGPNԠNUMBҠNMANDM+(HŠSBPҬɠM ԠSϠ(P+HHŠNԠNPUԠSNGHAA N(AANDMP+. NMKBZ SBPA SBMANԱMPNNS SBMANԲƠH SBPNNUMB SBMP+SԠ'NUMBҠAGL'AS BSԠ'DMA̠PN' SBDPGAGAS NUMñPA.+56BDMA̠PN? SZDPGYS MPNUMòN AZϠPS-DMA SAPNDG MPNUMô+UN NUMòSBDGKDG? MPNUM÷N SZPNYSUNԠDG AS̠-USYDG SAMP+ANDSAVŠ SBMBY0MUPYPVUSNUMBҠBY0 DBPZ SZBSSPNN? MPNUM6YS ADB.-NϬ MBSAV DAMP+SH SBMP+UN BAҠҠMANSSA NUM3SZMP+A̠SHSDN? MPNUM5N ŠYSADDN ADBMANԲנPA ϠƠNUMB SZVנM(B? NAYS ADAMANԱADDNHGHPAԠƠMANSSA SSV? MPNUMôN ŬAYS BMANSSA SZPANDBUMP NPPNN NUMôSBNM̠NMAZŠHŠNUMB SZMP+SԠ'NUMBҠAG'U SBGҠHHAA MPNUM-NNŠUND MPNUMñ NUM5ŬASH BDG MPNUM3GH NUM6DA.+S SAPPNN DAMP+AD BNUMB MPNUMô NUM÷BSԠPNN SBMP+SGNϠ'+' PBMP+DGԠҠDMA̠PNԠUND? MPNUMKɠN PAŠ''? SSYS MPNUMN SBGҠHHAA MPNUM6NNŠUND PA.+53B'+'? MPNUMøYS PA.+55BNϬ'-'? ASSYS MPNUM9CN SAMP+SԠPNNԠSGNϠ'-' NUMøSBGҠHHAA MPNUM6NNŠUND NUM9SBDGKDG? MPNUM6N SAMP+YSSAVŠ SBG MPNUM SBDGKDG? MPNUMN DAMP+YSMUPY SBMP+PVUSDG MPY.+0BY0 ADAMP+ADDNNנDG SAMP+SAVŠPNN SBG MPNUM SBDGKHDDG? SSN MPNUM6YS NUMDBMP+ADPNN SZMP+PSV? MBNBYSMPMNԠ SSN B NUMSAMP+SAVŠHAA SZDPGDMA̠PNԠUND? ADBPNYSԠPNN SZBSSNϬZϠPNN? MPNUMYS SSBNϬPSVŠPNN? MPNUM3YS MBNBNϬS SBPNUN SBDBY0DVDŠNUMBҠBY0 SZPNDN? MP-N MPNUMYS NUM3SBPNSԠUN SBMBY0MUPYNUMBҠBY0 SZPNDN? MP-N NUMDAMANԱAD DBMANԲMANSSA SZSGNPSV? MPNUM5YS MANϬMPMN MBNBSZBSSH NANUMB NUM5SB.PAKNMAZŠANDPAK SASBPҬɠS SBSBPUDNUMBҠN SBSBPҬɠDSNAN SBSBPUDADDSS DAMP+VŠHAA SZNUMK NUM6SZNUMK MPNUMK MUPYUNPAKDNUMBҠBY0 HŠANGPNԠNUMBҠNMANԱMANԲANDP SMUPDBY0. MB0DAMANԱADHGHMANSSA SZASSZϠNUMB? MPMBY0ɠYS DBPNϬ ADB.+3MUPY SBPBY DBMANԲADנMANSSA ŬADVD BBY ŬA B ADBMANԲADDN SZBHGSS NAPDUNG ADAMANԱ.5MANSSA SSASS MPMBY0 ŬAN B SZPV NP MBY0SAMANԱS SBMANԲMANSSA MPMBY0 SKP NMAZŠUNPAKDNUMBҠ NҠHNUMBҠN(A(BANDP.ԠH NMAZDNUMBҠNMANԱMANԲANDP(MANSSA SԠN(AAND(BAS̩. NM̠SAN0S A-SH SAMP+UN DAN0ϠZ SZASSƠNUMB SZBSZϬ MPNM+A SAPVYHNG SAMANԱS NMSBMANԲMANSSA MPNM̬ NMSZMP+UNԠAԠSH ŬBAŠ(A AAND(B SZSSASSϠHGHSԠBS0? MPNMYSPSVŠUNNMAZD SZSSANϬϠHGHSԠBS? MPNMYSNGAVŠUNNMAZD ANϬNMAZ BŠMANSSA SAMANԱMPU DAMP+ MANAD ADAP SAPPNN DAMANԱ MPNM NMAZŠANDPAKNUMBҠ NUMBҠN(A(BANDPNNY.NԠ(A AND(BNANHŠNMAZDUNDDANDPAKD NUMB.UNDנBMSAZϬVנBMS HŠAGSԠPSNABŠNUMBҠƠAPPPAŠSGN. PAKSBNM̠NMAZŠNUMB ŬSZASSZ? MP.PAKɠYS ADBBNϬUND SSASSPSV? NBYSNSHUND SZNVנM(B ŬNAԠ(A SSV?((A00000(B0 A̠ϠHGHBS SSASASSBH?(Ơ(AAS0000 MPPAKN ŠYS ASSAASSԠ(A00000ANDSKP PAKAҠUNDSA̠ABV SAMP+SAVŠ(A SҠDŠנBS BƬBƠƠMANSSA DAPDMN SZPNN ADA.-N(ũ0 SàNMN NAPNNԠNV ADAB00PNN SSAUND? MPPAK3YS ADAM56NϬPNN SSASSV? MPPAKYS ADAB00NϬSŠPNN A̠PSN ANDB3PNNԠAND ADB0ADDנMANSSA DAMP+VŠHGHMANSSA PAMNG SSNGAV MP.PAK PBMNG+V? MPPAKYS MP.PAKɠN PAK3SBHUƠHKSAUS SBS+6 AZϠSU BNUND MP.PAK PAKSBHUƠHKSAUS SBS+5 DAMP+VŠHGHMANSSA SBV MP.PAK DVDŠUNPAKDNUMBҠBY0 NVSŠƠMBY0 DB0DAMANԱUN SZASSN MPDBY0ɠZ DB.-ADDPNźN ADBPƠ0 SBPHAԠƠNUMB DAMANԲUSY ŬAҠMANSSA MPYNHMUPYBY0 ŬASH BŠBAK ADAADDNUVANԠ SZҠMANSSA ŬNBNH(-6 SBMANԲANDUNDϠ6BS DAMANԱD MPYNHSAMŠ ADAHGHMANSSA ADAMANԲPMV SZSUMƠDUB-NGH NBPDUS SPSAP(AAND(B SBNM̠NMAZ MPDBY0ɠSU HDPNԠNAMŠAB PNԠNAMŠABŠҠMUHAAҠSYMBS BS5-9ƠHŠ''DAŠHŠBASàPA DSƠHŠSYMBS.BS-0AŠHŠNGHN HAASƠHŠSYMBS.HŠASɠVSN(PN NAMũS. MUHAAҠBNAYPAS MBSԠ3003AND ASàAN Ԡ000 Ԡ3300 ASà Ԡ3003MN ASàM Ԡ000 Ԡ35003MA ASàMA Ԡ5000 MSԠ3600UNUA ASà< Ԡ300GAҠHANҠUA ASà Ԡ000SSHANҠUA ASà< MUHAAҠUNAYPAҠ NԠԠ003 ASàN Ԡ5000 SAMNԠYPS SYPSԠ006ASSGN ASà3ASSGN USMԠԠ3005USNG ASàUSN Ԡ300 Ԡ005MAG ASàMAG ԠX=00 Ԡ5003M ASà Ԡ600 Ԡ6003 ASà Ԡ5000 Ԡ003DM ASàD Ԡ600 Ԡ50003D ASàD Ԡ3000 Ԡ5003M ASà Ԡ600 Ԡ500G ASàG Ԡ5300 ASà Ԡ5003 ASà Ԡ5000 Ԡ5500N ASàN Ԡ56005GSUB ASàGSU Ԡ000 Ԡ5006UN ASà3UN PԠ60003ND ASàN Ԡ000 Ԡ600SP ASàSP Ԡ600DAA ASàDAA SSԠ63005NPU ASàNPU Ԡ5000 Ԡ600AD ASàAD Ԡ65005PN ASàPN Ԡ5000 Ԡ6600S ASà3S Ԡ00 Ԡ6003MA ASàMA Ԡ5000 Ԡ0005S ASà Ԡ500 Ԡ005HAN ASàHA Ԡ000 Ԡ005N ASàN Ԡ5000 Ԡ300'MPD' Ԡ0 MSANUSPAS Ԡ00 ASà HNԠ500 ASàHN Ԡ600 ASà SPԠ00 ASàSP PDNDUNNS.BS3-9AŠUSD ҠNNA̠DNAN ABԠ003AB ASàA Ԡ000 Ԡ003N ASà Ԡ000 Ԡ3003SPA ASàSP Ԡ000 PDSԠ003AN ASàA Ԡ000 Ԡ5003AN ASàA 0.*Ԡ000 Ԡ6003P ASà Ԡ50000 Ԡ003G ASà Ԡ300 Ԡ0003ABS ASàAB Ԡ500 Ԡ003S ASàS Ԡ5000 Ԡ003N ASàN Ԡ5000 Ԡ3003ND ASàN Ԡ000 Ԡ003SGN ASàSG Ԡ000 Ԡ5003N ASà Ԡ000 Ԡ6003YP ASàY Ԡ50000 Ԡ003M ASà Ԡ600 Ԡ0003SN ASàS Ԡ000 Ԡ003S ASà Ԡ500 Ԡ003BK ASàB Ԡ500 MAؠUNNS MASԠ003Z ASàZ Ԡ5000 Ԡ5003N ASà Ԡ000999999 Ԡ6003DN9999 ASàD Ԡ000 Ԡ003NV ASàN Ԡ53000 Ԡ30003N ASà Ԡ000 0 . ; 24337-80020 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 20 OF 52             H0101 ,# HDMADUPUԠUN G5000B .ؠԠ30 SԠ3 DԠ0 .AԠ0 M6Dà-6 ..3Dà3 HŠADDSSƠHŠSԠDƠHŠMA SNGSN(BUPNNY.HŠMA ASHŠNUMBҠƠHAASNHŠSNG ANDHNASHŠMAԠSPANS NŠBYN.ASAHSPANSAD ԠSADDNϠASAKNŠHAAҠP DANDHKDҠSYNAؠS.H YPŠƠSPANSDMNDAԠHS MŠANDHŠSPANSHNUD MHŠSAK. MԠSBàSAVŠPNҠϠSNG NBMAKŠN ŬBHAAҠPN ADBAADDNSANGHAA MANASAVŠSANG SAàHAA SBSҠSAVŠNMAԠSNGADDSS SBDPANDDMҠPN DBNHMAYB SZB MPM0YS DAìɠNϬMPUŠ ANDB3ƠHAAS ADAàNMA SANHSNG SZASSNU̠SNG? MPMND+YSGNŠ M0ANAZ SAàHAAҠUN SANҠN̠HAA SAàPSSNUN SAñSAԠƠPANHSSV̠ SAòSAԠƠPANHSSV̠ SAPñPNUNԠҠV̠ SAPòPNUNԠҠV̠ SASGSNGAG MԲSBDSHDMҠSAH SϠGNŠBANKS DASԠGԠH SBMHAҠSԠHAA PADPDMҠUND? MPMNDYS PA.+53BSHAAҠAPUS? MPMԱYS PA.+55BSԠAMNUS? MPMԱYS PA.+3BNϬSԠANUMBҠSGN SSpYS MPM3N MԱDBàND PBNHSNG? SBSɠYS SANҠSAVŠA.N̠HAA SZSԠNMNԠSNGPN DAS SϠGNŠBANKS SBMHAҠGԠNԠHAA PADPDMҠUND? SSYS MPM0NϬHAAҠUND? ϠG DADPH SBMHAҠDM M0PA.+5BSԠAMMA? SSYS SBS+ɠNϬ SZDPNMNԠDMҠPN SZàANDHAAҠUN DB PBNHA̠HAASUSD? SBSɠYS DADPN SBDSHNDNԠDMNGHAA M3ANAZ SADPGDAG SAAGANGAG NA SANUMP-DMA̠PNԠDUN SANUMPS-DMA̠PNԠDUN SASBDSBŠDUN SASADSAҠDUN SASNGSGNAG SANADPS-DMA̠ZϠUN SANBDP-DMA̠PNԠDGԠUN NA SAPԠPNUN DASSMAԠSAK SASPPN DASԠGԠNN-DMNG SϠHAA SBMHAҠGNNGBANKS PADPSԠADMҠ? SBSɠYS PA.+BSԠAU? SSYS MPM0N DBDP MBNBS ADBSԠHAA ADBàUN SB MԱ6SZSԠNMNԠSNGPN DAàA PANHHAASUSD? SBS+ɠYS SZàNMNԠHAAҠUN DAS ?ϠDN'ԠGNŠBANKS SBMHAҠGԠNԠHAA SASPɠADHAAҠNϠSAK SZSPNMNԠSAKPN PA.+BSԠA"? SSYS MPMԱ6N SZSԠNMNԠSNGPN SZàANDHAAҠUN DAàA PANHHAASUSD? MPMԴ6YS DASԠS SADPDM SBDSHPN DASԠNԠHAA PADPADMҠ? MPMԴ6YS SϠGNŠBANKS SBMHAҠHAMAԠSNGHAA DASԠUDԠB PBDPADMҠ? MPMԴ6YS SBS+ɠNϬ M0PASSԠANS? MPMԱYS PA.+56BSԠA.? MPM9YS PAŠSԠAN? MPMԱ3YS SBDGKSԠADGԠ? MPM6N SAPԠYSSŠNP SZSԠNMNԠSNGPN DASԠNԠHAA PADPADMҠ? SBS+3ɠYS SϠGNŠBANKS SBMHAҠGԠNԠHAA PADPSԠADMҠ? SBS+3 SBDGKSԠADGԠ? MPM5N DAPԠYS SBPԠMUPYPVUS MPY.+BDGԠBY0 ADAPԠADDNNSDG SAP SZSԠNMNԠSNGPN DASԠNԠHAA PADPADMҠ? SBS+3ɠYS SϠGNŠBANKS SBMHAҠGԠNԠHAA PADPSԠADMҠ? SBS+3 SBDGKHDDGԠ? SS SBS+ɠYS M5c{DBP SZBSSPԠZϠ? SBS+5ɠYS ADBM3N.GA SSBSSHAN? SBS+ɠYS ADB..3SŠP MBNBSԠNUMBҠAG SBSPɠADNϠMAԠSAK SZSPNMNԠSAKPN M6PA.ؠSNԠHAAҠANؠ? MPMԸYS PA.ASԠANA? MPMԱ0YS PADSԠAD? SSYS MPMԱ5N DBDPGDPG-? SZB MPMԷYS DBNUMADDPԠ ADBPԠPS-DMA SBNUMDGԠUN MPMԸ MԷDBNUMADDPԠ ADBPԠP-DMA SBNUMDGԠUN MԸBNBNAZ SBPԠP SASPɠADHAAҠNϠSAK SZSԠNMNԠSNGPN SZSPANDSAKPN DASԠNԠHAA PADPADMҠ? MPM0YS SϠGNŠBANKS SBMHAҠGԠNԠHAA PADPSԠADMҠ? SSYS MPM0 M0DBSP SBSԠSԠNDƠSAKMAK MPMԱ M9SZDPGDPG-? SBS+6ɠN MPMԸ+YS MԱ0DBSGSSG SZBSS SZSGYSNMNԠ MPMԸN MԱ3SZAGAG-? SBS+ɠN MPMԸ+YS MԱDBNUM ADBNUMANYD'SUND? SZBSS SZSBDNϬNMNԠBŠUN DBSBDANYS'SBŠAD? SZBSS SZSADNϬNMNԠAҠUN MPMԸ+ MԱ5PA.+50BSHAAҠA(? MPM95YS SBS+ɠNϬGA̠HAA MԱDASSNAZ SASPSAKPN AAND SAPԠP ADASGSG? SZASS MPMԲYS ADA.-SG3? SSASS MPMԲ5YS DANUMNϬANY ADANUMD'S SZASSUND? MPMԲ0N SBVPVAUAŠPSSN MPMNDNNŠUND SBS+9ɠSNG-- SAMANԱƠNUMB SANUMױSAVŠHGNMANSSA SB.UNUNPAKNUMB SAPANDSAVŠHŠPNN DAMANԱSHŠNUMBҠNGAVŠ? SSASS MPM3N DA.+55BYSSԠSGNϠMNUS SASGNAND MBŬNBMPMN DAMANԱ MAVנM SZSSנMANSSA? MPM3-3N NAYSVנM SSHGHMANSSA? MPM3-3N ŬAYSSHԠGH BAND SZPBUMPPNN NP SAMANԱ SANUMױSAVŠHGHMANSSA MP+3 M3DA.+53BSԠSGN SASGNϠPUS SBMANԲ SBNUMײSAVŠנMANSSA DAP SAPנANDPNN BNBSԠPSSN SBàUNDAG DAHBHDNGBU SAHBPPN DAAGAG SZASSSԠ? MPM6YS DADPGDPG SZASSS MPMԴ5YS MPM30N UPUԠAA̠SNG MԴ6DASSS SASPSAKPN MԴDASPɠPƠSAKB PA.+BA"? MPM90YSDNŠHHSSP PA.+6BSԠAPSUD-ND? DA.+BYSMAKŠԠAND PA.+BSԠAPSUDϠAAGŠUN? SSYS MPMԴB DA.+3BUPUԠ-ƠANDB SBUҠB DA.+5BAAGŠUNB MԴUB SBUҠNϬUPUԠHŠHAA SZSPNMNԠSAKPN MPMԴNϠB UPUԠABANKSPAN MԲ0DASPɠADPƠSAK SSASSSԠANUMBҠ? MPMԲN SAPԠYSSŠNUMBҠNP SZSPNMNԠSAKPN DASPɠADNנPƠSAK MԲPA.ؠSԠANؠ? SSYS SBS+ɠNϬ SBUB ANAZ SAPԠP DASPND PASԠƠSAK MPM90YS DASPɠADNנPƠSAK MPMԲ0 UPUԠASNG MԲU SBVPVAUAŠNԠPSSN MPMNDNNŠUND MԲ5U BNBSSSԠHŠPSSN SBS+ SBàUNDAG DASPɠADPƠSAK SSASSSԠANUMBҠ? MPMԲ6N SAPԠYS SZSPNMNԠSAKPN DASPɠADNנPƠSAK MԲ6PA.ؠSԠANؠ? SSYS MPMԲN SBUB MPMԲ MԲPA.ASԠANA? SSYS SBS+9ɠNϬ SZSPNMNԠSAKPN M05U SBSHHSNGHAA DABANKNϬHABANK PA.+6BSԠAPSUD-ND? DA.+BYSMAKŠԠAND PA.+BSԠAPSUDϠAAGŠUN? SSYS MPMԲ9N DA.+3BUPUԠ-ƠANDB SBUҠB DA.+5BAAGŠUNB MԲ9U SBUҠUPUԠHAA SZPԠPԠUSDUP? MPM05N MԲANAZ SAPԠP DASPND PASԠSAK? MPM90 MPMԲ5N PPAŠANNGҠҠUPUԠ M30ANAZŠP-DMA̠PN SAPNDGԠUN A ADAPPNNԠZϠҠNGAVŠ? SSASS MPM3N DA.+60BYSADA SAHBPɠZ SZHBPNMNԠBUҠPN ANUMBҠƠBUҠDS SANHBנSN MPM33 M3SBḎ SAPNSAVŠNUMB SANHBנƠDGS SBGDGGԠDG ADA.+60BNVԠϠAS SAHBPɠSŠNHDBU SZHBPA̠DGS SZPNUND? MPM3+3N M33DANUMMPUŠNUMBҠ ADANHBנADNGBANKS DBSBDANYS'S ADBSADUND? SZB MPMԴ3YS DBSGNNϬNUMBҠPSVŠ? PB.+53B MPMԴ3YS ADA.-NϬSAVŠM BNB SBSNGPNNGSGN MԴ3SSANUMBҠƠBANKSNGAVŠ? MPMԸ0YS SANBKN SBUNDUND7oNUMBҠNBU SS MPMԸ0NϠMҠAYMUND DBHBNAZ SBHBPHDBUҠPN UPUԠNUMBҠMHDNGBUҠ M3DASPɠADPƠMAԠSAK PASSԠANS? SSYS MPM36N SZSPNMNԠSAKPN DASNG SZASNG0? MPM59NϬGNŠHŠS DBSBDYSANYS'SBŠAD? SZB MPM35YS DASGNNϬUPUԠSGN SBUҠMMDAY DA.+SԠSNGϠ SASNG MPM59 M35B SBSNGSԠSNGϠ- MPM3 M36SSASSPƠSAKANUMBҠ? MPM06N SAPԠYSSŠNP SZSPNMNԠSAKPN DASPɠADNנPƠSAK M06PA.ؠSPANؠ? SSYS MPM3N SBUB ANAZ SAPԠP MPM59 M3PADPƠSAKAD? SSYS MPM5N SZSPNMNԠSAKPN A ADANBKNUMBҠƠBANKS0? SSA MPM0N DABANKYSUPUԠA SBUҠBANK BDMN ADBNBKBANK SBNBKUN MPMԴ0 M0DANBKNUMBҠƠBANKS SSASSHANZϠ? MPM56YS ANϬDMN SANBKBANKUN B PBSNGSNG-? MPM0YS ADBSNGSNG? SZBSS MPMԴ0YS MPM5N M56B ADBSNGSN4N640G? SZB MPM5N M0DASGNYSUPU SBUҠSGNAND DA.+SԠSNG SASNGϠ M5DAHBND ADA.+6 PAHBPBUҠ? MPM59 DAHBPɠUPUԠA SBUҠDG SZHBPNMNԠHDBUҠPN DAAGSHSA SZAANGPNԠSPAN? MPMԴ0N ANAYSHASHŠDMA̠PN PADPGBNUNDYԠ? MPMԴ0YS ANϬDMN ADAPNDMA DBHBɠSH PB.+60BNUMBҠZ? AYSZϠPNN SAPNPNN 6 / = 24337-80021 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 21 OF 52             H0101 .# MԴ0SZPԠPԠϠ? MPM3+N AYSNAZ SAPԠP MPM59 M5DBDPGDPN SZBSPAN? MPMԴN PA.+56BPƠSAKADMA̠PNԠ? SSYS MPMԴN SZSPNMNԠSAKPN DBSNG SSBSNG-? MPM00YS ADB.-NϬ? SZB MPM0N M00DASGNYSUPU SBUҠSGN DA.+SԠSNG SASNGϠ M0DA.+56BUPU SBUҠDMA̠PN SZDPGNMNԠAGϠSHנD.P.UND M59DASPND PASԠSAK MPM90YS MPM3N MԴSZSPNMNԠSAKPN SBUҠUPUԠAN MԷ6DASPND PASԠSAK? MPMԷYS DASPɠNϬP SSASSSAKANUMBҠ? MPM0N SZSPYSNMNԠSAKPN SAPԠSŠNUMB DASPɠGԠNנPƠSAK M0PA.ؠSԠANؠ? SSYS SBS+ɠNϬ SBUB AS SAPԠP MPMԷ6 MԷDA.+55BUPU DBPN SSBAN MBNBSS DA.+53BPNN SBPN SBUҠSGN DAPN BMPU DV.+B ADA.+60BPNN'S ADB.+60B SBPN0'SDG SBUҠUPUԠ DAPN SBUҠUPUԠ'SDG MPM90 PPAŠDPNԠNUMBҠ MԴ5ASԠP-vDMA̠PN SAPNDGԠUN SANADZϠUN PAPZϠPNNԠ? MPM6+3YS DBPN SSBPNNԠNGAV MPM6YS SBḎ SAPNAD SANBDP-DMA̠PN M03SBGDGDGS ADA.+60B SAHBPɠN SZHBPHD SZPNBU MPM03 M50DBNUMANYD'SA SZBSSDMA̠PNԠ? MPM5N DAHBND ADA.+6 PAHBPBUҠ? MPM0YS DBNADADNG AZS SZBSSA MP+DMA ADB.-PN SBNAD SSYS SBGDG ADA.+60BAD SAHBPɠPS-DMA̠PN BDGS ADBNUMN SBNUMHD SZHBPBU MPM50+ M0DANUMUPUԠBANKS MANA SAPԠ̠D SBUB ANAZ SAPԠP ADASP SASPSAKPN M5DANBDMPUԠNUMB ADANUMƠADNGBANKS DBSBDANYS'S ADBSADUND? SZB MPM5YS DBSGNNϬNUMB PB.+53BPSVŠ? MPM5YS ADA.-NϬAVŠM BNBSGNϠBŠPNDAND SBSNGSԠSNGϠ M5SSANUMBҠƠBANKSNGAVŠ? MPMԸ0YS SANBKNϬ BNԠDGԠA ADBNADADNGZϠ? SSB SBUNDNϬUNDNUMB SS :MPMԸ0NϠMҠAYMUND DAHBSԠHD SAHBPBUҠPN MPM3GϠUPUԠHŠNUMB M6SBMG DAPN SANAD DBNUMANYD'SUND SZBSSBŠHŠDMA̠PNԠ? MPM50N DANUMYSANYD'SUND SZASSAҠHŠDMA̠PNԠ? MPM55N PB.+YSNYNŠƠHM? SS MPM55N DASADYSANYS'SUND? ADASBD SZA MPM55YS DASGNNϬNUMB PA.+55BNGAVŠ? MPM50YS M55DA.+60BNϬADP-DMA̠PN SAHBPɠZϠNϠBU SZHBP ADASŠNUMBҠ ADANUMD'SAVAABŠҠSGN SANUMANDBANKSBŠDMA̠P. MPM50 PPAŠANGPNԠNUMBҠ M6ANAZŠDMA SAPNPNN PAPZϠPNNԠ? MP+3YS SBMG SBḎ MANASAVŠDMA̠PNN SAPN DANUMG ADANUMA̠NUMB SADGƠDGS DASBD ADASADANYS'SUND? SZA MPM6YS DASGNNϬNUMB PA.+53BPSVŠ? MPM6YS BNϬAVŠM ADBNUMҠSGN SSBNNŠ? MPMԸ0YS SBNUMNϬDMN AA̠NUMBҠƠD'S ADADGAVAABŠҠSGN SADGANDBANKSBŠD.P. SZASS MPMԸ0 BNBSԠSNG SBSNGϠ M6DANUMNUM MANA? DB.+6 ADB0 SSB MPMԷ0YS DADGYSA̠NUMBҠƠD'S ADA.-0B? SSA MPM6N DB.-PPAŠϠG SBDҠSVNDGS NANUMBҠƠBANKS SANBKBMSDG- MPMԷ M6DADGPPAŠϠG MANA SADҠDGDGS BSԠNUMBҠƠBANKS SBNBKϠZ MPMԷ MԷ0DBNUMANYD'SB SZBDMA̠PNԠ? ADA.-YSNMNԠNUMBҠƠDGS SADҠPPAŠϠGԠNUMDGS SZBS ADB.-BANK SBNBKUN DADҠMŠHAN ADA.+6UY-S SSASSDGSNDD? MPMԷN SAPԠYSUPUԠNSSAYBANKS SBUB ADASP SASPSAKPN DAM6SԠD SADҠϠ6 MԷU ANAZ SAPԠP SBGDG ADA.+60BNVԠϠAS SAHBPɠSŠNHDBU SZHBPNMNԠBUҠPN SZDҠA̠DGSGԠ? MPMԷN SBUNDYSUNDHŠNUMBҠNBU SS MPMԸ0NϠMҠAYMUND DAHBS SAHBPBUҠPN MPM3 HANDŠNDƠSPAN M90A SASGSNGAG DAàNƠ PANHMAԠSNG? SSYS MPM9N M09DAñYSPANHSS SZABAAND? SBS+0ɠNϬ M9DBàANYPSSNS SZBSSUSD? MPMNDN DBDSAND SZBSSSAMNԠ? MPMNDYS A SAàYSAҠ SA DASҠS SADPDMҠPN MPMԲ M9DADPGԠH ϠDMNGHAA SBMHAҠNԠGNNGBANKS PA.+5BSԠAGHԠPANHSS MPM9YS SAHNϬSAVŠHŠHAA PA.+5BSԠAMMA? MPM93+YS PA.+5BSԠASASH? SSYS SBS+ɠNϬҠ M93SBU SZàNMNԠHAAҠUN DAàA̠HAAS PANHUSD? MPM9YS SZDPNMNԠDMҠPN SBDSHNDNԠDM SϠGNŠBANKS DAS SBMHAҠNԠHAA PADPSԠADM SSYS MPMN DAàA̠HAAS PANHUSD? MPM9YS DADPNϬGԠDMNG ϠHAA SBMHAҠGNNGBANKS MPA.+5SԠAMMA SBSɠYS PA.+5BNϬASASH MPM9YS PA.+5BNϬAGHԠPANHSS? MPM9YS MPM3 M9DAHASԠHAA PA.+5BAMMA? SBS DAàNϬA̠HAAS PANHUSD? MPM09YS MPM93N HANDŠGUPSƠSPANS M95ASND ADASPHAA PASSNSAK? SS SBS+ɠNϬ lDAñYSSԠV SZAƠPANHSS? MPM96N SZSԠNMNԠSNGPN ANDHAAҠUN ADASҠUPϠANDNUDNG MA ADASԠPANHSS SAñ DBPԠSŠPN SBPñUN MPM3PSSSNG M96DAòSNDV SZAƠPANHSS SBS+ɠNϬ SZS ANDHAAҠUN ADASҠUPϠAND MANUDNG ADASԠ SAòPANHSS DBPԠSŠPN SBPòUN MPM3 M9DAPòSNDV̠ SZASSPANHSS? MPM9N ADA.-YSPAԠ SAPò SZASS MPM99 DBòS SBàHAAҠUN ADBS SBDPANDSNGPN SBDSH MPM3PSSPANHSZDSNG M99AAҠSND SAòV̠PN SASGANDSNGAG SZàNMNԠHAAҠUN DAàA̠HAAS PANHUSD? SBS+ɠYS SZDPNϬPNԠϠDM SBDSHNDNԠDM SϠGԠN DASԠNN-BANK SBMHAҠHAA PADPSԠADMҠ? SSYS MPM9+3MAYB DBàA PBNHHAASUSD? SBS+0ɠYS MPM9NϬNVSGAŠHŠHAA M9DAPñSԠV SZASSƠPANHSS? SBS+3ɠNϬ $ADA.-YSPAԠ SAPñ SZASS MPM00 DBñS SBàHAAҠUN ADBS SBDP SBDSH MPM3PSSPANHSZDSNG M00AAҠS SAñV̠PN SASGANDSNGAG SZàNMNԠHAAҠUN SZDPPNԠϠDM DAàA PANHHAASUSD? MPM9YS SBDSHNϬNDNԠDM SϠGԠN DASԠNN-BANK SBMHAҠHAA PADPSԠADMҠ? SSYS MPM9+3N DBàA PBNHHAASUSD? MPM9YS MPM9NϬNVSGAŠHŠUNDHAA UPUԠNUMBҠNDAUԠMAԠ MԸ0DANUMױ SAMANԱAD DBNUMײ SBMANԲSAVD DAP SAPNUMB AA SAPNDMA̠PNN SAAGSԠANGPNԠAG PAPZϠPNNԠ? MP+3YS SBMG SBḎ MA SAPN SBU DAHBSԠHD SAHBPBUҠPN DA.-6PPAŠϠG SADGSؠDGS SBGDGG ADA.+60B SAHBPɠS SZHBP SZDGDGS MP-5 DA.+SԠNBK SANBKHŠԠNԠAUSŠUB SBUNDUNDNUMBҠNHDBU NP DASGNUPU SBUҠSGN DAHBNAZ SAHBPHDBUҠPN DAHBP0.*ɠUPU SBUҠDG SZHBPNMNԠHDBUҠPN DA.+56BUPU SBUҠDMA̠PN DA.-5PPAŠϠUPU SADGVŠDGS DAHBPɠUPU SBUҠV SZHBPDGS SZDG MP- DAŠUPU SBUҠAN DA.+55B DBPNUPU SSB MBNBSSPNN DA.+53B SBPNSGN SBU DAPN BGԠBHPNNԠDGS DV.+B ADA.+60BNVԠBH ADB.+60BϠAS SBPN SBUҠUPUԠ0'SDG DAPN SBUҠUPUԠ'SDG SBU MPM90 MNDDANҠYSN SZAHAAҠUND? MP+3YS SBU̠N MPñA PA.+53BSAAG SSN̠A+ MPM0N DA.+3BYS SBUҠUPUԠAN- DA.+5BANDA SBUҠAAGŠUN A SAH MPñA M0PA.+55BSԠAMNUS? SSYS MPñA DA.+BUPUԠA SBUҠND MPñA P0 0 = 24337-80022 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 22 OF 52             H0101 0# HDMAҠUYUNS G56000B MAKŠANUMBҠSSHAN MUPYANUNPAKDANGPN NUMBҠNMANԱMANԲANDPBY0UN ԠSGAҠHAN.HNDVDŠBY0 MGSBMBY0 DAPMUPY MASSANASZANUMBҠBY0 MP+3UN̠ԠS SZPNGA MPMG+HAN SBDBY0DVDŠBY0 MPMG DVDŠANUNPAKDANGPNԠNUMB NMANԱMANԲANDPBY0UN̠ԠS SSHAN ḎDAPN Ḏ0DBPDVD MBNBNUMB SSBSSBY0 MPḎɠUN SAPNԠS SBDBY0SS AHAN ADAPN MPḎ0 SKP UNDASɠNUMBҠ NUMBҠSDNŠASɠDGԠPҠDN HDNGBU.UNŠGSNԠDG ANDUNDSƠԠS5. ƠHŠSAAYϠANADGԠANDN MSSԠSϠ(P+.HSŠUN Ϡ(P+. UNDSBGDGGԠNԠDG ADA.-5SԠ5? SSA MPUND ADMNԠHD ADAHBPBUҠPN NDDB0ɠADNԠDG NBNMNԠ PB.5ASԠA9? MP+3YS SB0ɠNϬSAVŠ MPUNDɠANDUN DB.+60BVAY SB0ɠA0 PAHBADNGDGԠ? MP+3YS ADA.-NϬDMNԠPN MPND DB.+6BVAYA SB0ɠN DB.+60BAD SBHBPɠAZ DBAGxANGPN SZBSPAN? MPNDN SZPNNMNԠPNN NP MPUND NDBSNBK ADBNBKSS SSBHAN? SZUNDNϬUNϠ(P+ SBNBKYSKPDMNDVAU MPUND SKP UPUԠBANKS UPUSHŠNUMBҠƠBANKSSPD BYHŠNGAVŠƠP.HŠSAKPN SNMNDANDPԠHASHŠVAUŠZ UPN. B̠SZSPNMNԠSAKPN DABANKUPUԠA SBUҠBANK SZPԠPԠUSDUP? MP-3 MPUB̬ UPUԠ-ƬAAGŠUNNŠD ̠U DA.+3B SBU DA.+5B SBU DA.+B SBU A SAH MPU̬ SKP SAHҠADMNGHAAҠ BGNSSAHAԠHAAҠDP.HNAMMA ҠSASHSUNDDPSSԠϠPNԠϠHA HAA.HAASAŠUNDANDƠH NDƠHŠSNGSNUNDBŠA DMҠSUNDAAGSS DSHDADPSԠSNGPNҠ SASԠSԠHAA ϠDN'ԠGNŠBANKS SұSBMHAҠGԠSNGHAA PA.+5BSԠAMMA? MPDSHɠYS PA.+5BNϬSԠASASH? MPDSHɠYS PA.+5BNϬSԠAGHԠPANHSS? MPDSHɠYS SZDPNϬNMNԠDMҠPN SZàANDHAAҠUN DADP DB PBNHA̠HAASUSD? MPDSHɠYS MPSұN > MASKUԠAHAAҠ GԠNԠHAAҠMMAԠSNG ADDSSƠHAAҠSN(A.HAAҠS UNDN(A MHҠŬASHԠADDSSGH DB0ɠADDMSNG SZSSHGHHAAҠ? BƬBƠYSSHPSNS DAN ANDB3MASKUԠנHAA SSSHUDBANKSBŠGND? MPMHAҬ PABANKYSSHAAҠABANK? MPMHұYS ADAM96N SSASSҠAS? ADAM3YS ADA.0N MPMHAҬ MHұU SZSԠNMNԠSNGPN DASԠNԠHAA PADPADMҠ? MPMHAҬɠYSUN MPMHA+GNŠHŠBANK VAUAŠPSSN AԠHŠNԠVAABŠϠBŠUPUԠBYHŠMA. NNŠUNDԠϠ(P+.ƠASNGSUNDԠ (P+AҠPPANGHŠSNGҠUPU.ƠANUM UANYSUNDԠϠ(P+3HHŠNUMBҠƠ(AAND(B. DSASSԠϠ0ƠHSSHŠASԠVAABŠNHŠSAMN. VPU DAGMA SSAPN? MPV5YS V0DBMP PBPGԠNDƠSAMN? MPVPɠYS AUN SA̠UNNAG SBMؠVAUAŠMUA DBPDSԬɠSԠA SSBSNGVAABŠ? MPV3YS SBPHKNϬUNSAKVAUŠADDSS SZ̠AUNN? MPV0 DAMPASԠVAAB? PAPG AYS SADSAN DDɠNϬADNUMB SZVPUNϠ(P+3 MPVش V3DA.-PPA҂ SBPSҠPN SAMPSNG SBPM DBMPND PBPGԠSAMN? BYS SBDSAN DBPM VشU SZVPUN MPVPɠ(P+ V5SZNԠNSHDUNԠMA? MPVطN V6DBMPYS PBPGԠNDƠSAMN? MPVPɠYS DAMPɠGԠNԠPAND ANDPDMK SZASSNU MPVPɠYS SSANϬUNN? MPVظYS ASNϬAD ADASYMBBASŠADDSS ADA.-ƠAAY DBA ADB.-SAVŠPNҠ SBSBPҠDYNAMàDMNSNS SBVHKVADAŠAAYMNS DASBPҬɠSԠPN SZSBPҠϠSԠMN MPYSBPҬɠƠAAY SZSBPҠHŠMPUNG MANANUMBҠ SANԠMNS SZMPBUMPϠNԠPAND VطAAS PANԠMN? SSYS MPV9N DAMPND PAPGԠSAMN? AYS V9U SADSAN DDSBPҬɠGԠNUMB SZSBPҠBUMP SZSBPҠNԠMN SZVP MPVش VظAUN SA̠UNNAG SBMؠVAUAŠUNN SBPHKMVŠAGUMNԠMMPSAK MPV6GԠNԠPAND MSSAGŠBU MSHDBSSMSBN BSS0 VS̠ASà\ BSԠ60000 B0KԠ0000 B30KԠ30000 B60KUN BKSPàԠ3 ABSS BBSS ŠBSS GBSS ADҠBSS HDPҠA̯SAԠUN HŠPҠA̯SAԠUNŠNSUSAGA̠SVHUDNAND SAԠƠHŠSYSMNASŠƠPҠA. SPà PנNPNUPԠNYPN. SàSԠҠA̠ҠSA. MPPױANSҠϠSAԠSN. PҠA̠SN. DSԠPɠSAVŠGSSMPAY. BBS S NB AƠPƠASNNZϬ PAPƠNUPԠASMPҠA. MP+3 SAP MPPײ DAPנSԠҠNUPԠUԠ ADAPDSAԠSN. SSA MP+NMA̠A. ADAPD SSA MPPײADMSAԠSN. SBPϠNMA̠AU--SAVŠGSS. DDP DSԠPAB DAP SAPP A0ADANDSAV SAPSנHŠSHGS AGԠAGSҠA̠DVSHA ANNUP. SàHHKSNDHANN Ҡ.+BԠҠHANN̠ Sà?SàHKAGNNSŠY. Ҡ.+BԠҠY SàKHKMŠBASŠGNA Ҡ.+0BBԠҠMŠBASŠGNA SAP B Sà0ƠNUPԠSSԬS DBS0SƠ0NϠPNDSŠNP. SBPND PײàSԠҠSA. HԠDAH+36B SPà SAԠSN SPà PױSàSԠҠPҠA. DAPSנHANDS A0HŠSHGS DA.+NAZŠʠASAPҠA̠PN- SAPʠҠANDɠASDMAPN. NA SAP DA.+3SԠKUNY. AK DAP̠PYAGS. SAP DBBSƠAS-35AGASAҬSԠUP AND.+HŠԠSAŠƠHŠAS35 SZASSH|SŠAVŠԠSԠNH B?SàNPUԠSA. NנSԠHŠNDVDUA̠ϠAGS.ƠAAGASAҬŠPM AƠPAN.ƠԠASSԬŠAKŠSNGҠAN. P״DAPƠGԠDNANNGAGS.H AҠNŠϠBŠSDSNBԠ0AND SAPƠɽSSԠD. SSA MPP5AGS. DAPɠPDUŠƠNSUN. ADA0 SA+ NPUŠ. P6DAPɠSԠҠDN. PA.+BHKҠKAN MPPױDN. SZPɠHSŬBUMPɠANDP. MPP״ AGASS.SԠƠUNŠHADAUAYBN ND.ƠSϬPMADUMMYNUPԠϠP- VNԠԠMBNGND. P5DBPBMPUŠANƠUNAD- ADBPʠDSSƠHGHSԠPYU- DBɠNŠNԠYԠSD. DAɠGԠSUNADDSS DBPB ADBPɠPNԠϠ.AD.ƠSԠUN MASԠҠNUPԠUԠƠHA ADAɠUN. SSASS MPP6N--NUPԠASPNDNG. ADB5ADB.+5BUMPNDؠGS ADA SSA MPP6NԠNUPD. PMDUMMYNUPԠϠPVNԠANUNANDNŠA. DAADB5PAŠADB5NNUPԠ SAPɬ DAP ADAS0SԠUPSàAND. SAPS ҠB000AŠ. PSԠSà0SԠDVŠN S0SƠ0NABŠNUPԠAUSNGADB5 SAP̠MPUŠAD.ƠԠN.VA̩ 0Ơ0DSABŠNUP. P̠à0DSABŠDV. DAɠGԠԠNUPԠNNS SAPɬɠSŠNNUPԠ. DAPɠUPDAŠNUPԠHAN SAPʠPN. MPP6GϠSԠNԠDV. HAVŠDNŠA̠DUMMYNUPS. SԠN̠NKANDY. ANDSAԠNNN. PױU SàHàSAԠSԠHANN DASVHPUԠDBAKUԠNH AH SƠH DAP̠ADAGD AND.+AVŠBԠ SZASSSKPƠAGS SàHàHSŬ̠HҠMAHN àHANԠNϠNUP SàK Sà?S DABS-SABSHPVUS A?SàSAŠƠAS35 SZPƠSԠNASŠƠANHҠP DAPPGԠPNҠϠP DBPPGԠPҠA̠AN SBDDPɠGϠDϠDSàSU A SAPƠSAYNԠSANG SŠGSS. DAPϠ''ANDV SAA S DDPAB SԠNUPԠSYSMϠSAMŠASBŠA. PNDNPҠSƠ0. MPPPɠUN. P״0U PƠNPSԠϠDUNGDSàA. PɠBSSPNҠϠDVŠBNGSD. PʠBSSPNҠϠNUPԠHAN. PABBSSMPSϠHDVAUSƠAB. PϠBSSMPϠHDVAUŠƠŦ. PPBSSMPϠHDVAUŠƠP P̠BSSMPϠHDSAŠƠɯϠAGS. PƠBSSPYƠP. PSנBSSMPϠHDSHGS PBDƠ-6PNҠϠNGAB HSABŠPNSϠHŠNYPNS HŠNUPԠUNS. DƠPPPҠA̠N.AD. DƠұMNNNԠUNADDSS DƠұM DƠ?ԲYN.AD. BSSNϠNUPԠUSNHSHN. DƠKNKN.AD. HSSNGVSHŠNGHƠAHUN SϠHAԠPҠA̠ANDMNŠHH HAԠUNSNUPԠHADAUAYUD `0.*ҠASS̠PNDNGAԠHŠMŠƠHŠPҠAU. ABSұD-ұM ABS0NϠSUHUN ABSYD-?Բ+HNNUP BSSNϠNUPԠUSNHSHN. ABSKD-KN+UNS. SBұDҬ HԠDAH+B SB35DҬ à3B SBKDҬ PDABS-Pױ PDABSPױ-P״0 S0Sà0 PPDƠP /0 1 > 24337-80023 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 23 OF 52             H0101 2# HDSYSMNSŠDV HŠSYSMNSŠDVҠNSA̠ANSMSSNƠDAAB- NHŠSYSMNSŠ(AS-35ANDHŠSYSM.ԠHANDSA ϠҠHŠDVŠANDPVDSҠMMUNANƠMSSAGS HŠSYSMHŠNGVAABSAŠSGNAN: 35Ʊ:0DUNGNPUԬ-DUNGUPU. 35Ʋ:NMAY0ԠSSԠϠ-HNAMPŠMSSAGŠHAS BNVD.UN̠ԠSADBYHŠSYSMA̠U- HҠNPUԠSNHBD. 353:NMAY0ԠSSԠϠ-HNAMPŠMSSAGŠHAS BNVD.UN̠ԠSADBYHŠUPU NAZANSNƠHSDVҬGANDMSSAG NSAŠHD. G:NԠUSDDUNGNPU.DUNGUPUԬBԠ00ƠN HAAҠSNԬƠNGH. AD:NԠUSDDUNGNPU.DUNGUPUԬAD(:0PNS HŠDMHHHŠNԠHAAҠ̠BŠAKN. BԠ5ҠPUNHPNԬ0ҠPNԠNY. N:DUNGNPUԬNԽƠHASNSϠA.DUNGUPUԬ N(:0ƠHASMANNGϠBŠUPUԬBԠ50 ƠAƠSϠBŠAPPNDDƠN. BS:NANSUNԠN̠BS. 0000PN 30000PUNHANDPN 60000NPU AB:USDϠSAVŠHŠVAUSƠABŠGSSDUNG NUPS. ANGSUN: SBY35ɠAƠHAS(BԠ50ҠƬҠNNũ BBUҠADDSS(BԠ5ҠPUNHNG NPUԠMSSAGSAŠSDNHŠHAAҠBUҠ35B. SPà ?35NPNYPNԠҠUPU. Ơ0NHBԠNUP. SANԠSԠUPNA̠PAAMS. SBAD ASԠAGϠSAY SA35ƱUPU. DA?35PYUNADDSSNϠHAԠ SA?ԲNUPԠSN. ASԠGϠSAYaԠHANDHA. SAG SA353 SԠҠPNDNGNPU.ƠHŠSANYԠMMDAYAND HŠNUPԠGGҠHŠSԠUPUԠHAA. A?S SSASS MPԱNNŠPNDNG--GϠUPUԠSԠHA. SƠ0 MP?35 NUPԠSN ?ԲNP SAASAVŠGSS. SBB A SA DA35ƱSԠAGϠDMNŠ SZASSNPUԠҠUPU. MPԱNPU A?SàADBAKNŠSAUSDUNGUPU DB35SԠGԠNSŠSAUS PBUנƠUPUԠA DB35PҠUSŠPY MBNB ADB.+SYN-.++S-M SSBSSSKPƠABԠNԠAD PAB3HKҠAKYSUK MPԱNϠNPUԬNNUŠN A SA35ƲAҠNNUNGUPUԠAG SA35SԠSԠNSŠSAUSϠD ԱDANԠGԠƠHAS. A̬ŬAPYƠBԠNϠ. SZAANYHAS? MP5YS--GϠUPUԠNԠN. SZN--ANԠ? MP6N--GϠSԠҠNPU. SAGSԠUPUPUԠƠ. DA.+33HASH ҠBԱ5NϠƠNG. SAN DAADҠKPPNԯPUNHB. ANDBԱ5 ҠP SAAD MPԱ NDƠUPU--SԠҠNPU. 6SANԠSԠUNҠϠSAYNϠHASN. SA35ƱSԠAGϠSAYNPU. DAB60KGԠN̠BSҠNPU. SABSSAV. ԸA?SàUPUԠϠNS. Ա0DAŠSŠGSS. A DAA DBB Sà?SìàNABŠDV. SƠ0NABŠNUP. MP?Բɠ. UPUԠNԠHAA 5ADMN ADAvNԠUN. SAN DBADҠGԠPNҠϠUPUԠBU. DAB0KGԠBSҠPNԠNY. B̬ŬSBBSԠAҠBԠ5ƠB. DAB30KGԠPNԯPUNHBS. SABSSAVŠN̠BS. A?SàUPUԠϠDV. DAɠGԠDNANNGHAA. DBGGԠԯGHԠGG. SBƠGHԠHAAҬ SZADҠBUMPPN. SBSSƠԠHAAҬ AƬAƠPSNNGH. SZGVSŠGGŠSNS. Ա5ANDBKPBS6-0AND ҠB00SԠBԠ. MPԸGϠUPUԠHAA. HAAҠHASBNNPU. ԱDA35ƲGNŠHAAҠƠ35ƲSS MAҠSH0SS. SA MPԱ0 A?SàGԠHAAҠNA. ANDB BPPAŠ-NB. PA.+BGNŠƬUBUԬNU̬. MPԱ0 PAB MPԱ0 SZA PA.+3B MPԱ0 SԠҠ'N̠' PA.+30B MPԱ PABKSPàSԠҠ"_" MPԱ PA.+5BSԠҠ. SB35ƲSԠMMUNANAG. PA.+5B SB353 NנNSԠHAAҠNBU. DBNԠGԠUNԠNB. PB.DN'ԠƠBUҠSU MPԱ0 ŬBMVŠԯGHԠBԠϠŬAND ADB35BMPUŠADDSSƠDSNAN. SZSSԯGHԠS. AƬSAAƠ. ҠɠGH. SZNԠBUMPUN. Ա6SAɠSŠNBU. MPԱ0GϠ. HANDŠBAKSPA. ԱDBNԠGԠHAAҠUN SZBSSGNŠƠNϠHASY. MPԱ0 ADB.-GԠNנN. SBN ŬBAҠGHԠHA)uƠNנDSN- ADB35BAN. DA ANDHMSK MPԱ6 HANDŠ'N̠' ԱSB35ƱSԠUPUԠAG. ASԠNԠҠƠAҠ"\". SAN SAADҠSԠҠNϠPUNHNG. DAB0KSԠҠPNԠNY. SABS A?S DAVS̠GϠUPUԠ"\" YDMPԱ5 PDƠ+ Ԡ05-Ơ Ԡ005000 HDYPŠABS SUP HŠYPŠABSNANNŠNMANҠSYSMUSS. AHƠHŠ3USSHASABŬNANNGHŠNG NS: (?AGMUSԠBŠSԬAND?àHUGH?PVMUS BŠNGUUS. SPà ?AGU0 SPà NANSA̠BԠAGSҠUS Ҡ000APŠ AG000MPŠMD HAG000HϠSUNNNG APƠ000USҠNAPŠMD UNABԠ000UNABŠϠAB UԠ000UPUԠBUҠU M000ɯϠPSSҠMMUNAN ABY000ABԠAMP DHK000DYSHK HNG000HANUNNNG PUAԠ000PGAMUNAD MBUSԠ000MBUSYPSV PBG0000ABԠAPABYDSABD BG0000"BAK"MMANDGVN SPà ?NUMU?AG+ SPà YPŠNBS-. SPà ?DSàU?NUM+ SPà DSàADDSSƠHSUS'SSAPAA SPà ?PGU?DS+ SPà PNSϠASԠUSDDƠŠPGAM. SPà ?DU?PG+ SPà USҠD. SPà ?NAMŠU?D+ SPà HAҠPGAMNAM SPà ?MŠU?NAM+3 SPà SANGM SPà ?àѠU?M+ SPà US'SMUԠK. SPà ?SҠU?+ SPà SAԠADDSSҠSUSPNDDPGAMS. SPà ?SAԠU?S+ SPà USҠSAUS--HNNѠNDADPGAMYPŻ HNNԠNѠNDADASNHY. SPà ?NKU?SA+ SPà PNSϠNKPSNƠNԠNYNUU. SPà ?PVU?NK+ SPà ҠPGAMSNѬNANSPYV. SUSPNDDPGAMSNANSPGAMYP. SPà ?MU?PV+ SPà SPNSŠMŠҠNҠSAMN ?MPU?M+ MPASҠBAYUNS SKP Y00Ԡ0 Ԡ0 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y03Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y05Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y06Ԡ0 Ԡ3000 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ300 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y09Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ5000 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ500 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ6000 Ԡ00000000000000 Ԡ0000 Y3Ԡ0 Ԡ600 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y5Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y6Ԡ0 Ԡ0000 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ000 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y9Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y0Ԡ0 Ԡ000 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ00 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ3000 Ԡ00000000000000 Ԡ0000 Y3Ԡ0 Ԡ300 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y5Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y6Ԡ0 Ԡ5000 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ500 Ԡ00000000000000 Ԡ0000 YԠ0 Ԡ6000 Ԡ00000000000000 Ԡ0000 Y9Ԡ0 Ԡ600 Ԡ00000000000000 Ԡ0000 Y30Ԡ0 Ԡ000 Ԡ00000000000000 Ԡ0000 Y3Ԡ0 Ԡ00 Ԡ00000000000000 Ԡ0000 Y3U SPà HŠUUŠAAYSNANSAԠASԠNŠNYADUMMYNY. SPNDϠBYHŠASԠAUA̠MNԬANDPNSϠHŠS. HNHŠUUŠSHSŠMPYHŠDUMMYNKPNS S. HDSAPAKҠUSҠZAPP SNP HSUNŠSADHNADSàANSҠϠҠMA US'SSAPAKHASAD.HŠUNŠSSHŠUS'S PԠϠANUNAVAABŠSAUSANDASHSUSSAB. NҠHYABŠADDSSNB. SPà PԠNP DBMNK+AKŠHS SBԱUSҠ SBDUɠHŠUU DBԱ ADB.+?SA-?NKSAUSD DAPUNSԠPԠ SABɠUNAVAAB ADB.+?D-?SA A SAMANSAYNBDYN SABɠAҠD ADB.+?AG-?D SABɠAҠAGSD DAM000ADN SAMDHŠUSSAB DAUSS DBBD SBDSZ SBSK'SSUKNHŠDS:GVŠUP DBԱGԠABŠPNҠAGAN ADB.+?NUM-?NK DABɠGԠHŠPԠNUMB AƬA SAԱSAVŠ AƬASMS3 ADABD SAԲ AZϠU DBM3HSD'SPA SAԲɠƠHŠUSS SZԲAB NBSZB MP-3 DAUSSŠHŠUSS DBBDABŠBAK SBDSZɠHŠDS SBSKDAN'SSUKN.AK DAԱGԠPԠNUMB SBҠANDGϠNMVM ASϠNMHŠSYSMPAҠHAԠ'VŠDN. Ơ0 SBGMBPɠGϠGԠPNҠϠMSSAGŠ MPSHɠNϠMSY SAԲSAVŠPNҠϠAVAABŠBU DAԱGԠPԠNUMB B DV.+0NV AƬAƠ ADAB ADAAS00AS SANϠNSԠԠNϠHŠMSSAG 0.*DAMSGԠADDSS SAԱSUƠϠBŠMVD DB.-6MV ԱDAԱɠ SAԲɠN SZԱH SZԲMSSAG NBSZBUU MPԱBU MPSHɠDNŬUNϠSHDUA SPà SHDƠSH DUDƠDU ԱBSS ԲBSS MSDƠ+ Dà30 Ԡ6Ҡ ASà3PԠ NϠBSS ASà9MADŠUNAVAAB. Ԡ6Ҡ ͧ0 2 ? 24337-80024 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 24 OF 52             H0101 4# HDSYSMDAHMGNYAKGABB HŠSAVGUNŠSADHNASYSMAKHVA NMANSUHASADYҠDԠAKANNԠB NBAKϠSASSGNDDSàADDSSBUԠHNVY MGHԠBŠPSSBŠƠHŠNMANANBŠSAVD.SAVG ASSUMSHŠNGPNSHAVŠBNS: BUSSANGŠADDSSƠHŠAK MDNGAVŠNGHƠHŠAKN SDAPADDSSƠADUBŠDNANNG HŠAK'SDSàADDSS SAVGADSHŠADԠNPSNϠHŠUPPҠKƠHŠUS AAANDSAHSҠANNYAGŠNUGHϠHDHŠAK. ƠANNYSUNDHŠAKSNϠDSàANDSN ADDSSSSDNϠHŠDUBŠDANPNDϠBY SDAP(SYSMABŠDSàADDSSPN.HŠADԠSHN UPDADBYUNNGSPAŠҠHŠDAKANDAMNGSPA ҠHŠNנN. SAVGASNԠϠPNԠANYMANNGSYSMMSSAGSAND ANNDANƠSAVG'SSUSSҠAUŬANDHNHAS. HŠHŠPSSBŠHASHAVŠHŠNGMANNGS: 3B-VYPSSBŠBYBNGUPMDS 33B-VYPSSBŠBYADNGMMAGAP 3B-VYSUԠƠHŠUSN SPà SAVGNP ABK SADñɠK DASDAPSAVŠADDSS SASAADPNҠAND DAMDDSàNGH SASANAKϠBŠSAVAGD DDSDAPɠSAVŠDSàADDSS DSԠSDADҠҠADԠUN DA.-NAZŠAD SASNԱAKUN DASADPNAZŠAD SA0SASADAADDSSPN ADA.+NAZŠAD SASAD̠NGHPN DDSADAɠNAZ DSԠSADAɠUNԠDS DASAD̬ɠADDSSAND SASAD̠NGH SA0DBSAD̠B-ƠDS SZBSSANYMŠNHSAK? MPSA05N ADBD536DUŠUNԠBY6BKS SSBANY? MPSA03YS DASAD̠NϬGԠGNA̠NGH BSSSԠADUSDNGHϠZ SA03DAM536MAMUMNGHҠAD SAMDSԠDSàNGHD SBSAD̠SAVŠADUSDAKNGH BMPUŠAD DV.+3NYUN SASNԲANDSAVŠ DASADADSàADDSS DB̸9ŠADDSS ADBBԱ5ADDADB SBDSZɠADADԠHUNK MPDMDSàAUŠ-USHSYSM HKADԠҠAAGŠNUGHNY DB̸9SAԠƠAB SA0ADB.+NGHD DABɠNGH ADAM3SHSNYAGŠNUGH SSASSҠHŠSYSMAK? MPSA06YS NB SZSNԲNϬANYNS? MPSA0YS DDSADAɠADUS ŠDS ADB.+6ADDSS SZҠN NA6BK DSԠSADAɠHUNK MPSA0HKNԠHUNK ADUSԠPNSҠHKNGNԠADԠAK SA05DASADA ADA.+3 SZSNԱANYAKS? MPSA0YS HSSYSMSBYNDHP DMƠ0 DBSAAGԠADDSSƠAUŠMSSAG SBNԠPNԠMSSAGS DASAVGGԠHŠANGADDSS HԠDAH+3BP MP-NϠHAN! SPà ANנAKHASBNUND SA06SABɠUPDAŠNY'SNGHD ADB.-DSàADDSS SBSADASAVŠPN DDBɠPUԠNנDSàADDSSNSAVAGD DSԠSAADɠAK'SŠSDNԠAB ŠUPDA ADB.+3NY'S SZDS NAADDSS DSԠSADAɠDS DAMDSAVŠNGHƠADԠHUNK SASAD̠HAԠNYASUNDN DASANSԠANSҠNGH SAMDAKϠBŠSAVAGD DASAADNנDSàADDSSҠAK DBBDŠAN SBDSZɠSAVAGŠHŠAK MPDMDANG!UBŠHSSYSM SPà AKHASBNSAVAGD-NנUPDAŠAD DASAD̠SԠANSҠNGH SAMDƠUPDADADԠHUNK DASADADSàADDSSƠADԠHUNK DB̸9ŠADDSS SBDSZɠŠϠDS MPSPSUàBנ SBSADԬɠNDADԠƠSAVAGDAK DASDPҬɠSԠANS SAMDNGHD DASDAPҠADԠDSàADDSS DBBDɠADN SBDSZɠADԠAK MPSPSUàMŠPBMS DA.+3SԠAMUNԠ SASDANBŠUND SBSBAԬɠUNHŠBKS DASDAPҠŠH DBBDUPDADAK SBDSZɠϠHŠDS MPSPSUàUҠUԠƠVŠAN' BADҠASKDS HŠADԠHASBNUPDAD Ơ0 DBSASUADADDSSƠMPŠSUSS SBNԠUPUԠMSSAGS DASAVGADANGADDSS HԠDAH+3BKK MP- SPà HŠADԠUDNԠBŠUPDAD SPSUàƠ0 DBSAPSADADDSSƠPAA̠SUSS SBNԠPNԠMSSAGS DASAVGADANGADDSS HԠDAH+33BD MP- SPà SASUDƠ+ Dà Ԡ6 ASàMVDSYSMAK.MGNYDS Ԡ5- Ԡ53-S ASà6PANDHNBԠUPMDS. SPà SAPSDƠ+ Dà0 Ԡ6 ASà5MVDSYSMAK.MGNY Ԡ6 ASàMAGAPŠSPANDADMAP. SPà SAADƠ+ Dà5 Ԡ6 ASàAN'ԠŠSYSMAK Ԡ05.- Ԡ5- ASàVYUԠƠHŠUSN. SPà SAADBSSADD.ƠAKϠBŠSAVAGD SANBSSNGHƠAKϠBŠSAVAGD SNԱԠ0 SNԲԠ0 SADPDƠADAԠADԠAB SADABSSADԠDSàADDSSPN SAD̠BSSADԠAKNGHPN SADADƠ+ADDSSƠUNԠADԠHUNK BSS SAD̠BSSADԠAKMAND'SNGH M536Dà-536 D536Dà536 SDPҠUMP+DP SDAPҠUMP+DAP SDANUMP+3DAN SDADҠUMP+DADD SADԠDƠADԠNDADԠUN SBAԠDƠBADԠUNBKϠADԠUN SKP HSUNŠSADHNHŠSYSMANNԠNNU PANGBUԠMAYBŠABŠϠBŠSUSAD. SPà SKNP Ơ0DSABŠNUPS DBSKMGԠADDSSƠPMSàMSSAG SBNԠGϠPNԠMSSAGS DASKAGSANGADDSS HԠDAH+33BAK MP- SKMDƠ+ Dà59 Ԡ6 ASà9AN'ԠASSSYSMSGMNԠҠAB. ASà0VYPSSB. SPà HSUNŠSADHNHŠSYSMANNԠNNU PANGANDHASADSABSNSUHAAYHA HYNANNNGNMANANDSUSANS MPSSB. SPà DADNP Ơ0DSABŠNUPS DBDADMGԠADDSSƠPSSMSàMSAG SBNԠGϠPNԠMSSAGS DADADAGSANGADDSS HԠDAH+3BPASSAAY MP- DADMDƠ+ Dà5 Ԡ6 ASà9SYSMABSNMPAB.VY ASà6MPSSB. SPà HSUNŠSADHNHŠSYSMHASBNԠNG NHŠKDBKSABŠƠNŠƠHŠDSS.HŠSUAN SSMAҠϠHSŠHHA̠"DAD"BUԠSNŠKDBKS ABSAŠMMA̬HŠPAҠMUSԠBŠNMDHAԠN HASBNDAMAGD. SPà MDADNP Ơ0DSABŠNUPS DBMDDMGԠADDSSƠANNGMSSAG SBNԠGϠPNԠMSSAGS DAMDADAGSANGADDDSS HԠDAH+3BMU MP- MDDMDƠ+ Dà5 Ԡ6 ASà6KDBKSABŠDSYD. ASà0VYMPSSB. HDSYSMDAHMSSAGŠPN HSUNŠSNDSASYSMDAHMSSAGŠϠHŠUSS. NԬԠMPSANYUPUԠHHHASBNSAD BYHŠSYSMNSŠDV.ԠHNPNSANYMSSAGS MANNGNHŠMSSAGŠBU.ƠԠSNDH(B NNZϬԠ̠ASԠPNԠHŠASɠSNGHSŠNGH SPNDϠBY(BANDHHSASNHŠDNG HSNGH. SPà NԠNP ABK SADñɠK SBNBSAVŠSPA̠MSSAGŠPN ANMUSS SBҠSYSMDAH Ơ0 DA35ƱASSYSMNSŠDV SSASSDNGNPUԠҠUPU? MPNNPUԬGϠHKҠMSSAGS SS?SàUPUԬAԠҠUN MP-HAAҠϠBŠUPU DAADҬɠGԠHAAҠPN ŬADUBŠҠSYNANDSŠBԠ5 DBGɠGԠ-GHԠD SBHŠSNԠHAA? NANHŠGH:BUMPPN SASYBA1{SAVŠPNҠҠSYN DBNԠGԠMANNGHAAҠUN SBSYàANDSŠҠSYN DBNPGԠUNADDSS SBSYNANDSŠNSYN DASYBԬɠGԠUNԠUPUԠN̠BS MPSY3UMPNϠMDDŠƠUN MŠHŠϠHKҠMŠMSSAGSNUU NAAŠHŠMSSAGS ADAMSԠNH PA.-UU? MPNN SAMSԠYSDMNԠHŠUN DBMSPBUMPPN ADB.+MSNϠNԠMSSAGŠBU PBMSNDAPAUND? DBMSBGYS SBMSPSAVŠNנUNԠMSSAGŠPN DABɠGԠHAAҠUNԠNϠA NBPNҠϠSԠDNϠB SBSYNGϠUPUԠ MPNHKҠM MŠHŠϠPNԠNA̠SPA̠MSSAG NDBNBGԠSPA̠BUҠPN SZBSSSHŠAMSSAG? MPN3N DABɠYSGԠHAAҠUN NBBUMPPNҠϠSԠMS.D SBSYNGϠUPUԠ N3ANAY SBSYNUPUԠ3 SBSYN"AGNZNGDAH" SBSYN'SAND MPNԬɠUN NBBSSBG.SAVŠD ADҠDƠADҠPNҠϠ?35'SHAҠPN GDƠGPNҠϠ?35'S-GHԠD NPDƠNUNADDSSҠAKŠSYN HDSYSMDAHҠSAPAKҠN HSUNŠSADϠNMA̠USSHAԠHŠSYSM SGNGDNBAUSŠƠAHADAŠAUŠҠϠNMA SNGŠUSҠHAԠHSPԠSBNGMADŠUNAVAABŠ(BAUS ƠASAPAKҩ.ԠMUSԠBŠNDHHŠAD PԠNUMBҠNANHŠAҠASŠҠHA-ϠNM A̠USSƠSYSMDAH. SPà ҠNP KSAPԠSAVŠPԠNUMB MASZASHSASYSMDAH? MPұNϬGϠSԠUPҠPԠNS SAPԠYSSԠSԠPԠϠZ DBNPԠGԠUNԠƠPSϠGԠNS SBPàANDSԠԠNϠP DA.+3GԠNGHƠMSSAGŠ(HAS DBSDANDPNҠϠMSSAG MPҲ ұASNGŠPԠBNGZAPPD SAPàSԠPԠUNԠϠ- DA.+3GԠNGHƠMSSAG DBPUANDPNҠϠ ҲMASAVŠ-MSSAG SAàNGH- ŬBSAVŠMSSAG SBBABUҠHAAҠPN DA.+5BPD SBԠMSSAG DA.+BH SBԠ DA.+B SBԠ 3SZàAŠHŠMŠHAAS? SSYS MPҴNϬGϠNSHUP DBBAGԠBUҠPN SZBABUMP ŬBAUAŠDADDSS DABɠGԠHAAS SZSSHHN? AƬAƠԠN:MVŠ ANDBSAŠHAA SBԠGϠSND MP3HKҠM ҴDA.+5BSND SBԠUS(S DA.+BNA SBԠGASP DA.+BM SBԠDS MPҬ ԠNPMŠHŠϠUPUԠHAҠNA SA0SAVŠHAA DAPàSAVŠNUMB SA03ƠPS DAPԠANDS SA0P 5DA0ASK AƬAƠHSUS'SBU ҠBƠSU SBSSì SSH MP- AHGԠSPNS SZA MP5YSGϠASKAGAN DAF0NϬGԠPԠ AƬA ҠҠUPUԠD Ҡ0ANDHAA SBSSìɠGϠSND SZ0BUMPPԠNUMB SZ03UPUԠϠANH? MP5YS MPԬɠNϬUN PUDƠ+ ASà9HADAŠAUŠ--PԠUNAVAAB. SDDƠ+ ASà6HADAŠAUŠ--SYSMDN. PԠBSSNUMBҠƠSԠPԠϠGԠNS PàBSSA̠ƠPSϠVŠNS àBSSNGHƠMSSAG BABSSMSSAGŠHAAҠPN 0BSSUPUԠHAA 03BSSUN 0BSSMPS HDSYSMDAHYPŠDV UPNNY(AHDSHŠNUMBҠƠHAASϠBŠUPU. BԠ5ƠA0Ҡ-ƠҠƠAҠUPU. (BPNSϠHŠSԠDƠHŠBUҠϠBŠUPU. SPà SYNNP SASYàSԠHAAҠUN ŬBNAZ SBSYBAHAAҠPN DASBPBSҠ"PNԠNY" SASYBԬɠSAVŠHM SY3A?SàSNDHM SYñDASYàHAVŠA̠HAAS A̬ŬA(PYƠBԠNϠũ SZASSBNUPU? MPSYòYSGϠSŠABUԠ ANϬDMN ADASY SASYàHAAҠUN DBSYBAMPU SZSYBAD-HAA ŬBADDSS DABɠADD SZSSPSN AƬAƠHAA ANDBAԠHAA ҠB00ADDNBԠ A?SàUPUԠ Sà?SìàUSԠHAAҠANS SS?SàAԠ MP-MPNAG MPSYñGϠDϠNԠHAA SYòSZANԠ? MPSYNɠNϬUN DA.+3YS3HAAnGS ҠBԱ5HNϠ SASYàNG DBSY̠ADDSS ŬB-ƠҠ SBSYBA MPSYñGϠUPUԠHS SYàBSSUNԠƠHAASϠBŠUPU SYBABSSUNԠHAAҠPN SYBԠDƠBSPNҠϠUNԠN̠BS SY̠DƠ+ Ԡ05-Ơ Ԡ005000 UNS HDMMUNANSDVS HSŠUNSAŠUSDҠMMUNANBNHŠ AND6 6ϠSNDDV G6000B SSHNP Ơ0 SASVHSAVŠMMUNAN SBSVBò DBDñɠGԠKD BƬBƠԠSAMPBԠ B̠BŠS SBDñɠBKK SƠ0 SSHAԠҠAKNDGMN MP-ƠPVUSANSMSSN AHUPUԠD SàHàNUPԠHҠMAHN àH DBDò Ơ0 SZUNBKKUNSSԠAS SBDñɠBKDHNŠND DBSVBò SƠ0 MPSSHɠ Ϡ6VŠDV ұMNP SAMASAV SBMB AASAB S NAANDV SAM AHADUSԠD AƬAҠPDŠNBS-0. AND.+MASKϠHŠBS ADAMB̠ADDNDDŠABŠPN MP0ɠBANHϠAPPPAŠUN MB̠DƠ+ DƠHV̠HAVŠN DƠABҠUSҠABD DƠB̠BUҠU DƠBŠBUҠMPY DƠϠNҠSAMNԠMDU DƠUHUUSҠHUNGUP DƠұ DƠұ SKP AAYSUNSH ұԠDAMŠS SAAAhKB S DAMAANDV DBMB SàHàAKNDGŠP MPұMɠ HASAN HV̠SBDYBSԠDƠYAB SZASKPƠSAUSSD. PANPԠNϠSKPƠNPUԠA SSDŠҠANGҠNPU MPұԠGN DAɠSԠ ҠMMMUNAN SAɠB AHSŠSPNS ANDB3MŠNY ADB.+?MABŠ(0ƠN SAɠNҠMNG MPұԠUNϠDV US'SABԠUS ABҠSBDYBSԠDƠYAB DA ANDB30M PAPBGBG0ANDPBG? MPұԠYS.ABԠNԠAD DABɠN.ABԠPSB ANDUNABԠUNABŠ SZASSAB? MPABұN DA ҠABYDAYAB SAɠAMP MPұԠUNϠDV ABұU ADB.+?SAԠBSAUS DAɠASAUS PASYNԠHKҠSYNA. MPұԠAN'ԠABԠUԠƠSYNA. ADA.+.-SYN--M3+M SSASKPƠBAYPGAM. MPABҲHSŠABԠAAYSAD. DA.+SYN-.++A-M MANAABAB ADABɠBAY SSAPGAM? MPұԠN DABɠMAYB MANA ADA.+SYN-.++SA-M SSA MPұԠN ABҲU ADB.-?SAԠBAGS DAɠSԠ ҠMMMUNANS SAɠB ADB.+?SAԠS ASAUS SAɠABNG MPұԠUNϠDV BUҠSU B̠SBDYBɞSSԠDƠYAB PAUנGNŠ MPұԠAADYUPUԠA DAɠS ҠUԠUPU SAɠAԠB MPұԠUNϠDV BUҠSMPYAGAN BŠSBDYBSԠDƠYAB PAUנHKҠSAUSUPUԠA AŬSSA_-Š_ AŠA_-Š_0 ҠUԠAҠUPU ANDɠAԠB SZƠSAUSU׬HNDN' ҠMSԠ SAɠMMUNANSB MPұԠUNϠDV NҠSAMNԠMDU ϠSBDYBSԠDƠYAB ADB.+?SҠBSAԠADDSS DAɠASAԠADDSS PADNԠANGҠN? SSYSSԠMB. MPұԠNϬMUSԠBŠMSAK. ADB.-?S DAɠSԠ ҠMMMUNANS SAɠB ADB.+?SAԠS DANϠSAUS SAɠNҠMU MPұԠUNϠDV SKP USҠHUNGUP UHUSBDYAUS'SSAUS ADB.+?NK PASYNԠAN'ԠDSNN MPUHUUԠƠSYNA ADA.+.-SYN--M3+M SSABAYPGAMUNNNG? MPUHUN UHUPBMNK+YSSUSҠHADƠUU? MPUHU3YS UHUADB.+?SA-?NKN DADSàSԠSAUS SABɠϠDSNN ADB.+?AG-?SA DABɠSԠɯ ҠMMMUNANS SABɠB MPұԠUN UHU3SBHDSSԠDSNNԠAG MPұ NDSԠDƠYABŠ ԠH(BSԠDƠYPŠPHFBAB (AUSSSAUS DYNP AHADUSԠD AƬAƠYN-0 AND.+3BMASKϠ5BS MPY.+Y0-Y00 DB0MPUԠAN ADBDY0ƠAGD DAAAGS ADA.+?SAԠASAUS DA0ɠASAUS PAPUNHKҠPԠUNAVAAB MPұԠGNŠƠS MPDY ұDU SVBòBSS DNԠDƠNԠHŠNҠAS. UNŠϠAҠPBGBGBSANDϠ HŠHҠMAHNŠABUԠHŠAB. NƠNP ADB.-?SAԠB?AG Ơ0 DAB30MAҠPBGBG MABS. ANDB SAB NBB?NUM DABɠA?NUM ҠABԠ̠HҠMAHN. SBSSì MPNƬ -UH 3D 24337-80025 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 25 OF 52             H0101 6# HDSHDU G0000B B0Ԡ0 M60BԠ-60 MBԠ- M33BԠ-33 MMABS-M M36KABS-30000-6000 ASNASàN ASƠASà ASBAASà AS0BASà0 DM6DƠM6 YKABSY00 UMBSSMPSUSDBYUHUN. ؠԠ- MPBSS SMANԠ0UNԠSAPҠDSàANSҠAG MANԠ0DPƠѠAGSPN M5DƠM5- NSADƠNS NPDƠN SKP HŠKDVҠSHŠNA̠PNԠHUGHHHN̠S PASSDϠHŠSHDU.NYMSϠHŠDVҠHNVҠH K(A̠MŠSAAҩNUPS.HSVNԠUSVY 00MS.BSDSGVNGN̠ϠHŠSHDUҬHŠK DVҠASϠHASHŠASKƠUPDANGHŠMŠƠDAYK. HSKSAϠDNYHSŠVAUŠSASS: DAMDAY+HU DAM+600MN+0S-36000 SPà3 KNNPNYPN. SAMPSAVŠA. SZDAM+BUMP00MSUN MP0NϠPBMƠNϠSKP DAM36KSԠ00MSUN. SADAM+ SZDAMBUMPHҠUN. NPUSԠNAS. 0SZؠNҠSHDUҠHSM? MPñ+N DA.-YSS SAؠSԠSKPD DAMPSԠA SPà HŠNԠNSUNSNMAYAMP.HNH SHDUҠSUNNNGHVҬԠPVNSS MBNGNDBYNSNGANP. SPà ñNP DAMPSԠA ƠKAנANHҠKNUP. MPKNɠUN. SPà òMPSHDUSDϠNSԠNñ. SPà3 HŠSHDUҠSNƠSBDMNSHH PGAMSϠUNN.SԠԠASñ ANGHŠKϠNNUŠNUPNG. SPà SHDSAAGSAVŠA-GS. ANSԠNPNñϠPVlN SAñNNGSHD. DAKNSAVŠHŠPGAMUN SAPGAS. KDƠKNנԠHŠKNAGAN. SBBGSAVŠBGSҬ AAS-GSҬ SàANDVנGS. NA SAG DBMNK+GԠPN ADB.-?NK SBMANϠAGD DAMƠGԠMҠAG. SZAƠ0HSSNԠAMDPG. SZMҬɠƠNԠ0BUMPM. MPSHƠNԠUԠƠMŬSKP ANGHŠUNUU AԠHSPNԠŠHAVŠDSVDHAԠHŠPGAMHAԠHAS BNUNNNGHASHAUSDSMŠM.HŠNԠSPS ϠADUSԠHŠUUŠSϠHAԠHSPGAMSMVDϠH BM.HSSAMPSHDBYDNGHŠPGAM MHŠUUŠANDHNNSNGԠHSNנPY. DBMNK+GԠHŠADDSSƠPY NBҠHŠUNԠPGAM. DA.+SԠԠϠנPY. SA ADB.+?NK-?PV DAɠGԠHŠNKMHŠUN SAMNK+PGAMANDSŠԠNMNK+. SH3SBNSAɠNSԠUSҠNUU SBSAPҠSAԠAYSAPPNG MPSHHKҠMMUNAN MɯϠPSS SPà SԠҠANYY35BUSNSS SHSUUSԠNSHDHKNGYS DBDY0NAZ SBYKPN SH5ASԠҠDVҠBUSY PA35Ʊ MPSH5DVҠSBUSY. PA353 MPSH6MMANDNDBUԠNԠSAD HN35Ʊ0HŠNSŠSUԠSϠŠANDϠGGNG. ADAMSԠSԠҠANYNSNMSSAGŠ PA.- MPSH5MSSAGŠUUŠMPY UPUԠANMNԠƠHŠMSSAGŠUU S SAMSԠDMNԠMSSAGŠUN DBMSPADVANŠMSSAGŠPN ADB.+MSN PBMSNDƠAԠNDƠBU DBMSBGHNAPAUND SBMSPSԠUPNנADDSS DABɠGԠADDSSAND NBNGHƠMSSAG SBY35ɠANDUPUԠ MPSH5 SH5U ADAGԠSԠҠANYNSNGAB. PA.- MPSH6GABŠSMPY. SԠUPGBU SAGԠDMNԠGUN. DAGPBUMPGPN NA PAGNDƠAԠND DAGBGAPAUND. SAGP DAGPɠSԠҠGN DBASNҠGU. SSA DBAS SBGB+3 SҠ0SHԠGHAҠϠASԠ5BS. AND.+3BMASKƠHҠSU. ADAASBANVԠϠAS. SAGB+ DAGPɠGԠAUNԠNUMBҠAGAN. ANDBKPNYPA. B DV.+0GԠSԠDGSNAASԠNB BƬBƠSԠUPASԠDGԠAS ADBAS0BASɠԠHA. SBGB+6 SBNNVԠSԠϠASɠAS SAGB+5 SZGP DAGPɠNנGԠHŠM. AND.+3BGԠMNA̠NUMB SBNNVԠANDSŠNBU. SAGB+0 DAGP B ASҠ5 DVD60 SBGPɠSAVŠSNDHA SBNNVԠSԠHAƠϠAS. SAGB+ DAGP SBNNVԠNDHAƠϠAS. SAGB+ DA.+ DBGҲϠPNԠH SHSBY35ɠSU. MPSH5 SPà SUP GҲDƠ+ɠBUҠADDSS(ɽPUNH GBƠASàGƠA309300 UNS SPà Y35ɯϠMP SH6PA35(SԠDVҠMMUNAŠAG. SS MPSH5 DA35SԠGԠNSŠSAUS. DB35P PAUנƠUPUԠAԬ MPSH3GϠSԠHMUP. SZAƠNԠDŠVŠAADY MPSH5UUDHM. Y35NPUԠMMAND DA35BPNҠϠSԠHAA SASBHDƠNSŠBU. DA35NDPNҠϠND SASH̠NSŠBU. DA.+0BNAZŠMMAND SASHPHD. SBSMGԠMMAND. MPSHBANKN MPSH MPSH SԠUPUUŠNYҠNS. DASBHDSԠPNҠ SA35P35. DA.+0BSԠUPHŠAS SA35àHAAҠASABANK DABSԠSAԠADDSS. SA35S ADBSH9SԠPGAMSAUS SH3SB35SԠYP. DA.+SԠPY. SA35P DB35NGϠNSԠNUU MPSH3 SH9ABS-M+SYN-.+ SPà SHDANɠUPUԠNŠD SS SHDA.+UPUԠҠMSSAG B SB35Ʋ DBDH MPSH SKP SH5SBSAPҠHKҠANYHNGϠD.ƠN SAPҠ̠GϠϠSHAGAN. Ԡ̠UNHŠƠHŠS ANUABŠPGAMN. SPà3 HŠPGAMϠUNSAԠHŠHADƠHŠUUŬANDSAPҠHAS GUAANDHAԠԠSN.HŠNGSNƠD SSԠUPϠUNANDASϠSSUPHŠKDVҠSϠHA UUŠNUPS̠GϠBAKNϠHŠSHDU. SPà Ơ0NHBԠNUP. DAòSŠA# HDBAYSUBUNS BSàUMP+SM-MPDAG BSPUMP+9SAԠƠPGAMPN BPBUMP+3NDƠPGAMPNҠ(PBPҩ. ASAHASà- AS0HASà0- M33.Ԡ-33 PMKԠ00 PBKԠ500 YPBSS YPBSS SABƠBSSUSDBYSAUS SAVBSSUSDBY SAVBSSSAUSHŠSUSPNDD DHҠDƠHA DKPDƠDKNKϠDYSAHUN ADPDƠADԠNDAD DPDƠDԠNDD GDDƠGDԠGԠUNԠUS'SD HDBADƠHDBU MDDPDƠMDAD MADƠMK PƠDƠ BADDƠBADԠUNBKϠAD KYPDƠADAԠYàPNҠϠUN DSKADԠAKADDSS ADDƠADԠUNABŠϠAD DDƠDԠUNABŠϠD SHUDƠSH SHҠDƠSHSHDU SDPDƠSDԠSAHD SUSPPDƠSUSP UHDBADƠUHDB MKԠBSSHS MKBBSS MKNBSSDS MKNBSSA MKDBSSUSD MKPDƠ+BY BSS6MK SKP DPGADSHŠUNԠUSҠNϠ. DPGNP DAMNK+ ADA.+?PG-?NK DBAɠGԠPGAMBUND SBPBP MBMPU ADBUSŠANS SBMDNGH BBK SBDñɠK ADA.+?DS-?PGDSàADDSS DBUSɠADN SBDSZɠUS MPPZAPɠBנԬZAPHSUS DADòɠUNBKSHDU. SADñ MPDPGɠUN GD GDSANSHŠNPUԠBUҠҠANDNUMB.ƠNԠUND UPUSAMSSAGŠANDMNAS. ƠUNDHŠSUԠSPADND-SU NMD.ƠHŠNGHAAҠSAҬGDSKPSNH4u AYBAK.NANYASŬHŠNԠHAAҠSNA. GDUSSMP+35. GHUMP+ GɱUMP+3 GɲUMP+ G3UMP+5 SPà GDNP DAMNK+DMNŠHHSANNҠϠUS DBDHҠUSŠHAҠƠUSҠYPŬ PA35N35HƠSYSM. DB35H SBGH SBGHɠSANNPUԠBUҠҠS MPGҠHAA. ADAM33.SԠҠ SSASS MPG ADA.+3B SSANA MPG AS̠0 SAGɱSAVŠҠA. DA.-3SԠDG SAGɲUN. BSԠNUMB GɴSBG3Ϡ0. SBGHɠGԠNԠHA. MPGҠA. ADAMBSԠҠDG SSASS MPGҠA. ADA.+0 SSA MPGҠA. DBG3GԠPAA̠VAU. B̬B̠MUPYBY0. ADBG3 B ADB0ADDNNנDG. SZGɲSԠҠDN. MPGɴ ADBGɱMGŠN. SBD MBNB SBMD SBDPɠNDDAK SBGHɠGԠNԠHAA. SZGDSKPUNƠ. MPGD SHDUŠBAYUNŠҠUN HSUNŠSADBYHŠMPҠHNԠANSϠU NŠƠHŠNGBAYUNS:HANSҠASSGN. HSŠBAYUNSAŠAAYSUDHAPYƠ0 ASA̠BAYUNSA.HŠANGSUNŠS: SBSHB DƠO 24337-80036 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 36 OF 52             H0101 8% HDNUMB HŠNUMBҠUNŠSADBYAUSҠϠASSGNN SUNŠNUMBSϠA̠ҠAPAԠƠAPGAM.HŠMAԠ HŠMMANDS: N-MNP MSHŠNנNA̠SUNŠNUMB NSHŠNנNMN PSHŠSԠSAMNԠϠBŠNUMBD ѠSHŠASԠSAMNԠϠBŠNUMBD. DAUԠVAUSAŠASSGNDASS: M0N0PSԠSAMNԬѽASԠSAMN SPà GBA DAMNK+ ADA.+?PG-?NK DB0 PBPBUƠNU̠PGAM? MPNDYS SBDPGADNUSҠPGAM. DBMNK+MPU ADB.-?NK DAAGPGAM AND DBPBPҠSAŠAND SAN SZANDƠPGAM DBSYMB SBNNPN SԠUPNA̠SUNŠNUMBҠANDNMN DASPG SANBANAZ SBNA DA.+0DAU SANM SANNVAUS SBNUMPAAM? MPNN SBNMYSD PA.+5BNDƠD? MPNYS PA.+5BNϬMMA? SBNUMDMANDSND MPNƱNNŠUND SBNND PA.+5BNDƠD? MPNYS PA.+5BNϬMMA? SBNUMYSDMANDHD MPNƱNԠUND SBNBAD PA.+5BNDƠD? MPNYS PA.+5BNϬMMA? SBNUMDMANDUH MPNƱNNŠUND SBNAD PA.+5BNDƠD? SS MPNƱNϬ MBNAGA ADBNBAHANҠUA SSBSSϠNBA? MPNƱNϬA NDHŠASԠSUNŠNUMBҠSS kHAN ҠUA̠ϠNAANDSԠNAϠPNԠϠ DBSPGSAԠHSԠPGAMD SBN N0U PBNNPGAMHAUSD? MPNYS DABɠUNԠSUN MANANUMBҠGA ADANAHANNA? SSA MPNYS SBN̠NϬSAVŠPNҠϠSAMN DAB NASԠ(B ADBAɠNԠPGAM MPN0SAMN NU DBN PBSPGƠNA% HDSAUSVAY-USҠNS GBA HŠNGDŠPNSUԠDSàAANNMAN SBUSS Ԡ50 ASàSàAAN Ԡ5- Ԡ50- PNԠUԠDԠNMAN-DSàADDSSANDNGHNDS ASà3D Ԡ0 SBƠPNԠ-- DA.-33D SAUSAàAKS DBUSDADPNҠ SBUSAPDSàADDSS US30U DDUSAPɠGԠADDSS SZUSAPMVŠPN SZUSAPϠNGH SZASS SZB SS MPUS3SKPƠZ SP SBUS6DUPUԠADDSS SBUSNANDNGH US3U SZUSAPMVŠPNҠϠN SZUSAPDSàADDSS SZUSAàNSHD? MPUS30N SBƠ-- PNԠUԠADԠNMAN-DSàADDSSANDNGHNDS SBUSS Ԡ6- ASà3AD Ԡ0 SBƠPNԠ-- SBSHUɠSUSPND DAUSԴSAVŠPN SAUSAPϠADԠNMAN DA.-55P SAUSAàN USԲ3DDUSAPɠGԠADDSS SZUSAPMVŠPN SZUSAPϠ'NGH' SZASS SZB SS MPUSԲSKPƠZ SP SBUS6DUPUԠADDSS SBUSNANDNGH SZUSAàNŠD? MPUSԲN DA.-5YS-S SAUSAàUN SB SBUSSVSAVŠVAABS SBSHUɠPNԠSUSPND SBUSVSŠVAABS USԲSZUSAPMVŠPNҠϠNԠADDSS DAUSAP PAUSԴNSHD? SSYS MPUSԲ3N DAUSA lPA.-5 SSSKPBANKN SB SBSHU PNԠUԠDYAKNMAN-DSàADDSSSANDNGHS NDS SBUSS Ԡ500 ASà3D Ԡ0 SB DAUSD6DàAB SAUSAPADDSS DA.-55P SAUSAàN USԲ5DAUSAP ADA.+5GԠDS DDAɠADDSS SZASS SZB SS MPUSԲ6SKPƠZ SP SBUS6DUPUԠADDSS SBUSNANDNGH SZUSAàNŠD? MPUSԲ6N DA.-5YS-S SAUSAàUN SB SBUSSVSAVŠVAABS SBSHUɠSUSPND SBUSVSŠVAABS USԲ6DAUSAPMVŠPNҠ ADA.+NԠAKADDSS SAUSAP PAUSDUNSHD? SSYS MPUSԲ5N DAUSA PA.-5 SSSKPPNNGƠBANKN SB PNԠUԠSYSMNMAN SBUSS Ԡ500 ASàSYSM Ԡ0 SBƠPNԠ-- DDDADS̠GԠSYSMBAYADDSS SPAND SBUS6DUPUԠ DA.+5UPU SBUԠA'-' DADNS̠GԠNGH SBUS3DANDUPUԠ SBUSSԠUPU ASà Ԡ0BANKS DBDBSAGԠPN ADB.+3ϠSԠDS SBUSAPADDSSNSS DA.- SBUSSSSGMNS- SB SBUSSVSAVŠVAABS SBSHUɠSUSPND SBUSVSŠVAABS DA.-5 SBUSSSSGMNS5-9 SB SBUSSVSAVŠVAABS SBSHUqɠSUSPND SBUSVSŠVAABS DA.- SBUSSSSGMNS0-3 SB SBUSS Ԡ500 ASà3USS Ԡ0 SB SBSHU DA.-P SAMP+3N DBUSSנDSàADDSSҠY00 US3U SBMP DDMPɠGԠADDSS SZASS SZB SS MPUS39DNŠƠZ SP SBUS6DUPUԠ DA.+0BUPU SBUԠ DA.+0B SBUԠBANKS SZMP+3NŠU? MPUS3N SB SBUSSVYS SBSHU SBUSV DA.- SAMP+3 US3U DBMP ADB.+Y0-Y00 PBUSUSNSHDA̠USS SSYS MPUS3N US39U DAMP+3 PA.- SSSKPBANKN SB MPND SKP USBҠADSHŠBSAP USBҠNP DAM5 SAMDNGH A BNB DSԠMP+DSàADDSS DBDBSAŠADDSS ADBBԱ5 DAUḎ SBDSZɠAD MPUS MPUSBҬ USSSSHŠBUҠHSYSMSGMN ADDSSSANDNGHS USSSNP SAMP+3SAVŠƠSGMNS SBUSBҠADBSAP USSU DDMPɠGԠDSàADDSS SP SBUS6DUPUԠ DA.+5UPUԠ'-' SBU DBMP ADB.- DABɠGԠNGH ADB.+6 SBMP AƬAƠNV ҠHMSK MANAϠBKS SBUS3DUPUԠ SBUSSԠBANKS ASà Ԡ0 SZMP+3 MPUSS MPUSSS USD6DƠD USDUDƠDU USԴDƠADA USԴDƠDKB USAPUMP USAàUMP+ USDDƠD+ USSנDƠY00+?DS USUSDƠY3+?DS HDD HŠDŠMMANDASAUSҠϠDŠASNƠHS PGAMNASNGŠN.HŠMAԠS: D-MN D-M HHŠSԠMAԬA̠NSMMHUGHNA DD.HHŠSNDA̠NSMMϠHŠND HŠPGAMAŠDD. SPà GBA SBDNMGԠM. SADM DAD99 PB.+5BƠMMASG SBDNMGԠN. SADN PB.+5BNԠHAҠMUSԠBŠA. MPD̲ MP D̲MAHKҠM0DSàADDSS DBBD SBDSZ SBDADP DAKDNGԠNYUN MANA SAKDNSԠNGAVŠҠHҠUSS SBKDҠHKNGHSҠBKSZ SBADɠSŠDSàSPA MPKDŠNNUŠN HŠPAHABŠSNנBU.HŠNԠSPSϠUPHŠD. KD6U DAKDNHKNGHƠPAHAB MANASZASS MPKD SAKDNSԠNGAVŠUN DAKDɬ SZASSƠNGH0ŠDNԠHAVŠ MPKD0ŠԠBAKU. SAMDSԠUPҠDSàDV ŠSԠHAVŠϠSŠUPHŠH.HŠAŠ ASSDPNDNGUPNHHҠHŠHŠSAԠH BGNNNGҠNHŠMDD. DAKDPŠ̠MVŠMKDPN SAMVSANYAS. DBKDԠGԠSԠDNB. PBDƠHŠSAԠBGNNNG MPKDGϠSԠNנSԠD. DAKDPSԠDS.ϠBŠGHԠA ADA.+ASԠNYAMND PAMVSGԠԠƠSAMŠASSU. MPKD DBKDP3MPUŠƠDSϠMV. MBNB ADBKDP ADB.- MPKD3GϠMVŠ. KDDAKDɠSԠUPNנSԠD. NA DB.- KD3SAMVD SBMV NנŠDYBAKϠDS. KDDBBDDMNŠŠADDSS. DAD PAKD DBKDP DAKDɠGԠDSàADDSS. ADA.+5 SBDSZ SBDADP KD0U SBKDҠHKNGHSҠBKSZ ŠADԠϠDS SBADɠSŠDSàSPA DAKDԠƠSԠDSàNY PADASNԠDŠDN. MPKD KDƠ0 MPND MAKŠSUŠA̠NGHSAŠNBKS KDҠNP DAKDNGԠUNԠ«$"NS SAKDP DB̸9GԠABŠBGNNNGPN NBNGH KDSU SBKDPSԠANVNNԠPN DAKDPɠGԠNGH SSASSSKPƠNGAVŠ(DUNԠ MPKDנPSVŠ(BKUNԠ B ASҠMAKŠNϠBKUN MANA SAKDPɠAҠABŠҠDSKSPAŠUN KDנU DBKDPGԠPAHABŠPN ADB.+ADVANŠϠNԠNY SZKDPHKҠND MPKDSNԠNDPSSN MPKDҬɠUN KD0DƠD KD̠DƠD KDPUMP+ KDɠUMP+ KDԠUMP+3 KDNUMP+5 KDPUMP+6 KDPUMP+ KDP3UMP+ KDPUMP+9 KDàUMP+0 KDBUMP+ $KDU :$ I T 24337-80047 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 47 OF 52             H0101 :' HDMUNK HŠMUNKMMANDSUSDϠSŠϠHŠSYSMANYDS BKSHHHAVŠPVUSYBNMKD.HŠMAԠҠH MMANDS: MUNK-BK۬BK BKANDBKSPYHŠSԠANDASԠBKSϠB MUNKD.ƠBKSNԠSPDԠSASSUMDϠB UA̠ϠBK. GBA SBMUNNϠGԠSԠBK MPMUNGA̠MA PA.+5BMMANG? MPMUNYS PA.+5BNϬ? MPMUN3YS MPҠNϬ MUNU DDMUNNSAVŠS DSԠMUNSBBK SBMUNNϠGԠASԠBK MPMUNGA̠MA PA.+5BҠS? SSYS MPҠNϬ DBMUNSBMPU DAMUNSB+ASԠBK- SBMUNSSԠBK SZBSSDNŠVAD? MPMUNYS MUNU DB.-9NϬ SBMUNҠ Ԡ5 ASà9GA̠PAAMS MUN3U DDMUNNSAVŠS DSԠMUNSBBK ASԠҠNŠBK MUNU NASAV SAMUNNNGH DAMHADASԠD ADA.+ SAMUNPƠDSà SBMUNDSBK SSBSSAG? MPMUNYS MUN5U DAMUNPNϬMV ADA.-6ϠNԠDS SAMUNPԠNY SBMUNDSBKN SSBHSDS? MPMUN5N NAYSSAV SAMUNAASԠBK DDMUNSBS DSԠMUNNBK SBMUNDSNHS ŬSSBDSàAS? MPMUNN SAMUNAYSSAVŠ ADA.-BKS SZSS0-3A MPMUNGA =DAMUNPHK ADA.+ DBAɠDS DBB SZBPSN MPMUN6ԠS DB.- SBMUN Ԡ56 ASàNSNԠDS MUN6U DAM56BADBKSS SAMD56DSNG DDMUNP ŬA B ADB.+3SDSNBK3 SZ NA DSԠMUNSB DAMUNDAAD DBMUNBɠBADBKS SBDSZɠAB MPDD SBADPɠGԠHSDSàAD DAMUNA̬ɠNGH SAMDAD DAMUNADAD DBBDɠDS SBDSZɠAD MPDD DB̸9SԠNY MUN0U DABɠGԠM SZASSNSHDSAH? MPMUNYS MAŬNANϬS ADAMUNAHSNY SZASSUA? MPMUNYS SZSSNϬGA MPMUNYS ADB.+NϬNSHD PBMUNZSAH? SSYS MPMUN0N MUNU SBMUNPBHKPDNGBK MPMUNNSMBND MPNDNϠKDN MUNU NBSHS DAMUNNNY MAŠMPY ADABɠNSD? SZSS MPMUN3YS NANϬSAV SABɠNנNGH ADB.-SAVŠN DAMUNASANG SABɠADDSS DAMUNAADDSSƠBK SAMUNAϠBŠUND DAMUNNNGHƠUND SAMUN̠BK SBMUNSUNBKϠDSàAD MPMUN MUN3U DABɠNGHAND SAMUN̠ADDSS ADB.-BK DA BɠUN SAMUNADSàAD SBMUNBҠSAVŠ(B SBMUNPPDSNANPN ADB.+SUŠPN MUNU PBMUNZ MPMUN5 DABɠMNA SZASS MPMUN5MPY SAMUNPP SZMUNPPNSD NB MPMUNNY MUN5U AZϠU SAMUNPPɠϠDS SZMUNPPAҠAS SAMUNPPɠNY DBMUNBҠSŠ(B SBMUNSUNBKϠDSàAD HKSUDNGBKS MUN6U DABɠANYM SZASSNS? MPMUNN DAMUNAYS MAŬNAVAP ADABɠN SZNY? MPMUNN NBYS ADABɠMPY SZASSNSŠ? MPMUN3YS SZSSMAYB MPMUN3YS SAMUNPPNϬSAVŠNGH MANANGH ADABɠUND SAMUN̠BK DAMUNPPSAVŠNGH SABɠKDBK ADB.-ADDSS DABɠUND SAMUNABK DAMUNASAVŠN SABɠSANGBK SBMUNSUNSPAŠϠDSàAD ŠDSàADԠANDKDBKS MUNU DAM56NGH SAMDBADBKS DDMUNPɠMPU ŬA BŠADDSS ADB.+3 SZƠBK NA DSԠMUNSBH DAMUNDAŠU DB̸9KD SBDSZɠBKS SBMDDP DAMUNA̬ɠ SAMDU DAMUNADDS DBBDAD SBDSZɠAK SS MPND ADSàUB B SAKDƬɠMAKŠAD DSԠKDɠDSAPPA MPND MUNU SBMUNPBHKPDNGBK MPMUN6GϠHK MPMUN6NԠNY MUNNϠSANSHŠNPUԠSNGҠANNGҠSSHAN9. UNDԠUNSϠ(P+HHŠNGҠNMUNN0:ݠAND HŠNGHAAҠN(A.SԠϠ(P+. MUNNϠNP BSԠAG SBMUNPNUMBҠUN BNAZ SBMUNN-DG SBMUNN+SU MUNNU SB35ѠGԠAHAA MPMUNN DBA ADBMB SSBSSDG! MPMUNNN ADB.+0MAYB SSB MPMUNNN SBMUNPYSSAVŠ DAMUNN+GԠPVUS DBMUNNSU AS̠MUPYBY ŠADDPVUS ADAMUNN+SUԬ SZPDUNG NBMUPAN ADBMUNNBY5 AS̠Nנ0PVUSSU ŠADDN ADAMUNP SZNנDG NB SBMUNNSAVŠN SAMUNN+SU DAB AND.+ PABBG? MPMUNNN MPMUNNϬɠYS MUNNU SZMUNPDDNUMBҠU? SZMUNNϠYS MPMUNNϬɠN MUNSSUBASHŠ-DNGҠNGҠN(B(AݠMMUNN0:ݬ AVNGHŠSUԠN(B(A. MUNSNP MAŬNANGA MBSZ NBSUBAHND ADAMUNN+ADDN SZ NBMNUND ADBMUNN MPMUNS MUNDSAKSHŠDSàADDSSNMUNN0:ݠANDMPUS AVŠϠHŠDSàHSŠԠNYSPNDϠBYMUNP NGHHŠSUԠN(B(A. MUNDSNP DDMUNPɠGԠSԠSҠNUMB ŬANVԠ BBKS SP SBMUNSMPUŠAVŠADDSS MPMUNDS MUNҠUPUSANҠMSSAGŠϠHŠNS MUNҠNP SBMUNP DA35BMV SAMVDMSSAG DAMUNҠN SAMVSNS BSBU SBMV DAMUNP MANA DB35B MPNDUPUԠ MUNPBHKSHŠPDNGBKϠSŠƠHŠNנNYSN SANG.ƠSϬԠMDSHŠPDNGNYUNSH APPPAŠSPAŠϠHŠDSàADԬANDSϠ(P+ HSŠϠ(P+. MUNPBNP PB̸9BGNNNGƠAB? MPMUNP ADB.-NϬN DAB SAMUNSBBKN ADB.- ADABɠANGŠ MA ADAMUNAPDNGN? SZSS MPMUNPYS ADB.+N MUNPU SZMUNPB MPMUNPB MUNPU NASZASSADAN? MPMUNP-YS MANANϬSAVŠNGH SAMUN̠ƠUNDBK DAMUNAADDSS SAMUNAUNDBK DABɠMPU MANAN ADAMUNANGH NBAND SABɠSAV ADB.-SH DAMUNAUNKD MAŠPN ADABɠNHŠMDD ADAMUNSBƠHŠPVUS SZNASSBK? MPMUNP6N SAMUNSBYS DAMUNNSԠUND SAMUN̠BKNGH ADB.+SAV SBMUNB0F$"Ҡ(B DBMUNYAB DAB SZASSU MPMUNP3N DB.-5YSUPU SBMUNҠҠMSSAG Ԡ5 ASàKDBKSABŠU MUNP3U SBMUNPPSUŠPN ADB.-DSNANPN MUNPU DABɠMAK SAMUNPP PBMUNBҠM MPMUNP5 ADB.- A ADAMUNPPN SAMUNPP MPMUNPNY MUNP5U DAMUNASAVŠADDSS SABɠƠNנNY NBSAV DAMUNSBNGH SABɠAS NBSS MUNP6U ADB.+ SBMUNSUNSPAŠϠDSàAD MPMUNPB MUNSUNSSPAŠϠHŠDSàADԠAKHHSUNYN . MUNSNP SBMUNBҠSAVŠ(B DDMUNPɠMPU ŬA BŠDS ADBMUNA SZADDSS NA DSԠMUNSB SBBADɠUNSPA DBMUNBҠSŠ(B MPMUNS MUNPPUMP MUNNUMP MP+ MUNNUMP+ MUNPUMP+3 MUNAUMP+6 MUNAUMP+ MUNAUMP+ MUNBҠUMP+9 MUNA̠UMP+ MUNADUMP+ MUN̠UMP+3 MUNSBUMP+ MP+5 MP+MP+5ANDMP+0AŠASϠUSD MUNDADƠMUNSB MUNBɠDƠBUS+9 MUNZDƠBUS+9+56 MUNYDƠBUS+9+55 $MUNU gc$ J U 24337-80048 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 48 OF 52             H0101 <' HDMK HŠMKMMANDSUSDϠ̠HŠSYSMϠSPUSNGAN DSàBKS.HSANBŠDNŠHҠBAUSŠHŠBKSHAVŠBN UNDAUYҠBAUSŠHYHAVŠNMANNHMHHS UNADϠSB.HŠMAԠҠHŠMMAND: MK-BK۬BK BKANDBKSPYHŠSԠANDASԠBKSϠBŠMKD. ƠBKSNԠSPDԠSASSUMDϠBŠUA̠ϠBK. HŠANƠHŠUNŠSASS: NPԠANDVYPAAMS NSUŠHAԠHŠSYSMSNԠUSNGANYƠH SPDBKS 3SAHHŠDYBUDNGAABŠHN NYҠAHŠҠPGAMHSŠDSàADDSS SNHŠANGŠƠHŠSPDBKS. USŠHSABŠϠSAHHŠUSSABŬNSUNG HAԠNNŠƠHŠSNHSŠBKSAŠAV 5A̠VAY GBA SBMKNϠGԠSԠBK MPMKGA̠MA PA.+5BMMANG? MPMKYS PA.+5BNϬ? MPMK3YS MPҠNϬ HŠSԠBKƠAANGŠHASBNAPD.HKҠASND. MKU DDMKNSAVŠS DSԠMKBBK SBMKNϠGԠASԠBK MPMKGA̠MA PA.+5BҠS? SSYS MPҠNϬ DDMKBMPUŠASԠBK- SBMKנSԠBK SP SZBSSDNŠVAD? MPMKYS MKU DB.-NϬ SBMKҠ Ԡ50 ASà6ADPAAM AVADSNGŠBKHASBNAPD. MK3U DDMKNSAVŠS DSԠMKBBK ASԠҠNŠBK MKU NASAV SAMKNNGH DAMHADASԠD ADA.+ SAMKPƠDSà DDMKNSAVŠADDSS ŬNB SZƠAS NA DSԠMKBBK SBMKDSBK SSBSSAG? MPMKYS AŠDSàNHHBKSAŠϠBŠKD. N:ƠHŠϠBKADDSSSAŠNԠNHŠSAMŠDSìAN ҠMSSAGŠSSSUD. MK5U DAMKPNϬMV ADA.-6ϠNԠDS SAMKPԠNY SBMKDSBKN SSBHSDS? MPMK5N NAYSSAV SAMKAASԠBK DDMKBS DSԠMKNBK SBMKDSNHS ŬSSBDSàAS MPMKN SAMKAYSSAVŠ ADA.-BKS SZSS0-3A MPMKGA DAMKPHK ADA.+ DBAɠDS DBB SZBPSN MPMK6ԠS DB.- SBMK Ԡ56 ASàNSNԠDS HKSSԠϠNSUŠHAԠNNŠƠHŠBKSϠBŠKD AŠBNGUSDBYHŠSYSM MK6U DAM5NGH SAMDBSAP DBDBSAŠADDSS ADBBԱ5 DAMKD.DSàADDSSƠ0 SBDSZɠADBSAP MPDD DADBSAɠNUMB ADA.-5ƠSYSM SAMKԠSGMNS DBDBSAS ADB.+3DS SBMKADDSS DA.-NGHS DB.+SZŠƠNY SBMK HKSYSMBAYUNŠBKS DAMKS̠DS SAMKADDSS B- SBMKԠNS DA.+NGHS SBMK HKDYBKS DAMD ADA.+5DSàADDSS SAMK DAMKM- SAMKԠNS DA.+3SԠ SAMKNϠNSANԠ3BK ANGH DB.+SZŠƠNY SBMK HKSAPBKS DAMKDDS SAMKADDSS DANPԠ- SAMKԠNS DA.+0NGH SAMKNϠSԠ ANSANԠ0BKS DBMKԠSZŠƠNY SBMK HKDԠBKS DAMKDDS SAMKADDSS DA.-3- SAMKԠNS DA.+3SԠNGH SAMKNϠҠNSAN A3BKS DB.+SZŠƠNY SBMK HKADԠBKS DAMKAԠDS SAMKADDSS DA.-- SAMKԠNS ANGHS̠3BKS DB.+3SZŠƠNY SBMK MPMK0 HSUNŠHKSAHNYNAABŠҠBKVAP. UPNNY: ADSANŠMDSàADDSSϠNGH BSZŠƠAHNY MKDSàADDSSƠSԠNY MKԠ-ƠNSNHŠAB MKNP SAMKԱSŠNGHS SBMKԲANDNYSZ MK0U BSԠҠPNNGҠMSSAG DAMKԱADNGHS SBMKKHKHSADDSS MKNP DAMKUPDA ADAMKԲϠN SAMKADDSS SZMKԠNSHD? MPMK0N MPMKɠYS-UN MK0U SAHDYҠNSHH ŠNHŠANGŠƠBKSϠBŠeKD ADAHDYAKANDHKҠDSàADDSSSHH NHŠANGŠHŠBKSϠBŠKD.ҠAHSUHNY UNDADDA-DNYϠAABŠNSSNG: APNҠϠHŠDàNYҠHSDYAK APNҠϠHSNY'SPSNNHŠDY 3HŠ-DDSKADDSSƠHŠŠҠPGAM DAMKPBUҠҠNS SAMKDUNϠDSàAD ANAZŠUN SAMKàƠABŠNS DB̸9BGNNNG SBMKPƠABŠBU DBMDҠD MKU SBMKDɠPN DABɠANYNS SZANHSAK? MPMK3YS MKU ADB.+NϬBUMPPN PBMKDUA̠NSHD? MPMK0YS MPMKN MK3U SAMDҠDSàANS BMPUŠ DV.+ƠNS SAMKԠNAK DAMKD ADA.+5DSàADDSS DBBDɠADN SBDSZɠDYAK MPDD DBBDNAZ ADB.+DY MKU SBMKDPPN BSKPUNNUND DA.+3DSANŠBNADDҠANDNGH SBMKKHKHSADDSS MKDPNP MPMK5NԠNANG MPMKNϠSPA̠NYUND DBMKDPDSàADDSS DAB SAMKDɠSAVŠSԠD NB SZMKD DAB SAMKDɠSAVŠSNDD SZMKD ADB.+ DABɠGԠNGH SSASS MP+ԠPSV AƬAƠNV ҠHMSK MANABKS SAMKDɠSAVŠHŠNGHNBKS SZMKD MK"U DBMKDɠSAVŠPN SBMKPɠϠD SZMKPNAB DBMKDPSAVŠPNҠ SBMKPɠDYAS SZMKPGԠDS DDBɠADDSS DSԠMKPɠANDSAV DBMKPADVANŠAB ADB.+PN PBUNV? MPMK6YS SBMKPN SZMKàBUMPUNԠƠABŠNS MK5U DBMKDPBUMPDY ADB.+PN SZMKԠNSHDHSDYAK? MPMKN DBMKDɠYSHK MPMKNԠAK MK6U DB.-ABŠV SBMK Ԡ5 ASàKҠBKS NנMPAŠABŠUSԠBUԠHUSSABŠ DMNŠƠHŠAKSϠBŠKDNANAVŠS MK0U DAMKàSKPHKNG MANASZASSUSSƠN MPMK30ABŠNS SAMK DAM000 SAMD ASNUMBҠƠUSS SAMKԠABŠNS DAUSSAD DBBDɠUSS SBDSZɠAB MPDD DBBDNAZ SBMKPUSSPN MKU DDMKPɠGԠUSSNY ҠBHK SZASSҠZ MPMK3-ԠSSKP DB̸9NN-ZϬS ADB.+ABŠPNҠN(B DAMKàNUMBҠ SAMKDɠABŠNS MKU DABɠMPA NBSԠD PAMKPɠƠNS MP+5 ҠBԱ5 PAMKDɬ SS MPMK5UNUA SZMKPUA̬ DABɠMPA PAMKPɠSNDD MPMKUA̬ŠNUS AUNUA̬MV jADAMKPPNҠBAK SAMKPϠSԠD MK5U ADB.+3BUMPϠNԠABŠNY SZMKDɠNSHDAB? MPMKN SZMKPYS MK3U SZMKPBUMPϠNԠUSSNY SZMKԠNSHDUSS MPMKN MPMK30YS MKU ADB.-3GԠPN SBMKPϠD DBBɠN(B DABɠAK SAMDNGH ADB.+5 DAB DBBDɠDY SBDSZɠAK MPDD DAMKPSԠPN NAϠDSàADDSS DAAɠNDY SAMK6ҠSUBUN BUPU DA.+3'AN' SBMKKK' MK6NPMSSAG MKNϠSANSHŠNPUԠSNGҠANNGҠSSHAN9. UNDԠUNSϠ(P+HHŠNGҠNMKN0:ݠAND HŠNGHAAҠN(A.SԠϠ(P+. MKNϠNP BSԠAG SBMKPNUMBҠUN BNAZ SBMKN-DG SBMKN+SU MKNU SB35ѠGԠAHAA MPMKN DBA ADBMB SSBSSDG? MPMKNN ADB.+0MAYB SSB MPMKNN SBMKPYSSAVŠ DAMKN+GԠPVUS DBMKNSU AS̠MUPYBY ŠADDPVUS ADAMKN+SUԬ SZPDUNG NBMUPAN ADBMKNBY5 AS̠Nנ0PVUSSU ŠADDN ADAMKP SZNנDG NB SBMKNSAVŠN SAMKN+U)SU DAB AND.+ PABBG? MPMKNN MPMKNϬɠYS MKNU SZMKPDDNUMBҠU? SZMKNϠYS MPMKNϬɠN MKDSAKSHŠDSàADDSSNMKN0:ݠANDMPUS AVŠϠHŠDSàHSŠԠNYSPNDϠBYMKP NGHHŠSUԠN(B(A. MKDSNP DDMKPɠGԠSԠSҠNUMB ŬANVԠ BBKS SBMKנMPUŠAVŠADDSS SP MPMKDS MKҠUPUSANҠMSSAGŠϠHŠNS MKҠNP SBMKP DA35BMV SAMVDMSSAG DAMKҠN SAMVSNS BSBU SBMV DAMKP MANA DB35B MPNDUPUԠ MKKHKSHHҠAGVNABŠNYSNHŠANGŠƠH BKϠBŠKDUPNNY(ANANSHŠDSANŠNH ABŠBNHŠADDSSANDHŠNGHANDSBɠHŠDS ADDSS. MKKNP SBMK SAMKɠSAVŠABŠNMN DBMKKɠDS SBMKBҠADDSS SZMKK DDMKBҬɠGԠDSàADDSS DSԠMKN ҠBSKP SZASSHK MPMKKɠƠZ DDMKBSUBAԠS SBMKנBKADDSS SSANANG? MPMKñN DDMKBYSHKAGANS SBMKנASԠBK SSASSNANG? MPMKKɠN SZMKؠYSPNԠ? MPMK5N DAMKN+YSG DBMKNUPU MPMKòҠMSSAG MKñU SBMKàHKҠMDDŠƠNY DƠMKBVAPPNGSԠBK MPMKKɠԠDSN' )SZMKؠDDSPNԠ? MPMKôN DAMKB+YS DBMKB MKòU DVDVSSMPU SBMKA DBMKD3SԠPA SBMKA SBMKNMƠDGS DAMKAMPU B DV.00SNDPA SBMKA SBMKNMƠDGS DAMKAMPUŠHD SBMKNMPAҠƠDGS DB.-UPU SBMKҠMSSAG Ԡ503 ASàAN'ԠKBK MK3U BSS3ҠBKNUMB MK5U SBMKàHKҠMDDŠƠNY DƠMKBNANGŠƠASԠBK SSԠSN' MKôU SZMKK SZMKK MPMKK MKàNP DAMKɠGԠNGHS SZASNGHNSAN? MP+3NϠ-GϠGԠNGH DBMKNϠYS-ADNGH MP+ DAMKBҠ(A ADAMKɠNGH DBA SSBSS MP++BKS A-DS ҠNVԠ MBNB+BKS ADB.- DAMKBҬɠMPU SZMKB ŠS ADBMKBҬ SZUNUSD NA DSԠMKNBK DAMKì DDAɠSUBAԠS SZMK SBMKנBKADDSS SSASSNANG? SZMKàYS MPMKìɠN MKNMMPUSANUMBҠ<00ϠASɠANDSAVSԠҠUPUNG MKNMNP B DV.+0 AƬA ADAB ADAAS00NVԠϠAS SAMKA SZMKA MPMKNM ADNVAY MK30U DAMNDUNԠ SAMDMKVAY DAB NA NA D640BB MPMG MKD.DƠ. MDҠDƠD MKDUDƠDU MNABSBA-MG MKD3DƠMK3 MKDDƠY00+?DS MKMDà-0 MKԠABSY0-Y00 GBA+5- MGU SBDSZɠADVAY MPSKP MPBAUŠ MKנSUBASHŠ-DNGҠN(A(BݠMMKN0:ݬ AVNGHŠSUԠN(A(B. MKנNP MBŬNBNGA MASZ ŬNASUBAHND ADBMKN+ADDN SZ NAMNUND ADAMKN MPMK׬ MKPDƠMKN MKàUMP MKAUMP+ MKAUMP+ MKPUMP+3 MKDɠUMP+6 MKPUMP+ MKPPUMP+ MKNDUMP+9 MKNUMP+ MKADUMP+ MKBҠUMP+3 MKBUMP+ MP+5 MP+5AND0AŠASϠUSD MKؠUMKN MKɠUMKAD MKBUMKPP MKԱUMKDNGHS MKԲUMKPPSZŠƠNY MKDDƠD+ MKAԠDƠADA MKS̠DƠDADS $MϠU =6 K Y 24337-80049 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 49 OF 52             H0101 >' HDMKVAY HŠMKVAYDSA̠HŠKҠMK.ԠUSSHŠAB BUԠBYMKANDPDSASS: UPDAŠKDBKSAB. UPDAŠHŠDYBYMVNGNSHSŠDS ADDSSSŠNHŠANGŠƠHŠBKSϠBŠKD. 3UPDAŠHŠADԠHDUMSPAŠUNDMSAND PGAMSANDSHHHAVŠBNMVD. UPDAŠHŠDԠHSPAŠUNDMDDPGAMS ANDS. 5UPDAŠDSàADԠBYMVNGNSHHAŠNHŠANG ƠHŠBKSϠBŠKD. SN'ԠHSADUUSAMUNԠƠHASHNG? GBA DAM56NGH SAMDBADBKS DDMKP ŬA B ADB.+3SDSNBK3 SZ NA DSԠMKN DAMKPADBAD DBBDɠBKS SBDSZɠAB MPDD UPDAŠKDBKSAB DBBDSԠNY MKU DAB SZASSNSHDSAH? MPMKYSGϠNSԠAԠND MAŬNAHS ADAMKANY SZASSUA? MPMK3YS SZSSNϬGA? MPMKYS ADB.+NϬAB PBMKZU? SSYS MPMKNϬP SBMKPBHKPDNGBK MPMKNSMGD MKU Ơ0 A SABNϠUNŠN MPMAɠUPUԠABŠU̠MSSAG MK3U NB DAMKNSH MAŬNAN ADABɠBK SZNG? MPMK99N DAMKNYSS SABɠNGH NB MKU PBMKZNDƠAB? MPMKYS ;DABɠA̠NS SZASSNSHD? MPMKYS ADB.-N DABɠDSHS NB ADABɠNY MA NBVAPH ADAB SZNBNԠN? MPMKN ADABɠYSNS SZNASSHŠNY? MPMK5YS ADB.-NנNGH ADABɠANDSAV SAB NBSS MK5U ADB.- SBMKBҠSAVŠ(B SBMKPPDSNANPN ADB.+SUŠPN MK6U PBMKZ MPMK DABɠMV SZASS MPMKABŬ SAMKPP SZMKPPMNANG NB MPMK6NŠNY MKU A SAMKPPɠZϠ SZMKPPDSA SAMKPPɠASԠNY DBMKBҠSŠ(B MPMKGϠHKNԠNY MKU SBMKPBHKPDNGBK MPMKGϠHKNԠNY SBMKBҠSAVŠ(B DBMKYAB DAB SZAU? MPMKYS SBMKPPDSNANPN ADB.-SUŠPN MK9U DABɠMV SAMKPP PBMKBҠABŬ MPMK0 ADB.-MAKNG A ADAMKPPM SAMKPP MPMK9NנNY MK0U DAMKANS SAB NBN DAMKN SABɠNY MPMK-GϠHKNԠNY MKU SBMKPBHKPDNGBK MPMKNSMGD DAMKANS SAB NBNנNY DAMKN SABɠAԠABŠND MKcU DAMKPŠU DBBDKDBKS SBDSZɠAB SBMDDP UPDAŠDY USNGHŠABŠBUԠPVUSYMVŠAHNDNY. PAŠHŠSԠϠDSƠHŠABŠBYHŠDANDNGHN +BKSҠUSŠNUPDANGHŠD.ҠSANDNS PAŠHŠHDANDUHDSBYHŠDUMADDSSANDNGH N+SSҠUSŠNUPDANGHŠAD.SԠHŠHDD ZϠҠNN-SANDNS. DAMKàSKPUPDA SZASSƠN MPMK59NS SAMK DB̸9PNҠ SBMKPSԠN MK0U DBMKPɠSAVŠD SBMKDɠPN DABɠD SAMDUN MANAMPUŠND ADABDƠDY SAMKNDBU ADB.+5AD DAB DBBDɠDY SBDSZ SBDADPɠAN'ԠDϠ DBBDNAZ SBMVSMV SBMVDPNS MKU DAMKP NADYNY DBA ADB.-DD ADA.- SAMKP DABɠSAVŠD SAMKPɠNAB SBMKBҠSAVŠPNҠҠMV SZMKP ADB.+ DABɠGԠNGH SSASSNV MP+ AƬAƠϠBKS ҠHMSK MANAANDSAV SAMKP SZMKPNAB A SAMKP SZMKP SZMKP MVŠPNƠDY DBMKBҠMPU MBNBNUMB ADBMVSƠDS SBMV DBMKBҠUPDA ADB.+ SBMVSPN 6DAMKDɬɠUPDA ADA.+DY SAMKDɬɠNGH SZMKԠNSHDAB? SSN MPMK3YS DBMKPɠGԠNԠDàNYMAB PBMKDɠSAMŠDYAK? MPMKYS MK3U DBMKNDNϬMVŠND MBNB ADBMVSƠDY SBMV DBMKD DAB SAMD NB SBMVD ADB.+ DAB DBBDU SBMVS SBDSZɠDY SBDADPɠMU DB.-S SBMVנD DAMKԠNSHD SZAAB? MPMK0N UPDAŠDSàAD MK59U SBADPɠGԠHSDSàAD DAMKN SAMD DAMKADAD DBBDɠDS SBDSZɠAD SBDADP DDMKBMPU DSԠMKNHSNY MK5U DBMKDGԠPNҠϠSPA̠AB PBMKPNDƠAB? MPMK5YS ADB.- DABɠGԠNGH SAMKB ADB.- DABɠSNDDƠDSàADDSS SAMKB+ ADB.- DABɠSԠDƠDSàADDSS SAMKB SBMKDABŠPN SBBADɠUNSPAŠϠDSàAD MPMK5 MK5U DDMKNS DSԠMKBMKB DAMKNɠMPU MANAND ADABDAB SAMKNDBU DBBDNAZ SBMKPABŠPN MK60U DDMKPɠ-SANG SBMKנBK SZASS SZBUA? SSN MPMK6YS SSAGA? MPMK6}5YS DBMKPUPDA ADB.+3AB SBMKPPN PBMKNDNDƠAB? SSYS MPMK60N SBMKPŠHKPDNGNY MPMK6MGD MPMK9NϠKDN MK6U DBMKP ADB.+ DAMKNSHS MAŠNY ADABɠMPY SZNASSNSD? MPMK6YS SABɠNנNGH MPMK6 MK66U DBMKPUPDA ADB.-AB SBMKPPN MK6U DBMKPSԠUP SBMVDPNS ADB.+3 SBMVSMV DAMKNDMPU MANANGH ADBAƠMV SBMVנMNAŠNY DBMKNɠUPDA ADB.+3DSàAD SBMKNɠNGH DBMKNDUPDAŠND- ADB.-3ƠAB SBMKNDPN MK63U DBMKPND PBMKNDAB? MPMK6YS DDMKPɠNϬ DSԠMKNVAP DDMKBN SBMKנNY? SSASS MPMK6N SZMKPYS SZMKPMPY ŠNS ADBMKPɠ? SZBSS MPMK66YS SZSSMAYB MPMK66YS SBMKPɠNϬSAVŠNGH DBMKP ADB.- SBMKPSANG MK6U DDMKB DSԠMKPɠBK MK6U DAMKNɠ SAMD DAMKADAD DBBD SBDSZɠϠDS SBDADP MK9U DAMKàANYABŠNS SAMP+5 SZA SBDɠY SUPDAŠD MK99U Ơ0 A SAB MPND MK65U SBMKPŠHKPDNGNY MPMK63GϠHK MPMK63SUDNGNY MKPBHKSHŠPDNGBKϠSŠƠHŠNנNYSN SANG.ƠSϬԠMDSHŠPDNGNYANDUNS Ϡ(P+HSŠϠ(P+. MKPBNP PBBDBGNNNGƠAB? MPMKPYS ADB.-NϬN DAB ADB.-BKN ADAB MAŠANGŠ ADAMKA SZPDNGN? MPMKP-N DABɠYSMPU MANA ADAMKANנNGH NB SAMKB MAŬNA ADABɠBGGҠHAN SZPVUSNGH? MP+3N DAMKBYSSAVŠN SABɠNGH NBSŠ(B MPMKPB ADB.+SŠ(B MKPU SZMKPB MPMKPBɠԠϠ(P+ MKPŠNP DDMKBҠSUBA DSԠMKNUN DAMKPBGNNNG PABDƠAB? MPMKűYS ADA.-N DBAɠSAV SBMKBNGH ADA.-SAV SAMKPPN DAMKPɠSHŠN SZMKP ŠBKN ADBMKP SZANGŠƠH NA SBMKנPDNGN? SZMKP SSA MPMKŲYS SZMKP MKűU SZMKP MPMKPŬ MKŲU DAMKPMPU ADA.- DDAɠNנNGH SBMK SBMKPɠANDSAV DBMKP ADB.- SBMKP DDMKPɠSH ADBMKBfX*($UNKD SZ NAPN DSԠMKNNHŠMDD DDMKB SBMKנƠHŠPVUS SZASS SZBBK? SS MPMK3N SSAMAYB MPMK3N SBMKBYS DBMKNDAB PBM̸9U? MPMK3YS SBMVS ADB.+3SԠUP SBMVD SBMKND ADB.-5 MBNBMV ADBMKP SBMVBMAKŠMҠNנNY DBMKNɠUPDA ADB.-3DSàAD SBMKNɠNGH DBMKPUPDA ADB.+3AB SBMKPPN DDMKBSAVŠADDSS DSԠMKPɠƠNנNY DBMKPSAV ADB.+ DAMKBNGH SAB NBAS SBMKP MPMKPŬ MK3U DBMKPS ADB.+3AB SBMKPPN MPMKPŬ MKZDƠBUS+56 MKYDƠBUS+55 M̸9DƠBUS+90 $$MϠU u* L X 24337-80050 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 50 OF 52             H0101 ,) HDPY HŠPYMMANDSUSDϠPYAPGAMҠŠMNŠUS'S BAYϠANHҠUS'SBAY.HŠMAԠS: PY-DDDNAMŬNDNNAM GBA DADM SBPNGԠDDANDNAM PB.+5BMMAS? SSYS MPҠNϬ DAPP SBPNGԠNנDANDNAM PB.+5BҠS? SSYS MPҠNϬ SBDKPɠNDPGAM MPP00 DAPG"NϠSUHNY" DBPG MPP SAVŠNMANMHŠDYNY P00U DBPS ADB.+ DAPP ADA.+ SAPP DABɠMV ANDBԱ5 ҠPPɠAG SAPP NB SZPP DABɠMV ANDBԱ5SM- ҠPPɠMPD SAPPɠAG NB DABɠGԠDU SSASSHKҠ-SDPGAM MPP0 DAPƠ"-SDPGAM" DBP MPP P0U SAPPSAVŠD ADB.+ DABɠSԠDNDSàADDSS SAPD NB DABɠSNDDƠDSàADDSS SAPD+ ADB.+ DAB SAPDSAVŠNGH SSASS MP+ AƬAƠNV ҠHMSKNGH MANA SAPNBKS SAHҠNנD...A̠ƠNԠUND DAPPԬɠNDHA SADAKN SBDPɠDSN DBDNɠGԠADԠAKNGH MBNBSԠPN ADBBDϠAS SBMP+D+ DBBD PU PBMP+NDƠAB? j&MPPYS DABɠNϬGԠUNԠD MANA ADAD SZASSUA? MPP3YSUNDHŠNŠŠAN SSANϬGA? MPPYS ADB.+NϬMVŠϠNԠN MPP PU DAPB"NϠSUHD" DBPB MPP HKҠNUGHSPAŠNUSSBAY P3U ADB.+ SBPƠSAVŠPNҠϠNY DABɠGԠA ADAPNSPAŠUSD MANA ADB.- ADAB SZMPAŠHAMN MPPK DAPà"BAYSPAŠU" DBP MPP HKҠNUGHSPAŠNSYSM PU DA.-PSSBŠDSàADS SAPD P5U DAKYPGԠYàPN ADA.+3ANDADVAN PAPNAԠϠH DAPANԠNY SAKYPNHŠAB ADA.+ SAPD DAPD SZASSSHSDSàAVAAB? MPPN SAMDYSSAVŠNGH DAKYPDSàADDSS DBBD SBDSZɠAD MPP BMPU DAPDɠNY DV.+3UN SAP DBBD ADB.+NGHD P6U DAB MA ADAPN SZSSNYAGŠNUGH? MPP0YS ADB.+3N SZPàANY? MPP6YS PU SZPDƠNϬANYADS? MPP5YS PU DAPD"SYSMVAD" DBPD MPP P9U DAPŠ"DUPAŠNY" DBP MPP DMNŠƠHŠPGAMŠA̟dADYSSNHŠNDBAY P0U DAPNSAV MANANGAVŠNUMB ADABɠƠBKS SAPD ADB.-SAVŠAN SBPàDSàADԠNY DDBɠGԠDSàADDSS DSԠPDSANDSAV DADMMVŠDNAM SAMVDϠMP0:3 DAPP SAMVS DB.- SBMV SBDKPɠSAHҠNY MPP9UND SŠƠHŠDYAKSU DBPɬɠƠAKSU̬G PBMDϠVAYSN MPP9 APPANYNԠ-ADDHŠNY MBMAK ADBBD SBMVSM ADB.+ SBMVDҠN MB ADB.+DY ADBPS SBMVBNY DADMMV SAMVS DAPSDNAM ADA.+ SAMVDN DB.- SBMVנDY DAPPD SAMVD SBDAŠASԠNŠDA SZMVD SAMVD SZMVD DADAMASԠHANGŠDA SAMVD SZMVD ADUMADDSS SAMVD SZMVD DDPDSDSàADDSS DSԠMVD DBMVD ADB.+3 DAPDNGH SAB DAPɬɠADUS ADA.-DY SAPɬɠNGH SAMD DAP NA SAMVD ADA.+ DBBD SBMVS SBDSZɠŠDYBAK SBDADP DB.-S SBMVנD NנUPDAŠHŠD PU DADN DBA SBMD DADADADԠDSàADDSS DNBBD SBDSZɠADDԠAGAN SBDADP DAPƬɠUPDA ADAPNDS SAPƬɠUSD DADAD DBBD SBDSZɠŠUԠD SBDADP AMSPAŠMAD DAPD SAMD DAKYP DBBD SBDSZɠADDSàADԠBAK MPP'SSUKNHŠDS DAPD SZAADԠNYMPYUSD? MPP5N DBPàYSMVŠ SBMVD ADB.+3 SBMVS ADBMBD ADBMD SBMV DA.+3 DBPD ADBA SBPDɠSHNABŠNGH ADAMD SAMDSHNDUN MPP6 P5U DBP ADB.+ SABɠUPDAŠHŠNGH DDPìɠMVŠHŠDSàADDSS ADBPNBYPNBKS SZ NAANDSAVŠ DSԠPì P6U DAKYP DBBD SBDSZɠŠADԠBAKU SSAN'ԠŠ MPP PA B SAPDɠMAKŠAD DSԠKYPɠDSAPPA NAYPYHŠPGAMŠϠHŠNנSPAŠ0BKSAԠAM PB DAPN DV.+0 MA SAPàƠ0BKADS+S SBPPƠBKSNASԠ PU SZPàANY0BKS? MPPYS DAPPNϬADAND SBPנŠASԠN MPNDDN PU DA.+0ADAND SBPנ0BKS DDPDSUPDA ADB.+0 SZ NAADDSS DSԠPDSUPDA DDPDɠUPDA ADB.+0tAD SZ NAADDSS DSԠPD MPPP PנADSANDS PנNP AƬAƠMPU MANA SAMDDS DAPP DBBD SBDSZɠAD MPPDŠAU DAPAP DBBD SBDSZɠŠ MPPDŠAU MPP׬ PNGSANDANDNAM PNNP SAPPHŠϠPUԠ SBGDGԠHŠD SSYS MPҠҠNN'Ԡ PA.+5BMMAS? ASS MPҠN SAPƠSAYSԠHA DAD SAPPɠSAVŠD DA.-36HA SAPàMAMUM PɱU SBPҠGԠԠHA AƬA SZPP SAPPɠSAVŠ SBPҠGԠGHԠHA ҠPP SAPPɠSAVŠ SZPàNSHD6HAS? MPPɱN SBPҠYSNԠMUS PA.+0BBŠABANK MPPNɠK PɲU DAPA"NVADNAM" DBPA MPP PҠHSHAASҠHŠNAM PҠNP DAPƠSԠϠUNBANK PA.+0B MPPҬ PұU SB35HɠGԠAHA MPP5 DBA AND.0SKPN̠HAAS SZA PA.0 MPPұ P6U DAP SZASԠHA? MPPҲN PB.+5BYSMMA? MPҠYS PB.+BNϬ'$'? MPPɲYS PB.+5BNϬ''? MPPɲYS PB.+5BNϬ? MP P3U DABNϬSŠA SZP MPPҬ PҲU PB.+5BMMA? MPklPҴYS PB.+5B? SSYS MPP3N PҴU DA.+0BUNABANK SAP MPPҬ P5U DBA MPP6 PDŠU DAPH"UNSUSSU̻K̠ANDPA" DBPH P̠U SAMVSMVŠ DA35B SAMVDMSSAGŠ SBMP SBMVנYBU DAMP AS MANA DB35B MPND PADƠ+ Ԡ5 ASà6NVADNAM PAU.-+PA+ PBDƠ+ Ԡ56 ASà5ϠSUHD PBU.-+PB+ PàDƠ+ Ԡ5 ASà9BAYSPAŠU PàU.-+P+ PDDƠ+ Ԡ53 ASàYSMVAD PDU.-+PD+ PŠDƠ+ Ԡ50 ASàUPAŠNY PŠU.-+P+ PƠDƠ+ Ԡ5 ASà9-SDPGAM PƠU.-+P+ PGDƠ+ Ԡ56 ASàϠSUHNY PGU.-+PG+ PHDƠ+ Ԡ55 ASà6NSUSSU PHU.-+PH+ P9U DAM50SԠUP SAMDVAY DAPV DBB MPP99 PPԠDƠ+ BSS PPDƠPD PAPDƠPDS PVDƠM6+SAV-M3+SAV-M3 PNADƠDKB̠NDƠADԠAB PADƠADA M50Dà-50 PɠUMP+ PSUMP+5 PDSUMP+6ASϠUSD PDUMP+NGHNDS PàUMP+9 PPUMP+0 PDɠUMP+DS MP+ADDSS PƠUU PNUGDNGHNBKS PDUHA PDƠUSH GBA+50 P99U SBDSZɠA̠VAY SBSKP MPBA MPPNMA̠UN MPPҠUN $PU y*($$* M Y 24337-80051 1410 S 0122 2000F (OPTION 200/205) TSBSYSTEM 51 OF 52             H0101 .) HDBS HŠBSנMMANDSUSDϠANSҠPGAMSANDSM NŠUS'SBAYϠANHҠUS'SBAY.HŠMAԠƠH MMANDS: BS-DDND۬NAM ƠNAMŠSMDA̠PGAMSAŠANSDPԠҠHS HSŠNAMSAADYSԠNND'SBAY. GBA SBGDGԠDD SS MPҠҠS PA.+5BMMAS? ASSYS MPҠNϬ SABSDŠSԠDUPAŠNYUN DADSAV SAMP SABSɠD SBGDGԠND NP PA.+5BҠS? MPBS3YS PA.+5BNϬMMA? ASSYS MPҠNϬ SABS DADM SABSP DA.-36HA SABSàMAMUM BSU SBBSҠGԠԠHA AƬA SZBSP SABSPɠSAVŠ SBBSҠGԠGHԠHA ҠBSP SABSPɠSAVŠ SZBSàNSHD6HAS? MPBSN SBBSҠYSNԠMUS PA.+0BBŠABANK SSK MP PB.+5BҠS? ASSYS MPҠN SAHҠNY SABSMƠSԠMDŠAG SBDKPɠSAHҠNY MPBSUND DABSA"NYNԠUND" DBBSA MPBS BSU DDMP+SAV SABSDDY SBBSD5PNS MPBS0 NϠPGAMŠNAMŠSSPD BS3U ASԠMD SABSMƠAG SAMP+NAZ SAMP+ SAMP+3NAM BSU SBDKPɠSAHҠNY MPBS9UND DBMP+ *5 ADB.+ SBMP+5 DBMP+ɠNԠUND MBNBDϠŠPN ADBBDBYNDH PBMP+5DY? SSYS MPBS6N DBMP+ BS5U ADB.+NԠDàNY PBBDUASԠN? MPBSYS DABɠN SZASSNGHZ? MPBS5YS NBN DABɠGԠSԠDNAK PAMPSAMŠASHSN? SSYS MPBSN ADB.-SAV SBBSDD DABDPNS SABSD5 DABɠAD SAMD ADB.+5N DAB DBBDɠDY SBDSZɠAK SBSKP MPBS0 BS6U DBMP+5ɠDDHŠSAM PBMPASHSN? MPBS9YS BSU ASԠM PABSMƠHU? MPBSYS BS5U PABSDŠNϬANYDUPAŠNS? MPNDN DABSB"DUPAŠNY(S" DBBSB MPBS BSU DABSà"NϠNSҠDD" DBBS BS̠U SAMVSMVŠMSSAG DA35B SAMVDϠY SBMP SBMVנBU DAMP AS MANA DB35B MPND BS9U DDMP+SAV SABSDD SBBSD5PNS BS0U DBBSD5 ADB.+ DABɠGԠNGH SABSDSAVŠ SSASS MP+ AƬAƠNV ҠHMSK MANABKS SABSNSAVŠƠBKS ADB.-0MV DAB ANDN SAMP+ INBDNAM DAB SAMP+ NBN DAB SAMP+3 DADMP0:3 SAMP SBDKPɠSAHҠNנNY MPBS3UNDDUPA HKҠSPAŠAVAABŠNNDBAY SBBSSGԠAKҠND ADB.+ DABɠMPU ADABSNA MANADS ADB.-USD ADAB SZGAҠHANAMN? MPBSN DABSŠ"BAYSPAŠU" DBBS MPBS BSU NBUPDA DABɠDS ADABSNUSD SAB SBBSנŠUԠDAK DUŠSPAŠUSDNDDBAY DABS SAD SBBSSGԠAKҠDD ADB.+ DABSNDU MANADS ADABɠUSD SAB SBBSנŠUԠDAK GԠNMANNNYϠBŠBSD DABSDAD DBA SBMDDY ADA.+5ҠD DBBD SBDSZɠNY SBSKP DBBSD5 SBMVD ADB.+ DABɠSAV SABSPD ADB.+ DABɠSAV SABSDS NBDS DAB SABSDS+ADDSS ADB.+3 SBMVSMNA ADBBSD ADBMBDNY SBMV DBBSD DABɠUPDA ADA.+AK SABɠNGH SAMD NB SBMVD ADB.+ SBBSD DAB DBBD SBMVS SBDSZɠŠDYAK SBSVAG DB.-S bSBMVנD DAMPS SADD SBDKPɠSAHҠNנNY NP SDYAKU? DBMP+ɠƠAKSU̬G PBMDϠVAYSN MPBS9 APPANYNԬNSԠNY MBMAK ADBBD SBMVSM ADB.+ SBMVDҠN MB ADB.+DY ADBMP+5 SBMVBNY DADMMV SAMVS DAMP+5DNAM ADA.+ SAMVDN DB.- SBMVנDY DABSPD SAMVD SBDAŠASԠNŠDA SZMVD SAMVD SZMVD DADAMASԠHANGŠDA SAMVD SZMVD SZMVD DDBSDSDSàADDSS DSԠMVD DBMVD ADB.+3 DABSDNGH SAB DAMP+ɠUPDA ADA.-DY SAMP+ɠNGH SAMD DAMP+ NA SAMVD ADA.+ SABSD DBBD SBMVS SBDSZ MPBS DB.-S SBMVנD MPBS3+ BSDB.-S SBMVנD SBSVAG BS3U SZBSDŠBUMPDUPAŠAG DABSɠS SAMPDD SZMP+3BUMPNAMŠҠSAH SZBSMƠMŠHANNŠNY? MPBSYS AN MPBS5 BS9U DABM50SԠUPVAY SAMD DABSV DBB MPBS99 BSSSAHSHŠDAB BSSNP SBDPɠNDUԠHHAK DADN DBAcɠNGH SZBSSZ? MPBSɲYS SBMDNϬSAVŠ MBNBGԠPN ADBBDϠAS SBBSDSD+ DADADADԠDSàADDSS DBBD SBDSZɠADDAK SBSKP DBBD BSɱU PBBSDSNDƠAB? MPBSɲYS DABɠNϬGԠUNԠD MANA ADAD SZASSUA? MPBSSɠYSUNDHŠNŠŠAN SSANϬGA? MPBSɲYS ADB.+NϬMVŠϠNԠN MPBSɱ BSɲU DABSD"NϠSUHND" DBBSD MPBS BSנSUԠHŠDAB BSנNP DADADDSàADDSS DBBD SBDSZɠŠ SBDADP MPBS׬ BSҠHSHAASҠHŠNAM BSҠNP DABSƠHSԠϠUNBANK PA.+0B MPBSҬ BSұU SB35HɠGԠAHA MPBSҴ DBA AND.0SKPN̠HAAS SZA PA.0 MPBSұ BS5U DABS SZASԠHA? MPBSҲN PB.+5BYSMMA? MPҠYS PB.+BNϬ'$'? MPBS6YS PB.+5BNϬ''? MPBS6YS PB.+5BNϬ? MP BS3U DABNϬSŠA SZBS MPBSҬ BSҲU PB.+5BMMA? MPBS6YS PB.+5BNϬ? SSYS MPBS3N DA.+0BUNABANK SABS MPBSҬ BSҴU DBA MPBS5 BS6U DABSƠ"NVADNAM" DBBS MPBS BSADƠ+ Ԡ0505 ASàNYNԠUND BSAU.-+BSA+ BSBDƠ+ Ԡ50 ASà0UPAŠNY(S BSBU.-+BSB+ BSàDƠ+ Ԡ56 ASà0ϠNSҠDD BSàU.-+BS+ BSDDƠ+ Ԡ56 ASà6ϠSUHND BSDU.-+BSD+ BSŠDƠ+ Ԡ5 ASà9BAYSPAŠU BSŠU.-+BS+ BSƠDƠ+ Ԡ5 ASà6NVADNAM BSƠU.-+BS+ BSVDƠM6+SAV-M3+SAV-M3B BM50Dà-50 BDUDƠDU BSDSUMP+6 BSDUMP+ BSàUMP+9 BSPUMP+0 BSƠUMP+ BSNUMP+ BSDU35 BSD5UGD BSɠUU BSDŠUYP BSMƠUHA BSDUSH GBA+50 BS99U SBDSZ SBSKP MPBA MPBS3+ HԠB $BSU HDPUG HŠPUGŠMMANDMAKSԠPSSBŠϠMVŠMHŠBAY PGAMSHHHAVŠNԠBNASSDҠSMŠPDƠM. HŠMAԠҠHŠMMANDSASS: PUG-DAYYA HŠDAYSANNGҠMϠ366ANDYAҠSANNGҠM 0Ϡ99.A̠PGAMSҠSHHHAVŠNԠBNASSDSN HŠSPDDAŠAŠDDMHŠBAY. PUGŠ̠USŠϠPAŠƠHŠSPDDAŠSBYND DAY'SDA. SPà3 GBA DDPZ999PVNԠHϠPGAM DSԠMPMBNGPUGD. DDPUH+ DSԠMP+ SBDKPɠSAHDYҠHϠNY SS MPPUҲ SBDA DBMP+5UPDA ADB.+5ASԠND SABɠDA DAMP+ ADA.+5 SAPUP DBBD SBDSZɠUNAKϠDS SBSVAG NPԠDA. PUҲSBPUNϠGԠDAYƠYA. Dà-36 mPA.+5BSԠҠNNZϠANDSASH- SZBSSNG. MPPUұPAAMҠ. SBPUDԠSAVŠDA. SBPUNϠNנGԠHŠYA. Dà-00 PA.+5BHKҠUNNG. ASS MPPUұ ҠMGŠYAҠANDDA. ҠPUD SAPUD SBDAŠNנGԠDAY'SDA. DBPUDԠMAKŠSUŠSPDDAŠS MBŬNBA.PN DBSA"GA MPNSYSMD"B SBϠDA.6UPU DBSYSA"SYSMBAY MPNV"B PҠDA.MNG DBAPAPAY NSBASDɬɠPNԠҠB DA.0UPU DBABAMNAN SBASDɬɠMSSAG HԠVAB MP-HA SKP DSYSMBAYPGAM UPNSԠNY: SYSƠ- SYS+-ƠADNGMPAPҠAPŠ 0ҠAMAGAPŠAD MAGAPŠADSA̠SYSBAҠADNGASYSMBAY PGAMϠSŠԠNϠHŠDSû PAPҠAPŠADSA̠SYSBBŠADNGASYSMBAY PGAMϠSŠHŠPDNGNŠNϠHŠDSìHNŠH SԠA̠MUSԠBŠGND. AABŠƠDUBŠDNGHSN+BKSƠHŠSYSM BAYPGAMSSBUԠMHŠSԠSYSMBAYPGAM (HHSAABŠƠNGHSN-DSƠHŠSYSMBAY PGAMS.HSABŠSDSNŻASAHPGAMSSD NϠHŠDSìSDSàADDSSPASSNGHNHS ABŬHHBMSHŠNKAGŠBNSBANDHŠSYSM BAY.HŠS(5S'UP'HŠADҠHASϠA PAHNGUSԠBŠNGAHPGAMNϠHŠDS. SYSBNP SZSYS+SԠA̠ҠPAPҠAPŠAD?B SSN MPSYSBɠYS BDBUGGNGAD: SSBHԠ5BBŠSYSBGS HԠ5BϠDSàƠS(5 ASԠPGAM PASYSƠSYSMBAY?B MPSYS3NϠB DAMAɠMAGAPŠۯB MASSANASZAAD?B MPSYS0YSB DDSPAAɠNϬSAVŠV̠DSB DSԠ+S̠NAPŠBUҠB DSԠSMP0ANDSMP0SMPB PASYSAɠUҠSYSM?B SSYSB MPSɠNϬABԠADB DAMAɠSYSMB SZAUPDA?B MPSYS0NϠB DAM3ADB SAMDB DAS0BDSà0'SB DBBBɠB SBDS̬ɠAB̠B DDM+ADDS'SV̠DSB PASYSAɠUҠSYSM?B SSYSB MPSɠNϬABԠADB DABDS'SAUŠV̠DŠB SBKBɠMPAŠHB DƠSDSàSYSM'SDŠB MPNԠSPNSBYNԠAKNB ŠUԠSYSMSGMNԠ(àDUϠ5000B NDҠϠMAKŠŠAVAABŠҠADԠBU. SYS0DASSGŠUԠB SBSGAɠSYSMSGMNԠ DASSGŠU SBSGAɠSYSMSGMNԠ UNDSYSBSAPAKSPASƠSYSMUPDAŠ DAMAɠSYSM SZAUPDA? MPSYS̱NϠ-NNUŠB N DADSNYS- DBDSAUNSYSBAYSPA SBADìɠϠAD SBSAɠUNDSAPAASϠAD AMDSàSPAŠҠNנSYSBAYUSҠSAPAAS SYS̱UB A SADSNN.BKSҠSYSB SASYSҠN.BKSҠHKNGV DABʬ SASYSƠSԠMVŠUNҠB DBM6ɬɠS SBSDҠPNҠϠNGHAB DABɬɠSԠPNҠ SAMPBGNNNGƠNGHAB SYS̲UB B DAMPɠGԠNGHN-DS DVM56 SZBAԠBKS? NAN.UNDϠBKS SASDҬɠSAVŠNGHN+BKS ADADSNAUMUAŠA SADSNBKSҠSYSB SZSDҠBUMPP SZSDҠϠM6AB SZMPBUMPPҠϠNGHAB SZSYSƠDN?B MPSYS̲NϠB SBDBAɠAMDSàSPAŠҠSYSMB ANDUSҠSAPAAS DDDSàN.SANG DSԠSDADDSàADD DAM6ɬɠNԠP SASDҠϠM6AB SYS3UB DASYSҠAUMUA ADASDҬɠBKSUSD SASYSҠҠSYSBAY MANAHK ADADSN SSAV MPSBϠYS DASDҬɠNϬNV AƬAƠϠDS MANAANDSԠ SAMDDSàDV DADBDAŠBAY DBBUɬɠPGAM SBDS̬ɠϠDSK DASDҬɠSAVŠNGH SAMP5MPAY DDSDADPAŠNGHH DSԠSDҬɠSANGDSàADD ŠMPU DASDAD+SANG ADAMP5DSàADD SASDAD+ҠN SZBUN SZSDADUSNGDUBŠADD SZSDҠNԠNY SZSDҠNM6AB DABɬɠUNH(AGN MPSYSBɠUN HDMKMUNKUN NPԠUSԠ SAHHŠNPUԠD: -A.PN DBSA"GA MPNSYSMD"B SBϠDA.6UPU DBSYSA"SYSMBAY MPNV"B PҠDA.MNG DBAPAPAY NSBASDɬɠPNԠҠB DA.0UPU DBABAMNAN SBASDɬɠMSSAG HԠVAB MP-HA SKP DSYSMBAYPGAM UPNSԠNY: SYSƠ- SYS+-ƠADNGMPAPҠAPŠ 0ҠAMAGAPŠAD MAGAPŠADSA̠SYSBAҠADNGASYSMBAY PGAMϠSŠԠNϠHŠDSû PAPҠAPŠADSA̠SYSBBŠADNGASYSMBAY PGAMϠSŠHŠPDNGNŠNϠHŠDSìHNŠH SԠA̠MUSԠBŠGND. AABŠƠDUBŠDNGHSN+BKSƠHŠSYSM BAYPGAMSSBUԠMHŠSԠSYSMBAYPGAM (HHSAABŠƠNGHSN-DSƠHŠSYSMBAY PGAMS.HSABŠSDSNŻASAHPGAMSSD NϠHŠDSìSDSàADDSSPASSNGHNHS ABŬHHBMSHŠNKAGŠBNSBANDHŠSYSM BAY.HŠS(5S'UP'HŠADҠHASϠA PAHNGUSԠBŠNGAHPGAMNϠHŠDS. SYSBNP SZSYS+SԠA̠ҠPAPҠAPŠAD?B SSN MPSYSBɠYS BDBUGGNGAD: SSBHԠ5BBŠSYSBGS HԠ5BϠDSàƠS(5 ASԠPGAM PASYSƠSYSMBAY?B MPSYS3NϠB DAMAɠMAGAPŠۯB MASSANASZAAD?B MPSYS0YSB DDSPAAɠNϬSAVŠV̠DSB DSԠ+S̠NAPŠBUҠB DSԠSMP0ANDSMP0SMPB PASYSAɠUҠSYSM?B SSYSB MPSɠNϬABԠADB DAMAɠSYSMB SZAUPDA?B MPSYS0NϠB DAM3ADB SAMDB DAS0BDSà0'SB DBBBɠB SBDS̬ɠAB̠B DDM+ADDS'SV̠DSB PASYSAɠUҠSYSM?B SSYSB MPSɠNϬABԠADB DABDS'SAUŠV̠DŠB SBKBɠMPAŠHB DƠSDSàSYSM'SDŠB MPNԠSPNSBYNԠAKNB ŠUԠSYSMSGMNԠ(àDUϠ5000B NDҠϠMAKŠŠAVAABŠҠADԠBU. SYS0DASSGŠUԠB SBSGAɠSYSMSGMNԠ DASSGŠU SBSGAɠSYSMSGMNԠ UNDSYSBSAPAKSPASƠSYSMUPDAŠ DAMAɠSYSM SZAUPDA? MPSYS̱NϠ-NNUŠB N DADSNYS- DBDSAUNSYSBAYSPA SBADìɠϠAD SBSAɠUNDSAPAASϠAD AMDSàSPAŠҠNנSYSBAYUSҠSAPAAS SYS̱UB A SADSNN.BKSҠSYSB SASYSҠN.BKSҠHKNGV DABʬ SASYSƠSԠMVŠUNҠB DBM6ɬɠS SBSDҠPNҠϠNGHAB DABɬɠSԠPNҠ SAMPBGNNNGƠNGHAB SYS̲UB B DAMPɠGԠNGHN-DS DVM56 SZBAԠBKS? NAN.UNDϠBKS SASDҬɠSAVŠNGHN+BKS ADADSNAUMUAŠA SADSNBKSҠSYSB SZSDҠBUMPP SZSDҠϠM6AB SZMPBUMPPҠϠNGHAB SZSYSƠDN?B MPSYS̲NϠB SBDBAɠAMDSàSPAŠҠSYSMB ANDUSҠSAPAAS DDDSàN.SANG DSԠSDADDSàADD DAM6ɬɠNԠP SASDҠϠM6AB SYS3UB DASYSҠAUMUA ADASDҬɠBKSUSD SASYSҠҠSYSBAY MANAHK ADADSN SSAV MPSBϠYS DASDҬɠNϬNV AƬAƠϠDS MANAANDSԠ SAMDDSàDV DADBDAŠBAY DBBUɬɠPGAM SBDS̬ɠϠDSK DASDҬɠSAVŠNGH SAMP5MPAY DDSDADPAŠNGHH DSԠSDҬɠSANGDSàADD ŠMPU DASDAD+SANG ADAMP5DSàADD SASDAD+ҠN SZBUN SZSDADUSNGDUBŠADD SZSDҠNԠNY SZSDҠNM6AB DABɬɠUNH(AGN MPSYSBɠUN HDMKMUNKUN NPԠUSԠ SAHHŠNPUԠD: -SZGàADUSGDUNP+ MPGìɠUN BUƲANP ŬBŠ_UPPҠҠAG DABɠHҠϠAG SZSSUPPҠҠ? AƬAƠUPP AND.MASKUNANDHAA MPBUƲAɠUN. ABUƠNP SAGàSAVŠHAA DBBUPG SBNBPPS ADB.MHAA SBBUƲA AƬA ҠGàADDNנHAA SZSHUDԠBŠSAPPD? AƬAƠYS SABɠSŠ SZBUPMVŠϠNԠH.SPA MPABUƬ SPà5 GԠNPUԠBKMNPUԠBU GBNP SBGàGԠAHAA MPGBɠNϠDAA SBSàMMAҠSPAŠHK SZGBADUSԠUN PAMNUSƠ'SNGSGN MPNUMN+HNPSSASANUMB SBDGKƠ'SANUMB MPNUMNHNPSSASANUMB AƬAƠNϠ-PSSAAS SAANSAVŠSԠHAA SBGàGԠSNDHAA DASPàNϠDAAUSŠSPA ŠNDAŠAS SBS ҠANADDS SAANSAVŠ SBGàMVŠϠMMAҠSPA DASPàNϠDAAUSŠSPA SBSàAD MP-NԠSPAŠҠMMA SàNP PAMASԠAMMA MP+YS PASPàSԠASPA MP+YS MPSìɠNHҠSϠUN DAANVŠH DBBN MPGBɠUN SPà5 NUMNBSSNDAŠPSV BNDAŠNGAV SBNGSAVŠAG ADBBUPMVŠPNҠBAKƠNSSAY ŬBSԠUPPҠҠAG AA̠ҠNG SBASNɠNVԠ SAANSAVŠ DBNG ADBBUP ŬB AA̠ҠA SBASNɠNVԠ SABNSAVŠ DAANV DBBNNUMBS SZNGASANGND? SS MP+3N MANAYS MBNB SAANSAVŠNUMB SBBN SBGàGԠNԠHAA DASPàNϠDAAUSŠSPA ŠNDAŠ'SANUMB SBSàAD MP-NԠSPAŠҠMMA ANNP BNNP NGNP HKƠAGDG DGKNP SABUƲASAVŠHAA ADA.M60ADD-60A SSASHUDS̠BŠPS.? SZDGKNϠ-NԠADG ADA.M0ADD-0 SSASSSHUDGϠNG? SZDGKNϠ-ADUSԠUN DABUƲAVŠHAA MPDGKɠUN SPà5 PGAMMMAND PMDPAABYԠPDSN? MPPDSNɠYS PAAɠSԠUS? MPPɠYS PAAD̠DŠAN? MPPD̠YS PAAGϠSAԠUN? MPPGϠYS PAADBDNŠBU? MPPDBYS NԠUND- NҠDBMSGNPUԠ AŠMSSAG SBMҬ MPѠYAGAN MSGDƠ+ ASàPDSNSN .MSGDƠ+ Ԡ0 MSGDƠ+ ASàGA̠NPUԯ UNҠSASVBSAVŠҠNUMB ADA.MƠ3HN SSA? MP+ŠPN DBSױHKϠPNԠ SBSԬ MPUNN`NϠDN'ԠPN DB.MSGGԠMSSAG A SBMҬ DBSVBUPUԠҠNUMB ANA SBMҬ DBUNUPUԠNŠNUMB ANA SBMҬ UNNDASVBƠ3HN ADA.M SSA? MPѠSP UNҠDBSױHKϠNNU SBSԬ SS MP A MPPG .MSGDƠ+ ASà9ҠNNŠ SPà5 SԠPGAM PɠDAAMSԠSANGƠS SAPPҠPN SBGBGԠNԠBK ANANϠDAA SZSZASSƠASɠҠZϠHN MPN MANA SAMPSAVŠSԠNŠNUMB SBGBGԠNԠBK DAMNMNϠDAA SZSZASSƠASɠҠZϠHN MPN MA SAMP+SAVŠASԠNŠNUMB MANAHKSԠ NO RETURN. FRET OCT 0 FINAL RETURN ADDRESS. RS# OCT 0 RETURN SEGMENT #. RSDA OCT 0 RETURN SEG. DIRECTORY ADDRESS. RPAR OCT 0 " PARAMETER. RST OCT 0 " STATUS. RLOG OCT 0 TRANSMISSION LOG FOR XFER. .RST DEF RST SPC 1 * * USER TABLE DESCRIPTION. * .SD OCT 0 SEG DIRECTORY ADRESS. SDL EQU 11 SEGMENT DIRECTORY ENTRY LENGTH UFDS EQU 3 FILE DIRECTORY ENTRY LENGTH .FD DEF FD FILE DIRECTORY ADDR. * * IN CORE DIRECTORY DEFINITION * FOR FILES * WORD 1 - TRACK/SECTOR (8/8) * WORD 2 - USER DISC SUBCHANNEL * WORD 3 - FIL'E LENGTH IN SECTORS * * * THE FOLLOWING ARE SET UP AFTER INITIALISATION. * NSEG OCT 0 NUMBER OF USER SEGMENTS. UNL FD REP 48 OCT 0 LST * FD BSS 48 HED ***CALLING SEQUENCES*** * VALID REQUEST CALLS * ------------------- * * NOTE: FOR ASSEMBLY LANGUAGE PROGRAMS, THE ADDRESSES OF THE * VARIABLES MUST BE PASSED, NOT THE VARIABLES THEMSELVES. * THIS CONFORMS TO HP FORTRAN FORMAT. * SPC 1 * INITIALIZE (REQ. CODE = 82) * JSB TCS * DEF *+9 * DEF RCODE REQUEST CODE. * DEF PQ START OF PENDING QUEUE BUFFER. * DEF MAXPQ MAX. NUMBER OF PQ ENTRIES. * DEF PQCNT VARIABLE = CURRENT # OF PQ ENTRIES. * DEF SNAM SEGMENT NAME ARRAY (3 WORD NAMES). * DEF SNUM NUMBER OF SEGMENTS. * DEF SDIR SEGMENT DIRECTORY (11 WORDS PER SEGMENT). * * * OPEN FILE REQUEST ( REQ. CODE = 84 DECIMAL) * JSB TCS * DEF *+4 * DEF RCODE * DEF FNAM ARRAY (3 WORDS) HOLDING FILE NAME * DEF FNUM RELATIVE NUMBER IN FILE DIRECTORY * * * PRIORITY LEVEL CHANGE REQUEST * JSB TCS * DEF *+3 * DEF RCODE REQUEST CODE = 71(DECIMAL) * DEF PRITY PRIORITY ( RANGE= 0 TO 15) * * * READ/WRITE (REQ. CODE = 1-READ/2-WRITE) ***NOTE: IN ALL I/O CALLS, BUFFER LENGTH MUST BE NON-ZERO*** * JSB TCS * DEF *+6 OR 7 OR 8 OR 9 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF CONWD ADDRESS OF CONTROL WORD (AS IN DOS-M BIT 15=1LOC) * DEF BUFFR ADDRESS OF USER BUFFR (IN COMMON CORE) * DEF BUFFL ADDRESS OF TRASFER LENGTH(WORDS+ BYTES-) * DEF DTRAK ADDRESS OF DISK TRACK VARIABLE (OPTIONAL) * DEF DSECT ADDRESS OF DISK SECTOR VARIABLE (OPTIONAL) * DEF IDENT SEE LATER * DEF IRET SEE LATER * * * I/O CONTROL (REQ. CODE = 3) * JSB TCS * DEF *+5 OR 6 * DEF RCODE ADDRESS OF REQUEST CODE.S5 * DEF CONWD ADDR.OF CONTROL WORD(AS DOS-M BUT BIT15=1 LOCK) * DEF PARAM ADDR OF OPTIONAL PARAM (AS IN DOS-M) * DEF IDENT SEE LATER * DEF IRET SEE LATER * * SEGMENT LOAD (REQ. CODE = 8) * JSB TCS * DEF *+3 OR 4 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF SEGN RELATIVE # OF SEG. DIR. ENTRY (1 TO N). * DEF PRITY PRIORITY TO BE ASSIGNED TO SEGMENT ( OPTIONAL) * * FILE READ/WRITE (REQ. CODE = 14-READ/15-WRITE) * JSB TCS * DEF *+8 OR 9 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF CONWD ADDRESS OF CONWD (AS DOS-M BUT BIT15=1 IS LOCK) * DEF BUFFR ADDRESS OF BUFFER * DEF BUFFL ADDRESS OF BUFFER LENGTH (WORDS+ BYTES-) * DEF FNUM RELATIVE # OF FILE DIR. ENTRY (1 TO N). * DEF RSECT ADDRESS OF VARIABLE HOLDING RELATIVE SECTOR * DEF IDENT SEE LATER * DEF IRET SEE LATER * * * UNLOCK I/O DEVICE (REQ. CODE = 52) * JSB TCS * DEF *+3 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF LU ADDRESS OF VARIABLE HOLDING LOG.UNIT # * * * SUSPEND TILL I/O (REQ. CODE = 53) * JSB TCS * DEF *+2 * DEF RCODE ADDRESS OF REQUEST CODE. * * IN-LINE RETURN TO MAIN (REQ. CODE = 54) * JSB TCS * DEF *+2 * DEF RCODE ADDRESS OF REQUEST CODE. * * STATUS CALL (REQ. CODE = 79) * JSB TCS * DEF *+6 * DEF RCODE ADDRESS OF REQUEST CODE. * DEF STATS FOR RETURNED STATUS. * DEF PARAM FOR ORIGINAL PARAM. IN USER CALL. * DEF LUN FOR LOGICAL UNIT #. * DEF LOG TRANSMISSION LOG (WORDS XMITTED). * * PAUSE * JSB TCS REQUEST CODE =1 * DEF *+6 * DEF RCODE * DEF ILU ILU=77 OCTAL * DEF 1 * DEF 1 * DEF IDENT SEE LATER * * * * "IDENT" IS THE VARIABLE HOLDING A PARAMETER (VALUE 0-256) * WHICH IS AVAILABLE TO THE USER IN A STATUS CALL * * "IRET" IS A VARIABLE USED WITH I/O WITHOUT WAIT CALLS, IT * CONTAINS THE ADDRESS TO BE CALLED WHEN I/O IS COMPLETE * HED ***DEBUG TABLE*** * * THE FOLLOWING TABLE IS MERELY TO HELP USERS DEBUG PROGRAMS * .TB DEF TB TB NOP # OF CALLS TO TCS TB1 NOP # OF I/O CALLS TO TCS TB2 NOP # OF DISK CALLS (INCL. FILE REQS BUT NOT SEG LOADS) * NOT SEGMENT LOADS TB3 NOP # OF FILE REQUESTS TB4 NOP # OF USER SEGMENT LOADS TB5 NOP # OF SEGMENT LOADS (USER&SYSTEM) TB6 NOP # OF FILE OPENS ATTEMPTED TB7 NOP # OF I/O REQUESTS STARTED TB8 NOP # OF I/O REQUESTS COMPLETED HED ***BASE PAGE*** * * BASE PAGE LOCATIONS USED * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 * P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 * M17$ EQU 70B M37$ EQU 71B (7905) M77$ EQU 72B M177$ EQU 73B M377$ EQU 74B * SYSBF EQU 115B SECTR EQU 116B UDNTS EQU 157B CUDSC EQU 161B CUDLA EQU 163B DISCL EQU 200B SYSSC EQU 155B ************** * N09$ DEC -9 * N07$ DEC -7 * N06$ DEC -6 * N05$ DEC -5 * N04$ DEC -4 * N03$ DEC -3 * N02$ DEC -2 * N01$ DEC -1 * P02$ DEC 2 * P03$ DEC 3 * P04$ DEC 4 * P05$ DEC 5 * P06$ DEC 6 * P08$ DEC 8 * M17$ OCT 17 * M77$ OCT 77 * M177$ OCT 177 * M377$ OCT 377 * *SYSBF "SYSBF" SYSTEM BUFFER TRACK/SECTOR *SECTR "SECTR" NUMBER OF SECTORS/DISK TRACK *UDNTS "UDNTS" NEXT USER DISK TRACK/SECTOR *CUDSC "CUDSC" CURRENT USER DISK SUBCHANNEL *CUDLA "CUDLA" CURRENT USER DISK LAST ACCESS *DISCL "DISCL" USER LABEL TRACK/SECTOR * * ERROR STATUS DEFINITIONS. * ERR1 EQU N01$ ERR2 EQU N02$ ERR3 EQU N03$ ERR4 EQU N04$ ERR5 EQU N05$ ERR6 EQU N06$ ERR7 EQU N07$ * HED ***TCS MAIoN CONTROL*** * * * * MAIN ENTRY INTO TCS * * SPC 3 TCS NOP ENTRY POINT JSB ENTR GO GET PARAMETERS DEF *+11 ARG1 NOP FOR ADDRESSES- ARG2 NOP ARG3 NOP OF PARAMETERS- ARG4 NOP ARG5 NOP TO BE PASSED - ARG6 NOP ARG7 NOP FROM CALLING - ARG8 NOP ARG9 NOP PROGRAM BY ENTR. ARG10 NOP * * * NOW SAVE THE REQUEST CODE * LDA ARG1,I GET THE REQUEST CODE STA CREQ SAVE IT * * UPDATE DEBUG TABLE * ISZ TB # OF TCS CALLS NOP JUST IN CASE * * CHECK IF ITS AN INITIALISATION REQUEST. * CPA =D82 RSS YES SO SKIP JMP ME SEE IF ITS A STATUS REQ. * LDA ARG7 GET ADDR OF SEG. DIRECTORY STA .SD LDA ARG2 SET ACTUAL CPQE VARIABLE STA .PQ TO .PQ-9, AND SET THE ADA PQLM LOCAL CPQE TO POINT STA CPQE TO THE VARIABLE. LDA ARG3,I SAVE MAXIMUM STA MAXPQ # OF PQ ENTRIES. LDA ARG4 STA PQC SET UP PQ COUNT ADDRESS. SKP * NOW INITIALIZE SEGMENT DIRECTORY. * CLA STA PQC,I CLEAR PQ COUNT STA RST CLEAR RETURN STATUS. LDA ARG5 STA NAMAD LDA ARG6,I GET # OF SEGS. SZA,RSS JMP MZ EXIT IF NO SEGS. STA NSEG CMA,INA ARG7 := -# OF STA ARG6 SEGMENTS * * SET UP THE IN-CORE SEGMENT DIRECTORY. * LOOP1 JSB EXEC PERFORM A FILE DEF *+4 NAME SEARCH. DEF SERCH NAMAD BSS 1 DEF ARG1 LDA ARG1 FILE SZA OK ? JMP GON YES. GO ON. H1 LDA ERR1 GET ERROR 1 CODE STA RST JMP MZ SPC 1 GON LDA NAMAD INCREMENT ADA P03$ NAMAD STA NAMAD BY 3. * * NOTE: AT THIS POINT, THE BREG POINTS TO THE FOURTH * WOR^D OF THE SYSTEM DIRECTORY ENTRY. * ADB N03$ (-3) LDA M11 SET UP -11 IN STA ARG2 ARG2 FOR THE MOVE. LOOP2 LDA B,I GET A WORD AND STA ARG7,I STORE IT IN THE INB SEGMENT DIRECTORY. ISZ ARG7 ISZ ARG2 JMP LOOP2 LDB ARG7 INSERT THE UD INTO ADB N09$ (-9) LDA B,I THE BOTTOM 5 BITS (7905) AND =B177740 OF THE 3RD WORD (7905) IOR CUDSC (UD # ON BASE PAGE) STA B,I ISZ ARG6 DONE? JMP LOOP1 NO. CHECK NEXT SEGMENT NAME. JMP MZ YES. * SERCH DEC 18 FILE NAME SEARCH CODE. M11 DEC -11 SKP * * SEE IF IT IS A STATUS REQUEST * ME CPA =D79 IS A STATS REQ.? RSS YES SO SKIP JMP MB NO IT ISNT * * * PASS STATUS PARAMETERS AND EXIT. * LDA RST PUT STATUS INTO STA ARG2,I 1ST USER PARAMETER. LDB ENUM CPB P02$ ONLY 1 PARAM(STATUS) JMP MZ YES SO EXIT LDA RPAR PUT THE USER IDENT PARAM STA ARG3,I INTO 2ND PARAMETER. LDA RLU PUT LU # INTO STA ARG4,I 3RD USER PARAMETER. LDA RLOG PUT TRANSMISSION LOG INTO STA ARG5,I 4TH USER PARAMETER. JMP MZ GO TO EXIT SPC 2 * * * SEE IF ITS A PRIORITY REQUEST * MB CPA =D71 IS IT? RSS YES SO SKIP JMP MT NO SO CARRY ON CHECKING * LDA ARG2,I GET PRIORITY AND M17$ ENSURE CORRECT RANGE STA PRIOR STORE IT * JMP MZ GO TO EXIT * * * SEE IF ITS AN OPEN FILE REQUEST * MT CPA =D84 IS AN OPEN FILE REQUEST? JMP MY YES CLA STA RST ETC. STA RLU * * SEE IF ITS AN INCORE REQUEST * JSB ACOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DOC,NE * SZA,RSS IS DONE ? JMP MOUT YES * * CALL ROUTINE'B' TO SEE IF IT'S A SEGMENT LOAD * JSB BCOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DONE * SZA,RSS IS DONE JMP MOUT YES * * CALL ROUTINE'C' TO SEE IF IT'S AN I/O REQUEST * JSB CCOD * * ON RETURN A REG IS ZERO IF REQUEST HAS BEEN DONE * SZA,RSS IS DONE JMP MOUT YES * * INVALID REQUEST. SET USER STATUS TO ERR3 AND RETURN. * LDA ERR3 GET ERROR CODE STA RST PUT IN STATUS MZ LDA TCS GET RETURN ADDR. STA FRET STORE IT * * THIS IS THE ONLY RETURN FROM TCS. * MOUT CLA CLB JMP FRET,I RETURN TO USER. * .ARG1 DEF ARG1 SPC 5 * * PROCESS FILE OPEN REQUESTS * MY LDA ARG3,I GET FILE # ADA N01$ SUBTRACT 1 MPY =LUFDS MULT BY ENTRY LENGTH ADA .FD ADD DIREC. ADDR. STA MET SAVE * CLA STA RST CLEAR RETURN STATUS * * UPDATE DEBUG TABLE * ISZ TB6 NOP * LDA ARG2 ADDR OF FILE NAME STA FNME JSB EXEC SEARCH FOR- DEF *+4 FILE- DEF SERCH DIRECTORY. FNME OCT 0 DEF ARG1 * LDA ARG1 FILE- SZA,RSS OK? JMP H1 NO * * BREG POINTS TO FOURTH WORD OF DIREC * ENTRY(EG TRACK AND SECTOR) * LDA B,I STA MET,I PUT IN DIRECTORY LDA CUDSC GET USER SUBCHAN. ISZ MET STA MET,I PUT IN DIRECTORY INB LDA B,I GET FILE LENGTH ISZ MET STA MET,I PUT IN DIRECTORY LDB ARG2 GET ADDR OF FILE NAME. LDA ARG3,I GET FILE NUMBER FOR LOG UTIL. JSB .LOGP,I * * ALL DONE SO EXIT * JMP MZ * * MET NOP * .LOGP DEF LOGP DUMMY LOGP TILL LOGGING LOGP NOP IS INITIATED JMP LOGP,I HED ***FAST PARA8v640METER TRANSFER*** * * * ENUM WILL HOLD THE # OF PARAMS TRANSFERRED AFTER COMPLETION * * * * EPAR WILL HOLD THE ADDRESS OF THE FIRST USER PARAM (DEF*+N) * * * * ************************************** * * * ROUTINE TO TRANSFER PARAMETER ADDRESSES. * * * CALLING SEQUENCE * * * * JSB ENTR * * DEF *+N * * BSS N-1 FOR PARAMETERS * * * ************************************** SPC 3 * FIND # OF PARAS WE HAVE SPACE FOR ENTR NOP ENTRY POINT LDB ENTR,I GET DEF *?N PARAMETER CMB,INB MAKE -VE ADB ENTR STB TEMP SAVE * * NOW FIND # OF PARAMS IN USER CALL LDA ENTR ADA =D-2 STA TEMP2 LDB 0,I LDA 1,I CMB ADA 1 * * NOW FIND WHICH # OF PARAMS IS LEAST * LDB 0 ADA TEMP SSA JMP E1 LDB TEMP CMB E1 STB ENUM * * ENUM NOW CONTAINS THE # OF PARAMS * * SET UP SOURCE ADDR IN TEMP3 AND SET * * UP ADDR OF FIRST USER PARAM (DEF *+N) * * IN EPAR * LDA TEMP2,I STA EPAR LDB 0,I STB TEMP2,I SET UP USER RETURN INA STA TEMP3 * * NOW SEE IF THERE ARE ANY PARAMS TO TRANSFER * LDA ENUM SZA,RSS ANY JMP E4 NO * * SET UP FINAL DEST IN TEMP2 * LDA ENTR 2002 ADA ENUM 2006 STA TEMP2 2006 ~6   24342-18003 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8* * GET INITIAL ADDR(DEST) IN B REG * LDB ENTR INB 2003 * * NOW MOVE PARAMS * E5 LDA TEMP3,I GET PARAM 6002,I IND1 RAL,CLE,SLA,ERA CHECK FOR INDIRECT JMP INDIR GO DO IT STA 1,I STORE PARAM 2003,I ISZ TEMP3 MOVE ADDR CPB TEMP2 ALL DONE JMP E4 YES GOTO EXIT INB MOVE ADDR JMP E5 GO DO NEXT * * SORT OUT INDIRECT PARAMS * INDIR LDA 0,I JMP IND1 * * NOW ALL IS DONE SO EXIT * E4 LDA ENTR,I GET RETURN ADDR LDB ENUM JMP 0,I GO AWAY * TEMP NOP EPAR NOP ENUM NOP TEMP2 NOP TEMP3 NOP HED **** ROUTINE B , THE SEG. LOADER **** ***** ***** * * * ROUTINE B IS USED TO PROCESS USER REQUESTS FOR SEGMENT * * * * LOADS. IT CONTAINS A ROUTINE (B3) WHICH IS USED BY * * * * OTHER ROUTINES WITHIN TCS. * * * ***** ***** SPC 3 BCOD NOP ENTRY POINT. LDA CREQ GET REQUEST CODE CPA P08$ IS SEGMENT LOAD (=8) ? JMP BA YES * * REQ. IS NOT VALID SO MAKE REJECT RETURN * BT CLA,INA,RSS NOT-DONE EXIT. BB CLA DONE EXIT. JMP BCOD,I EXIT. * * REQUEST IS VALID CHECK WHETHER SEG IS ALREADY IN CORE * BA LDA SEG GET SEG# * * UPDATE DEBUG TABLE * ISZ TB4 NOP CPA ARG2,I IS THIS SEG ALREADY IN JMP BD YES * * TEST FOR VALID SEG. NUMBER. * LDA ARG2,I  GET SEG # SSA,RSS <0? CPA P00$ =0? JMP BF YES, REJECT. CMA,INA MAKE REQ.SEG. -VE ADA NSEG ADD # OF SEGS SSA,RSS IS OK? JMP BE YES * * INVALID SEG # SO SET ERROR RETURN * BF LDB ERR4 GET ERROR CODE. STB RST PUT IN RETURN STATUS * * * NOW SET UP EXIT * LDA TCS GET RETURN ADDR. STA FRET JMP BB * * CHECK WHETHER DISC IS BUSY * BE LDB P02$ JSB SCHK WAIT TILL LU2 IS FREE SSA JMP BE LDA ARG3,I *PREP FOR PRIORITY PARAM STA ARG3 *SAVE POSS. NEW PRIORITY * * * GET REQUIRED SEGMENT DIRECTORY ADDR LDA ARG2,I ADA N01$ SUBTRACT 1 MPY =LSDL LENGTH OF SEG DIR ENTRYS. ADA .SD ADDR OF SEG TABLE SPC 2 * * NOW HAVE SEG DIREC ADDR IN A REG SO LOAD SEG * JSB B3 * * * SET UP FINAL RETURN ADDR. * BD LDA B3F,I SEG. ENTRY ADDR. STA FRET STORE AS FINAL RETURN LDA MORS SET THE LDB CMR SEGMENT-TO-MAIN SZA RETURN ADDRESS. LDB TCS STB CMR CLA SET EXECUTING FLAG STA MORS TO SEGMENT. * * NOW SET PRIORITY IF PRESENT * LDB ENUM GET # OF PARAMS CLA CPB P03$ WRER THERE THREE? LDA ARG3 *YES, SO GET PRIORITY AND M17$ ENSURE CORRECT RANGE STA PRIOR SET PRIORITY * * JMP BB GO TO RETURN HED ***ROUTINE B3*** * * * ROUTINE B3 IS USED TO LOAD SEGMENTS * * FIRST GET USER DISC SUBCHAN SO WE * CAN RESTORE IT LATER B3 NOP * * UPDATE DEBUG TABLE * ISZ TB5 NOP LDB CUDSC STB B3A * * SAVE DIRECTORY ADDRESS STA B3C STA B3B ADA P02$ ADD 2 STA B3D SAVE SUBCHAN ADDR LDB A SAVE IN B LDA A,I ANqD M37$ MASK SUBCHANNEL (7905) STA F4H ADB P02$ ADD TWO STB B3X SAVE ADDR OF LENGTH ADB P05$ ADD 5 STB B3F SAVE ADDR OF SEG START * * NOW CHANGE USER DISC * * IF REQUIRED * CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 GO DO IT * *NOW MOVE PARAMS ONTO BASE PAGE * LDA =D-11 STA B3G COUNT * LDB B3L STB B3M * B3K LDB B3C LDA B,I CPB B3D IS SUBCHAN PARAM JMP B3KK YES. JMP B3HH NO. B3KK AND =B177740 CLEAR TYPE CODE (7905) IOR P05$ (5) B3HH CPB B3F IS STARTING ADDRESS ? LDA .B3H SET TO RETURN TO THIS ROUTINE CPB B3X IS FILE LENGTH AND =B7777 YES, MASK OUT PRIORITY * * NOW MOVE TO BASE PAGE LDB B3M JSB FMOV PUT ON BASE PAGE ISZ B3C ISZ B3M ISZ B3G ALL DONE JMP B3K NO * * * JSB EXEC DEF *+2 DEF B3N * * SHOULD RETURN HERE WHEN SEG IS LOADED * *CHANGE USER DISC BACK * B3H LDA B3A STA F4H PUT UD IN EXEC CALL CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 * * NOW SET UP PARAMS * LDA B3B STA CSEG SAVE DIREC ADDR * * NOW GET SEG # +SAVE * LDB .SD CMB,INB ADA B CLB DIV =LSDL INA STA SEG LDA B3F,I RESTORE SEGMENT LDB =B137 ENTRY POINT TO JSB EXEC BASE PAGE DIRECTORY. DEF *+2 DEF BEJ JMP B3,I * * B3A DEC -1 FOR CURRENT USER DISC B3B NOP FOR DIREC ADDR B3C NOP FOR SEG DIRECTORY ADDRESS. B3D NOP FOR SUBCHANNEL ADDRESS. B3F NOP B3G NOP .B3H DEF B3H BEJ DEC -19 B3L OCT 141 B3M NOP B3N DEC -20 B3X NOP HED *** ROUTINE C ,THIS CONTAINS E + F *** ***** ***** * * * THIS ROUTINE CHECKS FOR I/O CALLS AND PROCESSES * * * * VALID ONES. ON EXIT A IS NON-ZERO IF CALL WAS * * * * NOT VALID. IF VALID A=0 AND FRET HOLDS RETURN ADDR * ***** ***** SPC 3 CCOD NOP CLA INITIALIZE RETURN PARAMETERS. STA RFLG * * CHECK IF WE HAVE BEEN INITIALISED * LDA .PQ GET PENDING Q ADDR. LDB ERR6 SZA CLB STB RST SET STATUS SZA,RSS JMP CGA GO TO RETURN * LDA CREQ GET USER REQ CODE CPA =D53 IS SUSPEND CALL JMP CN YES. SPC 1 * SEE IF IT IS AN I/O REQUEST * LDB .CB GET TABLE ADDR STB CC STORE IT * CF LDB CC,I GET A REQ CODE SZB,RSS ALL VALID REQ CODES CHECKED? JMP CD YES SO SET FOR AN INVALID CALL * CPA B IS IT THIS CODE JMP CY YES ITS VALID ISZ CC INCR ADDR JMP CF TRY NEXT ONE * * HAVEN'T BEEN INITIALISED SO SET RETURN ADDR. * CGA LDB TCS STB FRET JMP CM SPC 1 * INVALID RETURN POINT * CD CCA,RSS SET A=-1 SPC 1 * VALID RETURN POINT * CM CLA JMP CCOD,I EXIT. * * FIRST SEE IF ITS A FILE REQUEST * CY CLA STA CTT CLEAR FILE FLAG * * UPDATE DEBUG TABLE * ISZ TB1 NOP LDA CREQ GET REQUEST CODE ADA =D-13 SUBTRACT 13 AND =B177774 MASK LAST 2 BITS SZA,RSS WAS IT A FILE REQUEST? * * IF IT WAS THEN CALL F4 TO CONVERT TO TRACK AND SECTOR * JSB F4 * * WAS A VALID FILE REQUEST? * LDA RST GET STATUS SZA IS IT STIL-/L CLAER JMP CM NO IT ISNT * PUT REQUEST IN PENDING QUEUE * CE LDA PQC,I CHECK FOR PQ OVERFLOW. CPA MAXPQ OVERFLOW ? JMP CERR INA STA PQC,I NO. UPDATE PQ ENTRY COUNT. LDB CPQE ADB =LPQL STB CPQE * * NOW CHECK PRIORITY * LDA PRIOR SZA IS IT 0? JSB MU NO SO SHUFFLE PEND Q. * LDA CREQ GET REQ. CODE AND =B7777 MAKE ROOM FOR PRIORITY ALF IOR PRIOR PUT IN PRIORITY ALF ALF,ALF MOVE PRIORITY TO TOP 4 BITS STA B,I HAVE SET REQ CODE LDA CTT WAS IT A FILE REQ. SZA JMP CTY YES SO GO ON LDA CREQ GET REQ CODE AGAIN * * CPA N01$ IF ITS A -1 JMP CXX OR -2 CALL THEN- CPA N02$ SAVE A FLAG, IT- JMP CXX MAY BE WORK AREA. * CTY CLA IT WASN^T SO CXR STA CWY UPDATE FLAG * CTS INB LDA CMR HAVE NOW SET MAIN RETURN ADDR STA B,I * INB LDA ARG2,I STA ARG2 SAVE STA B,I HAVE NOW STORED CONTROL WORD * INB STB C9A SAVE PQ POINTER. * * NOW STORE RETURN ADDRESS. * LDB TCS GET RTRN ADDR. LDA ARG2 GET CONWD AND =B20000 STA C9H SZA,RSS W/O WAIT ? JMP C9D YES. RETURN IN-LINE. C9B LDB ENUM ADB .ARG1 ADB N01$ GET RETURN LDB B,I ADDRESS FROM IRET. LDB B,I C9D STB C9A,I STORE RETURN ADDRESS. * C9C ISZ C9A LDB ENUM CLA CPB P03$ ONLY 3 PARAMS? JMP C9W YES * CPB P04$ WERE THERE 4? RSS YES SO SKIP JMP C9X MUST BE 5 OR MORE * LDB C9H WAS IRET ONE OF - SZB,RSS THEM? * C9X LDA ARG3 GET BUFFER ADDR LDB CREQ IS AN I/O CONTROL REQ? CPB P03$ IF SO GET THE LDA A,I ACTUAL PARAM C9W STA C9A,I PUT A REG IN PQ. * * ISZ C9A CLA LDB CREQ CPB P03$ IS I/O CONTROL ? JMP C9E YES SO GO ON LDA ARG4,I GET BUFFER LENGTH. C9J STA C9A,I * ISZ C9A MOVE POINTER * LDA ENUM CMA,INA ADA P06$ TEST FOR GREATER THAN 6 PARAMETERS SSA,RSS JMP C9T * LDB CTT GET FILE FLAG LDA ARG5 SZB,RSS IS THAT THE TRACK ? LDA ARG5,I STORE TRACK AND SECTOR STA C9A,I * ISZ C9A * LDA ARG6 SZB,RSS LDA ARG6,I LDB CWY IF IT WAS- SZB,RSS A -1 OR -2 - JMP C9G CALL THEN PUT SYSTEM DISC- LDB SYSSC IN BLF,BLF REQUEST AND M377$ *STRIP SUBCHAN IOR B *MERGE SYS. SUBCHAN * C9G STA C9A,I JMP C9F * C9T CLA STA C9A,I ISZ C9A JMP C9G * C9E LDA ENUM GET # OF PARAMS LDB C9H SZB IS W/O WAIT ADA N01$ SUB 1 IF IRET PRESENT ADA N03$ SUB 3 FOR RC,CW,IPAR CLB CPA P02$ WERE THERE 2 PARAMS LDB ARG4 YES SO GET ADDR LDA B PUT IN A REG JMP C9J GO BACK C9F LDA ENUM ADA .ARG1 GET ADDRESS OF ADA N01$ THE PARAMETER LDB C9H IN THE A REG. SZB ADA N01$ LDA A,I GET PARAMETER LDA A,I AND M377$ (377 OCTAL) ALF,ALF LDB MORS GET EXECUTING FLAG SZB,RSS SKIP IF ITS MAIN IOR SEG ADD SEGMENT #. ISZ C9A STA C9A,I * * NOW SEE IF REQUEST WAS W/O WAIT * LDA C9H IS REQ WITH- SZA WAIT? JMP CJ NO * * * THIS THE MAJOR I/O CHECKING AND INITIATION LOOP. * IT IS ALSO THE SUSPEND LOO5P. * CN JSB ECOD CHECK CQ FOR A COMPLETE I/O. CP JSB FCOD INITIATE ALL POSSIBLE I/O. CZ LDA RFLG IS THERE ANY SZA RETURN YET ? JMP CM YES. EXIT THRU CM. JMP CN NO. STAY IN THE LOOP. * * FIND CORRECT PLACE IN PENDING QUEUE * MU NOP ENTRY POINT LDA .PQ GET PENDING Q ADDR. LDB A STA C9A SAVE * MV2 CPB CPQE ALL DONE? MV JMP MU,I YES SO EXIT LDA C9A,I GET RCODE & PRIORITY ALF MOVE PRIORITY TO LSD BITS AND M17$ MASK PRIORITY CMA NEGATE AND ADD ONE ADA PRIOR ADD THIS PRIORITY * SSA,RSS IS A LOWER PRIORITY? JMP MV1 YES * LDB C9A NOW CHECK NEXT ONE ADB =LPQL STB C9A JMP MV2 GO CHECK IT * * NOW MOVE LOW PRIORITY ENTRIES IN PENDING * QUEUE DOWN ONE, TO MAKE ROOM FOR THIS ONE * MV1 STB C9A SAVE ADDR OF CURRENT ENTRY LDA CPQE GET ADDR OF FREE ENTRY STA CMF SAVE STA C9R AND AGAIN * CMT ADA PQLM -VE LENGTH OF PENDING Q CMG LDB A,I STB C9R,I MOVE- INA ONE - ISZ C9R ENTRY- CPA CMF IS DONE? RSS YES JMP CMG NOT YET MOVE NEXT WORD * ADA PQLM MOVE POINTER BACK STA CMF STA C9R LDB C9A GET REQ'D ENTRY CPA C9A ALL MOVED? JMP MV YES SO EXIT JMP CMT NOW MOVE NEXT ENTRY * SKP * * SET UP I/O-WITHOUT-WAIT RETURN PARAMETERS. * CJ LDA TCS GET ADDR OF USER DEF *+N STA FRET STORE AS FINAL RETURN. CLA,INA STA RFLG SET RETURN FLAG. JMP CP GO INITIATE ALL POSSIBLE I/O. * * * .CB DEF CB CB DEC 3 DEC 1 DEC 2 DEC -1 DEC -2 DEC 14 DEC 15 DEC 0 CC NOP TE5MP * * COME HERE IF PENDING QUEUE IS FULL * CERR LDA ERR2 STA RST LDA TCS SET UP RETURN- STA FRET ADDRESS. JMP CM * * CWY NOP CTT NOP * CXX CCA JMP CXR * * CMF NOP HED *** ROUTINE F (INITIATE ALL POSSIBLE I/O ) *** * * * FCOD NOP ENTRY POINT. SPC 1 * SET UP ADDRESSES FOR PQ EXAMINATION SPC 1 LDA .PQ GET ADDR OF PQ FB STA FCPQ PUT IN TEMPORARY STORAGE ADA =D-9 CPA CPQE JMP FW * * CHECK WHETHER LU IS FREE FOR THIS ENTRY * JSB F1 SZB,RSS IS LU FREE ? JMP FA YES SPC 1 * THAT LU WASNT FREE SO CHECK NEXT PQ ENTRY * * FIRST SEE IF ALL ARE DONE * FDT LDA FCPQ CPA CPQE LAST ENTRY ? FW JMP FCOD,I YES. EXIT. ADA =LPQL NO. ADD PQ ENTRY LENGTH. JMP FB SPC 2 * COME HERE IF LU IS FREE FOR CURRENT PQ ENTRY * * HAVE PARAMS IN PEND. QUEUE * MUST NOW PUT THEM IN DUMMY CALL * AND UPDATE LU TABLE * * FIRST USE THE USER REQUEST CODE * FA LDA FCPQ STA C9R LDB A,I GET RECODE + PRIORITY CLA RRL 4 MOVE PRIORITY TO A REG STA C9A SAVE IT ASR 4 MAKE RCODE 16 BITS STB CEC SAVE RCODE * ISZ C9R LDA C9R,I LDB .CLU ADB P02$ SET MAIN RET. ADDR. IN LU. STA B,I * ISZ C9R LDA C9R,I LDB LULM GET LOCKED FLAG. SSA,RSS IS ALSO A LOCK REQUEST CLB NO SO CLEAR STB FH STORE FLAG IOR =B20000 MAKE WITHOUT WAIT ELA,CLE,ERA CLEAR BIT 15 STA F3A * * * NOW TRANSFER BUFFR ADDRESS OR PARAM FOR I/O CONTROL IS USED * ISZ C9R LDA C9R,I SET RETURN ADDRESS IN LU. STA .CLU,I * ISZ C9R POINT TO PQ WORD 5 LDA C9R,I GET WORD 5 LDB CEC GET RCODE CPB P03$ CONTROL OR640 I/O REQ? LDA C9R CNTL - SET ADDR OF PARM1 STA F3B SET IN EXEC CALL * ISZ C9R LDA C9R,I GET BUFF LENGTH- STA C9V IF PRESENT SZA WAS IT THERE? LDA .C9V YES SO GET ADDR LDB CEC GET REQ CODE CPB P03$ IS IT I/O CONTROL? LDA C9V YES SO GET ACTUAL ADDR STA F3C ISZ C9R LDA C9R,I GET TRACK STA C9Z SAVE IT SZA *6   24342-18004 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8 LDA .C9Z STA F3D PUT ADDR IN CALL * ISZ C9R * LDA C9R,I STA C9Y STORE IT IN C9Y. LDA C9Z GET TRACK # SZA LDA .C9Y STA F3E * * MUST PUT SYSTEM TO CORRECT USER DISC * LDA C9Y LDB C9Z GET TRACK # SZB,RSS DONT SKIP UNLES ITS THERE JMP FP NO SO IGNORE * LDB A AND M377$ (377 OCTAL) STA C9Y SET SECTOR * LDA B ALF,ALF AND M377$ (377 OCTAL) STA F4H STORE USER SUBCHAN * CPA CUDSC IS SAME AS CURRENT? RSS YES SO SKIP JSB F5 CHANGE USER DISC * * * * * ALL PARAMS NOW STORED SO SET RETURN ADDR * FP LDA .F3B FN LDB A,I GET PARAM SZB,RSS IS PRESENT JMP FM NO INA YES SO INCR JMP FN GO VACK * * PUT RETURN ADDR IN EXEC CALL * FM STA F3G * * CALL NOW COMPLETE SO SET LU TABLE ISZ C9R LDA C9R,I IOR FH SET PARAM LOCK BIT IOR F1B & SEG # IN LU TABLE. LDB .CLU INB STA B,I * * * LU TABLE NOW UP TO DATE SO INITIATE CALL JSB F3 * * NOW UPDATE PQ * * THE POINTER FCPQ MUST BE UPDATED * LDA =LPQL LENGTH OF PQ ENTRY CMA,INA MAKE -VE LDB FCPQ GET ADDR STB FL SAVE IT ADA B GET NEW CURRENT ADDR STA FCPQ SAVE * * MOVE NEXT ENTRY LDA FL ADA =LPQL ADD PQ ENTRY LENGTH LDB CPQE GET LAST FULL ENTRY POINTER. ADB =LPQL STB FS SAVE * * NOW MOVE THE QUEUE * FT CPA FS ALL DONE JMP FU YES LDB A,I GET WORD STB FL,I INA ISZ FL ALL MOVED JMP FT NO * * UPDATE PQ POINTER * FU LDA PQC,I DECREMENT PQ ENTRY COUNT ADA N01$ BY 1. STA PQC,I LDA CPQE DECREMENT ADDRESS BY 9. ADA =D-9 STA CPQE * * JMP FDT * C9A NOP C9H NOP C9R NOP C9Y NOP .C9Y DEF C9Y C9Z NOP .C9Z DEF C9Z HED ***ROUTINE F1 - CHECK FOR FREE LU - 10/74*** ************************************************ C * * C * CHECK LU TABLE ENTRY FOR NON-BUSY * C * IF DEVICE IS FREE, CHECK FOR A LOCK * C * IF DEVICE IS LOCKED, CHECK FOR TASK * C * ID MATCH (USER PARAM) * C * * C * EXIT: (B) = 0 IF REQUEST IN PENDING * C * QUEUE CAN BE PERFORMED - * C * DEVICE IS FREE & UNLOCKED OR * C * DEVICE IS FREE & LOCKED FOR * C * THIS TASK * C * (B) # 0 IF REQUEST CANNOT BE PERFORMED* C * DEVICE IS BUSY OR * C * DEVICE IS FREE BUT LOCKED FOR * C * ANOTHER TASK * C * * C ************************************************ C * C F1 NOP C CLA C STA F1B CLEAR LOCK BIT C LDA FCPQ GET ADDR CURRENT PQ ENTRY C ADA P02$ GET ADDR OF CONTROL WORD C C LDA A,I C C AND M77$ GET LOGICAL UNIT C C CPA P03$ R C LDA P02$ C LDB A C JSB LAD GET LU TABLE ENTRY FOR THIS LU C C * C LDB .CLU,I GET LUT ENTRY WORD 1 C C SZB,RSS FREE & UNLOCKED? C C F1A JMP F1,I YES, RETURN - CALL IS OK C C * C INB,SZB THIS LU BUSY? C JMP F1A YES, RETURN - SKIP THIS LU C C * C * THIS DEVICE FREE BUT LOCKED - C * CHECK THE USER PARAM (TASK ID) C * C LDA LULM C C STA F1B SET LOCK BIT C C LDA FCPQ C C ADA P08$ GET ADDRESS OF PQ ENTRY WORD 9 C C LDA A,I USER ID/SEG# C ALF,ALF C AND M377$ GET USER(TASK) ID (0-255) C STA F1C SAVE THE PARAM C * C LDA .CLU C ADA =LLUSN GET ADDR OF LUT WORD 2 C LDA A,I USER ID/LOCK/SEG# C ALF,ALF C AND M377$ GET TASK ID (0-255) C CCB C CPA F1C THIS TASK? C CLB YES, CALL IS OK C JMP F1A RETURN C HED *** ROUTINE F3, INITIATE TRANSFER AND UPDATE CQ *** * * * * THE PARAMETERS USED MUST BE SET UP BEFORE THIS * * ROUTINE IS CALLED * F3 NOP ENTRY POINT * DO IT UNLESS ITS FOR PHANTOM LU LU=3 LDA F3A GET CONWD AND M77$ MASK LU CPA M77$ IS IT 77B JMP F3F YES SO SKIP EXEC CALL JSB EXEC F3G NOP .CEC DEF CEC ADDRESS OF CURRENT EXEC CALL. .F3A DEF F3A F3B NOP BUFF ADDR F3C NOP BUFF LENGTH F3D NOP F3E NOP F3F NOP FOR DUMMY * * UPDATE DEBUG TABLE * ISZ TB7 # OF I/O STARTED NOP LDA F3A AND M77$ CPA P02$ IS FOR DISK (LU=2) ISZ TB2 INCR.COUNT NOP CPA P03$ IS FOR DISK (LU=3) ISZ TB2 INCR. COUNT NOP * * NOW UPDATE CURRENT QUEUE (CQ) LDB C9A GET PRIORITY BLF,BLF ROTATE LDA F3A GET CONWD AND M377$ MASK LU IOR B OR IN PRIORITY STA F3A SAVE CQ ENTRY * * NOW PUT IN CORRECT PLACE IN CQ * LDA .CQ STA C9R SAVE START OF CQ F3WA LDA C9R,I GET ENTRY LDB C9R IS IT LAST ENTRY CPB CCQE IF SO ENTER IT JMP F3W GO DO IT ALF,ALF AND M377$ MASK PRIORITY CMA NEGATE AND ADD ONE ADA C9A SSA,RSS IS A LOWER PRIORITY JMP F3Y YES * ISZ C9R MOVE POINTER JMP F3WA GO CHECK NEXT ENTRY * * NOW MOVE THE LOW PRIORITY ENTRIES DOWN ONE * F3Y LDA CCQE ADDR OF LAST ENTRY STA F3B ADA N01$ SUB TRACT ONE F3CR LDB A,I GET ENTRY STB F3B,I MOVE IT LDB C9R CPB A ALL DONE? JMP F3W YES LDB F3B ADB N01$ MOVE POINTER STB F3B ADA N01$ MOVE POINTER JMP F3CR MOVE NEXT ENTRY * * F3W LDA F3A GET ENTRY STA B,I ISZ CCQE MOVE Q POINTER JMP F3,I 4V RETURN * * CONSTANTS FOR F (EXCEPT F4) * .F3B DEF F3B F3A NOP FOR CONWD FCPQ NOP FOR CURRENT PQ ENTRY F1B NOP FOR LOCKED FLAG FROM F1 F1C NOP FOR SEG # FROM F1 FH NOP FOR LOCK FLAG FL NOP FOR COUNT FOR LOOP FS NOP TEMP HED ***ROUTINE F4*** * THIS SECTION CONVERTS REQ CODES 14 AND 15 TO -1 AND -2 * F4 NOP ENTRY POINT * * UPDATE DEBUG TABLE * ISZ TB3 NOP LDA CREQ CHANGE REQ CODE- ADA =D-13 TO -1 CMA,INA OR- STA CREQ -2 STB F4Y SAVE POINTER STA CTT SAY ITS A FILE REQ. * * * FIND USER PARAMS (FILE # + REL SECTOR) * F4B LDB ARG5,I GET FILE # LDA ARG6,I GET SECTOR # STA F4D STORE SECTOR # * * SEE IF SECTOR IS -VE * SSA IS -VE JMP F4L YES SO ERROR * * NOW GET FILE INFORMATION * LDA B ADA N01$ SUB 1 MPY =LUFDS USER FILE DIREC LENGTH SSA FILE # ZERO OR NEG? JMP F4L YES, REJECT. ADA .FD ADD ADDRESS OF FILE DIREC STA F4E * * CHECK FOR OPENED FILE * LDB A,I GET TRACK/SECTOR SZB,RSS IS OPENED? JMP F4L NO SO ERROR * * CHECK REQUEST IS WITHIN FILE * LDA ARG4,I GET BUFFER LENGTH CLB DIV =D128 CONVERT TO SECTORS SZB,RSS TAKE CARE OF PARTIAL- ADA N01$ SECTORS STA B SAVE # OF SECTORS * LDA F4E ADA P02$ ADD 2 TO ADDR LDA A,I GET FILE LENGTH CMA,INA ADA ARG6,I ADD REQUESTED SECTOR ADA B # OF SECTORS TO ACCESS SSA IS WITHIN FILE? JMP F4R YES * F4L LDA ERR5 STA RST SET ERROR STATUS LDA TCS NOW SET RETURN- STA FRET POINT F4ZZ JMP F4,I EXIT * * NOW GET STARTING SECTOR OF FILE * F4R LDA F4DBE,I AND M377$ * * ADD REQ SECTOR * ADA F4D * * CHANGE TO TRACK AND SECTOR * CLB DIV SECTR #OF SECTORS PER TRACK. * * A CONTAINS TRACK OFFSET, B CONTAIN SEC # * STA F4F TRACK OFFSET LDA F4E,I GET TRACK SECTOR ALF,ALF AND M377$ MASK TRACK ADA F4F ADD OFFSET STA ARG5 STORE * ISZ F4E LDA F4E,I GET SUBCHAN ALF,ALF ROTATE IOR B OR IN SECTOR STA ARG6 STORE * LDB F4Y JMP F4ZZ GO TO EXIT HED *** ROUTINE F5, CHANGE USER DISC*** * * NOW MAKE EXEC CALL TO CHANGE USER DISC * F5 NOP ENTRY POINT * * SAVE INFO SO NEXT TIME WE CAN DO IT QUICKLY * LDB .FBUF GET BUFFER ADDR. ADB CUDSC ADD CURRENT UD LDA UDNTS GET NEXT UD TRK/SECT STA B,I SAVE IT ADB P32$ GET TO 2ND HALF OF TABLE(7905) LDA DISCL GET TRK/SECT OF DISC LABEL STA B,I SAVE IT * LDA F4H GET REQ'D UD ADA .FBUF ADD BUFFER ADDR. STA FBUD SAVE ADDR LDA A,I IF WE CAN DO THIS IN CORE- INA,SZA THEN DO SO. CAN ONLY DO IT- JMP FHA IF WE'VE DONE THIS DISC BEFORE * * MUST CHANGE USER DISC VIA EXEC CALL * JSB EXEC DEF *+5 DEF .23 DEF F4D DEF F4H DEF .1 F5E JMP F5,I EXIT * * * COME HERE IF WE CAN CHANGE USER DISC WITHOUT GOING TO THE DISC * FHA LDB FBUD LDA B,I GET USER DISC TRK/SECT ADB P32$ RESET TABLE POINTER (7905) STB FBUD LDB F5A1 JSB FMOV PUT ON BASE PAGE * LDA FBUD,I PUT NEW TRK/SECT- LDB F5A2 FOR LABEL ON BASE PAGE JSB FMOV * LDA M377$ SET "CUDLA" LDB F5A4 TO 377B JSB FMOV * LDA F4H GET UD # LDB F5A5 JSB FMOV * JMP F5E GO TO EXIT * * FBUD NOP .FBUF DEF FBUF FBNUF REP 64 32 SUBCHANNELS MAX (7905) DEC -1 * F5A1 OCT 157 F5A2 OCT 200 F5A4 OCT 163 F5A5 OCT 161 * * PUT A WORD ON BASE PAGE * FMOV NOP ENTRY POINT JSB EXEC DEF *+2 DEF BEJ JMP FMOV,I * * F4D NOP FOR REL SECT # F4E NOP FOR USER FILE DIREC ADDR * F4Y NOP F4F NOP F4H DEC -1 FOR UD .23 DEC 23 P32$ DEC 32 (7905) .1 EQU 54B C9V NOP .C9V DEF C9V HED ***ROUTINE LAD*** * * ENTER - BREG = LU #. * * EXIT - BREG = LU#. * AREG = LU ENTRY ADDRESS. * .CLU = LU ENTRY ADDRESS. * LAD BSS 1 ENTRY POINT. STB LAD1 LDA B CPA M77$ IS IT PHANTOM LU? LDA P03$ YES SO USE LU 3 TABLE ADA N01$ (-1). MPY =LLUL ADA .LU STA .CLU LDB LAD1 JMP LAD,I * LAD1 BSS 1 SPC 5 * * ENTER - BREG = LU #. * * EXIT - BREG = LU #. * AREG = STATUS. * SC3 = STATUS. * SC4 = TLOG. * SCHK BSS 1 ENTRY POINT. STB SC2 JSB EXEC EXEC CALL FOR STATUS. DEF *+5 DEF SC1 DEF SC2 DEF SC3 DEF SC4 LDB SC2 JMP SCHK,I EXIT. * SC1 DEC 13 REQUEST CODE FOR STATUS. SC2 BSS 1 BUFFER FOR LU #. SC3 BSS 1 BUFFER FOR STATUS. SC4 BSS 1 BUFFER FOR TLOG. HED ***ROUTINE A*** ACOD BSS 1 ENTRY POINT * CHECK FOR UNLOCK REQUEST. LDA ARG1,I UNLOCK (CODE = 52)? CPA =D52 RSS JMP A15 NO. GO TO A15. LDA TCS YES SET UP- STA FRET RETURN ADDRESS LDB ARG2,I GET LU #. CPB P03$ IS LU# 3? LDB P02$ YES SO CHANGE TO 2 * JSB LAD GET LU TABLE ENTRY ADDRESS. ADA =LLUSN LDA A,I ALF,ALF hGET LUT TASK ID C AND M377$ C CPA RPAR CORRECT TASK? C JMP A10 YES. LDA ERR7 GET ERROR 7 CODE JMP A12 A10 LDB .CLU CLEAR LOCKED CONDITION. INB LDA B,I AND LULC CLEAR BIT 7 OF 2ND STA B,I WORD OF LU ENTRY. LDA .CLU,I IF 1ST WORD = -1, INA,SZA,RSS THEN SET IT TO 0. STA .CLU,I CLA A12 STA RST STORE USER STATUS JMP A24 * * CHECK FOR IN-LINE RETURN TO MAIN REQUEST. A15 CPA =D54 RETURN TO MAIN (CODE = 54)? JMP A20 YES. JMP A25 NO. SET ERROR STATUS, EXIT. A20 LDA CMR SET UP RETURN ADDRESS LDB MORS AND FLAG. SZB LDA TCS STA FRET CCA SET CURRENT SEGMENT ADDRESS STA MORS TO -1 TO INDICATE THE MAIN. CLA STA RST CLEAR STATUS STA CMR STA PRIOR * * ALL EXITS COME THRU A24 (REQUEST DONE) AND A25 (REQ. NOT DONE). * AREG = 0 (DONE, GOOD OR BAD), AREG = -1 (NOT DONE). A24 CLA,RSS A25 CCA JMP ACOD,I HED ***ROUTINE E*** SPC 4 * * * ECOD SEARCHES THE CQ BUFFER FROM THE TOP FOR * A FINISHED TRANSFER. THIS WILL BE THE OLDEST * FINISHED TRANSFER. THE ENTRY IS DELETED & THE * REMAINING ENTRIES IN CQ ARE MOVED UP BY ONE. * SPC 2 ECOD BSS 1 ENTRY POINT. LDA .CQ .CCQ := CQ POINTER. STA .CCQ RSS SPC 1 EC1 ISZ .CCQ ADVANCE THE CQ POINTER. LDB .CCQ,I IS TESTING CQ SZB,RSS DONE (ENTRY = 0) ? JMP EC25 YES. EXIT. SPC 1 * GET LU# * LDA B AND M77$ MASK LU# LDB A CLA CLEAR STATUS CPB M77$ IS IT PHANTOM LU? RSS YES SO OMIT STATUS CHECK JSB SCHK NOT DONE. DO STATUS CHECK. STA RST AND =B100000 SZA IS DEVICE BUSY JMP EC1 YES. CHECK NEXT ENTRY. LDA SC4 SET UP RETURN LOG IN CASE STA RLOG A RETURN IS POSSIBLE. * * SPC 1 * FOUND A FINISHED TRANSFER. BREG = LU #. * MUST CHECK TO SEE IF RETURN TO ORIGINAL CALLING * SEGMENT IS POSSIBLE. SET UP SOME OF THE RETURN * PARAMETERS IN CASE A RETURN IS POSSIBLE. * STB RLU CPB P03$ IS IT LU 3? LDB P02$ YES SO CHANGE TO 2 * JSB LAD GET LU ENTRY ADDRESS. STA RSDA ADA =LLUSN ISOLATE THE LDA A,I SEGMENT #. STA RPAR AND M177$ (177B). STA RS# SZA SKIP IF MAIN CPA SEG SEGMENT IN CORE? JMP EC10 YES. SET UP RETURN. LDB P02$ (+2). JSB SCHK CHECK DISC STATUS. SSA DISC FREE ? JMP EC1 NO. CHECK NEXT ENTRY. SPC 2 * TRANSFER FINISHED AND RETURN POSSIBLE. * SET UP RETURN PARAMETERS. * EC10 CCA SET RETURN FLAG TO -1 STA RFLG TO INDICATE RETURN NECESSARY. * * UPDATE DEBUG TABLE * ISZ TB8 NOP LDA RSDA,I SET UP FINAL STA FRET RETURN ADDRESS. * * FREE THE LU DEVICE. * LDA RPAR CHECK LOCKED CONDITION, ALF,ALF AND SET APPROPRIATE STA B (KEEP PARAM IN AREG) SSB,RSS "FREE" CONDITION CODE CLB,RSS IN LU TABLE. CCB STB RSDA,I * CONTINUE SETTING UP RETURN PARAMETERS. * AND M377$ ISOLATE PASSED PARAMETER AND STA RPAR STORE IT IN RPAR. LDB RSDA SET UP RETURN ADB =LLUMR TO MAIN ADDRESS. LDA B,I STA CMR LDA RS# GENERATE SEGMENT SZA,RSS IS REQ FOR MAIN? JMP ER2 YES SO DONT LOAD SEGMENT ADA N01$ DIRECTORY ADDRESS MPY <:6=LSDL AND STORE IT IN RSDA ADA .SD STA RSDA * CPA CSEG SEG ALREADY IN? JMP ER2 IF SO JUMP JSB B3 NO SO LOAD IT * * DELETE ENTRY FROM CQ. * * ER2 CCB SET MAIN FLAG LDA RS# GET SEG # SZA IS RETURN TO MAIN? CLB NO SET SEG FLAG STB MORS SET FLAG * * RESTORE PRIORITY TO WHAT IT WAS WHEN THIS I/O CALL WAS MADE * LDA .CCQ,I GET CQ ENTRY ALF,ALF ROTATE AND M377$ MASK PRIORITY STA PRIOR RESTORE IT LDA CCQE SUB 1 FROM CQ- ADA N01$ POINTER BY 1. STA CCQE LDB .CCQ EC12 LDA B MOVE THE CQ TABLE INA UP, ONE BY ONE. LDA A,I STA B,I CPB CCQE JMP EC18 INB JMP EC12 EC18 CLA ZERO LAST USED ENTRY. STA B,I * * ALL EXITS COME THROUGH EC25. * EC25 JMP ECOD,I EXIT. * RLU NOP END TCS :: :CO MOUNT TAPE #5, TYPE :GO :PA ɤ<  24342-18005 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC02,5 ASMB,R,L,C NAM BUF,7 HED ***BUFFER MANAGER - 9/74*** ENT BINIT,GBUF,PBUF,IBUF EXT ENTR,.RST B A EQU 0 B EQU 1 N09$ EQU 42B DEC -9 B N04$ EQU 47B DEC -4 B N03$ EQU 50B DEC -3 B N01$ EQU 52B DEC -1 B P02$ EQU 55B DEC 2 B P03$ EQU 56B DEC 3 B P07$ EQU 62B DEC 7 B * B * THIS PROGRAM WILL ACCEPT A CALL TO INITIATE BUFFER MANAGEMENT * * IT ALLOWS UP TO EIGHT BUFFER POOLS EACH CONTAINING UP TO B * * 64 FIXED LENGTH BUFFERS. THE CALLING SEQUENCE TO REQUEST B * * INITIATION OF A BUFFER POOL FOLLOWS: B * * JSB BINIT * DEF *+5 * DEF BUF ADDRESS OF BUFFER POOL * DEF NUM NUMBER OF BUFFERS (1-64) B * DEF LEN LENGTH OF EACH BUFFER * DEF POOL NUMBER OF BUFFER POOL (1-8) B * * .BUF DEF BUF UNL B BUF REP 56 OCT 0 LST B * BUF BSS 56 INITIALIZED TO ZERO BY REP. B OCT 0 B1 OCT 0 POOL TABLE ADDRESS. B B2 OCT 0 NEG. COUNT OF REMAINING BUFFERSB B3 OCT 0 MASK B HED ***ROUTINE BINIT*** BINIT NOP ENTRY POINT * GET USER PARAMETERS B * JSB ENTR DEF *+5 ARG1 NOP ARG2 NOP ARG3 NOP ARG4 NOP * * CHECK THAT POOL # IS WITHIN RANGE 1 TO 8 B * GET ADDRESS OF POOL TABLE ENTRY * CLA B LDB .RST CLEAR RETURN STATUS. s B STA B,I B LDA ARG4,I GET POOL #. B JSB PRNGE B SSA B JMP BERR B * * PUT POOL ADDR IN TABLE * LDA ARG1 STA B1,I B ISZ B1 B * * CHECK THAT # OF BUFFERS IS WITHIN RANGE 1-64 B * SET TABLE ENTRY B * LDA ARG2,I SZA IS IT ZERO B SSA OR NEGATIVE? B JMP BERR YES, REJECT. B STA B B ADB =D-65 IS IT GREATER THAN 64? B SSB,RSS B JMP BERR YES, REJECT. B STA B1,I B ISZ B1 B * * PUT BUFFER LENGTH INTO TABLE * LDA ARG3,I STA B1,I B * * NOW DECLARE ALL BUFFERS FREE * ISZ B1 B LDB B1 B LDA N04$ B STA B1 CLEAR THE- CLA NEXT FOUR- B5 STA B,I WORDS IN THE- INB TABLE. ISZ B1 JMP B5 JMP OUT B * * RETURN B * BERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B OUT JMP BINIT,I EXIT. B HED ***ROUTINE GBUF*** * * THIS PART OF THE ROUTINE PROCESSES USER REQUESTS FOR A BUFFER. * THE CALLING SEQUENCE IS h\AS FOLLOWS * * JSB GBUF * DEF *+3 * DEF I ADDRESS WHERE ARRAY INDEX IS PUT * DEF POOLN POOL # * * ON EXIT I IS SET TO THE RELATIVE WORD # IN THE * POOL WHERE THE BUFFER STARTS * * FOR ASSEMBLY LANGUAGE PROGRAMS THE ACTUAL BUFFER * ADDRESS IS IN THE A REG ON EXIT * GBUF NOP ENTRY POINT JSB ENTR DEF *+3 ARG10 NOP ARG20 NOP * * CHECK THAT POOL # IS WITHIN RANGE 1-8 B * CALCULATE POOL TABLE ENTRY ADDRESS B * LDA ARG20,I GET POOL # JSB PRNGE B SSA B JMP GERR REJECT B * * NOW HAVE TABLE ADDRESS SO SEE IF ITS INITIALIZED * LDB A,I GET 1ST WORD. B SZB INITIALIZED? B JMP ON YES * * NO SO SET INDEX TO -1 CLEAR A AND EXIT * NONE LDB N01$ STB ARG10,I CLA GOUT JMP GBUF,I GERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B CLA B JMP GOUT RETURN. B * * POOL IS INITIALIZED SO SEE IF ANY ARE FREE * ON STA B1 SAVE POOL TABLE ENTRY ADDRESS. B INA LDB A,I GET # OF BUFFERS IN THIS POOL. B CMB,INB MAKE -VE STB B2 SAVE ADA P02$ INDEX TO ENTRY'S BUSY TABLE. B STA B ADDR OF ENTRY'S 1ST BUSY WORD. B * * NOW LOOK THROUGH TABLE FOR A FREE ENTRY * BACK1 CLA,INA GET MASK BACK STA B3 SAVE AND B,I MASK BUFFER INDICATOR. B SZA,RSS IS BUFFER FREE ? JMP GOTIT YES LDA B3 GET MASK * ISZ B2 ALL TESTED ? RSS NO JMP NONE YES SSA GROUP OF 16 TESTWED JMP B9 YES. B RAL NO, MOVE MASK. B JMP BACK TRY NEXT BUFF * * NOW MOVE INDICATORS TO TRY NEXT GROUP OF 16 * B9 INB JMP BACK1 * * NOW HAVE A BUFFER, SET A BUSY BIT FOR IT B * GOTIT LDA B3 SET INDICATOR- IOR B,I TO SAY BUFFER BUSY. B STA B,I B * LDA B2 GET -VE COUNT OF REMAINING BUFFS LDB B1 GET TABLE ADDR INB MOVE TO # OF BUFFS ADA B,I GET # OF FREE BUFFER. B INA GET ARRAY INDEX STA ARG10,I PUT IN USER CALL ADA N01$ CALCULATE B INB BUFFER B MPY B,I B ADA B1,I ADDRESS. B JMP GOUT RETURN. B HED ***ROUTINE PBUF*** * * THIS PART OF THE ROUTINE PROCESSES USER REQUESTS * TO FREE A BUFFER * * CALLING SEQUENCE IS * JSB PBUF * DEF *+3 * DEF I THE ARRAY INDEX SUPPLIED WHEN BUFF WAS ALLOCATED * DEF POOL THE POOL # * PBUF NOP JSB ENTR DEF *+3 ARG8 NOP ARG9 NOP LDA ARG9,I GET POOL # JSB PRNGE B SSA B JMP PERR B * LDA ARG8,I GET ARRAY INDEX ADA N01$ B * * NOW FIND WHICH GROUP OF 16 THE BUFFER IS IN * CLB DIV =D16 * * A REG CONTAINS GROUP OF 16 (0-3) * B REG CONTAINS OFFSET WITHIN GROUP(0-15) * ADA B1 ADD TABLE ADDR ADA P03$ POINT AT CORRECT BUSY WORD. B STA B3 SAVE ADDR CMB,INB NEGATE OFFSET CCA SET A-REGISTER TO B ERA,CLE,ELA 1777776B B50 s SZB,RSS POINTING AT CORRECT BIT? JMP POUT YES. B * RAL INB JMP B50 GO BACK * B * RETURN B * B PERR LDA N03$ SET REJECT STATUS. B LDB .RST B STA B,I B JMP OUT9 EXIT. POUT AND B3,I FREE BUFFER. B STA B3,I OUT9 JMP PBUF,I EXIT. B HED ***ROUTINE IBUF*** * * THIS ROUTINE IS CALLED TO FIND OUT HOW MANY BUFFERS IN A POOL * ARE CURRENTLY BEING USED * CALLING SEQUENCE * JSB IBUF * DEF *+3 * DEF I # OF BUFFS IN USE RETURNED IN I * DEF POOL POOL NUMBER * IBUF NOP JSB ENTR DEF *+3 ARG NOP RARG NOP * * CHECK THAT POOL # IS IN RANGE 1-8 B * GET POOL TABLE ENTRY ADDRESS B * LDA RARG,I JSB PRNGE B SSA B JMP IERR REJECT * * OFFSET TO BUSY WORDS B * ADA P03$ B STA B2 SAVE IT. B * * INITIALIZE COUNTS B * CLB STB B1 LDB N04$ B * B * SET MASK IN A REG AND B3 * B CLA,CCE ERA B12 RAL STA B3 AND B2,I IS THIS BUFFER- SZA BUSY ? ISZ B1 YES INCR COUNT * LDA B3 SSA,RSS JMP B12 Ê ISZ B2 POINT AT NEXT WORD INB,SZB ALL DONE JMP B12 NO * * NOW PUT COUNT IN USER PARAM * LDA B1 STA ARG,I IR9 JMP IBUF,I RETURN * IERR LDA N03$ SET ERROR RETURN STATUS LDB .RST STA B,I JMP IR9 HED ***ROUTINE PRNGE*** * SUBROUTINE TO CHECK THAT POOL # IS IN B * RANGE 1-8 AND CALCULATE POOL TABLE ENTRY B * ADDRESS. B * B * ENTRY: (A) = USER SUPPLIED POOL # B * B * EXIT : (A) = ADDRESS OF POOL TABLE ENTRY B * IF # IN RANGE, B * = -1, OTHERWISE. B * (B1)= ADDRESS OF POOL TABLE ENTRY B * IF # IN RANGE, B * = 0, OTHERWISE. B * B PRNGE NOP ENTRY B SZA IS IT ZERO B SSA OR NEGATIVE? B JMP PRERR YES. B STA B B ADB N09$ IS IT GREATER THAN 8? B SSB,RSS B JMP PRERR YES. B ADA N01$ NO, CALCULATE ENTRY ADDRESS. B MPY P07$ B ADA .BUF B STA B1 SAVE IT. B RET JMP PRNGE,I RETURN. B PRERR CCA B CLB B M*($ STB B1 B JMP RET B END IBUF :: :CO MOUNT TAPE #6, TYPE :GO :PA *   24342-18006 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC03,5 ASMB,L,C NAM START,7 HED ***TCS UTILITIES (MAIN) - 9/74*** ENT START ENT PAUZ,OPEN,TGET,TPUT,CLOSE ENT ALLOC,DFINE,PUSH,POP ENT TCNTL,RDISC,WDISC,SEGLD ENT SPLIT ENT RLSCB ENT .MTO ENT .LOGA,LOGON,LOGOF ENT .STAT EXT EXEC EXT GBUF,PBUF EXT .ENTR EXT CB$ EXT ERR0 EXT .MORS,.PRR * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 ******* ******CONTROL BLOCK FORMAT ****** *CB CONTENT * 1 LOGICAL UNIT * 2 DEVICE TYPE (REFER TO FOLLOWING) * 3 BUSY FLAG * 4 WORK BLOCK ADDRESS * 5 WORK BLOCK PARAMETERS (LEFT BYTE=ID,RIGHT BYTE=TYPE) * 6 DATA BLOCK #1 ADDRESS * 7 DATA BLOCK #1 PARAM. (LEFT BYTE=ID,RIGHT BYTE=TYPE) * 8 DATA BLOCK #2 ADDRESS * 9 DATA BLOCK #2 PARAM. (LEFT BYTE=ID,RIGHT BYTE=TYPE) *10 EQT EXTENSION ADDRESS (LOGICAL/PHYSICAL ONLY) *11 READ CONTROL BITS *12 WRITE CONTROL BITS *13 TEMP1 *14 TEMP2 *15 TEMP3 *16 TEMP4 *17 STACK POINTER *18 UTILITIES RETURN (USED BY 2SAV,2RET) *19 STACK ITEM1, WORD 1 - RETURN ADDRESS *20 STACK ITEM1, WORD 2 - ADDRESS OF CONTROL BLOCK ARRAY * SKP ******** * * DEVICE TYPES * BIT 7=1=INPUT CAPABILITY * BIT 6=1=OUTPUT CAPABILITY * * SYSTEM CONSOLE 300 * LOCAL TERMINAL 301 * ASYNCH. TERMINAL 302 * PAGE MODE TERMINAL 303 * SYNCH. LINE CONTROL 304 * SPARE X05 * SPARE X06 * SPARE X07 * DISC 310 * MAG TAPE 311 * LINE PRINTER 112 * READER 213 * PUNCH 114 * READER/PUNCH 315 * HARDWIRED SERIAL I/F 316 ********* SKP ******************************************************************************** * START SUBROUTINE * * JSB START * DEF CB ADDRESS OF CONTROL BLOCK ARRAY * DEF SYST ADDRESS OF CONFIGURATION TABLE * JMP CONT RETURNS HERE USING LAST RESERVED CB * --- RETURNS HERE FOR EACH ACTIVE CB ******************************************************************************** CBLOK NOP SYST NOP * START NOP CBL EQU START /CB LENGTH (SET BY $STRT) MTO EQU START+1 /MTO/TCS LINK(SET BY $STRT) .MTO EQU START+1 ICBP EQU START+2 ICBX1 EQU START+3 ICBX2 EQU START+4 JSB .ENTR DEF CBLOK JSB EXEC DEF *+8 DEF RCODE DEF CB$ /SEGMENT NAME SPEC. BY CONFIGURATOR DEF CBLOK DEF SYST DEF START DEF SPLT8 DEF XSTRT XSTRT DEF START RCODE DEC 8 SKP ******************************************************************************** * * DEFINE CONTROL BLOCK,WORK BLOCK, AND DATA BLOCKS * * * JSB DFINE * DEF *+2 * DEF CB /ADDRESS OF CONTROL BLOCK ARRAY * * CALLING PROGRAM MUST INCLUDE A DEFINITION OF FOUR * DUMMY ARRAYS WHICH ARE USED TO REFERENCE THE * CONTROL BLOCK (CB), WORK BLOCK(WB),DATA BLOCK#1 * (DB1) AND DATA BLOCK#2 (DB2). ORDER OF DECLARATION * MUST BE AS SHOWN. * * INTEGER CB(1),WB(1),DB1(1),DB2(1) * * CALL DFINE(CB) ******************************************************************************** NOP DFINE NOP JSB .ENTR DEF DFINE-1 LDA DFINE-1 JSB SETCB JMP DFINE,I SKP **************************************************** * * DEVICE OPEN * * JSB OPEN * DEF *+1 **************************************************** OPEN EQU * NOP JSB .ENTR DEF OPEN JSB SAVAD /SAVE ENTRY PARAMETERS LDA LU,I /CHECK FOR SYSTEM CONSOLE CPA P01$ JSB RTRN /nkRETURN TO USER JSB DVICE /DETERMINE DEVICE TYPE JMP OPEN2 /REMOTE TERMINAL JMP OPEN3 /MAGTAPE JMP OPEN4 /LINE PRINTER JMP OPEN5 /PUNCH CPA =B213 /READER? JMP OPEN3 /YES OPEN7 EQU * LDB CLEAR /OTHER OPEN6 EQU * CLA OPEN1 EQU * JSB CONTL /ISSUE CONTROL REQ. JSB RTRN /NO-RETURN TO USER * OPEN3 EQU * LDB DSTAT /GET DYNAMIC STATUS CLA JSB CONTL LDA ISTAT SLA /READY? JMP OPEN3 /NO-TRY AGAIN LDA TYPE,I /YES AND RBYT$ /ISOLATE DEVICE TYPE CPA =B213 /READER? JMP OPEN7 /YES LDB RWND /NO-REWIND MAGTAPE JMP OPEN6 OPEN4 LDB TOF /TOP OF FORM PRINTER LDA N01$ JMP OPEN1 OPEN5 LDB LDR /GENERATE LEADER JMP OPEN6 OPEN2 EQU * LDA P01$ LDB OPENL JSB CONTL /LINE OPEN(READ) LDA AUTO LDB OPENL JSB CONTL /LINE OPEN(AUTO SPEED) LDA ISTAT AND RBYT$ SZA,RSS /OK? JSB RTRN /YES CLA LDB LCLOS /CLOSE LINE JSB CONTL JMP OPEN2 /TRY AGAIN **************************************************** AUTO OCT 100001 SKP **************************************************** * * DEVICE CLOSE * * JSB CLOSE * DEF *+1 ******************************************************************************** CLOSE EQU * NOP JSB .ENTR DEF CLOSE JSB SAVAD /SAVE ENTRY PARAMETERS LDA LU,I CPA P01$ /SYSTEM CONSOLE? JSB RTRN /RETURN TO USER JSB DVICE /DETERMINE DEVICE TYPE JMP CLOS1 /REMOTE TERMINAL JMP CLOS2 /MAGTAPE JMP OPEN4 /LINE PRINTER JMP OPEN5 /PUNCH JMP OPEN6-1 /OTHER * CLOS1 LDB LCLOS /LINE CLOSE JMP OPEN6 CLOS2 EQU * LDB RWNDX /REWIND & PLACE OFFLINE  JMP OPEN6 * DVICE NOP LDA TYPE,I AND RBYT$ /ISOLATE DEVICE TYPE CPA =B302 /ASYNCH. TERMINAL? JMP DVICE,I CPA =B303 /PAGE MODE TERMINAL? JMP DVICE,I ISZ DVICE CPA =B311 /MAGTAPE? JMP DVICE,I ISZ DVICE CPA =B112 /LINE PRINTER? JMP DVICE,I ISZ DVICE CPA =B114 /PUNCH? JMP DVICE,I ISZ DVICE JMP DVICE,I * SKP **************************************************** * * GET RECORD FROM DEVICE * * JSB TGET * DEF *+3 * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH **************************************************** * * TGET EQU * NOP LDA TGET STA TIO LDA P01$ STA CODE JMP TIO+1 **************************************************** * * PUT RECORD TO DEVICE * * JSB TPUT * DEF *+3 * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH **************************************************** TPUT EQU * NOP LDA TPUT STA TIO LDA P02$ STA CODE JMP TIO+1 * SKP **************************************************** * * READ/WRITE * **************************************************** NOP NOP TIO NOP JSB .ENTR DEF TIO-2 JSB SAVAD /SAVE ENTRY PARAMETERS LDB CB12,I LDA CODE CPA P01$ LDB CB11,I ADB LU,I STB CONWD JSB MTO,I DEF *+6 DEF CODE DEF CONWD DEF TIO-2,I DEF TIO-1,I DEF IPAR JSB RTRN /RETURN TO USER SKP ******************************************************************************** * DEVICE CONTROL * JSB TCNTL * DEF *+3 * DEF FUNC FUNCTION CODE 00FF00 * DEF PARM1 * DEF PARM2 ******************************************************************************** v NOP /FCTN CODE W/O LU# NOP /LP, MT CNTL PARAM NOP /PARAM FOR LGCL/PHYS INTFC * TCNTL NOP JSB .ENTR DEF TCNTL-3 JSB SAVAD LDA TCNTL-1 STA PARM LDA TCNTL-2,I LDB TCNTL-3,I JSB CNTLX /CALL 2 PARAMETER ENTRY JSB POP SKP ******************************************************************************** * * DISC READ * JSB RDISC * DEF *+5 * DEF FIL# MTO FILE NO. * DEF SCT# RELATIVE SECTOR NO. * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH ******************************************************************************** * * RDISC NOP LDA RDISC STA DISC LDA P14$ STA CODE JMP DISC+1 ******************************************************************************** * * WRITE DISC * JSB WDISC * DEF *+5 * DEF FIL# MTO FILE NO. * DEF SCT# RELATIVE SECTOR NO. * DEF BUFR BUFFER ADDRESS * DEF BUFL BUFFER LENGTH ******************************************************************************** * WDISC NOP LDA WDISC STA DISC LDA P15$ STA CODE JMP DISC+1 * P14$ DEC 14 P15$ DEC 15 SKP ******************************************************************************** * * DISC READ/WRITE * ******************************************************************************** NOP FILE # NOP SECTOR # NOP BUFFER ADDRESS NOP BUFFER LENGTH * DISC NOP JSB .ENTR DEF DISC-4 JSB SAVAD LDA DISC-4,I SZA,RSS /WORK AREA REQUEST? JMP DISC1 /YES LDA CODE CPA P14$ JMP DISC2 LDA DISC-4 / STA CB13,I / LDA DISC-3 / STA CB14,I /SAVE PARAMETERS LDA DISC-2 / STA CB15,I / LDA DISC-1 / STA CB16,I / * DISC7 LDA LOCK SZA,RSS /LOCKED OUT? JMP DISC8 /NO, CONTINUE. JSB PAUZ /YES. DEF *+1 JMP DISC7 * DISC8 LDA CB13,I / STA DISC-4 / LDA CB14,I / STA DISC-3 /RESTORE PARAMETERS LDA CB15,I / STA DISC-2 / LDA CB16,I / STA DISC-1 / LDA P15$ STA CODE * DISC2 EQU * LDA DISC-4,I CLB SSA,RSS /LOCK DISC? JMP *+3 /NO. CMA,INA /YES, MAKE FILE # >0. LDB =B100000 /SET TCS LOCK BIT. STA TRAK LDA P03$ IOR B DISC4 EQU * IOR =B20000 /MAKE IT W/O WAIT STA CONWD /SET TO REF. USER DISC LDA .PRR /SAVE PRIORITY. STA CB13,I JSB MTO,I DEF *+9 DEF CODE DEF CONWD DEF DISC-2,I DEF DISC-1,I DEF TRAK DEF DISC-3,I DEF IPAR DEF DISC5 JSB STAT LDA ISTAT /TCS ACCEPT IT? SSA JSB POP /NO. LDA CB2,I ADA =B20000 /SET DISC COMPL PENDING STA CB2,I LDB CODE CPB P15$ /FILE WRITE? SSA,RSS /YES-LOGGING ENABLED? JMP SUSP /NO-SUSPEND HIM ADA =B20000 /SET LOG COMPL PENDING STA CB2,I LDA P15$ /LOG AT HIGHEST PRIORITY. STA .PRR JSB .LOGA,I /CALL LOG ROUTINE DEF *+6 DEF TRAK DEF DISC-3,I DEF DISC-2,I DEF DISC-1,I DEF LOCK * LOG COMPLETE/DISC COMPLETE DISC6 JSB SETAD LDA CB2,I ADA =B-20000 /DECREMENT COMPLETION COUNT STA CB2,I AND =B60000 SZA /DONE? JMP SUSP /NO LDA CB13,I STA .PRR /RESTORE PRIORITY. JSB POP /YES-RETURN TO CALLER DISC5 DEF DISC6 * * DISC1 LDA N13$ ADA CODE /DETERMINE READ OR WRITE CMA,INA STA CODE LDA DISC-3,I AND CRBYT$ /ISOLATE SECTOR STA SCTR LDA DISC-3,I ALF,ALF AND RBYT$ /ISOLATE TRACK STA TRAK LDA DISC3 STA DISC-3 LDA P02$ JMP DISC4 TRAK NOP DISC3 DEF SCTR LOCK OCT 0 SCTR NOP N13$ DEC -13 SKP **************************************************** * * ENABLE LOGGING * * JSB LOGON * DEF *+1 * **************************************************** LOGON EQU * NOP JSB SETAD /SET CB ADDRESSES LDA .LOGA CPA .LOGB /LOGGING INITIALIZED? JMP LOGNX /NO LDA CB2,I /YES,SET BIT 15(LOGON) IOR =B100000 STA CB2,I LOGNX LDB LOGON,I JMP B,I .LOGA DEF LOGA .LOGB DEF LOGA LOGA NOP JMP LOGA,I SKP **************************************************** * * DISABLE LOGGING * * JSB LOGOF * DEF *+1 * **************************************************** LOGOF EQU * NOP JSB SETAD /SET CB ADDRESSES LDA CB2,I RAL,CLE,ERA /CLEAR LOGGING BIT STA CB2,I LDB LOGOF,I JMP B,I SKP ******************************************************************************** * * SEGMENT LOAD * JSB SEGLD * DEF *+2 * DEF SEG# SEGMENT NO. * DEF PRI# PRIORITY NO. ******************************************************************************** * NOP NOP * SEGLD NOP JSB .ENTR DEF SEGLD-2 LDA .MORS SZA,RSS /CALL FROM SEGMENT? JMP SGLD1 /YES-DO NOT PUSH STACK JSB PUSH /NO DEF *+2 DEF SEGLD-1 SGLD1 EQU * * JSB MTO,I DEF *+4 DEF P08$ DEF SEGLD-2,I DEF SEGLD-1,I JSB POP * SKP **************************************************** * * CONTROL * **************************************************** CONTL EQU * NOP 0.**0   24342-18007 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8 JSB ZSAV STA CODE /SAVE PARAMETER LDA CNTL1 STA PARM CLA STA ZIP BLF /POSITION FUNCTION CODE RBL,RBL CNTL3 EQU * ADB LU,I LDA CB11,I * IF THIS TASK IS LOCKING IOR CB12,I * IT'S DEVICE, LEAVE IT AND =B100000 * LOCKED FOR CONTROL REQS IOR B * STA CONWD * JSB MTO,I DEF *+6 DEF P03$ DEF CONWD DEF CODE PARM NOP DEF IPAR JSB ZRET CNTL1 DEF ZIP ZIP NOP * CNTLX EQU * NOP JSB ZSAV STA CODE JMP CNTL3 /PREP FOR 2 PARAMETERS SKP **************************************************** ******************************************************************************** **************************************************** * LU EQU * CB1 NOP TYPE EQU * CB2 NOP CB3 NOP CB4 NOP CB5 NOP CB6 NOP CB7 NOP CB8 NOP CB9 NOP CB10 NOP CB11 NOP CB12 NOP CB13 NOP CB14 NOP CB15 NOP CB16 NOP STP$ EQU * CB17 NOP SUPV EQU * CB18 NOP STPX EQU STP$-CB1+1 STPY EQU STPX+1 CONWD NOP CODE NOP SKP ******************************************************************************** * * PUSH SUBROUTINE - SAVE RETURN AND CB POINTERS,SET NEW * CB POINTERS * JSB PUSH * DEF *+3 * DEF X ADDRESS OF LAST SUBROUTINE ARGUMENT * DEF CB ADDRESS OF NEW CB ARRAY * ******************************************************************************** PUSH NOP LDB PUSH LDA B,I CMA,CLE,INA ADA PUSH / STA TEMP /SAVE NO. OF PARAMETERS LDA B,I STA PUSH /SAVE RETURN ADDRESS(PUSH) INB LDA B,I /GET SUBROUTINE RETURN * RAL,CLE,ERA /REMOVE INDIRECT BIT INA LDA A,I STA IRET /SAVE FOR PUSH DOWN INB LDA B,I /GET NEXT CB SETTING STA CBA4NXT JSB PUSHR /PUSH DOWN STACK LDA CBNXT LDB TEMP CPB N03$ /CHANGE CB IF 2 PARAMETERS JSB SETCB /SET NEW CB DEFINITIONS JMP PUSH,I TEMP NOP * * PUSHR NOP JSB SETAD /SET ADDRESS OF CB POINTERS LDB STP$,I /GET STACK POINTER INB CPB SMAX /CHECK FOR OVERFLOW JMP ABRT2 ADB CB1 /FORM ADDRESS LDA IRET STA B,I /SAVE RETURN INB LDA CBLOC STA B,I /SAVE CB ARRAY ISZ STP$,I ISZ STP$,I /INCR STACK POINTER JMP PUSHR,I SKP ******************************************************************************** * * POP SUBROUTINE * JSB POP * DEF *+1 * ******************************************************************************** POP NOP RTRN EQU POP JSB SETAD /SET ADDRESS OF CB POINTERS LDB STP$,I CPB SMIN /STACK EMPTY? JMP ABRT3 ADB CB1 LDA B,I STA CBNXT /GET CB ARRAY ADB N01$ LDA B,I /GET RETURN ADDRESS STA POPX SZA,RSS JMP ABRT4 LDA STP$,I ADA N02$ STA STP$,I /DECR STACK POINTER LDA CBNXT JSB SETCB /SET CB ARRAYS JMP POPX,I POPX NOP * SKP ******************************************************************************** * ALLOCATE DATA BLOCKS * JSB ALLOC * DEF *+3 * DEF BLOK# BLOCK # TO BE ALLOCATED * DEF POOL# BUFFER POOL #,0= RELEASE * ******************************************************************************** BLOK# NOP POOL# NOP ALLOC NOP JSB .ENTR DEF BLOK# JSB SAVAD LDA BLOK#,I /SAVE BLOCK NO. AND P01$ /INSURE 1 OR 2 SZA,RSS LDA P02$ STA CB13,I LDA POOL#,I /SAVE POOL NO. STA CB14,I SZA,RSS /RELEASE? JMP ALLC1 /YES ALLC2 JSB GBUF /NO-REQUEST BUFFERF DEF *+3 DEF CB15,I DEF CB14,I LDB CB15,I CPB N01$ /AVAILABLE? JMP ALLC3 /NO-GO PAUSE JSB BLKAD /YES CALCULATE BLOCK PARAM. ADDR. STA B,I /SAVE ADDRESS INB LDA CB15,I ALF,ALF IOR CB14,I /FORM ID + POOL TYPE STA B,I /SAVE POOL TYPE ALLCX EQU * /RETURN JSB POP * ALLC1 EQU * JSB BLKAD /CALCULATE BLOCK PARAM. ADDR. CLA STA B,I /CLR ADDRESS INB LDA B,I AND RBYT$ STA ALLC5 /SAVE POOL TYPE LDA B,I ALF,ALF AND RBYT$ STA ALLC4 /SAVE ID CLA STA B,I /CLR POOL TYPE JSB PBUF DEF *+3 DEF ALLC4 DEF ALLC5 JMP ALLCX ALLC4 NOP ALLC5 NOP * ALLC3 EQU * JSB PAUZ /PAUSE TILL BUFFER AVAIL. DEF *+1 JMP ALLC2 /(NOTE) PAUZ SETS UP CB POINTERS * BLKAD NOP LDB CB13,I BLS ADB CB4 ADDRESS OF BLOCK PARAM. JMP BLKAD,I * * SKP ******************************************************************************** * * PAUSE SUBROUTINE * ******************************************************************************** PAUZ NOP JSB .ENTR DEF PAUZ JSB SAVAD JSB MTO,I DEF *+6 DEF P01$ DEF P63$ DEF P01$ DEF P01$ DEF IPAR JSB POP P63$ DEC 63 * SKP ******************************************************************************** * * SPLIT SUBROUTINE * JSB SPLIT * DEF *+4 * DEF LU LOGICAL UNIT OF NEW THREAD * DEF BLOK# BLOCK # TO BE ATTACHED TO NEW THREAD * DEF NWRDS NO. OF WORK BLOCK WORDS TO PASS * JMP CONT PARENT THREAD RETURNS HERE * --- NEW THREAD STARTS HERE * ******************************************************************************** S1 NOP LU OF NEW THREAD RS2 NOP BLOCK TO ATTACH S3 NOP # OF WORK BLOCK WORDS TO PASS * SPLIT NOP JSB .ENTR DEF S1 JSB SAVAD LDA S1,I /SAVE LU STA CB14,I LDA S2,I /SAVE BLOCK # AND P03$ /ALLOW 0-3 ONLY STA CB13,I LDA SPLIT /SAVE RETURN ADDRESS INA STA CB15,I LDA S3,I /SAVE # OF WB WORDS STA CB16,I * SPLT1 EQU * CLA STA CB3,I /CLEAR FLAG LDA ICBX1 /CALCULATE START OF CB'S MPY CBL ADA ICBP STA B LDA ICBX1 INA SPLT4 STA PIPAR /SET PENDING IPAR LDA B,I CPA CB14,I /LU MATCH? JMP SPLT2 /YES SPLT3 EQU * LDA PIPAR CPA ICBX2 /END OF CB'S JMP SPLT5 /YES INA ADB CBL /NO-CHECK NEXT CB JMP SPLT4 SPLT5 LDA CB3,I SZA,RSS /ANY LU'S MATCH? JSB RTRN /NO-RETURN JSB PAUZ /YES-WAIT FOR IT DEF *+1 JMP SPLT1 * SPLT2 EQU * ISZ CB3,I /INDICATE MATCHING LU STB BASE /SAVE POTENTIAL NEW CB ADB P02$ LDA B,I SZA,RSS /CB BUSY? JMP SPLT6 /ON ADB N02$ /YES-RESUME SEARCH JMP SPLT3 SPLT6 EQU * LDA IPAR STA B,I /SET CB BUSY STA CB3,I INB LDA B,I /SAVE WB ADDRESS STA CB14,I LDA CB13,I /CALCULATE ADDRESS OF BLOCK PARAMETERS SZA,RSS /ANY DATA BLOCKS TO TRANSFER? JMP SPLT9 /NO ADB P02$ /YES-OFFSET TO CB6 CPA P02$ /MOVING DB2 ONLY? ADB P02$ /YES-OFFSET TO CB8 STB PTR /SAVE DESTINATION POINTER LDB N02$ /PRIME FOR 1 DATA BLOCK CPA P03$ /BOTH? LDB N04$ /YES-INDICATE 4 WORDS TO MOVE STB CB13,I /SET MOVE COUNT LDB CB6 /DETERMINE SOURCE ADDRESS CPA P02$ /MOVING DB2 ONLY? ADB P02$ /YES-OFFSET TO CB8 JSB SPLTM /MOVE ADDRESS ISZ CB13,I /DONE? JMP *-2 /NO SPLT9 EQU * LDA CB16,I SZA,RSS /WORK BLOCK TRANSFER? JMP SPLTA /NO CMA,INA /YES-SET LOOP COUNT STA CB16,I LDB CB4,I /GET ADDRESS OF WB(PARENT) LDA CB14,I /GET WORK BLOCK(NEW) STA PTR SPLTB EQU * LDA B,I /MOVE STA PTR,I INB ISZ PTR ISZ CB16,I /DONE? JMP SPLTB /NO-MOVE NEXT WORD SPLTA EQU * LDA BASE /MODIFY POINTERS FOR NEW CB STA CB1 ADA N01$ ADA SMIN STA STP$ LDA CB15,I STA IRET LDA SPLT7 STA PUSHR JMP PUSHR+2 /PUT NEW CB RETURN ON STACK SPLT7 DEF *+1 LDA PIPAR /SET POINTER TO PENDING VALUE STA IPAR JSB MTO,I DEF *+7 DEF P01$ DEF PWAIT DEF P01$ DEF P01$ DEF IPAR DEF SPLT8 LDA CB3,I /RESTORE POINTER STA IPAR LDA PIPAR /SET NEW THREAD IN PARENT STA CB3,I JSB POP /RETURN SPLT8 EQU * DEF *-1 * PWAIT OCT 20077 * SPLTM NOP LDA B,I /GET PARENT VALUE STA PTR,I /SAVE ON NEW CB ISZ PTR CLA /CLR PARENT STA B,I INB JMP SPLTM,I * SKP * * RELEASE CONTROL BLOCK * RLSCB NOP JSB ALLOC /RELEASE DATA BLOCK 1 DEF *+3 DEF P01$ DEF P00$ JSB ALLOC /RELEASE DATA BLOCK 2 DEF *+3 DEF P02$ DEF P00$ CLA STA CB3,I /INDICAT NOT BUSY LDA CB2,I /INSURE LOGGING OFF. AND RBYT$ STA CB2,I SUSP JSB MTO,I /SUSPEND DEF *+2 DEF P53$ P53$ DEC 53 SKP ******************************************************************************** ******************************************************************************** * SAVAD NOP LDB SAVAD ADB N04$ 2] LDA B,I STA IRET JSB PUSHR JMP SAVAD,I * * * SET CONTROL BLOCKS * SETCB NOP STA CBLOC /SET CB ARRAY LOCATION JSB SETAD /SET ADDRESS OF CB POINTERS LDB CBLOC ADB N01$ /ADJUST TO ARRAY POINTER LDA CB1 STA B,I /SET CB ARRAY ADB P02$ LDA CB4,I STA B,I /SET WB ARRAY ADB P02$ LDA CB6,I STA B,I /SET DB#1 ARRAY ADB P02$ LDA CB8,I STA B,I /SET DB#2 ARRAY JMP SETCB,I * * SETAD EQU * NOP JSB STAT /GET STATUS CCA ADA IPAR /CALCULATE ADDRESS OF CB MPY CBL ADA ICBP LDB CBX /INITIALIZE LOOP STB PTR LDB CBTL SETA1 STA PTR,I /SET ADDRESSES ISZ PTR INA INB,SZB JMP SETA1 JMP SETAD,I CBX DEF CB1 * * INTERNAL SAVE/RESTORE RETURN ADDRESSES * ZSAV NOP STB ZSAVB LDB ZSAV ADB N02$ LDB B,I STB SUPV,I LDB ZSAVB JMP ZSAV,I * ZRET NOP JSB SETAD LDB SUPV,I STB ZRET JMP ZRET,I ZSAVB NOP * * * STAT NOP LDA IPAR STA PSTAT /SAVE CURRENT THREAD JSB MTO,I DEF *+6 DEF P79$ DEF ISTAT DEF IPAR DEF ILU DEF ILOG LDA IPAR LDB PSTAT SZA,RSS /THREAD =0? STB IPAR /YES-RESTORE PREVIOUS THREAD LDA IPAR SZA,RSS JMP ABRT5 JMP STAT,I PSTAT NOP P79$ DEC 79 .STAT EQU STAT SKP ******************************************************************************** * * THREAD ABORT ROUTINES * ******************************************************************************** ABRT5 JSB ABORT /ILLEGAL THREAD ID (0) ABRT4 JSB ABORT /RETURN ADDRESS=0 ABRT3 JSB ABORT /STACK UNDERFLOW ABRT2 JSB ABORT /STACK OVERFLOW ********************************** *($********************************************** ABRTX DEF *+2 ABORT NOP LDA ABORT CMA,INA ADA ABRTX ADA =B30060 /OUTPUT NAME:XX AB LDB =B40502 /XX=ERROR TYPE JSB ERR0 JMP SUSP CBTL ABS -STPY SMIN ABS STPX SMAX EQU CBL PTR NOP PIPAR NOP CBLOC NOP IRET NOP CBNXT NOP BASE NOP * * BASE PAGE CONSTANTS * # EQU 53B N01$ EQU #-1 N02$ EQU #-2 N03$ EQU #-3 N04$ EQU #-4 N05$ EQU #-5 N06$ EQU #-6 N07$ EQU #-7 N08$ EQU #-8 N09$ EQU #-9 N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 M3777 EQU #+19 OCT 3777 M1777 EQU #+20 OCT 177700 CLEAR EQU P00$ OPENL EQU P02$ LCLOS EQU P03$ RWND EQU P04$ RWNDX EQU P05$ DSTAT EQU P06$ LDR EQU P08$ TOF EQU P09$ END :: :CO MOUNT TAPE #8, TYPE :GO :PA *   24342-18008 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC04,5 ASMB,L,C NAM STRT!,7 HED ***TCS UTILITIES (STRT!) - 9/74*** ENT STRT! EXT CB$,CNFIG EXT EXEC EXT GBUF EXT ERR0 EXT CNFGX * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 STRT! NOP LDA B,I STA CBLOK INB LDA B,I STA SYST /SAVE CONFIGURATION ADDRESS INB LDA B,I STA RTRN /SAVE RETURN ADDRESS (MAIN) INA STA RTRN1 /SAVE RETURN ADDRESS(THREAD) INB LDA B,I STA POPR /SAVE ADDRESS OF JSB POP IN MAIN INB LDA B,I STA START /SAVE ADDRESS OF CB PARAMETERS LDA SYST,I /GET JSB TCS/MTO AND =B101777 /ISOLATE BASE PAGE LINK STA MTO /SAVE FOR LOCAL CALLS JSB CNFGX /ENABLE EQT EXTENSION LOGGING DEF *+2 EQTX DEF EQT JSB CNFIG /CONFIGURE SYSTEM DEF *+4 SYST DEF * LUPTR DEF LUT DEF LUCNT * JSB MTO,I DEF *+3 DEF P79$ DEF ISTAT LDA ISTAT SZA OK? JMP ABRT NO. JSB MTO,I DEF *+6 DEF P78$ DEF ISTAT DEF IPAR DEF ILU DEF ILOG * LDA CB$X AND =B77777 LDB A,I /GET ADDRESS OF CB PARAMETERS ADB =B3 /BYPASS SEGMENT NAME LDA B,I STA ICBX1 /SAVE # OF ONLINE DEVICES INB LDA B,I STA ICBX2 /SAVE # OF OFFLINE DEVICES INB LDA B,I CPA LUCNT /ALL UNITS INITIALIZED? RSS /YES JMP ABRT /NO-ABORT INB LDA B,I STA START,I /SAVE LENGTH OF CONTROL BLOCK STA CBL ISZ START LDA MTO /SAVE MTO/TCS LINKAGE STA START,I INB LDA B,I STA BASE ISZ START STA START,I /SAVE CB START LDA ICBX1 ISZ START STA START,I /SAVE IN UTIL ROUTINE ISZ START LDA ICBX2 STA START,I * LDA P01$ STA IPAR * STRT2 LDB BASE LDA LUPTR,I /GET LU SSA /PRIVILEGED DEVICE? JMP STRT5 /NO ADA =B141000 /TYPE+302 RSS STRT5 EQU * JSB FIND /FIND TYPE FOR NON-PRIVILEGED DEV LDB BASE STA TEMP AND =B77 STA B,I /SAVE LU ON CB LDA TEMP ALF,ALF /POSITION TYPE AND =B377 /ISOLATE TYPE INB STA B,I /SAVE ON CB ADB =D2 STB TEMP /SAVE WB PARAMETER ADDRESSES INB STB G1 * JSB GBUF /GET WORK BLOCK DEF *+3 G1 DEF * G2 DEF P01$ STA TEMP,I LDA G1,I SSA /GOT ONE? JMP ABRT /NO. ALF,ALF IOR P01$ STA G1,I LDB BASE ADB =D9 LDA EQTX,I /GET EQT EXTENSION STA B,I /SAVE IN CB10 INB ISZ EQTX LDA =B400 /SET CONTROL WORDS IN CB11 & CB12 STA B,I INB STA B,I * LDB BASE LDA CBLS ADB A /CALCULATE STACK PTR ADDRESS INA STA B,I /INDICATE NO ENTRIES ADA =D2 STA TEMP LDA IPAR CMA,INA ADA ICBX1 SSA /ONLINE DEVICE? JMP STRT1 /NO STRT4 LDA TEMP /YES STA B,I /PUT ONE ENTRY IN STACK ADB =D2 LDA RTRN1 STA B,I LDA CBLOK INB STA B,I * JSB MTO,I DEF *+7 DEF P01$ DEF NWAIT DEF P01$ DEF P01$ DEF IPAR DEF POPR STRT3 LDA BASE /UPDATE CB ADDR ADA CBL STA BASE ISZ LUPTR /INCR LU TABLE PTR ISZ IPAR /INCR THREAD LDA IPAR CMA,INA ADA ICBX2 SSA,RSS /DONE? JMP STRT2 /NO JSB MT O,I DEF *+2 DEF P53$ MTO DEF * POPR DEF * CB$X DEF CB$ ICBX1 NOP ICBX2 NOP ICBP NOP * * STRT1 EQU * LDA IPAR CPA ICBX2 /LAST CB? RSS /YES JMP STRT3 /NO LDA RTRN /CHG RETURN FOR MAIN THREAD STA RTRN1 JMP STRT4 ABRT EQU * JSB EXEC DEF *+5 DEF P02$ DEF P01$ DEF INER DEF P09$ JSB EXEC DEF *+2 DEF COMP COMP DEC 6 **************************************************** FIND EQU * NOP LDA LUPTR,I CMA,INA STA LU CPA =B1 /CONSOLE JMP FIND1 /YES CPA =B77 /NO-DUMMY? JMP FIND2 / YES JSB EXEC /GET DRIVER TYPE DEF *+4 DEF P13$ DEF LU DEF ISTAT LDA ISTAT ALF,ALF AND =B77 STA ISTAT LDB TYPE FIND4 LDA B,I AND =B77 /MASK DRIVER TYPE CPA ISTAT /MATCH? JMP FIND3 /YES INB /NO CPB ENDT /END OF LIST? RSS /YES-DEFAULT TO TERMINAL JMP FIND4 NO-KEEP LOOKING FIND2 LDB TYPE FIND3 LDA B,I RAL,RAL /POSITION DEVICE TYPE AND =B177700 /FORM NEW TYPE/LU WORD IOR LU JMP FIND,I FIND1 LDA =B30000 /SYSTEM CONSOLE JMP FIND3+1 **************************************************** **************************************************** TYPE DEF *+1 OCT 30100 /00 TERMINAL OCT 21301 /01 READER OCT 11402 /02 PUNCH OCT 30005 /05 SYSTEM CONSOLE OCT 31507 /07 READER / PUNCH OCT 21311 /11 READER OCT 11212 /12 PRINTER OCT 11414 /14 PUNCH OCT 21315 /15 READER OCT 31123 /23 MAGTAPE OCT 30126 /26 TERMINAL OCT 11427 /27 PRINTER OCT 31031 /31 DISC OCT 31667 /67 HSI ENDT DEF * **************************************************** LU NOP NWAIT OCT 20077 P01$ DEC 1 P02$ DEC 2 P09$ DEC 9 P13$ DEC 13 P53$ DEC 53 P78$ DEC 78 P79$ DEC 79 CBLOK NOP START NOP RTRN NOP RTRN1 NOP CBL NOP CBLS DEC 16 /CB LENGTH W/O STACK -2 BASE NOP TEMP NOP LUCNT NOP LUT BSS 256 EQT BSS 256 INER ASC 9,INIT ERROR (ABORT) END :: :ST,S,$TC05,5 ASMB,L,C NAM JOIN,7 HED ***TCS UTILITIES (JOIN) - 9/74*** ENT JOIN EXT PUSH,POP,PAUZ,START EXT .ENTR * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR NOP JOIN NOP JSB .ENTR DEF JOIN JSB PUSH /PUT RETURN ON STACK DEF *+3 DEF JOIN-1 DEF CB LDA IPAR LDB CB-1 ADB P02$ /CALCULATE CB2 CMA,INA ADA B,I /CALCULATE DIFF. BETWEEN THREADS TO BE JOINED MPY START / ADA CB-1 FORM ADDRESS OF OTHER CB ADA P02$ LDB A,I SWP IOR =B100000 /SET FLAG STA B,I /ON OTHER CB JOINX EQU * JSB PAUZ /WAIT FOR OTHER CB DEF *+1 LDB CB-1 ADB P02$ /CALCULATE ADDR OF CB3 LDA B,I SSA,RSS /FLAG SET JMP JOINX /NO RAL,CLE,ERA /YES-CLEAR FLAG STA B,I JSB POP /RETURN TO CALLER NOP CB BSS 7 A EQU 0 B EQU 1 P02$ DEC 2 END :: :ST,S,$TC06,5 ASMB,L,C NAM PCODE,7 HED ***TCS UTILITIES (PCODE) - 9/74*** ENT PCODE A EQU 0 B EQU 1 ******************************************************************************** * * * PCODE SUBROUTINE - ALLOWS CORE TO CORE USE OF FORMATTER * ORIGINAL CALLING SEQ. * * JSB PCODE * DEF *+2 * LDA PTR * CLB * JSB .DIO. * * MODIFIED CALLING SEQ. * * JSB PCODE * DEF PTR-1 * CLB * JSB .DIO. * DEF PTR * w& * ******************************************************************************** PCODE NOP LDA PCODE INA CPA PCODE,I /FIRST TIME THRU? JMP PCOD1 /YES LDB PCODE /NO LDA B,I LDA A,I ADB P03$ STA B,I ISZ PCODE CLA JMP PCODE,I PCOD1 EQU * LDB PCODE,I LDA B,I /GET LDA PTR[,I] STA INST AND =B101777 STA BASE /SAVE I + 10BIT ADDR STB A AND =B76000 STA PAGE /SAVE UPPER 5 BITS LDA INST AND =B2000 SZA /CURRENT/BASE PAGE? LDA PAGE /CURRENT IOR BASE RSS LDA A,I RAL,CLE,SLA,ERA JMP *-2 ADA N01$ LDB PCODE STA B,I /SET POINTER TO ARRAY IN CALLING SEQ. ADB N01$ STB PCODX /SET RETURN ADB P02$ STB PCODE INB LDA B,I /CHANGE STA PCODE,I /FROM---LDA PTR[,I] ISZ PCODE CLB INB JSB .DIO. LDA B,I /TO ---CLB STA PCODE,I JSB .DIO. JMP PCODX,I DEF PTR PCODX NOP * BASE NOP PAGE NOP INST NOP N01$ EQU 52B P02$ EQU 55B P03$ EQU 56B END :: :ST,S,$TC07,5 ASMB,L,C NAM ARRAY,7 HED ***TCS UTILITIES (ARRAY) - 9/74*** ENT ARRAY EXT .ENTR A EQU 0 B EQU 1 * ARRAY DEFINITION * SUBROUTINE REDEFINES DUMMY ARRAY X TO BE ARRAY Y * (DYNAMIC EQUIVALENCE) * JSB ARRAY * DEF *+3 * DEF X * DEF Y * * EXAMPLE * CALL ARRAY(X,Y(1,5)) * X(3)=A+B+C * * X(3) IS ACTUALLY Y(3,5) * ALL REFERENCES TO X MUST BE SUBSCRIPTED, UNLESS USED * IN A READ/WRITE STATEMENT PRECEDED BY A PCODE CALL. NOP NOP ARRAY NOP JSB .ENTR DEF ARRAY-2 CCA ADA ARRAY-2 LDB ARRAY-1 STB A,I JMP ARRAY,I END :: :ST,S,$TC08,5 ASMB,L,C NAM .TAPE,7 HED ***TCS UTILITIES (.TAPE) - 9/74*** ENT .TAPE EXT .ENTR EXT PUSH,POP,TCNTL A EQU 0 B EQU 1 * * THIS ROUTINE IS CALLED BY FORTRAN COMPILED PROGRAMS * WHICH USE TAPE COMMANDS. * REWIND * BACKSPACE * ENDFILE * NOP .TAPE NOP AND MASK STA FUNCT JSB PUSH DEF *+2 DEF .TAPE-1 JSB TCNTL DEF *+4 DEF FUNCT DEF P00$ DEF * JSB POP MASK OCT 7700 FUNCT NOP P00$ EQU 53B END :: :ST,S,$TC09,5 ASMB,L,C NAM ERR0,7 HED ***TCS UTILITIES (ERR0) - 9/74*** ENT ERR0 EXT .MTO ERR0 NOP STA TEXT+5 STB TEXT+7 LDA .MTO STA MTO /LINK WITH TCS/MTO * EXPG EQU 141B * LDA EXPG STA TEXT+1 LDA EXPG+1 STA TEXT+2 LDA EXPG+2 AND 75B IOR =B40 STA TEXT+3 JSB MTO,I DEF *+7 DEF P02$ DEF NWAIT DEF TEXT DEF N16$ DEF P00$ DEF ERR0 JSB MTO,I DEF *+2 DEF P53$ NWAIT OCT 20001 TEXT ASC 5, : ASC 3, # EQU 53B P01$ EQU #+1 P02$ EQU #+2 N16$ DEC -16 P00$ EQU # P53$ DEC 53 MTO NOP END :: :ST,S,$TC10,5 ASMB,L,C NAM GDISC,7 HED ***TCS UTILITIES (GDISC) - 4/75*** ENT GDISC ENT NDISC EXT EXEC,PAUZ,PUSH,POP,.ENTR EXT .RST * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(128) XIF COM ISTAT,IPAR,ILU,ILOG A EQU 0 B EQU 1 * * GDISC NOP LDA GDISC /SAVE RETURN STA CDISC JSB COMM GDSC2 JSB FIND /FIND AVAILABLE TRACK JMP GDSC1 /ALL BUSY GDSC3 LDA CTRAK /GOTONE ALF,ALF STA PARM2,I /RET TRACK TO USER LDA N01$ /FLAG AS BUSY STA B,I GDSC4 CLA LDB .RST STA B,I JSB POP GDSC1 JSB NFIND /INDICATE NO FIND JSB PAUZ /WAIT FOR A FREE TRACK DEF *+1 JSB RSTR /RESTOR PARAMETERS JMP GDSC2 /RESUME SEARCH * * NDISC NOP LDA NDISC /SAVE RETURN STA CDISC JSB COMM JSB STPTR /SET POINTERS JSB NEXT /GET NEXT SECTOR RSS /END OF TRACK JMP GDSC4 SEZ /ALLOCATE JMP NDSC1 /NO NDSC3 EQU * JSB FIND /YES-FIND AVAILABLE TRACK JMP NDSC2 /ALL BUSY LDA CTRAK ALF,ALF IOR PTR,I /MERGE NEW TRACK W/LLD TRACK STA PTR,I JMP GDSC3 NDSC1 LDA PTR,I AND LBYT$ STA PARM2,I LDA PARM1,I AND P04$ CLB SZA /FREE? STB PTR,I /YES-CLEAR BUSY LDA PARM2,I SZA,RSS /LAST TRACK? NDSC4 EQU * LDB N01$ /YES LDA .RST STB A,I JSB POP NDSC2 JSB NFIND /INDICATE NO FIND JSB PAUZ /WAIT FOR FREE TRACK DEF *+1 JSB RSTR /RESTOR PARAMETERS JMP NDSC3 * * COMM NOP JMP INIT /GET WORK AREA LIMITS JMP CDISC+1 PARM1 NOP PARM2 NOP CDISC NOP JSB .ENTR DEF PARM1 JSB PUSH /PUT RETURN ON STACK DEF *+3 DEF PARM2 DEF CB+1 LDB CB /SAVE PARAMETERS ON CONTROL BLOCK ADB =D12 LDA PARM1 STA B,I INB LDA PARM2 STA B,I JMP COMM,I * INIT CLA STA COMM+1 /CALL AT INITIALIZE ONLY JSB EXEC /GET LIMITS DEF *+6 DEF P17$ DEF FTRAK DEF LTRAK DEF MSCTR DEF P00$ SYSSC ONLY! KM JMP COMM+1 * FIND NOP LDB FTRAK /SEARCH FROM 1ST TRACK FIND1 STB CTRAK ADB DMAP /CALCULATE DISC MAP ADDRESS LDA B,I SZA,RSS /TRACK AVAILABLE? h JMP FINDX /YES LDB CTRAK /NO INB CPB LTRAK /END OF WORK AREA? JMP FIND,I /YES JMP FIND1 /NO FINDX ISZ FIND JMP FIND,I * NEXT NOP LDA PTRC,I /GET TRACK/SECTOR WORD INA /INCR. SECTOR AND RBYT$ CPA MAX MAX VALUE? JMP NEXT,I /YES ISZ PTRC,I /NO-UPDATE SECTOR COUNT IN CORE ALF,ALF IOR CTRAK /MERGE WITH CURRENT TRACK ALF,ALF /RESTORE TRACK/SECTOR POSITION STA PARM2,I /RETURN TO USER NEW VALUE ISZ NEXT /INDICATE SAME TRACK JMP NEXT,I STPTR NOP LDA PARM2,I /SETUP POINTERS ALF,ALF AND RBYT$ ISOLATE TRACK STA CTRAK ADA DMAP /CALCULATE ADDR. OF DISC MAP ENTRY STA PTR LDA PARM1,I AND P02$ SZA /ALLOCATE? JMP SPTR1 /NO-CHAIN CLE /CLEAR FLAG LDB PTR /SET UP FOR TRACK ALLOCATION LDA MSCTR SPTR2 STA MAX STB PTRC LDA PTR,I CPA N01$ /FIRST ACCESS? RSS /YES JMP STPTR,I /NO CLA SEZ /YES-ALLOCATE? JMP NDSC4 /NO-END OF TRACK STA PTR,I /YES-ADJUST SECTOR JMP STPTR,I SPTR1 CCE /SET FLAG LDB PARM2 /SETUP FOR TRACK CHAIN LDA PTR,I AND RBYT$ INA JMP SPTR2 NFIND NOP LDA N01$ /NO FIND IN STATUS LDB .RST STA B,I LDA PARM1,I SLA /WITHOUT WAIT JSB POP /YES-RETURN JMP NFIND,I /NO * * RSTR NOP LDB CB ADB =D12 /RESTOR PARAMETERS LDA B,I STA PARM1 INB LDA B,I STA PARM2 JSB STPTR JMP RSTR,I * PTR NOP FTRAK NOP LTRAK NOP CTRAK NOP MSCTR NOP PTRC NOP MAX NOP P00$ NOP KM P02$ DEC 2 P04$ DEC 4 P16$ DEC 16 P17$ DEC 17 N01$ DEC -1 LBYT$ OCT 1774,S64000 RBYT$ OCT 377 CB DEF *+1 BSS 7 DMAP DEF *+1 BSS 256 * END :: :ST,S,$TC11,5 ASMB,L,C NAM BLANK,7 HED ***TCS UTILITIES (BLANK) - 9/74*** ENT BLANK EXT .ENTR ADDR NOP COUNT NOP BLANK NOP JSB .ENTR DEF ADDR LDB COUNT,I CMB,INB LDA =B20040 STA ADDR,I ISZ ADDR INB,SZB JMP *-3 JMP BLANK,I END :: :ST,S,$TC12,5 ASMB,L,C NAM LNGTH,7 HED ***TCS UTILITIES (LNGTH) - 9/74*** ENT LNGTH EXT .ENTR ADDR NOP SIZE NOP LNGTH NOP JSB .ENTR DEF ADDR CCB ADB ADDR ADB SIZE,I /CALCULATE LAST WORD OF ARRAY LDA SIZE,I CMA,INA /FORM NEG. COUNT STA SIZE LNGT1 LDA B,I CPA =B20040 /BLANKS? JMP LNGT2 /YES LDB SIZE /NO CMB,INB /CONVERT TO POSITIVE COUNT RBL /X2 FOR CHARACTERS AND =B377 CPA =B40 /LAST ONE A BLANK ADB =D-1 YES-DECREMENT COUNT STB A JMP LNGTH,I /RETURN WITH ANSWER IN A LNGT2 EQU * ADB =D-1 BACK UP POINTER ISZ SIZE DONE? JMP LNGT1 /NO CLA /YES JMP LNGTH,I A EQU 0 B EQU 1 END :: :ST,S,$TC13,5 ASMB,L,C NAM ENDO,7 HED ***TCS UTILITIES (ENDO) - 9/74*** ENT ENDO EXT .ENTR J NOP K NOP L NOP ENDO NOP JSB .ENTR DEF J LDA J,I ADA L,I /INCR INDEX STA J,I CMA,INA ADA K,I /FORM DIFF. BETWEEN INDEX AND TARGET AND =B100000 /MASK FOR LOGICAL JMP ENDO,I END :: :CO MOUNT TAPE #9, TYPE :GO :PA e6   24342-18009 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 8:ST,S,$TC14,5 ASMB,L,C NAM CNFIG,6 HED ***TCS UTILITIES (CNFIG) - 9/74*** ENT CNFIG ENT CNFGX REVB EXT .ENTR EXT EXEC REVB * CONFIGURATION SUBROUTINE (REV B) * REV B SUPPORTS MULTIPLE LOGICAL DRIVE*S,AS SPECIFIED * BY THE CONFIGURATION TABLE. * PROVIDES AN ADDITIONAL ENTRY POINT * FOR SPECIFYING AN ARRAY TO HOLD THE * ADDRESS OF THE EQT EXTENSIONS. * THE NEW ENTRY POINT CNFGX MUST BE * CALLED PRIOR TO CALLING CNFIG * * CALLING SEQUENCE * JSB CNFGX REVB * DEF *+2 REVB * DEF EQTX ADDRESS OF ARRAY REVB * * JSB CNFIG * DEF *+2 * DEF TBL CONFIGURATION TABLE * DEF LUT LOGICAL UNIT TABLE * DEF CNT COUNT OF LU'S INITIALIZED * XTBL NOP REVB CNFGX EQU * REVB NOP REVB JSB .ENTR REVB DEF XTBL REVB CLA REVB STA XON ENABLE LOGGING EXT'S REVB JMP CNFGX,I REVB TBL NOP LUT NOP CNT NOP CNFIG NOP JSB .ENTR DEF TBL LDA MDFLG REVB STA SAVE SAVE PRIVILEGED MODE REVB CLA REVB JSB STOR CLR FLAGS DURING CNFIGREVB CLA STA CNT,I CLEAR COUNT LDA TBL STA PQD USE CONFIGURATION AS Q COUNTER LDA TBL,I SZA,RSS TCS JMP CNFG2 NO STA TCS1 YES-SET JSB TCS STA TCS2 STA TCS3 STA MTO1 ISZ TBL LDA TBL,I GET PENDING Q ADDRESS STA PQ ISZ TBL LDA TBL GET PEiNDING Q LENGTH STA PQL ISZ TBL LDA TBL,I GET SEGMENT ARRAY STA SG ISZ TBL LDA TBL GET # OF SEGMENTS STA SGL ISZ TBL LDA TBL,I GET SEGMENT DIRECTORY STA DR ISZ TBL TCS1 JSB * JSB TCS DEF *+8 DEF P82$ PQ DEF * PQL DEF * PQD DEF * SG DEF * SGL DEF * DR DEF * LDA TBL,I ISZ TBL SZA,RSS MTO FILE DIRECTORY? JMP TCS3 NO LDA TBL YEES-SET ADDRESS OF FILE DIRECTORY STA FILDR ADA =D-1 FORM ADDR OF NUMBER OF FILES STA FIL# LDA TBL,I RESET TABLE POINTER STA TBL MTO1 EQU * JSB * DEF *+4 DEF P31$ FIL# DEF * FILDR DEF * TCS3 EQU * JSB * DEF *+6 DEF P79$ STATUS CALL DEF STAT DEF IPAR DEF ILUN DEF LOG LDA STAT SZA,RSS GOOD STATUS JMP CNFG3 YES CLA NO STA CNFG7 NOP FURTHER TCS CALLS CNFG3 EQU * LDA TBL,I SZA,RSS FILES TO OPEN JMP CNFG4 NO LDA TBL YES STA FNAM SET FILE NAME ADA =D3 STA FNUM SET FILE # ADA =D1 STA TBL CNFG7 JMP *+2 JMP CNFG3 TCS2 JSB * JSB TCS DEF *+4 DEF P84$ FNAM DEF * FNUM DEF * JMP TCS3 P31$ DEC 31 CNFG4 EQU * ISZ TBL LDA TBL,I STA TBL JMP CNFG1 CNFG2 EQU * ISZ TBL JMP CNFG1 CNFG1 EQU * LDA TBL,I SZA,RSS END OF TABLE JMP SLCI YES-CHECK FOR SLC REVB SSA NON PRIVILEGED JMP CNFG5 YES LDB TBL NO ADA TBL STA TBL UPDATE POINTER STB EXT SAVE EXTENSION ADDRESS STB BASE REVB INB LDA B,I GET PARAMETER WORD STA X "BBATLL" AND =B77 STA LU SET LU LDA X ALF,ALF RAR AND =B177 STA LINE SET LINE "BBA" INB LDA B,I STA HXXXX INB REVB LDA B,I PICK UP JSB ATDXX REVB INB REVB LDB B,I GGET TYPE REVB BLF,BLF REVB STB TYPE REVB STA *+1 REVB JSB * CALL LOGICAL DRIVER REVB DEF *+5 DEF LU HXXXX NOP DEF LINE EXT NOP SZA JMP CNFG1 CNFG6 EQU * JSB LOG SAVE LU+EXT ADDRESS REVB JMP CNFG1 CNFG5 EQU * STA LU SAVE NEGATIVE LU ISZ TBL BUMP POINTER CLA REVB STA BASE REVB STA TYPE REVB JMP CNFG6 LOG NOP REVB LDA LU ADA TYPE REVB STA LUT,I ISZ LUT ISZ CNT,I NOP LDA BASE REVB XON JMP *+3 CHG TO NOP TO ENABLE LOG REVB STA XTBL,I REVB ISZ XTBL REVB JMP LOG,I REVB SLCI EQU * REVB ISZ TBL REVB LDA TBL,I REVB SZA,RSS SLC USED? REVB JMP RTRN REVB STA SLCL YES-SAVE JSB SLC REVB LDA =B1000 INDICAT TYPEVB STA TYPE #2 REVB ISZ TBL REVB SLC1 EQU * REVB LDA TBL,I REVB SZA,RSS END OF LIST? REVB JMP RTRN  REVB LDB TBL REVB ADA TBL REVB STA TBL MOVE TO NEXT ENTRY REVB STB BASE SAVE EXT ADDR REVB STB SLCB SAVE EXT ADDR REVB ADB =D4 REVB LDA B,I PICKUP LU REVB STA LU REVB SLCL JSB * JSB L REVB DEF *+3 REVB DEF LU REVB SLCB DEF * DEF EXT REVB SZA,RSS OK? REVB JSB LOG YES REVB JMP SLC1 CONTINUE REVB TYPE NOP REVB BASE NOP REVB RTRN EQU * REVB LDA SAVE REVB JSB STOR RESTORE MDFLG REVB JMP CNFIG,I REVB * STOR NOP REVB LDB MFLAG REVB JSB EXEC REVB DEF *+2 REVB DEF N19$ REVB JMP STOR,I REVB N19$ DEC -19 REVB MDFLG EQU 133B REVB MFLAG DEF MDFLG REVB SAVE NOP REVB * A EQU 0 B EQU 1 LU NOP LINE NOP X NOP P84$ DEC 84 P82$ DEC 82 P79$ DEC 79 STAT NOP IPAR NOP ILUN NOP END :: :ST,S,$TC15,5 ASMB,L,C NAM LOGIN,7 HED ***TCS UTILITIES (LOGIN) - 9/74*** ENT LOGIN EXT .ENTR,EXEC EXT .LOGA,.LOGP,.PRR,TCS EXT .STAT * * CONDITIONAL COMMON FOR IMAGE/2100 * IFZ COM IMAG1(1024),IMAG2(1),IMAG3(1175),IMAG4(1828) XIF COM ISTAT,IPAR ******************************************************************** * * INITIALIZE LOGGING * JSB LOGIN * DEF *+2 * DEF LU ******************************************************************** LGLU OCT 0 LOGIN NOP JSB .ENTR /GET LOG DEVICE LU# DEF LGLU LDA LGLU,I STA LGLU * JSB EXEC /OUTPUT PROMPT FOR ID DEF *+5 DEF P02$ DEF P01$ .FD DEF FD DEF P20$ * JSB EXEC /INPUT LOG TAPE ID DEF *+5 DEF P01$ DEF RCW DEF HEAD DEF P05$ * LDA LOGP /SET ADDR FD ENTRY ROUTINE STA .LOGP LDA LOGA /SET LOGGING ROUTINE ADDR STA .LOGA JMP LOGIN,I /RETURN SKP **************************************************** * * LOGP - SET FILE NAME * **************************************************** LOGP DEF LOGP1 LOGP1 NOP STB TEM1 /SAVE ADDR OF FILE NAME ADA N01$ /COMPUTE ENTRY ADDR MPY P03$ ADA .FD STA B LDA TEM1,I /SET FILE NAME (3 WORDS) STA B,I INB ISZ TEM1 LDA TEM1,I STA B,I INB ISZ TEM1 LDA TEM1,I AND LBYT$ IOR CUDSC /SET UD SBCHN,RBYTE,3RD WORD STA B,I JMP LOGP1,I /RETURN SKP **************************************************** * * THIS ROUTINE FORMATS THE LOGGING HEADER * AND OUTPUTS IT AND THE USER DATA TO THE * LOGGING DEVICE * **************************************************** C OCT 0 FILE # D OCT 0 REL SECT # E OCT 0 BUFFER ADDR F OCT 0 BUFFER LENGTH G OCT 0 LOCK LOG NOP JSB .ENTR GET PARAMS DEF C CCA STA G,I SET LOCK. * LDA C,I GET FILE # ADA N01$ MPY P03$ CALCULATE FILE NAME ADA .FD POSITION IN FILE TABLE * LDB A,I n STB FNAME MOVE FILE INA NAME AND LDB A,I USER DISC STB FNAME+1 SUBCHANNEL INA INTO HEADER LDB A,I BLOCK STB FNAME+2 * LDB 104B SET TIME IN STB TIME LDB 105B HEADER BUFFER STB TIME+1 * * LDB D,I SET REL SECTOR STB SECT IN HEADER BUFFER * LDB F,I SET BUFFER LENGTH IN STB LENG HEADER BUFFER * * NOW MAKE CALLS TO WRITE HEADER AND DATA * LOG1 EQU * JSB TCS DEF *+6 DEF P02$ DEF LGLU WRITE HEADER DEF HEAD DEF P13$ DEF IPAR JSB TEOT END OF TAPE? JMP LOG1 YES, DO IT AGAIN. * LOG2 EQU * JSB TCS DEF *+6 DEF P02$ DEF LGLU WRITE USER DATA BUFFER DEF E,I DEF F,I DEF IPAR JSB TEOT END OF TAPE? JMP LOG2 YES. * CLA NO, RETURN. STA G,I CLEAR LOCK. JMP LOG,I SKP **************************************************** * TEOT - AT END OF TAPE ON LOG DEVICE: * 1. BACKSPACE RECORD * 2. WRITE EXTENDED FILE GAP * 3. REWIND/OFFLINE * 4. OUTPUT MESSAGE TO OPERATOR * 5. WAIT IN DYNAMIC STATUS LOOP TILL * DEVICE GOES ON-LINE * * EXIT: P+2 - NO END OF TAPE * P+1 - END OF TAPE AND DEVICE IS BACK * **************************************************** * TEOT NOP JSB .STAT GET TCS STATUS. LDA ISTAT AND =B40 SZA,RSS END OF TAPE? JMP RET2 NO, RETURN P+2 * LDA LGLU AND M77$ GET LOG DEVICE LU#. STA LLU IOR =B200 STA LLUC JSB TTCS BACKSPACE LDA LLU IOR =B1200 STA LLUC JSB TTCS FILE GAP LDA LLU IOR =B500 STA LLUC JSB TTCS REWIND/STANDBY * * INFORM OPE*($RATOR * JSB EXEC DEF *+5 DEF P02$ DEF P01$ DEF MTPE DEF P18$ * * PAUSE TILL DEVICE ON-LINE * LDA LLU IOR =B600 STA LLUC LOG3 JSB TTCS DYNAMIC STATUS JSB .STAT GET TCS STATUS LDA ISTAT SLA ON-LINE? JMP LOG3 NO JMP RET1 YES,RETURN * RET2 ISZ TEOT RET1 JMP TEOT,I * * TCS CONTROL REQUEST * TTCS NOP JSB TCS DEF *+4 DEF P03$ DEF LLUC DEF IPAR JMP TTCS,I SKP **************************************************** * * MESSAGES, TABLES, CONSTANTS * **************************************************** * A EQU 0 B EQU 1 N01$ EQU 52B P01$ EQU 54B P02$ EQU 55B P03$ EQU 56B P05$ EQU 60B P06$ EQU 61B P13$ DEC 13 P15$ EQU 70B P18$ DEC 18 P20$ DEC 20 P53$ DEC 53 M77$ EQU 72B LBYT$ EQU 75B CUDSC EQU 161B RCW OCT 401 TEM1 OCT 0 LOGA DEF LOG LLUC OCT 0 LLU OCT 0 MTPE ASC 18,MOUNT NEXT LOG TAPE-PUT UNIT ONLINE * * FILE DIRECTORY (NAMES) * FD ASC 20,ENTER LOG TAPE IDENTIFIER(10 CHARS MAX) BSS 28 * * LOGGING HEADER * HEAD ASC 5, TIME BSS 2 DEC 15 FNAME ASC 3, SECT BSS 1 LENG BSS 1 END :: :CO MOUNT TAPE #10, TYPE :GO :PA [*   24342-18010 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC16,5 FTN4,L,T PROGRAM TCGEN C TERMINAL CONFIGURATION PROGRAM (TCS/B) - 9/74 C C REV B SUPPORTS MULTIPLE LOGICAL DRIVERS, SPECIFICALLY C ATD01 AND ATD02. TERMINALS SUPPORTED INCLUDE C 1) H2600 - HP 2600 C 2) H2615 - HP 2615 C 3) H2749 - HP 2749 C 4) H2762 - HP 2762 C 5) G1200 - GE TERMINET 1200 C 6) P2616 - HP 2616 PAGE MODE (PMT01) C 7) P2640 - HP2640 PAGE MODE (PMT02) C 8) H2640 - HP2640 CHAR. MODE (ATD01) C 9) H7260 - HP7260 GRENOBLE MS CARD READER C (ACR01) C C REV B ALSO SUPPORTS THE SYNCHRONOUS LINE CONTROL C PACKAGE AND TCS INITIALIZATION. C C C THIS PROGRAM GENERATES (WITH THE AID OF THE DOS ASSEMBLER) A C RELOCATABLE TABLE FOR USE WITH THE CONFIGURATION SUBROUTINE C "CNFIG". THE PROGRAM PROVIDES FOR OPERATION WITH TCS AND C ATD01. PARAMETER INPUT MAY BE FROM THE SYSTEM CONSOLE OR C FROM A BATCH DEVICE. THE PROGRAM REQUIRES THAT AN ASCII FILE C "C$$$1" BE SETUP FOR STORING THE SOURCE GENERATED. 50 SECTORS C SHOULD BE SUFFICIENT. C C TO OPERATE C :CL C :PR,TCGEN[,L] L=LOGICAL UNIT FOR INPUT,0 OR 1 FOR CONSOLE C C DIMENSION IBUF(3) DIMENSION IMAG(40),LABLE(3) DIMENSION LINK(6,9) DIMENSION LINKX(6,9) INTEGER ASMB(3),FNAME(3) INTEGER EXEC INTEGER FINDL INTEGER OPND(3),TERM(3) INTEGER ASCII(3) LOGICAL RBIN EQUIVALENCE (LINKX(1,1),LINK(4,1)) EQUIVALENCE(ASCII(1),IMAG(7)) EQUIVALENCE(LABLE(1),IMAG(1)) EQUIVALENCE(OPND(1),IMAG(6)) DATA ASMB/2HAS,2HMB,2H / DATA FNAME/2HC$,2H$$,2H1 / 901 FORMAT("ASMB,L") 902 FORMAT(6X,"NAM") 903 FORMAT(6X,"ENT") 904 FORMAT(6X,"EQU *") 905 FORMAT(6X,"DEC") 906 FORMAT(6X,"OCT") 920 FORMAT(6X,"BSS") 907 FORMAT(6X,"EXT") 908 FORMAT(6X,"END") 910 FORMAT("CONFIGURATION NAME=_") 911  FORMAT("TERMINAL USED=_") 912 FORMAT("LU=_") 914 FORMAT("HALF/FULL DUPLEX=_") 915 FORMAT("SECONDARY CHANNEL?_") 916 FORMAT("ECHO?_") 917 FORMAT("TRACE LENGTH=_") 918 FORMAT("TERMINAL TYPE=_") 919 FORMAT(6X,"DEF") 921 FORMAT(6X,"NOP") 922 FORMAT("TCS USED?_") 923 FORMAT("QUEUE LENGTH=_") 924 FORMAT("FILE NAME=_") 925 FORMAT("FILE NO.=_") 926 FORMAT("SEGMENT NAME=_") 927 FORMAT(6X,"EXT TCS") 928 FORMAT(6X,"JSB TCS") 929 FORMAT(6X,"DEF PQ$") 930 FORMAT(6X,"DEF SG$") 931 FORMAT(6X,"ABS S$") 932 FORMAT(6X,"DEF DR$") 933 FORMAT(6X,"ASC 3,") 934 FORMAT(6X,"DEF T") 935 FORMAT("PQ$ BSS") 936 FORMAT("SG$ EQU *") 937 FORMAT("S$ EQU") 938 FORMAT("DR$ BSS") 939 FORMAT("T EQU *") 940 FORMAT("PRIVILEGED TERMINAL?_") 941 FORMAT("SLC USED?_") 942 FORMAT("SLC") 943 FORMAT("ASCII/EBCDIC CODE?_") 944 FORMAT("CRC/VRC BLOCK CHECK?_") 945 FORMAT("HASP STATION?_") 946 FORMAT("SWITCHED LINE?_") 947 FORMAT("PRIMARY STATION?_") 948 FORMAT("SYNCHRONOUS?_") 949 FORMAT("MTO USED?_") 951 FORMAT("MTO") 950 FORMAT(2X,3A2,2X,"IS NOT DEFINED AS A TERMINAL") 952 FORMAT("GENERATE CONTROL BLOCKS?_") 953 FORMAT("ACTIVE CONTROL BLOCKS=_") 954 FORMAT("RESERVE CONTROL BLOCKS=_") 955 FORMAT("STACK LENGTH=_") 956 FORMAT("CB$") 957 FORMAT(6X,"DEF *+1") 958 FORMAT("MAX NO. OF FILES=_") 959 FORMAT(6X,"DEF *+",I6) 960 FORMAT("CHARACTER TRACE LENGTH=_") 961 FORMAT("EVENT TRACE LENGTH=_") 1000 FORMAT("H2600 ATD01 H2615 ATD01 H2749 ATD01 H2762 ATD01 ", * "G1200 ATD02 P2616 PMT01 P2640 PMT02 H2640 ATD01 ", * "H7260 ACR01 ") CALL RMPAR(IMAG) C----SET NUMBER OF DEVICES IN LINK ND = 9 C----FILL LINK TABLE WITH TERMINAL&DRIVER CALL CODE WRITE(LINK,1000) LU=IMAG(1) C----DEFAULT TO CONSOLE IF NO INPUT SPECIFIED IF(LU.EQ.0)LU=1 C----INITIALIZE SECTOR INDEX IX=0 C----CLEAR LU COUNT LUCNT=0 C----O&c/P ASMB,L CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,901) CALL LINE(IMAG,IX) C----I/P CONFIGURATION NAME IF(LU.NE.1)GOTO 110 WRITE(LU,910) 110 READ(LU,115)IBUF 115 FORMAT(3A2) C----O/P NAM XXXX,6 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,902) DO 116 J=1,3 IF(IBUF(J).EQ.2H )GOTO 117 IF(IAND(IBUF(J),377B).EQ.40B)GOTO 118 116 OPND(J)=IBUF(J) 119 CONTINUE CALL LINE(IMAG,IX) C----O/P ENT XXXX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,903) OPND(1)=IBUF(1) OPND(2)=IBUF(2) OPND(3)=IBUF(3) CALL LINE(IMAG,IX) C----O/P XXXX EQU * CALL FLUSH (IMAG,40) CALL CODE WRITE(IMAG,904) DO 120 J=1,3 120 LABLE(J)=IBUF(J) CALL LINE(IMAG,IX) C----CLEAR MTO FLAG MTFLG=0 C----MTO OPERATION? IF(LU.NE.1)GOTO 125 WRITE(LU,949) 125 IF(RBIN(2HNO,2HYE,LU))GOTO 126 C----O/P EXT MTO CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL CODE WRITE(OPND,951) CALL LINE(IMAG,IX) C----O/P JSB MTO CALL CODE WRITE(IMAG,928) CALL CODE WRITE(OPND,951) C----SET MTO FLAG MTFLG=1 GOTO 305 C----TCS OPERATION 126 CONTINUE IF(LU.NE.1)GOTO 300 WRITE(LU,922) 300 IF(RBIN(2HNO,2HYE,LU))GOTO 310 C----O/P EXT TCS CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL LINE(IMAG,IX) C----O/P JSB TCS CALL CODE WRITE (IMAG,928) 305 CALL LINE(IMAG,IX) C-----O/P DEF PQ$ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,929) CALL LINE(IMAG,IX) C----I/P QUEUE LENGTH 315 IF(LU.NE.1)GOTO 320 WRITE(LU,923) 320 READ(LU,*)LQ IF(LQ)315,315,325 325 CALL FLUSH(IMAG,40) C----O/P DEC N CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P DEF SG$ . CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,930) CALL LINE(IMAG,IX) C----O/P ABS S$ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,931) CALL LINE(IMAG,IX) C----O/P DEF DR$ CALL CODE WRITE(IMAG,932) CALL LINE(IMAG,IX) C----IF MTO GET FILE DIRECTORY SIZE IF(MTFLG.EQ.0)GOTO 326 328 IF(LU.NE.1)GOTO 327 WRITE(LU,958) 327 READ(LU,*)MTFLG IF(MTFLG.LT.0)GOTO 328 C----O/P DEC N (N=0 IF TCS) 326 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)MTFLG CALL LINE(IMAG,IX) C----O/P DEF *+6N+1 IF(MTFLG.EQ.0)GOTO 330 J=MTFLG*6+1 CALL CODE WRITE(IMAG,959)J CALL LINE(IMAG,IX) C----O/P BSS 6N J=J-1 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) C----I/P FILES TO BE OPENED 330 IF(LU.NE.1)GOTO 335 WRITE(LU,924) 335 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,933) READ(LU,115)ASCII IF(ASCII(1).EQ.2H/E)GOTO 350 CALL LINE(IMAG,IX) C----O/P ASC 6,ABCDE 345 IF(LU.NE.1)GOTO 340 WRITE(LU,925) 340 CALL FLUSH(IMAG,40) C----I/P FILE # READ(LU,*)NF IF(NF.LT.1)GOTO 345 IF(NF.GT.16) GOTO 345 C----O/P DEC F CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)NF CALL LINE(IMAG,IX) GOTO 330 C----O/P NOP 350 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----O/P DEF T CALL CODE WRITE(IMAG,934) CALL LINE(IMAG,IX) C----O/P PQ$ BSS LQ*9 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,935) LQ=9*LQ CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P SG$ EQU * CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,936) CALL LINE(IMAG,IX) NS=0 C----I/P SEGME$XNTS 360 IF(LU.NE.1)GOTO 365 WRITE(LU,926) 365 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,933) READ(LU,115)ASCII IF(ASCII(1).EQ.2H/E)GOTO 370 NS=NS+1 CALL LINE(IMAG,IX) C----O/P ASC 6,ABCDE GOTO 360 C----O/P S$ EQU NS 370 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,937) CALL CODE WRITE(OPND,180)NS CALL LINE(IMAG,IX) C----O/P DR$ BSS 11*NS NS=11*NS CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,938) CALL CODE WRITE(OPND,180)NS CALL LINE(IMAG,IX) C---O/P T EQU * CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,939) CALL LINE(IMAG,IX) GOTO 130 C----O/P NOP 310 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) GOTO 130 C----I/P TERMINAL USED 130 IF(LU.NE.1)GOTO 135 WRITE(LU,911) 135 CALL FLUSH(IBUF,3) READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E)GOTO 140 C----O/P EXT XXXX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,907) DO 136 J=1,3 136 OPND(J)=IBUF(J) CALL LINE(IMAG,IX) C----FIND TERMINAL IN LINK ARRAY J=FINDL(LINK,IBUF,ND) IF(J.NE.0)GOTO 131 WRITE(1,950)IBUF PAUSE GOTO 130 C----O/P EXT ATDXX C----IF ENTRY ALREADY FLAGGED BYPASS 131 IF(IAND(LINK(6,J),377B).NE.40B)GOTO 130 DO 132 K=1,3 KK=K+3 132 OPND(K)=LINK(KK,J) CALL LINE(IMAG,IX) C----FLAG ALL MATCHING ENTRIES 133 J=FINDL(LINKX,OPND,ND) IF(J.EQ.0)GOTO 130 LINKX(3,J)=LINKX(3,J)+1 GOTO 133 C----I/P LU 140 IF(LU.NE.1) GOTO 145 WRITE(LU,912) 145 READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E) GOTO 900 C----INCREMENT LU COUNT LUCNT=LUCNT+1 CALL CODE READ(IBUF,*)LUX CALL COMNT(1,LUX,1,IX) C-----TEST FOR PRIVILEGED TERMINAL IF(LU.NE.1)GOTO 143 WRITE(LU,940) 143 IF(RBIN(2HNO,2HYE,LU))GOTO 220 C----I/P TERnMINAL TYPE IF(LU.NE.1)GOTO 146 WRITE(LU,918) 146 CALL FLUSH(TERM,3) READ(LU,115)TERM CALL COMNT(2,TERM,3,IX) C----FIND TERMINAL IN LINK ARRAY JJ=FINDL(LINK,TERM,ND) IF(JJ.NE.0)GOTO 147 WRITE(1,950)TERM STOP 147 CONTINUE C----I/P BAUD RATE CALL IBAUD(LU,IBR,J) CALL COMNT(3,IBR,1,IX) IDUX=0 C----I/P HALF/FULL DUPLEX IF(LU.NE.1) GOTO 155 WRITE(LU,914) 155 IF(RBIN(2HFU,2HHA,LU))IDUX=4 C----I/P SECONDARY CHANNEL IF(LU.NE.1) GOTO 160 WRITE(LU,915) 160 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+2 C----I/P ECHO KK=6 IF(LU.NE.1)GOTO 165 IF(LINK(4,JJ).EQ.2HPM)GOTO 161 WRITE(LU,916) 165 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+1 IF(IAND(IDUX,4).EQ.4)CALL COMNT(4,1,1,IX) IF(IAND(IDUX,2).EQ.2)CALL COMNT(5,1,1,IX) IF(LINK(4,JJ).EQ.2HPM)KK=7 IF(IAND(IDUX,1).EQ.1)CALL COMNT(KK,1,1,IX) C----I/P TRACE LENGTH IF(LU.NE.1)GOTO 170 WRITE(LU,917) 170 READ(LU,*)ITRCE C----INSURE TRACE TABLE LENGTH IS MULTIPLE OF 4 ITRCE = (ITRCE/4)*4 ITRCE=ITRCE+27 C----EQT EXT LENGTH FOR ACR01 = 31 IF(LINK(4,JJ) .EQ. 2HAC) ITRCE=ITRCE+4 C----I/P DEC XX EXTENSION LENGTH CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)ITRCE 180 FORMAT(I6) CALL LINE(IMAG,IX) 195 IDUX=IDUX+(8*J) IDUX=LUX+(1000B*IDUX) C----O/P OCT BBA0LL (BB=BAUD RATE, A=LINE,LL=LU) CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IDUX 200 FORMAT(@6) CALL LINE(IMAG,IX) C----O/P DEC XXXX TERMINAL TYPE CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,919) DO 210 J=1,3 210 OPND(J)=TERM(J) CALL LINE(IMAG,IX) C----O/P JSB ATDXX 205 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,928) DO 206 K=1,3 KK=K+3 206 OPND(K)=LINK(KK,JJ) C----REMOVE FLAGjN*($ BIT OPND(3)=IOR(IAND(OPND(3),177400B),40B) CALL LINE(IMAG,IX) C---- O/P OCT TYPE C---- ASYNCH. TERMINAL = 0 IF(OPND(1).EQ.2HAT)J=0 IF(OPND(1) .EQ. 2HAC) J=0 C---- PAGE MODE TERMINAL = 1 IF(OPND(1).EQ.2HPM)J=1 CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)J CALL LINE(IMAG,IX) C----O/P BSS XX RESERVE EXTENSION CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,920) ITRCE=ITRCE-5 CALL CODE WRITE(OPND,180)ITRCE *   24342-18011 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9 CALL LINE(IMAG,IX) GOTO 140 C----I/P SYNCHRONOUS FOR PAGE MODE 161 WRITE(LU,948) GOTO 165 C-----O/P DEC -LU 220 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) LUX=-LUX CALL CODE WRITE(OPND,180)LUX CALL LINE(IMAG,IX) GOTO 140 C----O/P NO END OF LIST 900 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----TEST FOR SLC USAGE IF(LU.NE.1)GOTO 1100 WRITE(LU,941) 1100 IF(RBIN(2HNO,2HYE,LU))GOTO 2000 C----O/P EXT SLC CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,927) CALL CODE WRITE(OPND,942) CALL LINE(IMAG,IX) C----O/P JSB SLC CALL CODE WRITE(IMAG,928) CALL CODE WRITE(OPND,942) CALL LINE(IMAG,IX) C----I/P LU 1110 IF(LU.NE.1)GOTO 1115 WRITE(LU,912) 1115 READ(LU,115)IBUF IF(IBUF(1).EQ.2H/E)GOTO 2000 C----INCREMENT LU COUNT LUCNT=LUCNT+1 CALL CODE READ(IBUF,*)LUX C----I/P HALF/FULL DUPLEX IF(LU.NE.1)GOTO 1120 WRITE(LU,914) 1120 IDUX=0 IF(RBIN(2HFU,2HHA,LU))IDUX=IDUX+100000B IF(LU.NE.1)GOTO 1121 WRITE(LU,915) 1121 IF(RBIN(2HYE,2HNO,LU))IDUX=IDUX+40000B C----I/P BAUD RATE CALL IBAUD(LU,K,J) J=J+(400B*J) C----I/P CODE TYPE,ASCII/EBCDIC IBR=0 IF(LU.NE.1)GOTO 1125 WRITE(LU,943) 1125 CONTINUE ISYNC=50 IDUX=IDUX+8 IF(RBIN(2HEB,2HAS,LU))GOTO 1130 ISYNC=22 IDUX=IDUX-1 IF(LU.NE.1)GOTO 1126 WRITE(LU,944) 1126 IF(RBIN(2HVR,2HCR,LU))IBR=IBR+100000B C-----I/P CRR/VRC BLOCK CHECK 1130 IF(LU.NE.1)GOTO 1135 WRITE(LU,945) C----I/P HASP WORK STATION 1135 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+10000B 1140 IF(LU.NE.1)GOTO 1145 WRITE(LU,946) C----I/P SWITCHED LINE 1145 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+2 C----I/P PRIMARY STATION IF(LU.NE.1)GOTO 1150 WRITE(LU,947) 1150 IF(RBIN(2HYE,2HNO,LU))IBR=IBR+1 C----I/P CHARACTER TRACE LENGTH IF(LU.NE.1)GOTO 1155 WRITE(LU,960) 1155 READ(LU,*)IC C----I/P EVENT TRACE LENGTH IF(LU.NE.1)GOTO 1156 WRITE(LU,961) 1156 READ(LU,*)IE C----INSURE EVENT TRACE LENGTH = 3 OR MORE IF(IE.LT.3)IE=3 IL=76 ITRCE=IE+IC IS=60 ITRCE=ITRCE+IL C----O/P DEC ITRCE CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)ITRCE CALL LINE(IMAG,IX) C----O/P OCT IDUX CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IDUX CALL LINE(IMAG,IX) C----O/P OCT ISYNC CALL CODE WRITE(OPND,200)ISYNC CALL LINE(IMAG,IX) C----O/P OCT BAUD RATE CALL CODE WRITE(OPND,200)J CALL LINE(IMAG,IX) C---- O/P OCT LU CALL CODE WRITE(OPND,200)LUX CALL LINE(IMAG,IX) C----O/P BSS IS-5 CALL CODE WRITE(IMAG,920) ISYNC=IS-5 CALL CODE WRITE(OPND,180)ISYNC CALL LINE(IMAG,IX) C----O/P OCT IBR CALL CODE WRITE(IMAG,906) CALL CODE WRITE(OPND,200)IBR CALL LINE(IMAG,IX) C----O/P DEC IC CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)IC CALL LINE(IMAG,IX) C----O/P BSS ITRCE-IS ITRCE=ITRCE-IS-2 CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)ITRCE CALL LINE(IMAG,IX) GOTO 1110 C----O/P NOP END OF LIST 2000 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,921) CALL LINE(IMAG,IX) C----TEST FOR CONTROL BLOCK GENERATION IF(LU.NE.1)GOTO 2100 WRITE(LU,952) 2100 IF(RBIN(2HNO,2HYE,LU))GOTO 2500 C----O/P ENT CB$ CALL CODE WRITE(IMAG,903) CALL CODE WRITE(OPND,956) CALL LINE(IMAG,IX) CALL CODE WRITE(IMAG,933) C----DEFINE START SEGMENT CALL SEGDF(LU,ASCII) C----O/Pt CB$ ASC 3,ABCDE CALL CODE WRITE(LABLE,956) CALL LINE(IMAG,IX) C----I/P ACTIVE CONTROL BLOCKS IF(LU.NE.1)GOTO 2200 WRITE(LU,953) 2200 READ(LU,*)LQ C----I/P RESERVE CONTROL BLOCKS 2210 CONTINUE IF(LU.NE.1)GOTO 2300 WRITE(LU,954) 2300 READ(LU,*)KK IF(KK.LT.1)GOTO 2210 KK=LQ+KK C----I/P STACK LENGTH 2310 IF(LU.NE.1)GOTO 2400 WRITE(LU,955) 2400 READ(LU,*)JS IF(JS.LT.4)GOTO 2310 C----O/P DEC LQ CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,905) CALL CODE WRITE(OPND,180)LQ CALL LINE(IMAG,IX) C----O/P DEC KK CALL CODE WRITE(OPND,180)KK CALL LINE(IMAG,IX) C---O/P DEC LUCNT CALL CODE WRITE(OPND,180)LUCNT CALL LINE(IMAG,IX) C----O/P DEC 18+2(JS) JS=2*JS J=JS+18 CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) C----O/P DEF *+1 CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,957) CALL LINE(IMAG,IX) C----O/P BSS J=J*KK CALL CODE WRITE(IMAG,920) CALL CODE WRITE(OPND,180)J CALL LINE(IMAG,IX) 2500 CONTINUE C----O/P END CALL FLUSH(IMAG,40) CALL CODE WRITE(IMAG,908) CALL LINE(IMAG,IX) C----CLOSE DISK FILE CALL PACK(-1,-1) C----SETUP JOB FILE FOR ASSEMBLER JF=EXEC(18,FNAME,NSECT) CALL IPUT(124B,JF) CALL IPUT(125B,JF) JS=IGET(161B) CALL IPUT(177B,JS) C----EXECUTE ASSEMBLER CALL EXEC(10,ASMB,2,99) STOP 117 OPND(J)=2H,6 OPND(J+1)=2H GOTO 119 118 OPND(J)=IOR(IAND(IBUF(J),177400B),54B) OPND(J+1)=2H6 OPND(J+2)=2H GOTO 119 END SUBROUTINE SEGDF(LU,INAM) C----GENERATE RELOCATABLE BINARY FOR START SEGMENT DIMENSION INAM(1) DIMENSION IBIN(44) DATA IBIN/10400B,20000B,166456B,22123B,52122B,52040B,1,0, - 0,5,143B,0,0,0,0,0,0, - 3400B,40001B,6246B,22123B,52122B,52000B,0, - 4400B,100002B,0,0,0,0,51524B,51124B,20402B, - 3000B,60101B,176103B,0,100000B,16002B, - 2000B,120001B,120001B,0,0/ C ARRAY CONTAINS RELOCATABLE BINARY FOR FOLLOWIN C NAM $STRT,5 C ENT $STRT C ENT MAIN C EXT STRT! CSTRT JSB STRT! C END CALL FLUSH(IBIN(28),3) IF(LU.NE.1)GOTO 10 WRITE(LU,5) 5 FORMAT("MAIN PROGRAM =_") 10 READ(LU,15)(IBIN(J),J=28,30) 15 FORMAT(3A2) IBIN(30)=IAND(IBIN(30),177400B)+1 IBIN(27)=IBIN(26) DO 20 J=28,33 20 IBIN(27)=IBIN(27)+IBIN(J) CALL FLUSH(IBIN(4),3) IF(LU.NE.1)GOTO 25 WRITE(LU,26) 26 FORMAT("START SEGMENT=_") 25 READ(LU,15)(IBIN(J),J=4,6) IBIN(3)=IBIN(2) DO 40 J=4,17 40 IBIN(3)=IBIN(3)+IBIN(J) INAM(1)=IBIN(4) INAM(2)=IBIN(5) INAM(3)=IBIN(6) JBINC=IGET(102B) ITRK=IAND(JBINC,177400B)/400B IF(ITRK.LT.0)ITRK=ITRK+400B ISECT=IAND(JBINC,377B) CALL EXEC(-2,102B,IBIN,44,ITRK,ISECT) ISECT=ISECT+1 IF(ISECT.LT.IGET(116B))GOTO 30 ISECT=0 ITRK=ITRK-1 30 J=ITRK*400B+ISECT IF(J.EQ.IGET(160B))GOTO 999 CALL IPUT(102B,J) RETURN 999 CALL IPUT(101B,-1) WRITE(1,1000) 1000 FORMAT("JBIN OVERFLOW") RETURN END INTEGER FUNCTION FINDL(L1,L2,L3) C THIS FUNCTION FINDS THE FIRST ITEM IN ARRAY L1 WHICH C MATCHES L2. L3 CONTAINS THE NUMBER OF ITEMS IN L2. C THE RESULTANT IS THE INDEX INTO L2, ZERO INDICATES C NO FIND. DIMENSION L1(6,1),L2(3) DO 1 J=1,L3 DO 2 K=1,3 IF(L1(K,J).NE.L2(K))GOTO 1 2 CONTINUE FINDL=J RETURN 1 CONTINUE FINDL=0 RETURN END LOGICAL FUNCTION RBIN(L1,L2,LU) C THIS FUNCTION READS 2 ASCII CHARACTERS FROM THE DEVICE C SPECIFIED BY LU. IF THE ANSWER MATCHES L1,THE RESULT IS C TRUE. IF THE ANSWER MATC=HES L2 THE ANSWER IS FALSE. IF C THE ANSWER MATCHES NEITHER,THE OPERATOR IS PROMPTED TO C INPUT CORRECT REPLIES. 1 READ(LU,10)IN 10 FORMAT(A2) IF(IN.EQ.L1)GOTO 20 IF(IN.EQ.L2)GOTO 30 WRITE(1,40)L1,L2 40 FORMAT("INCORRECT INPUT"/"ENTER ",A2," OR "A2) IF(LU.NE.1)PAUSE GOTO 1 20 RBIN=.TRUE. RETURN 30 RBIN=.FALSE. RETURN END SUBROUTINE COMNT(L1,L2,L3,L4) C THIS SUBROUTINE OUTPUTS COMMENTS TO THE SOURCE FILE. C----L1= FORMAT C----L2=VARIABLE C----L3=ARRAY LENGTH C----L4=SECTOR INDEX DIMENSION IMAG(20),L2(1) 10 FORMAT("***LU ",I2) 20 FORMAT("***",3A2) 30 FORMAT("***",I4," BAUD") 40 FORMAT("*** FULL DUPLEX") 50 FORMAT("*** SECONDARY CHAN.") 60 FORMAT("*** ECHO") 70 FORMAT("*** SYNCHRONOUS") CALL FLUSH(IMAG,20) GOTO(1,2,3,4,5,6,7)L1 1 CALL CODE WRITE(IMAG,10)L2 900 CALL LINE(IMAG,L4) RETURN 2 CALL CODE WRITE(IMAG,20)(L2(J),J=1,L3) GOTO 900 3 CALL CODE WRITE(IMAG,30)L2 GOTO 900 4 CALL CODE WRITE(IMAG,40) GOTO 900 5 CALL CODE WRITE(IMAG,50) GOTO 900 6 CALL CODE WRITE(IMAG,60) GOTO 900 7 CALL CODE WRITE(IMAG,70) GOTO 900 END SUBROUTINE IBAUD(LU,K,J) C THIS SUBROUTINE INPUTS BAUD RATE AND ENCODES IT. K CONTAINS C THE BAUD RATE AS INPUT, AND J CONTAINS THE ENCODED RATE. INTEGER RATE(15) DATA RATE/110,134,150,220,300,440,600,880, * 1200,1760,2400,4800, * 3600,7200,9600/ 913 FORMAT("BAUD RATE=_") 914 FORMAT("INVALID BAUD RATE") 1 CONTINUE IF(LU.NE. 1)GOTO 150 WRITE(LU,913) 150 READ(LU,*)IBR K=IBR IF(K.EQ.0)GOTO 200 C----ENCODE BAUD RATE DO 190 J=1,15 IF(RATE(J).EQ.IBR)GOTO 195 190 CONTINUE J=0 WRITE(1,914) IF(LU.NE.1)PAUSE GOTO 1 195 RETURN 200 J=0 |$" RETURN END SUBROUTINE LINE(IL,IX) C THIS SUBROUTINE PACKS 20 CHARACTER SOURCE LINES. DIMENSION IL(1) CALL PACK(5000B,IX) DO 10 L=1,10 10 CALL PACK(IL(L),IX) RETURN END SUBROUTINE PACK(II,IX) C THIS SUBROUTINE BUILDS DISK FILE C$$$1. INTEGER FNAME(3),DISK(128) INTEGER RSECT IF(IX)900,100,200 100 CALL CODE WRITE(FNAME,110) 110 FORMAT("C$$$1 ") RSECT=0 IX=1 200 DISK(IX)=II IF(IX.NE.128)GOTO 210 CALL EXEC(15,3,DISK,128,FNAME,RSECT) RSECT=RSECT+1 IX=0 210 IX=IX+1 IY=IX RETURN 900 DISK(IY)=0 DISK(IY+1)=-1 CALL EXEC(15,3,DISK,128,FNAME,RSECT) RSECT=RSECT+1 WRITE(1,910)RSECT 910 FORMAT("SECTORS="I5) RETURN END SUBROUTINE FLUSH(IT,L) C THIS SUBROUTINE FILLS ARRAY IT WITH SPACES. DIMENSION IT(1) DO 10 J=1,L 10 IT(J)=2H RETURN END END$ :: :ST,S,$TC17,5 ASMB,L,C NAM IGET,7 ENT IGET IGET NOP LDB IGET,I ISZ IGET LDA IGET,I LDA A,I LDA A,I JMP B,I A EQU 0 B EQU 1 END :: :ST,S,$TC18,5 ASMB,L,C NAM IPUT,7 ENT IPUT EXT .ENTR,EXEC ADDR NOP VALU NOP IPUT NOP JSB .ENTR DEF ADDR LDA VALU,I LDB ADDR,I JSB EXEC DEF *+2 DEF N19$ JMP IPUT,I N19$ DEC -19 END :: :CO MOUNT TAPE #12, TYPE :GO :PA $   24342-18012 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC19,5 FTN4,L,T PROGRAM RECOV C B C THIS PROGRAM IS USED TO PROCESS MTO LOG TAPES AND C TO BRING A COPY DISC TO THE STATE THAT THE LIVE ONE B C WAS WHEN RECOVERY BECAME NECESSARY. B C B COMMON IB(20) COMMON ID(1000) COMMON IL,IX,IRX DIMENSION IR(5),ISUB(8) ITI=0 IRX = -1 IX=0 1 WRITE(1,900) B 900 FORMAT(" INPUT LOG TAPE IDENTIFIER._") READ(1,910)(IR(K),K=1,5) 910 FORMAT(5A2) WRITE(1,920) B 920 FORMAT(" INPUT LOG TAPE LU#._") READ(1,*)IL WRITE(1,700) 700 FORMAT(" INPUT # OF SUBCHANNELS TO BE UPDATED._") READ(1,*) INS IF(INS .LT. 1 .OR. INS .GT. 8) STOP DO 172 I=1,INS WRITE(1,710) 710 FORMAT(" INPUT SUBCHANNEL #._") READ(1,*) ISUB(I) 172 CONTINUE C B C NOW HAVE LOG TAPE ID AND LU, SO DO A C ONE RECORD READ AND VERIFY IT B C B CALL EXEC(3,400B+IL) 70 CALL EXEC(1,100B+IL,IB,20) B CALL EXEC(13,IL,IS,ILOG) B IF(IAND(IS,200B) .NE. 0) GOTO 40 IF(IAND(IS,40B) .EQ. 0) GOTO 71 CALL NTAPE GOTO 70 C B C NOW COMPARE LOG TAPE ID C B 71 DO 10 I=1,5 IF(IR(I).NE.IB(I)) GOTO 20 10 CONTINUE GOTO 30  B C B C LOG TAPE ID INCORRECT C B 20 WRITE(1,930)(IB(K),K=1,5) 930 FORMAT(" LOG TAPE IDENTIFIER INCORRECT -",/ * " IDENTIFIER ON TAPE IS: ",5A2) IF(ITI.EQ.0)GOTO 1 72 WRITE(1,931) 931 FORMAT(" ABORT RECOVERY?_") READ(1,980)IC IF(IC.EQ.2HYE) GOTO 55 IF(IC.EQ.2HNO) GOTO 70 GOTO 72 C C VERIFY THE SUBCHANNEL C 30 ISA = IAND(IB(11),177B) ISB = 0 DO 175 I=1,INS IF(ISA .EQ. ISUB(I)) ISB = 1 175 CONTINUE IF(ISB .NE. 0) GOTO 19 IF(IB(8) .EQ. 15) CALL EXEC(1,IL,ID(1),IB(13)) GOTO 70 C B C NOW CHECK WHAT IS ON LOGGING TAPE,SHOULD BE A HEADER BLOCK B C B 19 CONTINUE IT = IB(8) ITI=1 801 IF(IT .NE. 15) GOTO 805 CALL WRTE GOTO 40 805 CONTINUE C C AT THIS STAGE WE CANNOT UNDERSTAND THE HEADER B C B WRITE(1,940) B 940 FORMAT(" CANNOT DECIPHER HEADER, HEADER IS") WRITE(6,940) B WRITE(1,950)IB B 950 FORMAT(2(8O7/)) WRITE(6,950)IB B C C NOW SEE WHAT THE OPERATOR WANTS TO DO C 80 WRITE(1,970) 970 FORMAT(" ABORT RECOVERY?_") READ(1,980)IC 980 FORMAT(A2) IF(IC.EQ.2HNO) GOTO 70 IF(IC.NE.2HYE) GOTO 80 C C NOW ABORT RECOVERY C WRITE(1,990) WRITE(6,990) 990 FORMAT(//" RECOVERY ABORTED AT OPERATOR'S REQUEST."//) GOTO 55 C B C COME HERE AFTER PROCESSING RECORD B C B C SEE IF ITS END OF TAPE B C B 40 CALL EXEC(13,IL,ISTAT,ILOG) B IF(IAND(ISTAT,40B) .NE. 0) GOTO 45 IF(IAND(ISTAT,200B) .EQ. 0) GOTO 50 GOTO 47 45 CALL NTAPE GOTO 801 C B C NOW ITS AN END OF FILE SO TELL OPERATOR B C B 47 WRITE(1,990) WRITE(6,960) B 960 FORMAT(" END OF FILE - END OF PROGRAM.") 55 IX=1 C C CHECK FOR PROGRAM ABORT B C 50 IF(IX.NE.0) CALL EXEC(6) B GOTO 70 B END B SUBROUTINE PERR(IE) B C B C THIS SUBROUTINE CHECKS FOR LOG PARITY ERRORS B C B COMMON IB(20) COMMON ID(1000) COMMON IL,IX IE=0 C B C GET STATUS OF LU B C l B CALL EXEC(13,IL,ISTAT,ILOG) B IF(IAND(ISTAT,40042B).NE.0)IE=1 B C B C HAVE SET ERROR INDICATOR 0=GOOD 1=BAD B C B RETURN B END B SUBROUTINE WRTE B COMMON IB(20) COMMON ID(1000) COMMON IL,IX,IRX C B C THIS SUBROUTINE PROCESSES DISK WRITES B C B CALL PERR(I) B C B C FIX UP FILE NAME C IDA = IOR(IAND(IB(11),177400B),40B) IF(I.EQ.0) GOTO 20 WRITE(1,900)IB B WRITE(6,900)IB B 900 FORMAT(" ERROR ON LOG READ - DATA IS:"//,5(4@10/)) C B C NOW SEE WHAT THE OPERATOR WANTS TO DO B C B 30 WRITE(1,910) B 910 FORMAT(" ABORT RECOVERY?_") READ(1,920)IC 920 FORMAT(A2) C B IF(IC.EQ.2HYE)GOTO 10 T B IF(IC.EQ.2HNO)GOTO 70 GOTO 30 C B C NOW SET FOR ABORT B C B 10 IX=1 WRITE(1,930) B WRITE(6,930) B 930 FORMAT(" LOG ERROR:",//" ABORTED AT OPERATOR'S REQUEST.") 40 RETURN B C B C B 70 WRITE(1,940) B 940 FORMAT(" TRY THE WRITE?_") C B READ(1,920)IC B IF(IC.EQ.2HYE) GOTO 20 IF(IC.EQ.2HNO)GOTO 60 B GOTO 70 B C B C DOESNT WANT TO RISK THE WRITE SO WILL RETURN B C B 60 GOTO 40 C B C OK ITS HIS DISK GET THE DATA B C B 20 CALL EXEC(1,IL,ID(1),IB(13)) C B C SEE IF WE READ IT OK B C ` B CALL PERR(IE) B IF(IE.EQ.0)GOTO 80 B C B C NOW HAVE A READ ERROR B C IR=IAND(IB(11),177B) B WRITE(1,950) B WRITE(6,950) B 950 FORMAT(" READ ERROR ON DATA TO BE WRITTEN ON DISC.") WRITE(1,960) IB(9),IB(10),IDA,IB(12),IR WRITE(6,960) IB(9),IB(10),IDA,IB(12),IR 960 FORMAT(" DISC FILE NAME:",3A2,/" SECT:",I5,/" UD: ",I2,/////) C B C NOW OUTPUT THE DATA B C B WRITE(6,970) B 970 FORMAT(" DATA:"//) DO 90 I=1,IB(13) B WRITE(1,980)I,ID(I) B 90 WRITE(6,980)I,ID(I) B 980 FORMAT(" WORD ",I4," = ",@7) C B C SEE WHAT HE WANTS TO DO B C B 100 WRITE(1,990) B 990 FORMAT(" TRY THE WRITE?_") READ(1,920)IC B IF(IC.EQ.2HYE)GOTO 110 B IF(IC.EQ.2HNO)GOTO 120  B GOTO 100 B C B C DOESNT WANT IT WRITTEN SO RETURN B C B 120 GOTO 40 B C B C OK ITS STILL HIS DISK B C B C GET TO CORRECT SUBCHANNEL B C B 80 CONTINUE 110 IR = IAND(IB(11),177B) IF(IR .EQ. IRX) GOTO 888 IRX = IR CALL EXEC(23,0,IR,1) C C CHECK THAT FILE EXISTS C 888 CONTINUE CALL EXEC(18,IB(9),ISEC) C C SEE IF FILE EXISTS C IF(ISEC.NE.0) GOTO 150 C C TELL OPERATOR FILE DOESN'T EXIST C WRITE(1,991)IB(9),IB(10),IDA 991 FORMAT(" FILE ",3A2," DOES NOT EXIST!") WRITE(6,991)IB(9),IB(10),IDA C C SEE WHAT HE WANTS TO DO C 175 WRITE(1,910) 130 READ(1,920)IC IF(IC.EQ.2HYE) GOTO 10 IF(IC.NE.2HNO)GOTO 175 GOTO 40 C C FILE EXISTS SO CHECK LENGTH C 150 CONTINUE ILEN=IB(13)/128 ILET=ILEN*128 IF(ILET.NE.IB(13))ILEN=ILEN+1 ILEN=ILEN+IB(12) IF(ILEN.GT.ISEC) GOTO 170 C C LENGTH OK SO DO THE WRITE C C B C NOW DO THE WRITE B C B CALL EXEC(15,3,ID(1),IB(13),IB(9),IB(12)) B C 0.* B C NOW RETURN B C B GOTO 40 B C C FILE NOT LARGE ENOUGH SO TELL OPERATOR C 170 CONTINUE WRITE(1,992) IB(9),IB(10),IDA 992 FORMAT(" NOT ENOUGH ROOM IN ",3A2," TO WRITE!") C C SEE WHAT HE WANTS TO DO C 155 WRITE(1,910) READ(1,920)IC IF(IC.EQ.2HYE) GOTO 10 IF(IC.NE.2HNO) GOTO 155 GOTO 40 END B SUBROUTINE NTAPE COMMON IB(20) COMMON ID(1000) COMMON IL,IX CALL EXEC(3,IL+500B) 10 WRITE(1,100) 100 FORMAT(" MOUNT NEXT TAPE - TYPE 'READY'._") READ(1,110) IS 110 FORMAT(A2) IF(IS .NE. 2HRE) GOTO 10 RETURN END END$ :: :CO MOUNT TAPE #13, TYPE :GO :PA 0   24342-18013 1529 S 0122 TCS/B BATCH JOB STREAM              H0101 9:ST,S,$TC20,5 FTN4 PROGRAM EDIT C C IF IMAGE/2100 IS BEING USED IN THIS TCS SYSTEM C THE ASMB STATEMENT IN THE PROGRAMS: C 1. START C 2. STRT! C 3. JOIN C 4. GDISC C 5. LOGIN C MUST BE EDITED FOR THE CONDITIONAL C ASSEMBLY (Z-OPTION) TO INCLUDE THE C IMAGE/2100 COMMON AREA. DIMENSION IEND(17),IBUF(17) DATA IEND/2H:C,2HO ,2H**,2H*A,2HSS,2HEM, * 2HBL,2HIE,2HS ,2HAN,2HD ,2HCO, * 2HMP,2HIL,2HES,2H**,2H* / WRITE(1,1001) 1001 FORMAT("IMAGE/2100 BEING USED?_") 10 READ(1,1002) IANS 1002 FORMAT(A2) IF(IANS .EQ. 2HYE) STOP 7777 IF(IANS .NE. 2HNO) GOTO 30 C C SAVE AND REPLACE BATCH LU # C ISAVE = IGET(111B) CALL IPUT(111B,1) C C FLUSH THE EDITS C 15 CALL EXEC(1,ISAVE,IBUF,17) DO 20 I=1,17 IF(IBUF(I) .NE. IEND(I)) GOTO 15 20 CONTINUE C C RESTORE THE BATCH DEVICE C CALL IPUT(111B,ISAVE) STOP 5555 C C REPROMPT C 30 WRITE(1,1003) 1003 FORMAT("ENTER 'YE' OR 'NO'._") GOTO 10 END END$ :: :ST,S,$TC21,5 ASMB,R NAM IPUT,7 ENT IPUT EXT .ENTR,EXEC ADDR NOP VALU NOP IPUT NOP JSB .ENTR DEF ADDR LDA VALU,I LDB ADDR,I JSB EXEC DEF *+2 DEF N19$ JMP IPUT,I N19$ DEC -19 END :: :ST,S,$TC22,5 ASMB,R NAM IGET,7 ENT IGET IGET NOP LDB IGET,I ISZ IGET LDA IGET,I LDA 0,I LDA 0,I JMP 1,I END :: :CL :JF,$TC20 :PR,FTN4,2,99 :JF,$TC21 :PR,ASMB,2,99 :JF,$TC22 :PR,ASMB,2,99 :PR,LOADR :CL :PR,EDIT :ED,$TC03,5 /R,1 ASMB,L,C,Z /E :ED,$TC04,5 /R,1 ASMB,L,C,Z /E :ED,$TC05,5 /R,1 ASMB,L,C,Z /E :ED,$TC10,5 /R,1 ASMB,L,C,Z /E :ED,$TC15,5 /R,1 ASMB,L,C,Z /E :CO ***ASSEMBLIES AND COMPILES*** :CO ***ASSEMBLIES AND COMPILES*** :CO ***TYPE :GO*** :PA :CL :JF,$TC01 :PR,ASMB,2,99 :JF,$TC02 :PR,ASMB,2,99 :JF,$TC03 :P  R,ASMB,2,99 :JF,$TC04 :PR,ASMB,2,99 :JF,$TC05 :PR,ASMB,2,99 :JF,$TC06 :PR,ASMB,2,99 :JF,$TC07 :PR,ASMB,2,99 :JF,$TC08 :PR,ASMB,2,99 :JF,$TC09 :PR,ASMB,2,99 :JF,$TC10 :PR,ASMB,2,99 :JF,$TC11 :PR,ASMB,2,99 :JF,$TC12 :PR,ASMB,2,99 :JF,$TC13 :PR,ASMB,2,99 :JF,$TC14 :PR,ASMB,2,99 :JF,$TC15 :PR,ASMB,2,99 :ST,R,#TC01 :CL :JF,$TC16 :PR,FTN4,2,99 :JF,$TC17 :PR,ASMB,2,99 :JF,$TC18 :PR,ASMB,2,99 :ST,R,#TC02 :PR,LOADR :CL :JF,$TC19 :PR,FTN4,2,99 :ST,R,#TC03 :PR,LOADR :ST,P,TCGEN,RECOV :CO ***END OF JOB*** :EJ $   24343-80001 1514 S 0122 01TSB/F I/O PROCESSOR             H0101  ASMBAB HDɯϠPSSҠBSAP G òUB6ϠHANN PҠU3BPHADҠHANN HSPGAMSHŠSԠƠHŠϠPGAMS NHŠɯϠPSSҠPGAMAP.ԠADS SNGŠHAASANDPASSSHMϠHŠBAS BNAYADҠNHŠɯϠPSSҠNNŠƠH MMUNANSHANNS. HSPGAMMAYBŠUSDϠADANY ABSUŠBNAYAPŠNϠHŠɯϠPSS PU SàPҬàSAԠPHAD SSPҠAԠҠAHAA MP- APҠGԠHAAҠMPHAD BSԠUNҠ P0SàòAԠҠPϠAKNDGŠ MPP30 NBSZBNMNԠM-UԠUNҠ MPP0 àPҠMDUԠ-UNƠ HԠBPHϠADҠANDHAԠ MPP P30AòUPUԠHAAҠ SàòàSԠAG MPPGԠNԠHAA ND   24343-80002 1514 S 0122 01TSB/F I/O PROCESSOR             H0101  ASMBABì̠000-SSɯϠPSSҠPGAM VSNAUY093 VSNBBUAY9 VSNàBUAY95 G MP+ DƠNɠADDSSƠNAZ SBP׬ɠPҠA HԠ5PAY SUP AU0AGSҠADDSS BUBGSҠADDSS SPà ñU0BHANN̠MHҠMAHN òUBHANN̠ϠHҠMAHN Gñ SBPS àò SPà BASŠUB GBAS SBBGDҬ SPà MPؠU3B GMP SBMP+ DƠMP SPà DSBU5B GDSB SBDSDұ SPà MPYU6B GMPY SBMPY+ DƠMPY SPà DSBU0B GDSB SBDSDҲ SPà PANàUN ƠHŠɯϠPSSҠASHSSAԠHŠMAHNŠAԠAN 0BANDHSUNŠ̠MAKŠHŠNSSAYSPNSSS HAԠHŠSYSMANBŠSP.HNHŠɯϠPSSҠANB -ADDANDHŠSYSMANBŠBUGHԠUPMDS. G0B PANàU DA.+5B AñNNU SàñàSPNDNG àñϠH MPPANàMAHN SPà MUPҠNSANSANDMPAS NUMBSSPԠNUMB NԠBSSHAAҠUN BPNԠBSSUNNNGBUҠPN BSҠBSSSAԠƠBU BHDBSSSAԠƠSԠBU BSAVBSSSAVDBUҠPN BGNBSSSAԠƠPHYSA̠BU BNDBSSNDƠPHYSA̠BU SAԠBSSSAUS AMBSSAD0- CANCEL REQUEST E * * ********************************************************************** DRCTV EQU * ** NOP * STA DRCTA SAVE DIRECTIVES SZB,RSS TIMING REQUEST * JMP DRCT1 NO IN LDA EQT16,I YES SSB CANCEL REQUEST * JMP DRCT2 NO CE * YES L ELA,CLE,ERA CLEAR IN PROGRESS BIT CLB INDICATE CANCEL JMP DRCT3 DRCT2 EQU * CT SSA TIMER IN PROGRESS CMB,INB YES-INDZ<:6ICATE RESET IT IOR B15$ SET IN PROGRESS BIT DRCT3 EQU * 5$ STA EQT16,I UPDATE FLAGS SS STB A T1 LDB LTIMA I STB EQT31,I SET PROCESSOR TO LOGICAL TIMER ** LDB EQT31 I ADB N01$ PASS EQT30 AS TIMER BLOCK JSB $TIME CALL TIMER AS DRCT1 EQU * IM LDA DRCTA RAL,SLA START READ AS JSB SREAD YES RAL,SLA START WRITE JSB SWRIT YES SSA NOP JSB RTRN YES LDA DRCTA NO DIRECTIVES JMP DRCTV,I RETURN CT * DRCTA NOP DR * CT ********************************************************************** * ** * START READ * ********************************************************************** SREAD EQU * ** NOP * LDA EQT5,I CPA RECV LINE STATE= RECEIVE #_<  24350-18002 1523 S 0122 DOS DVR72 FOR 12587B ASYNCH DATA SET INTERFACE             H0101 A JMP SRD1 YES CPA SEND LINE STATE= SEND VE JMP SRD2 YES LDA RECV LINE STATE OTHER,CHANGE TO RECV RSS RE SRD4 EQU * CV LDA PRCV3 LNE STATE=PREPARE TO RCV #3 STA EQT5,I JSB CLC DISABLE BOARD LDA N03$ DELAY 300 MS A LDB TD2A JSB DTIM START TIMER #2 RE JSB RCV CONFIGURE FOR RECEIVE JSB RTRN * SRD1 EQU * RN JSB STIN START INPUT JSB RTRN SRD2 EQU * RN JSB STAT INPUT BOARD STATUS VE RAL,RAL SSA BOARD BUSY S JMP SRD3 YES LDA RECV LINE STATE=RECEIVE VE JMP SRD4+1 * SRD3 EQU * D4 LDA PRCV1 STA EQT5,I SET LINE STATE= PREPARE TO RCV#1 ** JSB STC ENABLE I/F INTERRUPTS JSB RTRN * * START INPUT SUBROUTINE STIN NOP T LDA EQT6,I JSB OTA ENABLE ECHO IF VALID E LDA C$SBA SET SECONDARY SEND D JSB OTA A JSB TMON START MONITOR JSB STC ENABLE INTERRUPTS JMP STIN,I * * ********************************************************************** * ** * START WRITE ** * ********************************************************************** SWRIT EQU * ** NOP * JSB CLC TURN OFF INTERRUPTS LDB EQT5,I GET PREVIOUS STATE * LDA PSND STA EQT5,I SET LINE STATE= PREPARE TO SEND LDA DRCTA GET CHARACTER AND RBYT$ STA EQT35,I SAVE CHAR. FOR O/P PA CPB SEND PRIOR STATE=SEND? JMP SWRT1 YES-BYPASS TURNAROUND DELAYS ND CLA INDICATE FIRST TIME THRU 8JAN74 ** STA EQT34,I I LDA N02$ NO-ONLY DELAY 200 MS HR LDB TD1A USE TIME DELAY #1 JSB DTIM JSB RTRN SWRT1 EQU * RN JSB STOUT START OUTPUT Y JSB RTRN ************************************************************************ * START OUTPUT ******************************T****************************************** STOUT EQU * ** NOP * LDA EQT35,I GET PENDING CHAR. JSB OTA O/P TO INTERFACE * JSB TMON START LINE MONITOR ** JSB STC ENABLE INTERRUPTS JMP STOUT,I E ************************************************************************ ********************************************************************** * ** * LOGICAL TIMER ** * ********************************************************************** LTIMA DEF LTIM * IM LTIM EQU * IM NOP * CLF 0 TURN OFF INTERRUPT SYSTEM LDB B15$ JSB TIMOF SETUP FOR TIMER OFF LIST * JSB STAT I/P BOARD STATUS FF LDA P02$ STA RTX INDICATE TIMER RETURN LDA P08$ LDB LSTT PROCESS LSWCH ADB EQT5,I BY CE LDB B,I LINE SS JMP B,I STATE LSTT DEF *+1 DEF LSTA O-CLOSED TI DEF LSTB 1-AWAITING RING DEF LSTB 2-AWAITING OPEN DEF LSTB 3-IDLE IN DEF LSTD 4-PREPARE TO SEND DEF LSTD 5-SEND RE DEF LSTC 6-PREPARE TO RCV #1 (FLUSH WRITE) DEF LSTC 7-PREPARE TO RCV #2 (DROP CF) DEF LSTC 8-PREPARE TO RCV #3 (DELAY) DEF LSTC 9-RECEIVE * LSIT DEF *+1 DEF LSIA 0-CLOSED T DEF LSIB 1-AWAITING RING DEF LSIC 2-AWAITING OPEN DEF LSIA 3-IDLE IN DEF LSII 4-PREPARE TO SEND DEF LSID 5-SEND RE DEF LSIE 6-PREPARE TO RCV #1 (FLUSH WRITE) DEF LSIF 7-PREPARE TO RCV #2 (DROP CF) DEF LSIH 8-PREPARE TO RCV #3 (DELAY) DEF LSIG 9-RECEIVE * LSTA EQU * IG JSB RTRN * * * * LSIA EQU * RN JSB CLC TURN OFF BOARD V JSB RTRN * * LSIB EQU * RN AND S$CE ISOLATE RINGING BIT SZA,RSS SET JMP LSIB1 NO A JSB CLC YES-TURN OFF BOARD ( JSB DONE COMPLETE OF LSIB1 EQU * NE dP JSB STC ENABLE INTERRUPTS JSB RTRN * * LSIC EQU * RN CLA * LSTB EQU * RN CLB * JSB BSTAT PROCESS BOARD STATUS DE NOP BAD LDB EQT5,I GOOD - INDICATE CONTINUE Y) JSB EQT24,I CALL LOGICAL CONTROL ENTRY ) JMP LSIC1 COMPLETE CA JSB DRCTV CONTINUE-EVALUATE DIRECTIVE JSB STC ENABLE INTERRUPTS JSB RTRN LSIC1 EQU * RN LDA IDLE STA EQT5,I SET LINE STATE= IDLE EC JSB DONE * * LSII EQU * NE LDA SEND STA EQT5,I LINE STATE= SEND DL LSID EQU * T5 CLA * LSTD EQU * T5 CLB,INB ,I JSB BSTAT CHECK STATUS EN NOP BS LSID1 EQU * TA LDB EQT5,I JSB EQT23,I CALL LOGICAL WRITE ENTRY VE JSB DONE COMPLETE CA JMP WRITC CONTINUE CA * * LSIE EQU * IT JMP SRD4 YES * * LSIF EQU * D4 JSB RTRN GOOD NU * * LSIG EQU * RN CLA * LSTC EQU * RN CCB * JSB BSTAT CHECK STATUS WR JMP LSIG1 BAD SSA TIMEOUT JMP LSIG1 YES LDB EQT25,I Y SSB,RSS BUFFER READY WR JSB RTRN NO-RETURN LSIG1 EQU * RN LDB EQT5,I JSB EQT22,I CALL LOGICAL READ ENTRY JSB DONE COMPLETE CA JMP READC CONTINUE CA * * LSIH EQU * AD JSB LCHK CHECK LINE STATUS SZA OK CK JMP LSIG1 BAD LDB RECV STB EQT5,I LINE STATE=RECEIVE NT JSB RTRN * * * ********************************************************************** * ** DONE EQU * ** ********************************************************************** NOP ** JSB CLC DISABLE BOARD LDA EQT6,I AND ECHO TURN OFF ECHO JSB OTA JSB DQT DEQUEUE TIMERS ** LDA EQTB JSB $PCOM NOTIFY DOS OF COMPLETION ** JSB RTRN * ********************************************************************** * ** SAVE EQU * ** ********************************************************************** NOP ** STA SAVA A STB SAVB B ERA,ALS E SOC AL INA O STA SAVEO CLA,INA O STA RTX INDICATE INTERRUPT ** LDA SAVE ADA N03$ CALCULATE INTERRUPT ENTRY LDA A,I STA EXIT SAVE RETURN ADDRESS JMP SAVE,I * * ********************************************************************** * ** * COMMON RETURN ** * ********************************************************************** RTRN EQU * ** NOP * LDA RTX DETERMINE RETURN TYPE SZA,RSS JMP RTRN1 I.72 MI SLA,RSS 1 JMP RTRN0 LOGICAL TIMER RTRN2 EQU * P.72 AL LDA SAVEO RESTORE CLO SA SLA,ELA E STF 1 O LDA SAVA A LDB MPTFL TEST MEMORY PROTECT SZB,RSS ON T JMP RTRN3 YES LDB SAVB RESTORE B STF 0 ENABLE INTERRUPT SYSTEM JMP EXIT,I RTRN3 EQU * IT LDB SAVB RESTORE B STF 0 ENABLE INTERRUPTS STC 5 ENABLE MEMORY PROTECT JMP EXIT,I RETURN ME * RTRN1 EQU * IT LDA EQT14,I R STA SAVB JMP RTRN2 I RTRN0 STF 0 ENABLE INTERRUPTS JMP LTIM,I * * ********************************************************************** * ** * DEQUEUE TIMERS * ********************************************************************** DQT EQU * ** NOP * LDA EQT16,I ** SSA,RSS LOGICAL TIMER IN PROGRESS JMP DQT1 NO IC ELA,CLE,ERA YES STA EQT16,I CLEAR FLAG ER CLA EQ LDB EQT31 I ADB N01$ JSB $TIME CANCEL REQUEST N DQT1 EQU * IM LDA EQT16,I C SLA,RSS DVR72 TIMER ACTIVE OG JMP DQT,I NO-DONE ARS,ALS YES STA EQT16,I CcLR FLAG ER LDB EQT27 I ADB N01$ CLA N0 JSB $TIME CANCEL REQUEST IV JMP DQT,I * ********************************************************************** * ** * BOARD STATUS CHECK * B= -1 READ, 0 CONTROL,+1 WRITE * P+1=BAD STATUS, P+2= GOOD STATUS ********************************************************************** BSTAT EQU * ** NOP * STA COMP CLEAR COMPOSITE STATUS ** ADB STATX LDA EQT19,I CHECK FOR SEC. CHAN. S AND S$SBB ISOLATE SEC CHAN. CAPABILITIES ** XOR S$SBB IF NOT AVAILABLE FAKE IT IT IOR EQT25,I I AND B,I 5, CPA B,I CHECK STATUS BL JMP BST1 OK CK LDA P04$ BAD ADA COMP UPDATE TA STA COMP INDICATE LINE ERROR BST3 EQU * MP ADB P03$ GET "BREAD & ERROR" MASKS LDA EQT25,I G AND B09$ SZA,RSS DATA ERROR & JMP *+3 NO A ISZ COMP ISZ COMP LDA COMP GET COMPOSITE STATUS AS AND B,I SAVE SELECTED BITS S ALF,ALF POSITION FOR LOGICAL AS ALF AL STA B F LDA EQT25,I P AND RBYT$ I IOR B FORM COMPOSITE GI JMP BSTAT,I F * * BST1 EQU * TA ISZ BSTAT RETURN+2 OS JSB TSEC BREAK ISZ COMP INDICATE BREAK GI JMP BST3 * * STATX DEF *+2 RSTAT OCT 14000 -1 READ VALUE OCT 14000 0 CONTROL VALUE OCT 10000 +1 WRITE VALUE OCT 16 -1 READ(TIMEOUT,LINE ERROR,DATA ERROR) OCT 16 0 CONTROL(TIMEOUT,LINE ERROR,DATA ERROR) OCT 15 +1 WRITE(TIMEOUT,LINE ERROR,BREAK) ***************************************************************** ** * TEST SECONDARY CHANNEL * USES BOARD CAPABILITIES(EQT19) AND BOARD STATUS(EQT25) ** * TO DETERMINE RETURN ADDRESS. P+1 MEANS EQT19 IS SET (BIT14) ** * AND EQT25 (BIT14) IS CLEAR. P+2 MEANS EQT19 IS CLEAR/ OR 14 * EQT25 IS SET. 14 ******************************************************************** TSEC EQU * ** NOP * LDA EQT19,I ** AND S$SBB I SZA,RSS B JMP TSECX I AND EQT25,I ** SZA EQ TSECX EQU * T2 ISZ TSEC JMP TSEC,I ************************************************************************ ********************************************************************** * ** * CONFIGURE BOARD FOR RCV ** * ********************************************************************** RCV EQU * ** NOP * LDA =B147777 CLEAR CA+MASK ENABLE ** AND EQT6,I CLR REQUEST TO SEND IOR C$CD SET DATA TERMINAL READY STA EQT6,I AND ECHO DISABLE ECHO IN JSB OTA JSB STAT CLEAR READY FF AL NOP ST NOP ST JMP RCV,I ********************************************************************** * ** * CONFIGURE BOARD FOR SEND * ********************************************************************** SND EQU * ** NOP * CLA * JSB OTA DROP SECONDARY SEND LDA C$CA IOR C$CD SET DATA TERMINAL READY IOR EQT6,I SET REQUEST TO SEND STA EQT6,I AND ECHO DISABLE ECHO O JSB OTA JMP SND,I * * ********************************************************************** OTA EQU * ** NOP * O1 OTA SC JMP OTA,I ** * ********************************************************************** STC EQU * ** NOP * O2 STC SC JMP STC,I ** * * ********************************************************************** CLC EQU * ** NOP * O3 CLC SC JMP CLC,I ** * * ********************************************************************** STAT EQU * ** NOP * O4 LIA SC,C STA EQT25,I ** NOP EQ JMP STAT,I * * * **********************************************************L************ SETIO EQU * ** ********************************************************************** NOP ** CPA LAST ALREADY CONFIGURED ** JMP SETIO,I YES STA LAST NO A ADA CLCO FORM CLC INST STA O3 ADA N4K FORM STC INST ADA B09$ STA O2 ADA N64$ FORM OTA INST STA O1 ADA N64$ NOP N6 STA O4 XOR B09$ REMOVE CLEAR FLAG BIT STA O5 JMP SETIO,I R * CLCO CLC 0 TI N4K OCT 174000 LAST NOP 17 INCD OCT 103 00 M160$ OCT 160 00 M40$ OCT 40 COMP NOP 40 SCODE NOP 40 RTX NOP 40 SAVA NOP 40 SAVB NOP 40 SAVEO NOP 40 EXIT NOP 40 * IT ********************************************************************** * ** * EQT LINKAGE TABLE ** * ********************************************************************** EQT3 NOP UNIT/SELECT CODE ** EQT4 NOP STATUS LE EQT5 NOP LINE STATE C EQT6 NOP I/F CONTROL WORD ** EQT9 NOP CONWD EQT10 NOP PARAMETER 1 EQT16 NOP TIMER FLAGS EQT17 NOP EXTENSION LINK D EQT19 NOP BOARD PARAMETERS ** EQT22 NOP LREAD EQT23 NOP LWRIT EQT24 NOP LCNTL EQT25 NOP I/F BOARD STATUS ** EQT27 NOP DVR72 TIMER PROCESSOR ADDRESS EQT31 NOP LOGICAL TIMER PROCESSOR ADDRESS EQT34 NOP COUNTER FOR NULL O/P OR EQT35 NOP SAVE FIRST CHAR. FOR O/P DD EQT14 NOP TRANSMISSION LOG FO * T1 * BASE PAGE CONSTANTS SS * # EQU 53B E N01$ EQU #-1 E N02$ EQU #-2 E N03$ EQU #-3 E N04$ EQU #-4 E N05$ EQU #-5 E N06$ EQU #-6 E N07$ EQU #-7 E N08$ EQU #-8 E N09$ EQU #-9 E N10$ EQU #-10 N64$ EQU #-11 P00$ EQU # 11 P01$ EQU #+1 P02$ EQU #+2 P03$ EQU #+3 P04$ EQU #+4 P05$ EQU #+5 P06$ EQU #+6 P07$ EQU #+7 P08$ EQU #+8 P09$ EQU #+9 P10$ EQU #+10 P17$ EQU #+11 P64$ EQU #+12 M17$ EQU #+13 70.*M37$ EQU #+14 M77$ EQU #+15 M177$ EQU #+16 RBYT$ EQU #+17 OCT 377 LBYT$ EQU #+18 OCT 177400 N M3777 EQU #+19 OCT 3777 0 M1777 EQU #+20 OCT 177700 N NULL EQU RBYT$ * BASE PAGE VARIABLES 70 ## EQU 202B EQTB EQU 300B ADDRESS OF EQT ENTRY O/ $EQ1 EQU ##+1 $EQ3 EQU ##+3 $EQ5 EQU ##+5 $EQ6 EQU ##+6 $EQ9 EQU ##+9 $EQ10 EQU ##+10 $EQ11 EQU ##+11 $EQ14 EQU ##+14 $EQ16 EQU ##+16 $EQ17 EQU ##+17 CLOSE EQU P00$ CLOSED O ARING EQU P01$ AWAITING RING AOPEN EQU P02$ AWAITING OPEN IDLE EQU P03$ IDLE IN PSND EQU P04$ PREPARE TO SEND SEND EQU P05$ SEND RE PRCV1 EQU P06$ PREPARE TO RCV#1(FLUSH WRITE) PRCV2 EQU P07$ PREPARE TO RCV#2(DROP CF) PRCV3 EQU P08$ PREPARE TO RCV#3(DELAY) RECV EQU P09$ RECEIVE RQP3 EQU 230B RQP4 EQU 231B MPTFL EQU 271B MEMORY PROTECT FLAG B15$ OCT 100000 B14$ OCT 40000 B13$ OCT 20000 B12$ OCT 10000 B10$ OCT 2000 B09$ OCT 1000 C$CD EQU B14$ DATA TERMINAL READY C$CA EQU B13$ REQUEST TO SEND C$SBA EQU B10$ SECONDARY SEND A S$SBB EQU B14$ SECONDARY RECEIVE S$CC EQU B12$ DATA SET READY VE S$CE EQU B10$ RINGING ECHO OCT 176777 END 17 0   24350-18003 1419 S 0122 03DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 + SZNAŠUS MANAN-NDAŠS SBԲɠSAVŠPSSҠADDSS DBԲ ADBN0$PASSԲ6ASMҠBK SB$M MPDM MҠ DADƠD DU NP Ơ0DSABŠNUPԠSYSM BNB SBMƠSUPҠMҠƠS SBSAԠNPUԠSAUS DB5 PBPSNDNŠSAŠPPAŠϠSND? MPDDYS AƬSADAASԠADY MPDBYS SZBSSN-NŠS? MPDHYS-MP DɠU DAN0$N-KPMҠUNNNG DƠU DBDA SBDM DàSƠ0NABŠNUPԠSYSM MPD DBU SZBSSNŽS? MPDKYS-NNUŠM DA6ɠAN AND$A.ϠSNDS?AN SZAAN MP+3YSAN DA$SBAN-SԠS.SNDAN SBAAN SZ3ɠNŠSABZŠDAYV MPDɠN DAD SA5ɠNŠSAŠD DHU SBDԠDUUŠMS SBàҠɯƠBAD DAB SB$PMMPŠUS MPD DKU SZ3ɠMAؠMŠAPSD MPDɠN MPDHYS-MP DDU DB3ɠAN SZBSԠMŠAN MPDDNϠAN SBSNDYS-NGUŠҠSNDAN DAԱ9ɠAN A̠AN SSASNDAYHANN̠AN MPDDYSAN SBSUԠN-SAԠUPUԠAN MPDàAN DDUAN DAN0$SԠҠAMAؠƠ00MSAN SA3ɠAN MPDŠAN DDUAN ANDSA+SAŠŠSAUSBS PASA+SAUSK MP+YS MPDŠN SBSàSԠSNDAYV MPDŠ0 DGU SBSUԠSAԠUPU MPD DŠU DAN0$ SZ3ɠMŠUNU? MPDƠN-DAY00MS MPDGYS-SAԠUPUԠANYAY MҠ DADƠD DU NP Ơ0DSABŠNUPԠSYSM BNB SBMƠSUPҠMҠƠS SBSNSAԠNPU SƠ0NABŠNUPԠSYSM MPD MҠ3--NŠSAŠMN D3ADƠD3 D3NP Ơ0DSABŠNUPS BNB SBMƠSUPҠMҠƠS SBMNGԠBAKN 5ASàNPUԠBADSAUS SAԲ5 ANDS$àDAASԠADY SZASԠS? MPD3BYS-ԠԠUN DAP0$ SAؠN-SUPMҠUN DAD3 SAM DBS MPSHSMUAŠɯƠNUP D3BSƠ0NABŠNUPS MPD3 MNNP DAN6$6.SNDS DBD3ANŠMN SBDM MPMN MŠ NA̠SUPҠMU A BMҠAGMASK MƠU NP SBMƱSAVŠMҠYP SBSѠSԠ DA3 ANDM$GԠSԠD SBSϠSԠɯϠNS. DAMƱ MA ANDԱ6ɠAҠMҠNPGSS SAԱ6 MPMƬ MƱNP NŠHK HKU NP DA5 PASŠNŠSD MPHKYS SBSAԠN-GԠɯƠSAUS ҠS$àMPMNԠDAASԠDY ANDS$àANDSA A̬A̠PSNҠNŠ N-"DAASԠNԠADY"NDASNŠ MPHK HKU SZԴɠNVADUS MPADMMDAŠMPN DVŠVAUA ADVŠBS(5-UPUԠDAA(-0 5-SAԠAD -SAԠ 3-NϠPAN BMҠUS <0-NAůUPDAŠVAU 0-NϠUS 0-AN̠US DVU NP SADASAVŠDVS SZBSSMNGUS MPDԱN DAԱ6ɠYS SSBAN̠US MPDԲN YS AŬAAҠNPGSSB BNDAŠAN MPD3 DԲU SSAMҠNPGSS MBNBYS-NDAŠS ҠB5$SԠNPGSSB D3U SAԱ6ɠUPDAŠAGS SBA DBMA SB3ɠSԠPSSҠϠGA̠M DB3 ADBN0$PASS30ASMҠBK SB$MŠA̠M DԱU DADA A̬SASAԠAD SBSADYS A̬SASAԠ SBSԠYS SSANP SBNYS DADANϠDVS MPDVɠUN DANP G SAԠAD SADU NP DA5 PAVNŠSAŽV MPSDYS PASNDNŠSAŽSND g  24350-18004 1419 S 0122 04DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 , MPSDYS DAVNŠSAŠHҬHANGŠϠV SS SDU DAPV3NŠSAŽPPAŠϠV3 SA5 SBàDSABŠBAD DAN03$DAY300MS DBDA SBDMSAԠMҠ SBVNGUŠҠV SBN SDU SBSNSAԠNPU SBN SDU SBSAԠNPUԠBADSAUS A̬A SSABADBUSY MPSD3YS DAVNŠSAŽV MPSD+ SD3U DAPV SA5ɠSԠNŠSAŽPPAŠϠV SBSàNABŠɯƠNUPS SBN SAԠNPUԠSUBUN SNNP DA6 SBANABŠHϠƠVAD DA$SBASԠSNDAYSND SBA SBMNSAԠMN SBSàNABŠNUPS MPSN SAԠ SԠU NP SBàUNƠNUPS DB5ɠGԠPVUSSA DAPSND SA5ɠSԠNŠSAŽPPAŠϠSND DADAGԠHAA ANDBY$ SA35ɠSAVŠHA.ҠϯP PBSNDPҠSAŽSND? MPSԱYS-BYPASSUNAUNDDAYS ANDAŠSԠMŠHUAN SA3 DAN0$N-NYDAY00MS DBDAUSŠMŠDAY SBDM SBN SԱU SBSUԠSAԠUPU SBN SAԠUPU SUԠU NP DA35ɠGԠPNDNGHA. SBAϯPϠ NA SBMNSAԠNŠMN SBSàNABŠNUPS MPSUԬ GA̠M MADƠM MU NP Ơ0UNƠNUPԠSYSM DBB5$ SBMƠSUPҠMҠƠS SBSAԠɯPBADSAUS DAP0$ SAؠNDAŠMҠUN DAP0$ DBSԠPSS SHADB5ɠBY DBBɠN MPBɠSA SԠDƠ+ DƠSA-SD DƠSB-AANGNG DƠSB-AANGPN DƠSB3-D DƠSD-PPAŠϠSND DƠSD5-SND DƠSà6-PPAŠϠV(USHũ DƠSà-PPAŠϠV(DPƩ DƠSà-PPAŠϠV3(DAY DƠSà9-V SԠDƠ+ DƠSA0-SD DƠSB-AANGNG DƠSà-AANGPN DƠSA3-D DƠSɠ-PPAŠϠSND DƠSD5-SND DƠSŠ6-PPAŠϠV(USHũ DƠSƠ-PPAŠϠV(DPƩ DƠSH-PPAŠϠV3(DAY DƠSG9-V SAU SBN SAU SBàUNƠBAD SBN SBU ANDS$ŠSAŠNGNGB SZASSS MPSBN SBàYS-UNƠBAD SBDNŠMP SBU SBSàNABŠNUPS SBN SàU A SBU B SBBSAԠPSSBADSAUS NPBAD DB5ɠGD-NDA tŠNNU SBԲɠA̠GA̠N̠NY MPSñMP SBDVNNU-VAUAŠDV SBSàNABŠNUPS SBN SñU DAD SA5ɠSԠNŠSAŽD SBDN SɠU DASND SA5ɠNŠSAŽSND SDU A SDU BNB SBBSAԠHKSAUS NP SDU DB5 SBԲ3ɠA̠GA̠ŠNY SBDNŠMP MPàNNU SŠU MPSDYS SƠU SBNGD SGU A SàU B SBBSAԠHKSAUS MPSGBAD SSAMU MPSGYS DBԲ5 SSBSSBUҠADY SBNN-UN SGU DB5 SBԲɠA̠GA̠ADNY SBDNŠMP MPADàNNU SHU SBHKHKNŠSAUS SZAK MPSGBAD DBV SB5ɠNŠSAŽV SBN DNŠU NP SBàDSABŠBAD DA6 ANDHϠUNƠH SBA SBDԠDUUŠMS DAB SB$PMNYDSƠMPN SBN SAVŠU NP SASAVAA SBSAVBB   24350-18005 1419 S 0122 05DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 - AAS S NA SASAV ANA SAؠNDAŠNUP DASAV ADAN03$AUAŠNUPԠNY DAA SAԠSAVŠUNADDSS MPSAVŬ MMNUN NU NP DAؠDMNŠUNYP SZASS MPN. SASS MPN0GA̠M NUP. DASAVϠS SAA SƠ DASAVAA DBMP̠SԠMMYP SZBSSN MPN3YS DBSAVBSŠB SƠ0NABŠNUPԠSYSM MPԬ N3U DBSAVBSŠB SƠ0NABŠNUPS Sà5NABŠMMYP MPԬɠUN NU DAԱ SASAVB MPN N0SƠ0NABŠNUPS MPM DUUŠMS DԠU NP DAԱ6 SSASSGA̠MҠNPGSS MPDԱN AŬAYS SAԱ6ɠAҠAG A DB3 ADBN0$ SB$MŠAN̠US DԱU DAԱ6 SASSDVҷMҠAV MPDԬɠN-DN ASASYS SAԱ6ɠҠAG DBԲ ADBN0$ A SB$MŠAN̠US MPDԬ BADSAUSHK B-AD0N̬+^ P+BADSAUSP+GDSAUS BSAԠU NP SAMPAҠMPSŠSAUS ADBSA DAԱ9ɠHKҠS.HAN. ANDS$SBBSAŠSàHAN.APABS ҠS$SBBƠNԠAVAABŠAKŠ ҠԲ5 ANDB PABɠHKSAUS MPBSԱK DAP0$BAD ADAMPUPDA SAMPNDAŠNŠ BS3U ADBP03$GԠ"BAD"MASKS DAԲ5 ANDB09$ SZASSDAA MP+3N SZMP SZMP DAMPGԠMPSŠSAUS ANDBɠSAVŠSDBS AƬAƠPSNҠGA A SAB DAԲ5 ANDBY$ ҠBMMPS MPBSAԬ BSԱU SZBSAԠUN+ SBSàBAK SZMPNDAŠBAK MPBS3 SAؠDƠ+ SAԠԠ000-ADVAU Ԡ0000N̠VAU Ԡ0000+ŠVAU Ԡ6-AD(MUԬNŠҬDAAҩ Ԡ60N(MUԬNŠҬDAAҩ Ԡ5+(MUԬNŠҬBAK SԠSNDAYHANN USSBADAPABS(Ա9ANDBADSAUS(Բ5 ϠDMNŠUNADDSS.P+MANSԱ9SSԠ(BԱ ANDԲ5(BԱSA.P+MANSԱ9SAҠ Բ5SS. SàU NP DAԱ9 ANDS$SBB SZASS MPS ANDԲ5 SZA SؠU SZS MPSì {} NGUŠBADҠV VU NP DABAҠA+MASKNAB AND6ɠҠUSԠϠSND Ҡ$DSԠDAAMNA̠ADY SA6 ANDHϠDSABŠH SBA SBSAԠAҠADY NP NP MPV NGUŠBADҠSND SNDU NP A SBADPSNDAYSND DA$A Ҡ$DSԠDAAMNA̠ADY Ҡ6ɠSԠUSԠϠSND SA6 ANDHϠDSABŠH SBA MPSND AU NP ϱAS MPA SàU NP ϲSàS MPSì àU NP 3àS MPì SAԠU NP ϴASì SAԲ5 NP MPSAԬ SϠU NP PAASԠAADYNGUD MPSϬɠYS SAASԠN ADAϠMàNS SA3 ADANKMSàNS ADAB09$ SAϲ ADAN6$MANS SAϱ ADAN6$ NP SAϴ ҠB09$MVŠAҠAGB   24350-18006 1419 S 0122 06DOS DVR72 - 12587B ASYNC DATA SET IF             H0101 . SA5 MPSϬ Ϡà0 NKԠ000 ASԠNP NDԠ03 M60$Ԡ60 M0$Ԡ0 MPNP SDŠNP ؠNP SAVANP SAVBNP SAVϠNP ԠNP ԠNKAGŠAB 3NPUNԯSԠD ԴNPSAUS 5NPNŠSA 6NPɯƠN̠D 9NPND Ա0NPPAAMҠ Ա6NPMҠAGS ԱNPNSNNK Ա9NPBADPAAMS ԲNPAD Բ3NP ԲNPN Բ5NPɯƠBADSAUS ԲNPDVҷMҠPSSҠADDSS 3NPGA̠MҠPSSҠADDSS 3NPUNҠҠNU̠ϯP 35NPSAVŠSԠHA.ҠϯP ԱNPANSMSSNG BASŠPAGŠNSANS U53B N0$U- N0$U- N03$U-3 N0$U- N05$U-5 N06$U-6 N0$U- N0$U- N09$U-9 N0$U-0 N6$U- P00$U P0$U+ P0$U+ P03$U+3 P0$U+ P05$U+5 P06$U+6 P0$U+ P0$U+ P09$U+9 P0$U+0 P$U+ P6$U+ M$U+3 M3$U+ M$U+5 M$U+6 BY$U+Ԡ3 BY$U+Ԡ00 M3U+9Ԡ3 MU+0Ԡ00 NU̠UBY$ BASŠPAGŠVAABS U0B BU300BADDSSƠԠNY $ѱU+ $3U+3 $5U+5 $6U+6 $9U+9 $ѱ0U+0 $ѱU+ $ѱU+ $ѱ6U+6 $ѱU+ SŠUP00$SD ANGUP0$AANGNG APNUP0$AANGPN DŠUP0j  3$D PSNDUP0$PPAŠϠSND SNDUP05$SND PVUP06$PPAŠϠV(USHũ PVUP0$PPAŠϠV(DPƩ PV3UP0$PPAŠϠV3(DAY VUP09$V P3U30B PU3B MP̠UBMMYPԠAG B5$Ԡ00000 B$Ԡ0000 B3$Ԡ0000 B$Ԡ0000 B0$Ԡ000 B09$Ԡ000 $DUB$DAAMNA̠ADY $AUB3$USԠϠSND $SBAUB0$SNDAYSND S$SBBUB$SNDAYV S$àUB$DAASԠADY S$ŠUB0$NGNG HϠԠ6 ND Mn   24351-18001 1347 S 0122               H0101  ASMBABì̠65VDϠMNA̠DAGNS HDGNA̠PANGPDU G0 SUP GNA̠PANGPDU A.ADDAGNSàNGUAҠANDSԠԠUP. B.ADDAGNSàMANPGAM .ADADDSS00B. D.ADSHG.HSԠDŠANDPNS .PSSUNANDAԠҠHAԠ00. .ADSHGS ƠSԠ: 5HAԠAԠNDƠAHS SUPSSҠHAS 3PNASԠS PNDAGNS (SUPPSSA̠PAҠNVNN SUPSSҠMSSAGS 0SUPSSNN-ҠMSSAGS 9GϠϠUSҠN̠SN AԠNDƠPSNԠS SUPPSSPAҠNVNNSS DAGNSàPNS 0 N:SANDADUNSHUDBŠHS.G.0 USҠN̠̠ASKҠA3BԠD. AHBԠ̠S G.PSSUN. H.SAԠ-ADADDSS000B .NGUŠƠSNGɯϠNAŠ-ADADDSS00B GNA̠MPUҠHAS 00ؠŠҠH000Ϡ06 060ؠŠҠH00Ϡ6 030ؠŠҠH00Ϡ6 00ؠŠҠH300Ϡ36 N̠PGAMHAԠMSSAGS 00NDƠDAG(ABSԠSUNũ 006NDƠSԠ(ASԠ 005USҠSNUS 00SԠDŠNPUԠMP 003USҠSԠDŠ 00SVD 00SVD 000SVD 060AP̠HA HDPGA4MGANZANHA NGUAҠ00B NKAGŠABŠ UVŠ30B NKAGŠ NSANS50B AND SAGŠ 000B UVŠN̠ ƠUSD BASàɯϠSS(SԠ00 ZND ABŠƠSԠPNS ABŠƠɯϠNSҠPNS MANDAGNSS(-3 HDNGUAҠNKAGŠABŭ+ AU0AGSҠN BUBGSҠN SנUSHGSҠN NPU0NUPԠHANN̠N G00B MPGɠGϠϠNGUANSN ANBSSASԠNPUԠ(PHϠADҩ SPBSSSנUPUԠ(Sԩ APBSSASԠUPUԠ(DUMPҠPUNH SNBSSSנNPUԠ(KYBAD AMDƠAASԠDƠAVB.MMY AMBSSASԠDƠAVB.MMY BSSNԠUSD(MAGAPũ MàBSSM̠SàMŠUԠUN BSSSԠDSҠɯ PϠBSSMPUҠYPůPNS USSàBSSUSҠADYPŠANDSԠD MMϠBSSMMYSZŠANDYP SҠBSSNNA̠SHGS MҠBSSM̠SàM SàBSSNGUAҠSHKP ɲASBSSNGҠϠASɠNVSN ϲASBSSA̠ϠASɠNVSN ASNBSSASɠNVSN DSN̠BSSDAGNSàSA̠NUMB MҠBSSMA N̠NKAGŠANDDAANS GDƠZNƠNGUANSN MSGàDƠZMSGàMSSAGŠHNϠHA MSGHDƠZMSGHMSSAGŠHHA MSDƠZMSҠMSSAG SԠDƠZSԠSHGSҠHKUN SNԠ0UNԠSԠNUMB ԠDƠZԠUNϠN̠PGAM NPSVD HDUVŠN G000B ZSؠàNPàUNɯϠSYSM SBMSGìɠDϠ DƠZ DAHDMPGԠNDUYMSSAG SA+ SBMSGìɠUԠPUԠ NP AAҠPASS SAZàUN DBZS9HKҠUSҠSN SBSԬ MPZUSҠ'SUSSH ZNUSҠDASDAGԠSQANDADSԠUN DBSDB MPZ ZUSҠDAZSNAVŠPVUSUN DBZSNB HԠ5BAԠҠUSҠNPU ANDSDA SASNHK DAB ANDSDB SAB ҠSNҠANY SZASSNPU? MPZNUSҠNϠ-DϠA̠ƠHM DASNYS-GϠN ZàSAZUNASAV SBZUNBUS SAZSNANPU SBZSNBPGAM DBZS9HKƠS9SDN SBSԬ MPZUSҠNϠGϠANDA ASԠSԠNUMB SASN- SKP Z̠DAZUNASŠAG. DBZUNBSŠBG. AA̠A BS ASԠB SAZUNASAVŠPSNS SBZUNB SZSNMVŠSԠUPN NP ẔDASN ADASPGԠ'S DAAɠADDSS PAZ.MSԠNDƠS MPZ̠YS DBZUNB SSBSSSHUDԠBŠUN? MPZ̠N SAZSAYS-SAVŠSԠADDSS SBZHNAZŠAP̠HAS SBZSAɠGϠDϠS ZԠDASNDSPAYSԠNUMBҠƠHAD DBZSױ5HKҠHAԠAԠNDƠS SBSԬ HԠ6BYSAԠҠPA DBZS9HKҠAB SBSԬ MPZUSҠYS DBZSױ3HKҠPNUN SBSԬ MPẔYS-P MPZ̠NNU Z̠DAZàUPDAŠPASSUN NA SAZ DBZPSAGԠPASSUN ADBZ.ADDSS SBϲASɠNVԠ SBMSGìɠA̠PNԠUN ZPSADƠZPS DBZSױHKҠPNDAG. 0SBSԬ MP+3YS DAZ HԠBNϠAԠANDDSPAYPASSUN DAZSNASŠGNA DBZSNBPGAM MPZàDϠԠA̠AGAN SKP MSSAGŠUPUԠHUԠHA ZMSGàNPNY SBZMSGUPUԠMSSAG Ԡ000SH0HK MPZMSGìɠUNϠA MSSAGŠUPUԠHHA ZMSGHNPNY SBZMSGUPUԠMSSAG Ԡ000SH0HK DAZHԠGԠHAԠD SA+PUԠԠNPA DAZSAVASŠAGS NPHAԠҠDSPAY MPZMSGHɠUNϠA ҠMSSAGŠHHA ZMSNPNY SBZMSGUPUԠMSSAG Ԡ000SHHK A DBZSױHKSҠBԠϠSUPPSS SBSԬɠHA SA+3PUԠHAԠNPA DAZSAVASŠAB DBZSAVB ZHԠNPAԠҠPA MPZMSɠUNϠA SKP UPUԠMSSAG ZMSGNP SAZSAVASAVŠAANDBGSS SBZSAVB DBZMSGɠGԠSHGSҠB DAZMSG ADAZ.MDMNԠUNADDSS SAZMSG SBSԬɠHKϠSUPPSSMSSAG MPZMSG0YS DAZMSGɠHKƠ DAA DAAɠƠS AƬA ANDZ. PAZA. SBZNHKϠUPUԠSԠNUMB DAZMSGɠNϠVŠMA DBAɠADDSS A SBMҬ ZMSG0DAZMSGɠNVԠHAԠD DBAɠMASɠSNG A SBASN SAZNAϠSAVŠSU ANDZ.300DD DBZHHAԠD PAZ.00 DBZH6 PAZ.00 DBZH3 PAZ.300 DBZH DAZNAϠGԠHAԠNUMB ANDZ. ҠB SAZHԠSAVŠ SZZMSGɠADUSԠUNPNS SZZMSG SZZMSG SZZMSG DAZSAVASŠAANDBGSS DBZSAVB MPZMSG SKP ZNNP DASNGԠSԠNUMB PAZԠSԠHŠSAMŠN? MPZNɠYSSKPUPU SAZԠNϠ-HNUPDAŠ SBZNAϠNVԠ SAZSNPUԠԠNSNG ADϠA SBSP AŠNDAŠSAԠƠMA DBZS SBMҬ MPZNɠUN ZSAVANP ZSAVBNP ZàNP ZSANP ZSNANP ZSNBNP ZUNANP ZUNBNP ZBMPNP Z.Ԡ Z.Ԡ Z.0Ԡ0 Z.60Ԡ60 Z.Ԡ Z.Ԡ Z.MDà- Z.MDà- ZD00Dà-00 ZMԠ00 ZSױ5Ԡ00000 ZSױԠ0000 ZSױ3Ԡ0000 ZSױԠ0000 ZSԠ0000 ZS9Ԡ000 Z.00Ԡ00 Z.00Ԡ00 Z.300Ԡ300 ZHԠ0000 ZH6Ԡ06000 ZH3Ԡ03000 ZHԠ0000 ZԠDà- ZSƠDƠ+ ASà3S ZSNASàد ZƠASà ZPSàASà6PASSد ZA.ŠԠ05 HDGNA̠UNS ZNAϠNP SAZADSAVŠNUMB ANDZ.NVԠS ҠZ.60NUMB SABSAVŠ DAZADG AҬAҠSND AҠNUMB ANDZ.NV ҠZ.60 AƬAƠMVŠϠUPPҠHA ҠBADD MPZNAϬɠANDUN SHGSҠHK ZSԠNP SAZNAϠSAVŠAGS ASנGԠSHG. ANDBMASKUԠB SZASSSԠUPh? SZZSԠN DAZNAϠSŠAGS BSנԠBSHGS MPZSԬɠUNϠA NAZŠAP̠HAS ZHNP DAZSHGԠSANGAP̠HA DBZ.GԠSԠAP̠AN ZSH̠SABɠPUԠԠNPA PBZ.AMɠNSHD MPZHɠYS NBNԠADDSS MPZSH ZSHԠ060 SKP PUԠSBNSUNNAP ZɠNP DBZSBɠGԠNSUN SBZSìɠPUԠԠNAP DAZɬɠGԠAN SA3BSAVŠԠҠSBNSUN SZZɠADUSԠUN MPZɬɠUNϠA ZSBɠSB3BɠSBNSUN NAZŠSԠDŠɯϠNSUNS ZSàNP SAZSàSAVŠSԠD SBZADSAVŠABŠADDSS Z̠DBZADɠGԠADDSSƠAN PBZ.MSԠHŠMNA MPZSìɠYSUNϠA DABɠNϠ-GԠNNS ANDZMMASKƠDSԠD ҠZSàADDNNנSԠD SABɠSŠ SZZADMVŠϠNԠADDSS MPZ̠DϠ ZSàNP ZADNP SKP NGUANSN ZNƠàNPàUNɯϠSYSM ASנGԠSԠDŠANDPNS SAUSSàSAVŠHM ANDZ.MNAŠPNS DBA MBNBHKHAԠSà ADBZ. SSB? MP+3KGϠN HԠ3BN MPZNƠYAGAN DBPNAZŠSԠɯ SBZSàNSUNS HԠBAנPAҠϠHANGŠS MPZSؠGϠϠàN̠SN Q HDBASàɯϠSS HU0B S00U NP DAUSSàGԠ̠AN ANDZ. SBZBϠDϠBASàɯ MPS00 ZBϠNP àNPàUNƠA̠ɯ DBZBDNAZŠBASàɯ SBZSàNSUNS NUPԠAGHK ZBϱSƠNP ƠNP SàNP SS MP+3 000SBMSɠ000Ơ0-Sà0 DƠZB00 SSNP MP+3 00SBMSɠ00Ơ0-SS0 DƠZB0 SƠNP SàNP MP+ ƠNPUNƠNS 00SBMSɠ00SƠ0-Sà0 DƠZB0 SSNP MP+3 ƠNPUNƠNUPS MPZBϲ ƠNPUNƠNS 003SBMSɠ003SƠ0-SS0 DƠZB03 MPZBϲ ZB00ASà000Ơ0-Sà0ү ZB0ASà00Ơ0-SS0ү ZB0ASà00SƠ0-Sà0ү ZB03ASà003SƠ0-SS0ү SKP ADAGHK ZBϲU ZBSSƠH ZBSƠH ZBS3SàH SS MP+3 005SBMSɠ005ƠH-SàH DƠZB05 ZBSSSH MP+3 006SBMSɠ006ƠH-SSH DƠZB06 ZBS5SƠH ZBS6SàH MP+3 00SBMSɠ00SƠH-SàH DƠZB0 ZBSSSH SS MPZB3 00SBMSɠ00SƠH-SSH DƠZBű0 MPZB3 ZB05ASà3005ƠH-SàHү ZB06ASà3006ƠH-SSHү ZB0ASà300SƠH-SàHү ZBű0ASà300SƠH-SSHү SKP NUPԠN ZB3SBZɠSԠSBNSUN DƠZB3 ZBS3SƠHSԠHŠ̾MAG ZBS3SàHSԠHŠN ƠNPUNɯϠSYSM NPGVŠԠAHANŠɠNUP NP ZBS33ƠHSԠHAG MPZBϴ ZB0ASà600Ơ0DDNԠNHBԠNԯ ZB3ŠNP ƠNPUNƠNS 00SBMSɠ00 DƠZB0 SKP SԠDŠSNS ZBϴDBZ.0SAԠHSԠADDSS ZB0DAUSSàGԠSԠD ANDZ. PBASԠHŠH? MPZ.+YS-SKPS DAZ.SƠSԠUP ANDZM ҠBSƠNSUN SAZ.SƠPUԠԠNPA DAZ.ƠSԠUP ANDZM ҠBƠNSUN SAZ.ƠPUԠԠNN ZBSƠHAҠHANN̠AG Z.SƠSƠHUŠSƠHNSUN ZBSSàHSԠHANN̠AG MPZB Z.ƠƠHAҠSԠAG PBZ.SSԠNSHD? MPZB5YS NBN MPZB0DϠNԠHANN ZBűASà0SƠؠSԠADAG ZBSBZBMPSAVŠNUMB DABNVԠHҠMSSAG SBZNA SAZBű+5 DAZBMPVŠNUMB 0SBMSɠ0 DƠZBű SKP HKNUPԠHD ZB5SBZ DƠZB5 ASԠUP SAZB5AGS SAZB5ҠS SAZBMP ZBS5SàHUNN ZBS5SƠHAD SƠNPANDNUPS Sà SƠ à ƠNϠNUP MP+ɠSHUDU DƠ+H SB+ɠ DƠ+ ZB5NP S<:6ZZBMPN.SHUDBŠH SZZBMP ƠNPUNɯϠSYSM DAZB5DDԠNUP? SZA MP+ 0SBMSɠ0NϠN DƠZBű MPZB6ABԠSԠƠSN DAZBMPHKҠԠNUP PAZ.? MP+3 06SBMSɠ06NԠUN DƠZBŲ6 ZBS53ƠHUNƠHAG MPZB6GϠϠNԠSN ZBD5DƠZB5- ZBD5ADƠZB5+ ZBűASà60NԠDUNGHDƠNSү ZBű3ASà03SNDNԠUD ZBűASà060NϠNԯ ZBű5ASà05NԠNADDҠү ZBŲ6ASà306NԠUNү SKP ZB5NP ƠNPUNɯϠSYSM DAZBD5HKϠSŠƠA PAZB5NSUNMPD MP+3YS 0SBMSɠ0NԠDUNGHD DƠZBű DAZBD5AHKUNADDSS DBPϠƠ0 SSBADDN NA PAZB5 MPZB5A 05SBMSɠ05NԠNADDҠ DƠZBű5 MPZB6 ZB5ASBZɠSԠSNDNԠAP DƠZB5 SƠNPUNɯϠSYSMN MPZB5ɠNNUŠS ZB5NP ƠNPUNɯϠSYSM 03SBMSɠ03SNDNԠUD DƠZBű3 .<  24351-18002 1347 S 0122               H0101  SKP àHANDà0 ZB6SBZɠSԠSBNSUN DƠZB6 ZBS6SàHSԠHN ZBS6SƠHSԠHAG SƠNPUNNNUPS ZBS63àHAҠHN NPGVŠԠAHAN NP ƠNPUNNS ZB60SBZɠSԠSBNSUN DƠZB6 ZBS6ƠHAҠHAG ZBS65SàHSԠHN ZBS66SƠHSԠHAG SƠNPUNNNS àNPAҠɯϠSYSM NPGVŠԠAHAN NP ƠNPUNƠNS MPZBϷ ZB6NP ƠNPUNƠNS 06SBMSɠ06àH DƠZBű6 MPZB60 ZB6NP ƠNPUNƠNS 0SBMSɠ0à0 DƠZBű MPZBϷ ZBű6ASà906àHү ZBűASà90à0ү SKP NA̠NNA̠PSԠS ZBϷDBZSHKϠSUPPSS SBSԬɠ? MPH05YS-SKPPSԠS H0SBMSGìɠ̠PA DƠZBMPSSPS ZBSƠHAҠHAG SƠNPUNNNS SBZɠSԠAP̠SBNSUN DƠZBɷ0 HԠBAԠҠPA ANASԠUPAGSҠSS SSNPHKNPAG ANԠSԠSϠAҠAG A̠MVŠϠNԠAG ƠNPUNƠNPS ZBSSSHHKHANN̠AG NANԠSԠSϠAG A̠MVŠϠNԠAG B0HKɯϠBUSS SZBSHUDBŠZ NANԠSϠAG A̠MVŠϠNԠAG SƠNPHKN̠NAD NPGVŠԠAHAN NP ƠNPUNƤNPS SKP ZB0SASSHKҠS MP+3 0SBMSɠ0DDNԠAҠN DƠZBŲ A SASS MP+3 03SBMSɠ03ɯϠNSNԠA DƠZBŲ3 A SASS MP+3 00SBMSɠ00AGNԠS DƠZBŲ0 A SASS MP+3 0SBMSɠ0DDNԠDABŠNS DƠZBŲ H05SBMSGìɠ̠PA DƠZBM5BASàɯϠSMP MPZBϬɠUNϠA ZBɷ0NPN̠AD ƠNPUNƠNPS NA MPZB0 ZBŲ0ASà00PS(ԩDDNԠSԠAG ZBŲASà90PS(NԩDDNԠDSABŠNS ZBŲASà00PS(ԩDDNԠAҠN̯ ZBŲ3ASà03PS(ԩDDNԠAҠ-ϠNS ZBMASàH0PSSPSԠ(ԦNԩUN ZBM5ASà0H05B-ϠMP SKP ZBDDƠ+ DƠZBS DƠZBS DƠZBS3 DƠZBS DƠZBS5 DƠZBS6 DƠZBS DƠZBS3 DƠZBS3 DƠZBS33 DƠZBS DƠZBS DƠZBS5 DƠZBS5 DƠZBS53 DƠZBS6 DƠZBS6 DƠZBS63 DƠZBS6 DƠZBS65 DƠZBS66 DƠZBS DƠZBS Dà- ZNDU HD65VDϠMNA̠DAGNS SPàDAGNSàUNNS SԠ-HAAҠS SԠ-DMAUPUԠS SԠ3-MMYHK SԠ-DԠMAؠHK SԠ5-USҠANDDSPAYS SԠ6-ASŠS SԠ-KYBADS SԠ-HϠS { SԠ9-DMANPUԠS SԠ0-SAҠHK SԠ-AGNMNԠSԠPAN SKP BASŠPAGŠDAAҠSԠN̠PGAM G6B DSNԠ000DAGNSàSA̠NUMB G0B PDƠDPPNҠϠɯϠNSUNAB SPDƠSDPNҠϠSԠAB HDMPDƠHDMSPNҠϠHADҠMSSAG SDAԠDAUԠSԠSԠ(0- SDBԠ0 BASŠPAGŠNSANSANDSUBUNS G50B MPNPMPAYSAG NҠNP .Ԡ .Ԡ .Ԡ .00Ԡ00 .00Ԡ00 ....Ԡ00000 .MDà- .M0Dà-0 KDԠU0BDUMMYMNA̠SԠD SױU.BԠMASK SײԠBԠMASK S3Ԡ0BԠ3MASK S״Ԡ0BԠMASK NPSנԠ000BSAND-NϠPAҠMASK ƠԠ6 ƠԠNŠD .0Ԡ0 .Ԡ .3Ԡ3 D500Dà500 .MDà- DMDà- DMDà- DMDà- DM9Dà-9 DM0Dà-0 DMDà- DM5Dà-5 DMDà- DM9Dà-9 DM39Dà-39 DM0Dà-0 M0Dà-0 BPԠB̠-N̠G MPDƠZɠPNҠϠAP̠SԠUN HAҠNPDSPAYHAA SHAҠNPSAԠHAA NҠNPNUMBҠƠHAASNAN SKP UPUԠϠKD AKDԠNP SZASSUPUԠ̠HAAS? MPAK̠YS SAAKSVSAVŠHŠHAA SSASSSԠAMMAND? MPAKԠNϠ-UPUԠA-GS ASñAKDԠYS-DϠ AKؠDAAKSVSŠHŠA-GS MPAKDԬɠANDUN AKԠAƬAƠUPPҠHAAҠS AND.MASKƠUNANDBS SZASԠAHAA SBAKDԠYS-ANSҠ DAAKSVDϠHŠH"ҠHA AND.MASKƠUNANDBS SZASԠAHAA SBAKDԠYS-ANSҠ MPAKؠNϠ-UNϠA AK̠SBAKDԠUPUԠHŠNU̠HAAS A̠Ҡ9600BAUD SBAKD A SBAKD MPAKDԬɠUNϠANGUN AKSVNPHAAҠHDAA AKDԠNP ASñAKDԠGVŠԠϠMNA ASòSàKDԬà A AS3SSKDԠAԠ MPAKԠANSҠMP ASôàKDԬàUNƠMNA MPAKDԬɠ AKԠNASZAAԠϠNG? MPAS3NϠ-GϠHKҠMPNAGAN AS5àKDԬàYS-AҠMNA 05SBMSɠPԠ DƠMS05 MPAKDԬɠUNϠANGUN MS05ASà605-ϠAGNԠSԠAҠDAA ASàUPUԯ SKP UPUԠDAAPANAB ƠH.SPS.UPUԠBHHAAS ƠH.SNG.USŠUPPҠASHAAҠP.UN PDPԠNP SBMPSAVŠPNҠASADDSS PDPBSԠҠHAASU DAMPɠGԠHS.MAB PA.MSԠHŠMNA MPPDPԬɠYS-UNϠA SSASSN-SԠAMUYH.UPU MPPDԠNϠ-SKPSUP Ҡ.3 AƬAƠ SABSԠUPUN DAMPɠ AND. PDԠSBAKDԠGϠUPUԠAD NBSZBUPUԠAGAN? MP-YS SZMPN-MVŠϠNԠH. MPPDPGϠDSPAY KDԲANP DAMDA̠ҠNPU KDSñAKD KDSòSàKDԬ KDS3SàKD MPKDSô DBSײHKҠAB SBSԬ SS MPKDS3 DAM0BԠSԠ-ABԠNPUԠP NASZAsMŠUԠPϠSUPPSS MP-ԠƠNAԠBUN DBSײAԠҠBԠϠBŠAD SBSԬ MP- MPKDS5BԠAD-UN KDSôAKD AND.MASKƠPAYB SZKDԲAADUSԠUNҠDAA KDS5àKDԬàUNƠMNA DBMDSŠUPUԠMMAND KDS6BKD MPKDԲA MDԠ0000NPUԠNYMMAND SKP PPAŠMNA̠HAҠMMAND PPNP DAMDUPUԠMMAND SBAKD DAAҠAҠDSPAY SBAKD ASNDNŠNU̠HAAҠ SBAKDԠDAYMŠAԠ9600BAUD MPPP MDԠ0000PNԠNYMMAND AҠԠ5505AҠ-Sà AԠ5SNDS(.5SNDSƠS.G.BԠ3SN HNHKS.G.BԠҠPAUS PAUSŠNP DBS3SH3UP? SBSԬ MP+3YS-GϠPAUSŠҠ.5SNDS DA.5SàNϠ-PAUSŠҠ5SNDS SS DAD500 SBMҬɠGϠϠMҠUN DBSױSHUP? SBSԬ MP-YS-P MPPAUSŬɠN-UN .5SàDà5000 UNNMA̠ƠBԠƠSHGSҠSN HSŬNMNԠUNADDSSBYNŬHNUN UNNP DBS״HBԠMASK SBSԬ MPUNɠYS-UNMMDAY SZUNNϠ-NMNԠUN MPUNɠUN SKP DMAɯϠUNS DMANPɯϠNDMAHANN̠ SADMAײSAVŠDMAN̠D SBDMA3ANDN̠D3 DADMAɠSԠUPNԠUNŠҠɯ SADMASNDMA DMADDADMAD̠HADDSSƠDƠS SAMP DMA̱DBMPɠHDMAMMANDADDSS 7pSZBSSNDƠS? MPDMAϠYS-GϠUŠɯ DABɠHDMAMMAND DMASNPSԠUPҠHҠDMAҠ SABɠSŠMMAND SZMPNMNԠϠNԠMMAND MPDMA̱DϠNԠMMAND DMANPɯϠNDMAHANN̠ SADMAײSAVŠDMAN̠DS SBDMA3 DADMAPUԠUNNϠDMA SADMA DA.00 ANDP SZASDMAAVAAB? MPH05NϠ-GϠPԠUNAVAAB DADMAɠSԠUPNԠUNŠҠɯ SADMASNDMA MPDMADGϠϠNԠUN DMAɠAND.MSԠUPҠDMA DMAɠҠ.SԠUPҠDMA DMAϠDADMAױGԠSԠDMAN̠D DMAñA6UPUԠSԠN̠D DMAòàSԠUPDMAҠN̠D DBDMAײ DMA3BSNDϠDMA DMAôSàSԠUPDMAҠN̠D3 DADMA3 DMA5ASNDϠDMA DADMAPSԠUPNUP DMA6SA6 SƠ0UNNNUPԠSYSM DMAKSàKDԬàSAԠMNA DMA÷Sà6àSAԠDMA SSBSԠNPU? MPDMAPYS-GϠϠNPUԠAԠP DA.5SàN SBMҬɠAԠ5SNDSҠMPN Ơ0ϠNG-UNƠNUP DMAøSƠ6UNƠDMA DMA9à6 00UҠHAԠ00AND0 0SBMSɠNϠNUPԠNDMAUPU DƠMS00 MPDMAƱA̠UN MS00ASà0 DMAAASà90NϠNԠNDMA DMAPDBSײ SBSԬɠBԠS? SSYS-GϠAԠҠS MPDMAPNϠ-NNUŠPNG DAM0MŠUԠPϠSUPPSS NASZAԠƠNAԠBUN MP-N5'SAND6'S DBSײ SBSԬɠBԠS? "MP-NϠ-NNUŠPNG Ơ0YS-MNAŠS DMABSƠ6SŠUԠDMA DMAàà6 DAMDSŠMNA̠ϠUPU SBAKD AZϠA-GNDASNDNPU MPDMAKUNA DMADNƠ0DMAMPŠ-UNƠNUP DMADà6àAҠDMA A DMAKSSKDԠSMNA̠DN? MPDMAԠNϠ-HKҠMŠU SZDMAYS-NMNԠUN DMAK3àKDԬàUNƠMNA MPDMAɠUNSUSSU DMAԠNASZAAԠϠNG? MPDMAKNϠ-HKAGAN 0UҠHAԠ0AND03 03SBMSɠDMA-ϠNMP DƠMS0 MPDMAƱA̠UN MS0ASà0 DMAŠASàDMA-ϠNMPů H05SBMSGìɠMSSAGŠ05 DƠMS05NϠDMA MPDMAƱA̠UN MS05ASàH05NϠDMA DMAƱANGAVŠA-GMANSҠ DMAKàKDԬàUNƠMNA MPDMAɠUNA DMAױԠ00000DMAN̠D DMAײNPDMAN̠D DMA3NPDMAN̠D3 DMAPMPDMADNUMPҠNUP DMAD̠DƠ+PNSϠDMASԠDS DƠDMAñ DƠDMAò DƠDMA3 DƠDMAô DƠDMA5 DƠDMA6 DƠDMA÷ DƠDMAø DƠDMA9 DƠDMAA DƠDMAB DƠDMA DƠDMAD DƠDMA NPNDƠS HKDMAAVAABY DMAKNP DBPϠHMPUҠYPŠANDPNS BƠMASK DABU AND.MPUҠYP ADADM SSASSSԠA5Ҡ6? MPDMAKɠNϠ-UNA DA.00 ANDB SZASSSDMAPNPSN? MPH0NϠ-DSPAYMSSAG SZDMAKYS-NMNԠUN MPDMAKɠUNSUSSU H0SBMSGì DƠMS0 MPDMAKɠUNA MS0ASà6H0NϠDMA SKP PNSϠSAԠƠAHS SDU DƠS00BASàɯϠSS DƠHSԠHAAҠS DƠDMAϠDMAUPUԠS DƠMMYMMYS DƠDԠDԠMAؠS DƠUSҠUSҠANDDSPAYS DƠASŠASŠS DƠKYBDKYBADNPUԠS DƠHϠHϠNPUԠS DƠDMANDMANPUԠS DƠSàSAҠHK DƠAGNAGNMNԠSԠPAN Dà-NDƠABŠ PNSϠSԠSԠDŠɯϠNSUNS DPU DƠSS DƠASñ DƠASñ DƠASò DƠAS3 DƠASô DƠAS5 DƠKDSñ DƠKDSò DƠKDS3 DƠKDSô DƠKDS5 DƠKDS6 DƠDMAK DƠDMAK DƠDMAK3 DƠDMAK DƠDMAױ DƠDMԱ DƠDMԲ DƠSK Dà-NDƠABŠ HADҠMSSAG HDMSASà665VDϠMNA̠DAGNSï SKP DMAHANN̠DNҠNŠҠDMAUPUԠS DMPDƠ+ Ԡ0D Ԡ5M Ԡ0A Ԡ0 Ԡ03 Ԡ0H Ԡ0A Ԡ6N Ԡ6N Ԡ05 Ԡ Ԡ0 DMNMNP SKP SԠ-HAAҠS GZNDSŠAҠN̠PGAM HSԠNP SBPPAҠSN DA.0SԠNA̠SAԠHAA SASHA DADM5DSPAY5NS 0OSAN H̱DADM99HAASPҠN SAN DASHAҠGԠSAԠHAA SAHA SZSHAҠSԠSAԠHAAҠҠNԠN H̲SBHԠDSPAYHAA SZNҠNDƠN MPH̲NϠ-GϠDSPAYNԠHAA SZNҠYS-ASԠN MPHNNϠ-GϠUPUԠ- SBPAUSŠYS-AԠҠBSVAN SBPP MPHSԬɠUNϠ HNDA SBAKDԠUPUԠ- MPH̱DϠNԠN HԠNP DAHAҠUPUԠHAA SBAKD NASԠϠNԠHAA PAMH DA.0APAUNDƠND SAHA MPHԬ MHҠU.HGHSԠDSPAYABŠHAA SKP SԠ-DMAUPUԠS DMAϠNP SBDMAKANDMASSBŠUN? MPDMAϬɠNϠ-UNϠ DMSSBPPAҠSN DADMDϠNSH- SAN DM̱SBDMɱNAZŠҠUPU SBDMAUPUԠHUGHDMA MPDMؠA̠-UNϠ SZN MPDM̱PMS DADMP+GԠHAAҠ'' SBDMɲNAZŠҠDMAHANN̠MSS SBDMA MPDMؠA̠-UNϠ SBPAUSŠAԠҠBSVAN SBUNPNSUBS? MPDMSYS-GϠϠSAԠƠSUBS DMSSBPPAҠSN DADMYDMA SAN DM̲SBDMɱNAZŠҠUPU SBDMAUPUԠNDMA MPDMؠA̠-UNϠ SZN MPDM̲DϠNSH- DADMP+GԠHAAҠ'' SBDMɲNAZŠҠDMAHANN̠MSS SBDMADSPAYASԠN MPDMؠA̠-UNϠ SBPAUSŠAԠҠBSVAN SBUNPNSUBS? MPDMSYS-GϠϠSAԠƠSUBS DMؠSBPPAҠSN MPDMAϬɠUNMP DMɱNPSԠUPҠUPU DAƠSŠNŠDHAA SADMƠAԠNDƠUPUԠBU HSSPSAKNϠSŠHŠASԠHAAҠƠH UPUԠBUҠHHMAYBŠADBY00DMAƠ'HA' SPSSDBŠDMASMP DADMPԠHBUҠADDSS DBAɠHSԠHAA DMԱBKDԠSNDϠNA NANMNԠBUҠPN DBDM0HBUҠNGH MPDMɱɠUN DMɲNPSԠUPҠDMAHANN̠MSSAG SADMNMSŠHANN̠NUMB DADMPHBUҠADDSS DBAɠHSԠHAAҠƠMSSAG DMԲBKDԠSNDԠϠHŠNA NANMNԠBUҠPN DBDMHBUҠNGH MPDMɲɠUN DMPԠDƠ+ DMBSUDMP-0BDNŠUPUԠPAN P9M!(BϠSMA̠Ϡ(5B DƠ-DMBS Ԡ5AAGŠUN DMƠԠNŠD SKP SԠ3-MMYHK G000BŠϠNԠPAG MMYNP SBPPAҠSN DBHMDNHMŠDNBYDNGNŠDS SBPDP DADMNS SAN DAMS?HAASҠSԠN MM̱DBDM39HAASPҠN SBAKD NBSZBNŠNSHD MP-N SAMPYS SZN MPMMԠGϠDϠNԠN SBPAUSŠA SBPPAҠSN MPMMYɠUNϠ MMԠDAD500AԠϠGVŠPA SBMҬɠBSVANM DAƠDϠ SBAKD A B@ 10B; HENCE OK LDB BGIN BAD SELECT CODE - IS IT NECESSARY INB LDB B,I SSB JMP OK001 IS OKAY - NOT NEEDED HLT 1 BAD SELECT CODE JMP INIT GO RESTART OK001 STA SC JSB INSTR JMP GETSC,I INSTR NOP ADD C(SC) TO I/O INSTRUCTIONS ISZ BGIN LDB BGIN,I GET THE ADDRESS SSB JMP INSTR,I ADB CORE LDA SC ADA B,I STA B,I JMP INSTR+1 HED LOADER SIZED LDA CORE AND MB64 WIPE OUT THE EXTRA '2' STA CORE ADA MB64 CMA,INA STA TOPS CALCULATE MAXAD LIA 1 GET LOADER NUMBER ALF AND B17 ADA TLODR INDEX THE TABLE LDB A,I SZB IS IT LEGAL? JMP LEGAL CMA,INA NOPE! ADA TLODR CMA,INA LEAVE IT IN READABLE FORM HLT 2 BAD LOADER NUMBER! JMP INIT GO RESTART LEGAL LDA B,I GET THE LENGTH STA LEN ADA CORE STA CORE CALCULATE START ADDRESS STA SC STB BGIN * * DO THE TRANSFER * XFER ISZ BGIN LDA BGIN,I STA CORE,I CPA CORE,I SEE IF THE INSTR. WAS STORED OK JMP STROK HLT 3 , INSTRUCTION NOT STORED CORRECTLY JMP INIT LET^S TRY AGAIN! STROK ISZ CORE NEXT LOCATION TO STORE AT ISZ LEN JMP XFER * * NOW DO THE SELECT CODES * LDA SC STA CORE LIA 1 GET READER SELECT CODE JSB GETSC LIA 1 GET DISC SC ALF,ALF RAL,RAL JSB GETSC LDA TOPS STA SC JSB INSTR DO MAXAD CALCULATION ISZ BGIN LDB BGIN,I JMP B,I GO DO ANY SPECIAL PROCESSING STOP EQU * HLT 77B JMP INIT B2 OCT 2 SUP TLODR DEF *+1 DEF LODR0 BASIC BINARY LOADER DEF LODR1 BASIC BINARY DISC LOADER DEF LODR2 DOS-III/RTE 7900A DISC LOADER DEF LODR3 DOS-III 2883A D SC LOADER DEF LODR2 DOS-III/RTE 2870A DISC LOADER DEF LODR5 MAG TAPE REFORM. SYS. BOOT DEF LODR6 DOS-III/RTE 7905A DISC LOADER DEF LODR7 ACCESS IOP PROTECTED LOADER DEF LODR8 2644 BOOT DEF LODR9 ABS MAG TAPE LOADER DEF LOD10 SCE/1 BBL DEC 0,0,0,0,0,0 HED BASIC BINARY LOADER (BBL) * * BASIC BINARY LOADER (BBL) * LODR0 DEC -64 OCT 107700,063770,106501,004010 OCT 002400,006020,063771,073736 OCT 006401,067773,006006,027717 OCT 107700,102077,027700,017762 OCT 002003,027712,003104,073774 OCT 017762,017753,070001,073775 OCT 063775,043772,002040,027751 OCT 17753,044000,000000,002101 OCT 102000,037775,037774,027730 OCT 017753,054000,027711,102011 OCT 027700,102055,027700,000000 OCT 017762,001727,073776,017762 OCT 033776,127753,000000,103700 LDR00 EQU *-1 OCT 102300,027764,102500,127762 LDR01 EQU *-4 LDR02 EQU *-2 OCT 173775,153775,000000,177765 LDR03 EQU *-2 OCT 000000,000000,000000,000000 ABS LDR00-LODR0-1 ABS LDR01-LODR0-1 B66 EQU * ABS LDR02-LODR0-1 OCT 100000  SECTION SEPERATOR OCT 100000 SECTION SEPERATOR ABS LDR03-LODR0-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING SKP HED 2644 BASIC BINARY LOADER * * 2644 BASIC BINARY LOADER 12966-12968 ONLY * LODR8 DEC -64 OCT 063773,073702,063763,037702 OCT 103600,053771,027717,001727 LDR80 EQU *-4 OCT 013772,002002,027702,103700 LDR81 EQU *-1 OCT 102300,027714,027702,017750 LDR82 EQU *-4 OCT 005727,007007,102077,006021 OCT 102000,077776,017750,077774 OCT 077775,017750,063775,043777 OCT 002040,102055,177775,047774 OCT 077774,037775,037776,027731 OCT 017750,057774,027717,102011 OCT 000000,006700,102500,002021 LDR83 EQU *-2 OCT 027752,013772,044000,002041 OCT 127750,005767,027752,150077 OCT 040740,030003,000033,050077 OCT 000145,040340,000377,063763 OCT 000000,000000,000000,170100 LDR84 EQU *-1 OCT 100000 ABS LDR80-LODR8-1 ABS LDR81-LODR8-1 ABS LDR82-LODR8-1 ABS LDR83-LODR8-1 OCT 100000 ABS LDR84-LODR8-1 OCT 100000 DEF STOP SKP HED ABS MAG TAPE BINARY LOADER * * ABS MAG TAPE BINARY LOADER * LODR9 DEC -64 OCT 102501,013775,003007,027714 OCT 073777,067771,017761,102301 LDR90 EQU *-1 OCT 027707,067773,037777,027706 OCT 067772,017761,103700,017740 LDR91 EQU *-2 OCT 005727,007004,077777,017740 OCT 074000,077776,017740,177776 OCT 040001,037776,037777,027726 OCT 017740,054000,017740,102011 OCT 000000,102300,027745,107500 LDR92 EQU *-3 LDR93 EQU *-1 OCT 127740,102301,027741,102501 LDR94 EQU *-3 LDR95 EQU *-1 OCT 013774,067777,001727,002020 OCT 102077,002003,006002,102000 OCT 027714,000000,106601,102501 LDR96 EQU *-2 LDR97 EQU *-1 OCT 001323,001310,027762,103701 LDR98 EQU *-1 OCT 127761,001501,001423,00020s3 OCT 016263,000077,000000,000000 OCT 100000 ABS LDR90-LODR9-1 ABS LDR91-LODR9-1 ABS LDR92-LODR9-1 ABS LDR93-LODR9-1 ABS LDR94-LODR9-1 ABS LDR95-LODR9-1 ABS LDR96-LODR9-1 ABS LDR97-LODR9-1 ABS LDR98-LODR9-1 OCT 100000 OCT 100000 DEF STOP SKP HED SCE/1 91700-16160 BOOT * * SCE/1 BOOT HALT VERSION * LOD10 DEC -64 OCT 107700,103500,102500,063775 LD100 EQU *-4 LD101 EQU *-3 LD102 EQU *-2 OCT 017743,063730,017743,003004 OCT 017743,001363,102401,017743 OCT 102600,017760,057775,027765 LD103 EQU *-4 OCT 077777,006021,102013,017760 OCT 077776,077743,106601,017760 OCT 177776,037776,047743,077743 OCT 037777,027727,017753,063774 OCT 057743,063773,027714,000000 OCT 102600,017753,057773,127743 LD104 EQU *-4 OCT 057774,027744,102012,000000 OCT 102300,027754,106500,127753 LD105 EQU *-4 LD106 EQU *-2 OCT 000000,017753,063773,102600 LD107 EQU *-1 OCT 127760,017760,017760,017760 OCT 006002,102011,102077,170360 OCT 007417,170017,000000,000000 OCT 100000 ABS LD100-LOD10-1 ABS LD101-LOD10-1 ABS LD102-LOD10-1 ABS LD103-LOD10-1 ABS LD104-LOD10-1 ABS LD105-LOD10-1 ABS LD106-LOD10-1 ABS LD107-LOD10-1 OCT 100000 OCT 100000 DEF STOP HED BASIC BINARY DISC LOADER (BBDL) * * BASIC BINARY DISC LOADER (BBDL) * ORG 3677B LODR1 DEC -64 ST2 CLC 0,C CLA,RSS CONT2 LDA CM21 CLB,CCE JSB READ2 LEDR2 CMB,CCE,INB,SZB JMP RECL2 EOTC2 INA,SZA JMP CONT2+1 HLT 77B JMP ST2 RECL2 STB CNT2 JSB READ2 JSB READ2 STB A STB ADR11 SUCID LDB ADR11 ADB MAXAD SEZ JMP RESCU LOAD2 JSB READ2 ADA B CM21 STB ADR11,I ISZ ADR11 CLE  ISZ CNT2 JMP SUCID JSB READ2 CPB A JMP CONT2 HLT 11B JMP ST2 RESCU HLT 55B JMP ST2 READ2 NOP CLB,CME LDR10 EQU * RED2 STC PR,C LDR11 EQU * SFS PR JMP *-1 LDR12 EQU * MIB PR,C SEZ,RSS JMP READ2,I BLF,CLE,BLF JMP RED2 CNT2 NOP LDR16 EQU * MAXAD NOP LDR13 EQU * CWORD ABS 20000B+DC ADR11 NOP DLDR CLC 0,C LDA CWORD OTA 6 CLA,CCE LDR14 EQU * OTA CC ERA OTA 2 LDA WRDCT STC 2 OTA 2 STC 6,C LDR15 EQU * STC DC LDB JMP77 STB 77B JMP77 JMP 77B WRDCT OCT -100 * ABS LDR10-LODR1-1 ABS LDR11-LODR1-1 ABS LDR12-LODR1-1 OCT 100000 SECTION SEPERATOR ABS LDR13-LODR1-1 ABS LDR14-LODR1-1 ABS LDR15-LODR1-1 OCT 100000 SECTION SEPERATOR ABS LDR16-LODR1-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 7900) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(7900) ] * ORG 5677B LODR2 DEC -64 * * PAPER TAPE BOOTSTRAP * * STARTING ADDRESS - X7700B * BE2 CLA,RSS START LDA .EOT GET HOLE COUNT AGIN CLC 0,C CCE,INA,SZA,RSS END OF TAPE? HLT 77B YES - GOOD HLT JSB WORD GET NEXT CHARACTER CMB,CCE,INB,SZB,RSS IS IT WRD CNT? JMP AGIN NO-GET NEXT CHAR * TEST STB WDCNT STORE B-REG IN WRD CNT JSB WORD GET NEXT CHAR JSB WORD GET ADDRESS WORD STB A STORE LOOP STB ADDR ADDRESS WORD * ADB LOADR ADD TO LOADR ADDRESS SEZ,CLE IS IT BEYOND LWAM? ADDR2 HLT 55B YES- SUICIDE LOAD * JSB WORD NO-GET NEXT WORD .EOT STB ADDR,I PUT WORD IN CORE ADA B ADD TO CHECKSUM LDB ADDR" CLE,INB ISZ WDCNT INCREMENT WORD COUNT JMP LOOP NOT DONE-GET NEXT WORD * JSB WORD GET CHECKSUM WORD CPB A COMPARE TO COMPUTED VALUE JMP START OK-TRY NEXT RECORD ADDR1 HLT 11B CHECKSUM ERROR * WDCNT NOP LDR2F EQU * LOADR NOP * WORD NOP CLB CLEAR B TO MERGE * LDR20 EQU * CHAR STC PR,C GET CHAR LDR21 EQU * SFS PR FROM PHOTOREADER MASK JMP *-1 LDR22 EQU * MIB PR,C * SEZ,CME IF 2ND CHAR, JMP WORD,I RETURN BLF,BLF IF 1ST CHAR, JMP CHAR GET 2ND * ADDR NOP * * DISC BOOTSTRAP -- LOADS DISC PRE-BOOT PROCESSOR FROM * TRACK 0, SECTOR 0, DRIVE 0 * HEAD # INPUT FROM SWITCH REG * * STARTING ADDRESS - X7750B * *** "PRESET" MUST BE PRESSED * SEEKC OCT 30000 LDB MASK LDR23 EQU * OTB CC ISSUE READ COMMAND LDR24 EQU * STC CC,C START READ TO CLEAR 1ST STATUS LDA SEEKC LDR25 EQU * OTA DC ISSUE CYCLINDER ADDR (0) LDR26 EQU * STC DC,C TELL CTRL. CYL. ADDRS IS LOADED LDR27 EQU * OTA CC ABORT READ, SEND SEEK COMND LDR28 EQU * STC CC,C START SEEK LDA DMACW OTA 6 ISSUE DMA CONTROL WORD LDA ADDR1 OTA 2 ISSUE START MEM ADDR (2011B) LDR29 EQU * STC DC,C TELL CNTR. HEAD/SECT LOADED STC 2 SET FOR WORD COUNT OTA 2 ISSUE WORD COUNT (HUGE) LDR2A EQU * OTB CC ISSUE READ COMND LDR2B EQU * STC DC,C PREVENT SPURIOUS DMA TRANS. STC 6,C START DMA LDR2C EQU * STC CC,C START DISK READING LDR2D EQU * SFS CC WAIT FOR DISK TRANS (6144 WORDS) JMP *-1 JSB ADDR2,I DONE; JUMP INTO MEM (2055B,I) LDR2E EQU * DMACW ABS 120000B+DC ABS LDR20-LODR2-1 s ABS LDR21-LODR2-1 ABS LDR22-LODR2-1 OCT 100000 SECTION SEPERATOR ABS LDR23-LODR2-1 ABS LDR24-LODR2-1 ABS LDR25-LODR2-1 ABS LDR26-LODR2-1 ABS LDR27-LODR2-1 ABS LDR28-LODR2-1 ABS LDR29-LODR2-1 ABS LDR2A-LODR2-1 ABS LDR2B-LODR2-1 ABS LDR2C-LODR2-1 ABS LDR2D-LODR2-1 ABS LDR2E-LODR2-1 OCT 100000 SECTION SEPERATOR ABS LDR2F-LODR2-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 2883) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(2883) ] * LODR3 DEC -64 OCT 002701,063722,002307,102077 OCT 017735,007307,027702,077733 OCT 017735,017735,074000,077734 OCT 067734,047777,002040,102055 OCT 017735,040001,177734,037734 OCT 000040,037733,027714,017735 OCT 054000,027701,102011,000000 OCT 000000,000000,006600,103700 LDR30 EQU *-1 OCT 102300,027740,106400,002041 LDR31 EQU *-4 LDR32 EQU *-2 OCT 127735,005767,027737,177600 OCT 063775,102601,103701,102301 LDR33 EQU *-3 LDR34 EQU *-2 LDR35 EQU *-1 OCT 027753,067776,106606,067732 OCT 106602,102702,067747,106602 OCT 001000,106701,102601,103700 LDR36 EQU *-3 LDR37 EQU *-2 LDR38 EQU *-1 OCT 103706,103701,102301,027772 LDR39 EQU *-3 LDR3A EQU *-2 OCT 127717,020000,120000,000000 LDR3B EQU *-2 LDR3C EQU *-1 ABS LDR30-LODR3-1 ABS LDR31-LODR3-1 ABS LDR32-LODR3-1 OCT 100000 SECTION SEPERATOR ABS LDR33-LODR3-1 ABS LDR34-LODR3-1 ABS LDR35-LODR3-1 ABS LDR36-LODR3-1 ABS LDR37-LODR3-1 ABS LDR38-LODR3-1 ABS LDR39-LODR3-1 ABS LDR3A-LODR3-1 ABS LDR3B-LODR3-1 OCT 100000 SECTION SEPERATOR ABS LDR3C-LODR3-1 OCT 100000 SECTION SEPERATOR DEF STOP NO PROCESSING HED BASIC MOVING-HEAD DISC LOADER (BMDL 2870) * * BASIC MOVING-HEAD DISC LOADER [ BMDL(2870) ] * * SEE BMDL FOR 7900 * HED MAG TAPE REFORMATTING SYSTEM LOADER * * MAGNETIC TAPE REFORMATTING SYSTEM BOOTSTRAP * LODR5 DEC -64 OCT 063775,102601,103701,106501 LDR50 EQU *-3 LDR51 EQU *-2 OCT 007307,067767,077773,063774 OCT 102601,102501,001323,001310 LDR52 EQU *-4 LDR53 EQU *-3 OCT 027707,103701,103700,063773 LDR54 EQU *-3 LDR55 EQU *-2 OCT 006645,027725,067766,077777 OCT 067771,002042,027707,102201 LDR56 EQU *-1 OCT 027741,102300,027727,103500 LDR57 EQU *-3 LDR58 EQU *-1 OCT 173777,006011,037777,004065 OCT 027731,005500,073777,067773 OCT 063776,002240,002003,027754 OCT 033765,006007,070002,000040 OCT 006020,027706,102501,013772 LDR59 EQU *-2 OCT 002002,102001,006003,027706 OCT 063770,024000,000000,177774 LDR5A EQU *-2 OCT 102070,001677,000202,000000 OCT 000023,001501,000000,000000 OCT 100000 SECTION SEPERATOR ABS LDR50-LODR5-1 ABS LDR51-LODR5-1 B10 EQU * ABS LDR52-LODR5-1 ABS LDR53-LODR5-1 ABS LDR54-LODR5-1 ABS LDR55-LODR5-1 ABS LDR56-LODR5-1 ABS LDR57-LODR5-1 ABS LDR58-LODR5-1 ABS LDR59-LODR5-1 OCT 100000 SECTION SEPERATOR OCT 100000 SECTION SEPERATOR DEF *+1 SOME PROCESSING TO DO! LDB TOPS CMB,INB ADB B66 LDA B ADA B10 STA B,I JMP STOP HED 2000 ACCESS IOP PROTECTED LOADER * * 2000 ACCESS IOP PROTECTED LOADER * LODR7 DEC -64 OCT 163774,027751,107700,002702 OCT 063772,002307,027760,017736 OCT 007307,027705,077770,017736 OCT 017736,074000,077771,067771 OCT 047773,002040,102055,017736 OCT 040001,177771,037771,000040 OCT 037770,027717,017736,054000 OCT 027704,102011,000000,006600 OCT 103700,102300,027741,106400 q OCT 002041,127736,005767,027740 OCT 163775,043765,073741,043766 OCT 073740,043767,073743,027702 OCT 063777,067776,102077,027702 OCT 000000,102300,001400,002500 OCT 000000,000000,177746,000000 OCT 003776,003777,000000,000000 LDR70 EQU *-1 LDR71 EQU *-2 LDR72 EQU *-5 ABS LDR70-LODR7-1 OCT 100000 SECTION SEPARATOR ABS LDR71-LODR7-1 OCT 100000 SECTION SEPARATOR LDR73 ABS LDR72-LODR7-1 OCT 100000 SECTION SEPARATOR DEF *+1 START EXTRA PROCESSING LDB CORE ADB LDR73 INB LDA LDR72+1 IOR CORE STA B,I INA INB STA B,I JMP STOP HED BASIC MOVING-HEAD DISC LOADR [ BMDL(7905) ] * * BASIC MOVING-HEAD DISC LOADER [ BMDL(7905) ] * ORG 7677B LODR6 DEC -64 * * PAPER TAPE BOOTSTRAP * * STARTING ADDRESS - X7700B * BE6 CLA,RSS ST6 LDA .EOT6 GET HOLE COUNT AGIN6 CLC 0,C CCE,INA,SZA,RSS END OF TAPE? HLT 77B YES - GOOD HLT JSB WORD6 CMB,CCE,INB,SZB,RSS IS IT WRD CNT? JMP AGIN6 NO-GET NXT CHAR * STB WCNT6 STORE B-REG IN WRD CNT JSB WORD6 GET NEXT CHAR JSB WORD6 GET ADDRESS WORD STB A STORE LOOP6 STB ADDR6 ADDRESS WORD * ADB LOAD6 ADD TO LOADR ADDRESS SEZ,CLE IS IT BEYOND LWAM? ADR26 HLT 55B YES-SUICIDE LOAD * JSB WORD6 NO-GET NEXT WORD ADA B ADD TO CHECKSUM .EOT6 STB ADDR6,I PUT WORD IN MEMORY LDB ADDR6 CLE,INB ISZ WCNT6 INCREMENT WORD COUNT JMP LOOP6 NOT DONE-GET NEXT WORD * JSB WORD6 GET CHECKSUM WORD CPB A COMPARE TO COMPUTED VALUE JMP ST6 OK-TRY NEXT WORD ADR16 HLT 11B CHECKSUM ERROR * WCNT6 NOP LDR67 EQU * LOAD6 NOP * WORD6 NOP CLB CLEAR B TO MERGE * LDR60 EQB@ EXTRA BIT IGNORED LDR63 EQU * CLC DC SET "NEXT WRD IS COMND FLG" LDR64 EQU * OTA DC,C SEND COLD LOAD COMND STC 6,C START DMA LDR65 EQU * SFS DC WAIT UNTIL COMPLETED JMP *-1 JSB ADR26,I START BOOT LDR66 EQU * DMAC6 ABS DC ADR36 OCT 2055 * ABS LDR60-LODR6-1 ABS LDR61-LODR6-1 ABS LDR62-LODR6-1 OCT 100000 SECTION SEPERATOR ABS LDR63-LODR6-1 ABS LDR64-LODR6-1 ABS LDR65-LODR6-1 ABS LDR66-LODR6-1 OCT 100000 SECTION SEPERATOR ABS LDR67-LODR6-1 OCT 100000 SECTION SEPERATOR DEF STOP END INIT cB  24360-18001 1420 S 0122 0112909B PROM WRITER DIAGNOSTIC             H0101 ' ASMBABì̬ HD909APMҠDAGNS G SKP SUP SHGSҠDNN BԠMANNG 0SAԠNAZAN DϠADDSSDAANPUԠS DAAUPUԠSԠ(S̩ 3BUNPMHSԠPAN ADPMAP 5VYBANKPM 6BUNPMϠPANADDN VYBUNDPM ADNŠPMAN 9ŠNŠPMAN 0DUMPPMNNSϠNS PYPMNNSϠPANBU APŠADҠNABŠ(APPSϠ3 3SUPPSSA̠MSSAGS SUPPSSNNҠMSSAGS 5SAԠSԠSN SKP ɯϠDDNNS UPUԠN̠D BԠMANNGPN 0ADDSSBԠ0B035 ADDSSBԠBϱ3 ADDSSBԠBϲ 3ADDSSBԠ3B35 ADDSSBԠBϴ 5ADDSSBԠ5B55 6ADDSSBԠ6B653 ADDSSBԠBϷ5 NԠUSD 9NԠUSD56 0NԠUSD HPNABŠŲ55 DAAUPUԠ0Bϱ5 3DAAUPUԠBϱ36 DAAUPUԠBϱ65 5DAAUPUԠ3Bϱ5 NPUԠDAAD BԠMANNGPN 0DAANPUԠ0B06 DAANPUԠBɱ9 DAANPUԠBɲ30 3DAANPUԠ3B36 -5NԠUSD SKP PMHPDNN A66V A55A A3S A33S(P A05ϱ A6ϲ A03 GND9ϴ SKP SANDADSԠPANϠB USDNBUNNGPM'S DUNGAYADS ANDNHŠDSNG ƠADDSSANDDAANPU NS 000-00̠HH̠HHH̠HHHH̠HHH 00-0H̠HH(.HH̠HHHHH̠HHHHHH̠HHHH 00-0HH̠HHH̠HHHH̠HHHH 030-03HHHH̠HHHHH̠HHHHHH̠HHHH 00-0H̠HHH̠HHHH̠HHHH̠HH 050-05HH̠HHHHH̠HHHHHH̠HHHH̠H 060-06HHH̠HHHH̠HHHH̠HHHH 00-0HHHHH̠HHHHHH̠HHHH̠HH 00-0H̠HHHH̠HHHH̠HHHH̠HHH 0-HH̠HHHHHH̠HHHH̠HHH̠HH 0-HHHH̠HHHH̠HHHH̠HHHHH 30-3HHHHHH̠HHHH̠HH̠HHH 0-HH̠HHHH̠HHHH̠HHHHH̠HHH 50-5HHH̠HHHH̠HH̠HHH̠HH 60-6HHHH̠HHHH̠HHHHH̠HHHHHH 0-HHHH̠HH̠HHH̠HHHH 00-0H̠HHHH̠HHHHH̠HHHHHH̠HHHH 0-̠HH̠HHH̠HHHH̠HHH 0-HHHH̠HHHHH̠HHHHHH̠HHHH 30-6HH̠HHH̠HHHH̠HHHH 0-HH̠HHHHH̠HHHHHH̠HHHH̠H 50-5H̠HHH̠HHHH̠HHHH̠HH 60-6HHHHH̠HHHHHH̠HHHH̠HH 0-HHH̠HHHH̠HHHH̠HHHH 300-30HH̠HHHHHH̠HHHH̠HH̠HH 30-3H̠HHHH̠HHHH̠HHHH̠HHH 30-3HHHHHH̠HHHH̠HH̠HHH 330-33HHHH̠HHHH̠HHHH̠HHHHH 30-3HHH̠HHHH̠HH̠HHH̠HH 350-35HH̠HHHH̠HHHH̠HHHHH̠HHH 360-36HHHH̠HH̠HHH̠HHHH 30-3HHHH̠HHHH̠HHHHH̠HHHHHH HDNSANSANDDAA G00B MPGDɠMPϠNGUAN SϠNKAGŠAA PɠBSSAPŠNPU YϠBSSSԠUPU PϠBSSAPŠUPU YɠBSSKYBADNPU DƠAMSԠDƠAVAABŠMMY BSSASԠDƠAVAABŠMMY *G6B DSNԠ03006DAGNSàSA̠NUMB G30B MPSDɠSԠSԠSA MPGDɠNGUANSA MPNDɠNAZANSA SDDƠS0 GDDƠG NDDƠN UAŠSAMNS AU0AGS BUBGS SҠUSHGS YUBYPŠHANN PנU6BPMҠHANN MàU0B DSàU6B ASɠHAAS HA̠Ԡ HAHԠ0H HAYԠ3Y HAAԠ0A HAؠԠ30 NSANSҠ UNүMASKS PNS BԠ BԠ B3Ԡ3 BԠ B6Ԡ6 BԠ BԠ0 B0Ԡ0 BԠ B0Ԡ0 B60Ԡ60 BԠ B00Ԡ00 B3Ԡ3 B000Ԡ000 B6000Ԡ6000 BMԠ- BMԠ- BM6Ԡ-6 BM60Ԡ-60 DDà D0Dà0 D6Dà6 D36Dà36 DDà DDà D56Dà56 DMDà- DM0Dà-0 DM3Dà-3 DM6Dà-6 SAVŠAAS SAVűԠ0AGSҠSAV SAVŲԠ0BGSҠSAV SAVABSSAGSҠSAV SAVBBSSBGSҠSAV UNҠSAGŠ ұԠ0 ҲԠ0 3Ԡ0 B̠BSS9 PSAPBSS PPSADƠPSA HDSVŠSUBUNS àHKSҠBԠ0Ҡ5SԠN SHGSҠANDSϠSA NAZANҠSԠSN S àNP ASҠGԠS SASԠBԠ0 MPSAԠYSGϠϠNAZAN SSASԠBԠ5 MPSҬɠSAԠSԠSN MPìɠ SKP BYɠASҠYNPUԠANDUNSHNA NNZϠNUMBҠƠHAASUA̠ϠNUMB ƠHAASUSDHAVŠBNNPU. A:(ANϠƠHAASϠBŠNPU SBBY UN:NMA (ANϠƠHAASNPUD SBBYɬ (ASAMŠASNMA SBUN-6 BYɠNP SAYSSAVŠHAҠUN DAD36 DBBA SBYɬɠGϠҠNPU SZASSSԠҠNPU MPBY+YAGAN PAYSSԠҠԠN. MPBYɬ DBBYɠNԠNPU ADBBM6SԠUPUN SBBY MPBYɬ YSBSS BADƠB BBSS36 SKP PNԠPMSAAAGŠUNAND NŠDDBYUPUNGA MSSAGŠDNDBYNNSƠAB PNԠNP SASAVASAVŠA SBSAVBB ASҠS A̬A̠ SSAMSSAGŠSUPPSSN MPPNԬ ASҠGԠS A SSASSSԠҠ"H"SUPPSSN MPPԱ-3 DASAVBɠS AƬAƠ ANDB3H PAHAHMSSAGS MPPԱ DASAVASŠA DBSAVBB SBYϬɠPԠMSG PԱSZPN DASAVű MPPNԬɠUN SKP NPUԠGSϠNPUԠDVŠANDAKSN ANUMBҠƠHAASANDHKS SŠHAԠHŠHAASNPUDUA HŠNUMBҠUSD A:(ANϠƠHAASϠBŠNPU SBNPN UN:NMA (ANGAVŠNϠƠHASNPU SBUN+ (ASAMŠASNMA SBUN NPUԠNP SASAVA ASҠGԠS A̬A̠SԠҠMSSAGŠSUPPSSN SSA MPP ASҠGԠS A SSA MPP DAD36 DBBA SBYɬ MANASZASS MPNPU+ DBA ADASAVA SZA MPNPUԬ PSZNPU MPNPUԬ YAԠASҠA"Y"ϠBŠNPU YAԠNP ASҠGԠS A̬A SSA MPYױN ASҠGԠS A SSA MPYױ DAB SBNPUԠAԠҠNPU MPYAԬ DABA AƬA ANDB3 PAHAASԠҠAB MPSҬ PAHAYSHAҠA"Y" SS MPYAԬɠN YױSZYA MPYAԬɠYS SҠDƠSñ0+ SKP DBàAKSAHAAҠUNԠSUPPDNA ANDNVSHŠN.SPDϠBNAY. HSSDNŠASS: (ASɠHAҠSADMNSŠBU (HAҠSSDϠBŠVADNUMBҠ0-9 (3BNAYUVANԠƠDMA̠NUMBҠS MD A:(ANϠƠHAҠϠBŠNVD SBDB UNSNMA (BBNAYUVAN SBUN+ (BSAMŠASNMA SBDBì DBàNP MANA SAHN B SBSAVAZϠHAƠDUNҠANDHA DBDASAVANDؠPN SZSAVA ŬAM ADABABNAY DAAɠHAA SZSSAND AƬAƠVY ANDB3 ADABM60ϠB SSA(VAD MPDBìɠNUMB ADADM00-9 SSA MPDBGDASɠNUMB MPDBìɠ DBADAD0 BSM ADABBNAY BSBSUVAN ADBA SZHNԠDMA MPDBNUMB SZDBàNPUD MPDBì HNԠBSS SKP SPԠSSANDADSԠPANNϠPAN BUҠPPSA SPԠNP AUN SA3S SAұA DAPPSAS SAPSAP ԱDAұN SAPSAPɠ SZPSAP SZұH DAұADDSS PAD6 MPԲ MPԱDAA ԲSZNPU MP3S SZ3(ADSԩ DA3 SAұPAN PAD6 MPSPԬɠS MŠA MPԱPMUAN 3A SAұ ԴDAұ SAPSAPɠU SZPSAPBS SZұ DA3 PAұ SS MPԴ M MPԲ HDNAZAN HŠNAZANSNDMNS (HŠPMYPŠϠBŠPGAMMD (NAZSPGAMϠSANG NDNS G000B SAԠU NԠHԠ66B ASҠGԠS SASSSBԠ0SԠ? MPN0 DAD30 DBD30+ SBPNԠPԠ"AҠBԠ0" Ԡ0030 MPNԠMPBAK N0ANANAZ SAB+3BANKHPSA NDAD3 DBD3+ SBPNԠPԠ"MNBUNMŠ?" Ԡ003 DAB SBNPUԠBNGNMN. MPNҠN DAB SBDBàNVԠϠBNAY MPNҠN SBB+ NDAD3 DBD3+ SBPNԠPԠ"MAؠBUNMŠ?" Ԡ003 DAB SBNPUԠBNGNMA. MPNҠN DAB SBDBàNVԠϠBNAY MPNҠN SBB+5 N3DAD33 DBD33+ SBPNԠPԠ"BUNMŠNMNԠ?" Ԡ0033 DAB SBNPUԠBNGNB MPN3ҠN DAB SBDBàNVԠϠBNAY MPN3ҠN SBB+6 NDAD3 DBD3+ SBPNԠPԠ"AԠMŠAϠ?" Ԡ003 DAB SBNPUԠBNGN MPNҠN DAB SBDBàNVԠϠBNAY MPN SBB+ MPSDɠ SDDƠS0 D30Dà6 DƠD30 D3Dà30 DƠD3 D3Dà30 DƠD3 D33Dà3 DƠD33 D3Dà DƠD3 HDSԠSNN HŠSԠSԠSNSSH S(SϠBŠUD G000B S0ASҠGԠS SZASSSԠҠVADNPU MPSñ0+NϬHA ASҠGԠS ANDMSK AS SASנNAZŠSԠSԠD DAS SAADҠSԠPNҠϠSԠSԠAD S.SBàHKҠ DAS SASS MPS.3N SBADҬɠPMS S.3DAS AS SASנSHԠSԠSԠDҠNԠS SZAD DI640AAD PA̠SԠҠASԠAD SS MPS.KҠNԠS A Sñ0APנUNƠPM HԠB ASҠADNS SAB̠SAV MPS0 MSKԠ6 ADҠBSS SנBSS S̠DƠ+ 6   24360-18002 1420 S 0122 0212909B PROM WRITER DIAGNOSTIC             H0101 ( DƠADS DƠDS DƠBPS DƠAD DƠVYB DƠBNP DƠVYP DƠD DƠBN DƠDPP DƠPP ̠DƠ HDADDSSANDDAANPUԠS ADSԠPMSADDSSDAANPUԠSNGƠAD NHŠNGMANN (ADSSԠPANAP (VSNNSƠPMAGANSԠAP ADSԠNP ASҠGԠS A̬A A SSA MPAԱ SBSPԠŠSԠPANNϠBU MPAԱ+ AԱSBPDADAP DADױ3 DBDױ3+ SBPNԠPԠ"HPDYҠADүDAAS" Ԡ003 SBYAԠAԠҠHAҠ"Y" MPAԱ+ SBVYPVYPMNNS MPADSԬ HDDAAUPUԠSԯSPŠP DSԠPMSDAAUPUԠSNGBYPANG ADNSPŠPANDYNGABUNPUSŠ AHBԠƠAD DSԠNP S0DADײ3 DBDײ3+ SBPNԠPԠ"ADDYҠSPŠP?" Ԡ003 SBYA MPS0 A S̱SAPSAP DAB0 S̲SAMSKBNAZŠBԠMASK DAPSAP Sñ6SƠP ҠB000 SñAPנUNADN DAMSKB AƬA AƠPSNSDB ҠPSAPҠNADDSS ҠB6000ҠNŲ SñƠP SñAPנUԠPUԠϠAD A SASҠSAVŠ SòSàPנNA̠BUNN DABMDAY NASZA MP-5-30US. Sñ3SàPנUNBUNVAGŠN SBDYNDAY Sò5àPנNA̠BUN DABMDAY NASZA MP-5-30US. SñàPנUNBUNVAGŠ A ҠPSAPUNDAABԠ ҠB000 Sñ5APנUPUԠϠAD SBDYƠDAY SBDYƠDAY DASҠSŠ A DAMSKB ASMVŠBԠMASK SZAASԠB MPS̲ SZSԠҠŠS MPS3YS ŠNϠSԠ SBàHKҠ ASҠSԠҠ AҬA SASS MPDSԬ DAB3ADDSS3 MPS̱ S3MPS̱- SҠԠ0 HDBUNPM(NGNNG BPSԠPMSHŠPGAMMNGƠAHP ASANDADSԠPANADNAPŠBY (ADNGAP (VNGBANKHP (3BUNNGHPϠSANDADPAN (VNGBUNDHP BPSԠNP BϠDADײ5 DBDײ5+ SBPNԠPԠ"PMDYҠBUNSԠ?" Ԡ005 SBYA MPB ASҠGԠS A̬A A̠AŠUԠBANKB SSA MPBԱ SBSP MPBԱ+ BԱSBPDADAP SBVYBVYBANK SBBNPBUNBANK SBVYPVYNNS MPBPSԬɠ HDAPŠADҠ(NGNNG PDPMSAPŠAD ADԠU PDNP DADױ DBDױ+ SBPNԠPԠ"PANAPŠDY?" Ԡ00 SBYA MPPD+N 0DADAD DBBAPAS SBPɬɠD SAPHS SZASS MP0AND DBBAPN SBPNԠS NP DABMD SAұNAZŠNŠUN ̱SBPDADANŠMAP DAP @'DBBA SBPNԠPԠNŠBUGHԠNMAP NP SZұNMNԠNŠUN MP̱NNUŠAD SBPDADHKSUM DADM3 SAұNAZŠNŠUN A SAPSAPZϠPNҠҠPANBU ̲SBPDADN SBVNNVԠN SZұNMNԠNŠUN:ASԠN? MP̲ MPPDɠ PGAMMSSAGS DױDà0 DƠDñ Dױ3Dà3 DƠDñ3 DױDà0 DƠDñ Dױ5Dà DƠDñ5 Dױ6Dà6 DƠDñ6 DױDà DƠDñ DײDà3 DƠDò Dײ3Dà9 DƠDò3 DײDà5 DƠDò Dײ5Dà DƠDò5 Dײ6Dà3 DƠDò6 DײDà5 DƠDò SKP PDPMSAUA̠APŠADBYADNG AD PDNP DAD DBBA SBPɬɠNPUԠAPŠD SAPSAVŠHAAҠUN SZASSSԠҠ"Ԡ" MPұ MPPD ұDADױ DBDױ+ SBPNԠPԠ"" Ԡ00 MPPD+ADAP PBSS SKP VNNVSAAPŠDNSSNGƠ-ASɠHAS BKSƠDAANϠ-BԠBNAYBKS VNNP DADM SAҲNAZŠUNҠҠBKS AAD DABA ADABSԠBKPNҠϠSԠBK SABP ̱SBVB̠ADBKANDNVԠϠBNAY SZPSAPMVŠBUҠPN DAҲ NAGGŠ SAҲSAVŠBKUN A SZSԠŠҠ"" SZBP DAҲADUN SZASԠҠASԠBK MP̱NNUŠAD MPVNɠ BPBSS SKP F VB̠NVSHAҠBKSNϠ-BԠD ANDSSDN56DBU VB̠NP A DBPPSA ADBPSAP SABɠZϠBUҠANϠBŠDD SA3ZϠBԠUN DBBMP SBSANAZŠPNҠϠSԠMASK BDBBP DABɠADAHHAҠϠBŠNVD SZSԠҠHҠHD AƬAƠHAŠϠH DBSAɠADBHBԠMASK SBVHNVԠHAҠϠҠHϠҠ SZSSSԠҠASԠHAҠND SZBPNMNԠBKADDSSPN MŠGGŠ SZSANMNԠBԠMASKPN SZ3NMNԠBԠUN DAB PA3SԠҠASԠB SS MPBNNUŠNVSN MPVB̬ɠ BMPԠDƠBMK BMKԠ0 Ԡ Ԡ Ԡ SABSS SKP VHNVSANASɠ"H"ϠABNAY"" ANDDSASVŠBԠSŠNϠPANBU VHNP ANDB3MASKƠHA PAHAHSԠҠ"H" MPV PAHA̠SԠҠ"" MPVHɠ"" PAHAؠSԠҠ'' SS MPVNϬ DAB+3 SASS MPVH VDAB DBPPSA ADBPSAP ҠBɠSԠUNԠBԠϠ SABɠSAV MPVHɠ VDADױ5 DBDױ5+ SBPNԠPԠ"D" Ԡ005 MPPD+ADAP HDVYPMBANK(NGNNG VYBVSABANKPMϠNAN (A̠NS (A̠ZS VYBNP DADײ6 DBDײ6+ SBPNԠPԠ"PMDYҠBKVYB?" Ԡ006 SBYA MPVYB+ A SAPGAҠSԠPASSAG A PAB+3SԠҠ"0" MPVB DBB SBZ MPVYBɠ VBB SBZ MPVYBɠ SKP ZSSHŠNNSƠPM ASDMNDBYHŠNNSƠBGS ZNP SBMP A SAPSAPNAZŠADDSSUN ϱSBDB̠ADAN PAMPSԠҠԠBANKV SS MP3 ϲSZPSAP DAPSAP PAD56SԠҠASԠ MPZɠ MPϱNNU 3AƬA AƠPSNҠDAA ҠPSAPҠNADDSS DBMP BƬBƠPSNPDDAA ҠB SASAVűSAVŠҠDAA DAPG SZASԠҠSԠPASS MPϴ DADײ DBDײ+ SBPNԠPԠ"BANK" NP SZPG ϴSBVDNVԠҠDAA DAD90 DBD90+ SBPNԠPԠ"ҠDAA" Ԡ00 SBàHKҠ MPϲ MPBSS PGԠ0 SKP HDBUNPM(NGNNG BNPBUNSAPMϠAPANSDNPAN BU BNPNP A SAGAҠNYAG SBBNPҠBUNAN MPBNPɠ BNPҠNP DAB+ SABP DAG SZASԠҠNYUN MPBP- BP0DADױ DBDױ+ SBPNԠPԠ"PMDYҠBUN?" Ԡ00 SBYAԠAԠҠ"Y" MPBP0 BP0.A SAPSAPNAZŠPN DAB0 BPSAMSKBSAVŠBԠMASK DBPPSA ADBPSAP ANDBɠSԠBԠƠàҠ"" SZA MPBP3 DAB+3 SZA SBBN BP.DAMSKBpBԠ"" ASMVŠBԠMASK SZASԠҠASԠB MPBPNԠASԠB DAG SZASԠҠNYUN MPBP SZPSAPMVŠPN DAD56 PAPSAPSԠҠASԠ MPBP MPBP-NNUŠϠBUNNԠ BPDAG SZASS MPBNPҬɠ A SAG DABP ADAB+6NASŠPUS SABP MANA ADAB+5 SSASԠҠMAؠPUS MPBNPҬ DAG SZASԠҠNYUN MPBP- MPBP0. BP3DAB+3 SZASS SBBN MPBP. MSKBBSS GԠ0 GԠ0 SKP BNԠBUNSABԠƠABԠDYNGA NUMBҠƠMSASDNDBYMNMAؠBUN MSANDHŠBUNMŠNMN BŠASKNGҠPAҠNVNN BNԠNP SBàHKҠ DAPSAPADADDSS ҠB000 SñSƠP S03APנUPUԠADDSSϠAD S0APנADNADDSSNNS SASAVŲSAVŠҠDAA DAPPSAS ADAPSAP DAAɠBU ANDMSKBB DBAUA DASAVŲ ANDMSKBPM PABB MPBNԬ MPBUN BUNPMSAUA̠BUNPUSNGUSNGA MŠA BUNNP DAMSKB AƬAƠPSNBԠϠBŠBUND A ҠPSAPҠNADDSS ҠB6000ҠNŲ Sñ9ƠP S05APנUPUԠϠAD SòSàPנNA̠BUNN DABMDAY NASZA MP-5-30US. S06SàPנSAԠBUNPUS SBDYҠDAY(N Sò3àPנNA̠BUN DABMDAY NASZA MP-5-30US. S0àPנSPBUNPUS A BNSAD SBDYҠDAY(Ʃ DAD NA PAB+HUDAY MP+ MPBN SBDB SASAVŲ DAPPSAS ADAPSAP DAAɠGD ANDMSKBBUN DBA DASAVŲ ANDMSKB PAB MPBNԬɠ ANA SAG MPBNԬ DYҠPMSHŠMNGƠBUNPUSŠDH DYҠNP DABP MANA ḎSBDY NASZA MPḎNNU MPDYҬɠ DYNP DBB+ NBSZBNMNԠANDSԠҠ MP- MPDY BPנBSS DBSS HDVYPMNNS(NGNNG VPYVSHAԠHŠPMNANSH DAAPANSSDNBUҠPPSA VYPNP DADײ DBDײ+ SBPNԠPԠ"PMDYҠVYB?" Ԡ00 SBYA MPVYP+ A SAPGAҠSԠPASSAG A SAPSAPZϠBUҠADDSSPN ҠB000 Sò0SƠP S0APנUNPҠNϠHP S0APנADNDAA ANDBSAVŠDAABS DBA DAPPSA ADAPSAPGԠBUҠADDSS PBAɠSԠҠԠDAA SS MPVP3PԠ VPSZPSAPBUMPBUҠADDSSPN DAPSAP PAD56SԠҠASԠADDSS MPVYPɠ MPS0NNU VP3DAPSAP SBSAVŲSAVŠҠDAA BƬB BƠPSNDAA ҠBҠHADDSS DBPSAP ADBPPSAo0.* DBBɠADBHGDDAA BƬBƠPSNDAA ҠBҠHBADDAAANDADDSS SASAVűSAVŠA̠NMAN DAPG SZASԠҠSԠPASS MPVP DADױ6 DBDױ6+ SBPNԠPԠ"VY" NP SZPG VPSBVDNVԠҠDAA DAD90 DBD90+ SBPNԠPԠ"ADDүAԠDAAPDAA" Ԡ006 SBàHKҠ MPVPNNU D90Dà36 DƠD90 D90ASà0ADDSS ԱBSS (10   24360-18003 1420 S 0122 0312909B PROM WRITER DIAGNOSTIC             H0101 ) ASà05AԠDAA ԲBSS ASà05PDAA 3BSS SKP VDNVSҠDAAϠA̠HAAS ҠUPUԠϠNS VDNP DASAVű SBNVNVԠAԠϠ SAԲ DASAVű A SBNVNVԠPϠ SA3 DASAVűNV ANDB ADAB60B AƬAƠADDSS ҠB0 SAԱ+ DASAVűA AҬAҠAND AҠS ANDB ADAB60N SAMPPN DASAVűBU AƬAƠAND AƠH AҬAҠHAS ANDB3 ADAB60B AƬAƠAN ҠMPAS SAԱAY MPVD NVNVSABԠNUMBҠNϠASɠHAAS NVNP SANSV AƠNV ANDB ADAB60B SAMPNUMB DANSV A̠ ANDB ADAB60AS AƬAƠHAAS ҠMP MPNV MPBSS NSVBSS HDADNŠAN(UY DàASHŠUSҠϠADNŠANƠPM DàNP ̱SBàHKҠ DADAD DBDAD+ SBYϬɠPԠ"<" DAB3 SBNPUԠBNGNADDSS MP̲ SBAVNVԠADDSS MP3ҠN SBDB̠ADAN AƬA A SBNVNVԠNNSϠAS SABA DAB DBBA SBYϬɠPԠ"(é" MP̱ ̲DABA AƬA ANDB3 PAHAASԠҠAB MPDì 3DADAD DBDAD+ SBYϬɠPԠ"NVADNPU" MP̱ҠN DADDà6 DƠD DԠASà03GV SANԱABUԠ30SNDA. DADM0 SANԲ P60SB..GԠSAUS Ԡ000 SSASSBUSYBԠS? MPP0NϬN SZNԱYSSԠUNԠHAUSD? MPP60NϬKAGAN. SZNԲYSSNDUNԠHAUSD? MPP60NϬKAGAN. SKP NSH MҠSB..GԠSAUS Ԡ000 SUSSU P0SADSԠSAUSNMSSAG. SBD3SԠANSMSSNGNMSSAG. MAԠUPUԠMSSAGŠϠS BNBSԠMSSAGŠNGHϠ. DADGԠUSԠD. PAD3ASAN̠.PMD? SSYS NBNϬAŬMSS.N. SBDSԠMSSAGŠNGH. MBNBMAKŠNGAV. SBD0SԠ-MSSAGŠNGH. UPUԠHŠMSSAGŠϠS. Ơ0DSABŠNUPS DAD0GԠD0(-MSS.N. AHUPU SàHàSAԠHŠHANN. SBSԠMU? DADNϬGԠD.(+MSS.N.. AHUPU SàHàSAԠHŠHANN. SBSԠMU? DADGԠD(SAUS. AHUPU. SàHàSAԠHŠHANN. SBSԠMU? SZD0NϬANSMSSNMP? SSN MPP0YS DAD3GԠD3(AN.G. AHUPU SàHàSAԠHŠHANN. SBSԠMU? MSSAGŠMPŠϠSìUNϠAԠҠNPU. P0àHDSABŠUPUԠN. MPP0UNϠNPUԠAԠP. SKP UNŠSN NPUԠMNGP SNNPNY DADM5 |^SANԲSԠUPUNS AҠPƠAPP SANԱ5SNDS. SԱSàHDAAVD? MPSNɠYSUN. SZNԱSԠUNԠHAUSD? MPSԱN SZNԲSNDUNԠHAUSD? MPSԱN SBNҠYSDAŠNPUԠNŠDN. UNŠSԠ UPUԠMNGP SԠNPNY DADM5 SANԲSԠUPUNS AҠPƠAPP. SANԱ5SNDS. SԲSàHDAASN? MPSԬɠYSUN. SZNԱSԠUNԠHAUSD? MPSԲNϬYAGAN. SZNԲSNDUNԠHAUSD? MPSԲNϬYAGAN. SBҠYSDAŠUPUԠNŠDN. UNŠNҠ NPUԠNŠ NҠNPNY. àHDSABŠNUPSNNPU. ANA SAD0MAKŠD0PSV. AHUPUԠԠASҠMSSAG. SàHàSAԠHŠHANN. SBSԠMU? HԠ0BHAԠ0. MPP0SA. UNŠҠ UPUԠNŠ ҠNPNY àHDSABŠUPUԠN HԠBHAԠ. MPP0SA. SKP UNŠVA̠ VADAŠDƠHŠMSSAGŠMS. USԠDŠ(BS-:ҠŠ 3ҠN̠ SUBUNN(BS-6:00B 0BҠŠ 60B 60-6BҠN̠ N:(A-G0VAD NVAD (DUSԠDŠ VA̠NPNY. DADGԠN̠D. A ANDBSAŠUSԠD. SADSAVŠ. DADGԠN̠D. AƬA A̬A ANDBSAŠSUBUNN. SAUNàSAVŠ. VAUAŠUSԠD DADGԠUSԠD. PADòSԠA? MPVA̱YSHKŠSUBUNN. PAD3NϬSԠAN SSYSHKN̠SUBUNN. MPVAؠNHҬNDAŠ. PSSN̠SUBUNN DADGԠMSSAGŠNGH. PADñSԠN? SSYS MPVAؠNϬNDAŠ. DBUNàGԠSUBUNN. SZBAAҠUS? MPVA5N. DADYSSPUSԠD. ANDMASK SAD MPVAYUN. VA5DAB ANDSUNSAŠSUBUNNBS5-3. PASUN6BS5-36? MPVAYYSK. MPVAؠNϬNDAŠ. PSSŠSUBUNN MSSAGŠNGH. VA̱DADGԠMSSAGŠNGH. ADADM? SSA MPVAؠNϬNDAŠ. DAD3GԠBUҠNGH. SSASSBUҠNGHNHAAS? MPVA̲N MANAYSNVԠϠDNGH ŬA SZDDNUMBҠƠHAAS? NAYSADDNŠϠAMDA. VA̲SAVAàSAVŠDUN. ADADò PAD?*$"MSS.N.BU.N.+? SSYSNNUŠHKHUN. MPVAؠNϬNDAŠ. DAUNàGԠSUBUNN. SZASԠZϠҠ0B? PASUN MPVAYYS.ԠVA. PASUN6NϬSԠ60B? MPVAYYS MPVAؠNϬNDAŠ. ԠMVA VAؠANASSҠUN. VAYA MPVA̬ SKP NSANSVAABSANDBUS DñDà DòDà D3Dà3 DMDà- DM0Dà-0 DM5Dà-5 BԠ BԠ SUNԠ0 SUN6Ԡ60 SUNԠ0 PUԠ0000NŠPNҠGA̠UN. MASKԠ0000USԠDŠBS. HU0BɯàNPUԠHANN. HUBɯàUPUԠHANN. AU0ADDҠƠA-G. BUADDҠƠB-G. .PҠNPBUҠPN. NԱNPPUN. NԲNPPUN. UNàNPSUBUNN. DNPUSԠD. VAàNPBUҠNGHNDS. MSSBSS50MSSAGŠBU. D0UMSSD0(-MSS.N. DUMSS+D(+MSS.N. DUMSS+D(N̯SAUS D3UMSS+3D3(BUҠN.ANS.G BUƠUMSS+BUҠϠBŠPND. .MSDƠDADD.ƠSԠDƠMSSAG. NDP X$   24382-18003 1412 S 0122 DOS-III DRVR. F. LINE PRINTER ON 2000C/F-BOOT             H0101  ASMBAB G òUBNNNԠHANN PҠU3BPH-AD PU SàPҬàAנPҠNPU SSPҠAMŠNPUԠY? MP-NϬHKAGAN APҠGԠAD SSòàADYϠAP? MP-NԠYԬHKAGAN AòUPUԠHŠD SàòàSAԠHŠɯàHANN MPPKҠNԠAM ND   24386-18001 1451 S 0122 01ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :ϠNPNSAANBAHAP : :ϠNDҠϠMPŠHSPDUŠYUMUSԠHAV :ϠHŠNGSAŠAVAABŠNYUҠDS. : :ϠSAABŠŠNANNGS :ϠANDBUҠMANAGҠ(NϠSBUYSUBUNS :ϠNAMDS :ϠMAGŠAABŠŠNANNGH :ϠDAA-BASŠMANAGMNԠSUBUNS :Ϡ(DBPNDBGԬDBPUԬ. :ϠNAMDDBMS :ϠSNG :ϠAHM :ϠPAKAGŠAABŠŠNANGHŠSUBUNS :ϠSMVŬSDԬSPUԬSGԬ. :ϠNAMDSAMP : :ϠNADDNYUMUSԠHAVŠADANDNAZDH :ϠDAA-BASŠűB.ƠűBHASNԠBNADHŠ :Ϡ$$BNANSASHMAHAԠMAYBŠUSDϠAŠ. :Ϡ(ԠŠNGHS5SS : :ϠƠYUAADYHAVŠSNAMD$$BҠ$$DBNHSDS :PAHY̠BŠPUGD.YPŠ":G"ϠNNU :PU$$B$$DB :P :SԬS$$B $N̠SԬԬABŻ BGNDAABASŠűB VS: MS: USDU<TƠ(SA.N.0GϠϠ900 àHKҠNDƠ Ơ(SA(..0GϠϠ0 à àSԠҠDҠYPŠDSD à àƠHNVSDNԠPNԠ"ұ" Ơ((NV..HS.AND.(BU(3..HұGϠ50 à àYPŠ"A"? Ơ(YP.N.HA̩GϠ5 Ơ((BU(3..Hұ..(BU(3..H5.. (BU(3..Hñ..(BU(3..HѱGϠϠ60 à àYPŠ"N"? 5Ơ(YP.N.HҠGϠ55 Ơ((BU(3..Hұ..(BU(3..H5GϠ60 à àYPŠ""? 55Ơ((YP..Hҩ.AND.(BU(3..HñGϠ60 à àYPŠ"U"? Ơ((YP..HU.AND.(BU(3..Hѱ6050 àUNԠDS 60NԽN+ àMVŠDϠDSKK K(PNҩSA( PNҽPN+ à àMVŠSԠKYS àSAUS A̠MVנ(BU(3K(PNҩ PNҽPN+ àDҠN A̠MVנ(BU(K(PNҩ3 PNҽPN+3 àBUҠU? Ơ(PN+5..05GϠϠ50 àŠBU A̠à(K0KSԩ SԽS+ àAKV? Ơ(S..SZũGϠϠ5 KK+ GϠϠ àNDƠŠPSSNG-ŠBKƠNSS 0Ơ(PN..GϠϠ5 A̠à(K0KSԩ àSŠDAABASŠBŠS 5A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 à àSԠUPSԠPAAMS àƠìƠKYSNGHƠKYSNGHƠSԠBU à UA(N UA( UA(3 UA(6 SԽ0 à à"BGNS"MSSAG A̠(0BMSԬ5 à A̠SԠ(UA̬SAԩ Ơ(SAԩ50050 àSԠSUSSU̠-PNDAABAS 0A̠DBPN(BASV̬D3SAԩ Ơ(SA.N.0GϠϠ900 àADDSKҠSD'!D'S 00SԽ0 05A̠à(K0KKSԩ 0SԽS+ Ơ(S..SZũGϠϠ0 KKKK+ SԽ0 0Ơ(N..0GϠϠ30 M0 NԽN-0 GϠϠ0 àƠSSHAN0DSSԠMԠƠƠS 30MN NԽ0 àDDADHD'SUNDMS 0PNҽ 5A̠DBGԠ(SԲ3SAԬBUƬK(PNҩ Ơ(SA.N.0GϠϠ900 A̠MVנ(BU(NϬ3 A̠MVנ(BU(0NϬ3 PNҽPN+ àGԠUSMҠD 60A̠DBGԠ(S3SAԬKBUƬBU(0 Ơ(SA..0GϠ650.. Ơ(SA.N.0GϠϠ900 àƠSHP-ϠADDSSNDDBYPASSPNNG Ơ(KBU(3..HGϠϠ0 àPAGŠ 65A̠à(300B+U-0.. BU(H A̠MV(BU(BU(39 àSPAŠDNϠDAŠAA A̠à(300B+U6 àMVŠNDAŠDԠҠUŠHADNGƠNDD A̠S(BUƬ00B A̠MVנ(DAŬBU(33 Ơ(BU(3..HñA̠MVנ(HDBU(06 Ơ(BU(3..HѱA̠MVנ(HD(BU(03 A̠à(00B+UBUƬ0 Ơ(SA.N.0GϠ00.. A̠MV(BU(BU(390.. A̠MV(MSGBU(0.. GϠ5 0A̠PHD(KBUƬBUƩ0.. àPKUPHҠNϠMDҠMAS àUSԠP A̠MVנ(BU(BU(5 àDҠDA A̠SMVŠ(MSKBUƬ A̠SDԠ(BUƬ50BUƬ9 àSHPDA A̠SMVŠ(MSKBUƬ AerSDԠ(BUƬ6BUƬ9 àDҠ 5A̠MVנ(BU(BU(363 A̠à(00B+UBUƬ0 àNVŠNԠPNDƠNϠUSMҠDSUND Ơ(SA..0GϠ00.. àSPAŠDNϠAAҠDA̠NS A̠à(300B+U3 à A̠DBND(SAԬDSԬPAHBU( Ơ(SA.N.0GϠϠ900 àHKHANNGH Ơ(SA(3..0GϠϠ30 DԽSA(3 NԽ0 DϠ0ɽD A̠DBGԠ(DSԬSAԬBUƬBU( Ơ(SA.N.0GϠϠ900 BU(H A̠MVנ(BU(BU(39 A̠SMVŠ(MSK6BUƬ A̠SMVŠ(MSK6BUƬ àUANS A̠SDԠ(BUƬ556BUƬ6 A̠SDԠ(BUƬ56BUƬ3 àUNԯMAS A̠SMVŠ(BUƬ636BUƬ àPDDDSPN A̠SMVŠ(BUƬ6BUƬ6 A̠SMVŠ(BUƬ50BUƬ3 A̠SMVŠ(DԱBUƬ6 A̠SMVŠ(DԲ0BUƬ àUNԠNDDP A̠SDԠ(BUƬ650BUƬ669 A̠SDԠ(BUƬ30BUƬ0 àŠPNԠN A̠à(00B+UBUƬ0 àSNGŠSPAŠADDNA̠N A̠à(300B+U àADDϠNŠN NԽN+ (N..30GϠϠ0 àPAGŠ A̠(300B+U- A̠PHDҠ(KBUƬBUƩ NԽ0 0NNU àDҠA̠UN àSPAŠ A̠à(300B+U BU(H A̠MVנ(BU(BU(39 àGSS$ A̠MVנ(P(BU(93 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ630BUƬ0 A̠à(00B+UBUƬ0 àDSUN àDZ? Ơ(SM(BUƬ6ZϬҩ00000 00A̠MVנ(P&ԬBU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ6BUƬ0 A̠(00B+UBUƬ0 àGH 0Ơ(SM(BUƬ9ZϬҩ505 5A̠MVנ(P(5BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ9BUƬ0 A̠à(00B+UBUƬ0 àSPA̠HAGS 0Ơ(SM(BUƬ990ZϬҩ5305 5A̠MVנ(P(BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ990BUƬ0 A̠à(00B+UBUƬ0 àA 30Ơ(SM(BUƬZϬҩ35035 35BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬBUƬ0 A̠à(00B+UBUƬ0 àNSUAN 0Ơ(SM(BUƬ939ZϬҩ5505 5BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(30BU(95 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ939BUƬ0 A̠à(00B+UBUƬ0 àN 50BU(H A̠MVנ(BU(BU(39 A̠MVנ(P(9BU(9 A̠SMVŠ(DԲ0BUƬ A̠SDԠ(BUƬ0BUƬ0 A̠à(00B+UBUƬ0 àAҠPN BU(H A̠MVנ(BU(BU(39 A̠à(300B+U àPNԠGH A̠SMVŠ(GԬBUƬ3 A̠SDԠ(BUƬ36BUƬ5 A̠à(00B+UBUƬ0 A̠à(300B+U àPNԠMMNS BU(H A̠MVנ(BU(BU(39 A̠SMVŠ(BUƬ560BUƬ3 A̠à(00B+UBUƬ0 A̠UPDAԠ(NϬNϬSAԩ Ơ(SA.N.0GϠϠ900 àADNԠBK? 0Ơ(PN.G.MGϠϠ300 u GϠϠ5 àA̠DSPSSD? 300Ơ(N..0GϠϠ350 GϠϠ05 àNϠNŠMS- 30A̠S(BUƬ00B A̠MV((BU(96 A̠à(00B+UBUƬ0 GϠϠ0 àNDƠB 350A̠DBS(0SAԩ SP à àҠUNS à àKAABAD-NSUNԠSAG 00A̠à(0B(0 GϠϠ950 àSԠS 50A̠à(0B( A̠A(SAԬASɩ A̠à(ASɬ3 GϠϠ999 à àDAABASŠS 900A̠(0B( A̠A(SAԬASɩ A̠à(ASɬ3 950A̠DBS(0SAԩ 999SP ND SUBUNŠPHD(KBUƬBUƩ DMNSNKBU(BU(0 U6 NԽ0 àSPAŠϠADDSSAA A̠à(300B+U àBANKBU BU(H A̠MVנ(BU(BU(39 àUSMҠNAM A̠MVנ(KBU(0BU(0 A̠MVנ(KBU(0BU(90 A̠à(00B+UBUƬ0 àSԠADDSS A̠MVנ(KBU(0BU(0 A̠MVנ(KBU(3BU(90 Ơ(KBU(53..HA̠MVנ(KBU(0BU(90 A̠(00B+UBUƬ0 àY-SA A̠MVנ(KBU(30BU(0 A̠MVנ(KBU(53BU(90 Ơ(KBU(53..HA̠MVנ(KBU(30BU(90 A̠à(00B+UBUƬ0 àBANKBU BU(H A̠MVנ(BU(BU(39 àZPD A̠MVנ(KBU(0BU(3 A̠MVנ(KBU(63BU(363 (KBU(63..HA̠MVנ(KBU(0BU(363 A̠à(00B+UBUƬ0 àSPAŠDN5NS A̠à(300B+U5 àBANKBU BU(H A̠MVנ(BU(BU(39 àSH-PVASASMAN A̠MVנ(KBU(9BU(6 A̠MVנ(KBU(99BU(30 UN ND SUBUNŠUPDAԠ(NϬNϬSAԩ DMNSNN(3N(3DS(3PAH(3BU(0 DMNSNNUM(MS(0NB(0 DMNSNS(3BU(0SA( DAASԠHҬHDMHS DAADSԠHUHSԬHD DAAPAHHUHSԬHD A̠DBGԠ(SԬSAԬBUƬNϩ Ơ(SA.N.0UN A̠SPUԠ(BUƬ66B A̠DBNƠ(HS5SԬNUM SAԽNUM Ơ(SA.N.0UN A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN DϠ0ɽMS( MS(+ABS(MS(+ 0NNU NBҽMS(- A̠MVנ(MS(NB(NBҩ A̠DBUPD(SԬSAԬNBҬBU(0BUƩ Ơ(SA.N.0UN A̠DBND(SAԬDSԬPAHNϩ Ơ(SA.N.0GϠϠ0 SAԽ0 UN 0Ơ(SA.N.0UN Ơ(SA(3..0UN SAVŽSA(3 5DϠ30ɽSAV A̠DBGԠ(DSԬSAԬBUƬNϩ Ơ(SA.N.0UN Ơ(SM(BUƬ3NϬҩ30030 30NNU àPPAŠϠUPDAŠUSԠDAS 0A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0UN àGԠDAAMS'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN àMAKŠMSPSV DϠ50ɽMS( MS(+ABS(MS(+ 50NNU àSUBAԠҠKY NBҽMS(- A̠MVנ(MS(NB(NBҩ àHANGŠSAUS A̠SPUԠ(BUƬ566B A̠DBUPD(DSԬSAԬNBҬBU(MS Ơ(SA.N.0UN ND ND$ :SԬҬ0 : X64006   24386-18006 1451 S 0122 06ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMA à àAԠ̠PNԠHŠűDҠAVYP.HŠNPUԠS àHŠDҠMAS(DMSԩ.HŠPԠ̠BŠNSUNŠBY àDҠSAUSDҠDAŬDҠD.HŠPԠ̠SH àHŠDAҠA̠ҠAHDҠANDASBYDҠSAUS. à àGA̠UNSUSDBYA àSYSMNS àDSK à6PN à àSUBUNS: à'NV'-ϠNVԠNGSϠAS à'PA'-ϠPNԠPԠHADNGS à'PHDNG'-ϠPNԠPԠHADNG3 à'PԠ'-ϠPNԠPԠAS à àMAGŠűMMNAAYS MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( MMNHD(5 à àBASŽDAABASŠNAM àV̽DAABASŠVD--NԠUSD àSDDAABASŠSUYD àMDŽSԠASSҠYPŠҠDBMS àSAԽNDNSUNDMDBMS àDSԽDAASԠNAM àBUƠNPUԠBUҠ(DSNGH+MDAD àKDSKKAA'DҠS àҠAAYƠҠMSSAGS àNԠNŠUN àPAGŽPAGŠUN àNԠDUN àUA̽SԠAAYNANNGDSàƠSϠBŠSD àASɽAAYϠNVԠNGS àMSKAAYNANNGDԠMASKS àԠA̠BUK à àMAGŠAAYS DMNSNBAS(6V(3SD(MD(SA( DS(6BU( à DMNSNK(0(33UA(5AS(3MSK((5 à DMNSNMSG(3BU(KDA(3U(3 DMNSNMSG(0 DMNSNMSG(36 DAAMSGH?SHHɬHPHҬHϬHDHҬHDHAԬHŠ DAAMSGHBŬHGɬHNHSϬHԬHNHVAHɬHD HSԬHAԬHUSH~-ҬHìHҬHDHNϬHԠHN H̬HUDHDHɬHNHŬHPϬHԬHŬHϬ HDHSHPҬHìHSHSŬHD DAAMSGH?DHAԬHŠ DAABASůHŬHDHBHŬHԬHB DAASD5666 DAADŠ DAADSԯHҬHDMHSԬHԬH̬Hï à DAAүHDBHMSHŬHҬHHSϬHԬHŬHҬH HDSHKHҬHҠHҬHKHҬHҠH0ŬHND HϬHƠHϬHB HNϬHҬHìHҬHDSHƬHUHND à DAAMSKHجHجHدHجHZZHZHZZHZ.H99H00H00 H00H00H00 à àPAGŠ A̠à(300B+6- àPNűBDAABASŠҠDA A̠DBPN(BAS(V̬DŬSAԩ Ơ(SA.N.0GϠϠ900 A̠DBGԠ(DS(SAԬBUƬAG Ơ(SA.N.0GϠϠ900 àMVŠDA A̠MVנ(BU(9DAŬ A̠SMVŠ(BUƬ53HDҬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 àZϠA̠UN KDAŽH A̠SMVŠ(MSK9Ԭ NԽ0 PAGŽH0 NԽ0 HDH à à?SHPҠDҠDAŠ(PMPԩ à 0A̠(0BMSG0 A̠(0BBUƬ3 Ơ((BU..Hҩ..(BU..HSHGϠ0 à àNVADSPNS A̠NVA( GϠ0 0YPŽBU A̠à(0BMSG3 A̠à(0BBUƬ Ơ(BU..HA̩GϠϠ àHKҠVADDA A̠ʠ(BUƬU̬SAԩ Ơ(SA..0GϠϠ5 àNVAD-N A̠NVA( GϠϠ àNVԠDAŠϠ6HAAS 5A̠DAŠ(BUƬKDAũ àPNDAABASŠMDŽADNY MDŽ A̠DBPN(BASŬV̬SDMDŬSAԩ àHKƠPNSUSSU Ơ(SAԩ9000900 àGԠKAAMS 9 0A̠(KKSZũ àHKKAASAUS A̠(66KAԩ àHKҠBADҠNSUNԠAKS àSŠBGNNNGAK Ơ(A..0GϠϠ00 Ơ(K.N.AԩGϠϠ00 KKK àSԠDAABASŠPNS AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ900 3SԽ0 àPN-USDϠNMNԠHUDSKK PNҽ àSԠҠSA̠ADƠDAAS 5MDŽ àAGGNDNSA̠AD A̠DBG(DSԬMDŬSAԬBUƬAG Ơ(SAԩ9000900 àHKҠNDƠ 0Ơ(SA(900505 5Ơ((BU(3..Hñ..(BU(3..Hò.. (BU(3..HôGϠϠ Ơ((BU(3..HHϩ..(BU(3..HH3.. (BU(3..HHGϠϠ Ơ(BU(3..HéGϠϠ Ơ((BU(3..Hѱ..(BU(3..HѲ.. (BU(3..H3..(BU(3..HѴGϠϠ Ơ((BU(3..Hұ..(BU(3..HҲ.. (BU(3..H3..(BU(3..HҴ.. (BU(3..H5GϠ àNVADSAUSD àPNԠҠMSSAGŠANDDUMP5HAҠƠD A̠à(06BMSG(6 A̠à(06BBU(35 GϠϠ5 àUNԠNPUԠDS àSԠҠ"A" Ơ(KDA..HGϠ30 à àSԠDҠDA Ơ(YP.N.HҩGϠ9 Ơ(SM(KDAŬ6BUƬ5ҩ5305 à àSԠSHPDA 9Ơ(SM(KDAŬ6BUƬҩ5305 30NԽN+ àMVŠDϠDSKKAA K(PNҩSA( PNҽPN+ à àMVŠSԠKYSϠDSKK(SAUSDAŬDҠD K(PNҩBU(3 PNҽPN+ A̠MVנ(BU(5K(PNҩ3 PNҽPN+3 A̠MVנ(BU(K(PNҩ3 PNҽPN+3 à àHKҠU̠BU Ơ(PN+..05GϠϠ5 àŠϠDSKKAA A̠à(K0KSԩ SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ KK+ GϠϠ3 à àSA̠AD-ŠASԠDƠNSSAY 50Ơ(PN..GϠϠ60 A̠à(K0KSԩ àSŠDAABASŠBŠS 60MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ9000900 àSԠUPSԠPAAMSƠSƠKYSNGHƠKYS àNGHƠSԠBU à 0UA(N UA(3 UA(3 UA(6 UA(56 SԽ0 à Ơ(N..0GϠϠ00 àBGNSԠMSSAG A̠à(0BMSG5 A̠S(UA̬SAԩ Ơ(SAԩ50050 à àSUSSU̠SԠ-PNDAABAS 0MDŽ KNԽN A̠DBPN(BASŬV̬SDMDŬSAԩ Ơ(SAԩ90000900 àSԠSҠADDSKҠSDDNUMBS 00SԽ0 5A̠à(K0KKSԩ àHKҠSUSSU̠AD A̠à(3SAԬ0 Ơ(AND(SAԬ3B505 0SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ30 KKKK+ àSԠSҠ SԽ0 àSԠBUҠHDS0DSà'S àSԠMԠҠADPNԠP 30Ơ(N..0GϠϠ0 M0 NԽN-0 GϠϠ50 à àƠSSHAN0SԠMϠƠDS 0MN NԽ0 à 50PNҽ àKYDADNà'SUNDMHŠS 55MDŽ3 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ90060900 60PNҽPN+ à àHKҠSAԠHDAA 0Ơ(BU(3..HDGϠϠ95 àSŠSA 0HDBU(3 NԽ0 àPNԠHADNGS A̠PA àPNԠHADNGS3 90A̠PHDNG(HD 95Ơ(N..GϠϠ00 à NԽ0 A̠PA A̠PHDNG(HD à àMAԠDA̠N 00N0B A̠S(KBUƬ0N N60B A̠SPU(KBUƬN A̠SMV(BUƬ3KBUƬ3 A̠SMV(BUƬ9KBUƬ3 A̠SMV(MSKKBUƬ3 A̠SMV(MSKKBUƬ35 A̠SMV(MSKKBUƬ6 A̠SD(BUƬ6KBUƬ653 A̠SD(BUƬ50KBUƬ330 A̠SD(BUƬ3KBUƬ35 A̠SMV(BUƬ66KBUƬ5 A̠SMV(MSK9KBUƬ65 A̠SDԠ(BUƬ0KBUƬ65 à àADDϠAS A̠SADD(BUƬ0Ԭ0V̩ àŠN-DUBŠSPA A̠(6KBUƬ0 NԽN+ àADDMS 05MDŽ3 Ơ(PN.G.MGϠϠ300 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ9000900 0PNҽPN+ àPNԠBYDA? Ơ(KDA..HGϠϠ5 àDAS? Ơ(SM(KDAŬ6BUƬ5ҩ05505 àSAԠHD 5Ơ(BU(3..HDGϠϠ95 à àPNԠA̠N A̠P(ԩ àUNϠSŠSA GϠϠ0 àHKҠMŠDS 300Ơ(N..0GϠϠ350 GϠϠ5 à àNMA̠NDƠB 350MDŽ0 A̠PԠ(ԩ A̠DBS(MDŬSAԩ Ơ(SAԩ900360900 à àʠMSSAG 360A̠(6(96 A̠à(06BMSG(9 A̠A(KNԬASɩ A̠à(6ASɬ3 SP à àҠUNS-MSSAGSDSPAYDNHŠSYSMNS àAKS 00A̠(0B(5 A̠NV(AGԬASɩ GϠϠ95 àSԠS 50A̠(0B(65 A̠NV(SAԬASɩ GϠϠ999 àDSKS 5A̠(60B( GϠϠ90 àNϠDSUND 00A̠à(0B(5 GϠϠ999 àDAABASŠS 900A̠(0B(5 90A̠NV(SAԬASɩ 95MDŽ0 A̠DBS(MDŬSAԩ 999SP ND SUBUNŠPA àPAԠSADBYAԠϠPNԠϠSԠPԠHADNGNS à MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( MMNHD(5 à DMNSNBU(0 à DAABUƯHجHجHدHجHPAHGŬHHŬHHAì HɬHVɬHYHҬHPHҬHԠ à N0B A̠S(KBUƬ0N N6B A̠SPU(KBUƬN àNŠ A̠SMVŠ(DAŬKBUƬ A̠SMV(HDҬKBUƬ A̠SMV(BUƬ93KBUƬ3 A̠SMV(PAGŬKBUƬ àADDϠPAGŠUN A̠(6KBUƬ0 A̠S(KBUƬ0N àNŠ A̠SMV(BUƬ5KBUƬ A̠SMV(BUƬ933KBUƬ30 A̠(6KBUƬ0 A̠S(KBUƬ0N àBANKN-DUBŠSPA KN60B A̠SPU(KBUƬKN A̠(6KBUƬ0 ADDH0 A̠SADD(ADDPAGŬV̩ UN ND SUBUNŠPHDNG(HD àPHDNG̠PNԠ3DHADNGNŠBASDNHD(SAԩ àUHHADNGNŠSASϠPND àPGAMSADBYA. à MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( DMNSNBU(5BU(3 à DAABUƯHҬHDŬHҠHSԬHAԬHUSH:HŬHGUHAHҠ HҬHDŬHҠHHϬHDHϬHDHҬHҬHDHԬHM; HMHϠHUHԬHAԬHϬHN H(ìHDHũHHH3H HNHϬHMPHŬHŬH5 DAABUƯHҬHDŬHҠHDHUHSԬHɬHDHҬHDŬHҠ HDA HŬHŬHѠHDŬHVHҬHGGHNHϬHAH̠HDϬ H̬HAҬHSHSHHPHPŬHD N0B A̠S(KBUƬ0N àMAԠ3DHADNGN A̠SMV(BUƬ3KBUƬ6 àMVŠNHADNG(SԠBYŠìHѬҠҩ ҽ0 (SM(HDHàҩ..0GϠϠ0 (SM(HDHHҩ..0GϠϠ0 (SM(HDHѠҩ..0GϠϠ30 Ơ(SM(HDHìҩ..0GϠϠ35 à A̠SMV(BUƬ5KBUƬ0 GϠϠ0 à 0A̠SMV(BUƬ399KBUƬ0 GϠϠ0 0A̠SMV(BUƬ93KBUƬ0 Ơ(SM(HDHHϬҩ..0GϠϠ5 GϠϠ0 30A̠SMV(BUƬ560KBUƬ0 GϠϠ0 35A̠SMVŠ(BUƬ5KBUƬ0 GϠϠ5 àNDBYŠ3Ҡ 0ҽ0 Ơ(SM(HDHҩ..0GϠϠ50 Ơ(SM(HDHҩ..0GϠϠ60 Ơ(SM(HDH3ҩ..0GϠϠ0 (SM(HDH5ҩ..0GϠϠ65 A̠SMV(BUƬKBUƬ60 GϠϠ0 50A̠SMV(BUƬ66KBUƬ60 GϠϠ0 60A̠SMV(BUƬ00KBUƬ60 GϠϠ0 65A̠SMVŠ(BUƬ66KBUƬ60 GϠϠ0 0A̠SMV(BUƬKBUƬ60 0A̠SMV(BUƬ665KBUƬ5 A̠SMV(BUƬ6666KBUƬ6 5A̠(6KBUƬ0 àUHHADNGN A̠S(KBUƬ0N A̠à(6KBUƬ0 A̠SMV(BUƬKBUƬ A̠SMV(BUƬ95KBUƬ3 A̠SMV(BUƬ6KBUƬ A̠SMV(BUƬ3KBUƬ35 A̠SMV(BUƬ556KBUƬ6 A̠SMV(BUƬ353!0.*KBUƬ5 A̠SMV(BUƬ53KBUƬ63 A̠à(6KBUƬ0 àŠBANKN A̠S(KBUƬ0N A̠(6KBUƬ0 à UN ND à SUBUNŠP(ԩ àPԠ̠PNԠASNBAKNSA MMNS(0SG(UN(5PN(DA(KBU(0 MMNPAG( DMNSNBU(5 à DAABUƯHϬHAH̠H$$H$H$$H$H$$H$.H99 H00H00H00H00H00 à N0B A̠S(KBUƬ0N N60B A̠SPU(KBUƬN A̠(6KBUƬ0 A̠S(KBUƬ0N A̠SMV(BUƬ6KBUƬ A̠SMV(BUƬ0KBUƬ6 A̠SD(Ԭ0KBUƬ6 A̠(6KBUƬ0 à àZϠA̠UN A̠SMV(BUƬ30Ԭ ND ND$ kh0   24386-18007 1451 S 0122 07ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMMAN àHSPGAM̠AנDNSMHŠDҠUSM àSADNű àSPNSSϠHŠ?ŠPMPԠA à-DҠŠ(MASҠDAS àU-USMҠMASҠDAS àD-USMҠDASNY(HSYDS àND-NSHDA̠PANSҠHSSSSN àSPNSSϠ?DŠDPMP àNUMBҽDŠA̠DSHNUMBҠND. àSAUSDŠA̠DҠDSHAN"SA" àDAŠDŠA̠DSHANDAS àѠҠSSHANDAŠND. àHŠUSҠ̠NԠBŠPMPDHA"?"ANDHŠAN àNҠHŠDŠA. à à à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSN( DMNSNMSG(9B(MP(NAM(3U( DMNSND(SD(DB(3DB(3AS(MSK( DAAMSKHجHجHدHد DAADŠ DAASDŠ5666 DAADBHŬHԬHB DAADBHŬHDHB DAANAMŠHԬH̬Hï DAAMSGH?ƬH̬HŠH?DH̬HԬHŠHɬH̬ HDH?HDAHAHBHASHŠHҬHϬHҠ HҬHDHDHUHSԬHDHBAHDHDAHů DAAMPHŬHUHNHNUHMBHҬHDAHŬH HSԬHAԬHUS DAAҠHDAHAHBHASHŠHҬHϬHҠ àSԠNŠNԠϠŠHADNG NԽ50 àPNABŠDAABAS A̠DBPN(DBV̬DŬSAԩ Ơ(SA.N.0GϠϠ500 àGԠBҠҠDA A̠DBGԠ(NAMŬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 A̠MVנ(BU(9DAŬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ500 àPNűDBDAABAS A̠DBPN(DBV̬SDŬ3SAԩ Ơ(SA.N.0GϠϠ500 àŠ?ŠϠNS 0A̠à(0BMSG3 àAPԠSPNS A̠à(0BBҬ Ơ(B..HNGϠϠ00 Ơ(B..HUGϠϠ0 Ơ(B..HDGϠϠ50 Ơ(B..HҩGϠϠ60 àHҠSPNSŠNVAD-UNϠ? A̠NVA( GϠϠ0 à 0ŽHU GϠϠ55 à 50ŽHD 55S(HU S(HS S(3HM DS(HU DS(HS DS(3HD GϠϠ0 à 60ŽH S(H S(HDM S(3HS DS(H DS(HD DS(3H àPMPԠҠ?DŠD 0A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ àSԠDAABASŠPNS AG0 A̠DBGԠ(SԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ500 AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ500 ҽ0 àNUMBҬSAUSDAŬUNAŠVAD àUN Ơ(SM(BҬ6MP6ҩ505 àNUMB 5Ơ(SM(BҬ6MPҩ90090 àDA 90Ơ(SM(BҬMP36ҩ953095 àSAUS 95Ơ(SM(BҬ6MP9ҩ005000 àNVAD-N 00A̠NVA( GϠϠ0 à"?"ϠNҠDAA 0A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ3 àSANҠNUM KSAN(5BҬ6 Ơ(K0005 àZϠ̠ƠSSHAN6 5A̓S(AG660B A̠SMVŠ(BҬKAG(-K A̠MV(AGBҬ GϠϠ5 àMVŠ6DGS 0A̠MVנ(BҬAG3 àSԠPAH 5Ơ(..HUA̠MVנ(MSG(3PAH3 Ơ(..HҩA̠MVנ(MSG(0PAH3 Ơ(..HDA̠MVנ(MSG(3PAH3 GϠϠ5 30A̠à(0BMSG( àAPԠDSҠDA A̠à(0BBҬ àNVԠDAŠϠUAN A̠ʠ(BҬUNSAԩ Ơ(SA..0GϠϠ35 GϠϠ00 35Ơ(..HUGϠϠ350 Ơ(..HDGϠϠ300 GϠϠ50 àHKSAUS 50A̠à(0BMSG( àAPԠSPNS A̠à(0BBҬ Ơ(.N.HҩGϠϠ00 àHKҠVADSAUS ((B..Hұ..(B..HҲ..(B..H3.. (B..HҴ..(B..H5GϠϠ00 Ơ(B..HéGϠϠ00 Ơ((B..HH3..(B..HH..(B..HHϩ GϠϠ00 Ơ((B..Hñ..(B..Hò.. (B..H3..(B..HôGϠϠ00 Ơ((B..Hѱ..(B..HѲ..(B..H3.. (B..HѴGϠϠ00 àHҠSPNSSNVAD GϠϠ00 àBGNPSSNGϠDŠBYNUMB 5A̠MVנ(BҬAG3 SP(H A̠MVנ(AGSPì3 Ơ(..HDGϠϠ5 A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 àPNԠMASҠD A̠DP 5A̠D àUNϠ?ŠPMP GϠϠ0 àPSSNG"SAUSDS" 00A̠MVנ(MSG(0PAH3 SP(H A̠MVנ(SP(SP(3 SP(B( 05A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 0Ơ(BU(3..SP(GϠϠ0 à àGԠNԠD GϠϠ05 àUNDMAHNSAUS àMVŠKYϠAGҠPNNG 0AG(H A̠MVנ(BU(AG3 A̠DP A̠D Ơ(.N.0GϠϠ0 GϠϠ05 àDAŠDҠ 50A̠MVנ(BҬSPì A̠MVנ(MSG(0PAH3 55A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 5A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ50ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ60 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 60ҽ0 Ơ(SM(U̬5UNҩ0055 0A̠DP A̠D Ơ(.N.0GϠϠ5 GϠϠ55 àDAŠNUSMҠDASNY 300A̠MV(BҬSPì A̠MVנ(MSG(3PAH3 30A̠DBGԠ(DSԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ336ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ30 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 àMPAŠDAS 30ҽ0 Ơ(SM(U̬5UNҩ33033030 àDŠDASNY 330A̠DBD̠(DSԬSAԩ Ơ(SA.N.0GϠϠ500 A̠DP GϠϠ30 àDAŠNUSM-DŠA̠ASSADUSԠDAS 350A̠MVנ(BҬSPì A̠MVנ(MSG(3PAH3 360A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ500 Ơ(SA(..0GϠϠ0 365A̠MVנ(BU(AG3 A̠SMVŠ(MSKASɬ A̠SDԠ(BUƬ333ASɬ A̠ʠ(ASɬU̬SAԩ Ơ(SA..0GϠϠ30 àBADDAŠN A̠MVנ(BU(AG3 A̠MVנ(MSG(6SPì A̠DP GϠϠ0 àMPAŠDAS 30ҽ0 Ơ(SM(U̬5UNҩ3535360 35A̠DP A̠D Ơ(.N.0GϠϠ365 GϠϠ360 àDAABASŠS 500A̠à(0BҬ A̠A(SAԬASɩ A̠à(ASɬ3 A̠DBS(0SAԩ SP àNDƠPSSNG 00A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ500 ND SUBUNŠDP àHSSUBUNŠ̠PDUŠANAUDԠA̠ƠDD àDS.AHD̠NYBŠSDHNH àMASҠDSDD. à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSNBU(0DAA(9 DAADAAHŬHHƱHŬHMHAɬHNԬHNHAN HŬHҬHìHҬHDSHDH̬HԬHDHɬ HŬHҬHԬHҬHAHŬHϬHDHKHY àPNԠHADNGS Ơ(N..50GϠϠ0 BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ6B A̠SMVŠ(DAA0BUƬ30 A̠MVנ(DAŬBU(35 A̠à(6BUƬ0 BU(H A̠MVנ(BU(BU(39 A̠MVנ(DAA(BU(6 A̠à(6BUƬ0 BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ60B A̠MVנ(DAA(9BU( KA̠MVנ(DAA(BU(5 A̠MVנ(DAA(5BU(55 A̠à(6BUƬ0 NԽ0 àPNԠDA̠NS 0BU(H A̠MVנ(BU(BU(39 A̠SPUԠ(BUƬ60B BU( A̠MVנ(SPìBU(5 A̠MVנ(AGBU(63 A̠à(6BUƬ0 NԽN+ ND SUBUNŠD àHSSUBUNŠ̠AŠHŠMASҠDA̠HAND àDUSDNMANԠDŠHM. àDAABASŠS̠BŠPNDNHŠSYSMNS. àDS̠BŠNDADNANAUDԠA à MMNS(0SGԬUN(5PN( MMNAG((SP(N(DA( MMNSA(DS(3PAH(3S(3UN( MMN(BU( DMNSN(AS(3 àSԽMASҠDSԽDA DAAҠHDAHAHBHASHŠHҬHϬHҠ ý0 A̠DBND(SAԬDSԬPAHAG Ơ(SA.N.0GϠϠ50 Ơ(SA(3..0GϠϠ0 SAVŽSA(3 DϠ0ɽSAV àHANAD A̠DBGԠ(DSԬSAԬBUƬAG Ơ(SA.N.0GϠϠ50 àPNԠDDD A̠DP àDŠDA̠DAAS A̠DBD̠(DSԬSAԩ Ơ(SA.N.0GϠϠ50 0NNU 0Ơ(..HDGϠϠ5 A̠DBGԠ(SԬSAԬBUƬAG Ơ(SA.N.0GϠϠ50 ýSA( A̠DBD̠(SԬSAԩ Ơ(SA.N.0GϠϠ50 àDDADϠNDSYNNYMS A̠DBGԠ(SԬ3SAԬBUƬé Ơ(SA..GϠϠ Ơ(SA.N.0GϠϠ50 5UN ý0 GϠϠ5 àDSPAYDAABASŠ 50A̠à(Ҭ A̠A(SAԬASɩ A̠à(ASɬ3 A̠DBS(0SAԩ SP1l ND ND$ :PҬN99 N PGAMA à àAؠ̠PNԠHŠűUSMҠADDSSSS-N àP. àHŠNPUԠŠS'USM'USMҠMASҠ.HŠP àSNSUNŠBYUSMҠNAM.HŠNV-ϠANDSHP- àADDSSҠHŠMPANYAŠSHNASSHŠUSMҠD. à àAؠASSUBUNS'NV'ϠNVԠPNԠNGҠ'S à'PN'ϠPNԠPԠHADNGS. à àGA̠UNSUSDNA àSYSMNS àDSK à6PN à àBASŽDAABASŠNAM àV̽DAABASŠVD--NԠUSD àSDDAABASŠSUYD àMDŽSԠASSҠYPŠҠDBMS àSAԽNDNSUNDMDBMS àDSԽDAASԠNAM àBUƽNPUԠBUҠ(DSNGH+MDAD àKDSKKAA'DҠS àҠAAYƠҠMSSAGS àNԠNŠUN àPAGŽPAGŠUN àNԠDUN àUA̽SԠAAYNANNGDSàƠSϠBŠSD àASɽAAYϠNVԠNGS à àMAGŠűMMNAAYS MMNS(0SG(UN(5PN(DA( àMAGŠAAYS DMNSNBAS(6V(3SD(MD(SA( DS(6BU(9 à DMNSNK(0(5UA(3AS(3BU(0 DMNSNHD(5PAG( DMNSNMSG( à DAAMSGHBŬHGɬHNHSϬHԬH0ҬHìHҬHDS HPHϬHŬHSSHD DAABASůHŬHDHBHŬHԬHB DAASD5666 DAADŠ DAADSԯHUHSԬHMHԬH̬Hï DAAүHDBHMSHŬHҬHHSϬHԬHŬHҬH HDSHKHҬHҠHҬHKHҬHҠHŬHND HϬHƠHϬHB XNԽ0 PAG(H00 PAG(H0 NԽ0 A̠DBPN(BAS(V̬DŬSAԩ Ơ(SA.N.0GϠϠ900 A̠DBGԠ(DS(SAԬBUƬAG Ơ(SA.N.0GϠϠ900 A̠SMVŠ(BUƬDAŬ A̠SMVŠ(BUƬ53HDҬ A̠DBS(0SAԩ Ơ(SA.N.0GϠϠ900 àPNDAABASŠMDŽADNY A̠PNԠ(PAGŬDAŬHDҩ MDŽ A̠DBPN(BASŬV̬SDMDŬSAԩ àHKƠPNSUSSU Ơ(SAԩ9000900 àGԠKAAMS 0A̠(KKSZũ àHKKAASAUS A̠(66KAԩ àHKҠBADҠNSUNԠAKS àSŠBGNNNGAK Ơ(A..0GϠϠ00 Ơ(K.N.AԩGϠϠ00 KKK àSԠDAABASŠPNS AG0 A̠DBGԠ(DSԬ3SAԬBUƬAG Ơ(SA.N.0GϠϠ900 3SԽ0 àPN-USDϠNMNԠHUDSKK PNҽ àSԠҠSA̠ADƠDAAS 5MDŽ àAGGNDNSA̠AD A̠DBG(DSԬMDŬSAԬBUƬAG Ơ(SAԩ9000900 àHKҠNDƠ 0Ơ(SA(9005030 àUNԠNPUԠDS 30NԽN+ àMVŠDϠDSKKAA K(PNҩSA( PNҽPN+ à àMVŠSԠKYMNPUԠϠDSKK A̠SMV(BUƬ93KPNҪ- PNҽPN+0 àHKҠU̠DSKKBU Ơ(PN+..0GϠϠ5 àŠϠDSKKAA A̠à(K0KSԩ SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ KK+ GϠϠ3 àSA̠AD-ŠASԠDƠNSSAY à 50Ơ(PN..GϬ Ϡ60 A̠à(K0KSԩ àSŠDAABASŠBŠS 60MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ9000900 à àSԠUPSԠPAAMSƠSƠKYSNGHƠKY àSGԠSԠϠNGHƠSԠBU 0UA(N UA( UA(30 SԽ0 à àBGNSԠMSSAG A̠à(0BMSG5 A̠S(UA̬SAԩ Ơ(SAԩ50050 àSUSSU̠SԠ-PNDAABAS 0MDŽ KNԽN A̠DBPN(BASŬV̬SDMDŬSAԩ Ơ(SAԩ90000900 àSԠSҠADDSKҠSDDNUMBS 00SԽ0 0A̠à(K0KKSԩ àHKҠSUSSU̠AD A̠à(3SAԬ0 Ơ(AND(SAԬ3B505 0SԽS+ àHKҠAKV Ơ(S..SZũGϠϠ30 KKKK+ àSԠSҠ SԽ0 àSԠBUҠHDS0DSà'S àSԠMԠҠADPNԠP 30Ơ(N..0GϠϠ0 M0 NԽN-0 GϠϠ55 àƠSSHAN0SԠMϠƠDS 0MN NԽ0 55N0B A̠S(BUƬ0N àADPNԠP DϠ300PNҽM àSԠMDŠҠKYDADNà'SUNDMS MDŽ3 A̠DBG(DSԬMDŬSAԬBUƬK(PNҩ Ơ(SAԩ90060900 àMAԠSԠPNԠNŠ-USMҠNAMŠD 60A̠SMV(BUƬ3BUƬ5 A̠SMV(BUƬ93BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ-SԠADDSS A̠SMV(BUƬ395BUƬ9 A̠SMV(BUƬ50BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ3(Y-SAũ A̠SMV(BUƬ59BUƬfe9 A̠SMV(BUƬ05BUƬ9 A̠(6BUƬ0 A̠S(BUƬ0N àNŠ(ZP A̠SMV(BUƬ9BUƬ33 A̠SMV(BUƬ530BUƬ6 A̠(6BUƬ0 A̠S(BUƬ0N àŠABANKN A̠(6BUƬ0 àADDϠNŠUN NԽN+5 àHKҠNDƠPAG Ơ(N.G.50GϠϠ0 GϠϠ300 àNנPAG 0NԽ0 A̠PNԠ(PAGŬDAŬHDҩ 300NNU Ơ(N..0GϠϠ350 GϠϠ0 àNMA̠NDƠB 350MDŽ0 A̠DBS(MDŬSAԩ Ơ(SAԩ900360900 àʠMSSAG 360N60B A̠S(BUƬ0N A̠SPU(BUƬN A̠(6(96 àDSPAYDUN A̠à(6MSG(69 A̠A(KNԬASɩ A̠à(6ASɬ3 SP àҠUNS-MSSAGSDSPAYDNHŠSYSMNS àAKS 00A̠(0B(5 A̠NV(AԬASɩ GϠϠ95 àSԠS 50A̠(0B(65 A̠NV(SAԬASɩ GϠϠ999 àDSKS 5A̠(60B( GϠϠ90 àDAABASŠS 900A̠(0B(5 90A̠NV(SAԬASɩ 95MDŽ0 A̠DBS(MDŬSAԩ 999SP ND SUBUNŠPNԠ(PAGŬDAŬHDҩ à'PN'SADBYAؠϠPNԠPԠHADNGS àBUƽHDAAҠNSANS àKBUƽUPUԠN à DMNSNBU(60KBU(0 DMNSNHD(5 à DAABUƠHASHϬH:HHجHجHدHجHPAHGŬH HUHSԬHMHҬHAHDDHŬHSSHìHϬHSSH-Ҡ HƬHҬHNHŬHUHSԬHMHҬHɬHDHNHVϬ HìH-HϬHAHDDHŬHSSHB@5(KB(66KKB(6KKB(K KSAԽSAԠ0.9. Ơ(KSA.G.0A̠UDB(KSAԩ0.9. Ơ(KSA..0GϠ000.9. ASSGN39Ϡ̠0.9. à àNVADHAAҠ0.9. Ơ(KSA..-A̠MSG(00̬3950050.9. à àAHMàVנ0.9. Ơ(KSA..-3A̠MSG(00̬3960050.9. 39ASSGN00Ϡ̠0.9. A̠(̩0.9. à àUNKPDUԠ 00D33-D NNK(B(3DD àSԠD D33-D Ơ(N..0A̠SYS(H à àDϠDBGԠϠGԠԠPN à 0A̠DBG(KD3SAԬMYBUƬSK(6D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àUPDAŠDҠDA̠D à àGԠMUNԠNUMBS NϽB(D A̠DBN(HɠNϬBҩ KSAԽB Ơ(KSA.N.0A̠UDB(KSAԩ àMAKŠMNUMBSPSV DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ àMNAŠSAHVAUŠM DϠ0ɽ3B(+ 0B(ɩB(+ B(B(- KSK(3D à àUPDAŠDҠDA̠D A̠DBUPD(KDSAԬB(KB(6KMYBUƩ KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àŠDҠDA̠ϠGAP 500KB(60KHD A̠G(KB(60KDB(3 à àSAԠϠBŠ5? 560Ơ(M(SK(DB59059050 50KSK(3D KB(KH5 àSԠNŠHANGŠAGN 590SK(D(SK(D640B à àPMPԠҠANHҠNŠ? 600Ơ(SK(D.N.HA̩GϠ0 SK(5DSK(5D- àNDƠDҠHAN? Ơ(SK(5D.G.0GϠ50 GϠ0 à àDNŠHNŠHANGS àDSPAYDҠDAS 650ASSGN660ϠN A̠UDD(N à à?APԠ(PMPԩDҠDASDSPAYD 660ASSGN60Ϡ A̠MSG(00̬5 60ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0 ASSGN60Ϡ A̠(̩ àSԠSPNS à 60ɽB(D Ơ(B(ɩ..HNϩGϠ0 Ơ(B(ɩ..HYũGϠ900 Ơ(B(ɩ..HGϠ900 à àNVADSPNS ASSGN60Ϡ A̠MSG(00̬5 à à à àҠPSSҠ à à àNVADHAA 30ASSGN35Ϡ A̠MSG(00̬959 35ASSGN90Ϡ̠0.5. A̠(̩ à àNDƠUNŠPSSҠ à àUPDAŠA̠G 900ҽ0 KSK(3D Ơ(KB(K..HGϠ905 A̠SADD(H50KB(K5ҩ Ơ(..0GϠ300.0. 905A̠MV(KB(KKB(36K à àԠ à àADDNDDPSϠGԠNנDҠGSS 90ASSGN90Ϡ A̠(̩ àDҠGSSHADVנNDN àADUSԠNŠNDDPS 90Ơ(B(D..GϠ00.. 90ɽSK(D GϠ ND ND$ =A6   24386-18026 1451 S 0122 26ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMU05 àB(SAUSUNDMԠN à5-0-00 àU0ASHŠUSҠϠUPDAŠHŠGHԠHAGSANDH àADDNA̠HAGSANDMMNS àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 NGҠM DMNSNKG(6 DAAKGԯH(׬HGԬHHH0H à àSԠSGMNԠ B(D0 à à?GHԠ(PMPԩ 00ASSGN05Ϡ A̠MSG(00̬0 05ʱ(B(5D+ ʲB(D B(ʲB(ʲ+ A̠MV(KGԬB(ʱʲ6 KSK(3D A̠SMVŠ(KB(36KB(ʱʲ6 ʱʱ+6 B(ʱʲMP(B9 B(ʱ+ʲMP(0 ASSGN0Ϡ A̠(̩ à àSԠSPNS 0ɽB(D Ơ(B(ɩ..HGϠ0 à àMVŠNPUԠϠDҠMAS KSK(3D A̠MV(B(ɩKB(3K3 0ASSGN50Ϡ à àDASSSUS?DAŠUD?SHPDAŠPMPS à A̠DAS(ԩ àSSUNNSK(9 à à?UPDAŠHAGS(PMPԩ à 50ASSGN55Ϡ A̠MSG(00̬9 55ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0  ASSGN60Ϡ A̠(̩ à àSԠSPNS 60ɽB(D Ơ(B(ɩ..HYũGϠ0 Ơ(B(ɩ..HGϠ0 Ơ(B(ɩ..HNϩGϠ90 à àNVADSPNS ASSGN55Ϡ A̠MSG(00̬9 à à à àPMPSҠUPDANGADDNA̠HAGS 0ASSGN90ϠN A̠GHG(N àSSUNNSK(9 à àGԠA 90KSK(3D ýKB(K A̠S(KB(33K660B Ơ(..GϠ00 ASSGN00ϠN A̠GA(ìN à à àAUAŠDN à 00KSK(3D A̠MV(KB(6KKB(K à àSUBAԠDSUN 3SK(3D ҽ0 A̠SSUB(KB(3036KB(3ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àADDA ҽ0 A̠SADD(KB(3336KB(3ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àADDGH ҽ0 A̠SADD(KB(336KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àADDNSUAN ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àADDSPàHG ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ00 à àHKDԠM Ơ(M(B(00B..0GϠ0 ҽ0 Ơ(SM(KB(36KB(3ҩ..0GϠ0 àDSPAYDԠMԠDDMSSAG ASSGN60ϠAB A̠MSG(00AB̬559 60ASSGN0ϠAB A̠(AB̩ à à?DSPAYAS(PMPԩ 0ASSGN300ϠN A̠D(N à à?APԠ(PMPԠҠA̠HAGS à 300ASSGN305Ϡ A̠MSG(0W0̬5 305ʱ(B(5D+ ʲB(D B(ʱʲMP(B3 B(ʱ+ʲMP(0 ASSGN30Ϡ A̠(̩ à àSԠSPNS 30ɽB(D Ơ(B(ɩ..HNϩGϠ00 Ơ(B(ɩ..HGϠ900 Ơ(B(ɩ..HYũGϠ900 àNVADSPNS ASSGN305Ϡ A̠MSG(00̬5 à à àҠPSSҠ à àAHMàV 00ASSGN05Ϡ A̠MSG(00̬9996 à àUNϠPMPԠҠADDNA̠HAGS 05ASSGN00Ϡ A̠(̩ à àNVADHAA 0ASSGN5Ϡ A̠MSG(00̬9599 5ASSGN30Ϡ A̠(̩ 30KSK(3D KB(KH B(D àB(D̠UPDAŠDMSԠàUNϠMANPGM à àA̠HŠU0SGMNԠ à 900A̠S(0 A̠S(9SAԬDUN A̠SYS((0060BABS(SAԩ 999A̠ű ND SUBUNŠDAS(N à àDASPMPSUSҠҠUDDAŠANDƠNHŠDҠUPDA àSGMNԠ̠ASϠPMPԠҠSHPDA à àSK(9N àSK(MPUDGϠVAAB à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUqMìKAجKDS MMNSK(00 DMNSNU̱(3 DMNSNU̲(3 DMNSNKBNK(3 DMNSNSD(3 DAAKBNKHHH à SK(9DN àSԠVAABŠҠMPUDG SK(D à?DAŠUDNԠUPUԠƠSHPDAŠHASBNUPDAD ҽ0 KSK(3D Ơ(SM(KBNK6KB(55Kҩ.N.0GϠ5 àPMPԠҠDAŠUD à?DAŠUD(PMPԩ ASSGN00ϠK A̠MSGƠ(00K3 00ɽ(B(5D+ ʽB(D àAPԠDA-UPϠHAAS B(ɬʩMP(3 àAPԠ""ƠNDҠUPDAŠSGMN Ơ(B(D..B(ɬʩMP(03B B(+ʩMP(0 ASSGN0Ϡ A̠(̩ à àS""AVADSPNS? àSHPҠUDDAŠBNGPSSD? 0NSK(D GϠ(030N à àPSSUDDA à 03ʽB(D Ơ(B(ʩ.N.HGϠ05 Ơ(B(D..GϠ5 à àAŠNHŠDҠNYSGMN à""NVADƠUDDAŠSBANK 03ҽ0 KSK(3D Ơ(SM(KBNK6KB(0Kҩ..055 à àPSSSHPDA à 0ʽB(D Ơ(B(ʩ.N.HGϠ05 KSK(3D à""NVADƠSHPDAŠSBANKSAUSS5 Ơ(SM(KBNK6KB(55Kҩ..050900 à àNVԠϠUAN à 05ʽB(D A̠ʠ(B(ʩU̱SAԩ Ơ(SA.N.0GϠ5 à à àUANYA 0A̠Aɠ(U̱U̲SAԩ àUANDAY A̠Aɠ(U̱35U̲(SAԩ àMPAŠDAŠUDϠDAY(MUSԠBŠҠ Ơ(U̲..B(5GϠ5 Ơ(U̲.G.B(5GϠϠ5 Ơ(U̲(..B(6GϠϠ5 à 5KSK(3D NSK(D ʽB(oD GϠ(030N à àDAŠUD 0A̠DA(B(ʩKB(0K 5SK(D KSK(3D Ơ(KB(K.N.H5GϠ900 à à?SHPDAŠ(PMPԩ ASSGN00Ϡ A̠MSG(00̬50 àSAVŠSHPDAŠND 30A̠DA(B(ʩKB(55K GϠ900 à àDAŠNDASNVAD à 5Ơ(SK(D..GϠ50 àNVAD-NҠ(MSSAGũ à?DAŠUD(PMPԩ ASSGN00ϠK A̠MSG(00K3 à à?SHPDAŠ(PMPԩ 50ASSGN00Ϡ A̠MSG(00̬50 à àԠ à 900̽SK(9D GϠ ND SUBUNŠDB(KSAԩ à àDBҠ̠NVԠHŠDBMSҠDŠϠASɠANDDSPAY àԠHAMSSAGŠϠHŠAPPPAŠMNA.Ԡ àASŠHŠMNA̠NPUԠBUҠANDSSUŠAUNϠMAN. àԠSHŠSPNSBYƠHŠANGPGAMϠANUP àHSSABSPNSKSASŠANYDSK àBUSHŠMGHԠHAV. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMSG(3KSA( à DAAMSGHDAHAHBHASHŠHҬHϬHҠHNϬH HHnH à Ơ(KSA..0A̠SYS(H- ʽB(D A̠A(KSAԬMSG( A̠MV(MSGB(ʩ3 A̠S(B(5DB(ʩ3D A̠S(9SAԬDUN Ơ(SAԩ030 0A̠SYS((ABS(SAԩ30060B 30A̠PBU(B(D B(D0 àUNƠAVYAG(B̠BԠ5 B(DAND(B(D3B àUNKANYDSҠHSMNA ɽ 35ɽNK(ɬD Ơ(ɩ50035 0A̠S(5 50A̠SYSҠ(H ND SUBUNŠNBU(ԩ à àNBUƠGSANNPUԠBUҠNUMBҠANDSPAŠSHŠBU àSK(0SAVSUNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(0D 00A̠GBU(ɬ Ơ(.G.0GϠ990 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0GϠ0 GϠ00 à 0A̠SYS((0060BABS(SAԩ 990B(D A̠S(B(ɩ30H B(3D àԠ NSK(0D GϠN ND SUBUNŠDKBU(ԩ à àDKBUƠGSADSKBUҠANDSAVSHŠNUMBҠNSK(3 àSK(0SAVS*($UNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(0D 00A̠GBU(K3 Ơ(K.G.0GϠ990 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0GϠ0 GϠ00 à 0A̠SYS((0060BABS(SAԩ à 990SK(3DK à àԠ ɽSK(0D GϠ ND ND$ :SԬҬ05 : *   24386-18027 1451 S 0122 27ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N SUBUNŠGA(ìԩ àSԠ6BYSϠUSŠHSMPY àSK(9 àSK(0 à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNNA(3 DMNSNS(3 à SK(0D SK(9D à àDMNŠA A̠S̠(NAج660B à àKAؠSHŠNUMBҠƠAؠANSNA Ơ((..0.AND.(.G.KAةGϠ330 A̠A(A(éNAة GϠ30 à àNϠMAHà(MSSAGũ à?A(9V9999(PMPԩ 330ASSGN30ϠAB A̠MSG(00AB̬565 30̴(B(5D+ 5B(D B(̴5MP( B(̴+5MP(0 ASSGN350ϠAB A̠(AB̩ 350̲B(D A̠MV(B(0̲NAج3 à àMPUŠA̠AؠVAU à 303SK(3D àMVŠDҠGSSϠS A̠MV(KB(63S(0 à à(DҠGSS-DSUNԩ ҽ0 A̠SSUB(KB(3036S(0ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à à(Aؠ(DҠGSS-DSUNԩ ҽ0 A̠SMPY(NAج6SԬ96ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àt àUNDUP? ҽ0 A̠SADD(H50SԬ53ҩ Ơ(.G.0GϠ00 Ơ(..0GϠ0 à àAؠSԠDV? Ơ(S(.G.H00GϠ00 à àUPDAŠAؠS 30A̠MV(S(9KB(3333 à àԠ à 00ɽSK(0D GϠ à àAHMàV 00A̠S(KB(333660B ASSGN05Ϡ A̠MSG(00̬950 05ASSGN00Ϡ A̠(̩ àNVADHAA à 0A̠S(KB(333660B ASSGN5Ϡ A̠MSG(00̬960 5ASSGN00Ϡ A̠(̩ ND SUBUNŠD(ԩ àSK(9UND à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMSK(6 DMNSNMSK( DMNSNMSK3( DMNSNKGS(3 DMNSNNDS(3 DMNSNK(3 DMNSNNA(3 DMNSNKNS(3 DMNSNKHG(3 DMNSNKD(3 DMNSNKN(3 DMNSNKG(3 DMNSNKN(5 DMNSNKMN(3 DAAKMNԯHϬHMNHS DAAKGSHҬHDGHS DAANDSHDɬHSìHNԯ DAANAدHAHؠH DAAK#ԯHҬHGHHԠ DAAKNSHNHSUHҠ DAAKHGHSPHHHG DAAKDHSPHϬHDů DAAKNԯHҬHDNHԯ DAAKGԯHŬHGHHԯ DAAMSKHZZHZZHZZH9.H99Hү DAAMSKHZZHZZH9.H99 DAAMSK3HZZHZ9 DAAKNH(HH0HBH à àNAZ SK(D0 SK(9D à àGԠNPUԠBU Ơ(B(D.G.0GϠ60 ASSGN60ϠN A̠NBU(N 60ɽB(D A̠S(B(ɩ330H 0B(ɩH B(5ɩH B(6ɩH 3SK(3D à àUPUԠBANKN A̠S(B(5DB(ɩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à à àDGS 00ɽB(D A̠MV(KGSB(ɩ3 3SK(3D A̠SMV(MSKB(ɩ A̠SD(KB(355B(ɩ GϠ900 à àDSN 0A̠MV(NDSB(ɩ3 A̠S(B(ɩ30H A̠SMV(MSK0B(ɩ A̠SD(KB(3596B(ɩ0 GϠ900 à àA 5A̠MV(NAجB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(3650B(ɩ0 GϠ900 à àGH 0A̠MV(KԬB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(350B(ɩ0 GϠ900 à àNSU 30A̠MV(KNSB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(36B(ɩ0 GϠ900 à àSPHG 0A̠MV(KHGB(ɩ3 A̠SMV(MSK0B(ɩ A̠SD(KB(39B(ɩ0 GϠ900 à àSPD 50A̠MV(KDB(ɩ3 A̠S(B(ɩ330H A̠SMV(KB(369393B(ɩ00 GϠ900 à àDN 60A̠MV(KNԬB(ɩ3 A̠SMV(MSKB(ɩ A̠SD(KB(3950B(ɩ GϠ900 à àGH 0A̠MV(KGԬB(ɩ3 A̠S(B(ɩ30H A̠SMV(MSK30B(ɩ A̠SD(KB(3B(ɩ0 A̠SMV(KN09B(ɩ GϠ900 à àMNS 5A̠MV(KMNԬB(ɩ3 A̠S(B(ɩ300B A̠SMV(KB(36B(ɩ GϠ900 à 0Ơ(B(D.G.0A̠PBU(B(D B(D0 B(3D àԠ ɽSK(9D GϠ à àSYSҠUN 0A̠SYS((0060BABS(SAԩ à àDSPAYDAA 900A̠S(B(5DB(B(D5D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ àSԠVAABS KSK(D+ SK(DK 3SK(3D ɽB(D GϠ(0503005060050K ND SUBUNŠDD(NBUƬԩ àDDԠDSPAYSSDDAA(NŠMPDUԠDUANY àDSPNƠHŠDҠDA̠DSHAԠHAVŠBN àNϠHŠDSKKAA. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGdŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNNBU(5 DMNSNNBU(3 DMNSNMSK(3 DMNSNMASK(5MASK(5 DAAMSKHZZHZZHZ9 DAAMASKHZZHZ9H.9H99H9 DAAMASKHZZHZHZZH9.H99 à àNAZ SK(9D A̠GB 5B(D à àMAԠUPUԠBU àNŠ 60A̠MV(NBU(5B(5 àPDD A̠MV(NBU(6B(55 àY A̠SMV(MSK6B(05 A̠SD(NBU(36B(056 àDSPN A̠MV(NBU(B(5 àMVŠANDDԠUNԠP A̠SMVŠ(MASK9B(55 A̠SDԠ(NBU(30B(5560 àMVŠANDDԠNDDP A̠SMV(MASK0B(56 A̠SD(NBU(3B(560 à àDSPAYDAA 00A̠S(B(5DB(B(D35D A̠S(9SAԬDUN Ơ(SA..0GϠ0 àԠ ɽSK(9D GϠ à à 0A̠SYS((0060BABS(SAԩ ND SUBUNŠBU(ԩ à àBUƠASSHŠNPUԠANDUPUԠBUSAND àSSHŠBUҠ'SϠZϠAND àSSHŠBYŠPNSϠ àSK(0SAVSUNADDSS à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSDX(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à àSAVŠUN SK(0D Ơ(B(D.G.0A̠PBU(B(D Ơ(B(D.G.0A̠PBU(B(D B(D0 B(D0 B(3D B(5D àԠ NSK(0D GϠN ND SUBUNŠMNS(ҬUN à àMNSADSHŠDҠMASҠDMHŠK-AA àPNSDҠGHԠANDANYMMNSNHŠBM àHŠD. à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 NGҠG(9 DAAGԯHŬHGHHԬH:HZZHZZH0HBHS. B(D B(5DUN à àADDҠMAS à KSK(0D A̠(KB(KB(6DB(D+ ʽB(D A̠S(B(ʩ00B A̠SMV(GԬB(ʩ3 A̠SD(KB(K36B(ʩ5 à àPNԠGH à A̠S(B(5D+00BB(ʩ-56D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ ʽB(D *($KSK(0D A̠S̠(B(ʩ00B A̠SMVŠ(KB(3K6B(ʩ3 A̠S(3B(5D+00BD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ A̠S(B(5D+00BB(B(D-65D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ à àGԠADYϠPNԠMMNS à KB(D Ơ(B(9D..0GϠK 0ʽSK(D+3 ASSGN0ϠK ɽB(5D Ơ(+B(9D.G.3A̠HD(ɬK 0KSK(0D A̠(KB(KB(6DB(D+ SK(D à àPNԠMMNS à 30ɽSK(D ʽB(D KSK(0D A̠S(B(ʩ00B A̠MVנ(KB(ɬKB(9ʩ5 SK(D+5 A̠S(B(5D+00BB(ʩ33D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ ɽB(9D- B(9D Ơ(.G.0GϠ30 KB(D GϠK ND ND$ *   24386-18028 1451 S 0122 28ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMPNԱ5 àPNԱSHŠűN-NŠNVŠPNNGPGAM. àԠ̠PMPԠҠHŠDҠϠBŠPND.DҠSAUS à̠BŠHKD.Ơ"HNV"SUANY-SHPPDNDDP à̠BŠAUADNUANYSHPPD. àHUSUBUNŠGUSԠANANAŠSHP-ϠADDSSMMNS àANBŠND. àHŠGA̠UNԠSHŠUPUԠDVŠNHŠB. àHŠUSMҠà̠BŠNSԠSԠƠDSKK. àHŠDҠMASҠ̠BŠNNDSԠƠDSKK. àMMNSAŠNSҠ3-NƠDSKK(NԽB(9D àSK(NŠUN àSK(-D àSK(0DSKBU à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDS(3KSA(BU(60Z(AUM(3VD(3 DMNSNDԱ(DԲ(5D3(3NUM(MS(0NB(0 DMNSNUS(3 DMNSNN(3 DAANHŬHUHN DAADSԠHҬHDMHSԯ DAAZϠH00H00H00H00 DAAVDHHVϬHD DAADԱHZZHZZH9.H99 DAADԲHZZHZHZZH9.H99 DAAD3HZZHZZHZZ àZϠAAҠHANUNԠNDҠDAS 0;xB(0D0 àPMPԠҠDҠ 0ASSGN0ϠK A̠MSGƠ(B(DB(5DK36 0ɽ(B(5D+ ʽB(D àAPԠ"UN"Ҡ6HAҠDҠ B(ɬʩMP(6 B(+ʩMP(56 B(+ʩMP(0 ASSGN50ϠK A̠Ϡ(K 50ɽB(D àƠ"UN"UNϠMAN Ơ(SM(B(ɩ6Nҩ5599055 àSŠDNSK- 55A̠MVנ(B(ɩSK(D3 àGԠDSKBU 60A̠GBU(M3 Ơ(M650 65A̠S(BD A̠S(9SAԬDUN Ơ(SAԩ95060 àSŠBUҠ 0SK(0DM àGԠDҠMAS 5MSK(0D A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA..0GϠϠ0 Ơ(SA.N.0GϠϠ900 GϠϠ90 àNϠDUND 0ASSGN0ϠK MSK(0D A̠PBUƠ(M3 A̠MSGƠ(B(DB(5DK à àHKSAԠ-ƠKϠPN 90Ơ((KB(3M..Hұ..(KB(3M..Hѱ.. (KB(3M..Hñ..(KB(3M..H5GϠϠ95 à àNVŠNԠDDҠPNNG 9ASSGN0ϠK A̠PBUƠ(M3 A̠MSGƠ(B(DB(5DK66 95Ơ(KB(3M.N.HұGϠϠ00 àƠHNVSPNԠNYNVSDD5 Ơ(M(B(00B00009 à àA̠UNŠϠGԠUSԠàMMNS à 00A̠MVנ(KB(0MUSԬ3 àSŠSAԠҠHADҠUN àKDҠMAS à(DAASԠãMNA̠D àUNNAVYAG(B̠BԠ5 B(D(B(D0B Ơ(K(SA(D9505 0NNU B(DKB(3M ASSGN05Ϡ A̠GUS(ҬUSԩ 05Ơ(.SA..0GϠϠ5 Ơ(SA..0GϠϠ0 GϠϠ900 àNϠUSMҠD 0ASSGN0ϠK A̠PBUƠ(M3 Ơ(NK(D955 5A̠MSGƠ(B(DB(5DK65 à àKPNԠDV à 5ɱ33-D ʱK(0B(3ɱ D33-ɱ Ơ(ʱ95305 àGԠDҠMAS 30MSK(0D 35A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA.N.0GϠϠ900 5MSK(0D àŠDҠMASҠϠSҠƠׯA A̠à(KB(MB(6DB(D+ à àPASSUNԠƠPNNGDV à 50ASSGN60Ϡ A̠HDҠ(B(3ԩ àGԠUPUԠBU 60A̠GB 5NB(D àUNŠϠADMAԠDA̠N 0A̠GD(SK(DB(NBUƩ Ơ(SA.N.0GϠϠ900 àNDƠDA̠DS? Ơ(B(0D..0GϠϠ300 àMVŠNDԠMASKS A̠SMVŠ(DԱB(N6 A̠SMVŠ(DԲ0B(N A̠SDԠ(BUƬ650B(N669 A̠SDԠ(BUƬ30B(N0 àŠPNԠN NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ950 àSNGŠSPAŠADDNA̠N 50NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ950 à àADDϠNŠN SK(DSK(D+ àHKҠNנPAG Ơ(SK(D..30GϠϠ5 àUNϠPSSNԠDA̠N ASSGN60Ϡ A̠HDҠ(B(3ԩ 60GϠϠ5 àA̠A̠DҠUN 300ASSGN30Ϡ A̠N(ԩ 30ASSGN30Ϡ A̠MNS(ԬɣB(3 à à àUNKPNԠDV à 30ɱ33-D ʱNK(0ɱ à àUPDAŠSA MSK(0D A̠DBGԠ(DSԬSAԬKB(MSK(D Ơ(SA.N.0GϠϠ900 A̠SPUԠ(KB(M66B àGԠDAASԠ A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0GϠϠ900 àGԠDAAM'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0GϠϠ900 àMAKŠDAAMSPSV DϠ350ɽMS( MS(+ABS(MS(+ 350NNU àSUBAԠMMUNԠҠKY NBҽMS(- àMVŠDAAMSϠAAҠUPDA A̠MVנ(MS(NB(NBҩ àUPDAŠD A̠DBUPD(DSԬSAԬNBҬKB(0MBUƩ Ơ(SA.N.0GϠϠ900 KB(6MHM A̠G(KB(6M5B(3 àUNKŠ-UNϠPMPԠҠDҠN 35Ơ(NK(D9530 àA̠SUBUNŠϠUPDAŠUSԠDA̠(ãϣ 30MSK(0D A̠DUP(KB(0MKB(M NB(D Ơ(SA.N.0GϠϠ900 A̠PBU(N B(D0 MSK(0D A̠PBU(M3 GϠϠ0 àDAABASŠS 900KSAԽSA ɱ33-D ʱNK(0ɱ Ơ(NK(D9590 90MSK(0D A̠PBU(M3 NB(D A̠PBU(N B(D0 A̠DB(KSAԩ àSYSM 950A̠SYSҠ((ABS(SAԩ30060B 960A̠ű àAHMàV 95A̠SYSҠ(H3 àSYSM--ŠK 95A̠SYSҠ(H àUNƠAVYAG(B̠BԠ5 990B(DAND(B(D3B A̠S(5 ND SUBUNŠN(ԩ à àA̠DҠUN(ԩADBYPNԱ Uà àB(0DUNADDSS à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDAA(MSK(5 DMNSNZ(3 DAADAAHDɬHSìHUHNԬHҬHɬHGHHԠHNŬ HԠHŬHGHHԬHϬHMMHNHSHGҬ HSHSHSPHìHAH̠HHHAҬHGů DAAMSKHZZHZHZZH9.H99 DAAZϠH00H00H00 àSŠUNADDSS B(0D àSPAŠNS 0NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 àBANKPNҠBUҠ-SAVDMPNԱ à NB(D B(NH A̠MVנ(B(NB(N39 àADDҠMASҠMDSKK MSK(0D A̠à(KB(MB(6DB(D+ àGSS$ A̠MVנ(DAA(B(9N3 àDԠMASK A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M630B(N0 àPN 35NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 0MSK(0D àDSUN NB(D A̠MVנ(DAAB(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M6ZϬҩ506050 50A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M6B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 àGH 60NB(D A̠MVנ(DAA(5B(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M9ZϬҩ000 0A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M9B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 à àSPA̠HAGS 0NB(D A̠MVנ(DAA(B(9N MSK(0D àƠDZϠBYPASSPNNGN Ơ(SM(KB(M990ZϬҩ900090 90A̠SMVŠ(MSK0B(N A̠SDԠ(KB(M990B(N0 NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 à àDҠN à 00NB(D B(NH A̠MVנ(B(NB(N39 A̠MVנ(DAA(9B(9N A̠SMVŠ(MSK0B(N MSK(0D àPKUPNԠAMUNԠM 0A̠SDԠ(KB(M0B(N0 àPNԠNԠAMUNԠN 0NB(3+00B A̠S(NB(N0D A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 50NB(3+00B A̠S(3ND A̠S(9SAԬDUN Ơ(SA..0GϠϠ00 GϠϠ0 àAHMàV 60A̠SYSҠ(H3 àaNDƠA̠UNŠ-SԠUNADDSS 0ɽB(0D GϠϠ 00A̠SYSҠ((H00ABS(SAԩ ND SUBUNŠDUP(NϬNϩ à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNN(3N(3DS(3PAH(3BU(30 DMNSNNUM(MS(0NB(0 DAADSԠHUHSԬHD DAAPAHHUHSԬHD A̠DBND(SAԬDSԬPAHNϩ Ơ(SA.N.0GϠϠ0 SAԽ0 UN 0Ơ(SA.N.0UN Ơ(SA(3..0UN SAVŽSA(3 5DϠ30ɽSAV A̠DBGԠ(DSԬSAԬBUƬNϩ Ơ(SA.N.0UN Ơ(SM(BUƬ3NϬҩ30030 30NNU àPPAŠϠUPDAŠUSԠDAS 0A̠DBNƠ(HS5DSԬNUM SAԽNUM Ơ(SA.N.0UN àGԠDAAMS'S A̠DBNƠ(HɠNUM(MS SAԽMS Ơ(SA.N.0UN àMAKŠMSPSV DϠ50ɽMS( MS(+ABS(MS(+ 50NNU àSUBAԠҠKY NBҽMS(- A̠MVנ(MS(NB(NBҩ àHANGŠSAUS A̠SPUԠ(BUƬ566B A̠DBUPD(DSԬSAԬNBҬBU(MS Ơ(SA.N.0UN BU(3HD A̠G(BU(36B(3 ND PGAMSԬ5 à àSԠ̠PMPԠҠGNàNAM.Ԡ̠ASSH àNDؠŠҠHŠD'SNHŠGNàNAMŠ. àԠPSVSHŠNNSƠSK6-0ҠUNϠ0. àƠNUMà(ƠNSNŠNDةSZϬSԠ àDSPAY"GNàŠMPY"ANDUNϠ0. à à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à ASSGN0ϠG Ơ(NUM..0A̠MSGƠ(00GϬ6 ASSGN0ϠG A̠MSG(00GϬ5 0ʽB(D ̽(B(5D+ B(̬ʩMP(90 B(+ʩMP(0 ASSGN0ϠG A̠(Gϩ 0BB(D B(DN ýB(B à àNDNDؠNY à DϠ30ɽNUM Ơ(SM(NDG(ɩìSAԩ30035 30NNU àNϠDUND 35ASSGN0ϠG A̠MSG(B(DGϬ 0ASSGN00ϠG A̠(Gϩ à àADNDؠ à 0B(DNDG(ɩ A̠GB 90B(5D ASSGN00ϠG A̠DG(B(DGϩ 00ɽB(D ʽB(D Ơ(SM(B(ʩB(DB(ɩSԺ2640Aԩ0035 0B(DB(D+ GϠ90 à àUNDNDؠNנAD à 0B(D0 B(DB(6ʩ B(3DB(ʩ 5B(5D3 ASSGN30ϠG A̠DG(35B(DGϩ 30ʽB(D B(6ʩH A̠MV(B(ʩB(ʩ5 B(ʩH A̠MV(B(ʩB(3ʩ B(ʩH A̠MV(B(ʩB(ʩ B(ʩH A̠MV(B(5ʩB(3ʩ A̠S(B(5DB(ʩ3D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((H00ABS(SAԩ B(DB(D+ B(DB(D+ B(3DB(3D- Ơ(B(3D..0GϠ00 Ơ(B(D..0GϠ5 B(DB(D B(D0 ASSGN0ϠG A̠NU(Gϩ 0B(DB(D Ơ(B(5D..HNϩGϠ00 B(D0 GϠ5 à àA̠DNŠAV à 00ɽB(D ʽB(D Ơ(.N.0A̠PBU(ɬ Ơ(.N.0A̠PBU(ʬ B(D0 B(D0 A̠S( SP30 999A̠ű ND ND$ 6   24386-18029 1451 S 0122 29ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N SUBUNŠ(ԩ àB(SAUSUNDMԠN àA0NDASSUSSU̠A̠ƠHŠD à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNKD(3 DAAKDHҬHDŬHԠ à àSAVŠUN SK(0D à B(D0 KSK(3D à àZϠDGS A̠S(KB(6K60B à àGԠHANNGH SK(5DND(KB(KSAԬB(D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ Ơ(SK(5D.G.000990 à àSŠHANN 00NϽB(D A̠DBN(HҠ6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àHANADƠDҠDA KSK(3D A̠DBG(KDSAԬKB(5KN KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àSAVŠHANN NϽB(D A̠DBN(HS6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àADDPҠϠDGS ҽ0 A̠SADD(KB(9KKB(6Kҩ Ơ(..0GϠ00 Ơ(.G.0GϠ0 à àNVADHAAҠ(MSSAGũ àNDDPŠ(MSSAGũ ASSGN0Ϡ A̠MSG(00̬9500 0ASSGN0Ϡ A̠(̩ 0B(D àB(DSUSNAUNϠMANPGM à àSAԠSNMP KSK(3D KB(KH GϠ990 à àVנ(MSSAGũ àDҠGSS(MSSAGũ àDSPAYNŠNϠVD 0ASSGN5Ϡ A̠MSG(00̬399639 5ʱ(B(5D+ ʲB(D B(ʱʲMP( KSK(3D B(ʱ+ʲKB(65K B(ʱ+ʲMP(0 ASSGN50Ϡ A̠(̩ 50B(D àB(DNDASN-P̠UNϠHŠ?NŠMNϠPMP GϠ990 00SK(5DSK(5D- Ơ(SK(5D.G.0GϠ00 à àUN 990NSK(0D GϠN ND SUBUNŠNUD(ԩ àNUDSNנDҠMASҠANDDҠDASDSϠH àMAGŠS àSK(0HDSUN àSK(3DDSKBUҠ àB(HDSHŠNŠMϠBŠUSDNNGHŠDҠDA à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à DMNSNB( DMNSNVA(60 DMNSNMP(9 DMNSNMYBU(60 DMNSMwNKDM(3 DMNSNKDD(3 DMNSNKZ(3 NGҠM NGҠD àMDMSԠDNGH+ DAAM5 àDDDԠDNGH+ DAAD0 DAAKZϯH00H00H00 DAAKDMHҬHDMHSԯ DAAKDDHҬHDŬHԠ à àNAZ SK(D B(DH0 à àNנDҠMASҠ à 60KSK(3D A̠MV(KB(KVA̬5 à àSAԠSDDà(NMPũƠNϠDASAŠAD Ơ(B(9D.G.GϠ0 VA(H KB(KH à àŠSҠBAKϠDSKKAA 0KSK(3D A̠(KB(KB(6DB(D à àGԠDAASԠNUMB A̠DBN(HS5KDMMP KSAԽMP Ơ(KSA.N.0GϠ00 à àGԠMUNԠNUMBS A̠DBN(HɠMP(Bҩ KSAԽB Ơ(KSA.N.0GϠ00 à àMAKŠMSNUMBSPSV DϠ00ɽ3B(+ 00B(ɩABS(B(ɩ à àŠNנDҠMAS A̠DBPU(KDMSAԬB(VA̬KB(K KSAԽSA Ơ(KSA.N.0GϠ00 à àŠDҠMASҠϠGAP 0A̠MV(VA̬MYBU(M- MYBUƽHM A̠G(MYBUƬMB(3 à àNנDҠDAS à àADDҠDAS 95B(0D 00Ơ(B(0D.G.B(9DGϠ0 A̠DD(VA̩ ҽ0 Ơ(SM(VA(36KZϬҩ..0GϠ0 àNŠMSHZϠYSAŠNԠNϠHŠDҠDA̠ VA(5B(D à àGԠDAASԠNUMB A̠DBN(HS5KDDMP KSAԽMP Ơ(KSA.N.0GϠ00 à àGԠMUNԠNUMBS A̠DBN(HɠMP(Bҩ KSAԽB Ơ(KSA.N.0GϠ00 à àMAKŠMNUMBSPSV DϠ0ɽ3B(+ 0B(ɩABS(B(ɩ à àŠNנDҠDA KSK(3D A̠DBPU(KDDSAԬB(VA̬KB(K KSAԽSA Ơ(KSA.N.0GϠ00 à àŠDҠDA̠ϠGAP 3A̠MV(VA̬MYBU(D- MYBUƽHD A̠G(MYBUƬDB(3 à àNMNԠNŠMUN à 35ҽ0 A̠SADD(H0B(Dҩ Ơ(..0GϠ0 Ơ(.G.0GϠ0 à àNVADHAA B(DH0 0B(0DB(0D+ GϠ00 à àԠ 0ɽSK(D GϠ à àҠPSSҠ àDAABASŠ 00Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 ASSGN05ϠN A̠BU(N 05A̠DB(KSAԩ à 0A̠SYS((0060BABS(SAԩ ND SUBUNŠNG(ԩ àNGԠAUASANנA̠GH. àA̠GHԠSDUDBYHŠDYPDUԠGHԠAND àNASDBYHŠNנYPDUԠGH à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNMP(0 DMNSNAS(3 DAAASԯHHH à àNAZ | SK(0D à àDUŠA̠G à(ԠGԠ-(DYGԩ 35KSK(3D Ơ(KB(K..HGϠ00 A̠MV(KB(KMP(9 ҽ0 A̠SMPY(KB(0K6MP0ҩ Ơ(ҩ00350 à 3ҽ0 A̠SSUB(MP50KB(K6ҩ Ơ(ҩ0030050 à àMPUŠNנG à(A̠GԠ+(NנYGԩ 300KSK(3D A̠MV(KB(KMP(9 ҽ0 A̠SMPY(KB(K6MP0ҩ Ơ(ҩ0035050 350ҽ0 A̠SADD(MP50KB(K6ҩ Ơ(ҩ000050 00GϽSK(0D GϠG à àNVADHAA 00ASSGN55Ϡ A̠MSG(00̬959 à àV 50ASSGN55Ϡ A̠MSG(00̬996 55ASSGN00Ϡ KSK(3D A̠MV(ASԬKB(K3 A̠(̩ ND ND$ :PҬN99 N SUBUNŠPà(PDHSũ à àPà̠PNԠHŠHSŠANSNHŠPKS àƠHŠANSAŠAVAAB. à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à à àMAGŠHANSAVŠAAűŠNDS MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNDS(3PAH(3PD(5BU( DAADSԠHPҬHDŬHԠ i DAAPAHHPҬHDHD àBANKBU àSԠƠPDUԠMASҠAVAAB ʽB(D A̠S̠(B(ʩ00B Ơ(M(B(B550 àHKҠPDUԠDA̠S 0Ơ(M(B(B5530 5SAԽ0 UN 30A̠DBND(SAԬDSԬPAHPD Ơ(SA..0GϠϠ5 Ơ(SA..0GϠϠ35 GϠϠ àNϠNVNYDS 35Ơ(SA(3..0GϠϠ àPDNHANҠHS NԽSA(3 DϠ5ɽN A̠DBGԠ(DSԬSAԬBUƬPD Ơ(SA.N.0GϠϠ Ơ(HS..BU(9GϠϠ50 5NNU UN àUNDMAHNPDUԠANDHS--MVŠNANS 50ʽB(D A̠MVנ(BU(B(9ʩ3 A̠MVנ(BU(B(ʩ3 GϠϠ ND SUBUNŠUDD(ԩ àUDDԠMASANDDSPAYDҠDA̠DAA àUNSAVDNSK(9 à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNKAN(5 DMNSNMYBU( DMNSNKDD(3 DMNSNMSK(3 DMNSNMSK(5 DMNSNKSHP(3 DAAKSHPHSHHPHD DAAKDDHҬHDŬHԠ DAAKANHAHNìH̬HŬHD DAAMSKHZZHZZHZ9 DAAMSKHZZHZ9H.9H99H9 à àNAZ à SK(9D à àDSPAYDҠDA̠NϠ à àGԠHANN à 30KSK(3D àGԠHANNGH SK(5DND(KB(KSAԬB(D KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ NϽB(D Ơ(B(D..0A̠GB ʽB(D à àSKPAN B(ʩH A̠S(B(5DB(ʩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àSŠHANN à 30NϽB(D A̠DBN(HҠ6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ à àGԠDҠDA̠D à A̠DBG(KDDSAԬMYBUƬAG KSAԽSA Ơ(KSA.N.0A̠UDB(KSAԩ à àSAVŠHANN A̠DBN(HS6NϬB(D KSAԽB(D Ơ(KSA.N.0A̠UDB(KSAԩ B(DN à àSAVŠDҠDA̠D KSK(3D A̠MV(MYBU(KB(6K39 ʽB(D à àMAԠDҠDA à àN B(ʩKB(65K Ơ(KB(9K.N.HةGϠ30 à àNŠMSAND A̠MV(KANB(0ʩ5 GϠ350 à àPD 30A̠MV(KB(66KB(0ʩ5 àDS- A̠MV(KB(KB(9ʩ àYD A̠SMV(MSK6B(ʩ9 A̠SD(KB(3K6B(ʩ9 àUNԠP A̠SMV(MSK9B(ʩ6 A̠SD(KB(90KB(ʩ63 àYSHP A̠SMV(KSHP6B(ʩ6 A̠SMV(MSK6B(ʩ6 A̠SD(KB(6K6B(ʩ6 àDSPAYDҠDA 350A̠S(B(5DB(ʩ35D A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àSԠVAABS SK(5DSK(5D- Ơ(SK(5D..0GϠ00 355ʽB(D A̠S(B(ʩH à àSԠҠU̠SN à KSK(3D Ơ(KB(65K.N.HGϠ305-9- ASSGN360ϠN à à?NNU(YSNϩ àSK(0DHDSUNADDSS àB(5HDSSPNSŠƠNU A̠NU(N 360Ơ(B(5D..HNϩGϠ00 Ơ(B(D..0A̠GB ʽB(D5-9- A̠S̠(B(ʩ00B5-9- GϠ305-9- à àԠ à 00ɽSK(9D GϠ ND SUBUNŠUDB(KSAԩ àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 SK(DKSA KSK(3D à àASŠBUS Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 àUNƠMNA̠AVYAGƠN à Ơ(M(B(D0B0000090 90B(DAND(B(D3B à 00A̠DB(KSAԩ ND ND$ 64006   24386-18030 1451 S 0122 30ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬN99 N PGAMA̬5 àSK(AGBSAŠS àSK(3DSKBUҠ(KBҩ àSK((5(6A̠GԠMPVUSSGMN àSK(HŠNԠSGMNԠϠBŠAD à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 DMNSNND(39 DMNSNNA(3 DMNSNKZ( DMNSNAS(3 NGҠU NGҠM NGҠN DAAUүH DAANůH0 DAAASԯHHH DAAKZϯH00H00H00H00 à àSԠSGMNԠ B(D à àNAZ SK(D0 SK(3D0 SK(D5 Ơ(B(9D.G.GϠ0 à àNϠNŠMS(MSSAGũ ASSGN05Ϡ A̠MSG(00̬9 05ASSGN960Ϡ A̠(̩ à à à?DSPAYDҠPMP 0ASSGN0ϠAB A̠MSG(00AB̬55 0̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN30ϠAB A̠(AB̩ àSԠSPNS 30̲B(D (B(̲..HGϠ0 (B(̲..HYũGϠ0 Ơ(B(̲..HNϩGϠ0 à àNVADSPNS ASSGN0ϠAB QA̠MSG(00AB̬55 à àSԠDSPAYAG 0SK(DB à àGԠUPUԠBU 50Ơ(B(D..0A̠GB à àUPUԠBANKN 60A̠S(B(B(D35H ʽB(D A̠S(B(5DB(ʩD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ à àGԠDSKBU 0A̠GBU(SK(3D3 Ơ(SK(3D.G.0GϠ0 àAԠҠBU A̠S(BD A̠S(9SAԬDUN Ơ(SA..0A̠SYS((0060BABS(SAԩ GϠ0 à àADSԠDSàKAAS àMSàDAAHASBNSAVDNHŠASԠPAԠƠHŠS 03SK(3D A̠(KB(3B(6DB(D à àUPDAŠGH 3SK(3D A̠MV(SK(DKB(933 à àZϠDGSD A̠MV(KZϬKB(63 à àDSPAYDA̠MPUŠDGS à B(0D 00Ơ(B(0D.G.B(9DGϠ0 A̠DD(ND à àADDNDDPŠϠDҠGSS 3SK(3D ҽ0 A̠SADD(ND(3KB(63ҩ Ơ(ҩ0900 à àDSPAY? 09Ơ(M(SK(DB..0GϠ0 Ơ(B(0D.N.GϠ30 0ASSGN0Ϡ A̠NU(ԩ àB(5SPNSŠƠNU àSK(0NUHDSUN 0Ơ(B(5D..HNϩGϠ5 A̠DD(ND GϠ30 àUNDSPAYAG 5SK(DAND(SK(D6B GϠ0 à àDSPAYDҠDA 30ASSGN0Ϡ A̠DD(NDԩ 0B(0D(B(0D+ GϠ00 à àASdUPUԠBU 0A̠PBUƠ(B(D B(D0 B(5D à à?APԠPMP à 00ASSGN0ϠAB A̠MSG(B(DB(5DAB̬5 0̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ àSԠSPNS 0̲B(D Ơ(B(̲..HGϠ300 Ơ(B(̲..HYũGϠ300 Ơ(B(̲..HNϩGϠ90 à àNVADSPNS ASSGN0ϠAB A̠MSG(00AB̬5 300ASSGN30Ϡ A̠DAS(ԩ à àPMPԠҠADDNA̠HAGS 30ASSGN30Ϡ A̠GHG(ԩ 303SK(3D ýKB(3 A̠S(KB(333660B Ơ(..GϠ0 ASSGN0Ϡ A̠GA(ìԩ à à àBGNMPUNGDҠN àMVŠDҠGSSϠDҠN 03SK(3D A̠MV(KB(63KB(3 à àSUBAԠDSUN ҽ0 A̠SSUB(KB(3036KB(3ҩ Ơ(.G.0GϠ05 Ơ(..0GϠ0 à àADDA ҽ0 A̠SADD(KB(3336KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àADDNSUAN ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àADDSPàHG ҽ0 A̠SADD(KB(36KB(3ҩ Ơ(..0GϠ0 Ơ(.G.0GϠ05 à àHKDԠM Ơ(M(B(00B..0GϠ90 ҽ0 Ơ(SM(KB(36KB(3ҩ..0GϠ90 àDSPAYDԠMԠDDMSSAG ASSGN0ϠAB A̠MSG(00AB̬559 0ASSGN90ϠAB A̠(AB̩ à àUPDAŠA7h̠GHԠNDҠMAS 90KSK(3D ҽ0 Ơ(KB(9K..HGϠ95 A̠SADD(H50KB(9K5ҩ Ơ(..09395 à à àNVADHAA 93A̠MV(ASԬKB(9K30.5. ASSGN9Ϡ A̠MSG(00̬959 9ASSGN95Ϡ̠0.0. A̠(̩ 95KSK(3D0.0. A̠MV(KB(9KKB(36K0.0. ҽ0 Ơ(SM(KB(36KKZϬҩ..0KB(3KH0 Ơ(KB(36K..HGϠ500 àMAKŠA̠GԠHŠSAMŠVAUŠBŠԠASUNDDUP ҽ0 A̠SSUB(H50KB(9K5ҩ Ơ(..0GϠ930.5. à à?DSPAYAS(PMPԩ à 500ASSGN505ϠAB A̠MSG(00AB̬ 505̴(B(5D+ 5B(D B(̴5MP(B B(̴+5MP(0 ASSGN50ϠAB A̠(AB̩ à àSԠSPNS 50̲B(D Ơ(B(̲..HGϠ550 Ơ(B(̲..HYũGϠ550 Ơ(B(̲..HNϩGϠ900 à àNVADSPNS ASSGN505ϠAB A̠MSG(00AB̬55 à àA̠UNŠϠDSPAYAS 550ASSGN900Ϡ A̠D(ԩ à àҠPSSҠ à àAHMàV à àVנDGS 00SK(0DND(50.3. ASSGN0Ϡ̠0.3. A̠MSG(00̬3996390.3. 0ʱ(B(5D+0.3. ʲB(D0.3. B(ʱʲMP( B(ʱ+ʲSK(0D0.3. B(ʱ+ʲMP(00.3. GϠ00.3. àDNԠV 05ASSGN0Ϡ A̠MSG(00̬9996 àGϠNϠSDNŠHANG 0ASSGN90Ϡ A̠(̩ à à 0A̠SYS((0060BABS(SAԩ à àNVADHAA à àNVADHAA 0ASSGNϠ A̠MSG(00̬9599 ASSGNϠ A̠MSG(00̬959 ASSGN5Ϡ A̠(̩ àSԠUPϠŠAN""DҠMAS 5B(9D ASSGN30Ϡ A̠NUD(̩ 30Ơ(SK(3D.G.0A̠PBU(SK(3D3 ASSGN35Ϡ A̠BU(̩ àUNƠAVŠAGUNϠ?UNN 35B(DAND(B(D3B A̠S(5 à à à àʠPSSҠ à àNŠHANGŠSGMNԠ̠BŠAD 90SK(D6 à àŠSҠBAKϠDSKKAA 9003SK(3D A̠(KB(3B(6DB(D à Ơ(SK(3D.G.0A̠PBU(SK(3D3 SK(3D0 ASSGN950ϠN A̠BU(N à àSԠHHSGMNԠϠA̠--5Ҡ6 950Ơ(SK(D.N.5GϠ90 à àA̠03SGMNԠ à 960A̠S(5 A̠S(9SAԬDUN Ơ(SA..0GϠ0 à àA̠HŠHGSGMNԠ à 90A̠S(6 A̠S(9SAԬDUN GϠ0 9999A̠ű ND SUBUNŠGHG(ԩ à àGHGPMPԠHŠUSҠҠADDNA̠HAGSANDMMNS. àHŠDҠMASҠSUPDADHHŠNPU à àűMMNSAGŠDNN à àMAGŠUDMMN à MMNS(0SGԬUN(5PN( à àBASàN̠DANDNŠSAUSABS à MMNB(3B(50 à àMNA̠ANDDSàBUS à MMNB(50B(00KB(0 à àDSUNԠANDAؠABS à MMNDS(00A(00 à àMS.SAGŠ(SAAYSé à MMNSP(PSZNѬSGS(90SԬSD(330 MMNS(SA(SAԬDUN à àMAGŠHANSAVŠAAűŠNDS à MMNB(0NDG(6NUMìKAجKDS MMNSK(00 à SK(9D à à?DSUN ASSGN0ϠAB A̠MSG(00AB̬60 0̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN30ϠAB A̠(AB̩ 30̲B(D Ơ(B(̲..HGϠ50 3SK(3D A̠MV(B(̲KB(3033 à à?NSUAN 50ASSGN60ϠAB A̠MSG(00AB̬6 60̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ90 A̠MV(B(̲KB(33 à à?SPàHAG 90ASSGN00ϠAB A̠MSG(00AB̬6 00̴(B(5D+ 5B(D B(̴5MP(B9 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ00 A̠MV(B(̲KB(33 à à?SPàD 30ASSGN0ϠAB A̠MSG(00AB̬63 0̴(B(5D+ 5B(D B(̴5MP(Br*($ B(̴+5MP(0 ASSGN50ϠAB A̠(AB̩ 50̲B(D 3SK(3D Ơ(B(̲..H600 à""DŠҠUSHSHŠDAUԠDŠƠHŠSASPàHAG 60KB(3H GϠ00 0A̠SMV(B(̲KB(3 à àNϠSԠSMADŠҠVADSPàDŠ-USҠANADDA à à?MMNS 00ASSGN0ϠAB A̠MSG(00AB̬6 0̴(B(5D+ 5B(D B(̴5MP(B6 B(̴+5MP(0 ASSGN0ϠAB A̠(AB̩ 0̲B(D 3SK(3D Ơ(B(̲..HGϠ990 A̠MV(B(̲KB(3 à àԠ à 990ɽSK(9D GϠ ND ND$ :SԬҬ06 : 4 *   24386-18031 1451 S 0122 31ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ NAMϬ A̠(BGNN BGNBYŠPSNNUPUԠBUҠHŠϠS KҠSSԠPAND NUNPNԠNANGPGAM ϠPDS UPU ND 3NPUԠNϠDԠ"ԠUSYSPAŠ" NPUԠNUMàDAA"A̠MMNA" 5NPUԠNUMàDAA"GHԠUSDZϠDBY" 6NPUԠAPHADAA"A̠MMNA" NPUԠAPHADAA"ԠUSDSPAŠDBY" NPUԠAPHANUMàDAA"A̠MMNA" 9NPUԠAPHANUMàDAA"ԠUSYSPAŠ" 0NPUԠNGҠDAA SPà NԠ Ԡ.NҬSGBUƬPBUƬSYSҬS ԠAɬSANSMVŬSM AU0 BU MMAG(3 MB(3B(50 MB(50B(00KB(0 MDS(00A(00 MSP(PSZNѬSGS(90SԬSD(330 MS(SA(SAԬDUN MB(0NDG(5NUMìKAجKDS MSK(00 SKP BGNNP NNP ϠNP SB.N DƠBGN SBBAGԠNŠABŠADDSS DABGN SAS5ɠSAVŠBGNNNGBYŠPN DANɠANDUNADDSS SAS6 DASԲ SZASSƠANPUԠBUҠSASSGND MPNP SABGNASŠ A SASԲ SBPBU DƠ+3 DƠBGN DƠD NPDASԲ ANDB5AҠAPԠ""AG SASԲ A ADAS5ɠSԠUPUԠBUҠDPN SSA SBD ŬA SAS9 SBBA ADBS9 DAB ANDB3GԠNGH SASԸ DAB AƬA ANDB3GԠPAND SABGN ANDB BSASԷ PABGNƠ""SK MP+SԠAG DASԲ ҠD SASԲ DASԷ MANA ADAD SSAPDŠVAD MP9N ADADM0 SZASS MPND SSA MPNPU SKP UPUԠPSS DAS5 ADASԸɠUPDAŠBYŠPN ADAD SAS5 DBUBGԠBUҠADDSS ADBS9 NB SBBA DASԸ MANASԠNBH SAN SBSSAԠUPU DƠ+6 DƠD DƠSԲ5 BANP DƠN DƠD SBSAԠHKSAUS SBBAGԠSԠADDSSS MPNP SPà SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSASSƠK MPSAԬɠUN MANA ҠA0 SABGN SBSYS DƠ+ DƠBGN A0ASà0 D9Dà9 DDà DM0Dà-0 SKP NDPSS NDSBPBU DƠ+3ASŠ DƠSԴ DƠD AMVŠBUҠMS SASԴ DASԲ ANDB5 SASԲ DAS6 MPA SPà NPUԠPSS NPUԠDAS5 ADADUPDAŠBYŠPN SAS5 DASԲ SZAƠBUҠAADYASSGND MPSNPSAԠAD ANA SAS3ɠSԠNPUԠBUҠPN NUBҠSBGBU DƠ+3 DƠSԲɠGԠANNPUԠBU DƠD DASԲ SSASSƠNNŠAVAAB MPSNP SBSA DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSAԠHKSAUS 2SBBAGԠSԠADDSS MPNUB BԠ SPà PBASDƠ+ DƠND DƠNUM DƠNUM DƠAPH DƠAPH DƠAN DƠAN DƠN DƠNS DƠD SKP SNPA ADAS3 SSA SBD ŬASԠNPUԠBUҠDPN SAS9 SBBAGԠNPUԠBUҠADDSS ADBS9 SBBASԠNPUԠADDSSANDGA̠UN A ADASԸ ADAS3 MANA ADAD30 SSAƠNPUԠ̠VנBU MPSNGϠSԠNGH DASԸ MANAHSŠSԠUSDNGH SAN MPSN SNDAS3 MANA ADAD30SԠNGHϠMANNGSPA SASԸɠNBU MANA SAN SNSBS DƠ+6 DƠD DƠSԲ5 BANP DƠN DƠD SBSAԠHKSAUS SBBAGԠSԠADDSS SBBANPUԠBҠADDҠAND SBBAUPUԠBҠADDSS DASԲ ANDD SZAƠ""AD MPSMàGϠSŠƠԠS DԠDASԷ ADADM3 ADAPBAS DAA MPA SKP DŠNP SBSYS DƠ+ DƠ+ ASà5 SPà BANP DADM9 SA B A ADAD SSA SBD MPYD5 ADAAS DBSA SAB NA NB SZ MP- DASԱ ADAD0 SASԲ ADAD SASԲ5 DBSԱ MPBA DM9Dà-9 ԠNP D0Dà0 D5Dà5 ASԠDƠB SADƠSԱ DDà DDà SԱNP SԲNP S3NP SԴNP S5NP S6NP SԷNkbP SԸNP S9NP SԲNP SԲ5NP SKP BANP A ADASԲ SSA SBD B MPYD5 ADAAB SANBA SAB MPBA D5Dà5 ABҠDƠB NBANP SPà BANP A ADASԴ SSA SBD B MPYD0 ADAAB SAUB SAB MPBA D0Dà0 ABҠDƠB DDà DDà UBNP D30Dà30 DM3Dà-3 B0Ԡ0 D5Dà5 DMDà- SKP SMàDBNBA ADBS9ɠGԠNPUԠDAAADDSS DAB AƬA ANDB3GԠSԠBY PAASM SSƠSNϠ"" MPDԠGϠDԠNPU DASMSP SAB UPDAԠDAS3 ADASԸɠUPDAŠNPUԠBUҠPN SASS NA SAS3 DASԷ PADƠPSNPUԠ"UN" SS MP+ DAS5ɠBUMPPNҠPASԠSND ADADDԠPD SAS5 DAS3 MANA ADAD30 SSAƠNPUԠBUҠSU MPNDU MPNP ASMàԠ3 SMSPԠ350 SPà NDDAN MANA ADASԸ SSAƠNGHƠNPUԠSUA MPUPDAԠҠGAҠHANUSD SZASSNGHGϠUPDAŠPNS MPUPDA SAN DAS3 ADANMPUŠBGNANDNDBY SABGNPSNSҠS ADAN ADADM SAN SBS DƠ+5 DƠNBAɠSPAŠ̠ϠUSD DƠBGNNGH DƠN DƠB0 MPUPDA DMDà- SKP NUMDASԸ PAN SSNPUԠNGHNԠUA̠ MPNVҠUSDNGHSNVAD DAD5 SBSANSANҠA̠NUM SSA MPUPDAԠSGDUPDAŠPNS NVҠDBSAV DASԷɠƠPSS PADNGH SBSԸ SBS DƠ+6 DƠDUPUԠNVAD-N DƠSԲ5 DƠNVM DƠDM DƠD SBSAԠHKSAUS SBBAGԠSԠADDSSAND SBBANPUԠBUҠADDSS ADBS9 SBBA DASԸɠS-UPϠ-U MANAAD SAN MPSN SPà SVNPNP A ADAN ADAS3ɠSԠNDƠMVŠPN SAN SBSMV DƠ+6 DƠNBA DƠS3ɠMVŠNPUԠϠSAVŠAA DƠN DƠA DƠD MPSVNP SKP NUMDAD5 SBSANSANҠA̠NUM SSASS MPNVҠUPUԠҠMSG DAN MANA ADASԸ SSAƠNPUԠNGHҠ MPUPDAԠUSDNGHG SZASSUPDAŠPNS MPUPDA SABGNSAVŠNGHϠ SBSVNP NA ADABGNSԠNDƠ̠PN ADAS3 SABGN SBS DƠ+5 DƠNBAɠZϠ̠BU DƠS3 DƠBGN DƠB60 SZBGN SNPSBSMV DƠ+6 DƠAMVŠNPUԠBAKϠBU DƠD DƠN DƠNBA DƠBGN MPUPDA SPà SANNP SABGN SBSAN DƠ+5 DƠBGN DƠNBA DƠS3 DƠN MPSAN SKP APHDASԸ PANƠNPUԠNGHNԠUA SSUSDNGHUPU MPNVҠҠMSSAG DAD6 SBSANSANҠA̠APHABàDAA SSA MPUPDA MPNV SPà APHDAD6 SBSANSANҠA̠APHABàDAA SSASS MPNV MPNDGϠSPAŠ̠ƠUD SPà ANDASԸ PAN SS MPNVҠNGH DAD SBSAN SSA MPUPDAԠSANҠAPHANUMàDAA MPNV SPà ANDAD SBSANSANҠAPHANUMàDAA SSASS MPNV MPNDGϠSPAŠ̠ƠUD SPà NԠSBA DƠ+6 DƠNBAɠNVԠNPUԠϠNG DƠS3 DƠN DƠBGN DƠN DAN SZAMUSԠBŠA̠NUM MPNV DBNBA ADBS9 DABGN SABɠSŠNGҠNBU DAD SASԸɠSԠNPUԠNGHϠ"" MPUPDA SKP NSԠA ADANSԠNDƠMPAŠPN ADAS3 SABGN DANàSԠNUMBҠƠNSANS SAP DAPANDPNҠϠNSANS SAN AGNDANìɠSԠNSANԠADDSS SAA SZNàUPDAŠҠNԠNSAN SBSM DƠ+6 DƠNBA DƠS3 DƠBGN ANP DƠD SZASSƠ0NPUԠNSAN MPNDGϠSPAŠ̠ƠUD SZPԠA̠NSANSHKD MPAGNN DASԸɠSAVŠNGH SASAV A ADAS5 SSA SBD ŬA ADAUB DBA DAB ANDB3SԠNנNGH SASԸ MANA ADAN SSAƠNPUԠNGHUSD MP+3NGHŠϠUSD DASԸɠNGH SAN DAB AƬA ANDB ADADM3ZJGԠNנPD SSAƠUPUԠҠND MPNDU SAB MANA ADADƠNVAD SSAD MP9 ADBPBASGϠϠNנPDŠPSS DAB MPA SKP NàDà-3 PDƠ+ DƠ DƠND DƠA A̠ASàA NDàASàND ԠASà3UN SPà DɠDAD5 SBSANSANҠA̠NUM SSASSƠN MPDP?GϠHKDMA̠PN GKSBSVNPMVŠNPUԠϠKAA DBD3GԠAN̠NGH- ƠDAN NASԠBGN̠PN SABGN ADAB SAN SBS DƠ+5̠ANϠPAS DƠA DƠBGN DƠN DƠB60 N̠DAS3ɠSԠBGNBYŠPSNNAS SABGNNGHSNנGH A ADASԸɠADUSԠNGHҠDMA̠PN DBA MANAMPUŠNGHƠ ADAN SZAƠNGHSNנ MP+3 SBSԸɠGϠSŠNPUԠBU MPSNP SSASSƠNPUԠSϠNG MPNVҠ SBSԸ MANA SABGNSԠ̠NGH MPN SKP DP?SABGNSAVŠNGHƠHŠNUMB ADAS3 SABGN ADADM DBNBA ŬB ADBA ŬB DAB SZSS AƬAƠGԠNN-NUMàBY ANDB3 PAB56 SSƠNԠADMA̠PN MPNVҠ DABGN MAMPUŠNGHƠAN ADAN SZAƠNϠAN MP+5 AADUSԠNGHƠNPUԠAND ADANGϠUSYAND SAN MPGK SAƠS0.*-UPANDSANAN SZBGNҠA̠NUM SBSAN DƠ+5 DƠD5 DƠNBA DƠBGN DƠ SSASSƠNԠNUM MPNVҠ SBSVNPMVŠNPUԠϠKAA A ADA ADABGN SAN DABGN NA SASVNP SBSMVŠMVŠAN DƠ+6 DƠNBA DƠBGN DƠN DƠA DƠSVNP A ADANADUSԠNGH SANDMA̠PN DB MBNBGԠNGHƠAN ADBD3Ϡ SSB MPN MP SPà BGNNP ƠNP D3Dà3 NVMԠ6 ASàNVAD-N SAVŠNP ABSS0 B60Ԡ60 D6Dà6 DDà PԠNP NàNP DDà 9SBSYS DƠ+ DƠA9 A9ASà9 ND c0   24386-18032 1451 S 0122 32ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ HDMSSAGŠMAҠSUBUN NAMMSGƬ NԠMSG Ԡ.NҬDGԬSGBUƬSYS MMAG(3 MB(3B(50B(50B(00 MKB(0DS(00A(00SP( MPSZNѬSGS(90SԬSD(330 MS(SA(SAԬDUN MB(0NDG(5NUMìKAجKDS MSK(00 AU0 BU SKP MADƠMSGS MAPNP BҠNP BYŠNP NNP NUMNP MSGSBSS3 MSGƠNP SB.N DƠB SBBASԠNŠSAUSABŠADDSSS DAN SAS6ɠSAVŠUNNUMBҠƠMSSAGS DANUMɠANDMSSAGŠNUMBS SASԷ SAB MANA SANUM ADBSԷ DAMA SAMAP DAMAP DAA SAB SZMAP ADBDM SZNUM MP-6 DABҬ SZASSƠABUҠASPASSDSAVŠ MP+5ANDPN SASԴ DABYŬ SAS5 MPS ANA SAS5ɠSԠBYŠPN DASԴɠƠBUҠAADY SZAASSGND--USŠ MPS SKP NUBҠSBBA SBGBUƠGԠABU DƠ+3 DƠSԴ DƠD DASԴ SSASSƠNNŠAVAAB MPS SBSA DƠ+6 DƠD DƠB DƠD DƠD DƠD SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSASS MPNUB MANA ҠA0 SAA0 SBSYS DƠ+ DƠA0 DDà DDà BԠ D9Dà9 A0ASà0 DDà DM9Dà-9 SPàASà DMDà- NDPԠ000 UPԠ00 AB[ҠDƠB ƠԠ6 DDà D9Dà9 ԠNP P̠NP DMDà- SKP BANP DADM SA B A ADAD MPYD5 ADAAS DBSA SAB NA NB SZ MP- MPBA DMDà- ҠNP D5Dà5 ASԠDƠB SADƠSԱ SԱNP SԲNP S3NP SԴNP S5NP S6NP SԷNP SPà BANP A ADASԴ B MPYD0 ADAAB SAUB MPBA D0Dà0 UBNP SPà HBYԠԠ00 SPàԠ0 SKP SҠSBBAGԠBUҠADDSS BNB ADBS5 SBSS MPANK SB ŬB ADBUB DAB ANDHBYԠPUԠASPAŠNϠBY ҠSP SAB DB NB ANKU ŬBGԠPNҠϠү ADBUBPSN DA SABɠPUԠүƠNBU DAS5 ADADUPDAŠBYŠPNҠҠDG SAS5 DBSԷ ADBSԷ DABɠS-UPMSSAGŠNUMB SA SBDG DƠ+5 DƠD DƠD9GԠAMSSAG DƠ DƠ+ DƠ+ SBBASԠSԠANDUPU SBBABUҠADDSSS B ADBS5ɠGԠADDSSƠBGNNNG ŬB ADBUB SBP̠SAVŠBGNPN ADBDSԠNDPN DADM9 SA DABɠNDNGHƠMSSAG PASP SS MPND ADBDM SZ MP-6 SKP NDNB DANDPSԠNDPD SAB DBP ADBDMPNԠϠPNGH DA MANA ŬAGԠeNGHAND ADAD ҠUPPD SAB ANDB ADAS5ɠUPDAŠBYŠPN ADADM SAS5 A ADASԷɠASԠMSSAGŠPSSD SASԷ SZA MPS+N DAS6 MPA ND :PҬASMB99 ASMBҬ NAMԬ NԠ ԠSGBUƬPBUƬSYSҬMV׬ AU0 BU SPà MMAG(3B(3B(50B(50 MB(00KB(0DS(00A(00 MSP(PSZNѬSGS(90S MSD(330S(SA(SAԬD MUNB(0 MNDG(5NUMìKAجKDSSK(00 SPà ԠNP SBBA DAԬɠSAVŠUNADDSS SASԱ DASK0 SBKBAGԠNPUԠDAAADDSS SAKBA A SASԱ5 DASԱ9 SZAƠSԠD MPDS DAKBAS-UPҠ SABA DASԱ SASԱ DASԱ6 SASԱ3 MPS SPà DDà BԠ AASà DDà D3Dà3 SKP DSԠSBGBUƠGԠABU DƠ+3 DƠSԱ5 DƠD3 DASԱ5 SSASSƠNNŠAVAAB MPNUBU SBSAԠҠN DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSA MPDS SPà NUBUƠSBKBAGԠBUҠADDSS SABA DASԱ9 NA PADƠSԠDA̠GϠS-UP MPSDԠҠAD B DVD3MPUŠSҠADDSS SBSԲ0 DBSԱ6ɠSԠAK SBSԱ3 SASԱ MANA ADASԱ SSAƠBYNDBUNDAY MPұAB DASԱ ADASԱ SASԱ MANA ADAD SZA MP+6 SASԱɠSNSԠSҠ DASԱ6ɠNԠAK NA SASԱ3 MPS SSASS MPS SAB MBNB SBSԱ ADAD3 SSASSƠBYNDNԠAK MP-9 SKP ұSBSYSҠAB DƠ+ DƠA SPà SDԠDASԱ6 SASԱ3ɠS-UPϠADS DASԱɠK-AAAKS SASԱ DAM̠SԠMVŠS MP+5 SҠDASԲ0 BMPUŠMVŠS MPYD39 SASԲ0 SB DƠ+ADS DƠD DƠD DƠBA DƠD DƠSԱ3 DƠSԱ DASK0 SBKBASԠDSàBUҠADDSSS SAKBA DASԱ5 SBKBA SABA ADASԲ0 SAMBA SBMVנMVŠϠUPUԠBU DƠ+ KBANP MBANP DƠD39 SKP SҠSB DƠ+ DƠDŠAS DƠD BANP DƠD DƠSԱ3 DƠSԱ SZSԱ9ɠUPDAŠDNUMB DASԱ5 SZASSƠBUҠASSGND MP+5 SBPBUƠASŠ DƠ+3 DƠSԱ5 DƠD3 DASԱ MPA M̠Dà5 D39Dà39 DDà DDà D3Dà3 SKP SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSA MP+3 SBBA MPSAԬ MANA ҠA0 SAA0 SBSYS DƠ+ DƠA0 D9Dà9 A0ASà0 SԱNP SԱ3NP SԱNP SԱ5NϱlP SԱ6NP SԱNP SԱNP SԱ9NP SԲ0NP AKBҠDƠKB AB̠DƠB ASԠDƠSԱ SK0NP ASKDƠSK SPà KBANP ADADM B MPYD ADAAKB MPKBA DMDà- SKP BANP A ADAD B SASK0 MPYD5 ADAAB ADAD DBDM9 SB DBAS SAB NA NB SZ MP- DASK0 B MPYD0 ADAASK ADAD9 SASK0 MPBA D5Dà5 DDà DM9Dà-9 ҠNP D0Dà0 D9Dà9 ND :PҬASMB99 ASMBҬ NAMDD NԠDD ԠSGBUƬPBUƬMV׬.NҬSYSҬ AU0 BU SPà MMAG(3B(3B(50B(50 MB(00KB(0DS(00A(00 MSP(PSZNѬSGS(90S MSD(330S(SA(SAԬD MUNB(0 MNDG(5NUMìKAجKDSSK(00 SPà BҠNP DDNP SB.N DƠB SBBAS-UPSԠADDSSS DAB SASԱ3ɠSAVŠBUҠADDSSAND DADDUN SASԱ GBƠA SASԱ5 SBGBU DƠ+3GԠABU DƠSԱ5 DƠD3 DASԱ5 SSASSƠNNŠAVAAB MPNUBU SBSAԠҠN DƠ+6 DƠD DƠB DƠD DƠD DƠD SBSA MPGB D3Dà3 DDà BԠ DM3Dà-3 SKP NUBUƠSBKBAGԠBUҠADDSS DASԲ0 SZA MP+5 ұSBSYSҠD0SGA DƠ+ DƠ+ ASà SAB ADADM3 SSASSƠDҠ MP+3 ASԠSҠϠZ MPSS DAB B DVD3 SSàSBSԱɠSAVŠD DBSԱ6 SBSԱ ADASԱ SASԱ0ɠMPUŠSҠADDSS MANA ADAD SZA MP+6 SASԱ0ɠSNNԠAK DASԱ6 NA SASԱ MPS SSASS MPS SAB MBNB SBSԱ0 ADAD3 SSASSƠBYNDNԠAK MP-9 MPұGԠ SKP SҠSB DƠ+ DƠDADS DƠD DƠBA DƠD DƠSԱ DƠSԱ0 SBKBAGԠBUҠADDSS DBSԱ3 DASԱɠGԠAVŠD SBMBASԠMVŠϠADDSS DBSԲ0 PBDƠDҠMAS MPMVMGϠS-UP PBDƠSԠDA MPMVDGϠS-UP B MPYD39MPUŠMBUҠADDSS DBD39 MVԠADABA SAMBA SBM SBMVנMVŠ DƠ+ MBANP MBANP DƠM SBPBUƠASŠBU DƠ+3 DƠSԱ5 DƠD3 DASԱ MPA DDà D3Dà3 DDà DDà D39Dà39 BANP M̠NP SKP MVMA DBM MPMV SPà MVDDAM DBD39 MPMV M̠Dà5 SPà BANP A ADAD B MPYD5 ADAAB ADAD9 DBDM SB DBAS SAB NA NB SZ MP- MPBA D5Dà5 D9Dà9 DMDà- ҠNP ASԠDƠSԱ0 AB̠DƠB SԱ0NP SԱNP SԱNP SԱ3NP SԱNy*($P SԱ5NP SԱ6NP SԱNP SԱNP SԱ9NP SԲ0NP SKP SAԠNP SBS DƠ+6 DƠD9 DƠSA DƠD DƠU DƠN DASA SSA MP+3 SBBA MPSAԬ MANA Ҡ+5 SA+ SBSYS DƠ+ DƠ+ ASà0 D9Dà9 SPà KBANP A ADASԱ5 B MPYD ADAAKB SABA MPKBA AKBҠDƠKB ND :PҬASMB99 ASMBҬ NAMDV NԠDV Ԡ.NҬ UNP DVNP SB.N DƠU B ADBUɠGԠADDSSƠUAB ADBB DAɠGԠԠASSGND PABɠƠSYSMNS MPDVɠAV SBàSSUŠAҠUS DƠ+3 DƠD3 DƠU MPDV D3Dà3 ND :PҬASMB99 ASMBҬ NAMMU NԠMU ԠMV׬.U.N SANP MUNP SB.N DƠSA DA.U SAS DASA SAD SBMV DƠ+ SNP DNP DƠD96 MPMU D96Dà96 ND *   24386-18033 1451 S 0122 33ON-TOP SOFTWARE FOR DOS III SYSTEM             H0101  :PҬASMB99 ASMBҬ NAMMP NԠMP Ԡ.N PBSS MPNP SB.N DƠP DAP AƬA ҠP+ MPMP ND :PҬASMB99 ASMBҬ HDűGGNGSUBUN A̠G(B-ADDҬNGHGA-UNԩ NAMG NԠGPN Ԡ.NҬìSADDSSUBMV SPà SUP NU̠ASà9MUNԠNנGAP NNGASàNϠŠNG HDҠDƠ+ ASà3űG UNPASà9UNPDAB DNASàAPŠUNԠDN SPà AASà0 AASà0 DDà DDà D3Dà3 D6Dà6 DDà D9Dà9 D3Dà3 ԠNP ƠNP נNP SNP B̠BSS ḆDƠ+ BSS SKP BҠNP UNP PNNP SB.N DƠB SBMV DƠ+S-UPϠPNGAP DƠBҬ DƠB DƠD DAU SAU DAPN SAG DAU ҠB00 SA ҠB00 SAS MPPN SPà ҠNP SBàAPŠDN DƠ+5 DƠD DƠD DƠDN DƠD MPҬ SKP BҠNP NNP UNP GNP SB.NҠHPAAMS DƠB DAU SZASSƠU0NϠGGNG MPGɠAV SBàŠGD DƠ+5 DƠD DƠU DƠBҬ DƠN SBàHKSAUS DƠ+5 DƠD3 DƠU DƠ DƠ ANDB SZASS MPG ANDB0 SZASSƠNԠND--AP SBҠGϠPԠ HDND--̠PSS DAU ҠB00BUDN̠DSҠND SAנUNADANDND-m- ҠB00 SAS ANDB SA SBàŠ DƠ+3 DƠD3 DƠ SBàND DƠ+3 DƠD3 DƠ SBàADAB DƠ+5 DƠD DƠU DƠB DƠD UNDSBàND-SANDBY DƠ+3 DƠD3 DƠS SBàUSԠNנ DƠ+5 DƠD DƠD DƠNU DƠD9 PNDAU ҠB600 SA AԠSBàAԠҠNנ DƠ+3 DƠD3 DƠ SA MPA ANDB SZASSADYϠ? MPKB SBàNϠNG DƠ+5 DƠD DƠD DƠNNG DƠD MPUND SKP KB̠SBàHKNנAPŠ DƠ+5GHAD DƠD DƠU DƠḆ+ DƠD DBHD DAḆ SA DAD-3 SA NנDAƬ PA SS MPԠNԠűGAB SZ NB SZ MPN A SA SBSADDDűGAP DƠ+ DƠAUNԠSA̠MUS-B DƠDGAҠHANDSA̠ DƠDBYAԠASԠ DƠḆ+ DƠD DƠD6 DƠ DA SSAƠNN-ASɠDAA MPԠASSUMŠ--NԠDG SBSSUB DƠ+ DƠB+3 DƠD DƠD6 DƠḆ+ DƠD DƠD6 DƠ DAḆ+6 ANDB00 SZA MP SBàUNPDAB DƠ+5 DƠD DƠD DƠUNP DƠD9 MPUND SKP ԠSBSADDUPDAŠ̠ DƠ+ DƠA DƠD DƠD  DƠB+6 DƠD DƠD DƠ SBàND DƠ+3 DƠD3 DƠ SBàŠNנAB DƠ+5 DƠD DƠU DƠB DƠD MPG ND :PҬASMB99 ASMBҬ NAMAɬ SPà A̠A(DBYԬHNԬSAԩ Ԡ.N NԠA SPà AU0 BU SPà DBSS BYŠBSS HBSS NԠBSS SAԠBSS AɠNP SB.N DƠD SPà DABYŬ SAND ADAH SAH SPà A SANԬɠA̠BANKD0 SASGN SASAV SBGàGԠAHAA PAB53+SGN? MPñYS PAB55-SGN? BSSYS MP5N SBSGN SPà ñSBGàGԠANUMB 5SBHKHK SANԬ DASAV ASSAVŠ0NUM SAB ASAS ADAB ADANԬ SASAV MPñ SPà SAVŠBSS SGNBSS NDBSS SPà DNŠAS SàSAUS ҠA SASAԬ DASAV DBSGNNSԠH SZBSGN MANA SANԬ MPAɬɠ SPà GàNP GñDBND PBHƠDN MPDNŠHN ADB5BGԠAND(Dà- ŬBSAŠH ADBDBYŠPND DABɠAԠBYBY SZSS AƬA ANDB(Ԡ3 SZND PAB0 MPGñ MPGì SPà HKNP ADAB0HK SSAASɠNUMB MPҠ(53B<ؠ 7 ADB Z.7 SSB ? JMP *+3 OK GO ON HLT 73B NO JMP ZCONF TRY AGAIN LDB IOIPL INITIALIZE TEST I/O FOR JSB ZISC LOWER SC INSTRUCTIONS LDA USSC GET SC AND OPTIONS AND Z.77 ELIMINATE OPTIONS INA & INCREASE SC FOR CONTR.CHANNEL LDB IOIPU INITIALIZE TEST I/O FOR JSB ZISC UPPER SC INSTRUCTIONS CLA CLEAR S-REG OTA SW HLT 74B ALLOW OPERATOR TO CHANGE SWIT JMP ZSTEX GO TO EXEC CONTROL SECTION * * * *************************************************************** SKP HED TEST 00 * * BASIC I/O TESTS, TEST 00 * * THIS TEST IS EXECUTED ON EVERY I-O BOARD TESTED * WITH THIS DIAGNOSTIC. * SC EQU 10B * TST00 EQU * NOP CLA CLEAR DATA-CONTROL CHANNEL STA UIFLG FLAG FOR 12930 BOARD LDA USSC GET CELL LOCATION AND Z.77 JSB ZBIO DO BASIC I/O JMP TST00,I * ZBIO NOP CLC INTP,C TURN OFF ALL I/O LDLB ZBIOD INITIALIZE BASIC I/O JSB ZISC INSTRUCTIONS * * INTERRUPT FLAG CHECK * ZBIO1 STF INTP CLF INTP SFC INTP RSS JMP *+3 E000 JSB ERMS,I E000 CLF 0-SFC 0 ERROR DEF ZBE00 SFS INTP JMP *+3 E001 JSB ERMS,I E001 CLF 0-SFS 0 ERROR DEF ZBE01 STF INTP SFC INTP JMP *+4 CLF INTP TURN OFF INTS E002 JSB ERMS,I E002 STF 0-SFC 0 ERROR DEF ZBE02 SFS INTP JMP *+3 CLF INTP TURN OFF INTERRUPTS JMP ZBIO2 CLF INTP TURN OFF INTS E003 JSB ERMS,I E003 STF 0-SFS 0 ERROR DEF ZBE03 JMP ZBIO2 * ZBE00 ASC 12,E000 CLF 0-SFC 0 ERROR/ ZBE01 ASC 12,E001 CLF 0-SFS 0 ERROR/ ZBE02 ASC 12,E002 STF 0-SFC 0 ERROR/ ZBE03 ASC 12,E003 STF 0-SFS 0 ERROR/ SKP * CARD FLAG CHECK * ZBIO2 EQU * ZBS21 STF SC ZBS22 CLF SC ZBS23 SFC SC RSS JMP *+3 E005 JSB ERMS,I E005 CLF SC-SFC SC ERROR DEF ZBE05 ZBS24 SFS SC JMP *+3 E006 JSB ERMS,I E006 CLF SC-SFS SC ERROR DEF ZBE06 ZBS25 STF SC ZBS26 SFC SC JMP *+3 E007 JSB ERMS,I E007 STF SC-SFC SC ERROR DEF ZBE07 ZBS27 SFS SC RSS JMP ZBIO3 E010 JSB ERMS,I E010 STF SC-SFS SC ERROR DEF ZBE10 JMP ZBIO3 * ZBE05 ASC 13,E005 CLF SC-SFC SC ERROR/ ZBE06 ASC 13,E006 CLF SC-SFS SC ERROR/ ZBE07 ASC 13,E007 STF SC-SFC SC ERROR/ ZBE10 ASC 13,E010 STF SC-SFS SC ERROR/ * * INTERRUPT CONTROL * ZBIO3 JSB ZTCJI SET JSB INSTRUCTION DEF ZB3E ZBS31 STF SC SET THE FLAG ZBS32 STC SC SET THE CONTROL STF INTP TURN I/O SYSTEM ON THEN CLF INTP TURN I/O SYSTEM OFF NOP GIVE IT A CHANCE TI INTERRUPT NOP ZBS33 CLF SC RESET SC FLAG JMP ZBIO4 * ZBE04 ASC 16,E004 CLF 0 DID NOT INHIBIT INT/ * ZB3E NOP CLF INTP TURN OFF INTS E004 JSB ERMS,I E004 o DEF ZBE04 SKP * SELECT CODE SCREEN TEST * ZBIO4 LDB Z.10 START WITH LOWEST ADDRESS ZB40 LDA ZIOSC GET SELECT CODE CPB A IS IT THE SC UNDER TEST? JMP Z.CLF+1 YES - SKIP TEST LDA Z.STF SET UP AND ZIOM IOR B STF INSTRUCTION STA Z.STF PUT IT IN PLACE LDA Z.CLF SET UP AND ZIOM IOR B CLF INSTRUCTION STA Z.CLF PUT IT IN LINE ZBS41 CLC SC,C CLEAR CHANNEL FLAG Z.STF STF SC EXECUTE STF SC INSTRUCTION ZBS42 SFC SC TEST CHANNEL FLAG JMP ZB41 Z.CLF CLF SC CLEAR TEST FLAG CPB Z.77 IS TEST FINISHED? JMP ZBIO5 YES INB NO JMP ZB40 DO NEXT SELECT CODE * ZBE11 ASC 14,E011 STF XX SET CARD FLAG// * ZB41 STB ZBTMP SAVE NUMBER LDA B CONVERT SC FOR MESSAGE JSB ZN2AO STA ZBE11+5 LDA ZBTMP RETRIEVE NUMBER E011 JSB ERMS,I E011 DEF ZBE11 SKP * CHECK INTERRUPT & HOLD OFF * ZBIO5 JSB ZTCJI DEF ZBI5 CLA SET UP STA ZBF5 FLAGS STA ZBI5 FOR TEST STA ZBTMP ZBS51 STC SC TURN ON ZBS52 STF SC CARD STF INTP AND INTERRUPTS STC 1 * STF 1 * CLC 1 * CLF 1 * NO INTERRUPT JMP *+1,I * SHOULD OCCURR DEF *+1 * HERE JSB *+1,I * DEF *+1 * ZBF5 NOP * ISZ ZBTMP INT. SHOULD BE HERE ISZ ZBTMP CLF INTP TURN I/O SYSTEM OFF LDA ZBI5 DID IT INTERRUPT? SZA JMP *+4 E014 JSB ERMS,I E014 NO INT DEF ZBE14 JMP ZBIO6 ABORT REST OF SECTION LDA ZBTMP CHECK FOR CORRECT INTERRUPT CPA Z.2 ? JMP *+3 E026 JSB ERMS,I E026 INT EXECUTION ERROR DEF ZBE26 ZBS53 CLF SC TURN OFF SC FLAG A JMP ZBIO6 GO TO NEXT SECTION * ZBD5 DEF ZBF5-1 ZBD5A DEF ZBF5+1 * ZBE12 ASC 16,E012 INT DURING HOLD OFF INSTR/ ZBE13 ASC 12,E013 SECOND INT OCURRED/ ZBE14 ASC 06,E014 NO INT/ ZBE15 ASC 12,E015 INT RTN ADDR ERROR/ ZBE26 ASC 13,E026 INT EXECUTION ERROR/ SKP ZBI5 NOP CLF INTP TURN I/O SYSTEM OFF LDA ZBD5 CHECK TO SEE IF ALL CPA ZBF5 INSTRUCTIONS COMPLETED JMP *+3 YES E012 JSB ERMS,I E012 INT DURING HOLD OFF DEF ZBE12 LDA ZBD5A CHECK RETURN ADDRESS LDB CPTO IF 210X SSB ADD ONE INA CPA ZBI5 JMP ZBI5A E015 JSB ERMS,I E015 INT RTN ADDR ERROR DEF ZBE15 JMP ZBIO6 ZBI5A JSB ZTCJI SET SECOND INT TRAP DEF ZBT5 STF INTP TURN I/O SYSTEM ON JMP ZBI5,I CONTINUE TEST * * ZBT5 NOP CLF INTP TURN I/O SYSTEM OFF E013 JSB ERMS,I E013 SECOND INT OCURRED DEF ZBE13 SKP * CLC SC AND CLC 0 * ZBIO6 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI61 ZBS61 STC SC SET SC CONTROL ZBS62 STF SC SET SC FLAG STF INTP TURN ON INTERRUPTS ZBS63 CLC SC CLEAR SC CONTROL NOP GIVE IT A CHANCE NOP CLF INTP TURN INTS OFF ZB60 JSB ZTCJI SET JSB INSTRUCTION DEF ZBI62 ZBS64 CLF SC CLEAR SC FLAG ZBS65 STC SC SET SC CONTROL ZBS66 STF SC SET SC FLAG STF INTP TURN ON INTS CLC INTP CLEAR I/O SYSTEM NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTS JMP ZBIO7 * * ZBI61 NOP CLF INTP TURN OFF INTS E016 JSB ERMS,I E016 CLC SC ERROR DEF ZBE16 JMP ZB60 * ZBI62 NOP CLF INTP TURN OFF INTS E017 JSB ERMS,I E017 CLC 0 ERROR DEF ZBE17 JMP ZBIO7 * ZBE16 ASC 9,E016 CLC SC ERROR/ ZBE17 ASC 9,E017 CLC 0 ERROR/ SKP * EX*TERNAL & INTERNAL PRESET TEST * ZBIO7 LDB S128 CHECK TO SUPPRESS JSB SWRT,I ? JMP H025 YES - SKIP PRESET TEST H024 JSB MSGC,I TELL OPERATOR DEF ZBM24 PRESS PRESET * ZBS71 CLF SC CLEAR SC FLAG STF INTP TURN ON INTS JSB ZTCJI SET TRAP CELL JSB INSTRUCTION DEF ZBI70 HLT 24B WAIT FOR OPERATOR CLA,INA SET UP FLAGS FOR TESTS SFS INTP CHECK INTP FLAG CLA NOT SET SO CLEAR FLAG RAL MOVE TO NEXT FLAG CLF INTP TURN OFF ONTPS ZBS72 SFS SC CHECK CHANNEL FLAG INA NOT SET SO FLAG IT RAL MOVE TO NEXT FLAG LIB 0 CHECK I/O BUSS SZB SHOULD BE ZERO INA NOT SO FLAG IT RAL MOVE TO NEXT FLAG STF INTP CHECK CONTROL ON CARD NOP GIVE IT A CHANCE NOP CLF INTP TURN OFF INTPS ZB70 SLA,RSS CHECK FOR ERRORS JMP *+3 E022 JSB ERMS,I E022 DID NOT CLEAR CONTROL DEF ZBE22 RAR SLA,RSS JMP *+3 E023 JSB ERMS,I E023 I/O LINES NOT CLEAR DEF ZBE23 RAR SLA,RSS JMP *+3 E020 JSB ERMS,I E020 FLAG NOT SET DEF ZBE20 RAR SLA,RSS JMP *+3 E021 JSB ERMS,I E021 DID NOT DIABLE INTS DEF ZBE21 H025 JSB MSGC,I TELL OPERATOR DEF ZBM25 BASIC I/O IS COMPLETE SKP LDA USSC CHECK IF UNIVERSAL INTERFACE AND .200 IS TESTED SZA,RSS JMP ZBIO,I NO, RETURN TO CALLER LDA UIFLG YES, CHECK VIA UIFLG IF DATA OR SZA CONTROL CHANNEL WAS TESTED JMP CCT CONTROL CHANNEL WAS TESTED JSB MSGC,I DATA CHANNEL WAS TESTED. ADD DEF ZBN25 QUALIFIER TO MESSAGE ISZ UIFLG INCREMENT FLAG TO CONTROL CHANNEL LDA USSC LOAD AND INCREMENT THE SC OF THE AND .77 _) DATA CHANNEL TO REACH THE INA CONTROL CHANNEL SC JMP ZBIO+1 RETURN TO BI-O CCT JSB MSGC,I CONTROL CHANNEL TESTED. ADD DEF ZBP25 QUALIFIER TO MESSAGE JMP ZBIO,I RETURN TO CALLER * ZBI70 NOP CONTROL FAILED CLF INTP TURN OFF INTPS INA JMP ZB70 * UIFLG OCT 0 SKP ZBE20 ASC 17,E020 PRESET(EXT) DID NOT SET FLAG/ ZBE21 ASC 19,E021 PRESET(INT) DID NOT DISABLE INTS/ ZBE22 ASC 20,E022 PRESET(EXT) DID NOT CLEAR CONTROL/ ZBE23 ASC 21,E023 PRESET(EXT) DID NOT CLEAR I-O LINES/ ZBM24 ASC 17,H024 PRESS PRESET (EXT&INT),RUN/ ZBM25 ASC 13,H025 BASIC I-O COMPLETED/ ZBN25 ASC 11, ON DATA CHANNEL/ ZBP25 ASC 12, ON CONTROL CHANNEL/ * ZBIOD DEF *+1 DEF ZBS21 DEF ZBS22 DEF ZBS23 DEF ZBS24 DEF ZBS25 DEF ZBS26 DEF ZBS27 DEF ZBS31 DEF ZBS32 DEF ZBS33 DEF ZBS41 POINTERS TO ALL I-O INSTR. DEF ZBS42 IN BASIC I-O DEF ZBS51 DEF ZBS52 DEF ZBS53 DEF ZBS61 DEF ZBS62 DEF ZBS63 DEF ZBS64 DEF ZBS65 DEF ZBS66 DEF ZBS71 DEF ZBS72 DEC -1 * ZCEND EQU * * * * ************************************************************** SKP HED TESTS 01 & 02 * RELAY REGISTER PATTERN TEST, TEST 01 * * THIS TEST IS EXECUTED ONLY ON THE 12551B * RELAY REGISTER INTERFACE. IT VERIFIES THE * OPENING AND CLOSURE OF THE REED RELAYS. * ORG ZCEND TST01 EQU * * RLOC NOP LDA USSC IS THIS A RELAY REGISTER? AND BIT10 SZA,RSS ? JMP RLOC,I NO, RETURN TO EXEC CLC INTP,C YES, EXECUTE TEST, TURN I-O OFF CCA SET ALL BITS IN MASK STA BTMSK CLA OPEN ALL RELAYS JSB RELAY DEF MS030 TELL OPERATOR TO CHECK THEM CCA JSB RELAY CLOSE ALL RELAYS DEF MS031 LDA ALT1 ALTERNATING PATTERN JSB RELAY DEF MS032 LDA ALT2 OPPSITE PATTERN JSB RELAY DEF MS033 JMP RLOC,I * MS030 ASC 12,H030 OBSERVE ALL ZEROS/ MS031 ASC 11,H031 OBSERVE ALL ONES/ ALT1 OCT 125252 MS032 ASC 14,H032 OBSERVE PATTERN 125252/ ALT2 OCT 052525 MS033 ASC 14,H033 OBSERVE PATTERN 052525/ * * RELAY PATTERN OUTPUT * RELAY NOP JSB OUT OUTPUT PATTERN LDB RELAY,I GET MESSAGE POINTER ISZ RELAY STB RLYM STA EXP SAVE EXPECTED JSB IN GET INPUT LDA USSC CHECK FOR READ BACK OPTION AND BIT9 SZA JSB CMPR YES COMPARE IT LDA EXP DISPLAY PATTERN CLB H030 JSB MSGH,I TELL OPERATOR TO RLYM NOP OBSERVE PATTERN JMP RELAY,I SKP * * RELAY REGISTER COMMAND TEST, TEST 02 * * THIS TEST IS EXECUTED ONLY ON THE 12551B RELAY * REGISTER INTERFACE. IT VERIFIES THE COMMAND * OUTPUT SIGNALS. * ORG 4000B TST02 EQU * * COT NOP LDA USSC IS THIS A RELAY REGISTER? AND BIT10 SZA,RSS ? JMP COT,I NO, RETURN TO EXEC CLC INTP,C YES, TURN EVERYTHING OFF SC0 CLC SC,C CLEAR CONTROL/FLAG/COMMAND SC1 STC SC SET CONTROL/COMMAND H035 JSB MSGH,I OUTPUT MSG DEF MS035 "OBSERVE CMD OUTPUT AN APPLY SC2 SFC SC EXT RESP SIGNAL" RSS DID FLAG SET ,YES JMP SC3 NO E036 JSB ERMS,I OUTPUT MSG DEF MS036 "FLAG SET" SC3 CLC SC CLEAR CONTROL COMMAND H037 JSB MSGH,I OUTPUT MSG DEF MS037 "OBSERVE CMD OUTPUT AND APPLY SC4 SFS SC EXT RESET SIGNAL" RSS DID FLAG SET, NO JMP SC5 YES E040 JSB ERMS,I OUTPUT MSG DEF MS040 "FLAG CLEAR" SC5 CLC SC,C TURN OFF CONTROL/CMD/FLAG ` JMP COT,I EXIT * MS035 ASC 20,H035 OBSERVE COMMAND OUTPUT FOLLOWED BY OCT 6412 ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH ASC 04,RUN/ * MS036 ASC 18,E036 APPLICATION OF RESPONSE SIGNAL OCT 6412 ASC 10,CAUSED FLAG TO SET/ * MS037 ASC 20,H037 OBSERVE COMMAND OUTPUT FOLLWED BY OCT 6412 ASC 20,APPLYING EXTERNAL RESPONSE SIGNAL. PUSH ASC 04,RUN/ * MS040 ASC 18,E040 APPLICATION OF RESPONSE SIGNAL OCT 6412 ASC 09,DID NOT SET FLAG/ * *************************************************************** SKP HED TEST 03 * * DATA BUFFER TEST, TEST 03 * * THIS TEST IS EXECUTED ON ALL INTERFACE BOARDS * EXEPT THE 12551 RELAY REGISTER AND THE 12589 * AUTOM. DIALER INTERFACE. IT CHECKS THE INPUT * AND OUTPUT DATA BUFFER BY COMPARISON. * TST03 EQU * * DB NOP LDA USSC IS THIS A RELAY REGISTER AND BT108 OR AUTOMATIC DIALER? SZA JMP DB,I YES, IT IS, RETURN TO EXEC LDA USSC NO. IS THIS A 12849 CONTROLER SSA,RSS MICROCIRC. INTERFACE? JMP *+3 NO H041 JSB MSGH,I YES, THEN TELL OPERATOR DEF MS041 TO USE CONNECTOR A LDA USSC IS IT 8 OR 16 BIT AND BIT11 SZA,RSS SKIP IF BOARD IS 12597 CCB,RSS 16 BIT BOARD, CREATE MASK FOR 16 BIT LDB .377 CREATE MASK FOR 8 BIT BOARD STB BTMSK AND SAVE BIT MASK CLC INTP,C CLA CLEAR STA PTRN PATTERN STA EXP DBL JSB OUT OUTPUT PATTERN JSB ENCD ENCODE PATTERN JSB WFL WAIT FOR FLAG JSB IN GET PATTERN JSB CMPR COMPARE PATTERN LDA EXP COMPLEMENT PATTERN CMA AND BTMSK MASK UPPER BITS IF NECESSARY STA EXP JSB OUT OUTPUT PATTERN JSB ENCD ENCODE PATTERN JSB WFL WAIT FOR FLAG JSB IN GET PATTERN JSB CMPR COMPARE PATTERN JSB INPT INCREMENT PATTERN LDA EXP END OF PATTERN SZA JMP DBL NO JMP DB,I YES EXIT * MS041 ASC 15,H041 USE TEST CONN. 12849-60003/ * * ************************************************************** SKP HED TEST 04 * * CONTROL SIGNALS TEST, TEST 04 * * THIS TEST IS EXECUTED EXCLUSIVLY ON THE * 12849 CONTROLLER MICROCIRCUIT INTERFACE. * CRS - CONTROL RESET, PON - POWER ON NORMAL * DIR - DATA INPUT RECEIVED, RDIR - RESET DIR * ORL - OUTPUT REGISTER LOADER, RORL - RESET ORL * CTL - CONTROL, FLG - FLAG * TST04 EQU * * CS NOP LDA USSC IS THIS A 12849 INTERFACE SSA,RSS JMP CS,I NO, RETURN TO EXEC CLC INTP,C YES, CLEAR ALL I/O H043 JSB MSGH,I TELL OPERATOR TO DEF MS043 USE TEST CONNECTOR B JSB IN GEN. IOI TO SET DIR-FF CLC INTP GEN. CRS TO CLEAR DIR-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR SLA,RSS DIR CLEARED JMP *+3 E044 JSB ERMS,I NO-TELL OPERATOR DEF MS044 DIR NOT CLEARED CLC INTP JSB IN SET DIR JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR,SLA DIR SET? JMP *+3 E045 JSB ERMS,I NO-TELL OPERATOR DEF MS045 DIR FALSE AFTER IOI * CLA JSB OUT GEN. IOO TO SET ORL-FF CLA,INA JSB OUT OUTPUT RORL TO CLEAR ORL-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS SLA,RSS ORL FALSE JMP *+3 YES E046 JSB ERMS,I NO-TELL OPERATOR DEF MS046 ORL TRUE AFTER RORL CLA CLEAR RORL JSB OUT  JSB OUT SET ORL-FF JSB ENCD TRANSFER STATUS JSB WFL WAIT FOR FLAG JSB IN GET STATUS SLA ORL-FF SET? JMP *+3 YES E047 JSB ERMS,I NO-TELL OPERATOR DEF MS047 ORL FALSE AFTER IOO RAR,RAR PUT PON STATUS RAR,ERA IN E REG LDA USSC CHECK FOR POLARITY RAL OF POWER ON SSA CME SEZ JMP *+3 E050 JSB ERMS,I WRONG POLARITY DEF MS050 * * * W5 IS CHECKED IF ENCODE IS NECESARY TO * TRANSFER STATUS * SC06 STF SC TOGGLE FLAG-FF TO CLEAR SC07 CLF SC LDA USSC ALF,RAR CHECK W5 POSITION SSA JMP *+3 W5 IS OUT SC08 STC SC (DON'T USE CLEAR FLAG) JSB WFL JSB IN RAR,RAR SLA,RSS IS FLAG STATUS SET JMP *+3 E051 JSB ERMS,I NO-TELL OPERATOR DEF MS051 FLAG TRUE AFTER CLF SC09 CLF SC TOGGLE FLAG-FF TO SET SC10 STF SC LDA USSC CHECK W5 POSITION ALF,RAR SSA JMP *+3 W5 IS OUT SC11 STC SC (DON'T USE CLEAR FLAG) JSB WFL JSB IN RAR,RAR SLA IS FLAG STATUS SET JMP *+3 E052 JSB ERMS,I NO-TELL OPERATOR DEF MS052 FLAG FALSE AFTER STF * SKP SC12 CLC SC TOGGLE CNTRL-FF TO JSB ENCD SET JSB WFL WAIT FOR FLAG JSB IN GET STATUS RAR,RAR RAR,RAR SLA IS CTL SET JMP *+3 YES E053 JSB ERMS,I NO-TELL OPERATOR DEF MS053 CTL FALSE AFTER STC JMP CS,I RETURN * * * MS043 ASC 15,H043 USE TEST CONN. 12849-60004/ MS044 ASC 14,E044 NO CRS OR RDIR DOES NOT ASC 07, CLEAR DIR-FF/ MS045 ASC 13,E045 DIR FALSE AFTER IOI/ MS046 ASC 13,E046 ORL TRUE AFTER RORL/ MS047 ASC 13,E047 ORL FALSE AFTER IOO/ MS050 ASC 08,E050 PON FALSE/ MS051 ASC 12,E051 FLG HFBTRUE AFTER CLF/ MS052 ASC 13,E052 FLG FALSE AFTER STF/ MS053 ASC 13,E053 CTL FALSE AFTER STC/ * * * *************************************************************** SKP ׎H  24391-18003 1813 S 0122 GP REG DG              H0101 d HED TESTS 05 - 07 * * AUTOMATIC DIALER TESTS, TEST 05 - 07 * * THESE 3 TESTS ARE EXECUTED EXCLUSIVLY ON THE * 12589 AUTOMATIC DIALER INTERFACE BOARD. * * TEST 5 CHECKS THE COMBINATION OF: * OUTPUT INPUT * CRQ(BIT14) PWI(NO STATUS OR FLAG) * NB1(BIT0) PND(BIT15 AND FLAG) * NB2(BIT1) DSS(BIT14 AND FLAG) * NB3(BIT2) DLO(BIT13 ONLY) * NB4(BIT3) ACR(BIT12 AND FLAG) * * SWITCH REG. BIT 7 UP-DOWN CAUSES TEST 6 OR 7 TO ABORT * * SWITCH REG. BITS 1-4 ARE USED TO TURN ON AND OFF DS2 * DURING TEST 6 (ALL ON = DS2 ON). * * DS1 IS CYCLED EVERY 2 SEC. DURING TEST 7 UNTIL SWR. BIT 7 * IS PUT UP THEN DOWN. * DS1 ON = BIT 14 (CRQ-PWI=1 + NB1-PND=1)+CLA-OTA * DS1 OFF = BIT 15 (CRQ-PWI=0 + NB1-PND=1) * DS1 ON = BIT 14 (CRQ-PWI=1 + NB1-PND=1)+CLA-OTA * DS1 OFF = BIT 0 (CRQ-PWI=1 + NB1-PND=0) * SKP * * MAIN TESTS * * LOGIC GROUP * TST05 EQU * * LG NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP LG,I NO, RETURN TO EXEC CLA,INA YES, SET ERROR NUMBER STA LGEN SECTION NUMBER LDA BIT15 INITIALIZE CARD JSB A2ACU OUTPUT A-REG TO ACU & WAIT 1 MS * 1-2 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC RESET OCT 100017 PWI=PND=DSS=DLO=ACR=0 OCT 170000 IOB 15-12 SHOULD = 0 * 3-4 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC BIT15 OCT 100000 PWI=0,PND=DSS=DLO=ACR=1 OCT 170000 IOB 15-12 SHOULD = 0 * 5-6 LDA *+4 PWI=1 MUST BE EXECUTED TWICE JSB A2ACU LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC OCT 40017 PWI=1,PND=DSS=DLO=ACR=0 OCT 170000 IOB 15-12 SHOULD = 0 * 7-10  LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40016 PWI=PND=1,DSS=DLO=ACR=0 OCT 100001 IOB 15 SHOULD = 1 * 11-12 LDA RESET RESET CALL REQUEST JSB A2ACU LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40015 PWI=DSS=1,PND=DLO=ACR=0 OCT 40001 IOB 14 SHOULD = 1 * 13-14 LDA LGSFC CHECK FOR FLAG = 0 JSB LGLC OCT 40013 PWI=DLO=1,PND=DSS=ACR=0 OCT 20001 IOB 13 SHOULD = 1 * 15-16 LDA RESET RESET CALL REQUEST JSB A2ACU LDA LGSFS CHECK FOR FLAG = 1 JSB LGLC OCT 40007 PWI=ACR=1,PND=DSS=DLO=0 OCT 10001 IOB 12 SHOULD = 1 * JMP LG,I RETURN TO CONTROL * LGSFS SFS ACU LGSFC SFC ACU * * * * LOGIC CHECK * LGLC NOP STA FC SAVE FLAG CHECK LGS1 CLF ACU LDA LGLC,I GET DATA OUTPUT WORD JSB A2ACU GIVE TO ACU FC NOP CHECK FLAG JSB LGER NOT RIGHT REPORT ERROR ISZ LGEN MOVE TO NEXT SECTION LDA LGLC GET INA DATA LDB A,I MASK LGS2 LIA ACU GET INPUT DATA SLB LOOKING FOR HI OR LOW? CMA HIGH ERB,CLE,ELB AND B SZA PROPER DATA BITS INPUT? JSB LGER NO - REPORT IT ISZ LGEN MOVE TO NEXT SECTION LDA LGLC ADA .2 JMP A,I RETURN * SKP * * ERROR REPORT * LGER NOP JSB CFTN,I OUTPUT TEST NR. IF NEEDED LDB AT ASSUME "@" SYMBOL HAS TO BE OUTPUT LDA LGEN WAS THIS A FLAG CHECK? SLA,RSS LDB EQ NO, LOAD B-REG WITH "=" SYMBOL STB FLG STORE " @" OR " =" INTO FLG LDB ZERO ASSUME "0" HAS TO BE OUTPUT LDA FC CHECK IF FLAG IS SUPPOSE TO BE CPA LGSFC SET OR CLEARED INB SUPPCzOSED TO BE CLEARED, BUT WAS SET. IN- STB FLG+1 CREMENT & STORE INTO NEXT LOCATION * LDB EQ ASSIUME "=" SYMBOL HAS TO BE OUTPUTTED LDA LGEN WAS IT AN IOBI CHECK SLA,RSS LDB AT YES, LOAD B-REG WITH "@" SYMBOL BLF,BLF EXCHANGE THE 2 CHARACTERS STB IOB & STORE INTO IOB LGS3 LIA ACU PICK UP INPUT DATA STA DATA AND SAVE FOR ERROR MESSAGE CCE LDA LGLC,I SET-UP OUTPUT DATA MESSAGE LDB LGIOA FOR IOBO REPRESENTATION JSB O2AS,I * LDA LGEN GET ERROR NUMBER JSB N2AO,I CONVERT TO ASCII STA LGEM1+1 PUT IT IN PLACE * LDA DATA SET UP OUTPUT DATA MESSAGE CLE FOR IOBI REPRESENTATION LDB LGIOB JSB O2AS,I * LDA DATA GET DATA FOR DISPLAY LDB LGLC,I GET OUTPUT JSB ERMS,I REPORT ERROR DEF LGEM1 POINTER TO MESSAGE JMP LGER,I RETURN FOR FURTHER CHECKS * LGEM1 ASC 14,E1XX IOBO = YYYYYY, FLAG FLG NOP NOP ASC 4,, IOBI IOB NOP ASC 4,ZZZZZZ/ * LGEN NOP DATA NOP AT ASC 1, @ EQ ASC 1, = ZERO ASC 1, 0 LGIOB DEF IOB+1 LGIOA DEF LGEM1+6 N2AO DEF ZN2AO BIT8 OCT 400 * * * * * MULTI LINE OPERATION (DS2) * TST06 EQU * * MLO NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP MLO,I NO, RETURN TO ECEC LDB S128 YES, CHECK FOR SUPR MANUAL OPERATION JSB SWRT,I JMP MLO,I YES JSB CFTN,I OUTPUT TEST NR. H050 JSB MSGH,I TELL OPERATOR TO USE SWR DEF MLOM1 POINTER TO MESSAGE * CLA STA TMP MLL1 JSB SWLK CHECK FOR ABORT OCT 200 JMP MLO,I YES - RETURN TO CONTROL CCB GET SWITCHES JSB SWRT,I NOP LDA B AND SWKR ISOLATE SWITCHES RAR CPA TMP ANY CHANGES? 8gJMP MLL1 NO STA TMP YES ALF,ALF SET RAL,RAL UP MLS1 OTA ACU COMMAND JMP MLL1 * SWKR OCT 36 MLOM1 ASC 13,H100 MULTI LINE OPERATION OCT 6412 ASC 16,USE SWR BITS 1-4 TO OPERATE DS2/ SKP * DPR(DS1) * TST07 EQU * * DPR NOP LDA USSC IS THIS A 12589 AUTO DIALER? AND BIT8 SZA,RSS JMP DPR,I NO, RETURN TO EXEC LDB S128 YES, CHECK TO SUPR MANUAL OPERATION JSB SWRT,I JMP DPR,I YES JSB CFTN,I OUTPUT TEST NR. JSB MSGC,I OUTPUT INFORM. TO CONSOLE DEF MSGT7 * LDA ON.1 ISSUE A CALL REQUEST & PREVENT DPRS1 OTA ACU DIGIT PRESENT FF FROM TURNING ON CLA DPRS5 OTA ACU NOW TURN DS1 ON JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA OFF.1 ISSUE A CALL DISCONNECT WHICH DPRS2 OTA ACU TURNS OFF DS1 JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA ON.1 ISSUE A CALL REQUEST & PREVENT DPRS3 OTA ACU DIGIT FF FROM TURNING ON CLA DPRS6 OTA ACU NOW TURN ON JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT LDA OFF.2 ISSUE A NB1 WHICH CLEARS THE DIGIT DPRS4 OTA ACU PRESENT FF RESULTING IN TURN OFF OF DS1 JSB WAIT WAIT FOR 2 SEC AND CK FOR ABORT JMP DPRS1-1 NO LOOP AGAIN * * WAIT NOP LDA DM20 SET WAIT COUNT STA CNTR WAITL JSB SWLK CHECK FOR ABORT OCT 200 SWITCH MASK JMP DPR,I ABORTED RETURN TO EXEC LDA D100 WAIT 100 MILLSEC JSB TMRR,I ISZ CNTR CHECK FOR ABORT AND WAIT LONGER? JMP WAITL YES JMP WAIT,I RETURN FOR NEXT STEP * * ON.1 OCT 40000 (CRQ-PWI=1,NB1-PND=1) OFF.1 OCT 100000 (CRQ-PWI=0,NB1-PND=1) OFF.2 OCT 1 (CRQ-PWI=1,NB1-PND=0) * MSGT7 ASC 9,H117 OBSERVE DS1/ * ******************************************************^********* SKP HED TESTS 08 - 11 * * UNIVERSAL INTERFACE BOARD TEST, TEST 08 * * TEST 08 IS RUN EXCLUSIVELY ON THE 12930 UI BOARD. * CHECKS COMMAND AND STATUS REGISTER, INTERFERENCE * BETWEEN COMMAND/STATUS REGISTER AND DATA REGISTER * AND CHECKS THE DATA REGISTER AT FULL SPEED. THE * ONE SHOT FOR THE CRS-STRECHED SIGNAL IS ALSO TESTED. * * THE FOLLOWING SWITCHES HAVE TO BE IN THE SPECIFIED * POSITIONS TO RUN THIS TEST: * U85S2-POS.6 U85S3-POS.10 U102S2-POS.7 * U102S3-POS.10 U106S2-POS.6 * * (TO PASS BASIC I/O ON COMMAND CHANNEL U97S1-POS.1) * * TST08 EQU * * UNIN8 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNIN8,I NO, EXIT TEST CLC INTP,C YES, RESET ALL CONTR.& COMD.FF, INTR OFF UI2 CLC SC,C RESET CONTR, COMD, FLAG & IRQ FF ON DATA UI3 CLC SC+1,C CH AND ON COMD CH. * JSB NOP NOP LOC. STCD1,2&3 IN SUBRT CSDCH LDA JSB8 SELECT SUBRT TST8X FOR DATA TRANSFER STA DTR81 & STORE INTO TST08 STA DTR82 * JSB CSDCH GO TO COMMAND, STATUS & DATA CHECK * * * * * CHECK IF CRS SETS THE OS (U75B) FOR < AND > 5 MICROSEC. * CRSCH LDA NBT11 SET COMD REG TO 172000 & CHECK FOR < 5 USEC UI9 OTA SC+1 OUTPUT COMMAND WORD CLC INTP SET OS (75B) VIA CLC 0 UI11 LIB SC+1 READ STATUS WORD IMMEDIATELY (<5 USEC) CPB M201 & COMPARE AGAINST 177577 JMP CRSTS STATUS WORD OK. STB INPAT STATUS WORD INCORRECT, STORE LDA MIN1 STORE EXPECTED STATUS WORD STA EXPWD LDA MP56 READ MESSAGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E056 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE SKP CRSTS LDA NBT11 SET COMMAND REG TO 172000, CHECK F >5 USEC UI12 OTA SC+1 OUTPUT COMMAND 9#WORD CLC INTP SET OS (U75B) AND WAIT NOP NOP NOP UI14 LIB SC+1 READ STATUS WORD AND COMPARE CPB M4605 AGAINST 173173 JMP NSUR STATUS WORD OK. STB INPAT STATUS WORD INCORRECT, STORE LDA M4605 STORE EXPECTED STSTUS WORD STA EXPWD LDA MP57 READ MESSAGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E057 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE NSUR JSB MSPTR GO TO NEXT SUBRT JMP UNIN8,I EXIT TEST SKP * * CHECK DATA TRANSFER AT MAX SPEED AND CHECK IF DATA WORD * MODIFIES COMMAND AND/OR STATUS WORD. * MSPTR NOP CCA CREATE A DATA WORD OF 177777 CLB CREATE A COMMAND WORD OF 000000 STB DARFL SET FLAG TO INDICATE 1. EXEC OF ROUT UI16 OTB SC+1 OUTPUT COMD WORD FOLLOWED DTR81 NOP IMMEDIATELY BY ENTRING DATA TRNSF ROUT CPA B COMPARE TRANSM. W RECEIVED DATA WORD JMP *+2 COMPARE OK JMP NCPD ERROR INA INCREM DATA REG TO 000000, OUTPUT DTR82 NOP NEW PATTERN TO DATA REG VIA ROUT CPA B COMPARE TRANSM. W RECEIVED DATA WORD JMP FSDT COMPARE OK. NCPD STA EXPWD DATA WORDS DO NOT COMPARE AT FULL SPEED STB INPAT TRANSFERS. LDA MP60 READ MESSAGE POINTER, IOR B15 IOR BIT 15 TO LINK TO MULTI. MESSAGE & STA MSXYZ STORE INTO ERROR MESSAGE SUBROUTINE. E060 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE. * FSDT ISZ A INCREMENT DATA WORD TO BE TRANSMITTED JMP DTR82 & REPEAT PROCESS * LDA DARFL CHECK DARFL F 1. OR 2. EXECUTION OF ROUT SZA IF 1., STAT WORD SHOULD BE 000200 LDA M1001 IF 2., STAT WORD SHOULD BE 177177 ADA .200 CREATE THIS STATUS WORD ƣUI20 LIB SC+1 CHECK ORIG. CONTROL WORD WITH CPA B PRESENT STATUS WORD RSS COMPARE OK JMP CSWER ERROR OF CONTROL OR STATUS WORD LDA DARFL CHECK F 1.OR 2.EXEC OF ROUTN SZA JMP MSPTR,I 2.EXEC, EXIT TEST INA 1.EXEC, MODIFY DARFL STA DARFL CCB CREATE A COMMAND WORD OF 177777 CCA & A DATA WORD OF 177777 JMP UI16 & GO THROUGH 2.EXEC CSWER STA EXPWD CONTROL OR STATUS REG WAS MODIFIED STB INPAT BY DATA WORDS LDA MP61 READ MESSAGE POINTER, IOR B15 IOR BIT 15 TO LINK TO MULTI. MESSAGE & STA MSXYZ STORE INTO ERROR MESSAGE SUBROUTINE. E061 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE. TE8ED JMP MSPTR,I EXIT TEST. SKP * * STORAGE LOCATIONS FOR TESTS 08 & 09 * MP54 DEF MS054 MP55 DEF MS055 MP56 DEF MS056 MP57 DEF MS057 MP60 DEF MS060 MP61 DEF MS061 * MS054 ASC 14,E054 INCORRECT STATUS WORD/ MS055 ASC 21,E055 DATA WORD MODIFIED BY COMMAND/STATUS MS056 ASC 14,E056 CRS STRECHED IS < 5 US/ MS057 ASC 14,E057 CRS STRECHED IS > 5 US/ MS060 ASC 20,E060 FULL SPEED DATA TRANSFER FAILURE/ MS061 ASC 23,E061 COMMAND OR STATUS MODIFIED BY DATA WORD/ * * SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 09 * * TEST 09 IS RUN EXCLUSIVELY ON THE 12930 UI BOARD. * IT REPEATES TEST 08 WITH DIFFERENT SWITCH SETTINGS * REQUIRING STC,C INSTRUCTIONS FOR DATA TRANSFERS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S1-POS.1 U106S1-POS.1 * U106S2-POS.5 * * TST09 EQU * * UNIN9 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNIN9,I NO, EXIT TEST LDA PU09 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWOF YES, GO TO POWER OFF ROUTN. * MSET9 JSB POWUP R1EESTABLISH S-REG CONTENTS LDA STCD STORE STC INSTR INTO THE NOP'S OF SUBRT STA STCD1 CSDCH TO TRANSFER THE DATA OUTPUT REG STA STCD2 TO INPUT REG BEFORE COMD WORD TRANSF JSB CSDCH THEN ENTER ROUTINE * CLA RESET THE 2 INSTR IN THE SUBRT STA STCD1 STA STCD2 LDA STCD STORE STC INSTR INTO THE NOP OF SUBRT STA STCD3 CSDCH TO TRNSF THE DATA OUTPUT REG TO * THE DATA INPUT REG AFTER COMD WORD TRANSF JSB CSDCH THEN ENTER ROUTN * LDA JSB9 LOAD SUBRT TST9X FOR DATA TRANSFER STA DTR81 STA DTR82 JSB MSPTR * JMP UNIN9,I * SKP * * STORAGE LOCATIONS FOR TESTS 09 & 10 * MS062 ASC 17,H062 TURN CPU POWER OFF (STANDBY), OCT 6412 ASC 22, CHANGE SWITCHES ON UI BOARD PER APPX A, OCT 6412 ASC 11, & TURN POWER ON/ * * * * RESETS UI BOARD FF'S, RESETS 3 PROGRAM LOCATIONS, * SAVES S-REG, STORES JUMP INTO POWER FAIL TRAP CELL * & OUTPUTS MESSAGE FOR POWER FAIL TURN OFF. * POWOF NOP CLC INTP,C YES, RESET ALL CONTR.& COMD.FF, INTR OFF UI21 CLC SC,C RESET CONTR, COMD, FLAG & IRQ FF ON DATA UI22 CLC SC+1,C CH AND ON COMD CH. JSB NOP NOP LOC STCD1,2&3 LIA 1B SAVE S-REG BEFORE POWER DOWN STA SWRPR LDB B13 CHECK IF OUTPUT MESSAGE & HALT SHALL BE JSB SWRT,I OMITTED DUE TO S-REG BIT 13 SET JMP POWOF,I YES LDA PUJP STORE JMP,I INTO POWER FAIL TRAP CELL STA 4 TO PREPARE POWER DOWN/UP PROCEDURE JSB CFTN,I OUTPUT TEST NR JSB MSGH,I OUTPUT MESSAGE TO CHANGE SWITCHES ON UI DEF MS062 JMP POWOF,I RETURN TO SAME TEST IN CASE OF NO POWER DOWN SKP * * CHECK IF DATA INPUT OR OUTPUT REG WAS MODIFIED BY * COMMAND WORD OUTPUT OR STATUS WORD INPUT IN PREVIOUS * ROUTINE. * STCD3 NOP WILL BE OVERLAYED IN TST09 W STC SC UI7 LIB SC READ DATA REG IN & STORE STB INPAT LDA DARFL CHECK DATA REG FLAG. SHALL DATA REG SLA BE SET OR CLEARED? JMP DARST DATA REG IS SUPPOSE TO BE SET SZB DATA REG IS SURROSE TO BE CLEARED JMP CPEA NO, ERROR, COMD CH INTERFERED W. DATA CH IDAFL CCB YES, DATA REG IS CLEARED, WAS NOT MODIFIED UI8 OTB SC SET DATA REG TO 177777 STCD2 NOP WILL BE OVERLAYED IN TST09 W STC SC ISZ DARFL INCREMENT THE DATA REG FLAG NOP JMP CSWCH REPEAT COMD & STATUS REG CHECK W 177777 * DARST CPB MIN1 DATA REG SUPPOSE TO BE SET, CHECK IF SO JMP CSDCH,I YES, DATA REG IS SET, WAS'T MODIF, EXIT LDA MIN1 NO, ERROR, COMD CH INTERFERED W DATA CH JMP *+1 LOAD A-REG W EXPECTED DATA REG (177777) CPEA CLA " " " " " " (000000) STA EXPWD & STORE IN EXPWD. LDA MP55 ERROR DOES NOT COMPARE. READ MESGE POINTER IOR B15 IOR BIT 15 TO LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE SUBROUTINE E055 JSB EMR3L GO TO ERROR MESSAGE SUBROUTINE LDA DARFL CHECK IF DATA REG WAS SUPPOSE SZA TO BE CLEARED. JMP CSDCH,I NO, EXIT JMP IDAFL YES, GO & REPEAT TESTING W DATA REG SET * * * JSB8 JSB TST8X JSB9 JSB TST9X SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 10 * * TEST 10 IS RUN EXCLUSIVELY ON THE 12930 BOARD. * IT CHECKS COMMAND AND DATA CHANNELS WITH DIFFERENT * SWITCH SETTINGS TO VERIFY THE COMPONENTS ASSOCIATED * WITH THESE SPECIFIC SETTINGS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S2-POS.5 * U85S3-POS.9 * ORG 6000B * TST10 EQU * * UNI10 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNI10,I NO%, EXIT TEST LDA PU10 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWF,I GO TO POWER OFF SUBRT * UN10 JSB POWUP REESTABLISH S-REG JSB NPRS STORE NOP/RSS INSTR'S LDA C&SWB SET THE POINTER OF THE CONTR & STA C&SWP STATUS WORD TO BEGIN. OF TABLE UI39 CLC SC RESET DATA & CONTROL CH FF UI41 CLC SC+1 JSB T10 TEST WITHOUT STC & SFS ON COMD. CH * JSB STCSF STORE STC/SFS INSTR'S UI40 CLC SC RESET DATA & CONTROL CH FF UI42 CLC SC+1 JSB T10 TEST WITH STC & SFS ON COMD. CH JMP UNI10,I * * T10 NOP JSB T10CW OUTPUT A CONTR WORD OF 0 JSB T10SW CHECK THE STATUS WORD FOR 200 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK THE STATUS WORD AGAIN FOR 200 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10CW OUTPUT CONTROL WORD OF 176000 JSB T10SW CHECK STATUS WORD FOR 174374 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK STATUS WORD AGAIN FOR 174374 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JMP T10,I * SKP * * UNIVERSAL INTERFACE BOARD TEST, TEST 11 * * TEST 11 IS RUN EXCLUSIVELY ON THE 12930 BOARD. * IT IS SIMILAR TO TEST 10 BUT REQUIRES DIFFERENT * SWITCH SETTINGS TO VERIFY THE COMPONENTS ASSOCIATED * WITH THESE SPECIFIC SETTINGS. * * THE FOLLOWING SWITCHES HAVE TO BE SET TO THE NEW * POSITIONS: * U85S3-POS.8 U97S3-POS.9 U106S1-POS.2 * U97S2-POS.4 U102S2-POS.6 U106S3-POS.10 * TST11 EQU * * UNI11 NOP LDA USSC IS THIS A UI BOARD? AND .200 SZA,RSS JMP UNI11,I NO, EXIT TEST LDA PU11 ESTABLISH POWER FAIL RETURN STA PUJP+1 ADDRESS JSB POWF,I GO TO POWER OFF SUBRT * UN11 JSB POWUP REESTABLISH S-REG  JSB NPRS STORE NOP/RSS INSTR'S LDA C&SWA SET THE POINTER OF THE CONTR & STA C&SWP STATUS WORD TO BEGIN. OF TABLE UI35 CLC SC RESET DATA & CONTROL CH FF UI37 CLC SC+1 JSB T11 TEST WITHOUT STC & SFS ON COMD. CH * JSB STCSF STORE STC/SFS INSTR'S UI36 CLC SC RESET DATA & CONTROL CH FF UI38 CLC SC+1 JSB T11 TEST WITH STC & SFS ON COMD. CH JMP UNI11,I * * T11 NOP JSB T10CW OUTPUT A CONTR WORD OF 000/100000 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATOR U51 TO TURN OFF JSB T10SW CHECK THE STATUS WORD FOR 001/100300 JSB T10DT OUTPUT DATA WORDS (STC SC CHANGES STAT WD) ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP ADDRESS POINTER JSB T10SW CHECK THE STATUS WORD FOR 2003/102302 UI34 CLC SC RESET DATA CHANNEL CONTROL FF ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10SW CHECK THE STATUS WORD FOR 001/100300 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP ADDRESS POINTER * SKP JSB T10CW OUTPUT CONTROL WORD OF 176000 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATORS U51 TO TURN ON JSB T10SW CHECK STATUS WORD FOR 174374 JSB T10DT OUTPUT DATA WORDS ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JSB T10SW CHECK STATUS WORD AGAIN FOR 176376 ISZ C&SWP INCREMENT CONTR/STATUS WORD NOP TABLE POINTER JSB T10CW OUTPUT CONTROL WORD OF 176000 UI33 STC SC SET DATA CHANNEL CONTROL FF JSB T10SW CHECK STATUS WORD FOR 176376 JSB T10DT OUTPUT DATA WORDS JSB T10SW CHECK STATUS WORD AGAIN FOR 176376 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE #POINTER JSB T10CW OUTPUT CONTROL WORD OF 0 LDA .1 ALLOW A DELAY OF 1 MILLISEC F OPTIC. JSB TMRR,I COUPLED ISOLATORS U51 TO TURN OFF JSB T10SW CHECK STATUS WORD FOR 2003 ISZ C&SWP INCREMENT CONTROL/STATUS WORD NOP TABLE POINTER JMP T11,I * SKP * * OUTPUT ALL COMBINATIONS OF DATA WORDS, READ THEM BACK * & CHECK THE WORDS. * T10DT NOP CLA SET DATA OUTPUT REG TO 0 UI26 OTA SC OUTPUT DATA WORD UI27 STC SC,C TRANSFER TO INPUT DATA REG & UI27A SFS SC CHECK IF FLAG IS SET JSB E065 NO, ERROR UI28 LIB SC READ DATA IN CPB A COMPARE DATA JMP GDWD OK, NO CHANGE OF DATA STA OTPAT ERROR, STORE OUTPUTTED, STA EXPWD EXPECTED & INCOMMING STB INPAT DATA WORD AWAY LDA MP63 LOAD MESSAGE POINTER, IOR B15 LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE ROUTN. JSB EMR3L GO TO ERROR MESSAGE LDA OTPAT WHEN RETURNING F ROUTN GET OTPAT GDWD ISZ A INCREMENT DATA WORD & JMP UI26 REPEAT TRANSFER JMP T10DT,I EXIT ROUTN * E065 NOP JSB ERMS,I DEF MS065 JMP E065,I * MP63 DEF MS063 MS063 ASC 14,E063 DATA WORD WAS MODIFIED/ MS065 ASC 15,E065 DATA CH FLAG FF NOT SET/ * * * * STORE A NOP INTO SUBROUTINE T10CW & AN RSS * INTO SUBROUTINE T10SW * NPRS NOP CLA STA T10NP LDA SW010 STA T10NQ JMP NPRS,I * SKP * * STORE A STC SC+1 INTO SUBROUTINE T10CW & A * SFS SC+1 INTO SUBROUTINE T10SW * STCSF NOP LDA UI29A STA T10NP LDA UI29B STA T10NQ JMP STCSF,I * * * * OUTPUT ONE CONTROL WORD FETCHED FROM THE TABLE * & INCREMENT THE TABLE POINTER * T10CW NOP LDA C&SWP,I FETCH CONTROL WORD F TABLE UI29v OTA SC+1 & OUTPUT T10NP NOP NOP/STC SC+1,C INSTR ISZ C&SWP INCREMENT TABLE POINTER NOP JMP T10CW,I EXIT * UI29A STC SC+1,C * * C&SWP OCT 0 STATUS & CONT WORD TABLE POINTER C&SWB DEF C&SWD * C&SWD OCT 0 OCT 200 OCT 176000 OCT 174374 OCT 0 OCT 2202 OCT 176000 OCT 176376 * C&SWA DEF C&SWC C&SWC OCT 0 OCT 1 OCT 2003 OCT 1 OCT 176000 OCT 174374 OCT 176376 OCT 176000 OCT 176376 OCT 0 OCT 2003 OCT 100000 OCT 100300 OCT 102302 OCT 100300 OCT 176000 OCT 174374 OCT 176376 OCT 176000 OCT 176376 OCT 0 OCT 2003 SKP * * INPUT ONE STATUS WORD & COMPARE AGAINST TABLE * T10SW NOP T10NQ NOP RSS/SFS SC+1 INSTR JSB E066 UI30 LIB SC+1 READ IN STATUS WORD CPB C&SWP,I COMPARE STATUS WORD AGAINST TABLE VALUE JMP T10SW,I OK. EXIT ROUTN STB INPAT ERROR, STORE READ STATUS WORD LDA C&SWP,I READ EXPECTED STATUS WORD & STORE STA EXPWD LDA MP64 LOAD MESSAGE POINTER IOR B15 LINK TO MULTIPLE MESSAGE STA MSXYZ & STORE INTO ERROR MESSAGE ROUTN JSB EMR3L GO TO ERROR MESSAGE JMP T10SW,I EXIT ROUTN * E066 NOP JSB ERMS,I DEF MS066 JMP E066,I * UI29B SFS SC+1 * * MP64 DEF MS064 MS064 ASC 14,E064 INCORRECT STATUS WORD/ MS066 ASC 16,E066 COMMAND CH FLAG FF NOT SET/ * * * ************************************************************** SKP HED TEST 12 * * PSEUDO OPDESIGN * SWR * BIT OPERATION * 0 - INEREMENT PATTERN * 1 - OUTPUT PATTERN (OTA SC) * 2 - ENCODE PATTERN (STC SC,C) * 3 - WAIT FOR FLAG (SFS SC) * 4 - INPUT PATTERN (LIA SC) * 5 - COMPAIR PATTERN * 6 8TRN - LOOP * TST12 EQU * * POD NOP JSB MSGC,I TELL OPERATOR TO DEF PODM MAKE SWR SELECTION CLA PODH LDB BTMSK CMB H054 EQU * HLT 54B WAIT FOR HIM STA PTRN ESTABLISH PATTERN CMB STB BTMSK AND BIT MASK AND BTMSK ESTABLISH EXPECTED STA EXP PODL LDB .177 JSB SWRT,I RSS JMP POD,I EXIT CLB,INB JSB SWRT,I JSB INPT INCREMET PATTERN LDB .2 JSB SWRT,I JSB OUT OUTPUT PATTERN LDB .4 JSB SWRT,I JSB ENCD ENCODE PATTERN LDB .10 JSB SWRT,I JSB WFL WAIT FOR FLAG LDB .20 JSB SWRT,I JSB IN INPUT PATTERN LDB .40 JSB SWRT,I JSB CMPR COMPAR PATTERNS LDB .100 JSB SWRT,I JMP PODL LOOP LDA PTRN JMP PODH HALT FOR OPERATOR SKP PODM ASC 21,H070 SET SWITCH REG. FOR PSEUDO OPDESIGN/ * * * ************************************************************** * FWAA EQU * END ?T  24395-18001 1644 S 0122 21MX MEM DG              H0101 ASMB,A,B,L,C HED HP 21MX MEMORY DIAGNOSTIC (DSN 102104) ORG 0 OCT. 25, 1976 DATE CODE 1644 SUP * GENERAL OPERATING PROCEDURE * * A. IF MEMORY PROTECT IS PRESENT,THEN PLACE PARITY * ERROR/MEMORY PROTECT SWITCH A1S1 TO INT/IGNORE. IF * MEMORY PROTECT IS NOT PRESENT,THEN PLACE PARITY * ERROR/MEMORY PROTECT SWITCH A1S1 TO HALT. * * B. LOAD DIAGNOSTIC PROGRAM. * * C. LOAD SWITCH-REGISTER WITH DESIRED PROGRAM OPTIONS: * IF SET =: * 15 = HALT AT END OF EACH TEST SECTION. A=TEST #. * 14 = SUPPRESS ERROR HALTS. * 13 = LOOP ON LAST TEST SECTION. * 12 = LOOP ON DIAGNOSTIC. TESTS REQUIRING * OPERATOR INTERVENTION ARE SKIPPED. * 11 = RESERVED * 10 = RESERVED * 9 = GO TO USER SELECTION AT END OF PRESENT * TEST SECTION. * 8 = SUPPRESS OPERATOR INTERVENTION * 7 = RESERVED * 6 = RESERVED * 5 = STORE NONFATAL ERRORS ABOVE 8K IN ERROR * TABLE INSTEAD OF HALTING. * 4 = RESERVED * 3 = RESERVED * 2 = EXECUTE PROGRAM CHECK INSTEAD OF MAIN * PROGRAM. * 1 = RESERVED * 0 = ABORT CURRENT EXECUTION AND HALT TO ENTER * NEW MEMORY TEST LIMITS IN A & B OR LEAVE * A & B UNCHANGED TO KEEP CURRENT TEST * LIMITS. PRESS PRESET,RUN TO RESTART PASS. * * ****NOTE-CLEAR SWITCH-REGISTER WILL EXECUTE THE DEFAULT SET OF * TESTS (TST00 THRU TST10) HALTING ON ERRORS AND * THE END OF THE PASS. * * D. SET P-REGISTER TO 100. PRESS PRESET AND THEN RUN. * * E. RESTA'RT-GO TO STEP C. * SKP * * PROGRAM CHECK PROCEDURE * * IF MEMORY FAILURES IN THE INITIALIZATION AREA WON'T * ALLOW EXECUTION OF THE MAIN PROGRAM,THEN FOLLOW THESE * STEPS TO RUN THE PROGRAM AREA CHECK ON ADDRESSES * 1000 TO 7777. * * A. RELOAD DIAGNOSTIC PROGRAM. * B. SET SWITCH-REGISTER BIT 2. * C. SET P-REGISTER TO 100. PRESS PRESET AND THEN RUN. * * ERROR TABLE * MODULE # ERROR TABLE LOCATIONS ERROR TABLE LOCATIONS * IN BASE FOR BASE MEMORY ONLY FOR BASE MEMORY + DMS * MEMORY** * 2** 1600-1604 1600-1623 * 3** 1624-1627 1624-1647 * 4** 1650-1653 1650-1673 * 5** 1674-1677 1674-1717 * 6** 1720-1723 1720-1743 * 7** 1744-1747 1744-1767 * * ERROR TABLE ENTRY FORMAT * * M ERROR ADDRESS(15 BIT IN BASE OR 10 BIT IN DMS) * M+1 DATA WRITTEN * M+2 DATA READ * M+3 ONES IF ERROR IS IN BASE MEMORY OR PAGE # IF IN DMS * M+4 NUMBER OF TIMES AN ERROR OCCURRED AT THIS ADDRESS * * ERROR TABLE SUMMARY * * BASE MEMORY ADDRESS CONTAINING THE NUMBER OF ERRORS * MODULE #** (MAXIMUM OF 4 PER MODULE) IN THE MODULE * 2** 1770 * 3** 1771 * 4** 1772 * 5** 1773 * 6** 1774 * 7** 1775 * * **NOTE-ERRORS MAY BE ENTERED IN ANY ORDER IF DMS IS PRESENT. * ****NOTE-IN SOME PHASES OF TESTING,THE PROGRAM OR SEGMENTS OF * THE PROGRAM ARE MOVED TO TEST THE PROGRAM AREA. THIS * MAY CAUSE DATA PATTERNS TO BE IN THE ERROR TABLE OR * LOCATION 126 AND THE PROGRAM TO NOT BE RESTARTABLE. * HED TRAP CELL HALTS AND INTERRUPT LINK FOOR 5 ORG 2 OCT 106077 DEF PARCK INITIALLY ASSUME FATAL PE OCT 106077 JSB 3,I INITIALLY ASSUME MP IS PRESENT * * UNL * REP 72B * OCT 106077 TRAP CELL HALLTS * UNL REP 72B OCT 106077 TRAP CELL HALTS LST * CONFIGURATOR LINKAGE TABLE * * ****NOTE-THE CONFIGURATOR IS NOT USED IN THIS DIAGNOSTIC. * THE PROGRAM WILL NOT,HOWEVER,DESTROY THE CONFIGURATOR * IF ALREADY IN MEMORY. * A EQU 0 A-REGISTER INT EQU 0 INTERRUPT SYSTEM B EQU 1 B-REGISTER SWREG EQU 1 SWITCH-REGISTER MP EQU 5 MEMORY PROTECT/PARITY ERROR PAGE EQU 4000B * ORG 100B GO TO INITIALIZATION SECTION OR JMP05 JMP PJMP,I IF RESTART TO 2000 ORG 105B DEF PEND FIRST WORD AVAILABLE MEMORY BSS 1 LAST WORD AVAILABLE MEMORY ORG 126B OCT 102104 DIAGNOSTIC SERIAL NUMBER ORG 130B PJMP DEF INIT POINT TO INITIALIZATION FOR NOW HED PROGRAM CHECK * PERFORMS THE FOLLOWING TESTS ON ADDRESSES 1000 TO 7777: * * ONES AND ZEROS/MARCHING ONES AND ZEROS * ADDRESS PARITY * ADDRESS * CHECKERBOARD * * ASSUMES MEMORY PROTECT IS PRESENT. DESTROYS ANY PROGRAMS * RESIDING IN TEST AREA 1000 TO 7777(INCLUDING COMOD AND THE * CONFIGURATOR IF 4K MEMORY). * ALT LDA PAPAR POINT INTERRUPT TO 5 STA 3 INTO APAR LDA A1000 SET TEST STA ASADR LIMITS OF LDB A7777 1000 TO STB AEADR 7777 * MARCHING ONES AND ZEROS CLA,CLE TEST PATTERN OF STA ATPAT ZEROS.CLEAR E CCA BACKGROUND PATTERN STA ABPAT OF ONES LP306 JSB ABLOC WRITE TEST AREA TO DATA IN A LDB ASADR START AT 1000 LP305 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JMP AEROR pNO.ERROR IN MODULE 0 CLO SET WRITING FLAG LDA ATPAT GET TEST PATTERN STA B,I WRITE IT CPA B,I READ AND CHECK IT RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL300 YES INB NO.BUMP POINTER LDA ABPAT GO BACK TO BACKGROUND JMP LP305 CONTINUE AL300 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JMP AEROR NO.ERROR IN MODULE 0 CLO SET WRITING FLAG LDA ABPAT NOW USE BACKGROUND PATTERN STA B,I WRITE IT CPA B,I READ AND CHECK IT RSS OK JMP AEROR ERROR IN MODULE 0 CPB ASADR DONE? JMP AL301 YES.GO CHECK FOR OTHER PATTERNS ADB AM1 DECREMENT POINTER LDA ATPAT GO BACK TO TEST PATTERN JMP AL300 CONTINUE AL301 JSB ACKPT DO ANOTHER PATTERN? JMP LP306 YES SKP * ADDRESS PARITY TESTS * LP308 CLO SET WRITING FLAG LP309 LDB ASADR START AT 1000 LP313 LDA A.M16 SET COUNTER STA ATEMP =-16 DECIMAL STB A ADDRESS IN A CLE CLEAR BIT FLAG LP307 RAR,SLA ADDRESS BIT SET? CME YES.TOGGLE BIT FLAG ISZ ATEMP DONE? JMP LP307 NO SEZ EVEN # OF BITS? JMP AL305 NO.ODD # LDA ABPAT YES USE BACKGROUND PATTERN AL307 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL309 YES INB NO.BUMP POINTER JMP LP313 CONTINUE AL305 LDA ATPAT USE TEST JMP AL307 PATTERN AL309 SOC JUST FINISH WRITING? JMP AL308 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK AND JMP LP309 READ THKIS TIME AL308 JSB ACKPT DO ANOTHER PATTERN? JMP LP308 YES SKP * ADDRESS TESTS * LP312 CLO SET WRITING FLAG LP311 LDB ASADR START AT 1000 LP310 LDA ATPAT USE ADDRESS OR SZA COMPLEMENT ADDRESS? JMP AL311 COMPLEMENT ADDRESS LDA B USE ADDRESS JMP AL310 AL311 LDA B GET ADDRESS CMA COMPLEMENT IT AL310 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL312 YES INB NO.BUMP POINTER JMP LP310 CONTINUE AL312 SOC JUST FINISH WRITING? JMP AL313 NO.GO SEE IF DONE STO YES.GO BACK AND JMP LP311 READ THIS TIME AL313 LDA ATPAT DONE BOTH ADDRESS AND INA,SZA,RSS COMPLEMENT ADDRESS TESTS? JMP AL314 YES CCA NO.SET ATPAT TO USE STA ATPAT COMPLEMENT ADDRESS JMP LP312 GO BACK & DO COMPLEMENT ADDRESS AL314 STA ATPAT RESTORE TEST PATTERN TO ZEROS SKP * CHECKERBOARD TESTS * LDA PATBL POINT TO STA PTBL2 PATTERN TABLE LP318 LDA PTBL2,I GET PATTERN ENTRY STA APATT PUT IT IN PATTERN VALUE LP315 CLO SET WRITING FLAG LP314 LDB ASADR START AT 1000 LP319 STB A GET ADDRESS IN A AND APATT ARE EITHER OF THE SZA,RSS PATTERN BITS SET? JMP AL315 NO CPA APATT YES.ARE BOTH BITS SET? JMP AL315 YES LDA ATPAT NO.USE TEST JMP AL316 PATTERN AL315 LDA ABPAT USE BACKGROUND PATTERN AL316 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE? JMP AL317 YES INB NO.BUMP POINTER JMP LP319 CONTINUE ALm317 SOC JUST FINISH WRITING? JMP AL318 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK JMP LP314 AND READ DATA AL318 JSB ACKPT DO ANOTHER PATTERN? JMP LP315 YES ISZ PTBL2 ANY MORE ENTRIES LDB PTBL2,I IN THE PATTERN INB,SZB TABLE FOR VARIOUS VENDORS? JMP LP318 YES.GO BACK AND DO THAT PATTERN LIA SWREG IS BIT ALF,SLA 12 SET? JMP ALT YES.DO ANOTHER PASS RAR,SLA IS BIT 13 SET? JMP ALT YES.DO ANOTHER PASS H167 OCT 106067 END OF ALTERNATE TESTS JMP ALT DO ANOTHER PASS OF ALT TESTS HED ACKPT * * SETS UP BACKGROUND AND TEST PATTERNS IN ABPAT AND ATPAT * RESPECTIVELY,BASED ON THE DATA IN ABPAT. * * ENTRY VALUE OF ABPAT EXIT VALUES OF ABPAT,ATPAT & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * ACKPT NOP LDA ABPAT GET BACKGROUND IN A INA,SZA JUST DO A BACKGROUND OF ONES? JMP AL302 NO.MUST BE 0,1 OR 3 STA ABPAT YES.MAKE IT ZEROS CCA MAKE TEST STA ATPAT PATTERN ONES CLA EXIT WITH BACKGROUND JMP ACKPT,I IN A AL302 SLA,RSS JUST DO 000000? JMP AL303 NO.MUST BE 1 OR 3 STA ABPAT USE BACKGROUND=000001. TEST=1'S JMP ACKPT,I AL303 CPA AB4 JUST DO 3? JMP AL304 YES CCA NO.TEST ADA AM1 PATTERN STA ATPAT =177776 LDA AB3 BACKGROUND STA ABPAT =000003 JMP ACKPT,I AL304 CLA ALL DONE.SET STA ATPAT TEST=000000 CCA AND BACKGROUND STA ABPAT =177777 ISZ ACKPT RETURN JMP ACKPT,I P+2 HED ABLOC,AEROR * * WRITE TEST ARE>A TO DATA IN A. * VERIFIES DATA WRITTEN * ABLOC NOP CLO SET WRITING FLAG LP317 LDB ASADR START AT 1ST ADDRESS LP316 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JMP AEROR ERROR IN MODULE 0 CPB AEADR DONE LOOP? JMP AL319 YES.GO CHECK IF DONE INB NO.BUMP POINTER JMP LP316 AL319 SOC JMP ABLOC,I STO JMP LP317 * * PROCESSES ERRORS FOR AEROR * AEROR EQU * STB ATEMP SAVE ADDRESS LDB B,I GET BAD DATA IN B E104C OCT 106004 MODULE 0 HAS FAILURE LDA ATEMP GET FAILING ADDRESS LDB ATEMP IN A & B E105C OCT 106005 FATAL MODULE 0 ERROR JMP *-1 IRRECOVERABLE HED APAR * * PROCESSES PARITY ERROR INTERRUPTS FOR ALTERNATE TEST * APAR EQU * NOP STA ATEMP SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA BIT 15 OF VIOLATION REG SET? JMP AL320 YES.PE-OK E102A OCT 106002 NO.ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE AL320 AND A.32K MASK OFF VR BIT 15 STA ASTOR SAVE ADDRESS CMA,INA MAKE IT - ADA A777 IS THE FAILING ADDRESS SSA BELOW 1000? JMP AL323 NO.OK AL321 LDA ASTOR YES.PROGRAM AREA FAILURE LDB ASTOR ADDRESS IN A & B E101C OCT 106001 PARITY AREA IN MODULE 0 JMP *-1 IRRECOVERABLE AL323 LDA ATEMP RESTORE A LDB ASTOR,I GET BAD DATA E116A OCT 106016 PARITY ERROR DURING ALT TEST JMP AL321 GO SHOW ADDRESS HED CONSTANTS,LINKS AND STORAGE FOR ALT AB3 OCT 3 AB4 OCT 4 PAPAR DEF APAR LINK TO PARITY ERROR ROUTINE PATBL DEF ATBL LINK TO TABLE OF VENDOR PATTERNS A1000 OCT 1000 A777 OCT 777 A7777 OCT 7777 A.32K DEC 32767 A.M16 DEC ?-16 AEADR BSS 1 LAST ADDRESS IN TEST AREA ABPAT BSS 1 BACKGROUND PATTERN APATT BSS 1 STORAGE FOR CHECKERBOARD PATTERN ASADR BSS 1 STARTING ADDRESS OF TEST AREA ASTOR BSS 1 STORAGE ATEMP BSS 1 FOR ALT TESTS ATPAT BSS 1 TEST PATTERN PTBL2 BSS 1 PATTERN POINTER * * CHECKERBOARD PATTERN TABLE * ATBL EQU * OCT 101 M0 EOR M6(TI 4030,4050) AM1 OCT 177777 HED PROGRAM CONSTANTS,LINKS & STORAGE ORG 700B TSTNO BSS 1 CURRENT TEST NUMBER .1 DEC 1 BIT0 EQU .1 B2 OCT 2 B3 OCT 3 B4 OCT 4 B7 OCT 7 B10 OCT 10 BIT3 EQU B10 B14 OCT 14 B16 OCT 16 B24 OCT 24 SWAP DEC 24 UP TO 32K ADDRESSABLE MEMORY B40 OCT 40 BIT5 EQU B40 B131 OCT 131 B400 OCT 400 PTST DEF TSTNO LINK TO TEST # PETBL DEF ETABL LINK TO START OF ERROR TABLE PSTBL OCT 1770 LINK TO START OF SUMMARY TABLE B1777 OCT 1777 PL073 DEF L073 LINK TO L073 IN TST07 PL100 DEF L100 LINK TO L100 IN TST10 PL140 DEF L140 LINK TO L140 PWCNT DEF WDCNT LINK TO WORK COUNT IN MOVE PMOVE DEF IMOVE LINK TO MOVE ROUTINE PENTR DEF ENTRY LINK TO ERROR TABLE ROUTINE PDBNC DEF DEBNC LINK TO S-REG DEBOUNCE RTN. B7777 OCT 7777 B10K OCT 10000 BIT12 EQU B10K MASK2 OCT 10400 B40K OCT 40000 BIT14 EQU B40K B70K OCT 70000 B76K OCT 76000 .32K DEC 32767 B100K OCT 100000 BIT15 EQU B100K HLT00 HLT 0 TRAP OCT 106075 HALT PLACED IN UNUSED MEMORY M10K OCT -10000 .M64 DEC -64 MASK1 EQU .M64 .M16 DEC -16 M10 OCT -10 M5 OCT -5 M3 OCT -3 .M1 DEC -1 AERR BSS 1 STORAGE FOR A & B AP.E. BSS 1 STORAGE FOR A & B BACKP OCT 177777 DEFAULT OF 1'S BERR BSS 1 DURING ERROR ROUTINES BP.E. BSS 1 DURING P.E. ROUTINE CNTR1 BSS 1 COUNTER LOWER BSS 1 LOWER LIMIT OF TESTING MERR BSS 1 ONES OR PAGE # PASS BSS 1 PASS COUNT PERR BSS 1 BASE MEMORY OR PAGE ADDRESS SAVAD BSS 1 ADDRESS OF VIOLATION TEMP2 BSS 1 STORAGE TEMP3 BSS 1 STORAGE TEMP4 BSS 1 STORAGE TEMP5 BSS 1 STORAGE TEMP6 BSS 1 STORAGE TEMP7 BSS 1 STORAGE MODUL EQU TEMP7 1ST ADDRESS IN CURRENT 4K MODULE PDIAG EQU TEMP7 POINTER TO DIAGONAL ADDRESS TEMP9 BSS 1 STORAGE FOR ERROR ROUTINE TESTP NOP DEFAULT OF 0'S TESTS OCT 777 DEFAULT SET OF TESTS(TST00-10) UPPER BSS 1 UPPER LIMIT OF TESTING HED INIT * INITIALIZATION SECTION * * A. DETERMINES MEMORY SIZE & DISPLAYS SIZE IN SWITCH-REGISTER * FOR OPERATOR VERIFICATION. * B. DETERMINES IF MEMORY PROTECT IS PRESENT OR NOT. * C. PLACES 106075 IN UNUSED MEMORY LOCATIONS AFTER SAVING THE * CONFIGURATOR IN LOCATIONS 6500-7677. * D. MOVES A COPY OF THE MODULE 0 CHECK ROUTINE TO LOCATIONS * 131-677 AND SETS IT TO CHECK ADDRESSES 4000-7777. * E. JUMPS TO ADDRESS 4131 TO RUN A CHECK ON MEMORY MODULE 0. * * THE DEF TO INIT IN ADDRESS 130 IS OVERLAYED UPON COMPLETION * OF A. & B. AND THEN INIT IS OVERLAYED AND CANNOT BE REUSED. * ORG 1000B INIT EQU * LIA SWREG RUN PROGRAM RAR,RAR CHECK INSTEAD OF SLA MAIN PROGRAM? JMP ALT YES LDB I70K START WITH 32K LP202 CCA TRY TO WRITE STA B,I ONES THERE CPA B,I SUCCESSFUL? JMP FOUND YES.MEMORY IS THERE CLA NO.SHOULD BE CPA B,I ZEROS THEN RSS OK JMP UH.OH NOT ZEROS.GO DECIDE IF CONTINUE ADB IM10K DROP POINTER DOWN 4K SZB DID POINTER BOTTOM OUT? JMP LP202 NO. TRY NEXT MODULE E111 OCT 106011 YES.SOMETHING IS AMISS JMP *-1 FIX PROBLEM BEFORE PROCEEDING FOUND LDA PATT3 CAN 125252 STA B,I BE STORED CPA B,I THERE? RSS rY OK JMP UH.OH NO. GO DECIDE TO CONTINUE ADB I7777 FORM MEMORY SIZE GOTIT STB MSIZE SAVE IT LIA SWREG SAVE STA TEMP1 SW REG CLA LP203 OTA SWREG OUTPUT A TO SW REG LIB SWREG READ IT BACK INTO B CPB A DATA CHECK? JMP *+3 YES E113 OCT 106013 NO.CAN'T JMP *-1 PROCEED INA,SZA DONE? JMP LP203 NO LDA MSIZE YES.OUTPUT LAST WORD OF OTA SWREG MEMORY ADDRESS TO SW REG LDB I.M10 DELAY INA,SZA FOR JMP *-1 APPROXIMATELY INB,SZB 3 SECONDS JMP *-3 LDA TEMP1 RESTORE OTA SWREG SW REG LDB PHNDL PUT DEF TO STB 3 HANDL IN 3 LDA I.3 SET UP OTA MP FENCE=3 CLC INT CLEAR ANY I/O INTERRUPTS STF INT TURN ON INTERRUPT SYSTEM STC MP TURN ON MEMORY PROTECT CLA TRY TO VIOLI STA 2 VIOLATE MP NOP SHOULD INT HERE IF MP PRESENT CLF INT DISABLE INTERRUPTS CPA 2 MP NOT THERE. DID 2 GET STORED? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA SHALT PUT SPECIAL HALT IN 5 FOR STA MP ERRONEOUS INT TO 5 W/OUT MP JMP GONE GO TO QUICK TESTS HANDL NOP RETURN PT FOR MP INT CLF INT DISABLE INT'S LIA MP GET VIOLATION REGISTER SSA WAS THERE A PARITY ERROR? JMP PARCK YES.GO DECIDE WHAT TO DO LDB A,I GET VIOLATING INSTRUCTION CPB VIOLI IS IT RIGHT? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA PVIOL DID JSB IN 5 CAPTURE CPA HANDL RETURN ADDRESS CORRECTLY? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA JMP01 INTERRUPTS NOW STA MP ARE ERRORS LDA 2 WERE@"B@< CONTENTS OF LOC 2 CPA THALT PROTECTED? RSS YES JMP BADMP NO.SOMETHING IS WRONG CLC INT CLEAR ANY I/O INTERRUPTS STF INT TURN INT SYSTEM BACK ON CCA IS MP STA 2 TURNED OFF? NOP CLF INT YES.DISABLE INT'S B  24395-18002 1644 S 0122 21MX MEM DG              H0101  CPA 2 LOC 2 OK? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA JSB3I RESTORE JSB 3,I STA MP INSTRUCTION IN 5 LDA PMPER POINT LOC 3 TO INIT STA 3 PARITY ERROR HANDLING ROUTINE LDA I.1 SET MP PRESENT IOR FWORD BIT IN FLAG WORD STA FWORD GONE LDA THALT RESTORE TRAP CELL STA 2 TO LOC 2 CLF INT INSURE NO INTERRUPTS STF MP INSURE P.E. IS ON LDA I2000 DISABLE CALL STA PJMP TO INIT & ALLOW OVERLAYING JMP IL224 PARCK CLF MP TURN OFF PE & CLEAR BIT 15 OF VR LIA MP GET VIOLATING ADDRESS STA B ALSO IN B LDA I7777 CHECK IF IN MODULE 0 CMA AND B SZA JMP UH.OH NO E101A OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE UH.OH ADB I7777 FORM A LAST WORD OF MEMORY E110 OCT 106010 FIX PROBLEM OR ENTER A NEW UPPER * LIMIT IN B AND PRESS RUN OR * LEAVE VALUE IN B AND USE THAT * FOR AN UPPER LIMIT. JMP GOTIT CONTINUE WITH VALUE IL224 LDA MSIZE ONLY 4K CPA I7777 PRESENT? RSS YES JMP IL222 NO.LEAVE FWORD ALONE LDA I2 OR IN IOR FWORD 4K PRESENT STA FWORD FLAG JMP IL223 SKIP NEXT SECTION IL222 LDB I6177 MOVE LDA CONF THE STA PWCNT,I CONFIGURATOR LDA MSIZE LOCATIONS AND I70K DOWN IOR I6500 TO JSB PMOVE,I 6177-7377 LDA TRAP PUT LDB B10K HALT LP218 STA B,I 106075'S CPB MSIZE IN JMP IL223 UNUSED INB MEMORY JMP LP218 IL223 LDA PMDCK SET UP STARTING STA SAVAD SOURCE ADDRESS LDB B1w31 DESTINATION STARTING ADDRESS LP220 LDA SAVAD,I MOVE A STA B,I WORD CPB PEMCK DONE? JMP IL226 YES INB NO.BUMP ISZ SAVAD POINTERS JMP LP220 CONTINUE IL226 LDA PMDCK SET UP STA SAVAD POINTERS LDB B131 AGAIN LP221 LDA SAVAD,I GET SOURCE WORD CPA B,I MOVED OK? RSS YES JMP IER NO.ERROR CPB PEMCK DONE? JMP IL227 YES INB NO. BUMP ISZ SAVAD POINTERS JMP LP221 CONTINUE IER STB SAVAD SAVE ADDRESS LDB B,I GET BAD DATA IN B E104B OCT 106004 MODULE 0 HAS FAILURE LDA SAVAD GET FAILING LDB SAVAD ADDRESS IN A & B E105B OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE IL227 LDA JMP05 SET MODULE 0 CHECK LOW STA PMJMP,I TO JMP TO CONTROL SECTION LDA I4777 SET LDB IM4K UP STA PLIM,I PARITY STB PHIM,I ERROR LDA I777 ROUTINE LDB IM131 FOR MODULE STA PLLIM,I 0 CHECK STB PHLIM,I (LOW) LDA PTBL3 POINT TO LOW STA PTBL4,I PATTERN TABLE JMP PMDCK,I GO START MODULE 0 CHECK * * FLASHES S,E & O-REGISTERS TO INDICATE MEMORY PROTECT * WON'T TURN OFF * FLASH CLE CLO CLA L614 OTA SWREG INA,SZA JMP *-1 LIA SWREG CMA OTA SWREG CLA INA,SZA JMP *-1 SOS JMP L612 CLO JMP L613 L612 STO L613 INA,SZA JMP *-1 CME INA,SZA JMP *-1 JMP L614 HED CONSTANTS,LINKS AND STORAGE FOR INIT I.1 DEC 1 I2 OCT 2 I.3 DEC 3 PMJMP DEF IL206-PAGE TRANSFER POINT IN MD0CK PTBL4 DEF PITBL-PAGE LINK TO PATTERN TABLE POINTER PHLIM DEF HLIM-PAGE LINK TO HLIM(LOW) PLLIM DEF LLIM-PAGE LINK TO LLIM(LOW) PTBL3 DEF ITBL-PAGE LINK TO PATTERN TABLE(LOW) PEMCK DEF PM0CK-PAGE END OF MODULE 0 CHECK LOW I777 OCT 777 PVIOL DEF VIOLI+1 RETURN ADR FOR MP VIOLATION PHNDL DEF HANDL DEF IN 3 FOR INIT CONF OCT 1200 #OF WORDS IN CONFIGURATOR I2000 OCT 2000 PMDCK DEF MD0CK START OF MODULE 0 CHECK PMPER DEF IPAR DEF TO PAR ERROR ROUTINE IN INIT PHIM DEF HLIM LINK TO HIGH LIMIT FOR P.E. PLIM DEF LLIM LINK TO LOW LIMIT FOR P.E. I4777 OCT 47777 I6177 OCT 6177 I6500 OCT 6500 I7777 OCT 7777 JMP01 JMP FLASH MEMORY PROTECT WON'T TURN OFF I70K OCT 70000 SHALT OCT 106015 SPECIAL TRAP CELL HALT FOR NO MP THALT OCT 106077 JSB3I JSB 3,I JSB 3,I INSTRUCTION PATT3 OCT 125252 IM10K OCT -10000 IM4K OCT -4000 IM131 OCT -131 I.M10 DEC -10 TEMP1 BSS 1 HED ERROR ROUTINE * * PROCESSES DATA ERRORS * * CALLING SEQUENCE: * * A=DATA WRITTEN * B=FAILING ADDRESS * JSB ERROR * ORG 1400B ERROR NOP STA AERR SAVE STB BERR A & B STB PERR INITIALIZE PERR TO BASE ADDRESS CLF MP INSURE P.E. OFF DURING ERROR RTN CCA INITIALIZE MERR STA MERR TO BASE MEMORY LDB BIT14 SUPPRESS JSB SWRCK ERROR HALTS? JMP L632 YES LDA TSTNO IN DMS CPA B16 TESTS? JSB FXMEM YES.GO FIND PAGE # & ADDRESS LDB BIT5 ENTER ERRORS JSB SWRCK IN ERROR TABLE? JMP PENTR,I YES L626 LDA PTST,I GET TEST # IOR HLT00 AND FORM STA EHALT ERROR HALT LDA AERR GOOD DATA LDB BERR,I BAD DATA(DATA READ) EHALT BSS 1 ERROR HALT LDA PERR FAILING ADDRESS IN A LDB MERR ONES OR PAGE # IN B H27 HLT 27B HALT FOR ADDRESS L632 LDA AERR RESTORE LDB BERR A & B STF MP TURN P.E. BACK ON JMP ERROR,I HED FXMEM * * DETERMINE PAGE ADDRESS AӪND PUT IN PERR * DETERMINE PAGE # AND PUT IN MERR * FXMEM NOP LDA BERR GET AND B1777 PAGE ADDRESS STA PERR IN PERR LDA BERR FORM LDB SAVE3 THE AND B76K REGISTER # ALF FROM RAL,RAL SAVE3 ADA M10 ALLOW FOR 8K START POINT CMA CALCULATE L625 INA,SZA,RSS THE JMP L641 PAGE INB NUMBER JMP L625 L641 STB MERR PUT IT IN MERR JMP FXMEM,I HED P.E. * HANDLES PARITY ERRORS * P.E. NOP STA AP.E. SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP L609 YES.OK STA SAVAD SAVE ADDRESS LDA TSTNO CURRENTLY IN CPA B14 MEMORY PROTECT TEST? JMP PL140,I YES.GO THERE CPA B16 IN DMS TEST? JMP L637 YES E102B OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE L609 AND .32K MASK OFF BIT 15 STA SAVAD SAVE ADDRESS CMA,INA IS P.E. ADA B7777 LOCATED SSA ABOVE 7777? JMP L610 YES LDA SAVAD NO.BAD ADDRESS LDB SAVAD IN A & B E101D OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE L610 STB BP.E. SAVE B LDA TSTNO IN TEST CPA B7 TST07? JMP L642 YES LDA TSTNO IN TEST CPA B16 TST16? RSS YES JMP L611 NO.ADDRESS IS IN BASE MEMORY LDA SAVAD GO FIND STA BERR PAGE ADDRESS AND JSB FXMEM PAGE NUMBER LDA SAVE8 IS TST16 DOING CPA B7 TST07? RSS YES JMP L611 NO.USE ERROR ROUTINE LDA PERR FAILING PAGE ADDRESS LDB MERR FAILING +nPAGE NUMBER JMP E34 GO HALT L642 LDA SAVAD FAILING ADDRESS(BASE MEMORY) CCB BASE MEMORY FLAG E34 HLT 34B LET USER DECIDE JMP L615 CONTINUE ALL BUT TST07 L611 LDA AP.E. USE ERROR LDB SAVAD ROUTINE TO JSB ERROR REPORT ERROR L615 LDA AP.E. RESTORE LDB BP.E. REGISTERS STF MP TURN PARITY ERROR BACK ON JMP P.E.,I CONTINUE TESTING L637 LDA TESTS IS THE MEMORY AND B10K PROTECT TEST SZA ALSO SELECTED? JMP PL140,I YES.GO THERE JMP E102B NO.ERRONEOUS MP VIOLATION BADMP EQU * E114 OCT 106014 MEMORY PROTECT FAILURE JMP *-1 IRRECOVERABLE SPC 6 * * CHECKS SWITCH-REGISTER FOR THE BIT IN THE B-REGISTER. * * CALLING SEQUENCE: * * LDB BIT * JSB SWRCK * RETURN P+1 IF SET * RETURN P+2 IF CLEAR * SWRCK NOP JSB PDBNC,I AND B SZA JMP SWRCK,I ISZ SWRCK JMP SWRCK,I SPC 2 * PROGRAM CONSTANTS,LINKS & STORAGE B77 OCT 77 SAVE1 BSS 1 SAVE3 BSS 1 SAVE4 BSS 1 SAVE5 BSS 1 SAVE6 BSS 1 SAVE7 BSS 1 SAVE8 BSS 1 MAXPG NOP MAXIMUM PAGE # PTBL5 BSS 1 POINTER TO CHECKERBOARD PATTERN PTBL7 BSS 1 LINK TO ROWS & COLUMNS PATTERN PTBL9 BSS 1 LINK TO DISTURBANCE PATTERN HED ERROR TABLE AREA ORG 1600B ETABL EQU * ERROR TABLE STARTING ADDRESS * * SPECIAL PROGRAM CONSTANTS * ORG 1776B MSIZE BSS 1 LAST WORD OF MEMORY * * FLAG WORD FOR VARIOUS PARAMETERS * * BIT # PARAMETER PRESENT IF SET * 0 MEMORY PROTECT * 1 4K MEMORY PRESENT * FWORD NOP START WITH NONE HED CONTROL SECTION * CONTROLS EXECUTION OF VARIOUS TEST SECTIONS * ORG 2000B LDA PP.E. SET P.E INTERRUPTS TO STA 3 GO TO P.E. ROUTINE LDA B777 SE'iT UP DEFAULT STA TESTS SET OF TESTS CLA SET PASS STA PASS COUNTER TO 0 LDB PETBL CLEAR ERROR L508 STA B,I TABLE AND CPB PENTL SUMMARY JMP L512 AREA INB JMP L508 L512 LDA MSIZE SET UP DEFAULT STA UPPER TEST LIMITS OF LDB B10K 10000-X7777 OR LDA FWORD 0-7777 FOR 4K RAR,SLA CLB STB LOWER L500 CLA CLEAR TEST STA TSTNO NUMBER STA HFLAG AND SKIP BIT 15 FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? L501 LDB TSTNO NO.GET CURRENT TEST # CMB 1'S COMP. -TEST # LDA TESTS GET TESTS WORD RAR GET BIT FOR INB,SZB CURRENT TEST JMP *-2 SECTION IN BIT 15 POSITION SSA,RSS DO THIS TEST? JMP L502 NO L505 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L513 YES.GO DECIDE ON TEST L514 JSB CKTST CHECK TEST AREA BOUNDARIES LDA PTEST BUILD TEST ADA TSTNO POINTER AND LDA A,I AND GO JSB A,I DO IT L503 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L518 YES.SKIP HALTS & RESTORING LDA TRAP PUT LDB B10K HALT L517 STA B,I 106075'S CPB MSIZE IN JMP L516 TEST INB AREA JMP L517 L516 LDA MSIZE RESTORE AND B70K CONFIGURATOR ADA B6500 LDB A LDA B1200 STA PWCNT,I LDA PCONF JSB PMOVE,I L518 JSB CKBTS USER SELECTION OR NEW LIMITS? LDA HFLAG SKIP THE SW-REG SZA BIT 15 CHECK? JMP L504 YES LDB BIT15 NO.IS BIT JSB SWRCK 15 OF SW-REG SET? RSS YES JMP L504 NO LDA TSTNO GET TEST # IN A H76 HLT 76B HALT BETWEEN}P TEST SECTIONS L504 CLA CLEAR SKIP BIT STA HFLAG 15 FLAG LDB BIT13 IS SW-REG JSB SWRCK BIT 13 SET? JMP L505 YES.REPEAT TEST SECTION LDA TSTNO DONE ALL CPA LTEST TESTS? JMP L506 YES ISZ TSTNO NO.BUMP JMP L501 TEST # L506 ISZ PASS BUMP PASS COUNT JMP L507 GO CHECK FOR LOOP ON PASS CCA STICK PASS STA PASS COUNT AT JMP L507 MAX # OF BITS L507 LDB BIT12 LOOP ON JSB SWRCK DIAGNOSTIC? JMP L500 YES LDA PASS NO.GET PASS COUNT IN A H77 HLT 77B END OF PASS JMP L500 DO ANOTHER PASS USER CLB LOAD REGISTERS WITH LDA TESTS THE CURRENT SET OF TESTS H75 HLT 75B HALT FOR USER SELECTION SZA,RSS DEFAULT SET OF TESTS? LDA B777 YES STA TESTS STORE AS NEW SET OF TESTS LIA SWREG CLEAR BIT 9 AND N1001 OTA SWREG LDA TESTS SELECTED AND BIT14 TST16 SZA,RSS FOR EXECUTION? JMP L500 NO.RESTART PASS CLA DEFINE MAP CLB REGISTERS 0-7 LDX B10 TO BE PAGES 0-7 XMS LDA B1777 START AT PAGE 1000(DECIMAL) SJP L649 ENABLE SYSTEM MAPS L649 STA MAXPG SAVE IT ADA M10 GET DOWN SSA TO PAGE 7? JMP E36 YES LDA B10 DEFINE MAP LDB MAXPG REGISTER 10 TO BE LDX .1 CURRENT MAXPG XMS LDB B20K TRY TO CCA WRITE STA B,I ONES THERE LDA B,I GET ONES CPA M1 BACK? JMP L651 YES.FOUND MAXPG SZA,RSS NO.GET ZEROS BACK? JMP L650 YES.GO DROP A PAGE LDB MAXPG NO.SOMETHING'S WRONG E402 OCT 107002 LET USER DECIDE STB A GET RID AND B1777 OF DON'T STA MAXPG CARES L651 LDA MSIZE DOES ALF MAXPG RAL,RAL EQUAL AND B77 THE BASE CPA MAXPG MEMORY? JMP E36 NO LIA SWREG YES.SAVE STA TEMP3 S-REG LDA MAXPG PUT MAXPG OTA SWREG IN S-REG LDB .M16 DELAY ISZ A FOR JMP *-1 APPROXIMATELY ISZ B 5 SECONDS JMP *-3 LDA TEMP3 RESTORE OTA SWREG S-REG DJP L500 TURN OFF MAPS & START NEW PASS L650 LDA MAXPG DROP ADA .M1 MAXPG JMP L649 ONE PAGE E36 HLT 36B NO EXPANDED MEMORY FOUND DJP USER TRY AGAIN L502 CCA SKIP SW-REG STA HFLAG BIT 15 JMP L516 CHECK ABORT JSB PDBNC,I DEBOUNCE S-REG LDA TSTNO IN TEST CPA B16 TST16? JMP L515 YES L519 CCA RESET STA BACKP BACKGROUND CLA AND TEST STA TESTP PATTERNS LDA LOWER GET CURRENT TEST LDB UPPER LIMITS IN A & B H64 HLT 64B ENTER NEW LIMITS * PRESS PRESET,RUN L510 JSB CHKUP CHECK UPPER LIMIT E65 HLT 65B RE-ENTER UPPER JSB CHKUP CHECK UPPER LIMIT E30 HLT 30B LAST CHANCE TO CHANGE UPPER STA LOWER GO WITH WHAT STB UPPER USER HAS L509 ADA M10K LOWER-10000 SSA,RSS LOWER<10000? JMP L511 NO.OK LDA LOWER YES.RESTORE LDB UPPER LIMITS E67 HLT 67B RE-ENTER LOWER JMP L510 TRY AGAIN L511 LDB UPPER CMB,INB -UPPER ADB LOWER +LOWER SSB,RSS LOWER GREATER THAN OR = UPPER? JMP *+5 LIA SWREG CLEAR BIT 0 AND N2 OTA SWREG JMP L500 NO.RESTART PASS W/NEW TEST AREA LDA LOWER YES.RESTORE LDB UPPER  LIMITS E66 HLT 66B RE-ENTER LIMITS JMP L510 TRY AGAIN L513 LDA TSTNO TRYING TO DO THE CPA B10 MODULE 0 CHECK? JMP L514 YES.OK CPA LTEST NO.TRYING TO DO MICROCODED TEST? JMP L514 YES.OK H61 HLT 61B USER SELECTED TEST & ONLY 4K JMP L503 SKIP TEST SECTION L515 LDA SAVE6 RESTORE TEST LDB SAVE7 LIMITS STA LOWER STB UPPER DJP L519 DISABLE MAPS & ABORT HED CKBTS,CHKUP,CKTST * * CHECKS S-REG BITS 0 & 9 * CKBTS NOP LDB BIT0 IS S-REG JSB SWRCK BIT 0 ON? JMP ABORT YES LDB BIT9 IS S-REG JSB SWRCK BIT 9 ON? JMP USER YES JMP CKBTS,I NO.DONE * * CHECK UPPER LIMIT OF TESTING IN B * CHKUP NOP STA LOWER SAVE NEW STB UPPER LIMITS CMB,INB -UPPER ADB MSIZE +MAX ADDRESS SSB,RSS UPPER>MAX? JMP L509 NO.OK LDB UPPER YES.RESTORE BAD UPPER JMP CHKUP,I * * CHECKS TESTS SELECTED AND CURRENT TEST AREA LIMITS FOR 4K * BOUNDARY COMPATIBILITY * CKTST NOP LDA TESTS SELECTED TST07,TST11, AND MASK3 TST12 SZA JSB PCK4K,I YES.GO CHECK BOUNDARIES JMP CKTST,I NO.RETURN H35 HLT 35B INFORM USER OF LIMIT PROBLEMS JMP ABORT TRY NEW LIMITS HED PATTERN TABLES * * CHECKERBOARD PATTERN TABLE * TBL EQU * OCT 101 M0 EOR M6(TI 4030,4050) M1 OCT -1 * * ROWS AND COLUMNS PATTERN TABLE * CONTAINS BITS IN ADDRESS TO CREATE ROWS OR COLUMNS * TBL1 EQU * OCT 100 M6(TI 4030,4050)-ROWS OCT 10 M3(TI 4030,4050)-COLUMNS OCT -1 * * DISTURBANCE PATTERN TABLE * TBL2 EQU * OCT 110 M6,M3(TI 4030,4050) OCT 100 M6(TI 4030,4050) OCT 10 M3(TI 4030,4050) OCT -1 <:66<  24395-18003 1644 S 0122 21MX MEM DG              H0101 * * DISTURBANCE PATTERN ROUTINES TABLE * TBL3 DEF PAT01 MH OR ML DEF PAT02 MH OR MLF DEF PAT03 MHF OR ML DEF PAT04 MHF OR MLF DEF PAT05 MH AND ML DEF PAT06 MH AND MLF DEF PAT07 MHF AND ML DEF PAT08 MHF AND MLF DEF L052 DONE.GO CHECK FOR OTHER DATA HED TEST TABLE * * POINTERS TO TEST SECTIONS * TSTBL DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEF TST16 HALT DEF HALT TEST TABLE POINTER WRONG E112B OCT 106012 PROGRAM DESTROYED JMP *-1 IRRECOVERABLE HED CONSTANTS,LINKS AND STORAGE FOR PROGRAM LTEST OCT 16 LAST ALLOWABLE TEST # .65 DEC 65 PJMP1 DEF IL206-PAGE TRANSFER POINT IN MOD 0 CHECK B377 OCT 377 PIER1 DEF IEROR+1-PAGE LINK TO ERROR CALL LOW PIER2 DEF IEROR+2-PAGE LINK TO ERROR RETURN IN RELO WCNT3 DEF PM0CK-MD0CK+2 # OF WORDS IN RELO. MODULE PSTR1 DEF START-PAGE LINK TO START IN RELO. MODULE PWCT1 DEF WDCNT-PAGE LINK TO WORD COUNT LOW PMOV1 DEF IMOVE-PAGE LINK TO IMOVE LOW B777 OCT 777 B1000 OCT 1000 BIT9 EQU B1000 B1200 OCT 1200 B1377 OCT 1377 PP.E. DEF P.E. LINK TO PARITY ERROR ROUTINE PENTL DEF MSIZE-1 END OF ERROR TABLE+SUMMARY AREA PTBL DEF TBL LINK TO PATTERN TABLE PTBL6 DEF TBL1 LINK TO ROWS & COLUMNS TABLE PTBL8 DEF TBL2 LINK TO DISTURBANCE TABLE PTEST DEF TSTBL LINK TO TEST TABLE PL146 DEF L146 LINK TO L146 PL147 DEF L147 LINK TO L147 PL144 DEF L144 LINK TO L144 B4000 OCT 4000 PJMP2 DEF MD0CK LINK TO START OF MODULE 0 CHECK PIERI DEF PM0CK LINK TO ERROR RETURN FROM TST07 PCK4K DEF CHK4K LINK TO BOUNDARY CHECK ROUTINE PCHEK DEF CHECK LINK TO ROUTINE CHECK PCKMD DEF CHKMD LINK TO CHKMD ROUTINE PRMEM DEF RMEM ij LINK TO RMEM PWMEM DEF WRMEM LINK TO WRMEM PCONF DEF SCONF LINK TO SAVE CONFIGURATOR AREA B6500 OCT 6500 B20K OCT 20000 BIT13 EQU B20K PPAT1 DEF TBL3,I LINK TO TABLE OF PATTERN ROUTINE MASK3 OCT 103200 BITS 15,10,9 AND 7 H401 OCT 107001 END OF TEST HALT.4K ONLY JMP04 JMP PL073,I JMP TO L073 INSTRUCTION JMP03 JMP PL100,I JMP TO L100 INSTRUCTION PATT6 OCT 125252 M1000 OCT -1000 N1001 OCT 176777 N2 OCT -2 .M24 DEC -24 HFLAG BSS 1 ALL ONES TO SKIP CURRENT TEST PATT BSS 1 CHECKERBOARD PATTERN BITS PATT1 BSS 1 HIGH ORDER BIT PATT2 BSS 1 LOW ORDER BIT PATT4 OCT 52525 PATT5 OCT 125252 PPATT BSS 1 LINK TO PATTERN ROUTINE HED TST00-ONES AND ZEROS * * WRITES/READS MEMORY UNDER TEST TO: * * 177777 * 000000 * 000001 (RIPPLES 1 THRU 0'S) * 177776 (RIPPLES 0 THRU 1'S) * TST00 EQU * ONZER NOP CCA DO JSB PWMEM,I 177777 CLA DO JSB PWMEM,I 000000 CLA,INA DO L000 JSB PWMEM,I 000001 RAR,SLA RIPPLE A 1 RSS THRU A JMP L000 FIELD OF 0'S CLA,INA CMA DO L001 JSB PWMEM,I 177776 RAR,SLA RIPPLE 0 JMP L001 THRU 1'S JMP ONZER,I HED TST01-ADDRESS PARITY * * WRITES/READS EACH ADDRESS OF MEMORY UNDER TEST TO THE PARITY * OF THAT ADDRESS. EVEN AND ODD PARITY ARE USED FOR MAIN MEMORY * AND THE PARITY CHIPS * TST01 EQU * ADPAR NOP L017 CLO SET WRITING FLAG L016 LDB LOWER START AT LOWER LIMIT TEST AREA L014 LDA .M16 SET COUNTER STA CNTR1 = -16 DECIMAL STB A GET ADDRESS IN A CLE CLEAR BIT FLAG L010 RAR,SLA BIT SET? CME YES.TOGGLE BIT FLAG ISZ CNTR1 NO.DONE? JMP L010 NO.KEEP COUNTING BITS SEZ YES.EVEN # OF BITS IN ADDRESS? JMP L011 NO.OmbDD #.USE TEST PATTERN LDA BACKP YES.USE BACKGROUND PATTERN L012 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L013 YES INB NO.BUMP POINTER JMP L014 CONTINUE L011 LDA TESTP USE TEST JMP L012 PATTERN L013 SOC DONE? JMP L015 YES STO NO.GO BACK AND JMP L016 READ THIS TIME L015 JSB PCHEK,I DO ANOTHER PATTERN? JMP L017 YES JMP ADPAR,I HED TST02-MARCHING ONES AND ZEROS * * 1. WRITES MEMORY UNDER TEST TO BACKGROUND PATTERN. * 2. READS BACKGROUND PATTERN IN 1ST LOCATION,WRITES TEST * PATTERN,READS BACKGROUND PATTERN IN 2ND LOCATION,WRITES * TEST PATTERN,ETC. TO UPPER LIMIT OF TEST AREA. * 3. READS TEST PATTERN IN LAST LOCATION,WRITES BACKGROUND * PATTERN,READS TEST PATTERN IN LAST LOCATION-1,WRITES * BACKGROUND PATTERN,ETC. BACK DOWN TO LOWER LIMIT. * 4. THE FOLLOWING PATTERNS ARE USED: * BACKGROUND TEST * 177777 000000 * 000000 177777 * 000001 177777 * 000003 177776 * TST02 EQU * MARCH NOP L020 LDA BACKP GET BACKGROUND IN A JSB PWMEM,I WRITE TEST AREA TO DATA IN A LDB LOWER START AT LOWER LIMIT TEST AREA L021 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB ERROR NO. ERROR LDA TESTP TEST PATTERN IN A CLO SET WRITING FLAG STA B,I WRITE TEST PATTERN CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB UPPER DONE MARCHING UP? JMP L022 YES INB NO.BUMP POINTER LDA BACKP BACKGROUND IN A JMP L021 CONTINUE L022 STO SET READIING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB ERROR NO.ERROR LDA BACKP BACKGROUND IN A CLO SET WRITING FLAG STA B,I WRITE BACKGROUND CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB LOWER DONE MARCHING DOWN? JMP L023 YES ADB M1 NO.DECREMENT POINTER LDA TESTP TEST PATTERN IN A JMP L022 CONTINUE L023 JSB PCHEK,I DO ANOTHER PATTERN? JMP L020 YES JMP MARCH,I HED TST03-CHECKERBOARD * WRITES/READS MEMORY TO A CHECKERBOARD PATTERN BASED ON THE * CHIP'S PHYSICAL LAYOUT. * TST03 EQU * CHKER NOP LDA PTBL POINT TO STA PTBL5 PATTERN TABLE L036 LDA PTBL5,I GET PATTERN ENTRY STA PATT SAVE PATTERN VALUE L035 CLO SET WRITING FLAG L034 LDB LOWER START AT LOWER LIMIT TEST AREA L031 STB A GET ADDRESS IN A AND PATT ARE BOTH OF THE CPA PATT BITS SET IN THE ADDRESS? JMP L030 YES SZA,RSS BOTH BITS CLEAR? JMP L030 YES LDA TESTP NO.USE TEST RSS PATTERN L030 LDA BACKP USE BACKGROUND PATTERN SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L032 YES INB NO.BUMP POINTER JMP L031 CONTINUE L032 SOC JUST FINISH WRITING? JMP L033 NO STO YES.GO BACK JMP L034 AND READ DATA L033 JSB PCHEK,I DO ANOTHER PATTERN? L037 JMP L035 YES ISZ PTBL5 NO.ANY MORE LDB PTBL5,I ENTRIES INB,SZB IN PATTERN TABLE? JMP L036 YES.GO DO NEXT PATTERN JMP CHKER,I HED TST04-ROWS AND COLUMNS * * WRITES/READS THE MEMORY CHIPS UNDER TEST TO ROWS OF t1'S AND * 0'S AND COLUMNS OF 1'S AND 0'S ACCORDING TO THE CHIP'S * PHYSICAL LAYOUT. * TST04 EQU * ROCOL NOP LDA PTBL6 POINT TO STA PTBL7 PATTERN TABLE L045 LDA PTBL7,I GET PATTERN ENTRY STA PATT AND SAVE IT L046 CLO SET WRITING FLAG L043 LDB LOWER START AT LOWER LIMIT TEST AREA L041 STB A GET ADDRESS IN A AND PATT IS THE BIT OF SZA INTEREST SET? JMP L040 YES LDA TESTP NO.USE RSS TEST PATTERN L040 LDA BACKP USE BACKGROUND SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L042 YES INB NO.BUMP POINTER JMP L041 CONTINUE L042 SOC JUST FINISH WRITING? JMP L044 NO STO YES.GO BACK JMP L043 AND READ DATA L044 JSB PCHEK,I DO ANOTHER PATTERN? JMP L046 YES ISZ PTBL7 NO.ANY LDB PTBL7,I MORE ENTRIES INB,SZB IN PATTERN TABLE? JMP L045 YES.GO DO NEXT PATTERN JMP ROCOL,I HED TST05-DISTURBANCE * * WRITES/DELAYS/READS MEMORY UNDER TEST TO THE FOLLOWING * PATTERNS: * * MH OR ML WHERE MH=HIGH ORDER BIT OF INTEREST * MHF OR ML ML=LOW ORDER BIT OF INTEREST * MH OR MLF F=FALSE * MHF OR MLF OR=INCLUSIVE OR * MH AND ML AND=AND * MHF AND ML * MH AND MLF * MHF AND MLF * * DELAYS FOR APPROXIMATELY 320 MILLISECONDS BEFORE READING. * TST05 EQU * DIST NOP LDA PTBL8 GET POINTER STA PTBL9 TO PATTERNS L055 LDA PTBL9,I GET STA PATT MH & ML ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT1 MH ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT2 ML L058 LDB ePPAT1 POINT TO STB PPATT PATTERN ROUTINE L054 CLO SET WRITING FLAG L053 LDB LOWER START AT LOWER LIMIT TEST AREA L051 STB A GET ADDRESS IN A AND PATT MASK OFF BITS OF INTEREST JMP PPATT,I GO GET CURRENT DATA VALUE L056 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L050 YES ADB .1 NO.BUMP POINTER JMP L051 CONTINUE L050 SOC JUST FINISH WRITING? JMP L057 NO LDA .32K YES.DELAY INA,SZA APPROXIMATELY JMP *-1 320 LDB .32K MILLISECONDS STB LP306 AND STO TO SET ISZ LP306 READING FLAG JMP *-1 JMP L053 GO BACK AND READ DATA L057 ISZ PPATT BUMP PATTERN ROUTINE JMP L054 POINTER & DO NEXT PATTERN L052 JSB PCHEK,I DO ANOTHER PATTERN? JMP L058 YES ISZ PTBL9 NO.ANY MORE LDB PTBL9,I ENTRIES IN INB,SZB PATTERN TABLE? JMP L055 YES JMP DIST,I * MH OR ML PAT01 SZA JMP BACK JMP TEST * MH OR MLF PAT02 SZA,RSS JMP BACK AND PATT1 SZA JMP BACK JMP TEST * MHF OR ML PAT03 SZA,RSS JMP BACK AND PATT2 SZA JMP BACK JMP TEST * MHF OR MLF PAT04 CPA PATT JMP TEST JMP BACK * MH AND ML PAT05 CPA PATT JMP BACK JMP TEST * MH AND MLF PAT06 CPA PATT1 JMP BACK JMP TEST * MHF AND ML PAT07 CPA PATT2 JMP BACK JMP TEST * MHF AND MLF PAT08 SZA,RSS JMP BACK TEST LDA TESTP JMP L056 BACK LDA BACKP JMP L056 HED TST06-DIAGONAL * WRITES/READS A DIAGONAL PATTERN ON MEMORY UNDER TEST AND * SHIFTS THE PATTERN THROUGH THE CHIP. * TST06 EQU * DIAG NOP ?L066 LDB LOWER SET INITIAL DIAGONAL STB PDIAG LOCATION TO LOWER LIMIT STB TEMP2 AND SAVE IT LDA .M64 SET COUNTER STA CNTR1 TO -64 DECIMAL L065 CLO SET WRITING FLAG L061 CPB PDIAG AT A DIAGONAL LOCATION? JMP L067 YES.GO USE BACK. & BUMP DIAG. LDA TESTP NO.USE TEST PATTERN L060 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L062 YES ADB .1 NO.BUMP POINTER JMP L061 CONTINUE L067 LDA PDIAG GET DIAGONAL LOC. IN A SOS OVERFLOW CLEAR? JMP L068 YES ADA .65 NO. BUMP DIAGONAL L069 STA PDIAG BY 65 DECIMAL LDA BACKP USE JMP L060 BACKGROUND L068 ADA .65 BUMP DIAGONAL BY 65 DECIMAL CLO CLEAR O AGAIN JMP L069 CONTINUE L062 SOC JUST FINISH WRITING? JMP L063 NO STO YES.SET READING FLAG LDA TEMP2 RESTORE STARTING STA PDIAG DIAGONAL LOCATION LDB LOWER START AT LOWER LIMIT JMP L061 GO BACK AND READ DATA L063 ISZ CNTR1 DONE SHIFTING? RSS NO JMP L064 YES LDA TEMP2 BUMP INA DIAGONAL STA TEMP2 POINTERS STA PDIAG JSB CKBTS USER SELECTION OR NEW LIMITS? LDB LOWER START AT LOWER LIMIT JMP L065 GO DO SHIFTED DIAGONAL L064 JSB PCHEK,I DO ANOTHER PATTERN? JMP L066 YES JMP DIAG,I HED TST07-RELOCATING * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON EACH 4K MODULE WITHIN THE * TEST AREA LIMITS EXECUTING FROM THE MODULE. USES EXISTING * MODULE 0 CHECK CODE MOVED UP TO THE CURRENT MODULE. * TST07 EQU * RELOC NOP LDA B10K START WI\'TH L072 STA MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP RELOC,I NO LDB PIER2 SAVE JSB IEROR LDA B,I INSTRUCTION IN STA TEMP2 IMOVE LDA JSB01 CHANGE IMOVE HIGH JSB MOV00 & LOW TO REPORT ERRORS LDB B131 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK LOW STA PWCNT,I UP TO LDA B131 CURRENT JSB PMOVE,I MODULE UNDER TEST LDB PJMP2 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK STA PWCT1,I HIGH UP TO LDA PJMP2 CURRENT MODULE JSB PMOV1,I UNDER TEST LDB PIER2 RESTORE IMOVE LDA TEMP2 HIGH & LOW JSB MOV00 LDA MODUL SET NEW LDB PSTR1 START JSB MOVIT ADDRESS LDA JSB01 SET NEW LDB PIER1 ERROR JSB MOVIT CALL LDA PIERI,I TO USE LDB PIER2 ERROR JSB MOVIT ROUTINE LDA JMP04 SET RELOCATING LDB PJMP1 MODULE TO ADB MODUL RETURN TO STA B,I L073 CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR LDA PJMP2 GO TO ADA MODUL RELOCATING JMP A,I MODULE L073 LDA MODUL JUST ADA B7777 DO CPA .32K MODULE 7? JMP RELOC,I YES.DONE INA BUMP MODUL TO NEXT STARTING ADR. JMP L072 CONTINUE * * MOVES WORD IN A TO POSITIONS IN MODULE UNDER TEST * MOVIT NOP STB TEMP3 SAVE ADDRESS LDB MOVIT MOVE RETURN ADDRESS STB MOV00 TO MOV00 FOR RETURN LDB TEMP3 RESTORE ADDRESS ADB MODUL POINT TO MODULE LOW RSS MOV00 NOP MOVE WORD IN MODULE 0 ONLY STA B,I WRITE IT CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR ADB B4000 POINT TO MODULE HIGH STA B,I WRITE IT CPA B,I VERIFY IT JMP MOV00,I * * PROCESSES RELOCATING MODULE SET UP ERRORS * ERR2 EQU * JSB01 JSB ERROR GO PROCESS ERROR JMP L073 GO SEE IF NEXT 4K WILL SET UP HED TST10-MODULE 0 * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON MODULE 0. USES EXISTING * MODULE 0 CHECK CODE. TST10 EQU * CKMOD NOP LDA JMP03 SET MODULE 0 CHECK STA PJMP1,I LOW TO RETURN TO L100 JMP PJMP2,I GO TO MODULE 0 CHECK L100 JMP CKMOD,I HED TST11-GALLOPING READ RECOVERY * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS BACKGROUND LOCATION,TEST LOCATION,NEXT BACKGROUND * LOCATION,TEST LOCATION,NEXT BACKGROUND LOCATION,ETC. UP * TO THE LAST LOCATION(4095 DECIMAL) IN THE 4K MODULE. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST11 EQU * GALRD NOP LDB B10K START WITH L116 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP GALRD,I NO.DONE L115 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL+7777 L111 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I LOCATION BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL 0<:6 START AT BEGINNING OF MODULE L114 CPB TEMP2 AT TEST LOCATION? JMP L112 YES LDA BACKP NO.VERIFY CPA B,I BACKGROUND JMP *+3 OK JSB ERROR ERROR L112 STO SET READING FLAG LDA TESTP VERIFY CPA TEMP2,I TEST PATTERN JMP *+2 OK JSB ERR1 ERROR CPB TEMP3 DONE 4K MODULE? JMP L113 YES ADB .1 NO.BUMP POINTER JMP L114 CONTINUE L113 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L111 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L115 YES CPB .32K NO.JUST FINISH MODULE 7? JMP GALRD,I YES INB NO.POINT TO NEXT JMP L116 4K MODULE & CONTINUE * * PROCESSES TEST LOCATION ERRORS A~<  24395-18004 1644 S 0122 21MX MEM DG              H0101 * ERR1 NOP STB TEMP4 SAVE B LDB TEMP2 GET FAILING ADDRESS IN B JSB ERROR CALL ERROR ROUTINE LDB TEMP4 RESTORE B JMP ERR1,I HED TST12-LONELY BIT * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS THE 4K MODULE TO VERIFY DATA. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN THE TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST12 EQU * LBIT NOP LDB B10K START WITH L127 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP LBIT,I NO.DONE L126 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH TEST ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL + 7777 L124 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL START AT BEGINNIG OF MODULE L123 CPB TEMP2 AT A TEST LOCATION? JMP L121 YES LDA BACKP NO.EXPECT BACKGROUND L125 CPA B,I VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB TEMP3 DONE CURRENT 4K? JMP L122 YES ADB .1 NO.BUMP POINTER JMP L123 CONTINUE L121 STO SET READING FLAG LDA TESTP EXPECT TEST JMP L125 PATTERN L122 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L124 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L126 YES CPB .32K NO.JUST FINISH MODULE 7? JMP LBIT,I YES INB NO.POINT TO NEXT JMP L127 4K MODULE & CONTINUE HED TST13-EXTENDED INSTRUCTION GROUP * USES MVW(MOVE WORDS) AND CMW(COMPARE WORDS) INSTRUCTIONS TO * WRITE/READ MEMORY TO THE CHECKERBOARD PATTERN IN TST03. * TST13 EQU * EIG NOP L132 LDA LOWER SAVE LDB UPPER TEST STA TEMP2 LIMITS STB TEMP3 LDA B1000 PUT IN LDB B1377 NEW LIMITS STA LOWER FOR TST03 STB UPPER LDA L037 SET TST03 STA TEMP5 TO JUST CLB DO PATTERNS STB L037 OF 125252 LDA PATT4 AND 52525 LDB PATT5 STA BACKP STB TESTP JSB TST03 LDA TEMP5 RESTORE STA L037 TST03 CCA RESTORE STA BACKP PATTERNS CLB STB TESTP LDB TEMP2 RESTORE LDA TEMP3 TEST STB LOWER LIMITS STA UPPER L131 STB TEMP4 SAVE POINTER TO START OF BLOCK ADB B377 START + END OF BLOCK CMB,INB MAKE IT NEGATIVE ADB UPPER END OF BLOCK SSB OVER UPPER LIMIT? JMP L133 YES.DON'T DO IT.GO SEE IF DONE LDA B1000 MOVE DATA BUFFER LDB TEMP4 IN LOCATIONS 1000-1377 MVW B400 TO CURRENT TEST BLOCK LDA B1000 COMPARE DATA IN LDB TEMP4 TEST BLOCK TO DATA CMW B400 IN DATA BUFFER JMP L130 OK STA B ERROR.B=ARRAY 1 ADDRESS ADB M1000 FORM FAILING ADB TEMP4 ADDRESS IN B LDA A,I GET GOOD DATA IN A JSB ERROR GO REPORT ERROR L130 LDB TEMP4 GET CURRENT START OF TEST BLOCK ADB B400 NO.POINT TO JMP L131 NEXT TEST BLOCK L133 LDA PATT4 SWITCH LDB PATT5 PATTERNS SThA PATT5 FOR STB PATT4 CHECKERBOARD CPA PATT6 DONE BOTH? JMP L132 NO.DO COMPLEMENT PATTERNS JMP EIG,I YES.DONE HED TST14-MEMORY PROTECT * WRITES/READS ALL MEMORY UNDER TEST ABOVE AND BELOW THE FENCE. * TST14 EQU * MEMPR NOP LDA FWORD IS MEMORY SLA PROTECT PRESENT? JMP L142 YES H62 HLT 62B NO.HALT TO INFORM USER JMP MEMPR,I SKIP TEST L142 LDB LOWER START AT LOWER LIMIT TEST AREA L143 STB TEMP2 SAVE IT INB SET FENCE AT ONE OTB MP ABOVE CURRENT ADDRESS L141 CLF INT INSURE INTERRUPT SYS. OFF LDA BACKP GET BACKGROUND LDB TEMP2 START AT CURRENT ADDRESS CPB UPPER END OF TEST AREA? JMP MEMPR,I YES.STOP STA B,I NO.WRITE BACKGROUND INB WRITE TEST LDA TESTP PATTERN AT STA B,I FENCE ADDRESS SOS TOGGLE JMP *+3 O-REG CLO FOR RSS USER STO CLC INT CLEAR I/O INTERRUPTS STF INT TURN ON INTERRUPT SYSTEM STC MP TURN ON MEMORY PROTECT CPA B,I VERIFY TEST PATTERN RSS OK L146 JMP ERR3 VIOLATE MP IF ERROR LDA BACKP VERIFY ADB M1 BACKGROUND CPA B,I PATTERN RSS OK L147 JMP ERR3 VIOLATE MP IF ERROR L144 STA B,I VIOLATE MP JMP BADMP NO INTERRUPT.GO TRY TO HALT L140 LDA SAVAD INTERRUPT IN CPA PL144 RIGHT PLACE? JMP L145 YES CPA PL146 NO.WAS THERE AN ERROR? JMP ERR3 YES CPA PL147 JMP ERR3 YES JMP BADMP NO.SOMETHING IS WRONG L145 JSB PCHEK,I DO ANOTHER PATTERN? JMP L141 YES LDB TEMP2 NO.BUMP INB CURRENT JMP L143 ADDRESS * PROCESSES DATA ERRORS WITH MEM^ORY PROTECT ON ERR3 JSB ERROR GO REPORT ERROR JMP L145 GO SEE IF DONE HED TST15-INTERVENTION REFRESH * * 1. WRITES MEMORY UNDER TEST TO A PATTERN OF ALL ONES. * 2. HALTS TO ALLOW MEMORY TO REFRESH ITSELF. OPERATOR PRESSES * RUN. * 3. VERIFIES THE DATA WRITTEN IN MEMORY UNDER TEST. * 4. READS ALL OFF MEMORY,DISREGARDING DATA,TO LOOK FOR PARITY * ERRORS. * 5. REPEATS ENTIRE SEQUENCE WITH ADDITIONAL PATTERNS OF * 000001 AND 177776. * TST15 EQU * IREF NOP LDB MASK2 SUPPRESS JSB SWRCK OPERATOR INTERVENTION? JMP IREF,I YES.SKIP TEST CCA DO JSB PWMEM,I 177777 H60A HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CLA,INA DO JSB PWMEM,I 000001 H60B HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA CMA DO JSB PWMEM,I 177776 H60C HLT 60B HALT FOR REFRESH JSB PRMEM,I GO READ DATA JMP IREF,I HED TST16-DYNAMIC MAPPING SYSTEM * * RUNS CURRENT GROUP OF TESTS ON MEMORY ABOVE BASE MEMORY. * ASSUMES OPERATIONAL DMS HARDWARE & FACTORY INSTALLATION OF * MEMORY * TST16 EQU * DMS NOP LDA LOWER SAVE LDB UPPER CURRENT STA SAVE6 TEST STB SAVE7 LIMITS LDB .32K SET ENDING STB SAVE4 ADDRESS FOR TESTS LDA MSIZE SET AND B76K STARTING ALF PAGE RAL,RAL NUMBER INA OF ONE ABOVE L1601 STA SAVE3 BASE MEMORY CMA,INA SUBTRACT STARTING ADA .M24 PAGE # AND SWAP LDB MAXPG FROM ADB A MAXPG SSB POSITIVE RESULT? JMP L165 NO.IN LAST BLOCK L1604 LDA B10 SWAP IN LDB SAVE3 BLOCK OF LDX SWAP MEMORY XMS CLA ZERO THE LFA BASE PAGE FENjCE SJP *+2 ENABLE SYSTEM MAP LDA TESTS GET TESTS WORD FROM CONTROL XOR BIT14 GET RID OF TST16 SZA,RSS ANY OTHER TESTS? LDA B777 NO.USE DEFAULT SET STA SAVE5 SAVE IT LDA B20K SET LDB SAVE4 TEST STA LOWER LIMITS STB UPPER =SWAP CLB START WITH STB SAVE8 TST00 L166 LDA SAVE5 GET TESTS WORD LDB SAVE8 & TEST # L167 SLA DO TEST? JMP L168 YES INB NO.BUMP TEST # RAR ROTATE TESTS JMP L167 CONTINUE L168 RAR ROTATE CURRENT TEST STA SAVE5 SAVE NEW TESTS STB SAVE8 SAVE TEST # ADB .M16 DONE WITH SSB,RSS TESTS? JMP L169 YES.DONE CURRENT SWAP LDA PTEST GO ADA SAVE8 DO LDA A,I TEST JSB A,I SECTION ISZ SAVE8 BUMP TEST # JSB CKBTS USER SELECTION OR NEW LIMITS? JMP L166 NO.GO DO NEXT TEST L169 LDA SAVE3 BUMP STARTING ADA SWAP PAGE # JMP L1601 GO DO ANOTHER BLOCK L165 ADB SWAP ADD SWAP TO -SUM SSB POSITIVE RESULT? JMP L1600 NO.DONE INB MULTIPLY BLF,BLF # OF PAGES RBL,RBL IN LAST BLOCK ADB M1 BY 2000(OCTAL) & ADB B20K SUBTRACT ONE & STB SAVE4 ADD 20000 FOR NEW LAST WORD JMP L1604 GO DO LAST BLOCK L1600 LDA SAVE6 RESTORE LDB SAVE7 TEST STA LOWER LIMITS STB UPPER DJP DMS,I DISABLE MAPS & RETURN HED MODULE 0 CHECK * PERFORMS THE FOLLOWING TESTS ON ADDRESSES 6 THRU 3777 IN * 400(OCTAL) WORD BLOCKS: * * ONES AND ZEROS/MARCHING ONES AND ZEROS * ADDRESS PARITY * ADDRESS * CHECKERBOARD * * THIS SAME CODE IS MOVED TO LOCATIONS 131-677 AND USED TO * CHECK LOCATIONS 4000-7777. * ORG 4131B MD0CK CLE LDA START START MOVES AT ADDRESS IN START STA SADR SAVE IT FOR ROUTINES LDA START IN LOW SZA BLOCK? CLA,RSS NO CCA SET FLAG FOR THE STA LOWFG LOW 400 BLOCK LDA I4000 STOP 1ST TESTS ADA START AT LOCATION STA EQTST X3777 LDA I10K SET ADA START MODULE 0 LDB PEQTS CHECK TO ADB START START AT STA B,I X4000 LDA I4000 AND STOP ADA START AT X7777 LDB PSADR ADB START STA B,I LP204 LDA I1000 USE LOCATIONS ADA START X1000-X1377 FOR STA IBUFF THE MOVE BUFFER LDB IBUFF DESTINATION STARTING ADDRESS LDA I400 WDCNT STA WDCNT =400 OCTAL LDA SADR START SOURCE ADDRESS JSB IMOVE MOVE TO BUFFER IN 1000-1400 JSB MODCK NOW CHECK AREA MOVED LDA I400 NOW MOVE STA WDCNT OBJECT LDA IBUFF CODE BACK LDB SADR INTO CHECKED JSB IMOVE AREA LDA SADR BUMP TEST ADA I400 AREA 400 CPA EQTST DONE? JMP IL206 YES STA SADR NO.USE NEW SOURCE ADDRESS JMP LP204 DO NEXT BLOCK IL206 LDA PINIT TRANSFER CONTROL ADA START TO MODULE 0 CHECK JMP A,I LOW IN 131-777 SKP * * TESTS CURRENT BLOCK OF MEMORY UNDER TEST AS DEFINED BY * VALUE IN SADR. * MODCK NOP LDA SADR FORM ENDING ADA I377 ADDRESS STA EADR OF TEST LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? LDB IB6 YES.LOWER LIMIT=6 STB SADR NO.USE EXISTING SADR * MARCHING ONES AND ZEROS CLA TEST PATTERN STA ITPAT OF ZEROS CCA BACKGROU ND STA IBPAT PATTERN OF ONES LP206 JSB IBLOC WRITE TEST BLOCK TO DATA IN A LDB SADR START AT 1ST ADDRESS IN BLOCK LP205 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA ITPAT GET TEST PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL200 YES INB NO.BUMP POINTER LDA IBPAT GO BACK TO BACKGROUND JMP LP205 CONTINUE IL200 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB IEROR NO.FATAL MODULE 0 ERROR CLO SET WRITING FLAG LDA IBPAT NOW USE BACKGROUND PATTERN STA B,I WRITE IT CPA B,I READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB SADR DONE? JMP IL201 YES.GO CHECK FOR OTHER PATTERNS ADB IM1 DECREMENT POINTER LDA ITPAT GO BACK TO TEST PATTERN JMP IL200 CONTINUE IL201 JSB CHKPT DO ANOTHER PATTERN? JMP LP206 YES SKP * ADDRESS PARITY TESTS * LP208 CLO SET WRITING FLAG LP209 LDB SADR START AT 1ST BLOCK ADDRESS LP213 LDA I.M16 SET STA ITEMP COUNTER=-16DECIMAL STB A ADDRESS IN A CLE CLEAR BIT FLAG LP207 RAR,SLA ADDRESS BIT SET? CME YES.TOGGLE BIT FLAG ISZ ITEMP NO.DONE? JMP LP207 NO SEZ EVEN # OF BITS? JMP IL205 NO.ODD # LDA IBPAT YES.USE BACKGROUND PATTERN IL207 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL209 YES INB NO.BUMP POINTER JMP LP213 CONTINUE IL205 LDA ITPAT USE TEST JMP IL207 PATTERN IL209 SOC JUST FINISHED WRITING? JMP IL208 NO.GO CHECK FOR MORE PATTERNS STO YES.GO BACK AND JMP LP209 READ THIS TIME IL208 JSB CHKPT DO ANOTHER PATTERN? JMP LP208 YES SKP * ADDRESS TESTS * LP212 CLO SET WRITING FLAG LP211 LDB SADR START AT 1ST ADDRESS IN BLOCK LP210 LDA ITPAT USE ADDRESS OR SZA COMPLEMENT ADDRESS? JMP IL211 COMPLEMENT ADDRESS LDA B USE ADDRESS JMP IL210 IL211 LDA B GET ADDRESS CMA COMPLEMENT IT IL210 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL212 YES INB BUMP POINTER JMP LP210 CONTINUE IL212 SOC JUST FINISH WRITING? JMP IL213 NO.GO SEE IF DONE STO YES.GO BACK JMP LP211 AND READ THIS TIME IL213 LDA ITPAT DO BOTH ADDRESS AND INA,SZA,RSS COMPLEMENT ADDRESS TESTS? JMP IL214 YES CCA NO.SET ITPAT STA ITPAT TO USE COMPLEMENT ADDRESS JMP LP212 GO BACK & DO COMPLEMENT ADDRESS IL214 STA ITPAT RESTORE TEST PATTERN TO ZEROS SKP * CHECKERBOARD TESTS * LDA PITBL POINT TO STA PTBL1 PATTERN TABLE LDA PTBL1,I GET PATTERN ENTRY STA IPATT PUT IT IN PATTERN VALUE LP215 CLO SET WRITING FLAG LP214 LDB SADR START AT 1ST ADDRESS IN BLOCK LP219 STB A GET ADDRESS IN A AND IPATT ARE EITHER OF SZA,RSS THE PATTERN BITS SET? JMP IL215 NO CPA IPATT YES.ARE BOTH BITS SET? JMP IL215 YES LDA ITPAT NO.USE TEST PATTERN JMP IL216 IL215 LDA IBPAT USE BACKGROUND PATTERN IL216 SOS WRITING? STA B,I YES CPA B,I NO.READ & COMPARE IT RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE? JMP IL217 YES INB NO.BUMP POINTER JMP LP219 CONTINUE IL217 SOC JUST FINISH WRITING? JMP IL218 NO.GO SEE IF DONE STO YES.GO BACK JMP LP214 AND READ IL218 JSB CHKPT DO ANOTHER PATTERN? JMP LP215 YES ISZ PTBL1 ANY MORE LDB PTBL1,I ENTRIES IN THE INB,SZB PATTERN TABLE? JMP IL218 YES.GO BACK AND DO IT LDA LOWFG TESTING LDB SADR IN THE SZA LOW BLOCK? CLB YES.RESTORE SADR TO 0 STB SADR NO.USE EXISTING SADR CLA ONLY TEST LOW STA LOWFG BLOCK ONCE JMP MODCK,I HED CHKPT * * SETS UP BACKGROUND AND TEST PATTERNS IN IBPAT AND ITPAT * RESPECTIVELY,BASED ON THE DATA IN IBPAT. * * ENTRY VALUE OF IBPAT EXIT VALUES OF IBPAT,ITPAT & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * CHKPT NOP LDA IBPAT GET BACKGROUND PATTERN IN A INA,SZA JUST DO BACKGROUND OF ONES? JMP IL202 NO.MUST BE 1 OR 3 STA IBPAT YES.MAKE IT ZEROS CCA MAKE TEST STA ITPAT PATTERN ONES CLA EXIT WITH BACKGROUND IN A JMP CHKPT,I IL202 SLA,RSS JUST DO 000000? JMP IL203 NO.MUST HAVE BEEN 2 STA IBPAT YES.BACKGROUND=000001 JMP CHKPT,I IL203 CPA IB4 JUST DO 3? JMP IL204 YES CCA TEST ADA IM1 PATTERN STA ITPAT =177776 LDA IB3 A=000003 <:6 STA IBPAT BACKGROUND=3 JMP CHKPT,I IL204 CLA TEST STA ITPAT =000000 CCA BACKGROUND STA IBPAT =177777 ISZ CHKPT POINT TO P+2 JMP CHKPT,I HED IBLOC,IEROR * * WRITES TEST BLOCK TO DATA IN A. * VERIFIES DATA WRITTEN. * IBLOC NOP CLO SET WRITING FLAG LP217 LDB SADR START AT 1ST ADDRESS IN BLOCK LP216 SOS WRITING? STA B,I YES CPA B,I NO.READ AND COMPARE DATA RSS OK JSB IEROR FATAL MODULE 0 ERROR CPB EADR DONE WITH LOOP? JMP IL219 YES INB NO.BUMP POINTER JMP LP216 CONTINUE IL219 SOC JUST FINISH WRITING? JMP IBLOC,I NO.MUST BE DONE STO YES.GO BACK & JMP LP217 READ DATA * * PROCESSES ERRORS FOR MODULE 0 CHECK * IEROR NOP STB ITEMP SAVE ADDRESS LDB B,I GET BAD DATA IN B E104A OCT 106004 MODULE 0 HAS FAILURE LDA ITEMP GET FAILING LDB ITEMP ADDRESS IN A & B E105A OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE HED IPAR * * PROCESSES PARITY ERROR INTERRUPTS FOR INIT * IPAR EQU * NOP STA ITEMP SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP IL220 YES.OK E102C OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE IL220 AND I.32K MASK OFF BIT 15 STA ISTOR SAVE ADDRESS CMA,INA MAKE IT - ADA LLIM IS THE FAILING K <  24395-18005 1644 S 0122 21MX MEM DG              H0101  ADA START ADDRESS LOCATED SSA ABOVE X4777? JMP P.OK YES.OK LDA START NO.NOW CMA,INA CHECK ADA HLIM BELOW X4000 ADA ISTOR FAILING ADDRESS SSA IN INIT? JMP P.OK NO.OK IL221 LDA ISTOR YES.GO DIRECTLY TO E101 LDB ISTOR BAD ADDRESS IN A&B E101B OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE P.OK LDA ITEMP RESTORE A LDB ISTOR,I GET BAD DATA E116B OCT 106016 PARITY ERROR DURING INIT JMP IL221 GO SHOW ADDRESS HED CONSTANTS,LINKS & STORAGE FOR MOD 0 CHECK IB1 OCT 1 IB3 OCT 3 IB4 OCT 4 IB6 OCT 6 PINIT DEF LP204-PAGE POINT TO LOW TRANSFER POINT I377 OCT 377 I400 OCT 400 PEQTS DEF EQTST-PAGE POINTER TO EQTST LOW PSADR DEF SADR-PAGE POINTER TO SADR LOW I1000 OCT 1000 I1001 OCT 1001 I4000 OCT 4000 PITBL DEF ITBL LINK TO TABLE OF VENDOR PATTERNS I10K OCT 10000 I.32K DEC 32767 I.M16 DEC -16 EADR BSS 1 LAST ADDRESS TESTED IN BLOCK EQTST BSS 1 STOP TESTS AT EQTST-1 IBPAT BSS 1 BACKGROUND PATTERN HLIM BSS 1 -HIGH LIMIT TO PARITY ERRORS IBUFF BSS 1 START BUFFER ADDRESS POINTER IPATT BSS 1 STORAGE FOR CHECKERBOARD PATTERN ISTOR BSS 1 STORAGE FOR INIT ITEMP BSS 1 STORAGE FOR INIT ITPAT BSS 1 TEST PATTERN LLIM BSS 1 LOW LIMIT TO PARITY ERRORS LOWFG NOP ALL 1'S WHEN TESTING LOW BLOCK PTBL1 BSS 1 STORAGE FOR PATTERN POINTER SADR BSS 1 STARTING SOURCE ADDRESS FOR MOVE START NOP START WITH START=0 DEST1 BSS 1 DESTINATION DEST2 BSS 1 POINTERS IREG BSS 1 STORAGE FOR A-REG SORCE BSS 1 1ST SOURCE ADDRESS WDCNT BSS 1 POSITIVE WORD COUNT WCNT1 BSS 1 NEGATIVE WORD COUNT WCNT2 BSS 1 NEGATIVE WORD COUNT * * CHECKERBOARD PATTERN TABLE * ITBL EQU * OCT 101 M0 EOR M-I6(TI 4030,4050) IM1 OCT 177777 END OF TABLE FLAG & -1 HED IMOVE * MOVES SEGMENT OF MEMORY BASED ON CALLING SEQUENCE. ALL MOVES * ARE VERIFIED. ERRORS HERE ARE FATAL. * * CALLING SEQUENCE: * * LDB ADDRESS OF 1ST WORD OF DESTINATION * LDA POSITIVE WORD COUNT * STA WDCNT * LDA ADDRESS OF 1ST WORD OF SOURCE * JSB MOVE * IMOVE NOP STB DEST1 DESTINATION ADDRESS IN POINTER STB DEST2 SAVE IT STA B SOURCE ADDRESS IN B STA SORCE SAVE IT LDA WDCNT MAKE WORD CMA,INA COUNT NEGATIVE STA WCNT1 SAVE STA WCNT2 IT STA IREG SAVE IT FOR 0-377 CASE LP200 LDA B,I GET SOURCE WORD CPB IB1 MOVING LOCATION 1? LDA I1001 YES.SET UP B FOR RESTORE MOVE STA DEST1,I MOVE FIT TO DESTINATION ISZ WCNT1 DONE? RSS JMP MOVE1 YES SSB SOURCE ADDRESS OK? JMP E112A NO.ADDRESS WENT OVER 32K LDA DEST1 DESTINATION SSA ADDRESS OK? JMP E112A NO INB BUMP SOURCE POINTER ISZ DEST1 BUMP DESTINATION POINTER JMP LP200 E112A OCT 106012 PROGRAM PROBABLY BOMBED JMP *-1 IRRECOVERABLE MOVE1 LDA IREG RESTORE A IN CASE OF 0-377 MOVE LDB SORCE SOURCE ADDRESS IN B LP201 LDA B,I GET SOURCE WORD CPB IB1 CHECKING LOCATION 1? LDA I1001 YES.KEEP B = 1 CPA DEST2,I DESTINATION WORD OK? RSS JMP IERR NO. FATAL ISZ WCNT2 DONE? RSS JMP IMOVE,I YES INB BUMP ISZ DEST2 POINTERS JMP LP201 IERR EQU * LDB DEST2 GET BAD ADDRESS IN B JSB IEROR FATAL MODULE 0 ERROR PM0CK JMP PL073,I RETURN FOR TST07 MOVES * * CHECK CURRENT TEST AREA LIMITS TO SEE IF THEY ARE ON 4K * BOUNDARIES FOR THE 4K ORIENTED TESTS * * RETURNS P+1 IF< BOTH LIMITS ON 4K BOUNDARIES * RETURNS P+2 IF NOT * CHK4K NOP LDA LOWER DOES THE LOWER AND B7777 LIMIT HAVE SZA 1'S IN BITS 0-11? JMP L620 YES.RETURN P+2 LDA UPPER NO.DOES THE UPPER AND B7777 LIMIT HAVE ANY CPA B7777 0'S IN BITS 0-11? JMP CHK4K,I NO.OK L620 ISZ CHK4K YES.RETURN JMP CHK4K,I P+2 HED CHECK * SETS UP BACKGROUND AND TEST PATTERNS IN BACKP AND TESTP * RESPECTIVELY BASED ON CURRENT BACKP. * * ENTRY VALUE OF BACKP EXIT VALUES OF BACKP,TESTP & RETURN * * 177777 000000,177777,P+1 * 000000 000001,177777,P+1 * 000001 000003,177776,P+1 * 000003 177777,000000,P+2 * CHECK NOP LDA BACKP GET BACKGROUND IN A INA,SZA JUST DO A BACKGROUND OF 1'S? JMP L604 NO STA BACKP YES.MAKE IT 0'S CCA MAKE TEST STA TESTP PATTERN 1'S JMP CHECK,I L604 SLA,RSS JUST DO BACKGROUND OF 0'S? JMP L605 NO STA BACKP YES.MAKE BACKP=000001 JMP CHECK,I L605 CPA B4 JUST DO BACKGROUND OF 000001? JMP L606 NO.MUST BE DONE CCA YES.MAKE ADA .M1 TESTP STA TESTP = 177776 LDA B3 BACKP STA BACKP =000003 JMP CHECK,I L606 CLA RESTORE TESTP STA TESTP TO 0'S CCA RESTORE BACKP STA BACKP TO 1'S ISZ CHECK RETURN JMP CHECK,I P+2 HED CHKMD * * CHECKS TO SEE IF 4K MODULE(S) WITHIN TEST LIMITS DEFINED * BY UPPER AND LOWER. * * CALLING SEQUENCE: * * JSB CHKMD * RETURN P+1 IF 4K MODULE NOT COMPLETELY WITHIN TEST LIMITS * RETURN P+2 IF 4K MODULE WITHIN TEST LIMITS * CHKMD NOP LDA LOWER LOOKING IN SZA,RSS MODULE 0? JMP CHKMD,I YES.DONE L607 LDA LOWER IS MODUL CMA,INA BELOW ADA MODUL LOWER SSA,RSS LIMIT? JMP L608 NO.GO SEE ABOUT UPPER LIMIT LDA MODUL YES.IS MODUL CPA B70K IN MODULE 7? JMP CHKMD,I YES.DONE ADA B10K NO.BUMP STA MODUL MODUL 4K JMP L607 TRY AGAIN L608 LDA MODUL IS END OF ADA B7777 MODUL CMA,INA ABOVE ADA UPPER UPPER SSA LIMIT? JMP CHKMD,I YES.DONE ISZ CHKMD NO.RETURN JMP CHKMD,I P+2 HED RMEM * * READS MEMORY UNDER TEST FOR DATA IN A * * CALLING SEQUENCE: * * LDA DATA * JSB PRMEM,I * RMEM NOP LDB LOWER START AT LOWER LIMIT TEST AREA STO SET READING FLAG L623 CPA B,I VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE? JMP L621 YES.GO READ ALL MEMORY INB NO.BUMP POINTER JMP L623 CONTINUE L621 CLB START AT 0 L624 CPA B,I READ NOP IT CPB MSIZE DONE? JMP RMEM,I YES INB NO.BUMP POINTER JMP L624 CONTINUE HED WRMEM * WRITES/READ MEMORY UNDER TEST TO DATA IN A * * CALLING SEQUENCE: * * LDA DATA * JSB WRMEM * WRMEM NOP CLO SET WRITING FLAG L602 LDB LOWER START AT LOWER LIMIT TEST AREA L600 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L601 YES INB NO.BUMP POINTER JMP L600 CONTINUE L601 SOC DONE WRITING & READING? JMP WRMEM,I YES STO NO.SET READ FLAG JMP L602 DO TEST AREA AGAIN HED ERROR TABLE ENTRY ROUTINE * * ENTER ERRORS IN ERROR TABLE *  ENTRY LDA BERR ERROR ADA M10K LOCATED ADA M10K ABOVE SSA 17777? JMP L626 NO.GO HALT LDB PSTBL YES.INITIALIZE STB TEMP9 SUMMARY POINTER LDB PETBL START AT 1ST MOD. OF ERROR TABLE L627 ADA M10K ERROR IN SSA NEXT MODULE? JMP L628 YES ADB B24 BUMP POINTER BY A MODULE ISZ TEMP9 BUMP SUMMARY POINTER JMP L627 CONTINUE L628 CLA CLEAR ERRORS-PER- STA CNTR1 MODULE(EPM) COUNTER L630 CPA B,I ALREADY HAVE AN ERROR? JMP L629 NO.GO MAKE AN ENTRY ISZ CNTR1 BUMP EPM COUNTER ADB B3 YES.ALREADY HAVE LDA B,I AN ERROR ARS,ARS ENTRY STA SAVE1 IN THIS LDA MERR 4K MEMORY ARS,ARS MODULE? CPA SAVE1 JMP L643 YES.GO CHECK ADDRESS ADB B2 POINT TO NEXT ENTRY LDA CNTR1 THIS MODULE CPA B4 FULL? JMP L626 YES.GO HALT CLA JMP L630 CONTINUE L643 ADB M3 ARE THE LDA PERR ADDRESSES CPA B,I EQUAL? JMP L631 YES.GO BUMP COUNTER JMP L632 NO.SKIP THIS ERROR L629 LDA PERR ENTER FAILING STA B,I ADDRESS INB LDA AERR ENTER STA B,I DATA WRITTEN INB LDA BERR,I ENTER STA B,I DATA INB READ LDA MERR ENTER ONES STA B,I OR PAGE # INB ISZ B,I SET ERROR COUNTER TO 1 LDA CNTR1 BUMP EPM INA COUNTER AND STA TEMP9,I UPDATE SUMMARY TABLE JMP L632 CONTINUE PROGRAM L631 ADB B4 JUMP BUMP ISZ B,I ERROR COUNTER JMP L632 CONTINUE PROGRAM CCA STICK COUNTER STA B,I AT ALL ONES JMP L632 CONTINUE PROGRAM HED ~$"DEBNC,RENTR * * DEBOUNCES S-REG * DEBNC NOP LIA SWREG SAVE STA TEMP9 S-REG CCE CLEAR DELAY FLAG L644 CLA ANY OTA SWREG BITS LIA SWREG STILL SZA,RSS ON? JMP L645 NO.TRY ONES CLE YES.SET DELAY FLAG JMP L644 TRY AGAIN L645 CCA NO.ANY OTA SWREG BITS LIA SWREG STILL ISZ A OFF? CLE,RSS YES.SET DELAY FLAG JMP L648 NO.SEE IF DONE JMP L645 TRY AGAIN L648 SEZ DELAY? JMP L653 NO INA,SZA YES.DELAY APPROXIMATELY JMP *-1 315 MILLISECONDS JMP L644-1 GO PASS AGAIN L653 LDA TEMP9 RESTORE OTA SWREG S-REG JMP DEBNC,I * * RESERVES LOCATIONS 6177-7377 TO SAVE THE CONFIGURATOR * (IF MEMORY SIZE>4K) * ORG 6177B SCONF BSS 1200B PEND EQU * END VW$   24395-18006 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 dASMB,A,B,L,C HED MICROCODED MEMORY DIAGNOSTIC (DSN 102006) ORG 0 JANUARY 4, 1977 DATE CODE 1644 SUP * GENERAL OPERATING PROCEDURE * * A. LOAD DIAGNOSTIC CONFIGURATOR AND SET IT UP. * B. LOAD DIAGNOSTIC MAIN PROGRAM * C. LOAD ADDRESS 100B. * D. LOAD SWITCH REG. WITH SELECT CODE AND OPTIONS * E. PRESS RUN AND WAIT FOR HALT 102074. * F. LOAD SWITCH REGISTER * IF SET =: * 15 = HALT AT END OF EACH TEST * 14 = SUPRESS ERROR HALTS * 13 = LOOP ON LAST TEST * 12 = LOOP ON DIAGNOSTIC * 11 = SUPRESS ERROR MESSAGES * 10 = SUPRESS NON-ERROR MESSAGES * 9 = GO TO USER CONTROL SECTION * AT END OF PRESENT TEST * 8 = RESERVED * 7 * = MEMORY UNDER TEST 4K BLOCK NO. (DISPLAY ONLY) * 0 * * NOTE: STANDARD RUN SHOULD BE WITH SW. REG. = 0 * USER CONTROL WILL ASK FOR A 16 BIT WORD. * EACH BIT WILL = 1 TEST * * G. PRESS RUN. * H. RESTART - LOAD ADDRESS 2000B * I. RECONFIGURE IF TESTING I/O INTERFACE - LOAD ADDRESS 100B * * PROGRAM HALTS * * 102077 END OF DIAG (A = PASS COUNT) * 102076 END OF TEST (A = TEST #) * 102075 USER SELECTION REQUEST * 102074 SELECT CODE INPUT COMPLETE * 102073 USER SELECT CODE ERROR * 102072 INCORRECT COMPUTER TYPE (CAN'T BE USED) * 102071 WCS NOT LOADED CORRECTLY * 102070 RESERVED * * 1020XX ERROR HALTS * * 106077 TRAP CELL HALT * SKP * CONFIGURATOR LINKAGE TABLE A EQU 0 A REGISTER REFERENCE B EQU 1 B REGISTER REFERENCE SW EQU 1 SWITCH REGISTER REFERENCE INTP EQU 0 INTERRUPT CHANNEL REFERENCE WCS EQU 10B WCS SELECT CODE * ORG 2B * OCT 106077 DEF PERR LINK TO PARITY ERROR ROUTINE OCT 106077 JSB 3B,I GO TO PARITY ERROR ROUTINE REP 14 OCT 106077,106077,106077,106077 OCT 106077,106077 JMP 130B GO TO CONFIGURATION SECTION BSS 1 RESERVED BSS 1 CONSOLE OUTPUT DRIVER BSS 1 LINE PRINTER DRIVER BSS 1 CONSOLE INPUT DRIVER DEF FWAA FIRST WORD OF AVBL. MEMORY LWAA BSS 1 LAST WORD OF AVBL. MEMORY BSS 1 RESERVED BY CONFIGURATOR BSS 1 RESERVED BY CONFIGURATOR BSS 4 SC FOR CONFIGURATOR DRIVERS CPTO BSS 1 COMPUTER TYPE/OPTIONS USSC BSS 1 USER CARD TYPE AND SELECT CODE MEMO BSS 1 MEMORY SIZE AND TYPE BSS 1 RESERVED BSS 1 1 MILL SEC TIMER BSS 1 CONFIGURATOR SWITCH CK PTR BSS 1 INTEGER TO ASCII CONVERSION BSS 1 OCTAL TO ASCII CONVERSION BSS 1 ASCII CONVERSION DSN OCT 102006 DIAGNOSTIC SERIAL NUMBER BSS 1 FORMATTER (IN CONFIGURATOR) SKP * CONFIGURATION SECTION * CONF CLC INTP,C TURN I/O SYSTEM OFF LIA SW GET SELECT CODE AND OPTIONS STA USSC SAVE THEM AND B77 ELIMINATE OPTIONS LDB A CMB,INB CHECK THAT SC > 7 ADB B7 SSB ? JMP *+3 OK GO ON E073 HLT 73B NO JMP CONF TRY AGAIN LDB IOIP INITIALIZE TEST I/O STA SAVA SAVE SELECT CODE STB SAVB SAVE TABLE ADDRESS IOL LDB SAVB,I GET ADDRESS OF LOCATION CPB BM1 IS IT THE TERMINATOR JMP MCF YES CONTINUE LDA B,I NO - GET CONTENTS AND IOM MASK OFF OLD SELECT CODE IOR SAVA ADD IN NEW SELECT CODE STA B,I RESTORE IT ISZ SAVB s  MOVE TO NEXT ADDRESS JMP IOL DO IT MCF LDA CNSLO CHECK IF ALREADY MOVED SZA ?? JMP MCF0 YES SKIP RELOCATION LDA LWAA SAVE CONFIGURATOR ROUTINES AND B7777 LDB A LDA LWAA MVW MCCT LDA 102B SET CONSOLE LINK TO 4K AREA AND B7777 STA CNSLO LDA 124B AND CONVERSION PROGRAM AND B7777 STA O2AS MCF0 LDB CPTO CHECK WHICH MICROCODE TO USE SSB,RSS E072 HLT 72B WRONG COMPUTER TYPE BLF LDA MX.MC GET 21MX-M MICROCODE POINTER SLB MX-M OR MX-E? LDA MX.EC 21MX-E MICROCODE POINTER STA SAVA SAVE PONTER STA TMP LDA MXCC SET MICROCODE TRANSFER COUNT STA SAVB LDA USSC CHECK WHICH INTERFACE IT IS SSA JMP QKWCS IT'S 256 SMALL WCS SKP WCS00 CLC WCS PUT INTERFACE IN COMMAND LDA SAVA,I GET STARTING ADDRESS ISZ SAVA WCS01 OTA WCS LDA SAVA,I GET MODULE NUMBER WCS02 OTA WCS GIVE IT TO INTERFACE WCS03 STC WCS PUT INTF IN DATA MODE ISZ SAVA MOVE UP TO NEXT MICRO INSTRUCTION LDA SAVA,I WCS04 OTA WCS ISZ SAVB DONE LOADING? JMP *-4 NO LDA TMP RESTORE POINTER STA SAVA LDA MXCC STA SAVB AND COUNT WCS05 CLC WCS PUT INTF IN COMMAND STATE LDA SAVA,I GET STARTING ADDRESS ISZ SAVA WCS06 OTA WCS OUTPUT ADDRESS WCS07 STC WCS PUT INTF IN DATA STATE ISZ SAVA SKIP MODULE NUMBER WCS08 LIA WCS CPA SAVA,I IS IT ALRIGHT? JMP *+3 E071 HLT 71B NO BAD WCS INTERFACE JMP CONF START AGAIN ISZ SAVB DONE CHECKING? JMP *-7 NO JMP CFCMP CONFIGURATION COMPLETE SPC 4 QKWCS SLB,RSS IS THIS A 21MX-E? JMP *+3 YES OK E070 HLT 70B NO THEN STOP HERE JMP CONF TRYY AGAIN WCS18 CLC WCS IF ERROR SET 1K TO MOD 17 17 CCA WCS19 OTA WCS WCS20 OTA WCS ISZ SAVA SKIP ADDRESS ISZ SAVA AND MODULE NUMBER SKP CLA SET STARTING ADDRESS STA HIADD QKLPW LDA HIADD GET ADDRESS ALF,ALF MOVE TO UPPER BYTE IOR SAVA,I GET LOWER BYTE FROM BUFFER ISZ SAVA MOVE TO NEXT WORD LDB SAVA,I ISZ SAVA WCS09 STF WCS SET DIRECTION (OUT) WCS10 OTA WCS OUTPUT MSB WCS11 OTB WCS AND LSB WCS12 STC WCS ENABLE DATA TO RAMS ISZ HIADD MOVE TO NEXT ADDRESS ISZ SAVB ISZ SAVB DONE LOADING? JMP QKLPW NO LDA TMP RESTORE POINTER FOR VERIFICATION INA INA STA SAVA LDA MXCC RESET COUNT STA SAVB CLA SET ADDRESS TO 0 STA HIADD QKLPR LDA HIADD GET ADDRESS ALF,ALF PUT IN UPPER BYTE WCS13 STF WCS SET DIR FF WCS14 OTA WCS OUTPUT ADDRESS WCS15 STF WCS RESET DIR FF WCS16 LIA WCS GET MSB WCS17 LIB WCS AND LSB AND B377 MASK OFF ADDRESS CPA SAVA,I FIRST OK? JMP *+3 HLT 71B BAD WCS JMP CONF TRY AGAIN ISZ SAVA MOVE TO NEXT WORD CPB SAVA,I IS IT OK? JMP *+3 HLT 71B NO JMP CONF TRY AGAIN ISZ SAVA ISZ HIADD ISZ SAVB ISZ SAVB DONE CHECKING? JMP QKLPR NO JMP CFCMP YES CONFIGURATION COMPLETE SKP * CHECK TO SUPPRESS ERROR HALTS * HLTS NOP ENTRY STA SAVA SAVE A REG STB SAVB AND B REG STX SAVX AND X REG STY SAVY AND Y REG LDB SW11 CHECK TO SUPPRESS ERROR MESSAGES JSB SWRT JMP HLTS0 YES SKIP OUTPUT LDA D21 OUTPUT TITLE LDB HLTS,I GET MESSAGE POINTER ISZ HLTS SKIP OVER POINTER j JSB CNSLO,I LDA HLTS,I GET HALT CODE ISZ HLTS IOR SFTER SOFT ERROR FLAG STA HLT CLE CONVERT NUMBERS LDA SAVA LDB DACT JSB O2AS,I DATA READ CLE LDA SAVB LDB DEXP JSB O2AS,I DATA WRITTEN LDA SAVX ELA,CLE,ERA CLEAR BIT 15 LDB DADD CLE JSB O2AS,I DATA ADDRESS LDA SAVY ELA,CLE,ERA CLEAR BIT 15 LDB DPTAD CLE JSB O2AS,I TEST PAT ADD CCE LDA MOD GET MODULE NO. LDB DMOD JSB O2AS,I CONVERT MODULE NUMBER LDA MSGM+3 STA MSG2+12 STA MSG3+12 LDA MSGM+2 STA MSG2+11 STA MSG3+11 SKP LDA SFTER CHECK SOFT ER FLAG CLE,SZA CCE LDA CMSG0 GET MESSAGE COUNT ADA G.R.F ADD COUNT IF IN GAL.READ SEZ SOFT ERROR? ADA CMSG1 YES ADD COUNT LDB DMSG0 SEZ SOFT ERROR LDB DMSG1 YES GET DIFFERENT POINTER JSB CNSLO,I JMP *+3 * HLTS0 ISZ HLTS ISZ HLTS LDB SW14 CHECK SWR BIT 14 TO SUPPRESS JSB SWRT HALT JMP HLTS1 SKIP HALT INSTRUCTION JSB SWDB DEBOUNCE S-REG. LDA SAVX CONVERT ADDRESS AND B7777 CAX PUT IT IN X LDY SAVY LDA SAVA LDB SAVB HLT NOP CLA STA SFTER CLEAR SOFT ERROR FLAG HLTS1 LDA SAVA RESTORE A & B LDB SAVB LDX SAVX AND X LDY SAVY AND Y JMP HLTS,I RETURN TO CALLER * * * DACT DEF MSG0+12 DEXP DEF MSG1+12 DADD DEF MSG2+12 DPTAD DEF MSG3+12 DMOD DEF *+1 MSGM ASC 4,XXXXXXX CMSG0 DEC 96 CMSG1 DEC 12 DMSG0 DEF MSG0-1 DMSG1 DEF *+1 ASC 06, SOFT ERROR OCT 6412 MSG0 ASC 15,ACTUAL DATA (READ) XXXXXX OCT 6412 MSG1 ASC 15,EXPECTED DATA (WRITTEN) XXXXXX OCT 6412 MSG2 TASC 15,ADDR OF DATA FAILURE YYY ZZZZ OCT 6412 MSG3 ASC 15,TEST CELL ADDRESS YYY ZZZZ SKP * SWITCH REGISTER CHECK * SWRT NOP STA SWRTA SAVE A REGISTER LIA SW GET SWITCH REG. AND B MASK OUT BIT SZA,RSS IS IT UP? ISZ SWRT NO LDA SWRTA RESTORE A REGISTER LIB SW LET B = SWITCH REGISTER JMP SWRT,I RETURN TO CALLER * SWRTA NOP * * SWDB NOP STA SWDBA SAVE A-REG. STB SWDBB SAVE B-REG. SWDB0 LDA SWDBC SET LOOP COUNT STA SWRT LIB SW GET CURRENT S-REG. LDA B CMA OTA SW LIA SW OTB SW CMA CPA B ANY BUTTONS HELD? RSS NO JMP SWDB0 YES WAIT FOR RELEASE ISZ SWRT WAITED LONG ENOUGH? JMP SWDB0+2 NO CHECK AGAIN LDA SWDBA RESTORE A-REG. LDB SWDBB RESTORE B-REG. JMP SWDB,I RETURN * SWDBA NOP SWDBB NOP SWDBC DEC -100 SKP TSTR NOP LDA TSTR,I GET MACRO INSTRUCTION TO BE EXECUTED STA MACRO ISZ TSTR LDA TSTR,I GET MESSAGE POINTER STA TSTMS ISZ TSTR LDA TSTR,I GET HALT CODE STA TSTEX ISZ TSTR LDA LOADD GET STARING ADDRESS CAX PUT IT IN X LDA HIADD AND ENDING ADDRESS CAY PUT IT IN Y LDB BG GET BACKGROUND LDA TP AND TEST PATTERN IF APP WCSSF STF WCS TURN ON WCS MACRO NOP WCSCF CLF WCS TURN OFF WCS STA SAVA SAVE ACTUAL DATA CXA PUT X REG IN TO A REG SSA IS THIS AN ERROR? JMP TSTER YES CYA PUT Y REG IN A REG SSA,RSS IS THIS OPERATOR INTERRUPT? JMP TSTR,I NO THEN COMPLETE TSTRN LIA SW ABORT? ALF,ALF RAR,SLA JMP .USR,I YES CXA CLEAR BIT 15 IN X REG  ELA,CLE,ERA CAX STA SAVA CYA NOW DO THE Y REG ELA,CLE,ERA CAY CPA HIADD LAST ADDRESS XOR SAVA SZA,RSS ? JMP TSTR,I YES LDA MACRO CHECH IF GAL READ REENTER CPA MACGL ?? LDA MACGR YES GET DIFFERENT MACRO STA MACRO CPA MACGR IS THIS A RETURN TO GAL.READ? RSS YES DONT UPDATE X REG ISX UPDATE X-REG. JMP MACRO-1 CONTINUE EXECUTION * TSTER LDA SAVA RESTORE A REGISTER JSB HLTS REPORT ERROR TSTMS NOP TSTEX NOP SET TO ERROR HALT JMP TSTRN CONTINUE SKP * PARITY INTERRUPT ROUTINE * PERR NOP STA PERRS SAVE A REGISTER LIA 5B GET VIOLATION ADDRESS SSA IS THIS A PARITY ERROR JMP *+3 E067 HLT 67B NO JMP PEREX JUST SKIP IT ELA,CLE,ERA CPA PERRA SAME ERROR? JMP PERR0 YES STA PERRA NO SAVE ADDRESS LDA PERR SAVE RETURN ADDRESS STA PERTN CYA PUT TEST PATTERN ADDRESS IN A CPB BG IS THIS THE BACKGROUND? CXA YES GET BG ADDRESS ELA,CLE,ERA CLEAR BIT 15 (IF NECESSARY) CPA PERRA DOES ADDRESS AGREE WITH TEST ADDRESS JMP *+4 YES LDA PERRA GET PARITY ERROR ADDRESS E066 HLT 66B TELL OPERATOR JMP *-1 NOT RECOVERABLE STB A,I TRY STORING IT AGAIN STF 5B ENABLE PERR AGAIN LDA A,I READ IT AGAIN LDA SW11 SET SOFT ERROR FLAG STA SFTER * PERR0 LDA PERRS GET ORIGINAL ERROR DATA CPA B IS IT DATA OR PARITY CHIP RSS JMP PEREX DATA ERROR CONTINUE JSB HLTS DEF EM65 E065 HLT 65B PARITY CHIP CXA CLEAR ERROR BIT IN X ELA,CLE,ERA CAX CYA ADD BIT TO Y IOR SW15 wCAY PEREX CLA STA PERRA STF 5B ENABLE PARITY INTERRUPTS AGAIN LDA PERRS RESTORE A-REG. JMP *+1,I RETURN TO CONTINUE TESTING * PERTN NOP PERRA NOP PERRS NOP EM65 ASC 10,E065 PRTY CHIP ERROR OCT -1 SKP * SET 4K MEMORY BLOCK TO BE TESTED * ALSO SETS DMS (IF AVAILABLE) * TBLK NOP LDB SW9 CHECK FOR ABORT JSB SWRT JMP .USR,I YES ABORT SZA FIRST TIME? JMP TBLK3 NO DO NEXT BLOCK STA SYMPG CLEAR DMS FLAG LDA USADD IS USER IN MEMORY EXPANSION AND B370 SZA,RSS AREA?? JMP TBLK0 NO LDA USADD YES GET MODULE NUMBER AND B377 RAL,RAL MOVE TO BLOCK ADA BM1 MOVE BACK ONE STA SYMPG PUT IT IN SYSTEM MAP AREA JMP TBLK4 TBLK0 LDA USADD GET USER BLOCK ALF,ALF ALF AND B70K SZA,RSS IF 0 START WITH SECOND PAGE LDA B10K YES START AT 8K TBLK2 LDB A SET UPPER IOR B7777 LIMIT STA HIADD SAVE HIGH LIMIT STB LOADD AND LOW LIMIT BLF,RBL UPDATE S-REG. FOR DISPLAY RBL LDA SYMPG IN DMS? SZA LDB SYMPG-3 YES GET FIRST PAGE BRS,BRS LIA SW AND SWMM ELIMINATE OLD STATUS IOR B INCLUDE NEW OTA SW DISPLAY IT STB MOD SAVE MODULE NUMBER ISZ TBLK RETURN TO P+2 JMP TBLK,I RETURN FOR TEST SKP TBLK3 LDA USADD CHECK IF SZA,RSS ANY USER MODULES JMP *+6 NO ALF,ALF AND B377 SZA MORE THAN ONE BLOCK? CPA MOD OR END? JMP TBLK5 YES EXIT LDA MEMO DONE AND B70K ALL LDB A LDA LOADD AND B70K CPA B OF BASE MEMORY JMP *+3 YES - CHECK FOR DMS ADA B10K NO MOVE UP ONE BLOCK+ JMP TBLK2 NOW RETURN TBLK4 LDA USSC IS DMS PRESENT? RAL SSA,RSS ?? JMP TBLK,I NO END OF MEMORY LDA SYMPG YES IS THIS THE FIRST TIME SZA,RSS ?? LDA B37 YES SET LAST PAGE INA MOVE TO NEXT PAGE STA SYMPG-3 SET PAGE TO BE TESTED INA STA SYMPG-2 INA STA SYMPG-1 INA STA SYMPG LDA SYMT GET POINTER TO MAP TABLE SYA LOAD DMS SYSTEM MAP REGISTERS FROM TABLE CLA ZERO THE LFA BASE PAGE FENCE SJP *+2 TURN ON SYSTEM MAPS LDA B70K SET ADDRESS FOR CHECK STA LOADD LDA ALPT0 GET TEST PATTERN STA LOADD,I TRY TO STORE IT LDA B70K SET LAST PAGE FOR TEST LDB USADD SKIP CHECK IF USER SPECIFIES SZB JMP TBLK2 HE DID CLF 5B TURN OFF PAITY ERROR LDB LOADD,I GET DATA BACK STF 5B TURN PARITY CIRCUIT ON SZB WAS THERE ANY MEMORY THERE? JMP TBLK2 YES TEST IT TBLK5 LDA SYMPG CHECK TO TURN OFF DMS SZA,RSS JMP TBLK,I DJP *+2 YES SO END OF MEMORY DISABLE MAPS JMP TBLK,I RETURN SKP SYMT DEF *+1 OCT 00,01,02,03,04,05,06,07 OCT 10,11,12,13,14,15,16,17 OCT 20,21,22,23,24,25,26,27 OCT 30,31,32,33,34,35,36 SYMPG OCT 37 SKP SAVA NOP SAVB NOP SAVX NOP SAVY NOP EOLC NOP TSTA NOP SINA NOP UINA NOP STDA OCT 000077 B2 OCT 2 B3 OCT 3 B7 OCT 7 B77 OCT 77 BM1 DEC -1 BM2 DEC -2 IOM OCT 177700 SW15 OCT 100000 SW14 OCT 40000 SW13 OCT 20000 SW12 OCT 10000 SW11 OCT 4000 SW10 OCT 2000 SW9 OCT 1000 SWM9 OCT 176777 SWMM OCT 177600 TSTN NOP B10K OCT 10000 B37 OCT 37 B370 OCT 370 B377 OCT 377 B7777 OCT 7777 B70K OCT 70000 D21 DEC 21 D32 DEC 32 HIADD NOP LOADD NOP USADD NOP MOD Wo<:6NOP TP NOP BG NOP G.R.F NOP SFTER NOP TMP NOP MACGL OCT 105624 MACGR OCT 105627 FPMC OCT 105620 ALPT0 OCT 052525 ALPT1 OCT 125252 MX.MC DEF MX.MS MX.EC DEF MX.ES MXCC ABS MX.MS-MX.ME+2 MCCT ABS 10000B-6477B .USR DEF USR CNSLO DEF *-* O2AS DEF *-* SKP IOIP DEF *+1 DEF WCS00 DEF WCS01 DEF WCS02 DEF WCS03 DEF WCS04 DEF WCS05 DEF WCS06 DEF WCS07 DEF WCS08 DEF WCS09 DEF WCS10 DEF WCS11 DEF WCS12 DEF WCS13 DEF WCS14 DEF WCS15 DEF WCS16 DEF WCS17 DEF WCS18 DEF WCS19 DEF WCS20 DEF WCS21 DEF WCSSF DEF WCSCF DEF W.SSF DEF W.SCF DEC -1 * TSTP DEF *+1 DEF TST00 ADDRESS AND PATTERN TEST DEF TST01 GAL.READ 052525 DEF TST02 GAL.READ 125252 DEF TST03 GAL.READ 177776 DEF TST04 GAL.READ 000001 DEF TST05 MODULE 0 TEST (FIRST 4K) DEC -1 LIST TERMINATOR x[<  24395-18007 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 d SKP ORG 1775B CFCMP CLA CLEAR S-REG. OTA SW H074 HLT 74B CONFIGURATION COMPLETE CLC INTP,C TURN I/O SYSTEM OFF CPB FPMC DID HE SET FOR FRONT PANNEL? JMP WCS21 LDA MEMO CHECK IF ONLY 4K OF MEMORY AND B70K SZA ?? JMP EXCS GREATER SO DO DIAGNOSTIC LDB FPMC GET MACROINSTRUCTION CLA DO MODULE 0 LDY ALPT0 GET TEST PATTERN LDX ALPT1 AND BACKGROUND H000 HLT 0B WAIT FOR OPERATOR WCS21 STF WCS TURN ON WCS JMP 1 EXECUTE FRONT PANNEL ROUTINE EXCS CLA CLEAR PASS STA EOLC COUNT LDA STDA SET STANDARD RUN STA SINA LDB SW10 CHECK TO SUPPRESS HEADER MESSAGE JSB SWRT JMP *+4 YES LDA HM00C NO OUTPUT HEADER MESSAGE LDB HM00P JSB CNSLO,I LDB SW9 CHECK FOR USER SELECTION REQ JSB SWRT JMP USR IT'S USERS CHOICE NUSR LDA STDA GET STANDARD TEST RUN CLB AND MEMORY BLOCK JMP EXC * USR JSB SWDB DEBOUNCE S-REG. LIA SW GET S-REGISTER AND SWM9 MASK OUT BIT 9 OTA SW UPDATE S-REGISTER LDA SINA RETRIEVE PREVIOUS RUN LDB USADD AND USER MEMORY BLOCK H075 HLT 75B WAIT FOR USER INPUT SKP EXC STA UINA SAVE STB USADD USER STA SINA INPUT LDA USADD CHECK UPER BOUND IS GREATER AND B377 STA B LDA USADD ALF,ALF AND B377 CMB,INB SZA,RSS JMP *+4 ADA B SSA IS IT? JMP USR NO ASK AGAIN CCA SET TEST NUMBER STA TSTN =-1 CLA STA TSTA CLEAR TEST RUN FLAG EXCL LDA UINA RESTORE A REG. RAR ROTATE FIRST TEST BIT STA UINA SAVE POSITIONS ISZ TSTN MOVE TEST UPY ONE NOP EXCL1 LDA TSTN ADA TSTP GET IT'S LDA A,I ADDRESS CPA BM1 IS IT END OF LIST JMP EOL YES LDB UINA SSB,RSS SHOULD IT BE RUN? JMP EXCL NO STA TSTA YES - SAVE TEST ADDRESS CLA CLEAR PARITY ERROR STA PERRA STA G.R.F CLEAR GAL READ FLAG STA SFTER CLEAR SOFT ERROR FLAG STF 5B TURN ON PARITY ERROR LOGIC JSB TSTA,I GO DO TEST SKP LDA LWAA MOVE CONFIG BACK AND B7777 LDB LWAA TO LAST MEMORY LOCATION MVW MCCT DO IT LDA TSTN DISPLAY TEST NUMBER IF HALTED LDB SW15 CHECK FOR HALT AT END OF TEST JSB SWRT RSS JMP *+3 JSB SWDB DEBOUNCE S-REG. H076 HLT 76B YES WAIT FOR OPERATOR LDB SW9 CHECK FOR ABORT JSB SWRT JMP USR YES LDB SW13 CHECK FOR LOOP ON ROUTINE JSB SWRT JMP EXCL1 YES - LOOP JMP EXCL CONTINUE EOL LDA TSTA CHECK IF ANY TESTS WERE RUN SZA,RSS ? JMP NUSR NO SO PICK UP STANDARD RUN ISZ EOLC UP DATE PASS COUNT CLE LDA EOLC CONVERT PASS COUNT FOR DISPLAY LDB HM77X JSB O2AS,I LDB SW10 CHECK TO SKIP OUTPUT OF PASS COUNT JSB SWRT JMP *+4 YES LDA D21 LDB HM77P JSB CNSLO,I LDB SW12 CHECK FOR LOOP ON DIAG. JSB SWRT JMP H077+1 YES LDA EOLC JSB SWDB DEBOUNCE S-REG. H077 HLT 77B NO WAIT AND DISPLAY PASS COUNT LDA SINA RESTORE ORIGINAL LDB USADD PROGRAM JMP EXC DO IT ALL AGAIN * HM77X DEF HM77+5 HM77P DEF HM77 HM77 ASC 12,H077 PASS XXXXXX * HM00C DEC 42 HM00P DEF HM00 HM00 ASC 21,MICROCODED SEMICONDUCTOR MEMORY DIAGNOSTIC SKP * MEMORY ADDRESS TEST (SOFTWARE) * TST00 EQU * ADDPT NOP CLA FIRST TIME THROUGH JSB TBLK GET TEST AREA JMP ADDPT,I DONE ALL OF MEMORY EXIT LDA LOADD GET STARTING ADDRESS CAX PUT IT IN X-REG. AND B7777 USE ONLY 4K MODULE ADDRESS LDB A ADD00 SBX 0 PUT ADDRESS IN ADDRESS LOCATION CXA CPA HIADD IS THIS THE LAST ADDRESS? JMP *+4 YES - GO VERIFY INB MOVE TO NEXT LOCATION ISX JMP ADD00 AND DO IT LDA LOADD GET LOWER LIMIT CAX PUT IT IN X-REG. AND B7777 CHECK ONLY 4K MODULE ADDRESS LDB A ADD01 LAX 0 GET CONTENTS STB BG SAVE EXPECTED CPA B DID ADDRESS STORE? JMP ADD02 YES JSB HLTS REPORT ERROR DEF EM10 E010 HLT 10B ADD02 LIA SW CHECK BIT 9 ALF,ALF RAR,SLA JMP .USR,I ABORT TEST CXA CPA HIADD END OF CHECK? JMP *+4 YES INB NO - MOVE TO NEXT LOCATION ISX JMP ADD01 SKP * MEMORY PATTERN TEST (SOFTWARE) * LDA LOADD GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB ALPT0 GET 052525 STB TMP SAVE THE PATTERN PAT00 SBX 0 PUT IT IN LOCATION CMB CXA PUT ADDRESS IN A REG CPA HIADD DONE 4K BLOCK? JMP *+3 YES - VERIFY IT ISX JMP PAT00 NO DO NEXT LOCATION LDA LOADD RESET TO STARTING OF BLOCK CAX PUT IT IN X-REG. LDB TMP GET ORIGINAL PATTERN PAT01 LAX 0 GET CONTENTS STB BG SAVE EXPECTED CPA B IS THIS PATTERN OK? JMP PAT02 YES JSB HLTS NOW REPORT ERROR DEF EM10 EO10 HLT 10B PAT02 LIA SW CHECK BIT 9 ALF,ALF RAR,SLA JMP .USR,I ABORT TEST CMB REVERSE PATTERN CXA PUT ADDRESS IN A  CPA HIADD DONE ALL OF 4K BLOCK? JMP *+3 ISX NO MOVE TO NEXT LOCATION JMP PAT01 AND DO IT LDB TMP YES - GET ORIGINAL PATTERN CPB ALPT0 DONE SECOND PATTERN JMP *+3 YES CCA CALL FOR NEXT BLOCK JMP ADDPT+2 CMB REVERSE PATTERN LDA LOADD RESET LOW ADDRESS CAX PUT IT IN X-REG. JMP PAT00-1 DO THE OPPSITE PATTERN * * EM10 ASC 10,E010 ADDR.PAT ERROR OCT -1 SKP * GALLOPING READ RECOVERY * TST01 EQU * G.R01 NOP LDA ALPT1 LDB ALPT0 GET 052525 JSB G.R EXECUTE GAL.READ JMP G.R01,I RETURN * TST02 EQU * G.R02 NOP LDA ALPT0 LDB ALPT1 GET 125252 JSB G.R EXECUTE GAL.READ JMP G.R02,I RETURN * TST03 EQU * G.R03 NOP LDA B3 LDB BM2 GET 177776 FOR PARITY CHIP JSB G.R EXECUTE GAL.READ JMP G.R03,I RETURN * TST04 EQU * G.R04 NOP LDA BM2 LDB B3 GET 000003 FOR PARITY CHIP JSB G.R EXECUTE GAL.READ JMP G.R04,I RETURN SKP G.R NOP STA TP SAVE TEST PATTERN STB BG AND BACKGROUND CLA FIRST TIME THROUGH JSB TBLK GET TEST AREA JMP G.R,I DONE ALL OF MEMORY JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READ DEF EM11 E011 HLT 11B WRITE.READ ERROR JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105623 EXECUTE READ DEF EM12 E012 HLT 12B ERROR HALT CODE LDA D32 SET GAL.READ FLAG FOR ERROR MESSAGE STA G.R.F JSB TSTR GO TO MACRO ECECUTION ROUTINE OCT 105624 EXECUTE GAL.READ DEF EM13 E013 HLT 13B GAL.READ ERROR HALT CLA CLEAR GAL.READ FLAG STA G.R.F JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105622@ EXECUTE WRT.READ TO LOAD MEMORY DEF EM14 E014 HLT 14B WRITE.READ ERROR JSB TSTR GO TO MACRO EXECUTION ROUTINE OCT 105625 EXECUTE REFRESH DEF *-* E015 HLT 15B ERROR HALT CODE SHOULD NEVER OCCUR JSB TSTR GO TO MACRO ECECUTION ROUTINE OCT 105623 EXECUTE READ TO CHECK MEMORY DEF EM16 E016 HLT 16B REFRESH ERROR HALT CCA JMP G.R+4 * * EM11 ASC 10,E011 WRT.READ ERROR OCT -1 EM12 ASC 10,E012 READ ERROR OCT -1 EM13 ASC 10,E013 GAL.READ ERROR OCT -1 EM14 ASC 10,E014 WRT.READ ERROR OCT -1 EM16 ASC 10,E016 READ ERROR OCT -1 SKP * MODULE 0 TEST (FIRST 4K) * TST05 EQU * .4K NOP LDA USADD CHECK IF IT'S USER SELECTION SZA JMP .4K,I YES - EXIT THIS TEST LDA B2 MOVE PROGRAM TO SECOND 4K LDB B10K ADB B2 MVW B10K LDA B2 CHECK MOVE LDB B10K ADB B2 CMW B10K LDA .4KPE STA 3B LIA SW UPDATE S-REG. AND SWMM JMP *+1,I DEF *+1+10000B GO TO SECOND 4K MODULE SKP * ADDRESS TEST * OTA SW LDA .4KJX SET RESTART AT 10000 LDB .10K PUT AT 10000 STA B,I INB LDA .4KJD SET LINK STA B,I LDA .6 GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB .6 AD4K0 SBX 0 PUT ADDRESS IN ADDRESS LOCATION CPB .7777 IS THIS THE LAST ADDRESS? JMP *+4 YES - GO VERIFY INB MOVE TO NEXT LOCATION ISX JMP AD4K0 AND DO IT LDA .6 GET LOWER LIMIT CAX PUT IT IN X-REG. LDB .6 AD4K1 LAX 0 GET CONTENTS CPA B DID ADDRESS STORE? JMP *+2 YES E020 HLT 20B NO TELL OPERATOR LIA SW CHECK BIT 9 ALF,ALF RAL,SLA JMP .4KEX ABORT TEST CPB .7777 END OF CHECK? JMP *+4 YES INB NO - MOVE TO NEXT LOCATION ISX JMP AD4K1 SKP * PATTERN TEST * * _ LDA .6 GET STARTING ADDRESS CAX PUT IT IN X-REG. LDB .ALP0 GET 052525 STB .SAVA SAVE THE PATTERN PT4K0 SBX 0 PUT IT IN LOCATION CMB CXA PUT ADDRESS IN A REG CPA .7777 DONE 4K BLOCK? JMP *+3 YES - VERIFY IT ISX JMP PT4K0 NO DO NEXT LOCATION LDA .6 RESET TO STARTING OF BLOCK CAX PUT IT IN X-REG. LDB .SAVA GET ORIGINAL PATTERN PT4K1 LAX 0 GET CONTENTS CPA B IS THIS PATTERN OK? JMP *+2 YES EO20 HLT 20B NO TELL OPERATOR LIA SW CHECK BIT 9 ALF,ALF RAL,SLA JMP .4KEX ABORT TEST CMB REVERSE PATTERN CXA PUT ADDRESS IN A CPA .7777 DONE ALL OF 4K BLOCK? JMP *+3 ISX NO MOVE TO NEXT LOCATION JMP PT4K1 AND DO IT LDB .SAVA YES - GET ORIGINAL PATTERN CPB .ALP1 DONE SECOND PATTERN JMP *+5 YES CMB REVERSE PATTERN LDA .6 RESET LOW ADDRESS CAX PUT IT IN X-REG. JMP PT4K0-1 DO THE OPPSITE PATTERN SKP * MICROCODED GALLOPING READ RECOVERY AND REFRESH * LDA .ALP1 LDB .ALP0 JSB .4KR DO 125252 LDA .ALP0 LDB .ALP1 JSB .4KR DO 052525 LDA .3 LDB .M2 JSB .4KR DO 000003 LDA .M2 LDB .3 JSB .4KR DO 177775 * .4KEX LDA .10K MOVE PROGRAM BACK ADA .2 LDB .2 MVW .10K+10000B JMP .4K,I RETURN TO EXEC * .4KR NOP STA .TP SAVE TEST PATTERN STB .BG AND BACKGROUND JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READo E021 HLT 21B WRITE.READ ERROR JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105623 EXECUTE READ E022 HLT 22B ERROR HALT CODE JSB T4KR GO TO MACRO ECECUTION ROUTINE OCT 105624 EXECUTE GAL.READ E023 HLT 23B GAL.READ ERROR HALT JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105622 EXECUTE WRT.READ TO LOAD MEMORY E024 HLT 24B WRITE.READ ERROR JSB T4KR GO TO MACRO EXECUTION ROUTINE OCT 105625 EXECUTE REFRESH E025 HLT 25B ERROR HALT CODE SHOULD NEVER OCCUR JSB T4KR GO TO MACRO ECECUTION ROUTINE OCT 105623 EXECUTE READ TO CHECK MEMORY E026 HLT 26B REFRESH ERROR HALT JMP .4KR,I RETURN * SKP T4KR NOP LDA T4KR,I GET MACRO INSTRUCTION TO BE EXECUTED STA MAC4K ISZ T4KR LDA T4KR,I GET HALT CODE STA T4KEX ISZ T4KR LDA .6 GET STARING ADDRESS CAX PUT IT IN X LDA .7777 AND ENDING ADDRESS CAY PUT IT IN Y LDA .TP TEST PATTERN IF APP LDB .BG AND BACKGROUND W.SSF STF WCS TURN ON WCS MAC4K NOP W.SCF CLF WCS TURN OFF WCS STA .SAVA SAVE ACTUAL DATA CXA PUT X REG IN TO A REG SSA IS THIS AN ERROR? JMP T4KER YES CYA PUT Y REG IN A REG SSA,RSS IS THIS OPERATOR INTERRUPT? JMP T4KR,I NO THEN COMPLETE T4KRN LIA SW ALF,ALF CHECK BIT 9 FOR ABORT RAR,SLA ? JMP .4KEX YES EXIT TEST CXA CLEAR BIT 15 IN X REG ELA,CLE,ERA CAX STA .SAVA CYA NOW DO THE Y REG ELA,CLE,ERA CAY CPA .7777 LAST ADDRESS? XOR .SAVA SZA,RSS JMP T4KR,I YES EXIT LDA MAC4K CHECH IF GAL READ REENTER CPA M4KGL ?? LDA M4KGR YES GET DIFFERENT MACRO ST#0.*A MAC4K CPA M4KGR IS THIS A RETURN TO GAL.READ? RSS YES DONT UPDATE X REG ISX UPDATE X-REG. JMP MAC4K-1 CONTINUE EXECUTION * M4KGL OCT 105624 M4KGR OCT 105627 * T4KER LDA .SAVA RESTORE A REGISTER T4KEX NOP SET TO ERROR HALT JMP T4KRN CONTINUE SKP .2 OCT 2 .3 OCT 3 .6 OCT 6 .7777 OCT 7777 .M2 OCT -2 .10K OCT 10000 .4KPE OCT 102064 .ALP0 OCT 125252 .ALP1 OCT 052525 .SAVA NOP .TP NOP .BG NOP .4KJX OCT 126001 .4KJD DEF .4KEX+10000B h0   24395-18008 1644 S 0122 SEMICONDUCTOR MEMORY DIAGNOSTIC             H0101 d SKP *MICMX,B,L,C ** ** 21MX MICROCODED MEMORY TESTS * ORG 6000B MODULE 12 * JMP START FRONT PANNEL ENTRY * JMP RE.ENTER RE-ENTER FROM FRONT PANNEL * JMP WRT.READ * JMP READ * JMP GAL.READ * JMP REFRESH * RTN * JMP GL.RD.02 * RTN * JMP RE.ENTR1 * JMP RE.ENTR2 * JMP RE.ENTR3 * JMP RE.ENTR4 * JMP RE.ENTR5 * JMP RE.ENTR6 * JMP RE.ENTR7 SKP *START IMM HIGH S4 17B 7777 IN S4 * L S4 7777 IN L * ADD S12 A UPPER LIMIT IN S12 * PASS S11 A LOWER LIMIT IN S11 * PASS S10 Y SAVE TEST PATTERN IN S10 * PASS S9 X SAVE BG IN S9 * PASS S8 B SAVE MACRO INSTRUCTION ** *RE.ENTR0 PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR1 PASS B S9 AND BACKGROUND * IMM CMLO S7 376B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR2 PASS B S9 AND BACKGROUND * IMM CMLO S7 375B AND RE-ENTRY NUMBER * JSB READ CHECK MEMORY FOR GOOD LOAD * PASS X S11 SET WORKING ADDRESS * PASS Y S11 AND PATTERN ADDRESS *RE.ENTR3 IMM CMLO S7 374B SET RE-ENTRY NUMBER * JSB GL.RD.00 RUN PATTERcN THROUGH TEST AREA * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR4 PASS B S9 AND BACKGROUND * IMM CMLO S7 373B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY *RE.ENTR5 IMM CMLO S7 372B SET RE-ENTRY NUMBER * JSB REFRESH STAY IN CODE TO ALLOW REFRESH * PASS X S11 SET STARTING ADDRESS * PASS Y S12 AND ENDING ADDRESS *RE.ENTR6 PASS B S9 AND BACKGROUND * IMM CMLO S7 371B AND RE-ENTRY NUMBER * JSB READ INSURE MEMORY WAS NOT CHANGED * IMM CMLO S7 300B SET GOOD HALT 77B * ZERO X CLEAR X * ZERO Y AND Y FOR GOOD COMPLETION SKP *EXIT DEC S1 P CHECK IF FRONT PANNEL ENTRY * IMM LOW S2 370B * PASS L S2 * AND P * JMP CNDX TBZ *+2 IF P NOT = TO 0 THEN * RTN PASS M S1 RETURN TO SOFRWARE PROGRAM ** * ZERO P INSURE P=0 * IMM CMHI S6 173B GENERATE 102000 FOR HALT * PASS L S7 * IOR A S6 AND THEN 1020XX * INC B S8 SET MACRO FOR RE-ENTERY * JMP CNDX NHOI *+2 IS THIS THE HALT BUTTON * INC P P YES INCREMENT P * JSB *+1 * RTN ZERO M RETURN ** *RE.ENTER IMM HIGH S7 177B CLEAR BIT 15 OF * PASS L S7 * AND X X X AND * AND Y Y Y REGISTERS * INC X X MOVE TO NEXT ADDRESS * IMM [ CMLO S7 370B SET MASK TO DETERMINE * PASS L S7 WHICH ROUTINE TO * AND A A * IMM CMLO S7 367B ADD 10 OCTAL * PASS L S7 * IOR A A * PASS IR A RETURN TO * JMP J30 6000B RETURN TO IT ** *RE.ENTR7 PASS S DSPL * JMP CNDX AL15 RJS RE.ENTR0 MOVE TO NEXT BLOCK? * IMM CMHI S7 357B YES - ADD 4K * PASS L S7 * ADD S12 S12 * ADD S11 S11 * JMP CNDX AL15 RJS *+3 WRAPPAROUND? * ZERO S11 YES CLEAR LOWER LIMIT * IMM HIGH S12 17B SET UPPER LIMIT * JMP RE.ENTR0 SKP ** WRT.READ MEMORY FROM X TO Y TO BACKGROUND PATTERN IN B ** *WRT.READ M X M-REG=CURRENT ADDRESS * WRTE T B WRITE BACKGROUND * READ L B READ BACKGROUND * PASS A T SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX TBZ RJS D.ERROR DATA * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX TBZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP WRT.READ CONTINUE * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN ** *READ M X M-REG=CURRENT ADDRESS * READ L B READ BACKGROUND * PASS A T SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX TBZ RJS D.ERROR DATA * JMP CNDX NH]?OI RJS HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX TBZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP READ CONTINUE * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN SKP ** GALLOPING READ RECOVERY TEST ** *GAL.READ PASS S10 A SAVE TEST PATTERN * PASS S9 B SAVE BACKGROUND * PASS S11 X STARTING ADDRESSS * PASS S12 Y ENDING ADDRESS * PASS Y X BOTH MUST BE THE SAME TO START ** *GL.RD.00 PASS B S10 SET TEST PATTERN AS EXPECTED * PASS M Y AND ADDRESS * WRTE T B WRITE TEST PATTERN OVER BG * IMM CMHI S1 375B DID USER WANT TO * PASS L S1 * AND DSPL * JMP CNDX TBZ RJS HALT.INT ABORT? YES GO EXIT *GL.RD.01 PASS B S10 SET TEST PATTERN AS EXPECTED * READ M Y READ PATTERN * PASS A T PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX TBZ RJS D.ERROR TEST PATTERN? NO-DATA ERROR * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES-GO PROCESS * L Y PATTERN ADDRESS * XOR X = WORKING * JMP CNDX TBZ GL.RD.02 ADDRESS? YES-SKIP READ * PASS B S9 SET EXPECTED TO BG * READ M X READ BACKGROUND ADDRESS * PASS A T PUT DATA READ IN A * PASS L B DID IT * dXOR A CONTAIN THE * JMP CNDX TBZ RJS D.ERROR BG PATTERN? NO-DATA ERROR * JMP CNDX NHOI RJS HALT.INT HALT OR INTERRUPT? YES *GL.RD.02 L S12 UPPER 4K LIMIT IN L * XOR X DONE ALL READ ACCESS TRANSITIONS * JMP CNDX TBZ *+3 FOR ONE TEST ADDRESS? * INC X X NO.BUMP WORKING ADDRESS * JMP GL.RD.01 CONTINUE * PASS B S9 RESTORE BG IN PATTERN ADDRESS * PASS M Y * WRTE T B * XOR Y DONE ALL TEST * JMP CNDX TBZ *+4 YES RETURN * INC Y Y (MOVE TO NEXT TEST ADDRESS)144 * PASS X S11 (RESET STARTING ADDRESS) * JMP GL.RD.00 ADDRESS IN 4K? * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN SKP ** REFRESH TEST ** *REFRESH IMM CMLO S1 367B DELAY * ZERO S2 FOR * JMP CNDX NHOI RJS HALT.INT APPROXIMATELY * DEC S2 S2 500 MILLISECONDS * JMP CNDX TBZ RJS *-2 WITHOUT * DEC S1 S1 ADDRESSING * JMP CNDX TBZ RJS REFRESH+1 MEMORY * DEC S1 P SET M TO RETURN * RTN PASS M S1 RETURN ** ** HALT OR INTERRUPT ** *HALT.INT IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR Y Y IN Y TO INDICATE INTERRUPT * JMP EXIT RETURN ** ** PROCESSES ERRORS ** *D.ERROR IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR X X IN X TO INDICATE ERROR * JMP EXIT REuTURN * END SKP MX.MS EQU * OCT 6000,506 MODULE 12 ADDRESS 6000B OCT 321,101030 OCT 321,104170 OCT 321,105530 OCT 321,106430 OCT 321,107270 OCT 321,112070 OCT 017,136776 OCT 321,111130 OCT 017,136776 OCT 321,101470 OCT 321,101730 OCT 321,102170 OCT 321,102370 OCT 321,102530 OCT 321,102730 OCT 321,105030 OCT 340,037157 OCT 017,146157 OCT 004,127557 OCT 017,127517 OCT 017,173457 OCT 017,171417 OCT 017,125357 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,175317 OCT 301,105530 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,173317 OCT 301,106430 OCT 017,165617 OCT 017,165657 OCT 357,171317 OCT 301,107530 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,167317 OCT 301,105530 OCT 357,165317 OCT 301,112070 OCT 017,165617 OCT 017,167657 OCT 017,160517 OCT 357,163317 OCT 301,106430 OCT 357,001317 OCT 001,137617 OCT 001,137657 OCT 007,175017 OCT 347,161057 OCT 017,142157 OCT 015,174757 OCT 320,043531 OCT 017,140476 OCT 001,137717 OCT 351,167257 OCT 017,154157 OCT 017,052557 OCT 000,056517 OCT 326,044071 OCT 000,075717 OCT 301,104130 OCT 001,136476 OCT 341,177317 OCT 017,154157 OCT 015,171617 OCT 015,173657 OCT 000,071617 OCT 357,161317 OCT 017,154157 OCT 015,126557 OCT 357,157317 OCT 017,154157 OCT 017,026557 OCT 017,126417 OCT 321,100035 OCT 017,115757 OCT 322,001371 OCT 353,137317 OCT 017,154157 OCT 004,167557 OCT 004,165517 OCT 322,005471 OCT 001,137517 OCT 34K0,037557 OCT 321,101370 OCT 017,170457 OCT 177,124117 OCT 237,124157 OCT 017,104557 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,046331 OCT 000,071617 OCT 321,105530 OCT 007,175017 OCT 017,140476 OCT 017,170457 OCT 237,124157 OCT 017,104557 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,047171 OCT 000,071617 OCT 321,106430 OCT 007,175017 OCT 017,140476 OCT 017,127457 OCT 017,125417 OCT 017,171517 OCT 017,173557 OCT 017,171657 OCT 017,162517 OCT 017,172457 OCT 177,124117 OCT 353,173017 OCT 017,140157 OCT 015,114757 OCT 320,012531 OCT 017,162517 OCT 237,172457 OCT 017,104557 OCT 017,124157 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,172157 OCT 013,070757 OCT 320,051131 OCT 017,160517 OCT 237,170457 OCT 017,104557 OCT 017,124157 OCT 013,026757 OCT 320,012731 OCT 326,012531 OCT 017,166157 OCT 013,070757 OCT 320,051371 OCT 000,071617 OCT 321,110070 OCT 017,160517 OCT 017,172457 OCT 177,124117 OCT 013,072757 OCT 320,051771 OCT 000,073657 OCT 017,165617 OCT 321,107530 OCT 007,175017 OCT 017,140476 OCT 357,157017 OCT 001,137057 OCT 326,012531 OCT 007,143057 OCT 320,012171 OCT 007,141017 OCT 320,012131 OCT 007,175017 OCT 017,140476 OCT 351,177217 OCT 017,150157 OCT 017,073657 OCT 321,103230 OCT 351,177217 OCT 017,150157 OCT 017,071617 OCT 321,103230 MX.ME EQU * SKP *MICMXE,B,L,C ** ** 21MXE MICROCODED M6EMORY TESTS * ORG 34400B MODULE 57 * JMP START FRONT PANNEL ENTRY * JMP RE.ENTER RE-ENTER FROM FRONT PANNEL * JMP WRT.READ * JMP READ * JMP GAL.READ * JMP REFRESH * READ RTN * JMP GL.RD.02 * READ RTN * JMP RE.ENTR1 * JMP RE.ENTR2 * JMP RE.ENTR3 * JMP RE.ENTR4 * JMP RE.ENTR5 * JMP RE.ENTR6 * JMP RE.ENTR7 SKP *START IMM HIGH S4 17B 7777 IN S4 * L S4 7777 IN L * ADD SP A UPPER LIMIT IN SP * PASS S11 A LOWER LIMIT IN S11 * PASS S10 Y SAVE TEST PATTERN IN S10 * PASS S9 X SAVE BG IN S9 * PASS S8 B SAVE MACRO INSTRUCTION ** *RE.ENTR0 PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR1 PASS B S9 AND BACKGROUND * IMM CMLO S7 376B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY * PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR2 PASS B S9 AND BACKGROUND * IMM CMLO S7 375B AND RE-ENTRY NUMBER * JSB READ CHECK MEMORY FOR GOOD LOAD * PASS X S11 SET WORKING ADDRESS * PASS Y S11 AND PATTERN ADDRESS *RE.ENTR3 IMM CMLO S7 374B SET RE-ENTRY NUMBER * JSB GL.RD.00 RUN PATTERN THROUGH TEST AREA * PASS X S11 p SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR4 PASS B S9 AND BACKGROUND * IMM CMLO S7 373B AND RE-ENTRY NUMBER * JSB WRT.READ LOAD MEMORY *RE.ENTR5 IMM CMLO S7 372B SET RE-ENTRY NUMBER * JSB REFRESH STAY IN CODE TO ALLOW REFRESH * PASS X S11 SET STARTING ADDRESS * PASS Y SP AND ENDING ADDRESS *RE.ENTR6 PASS B S9 AND BACKGROUND * IMM CMLO S7 371B AND RE-ENTRY NUMBER * JSB READ INSURE MEMORY WAS NOT CHANGED * IMM CMLO S7 300B SET GOOD HALT 77B * ZERO X CLEAR X * ZERO Y AND Y FOR GOOD COMPLETION SKP *EXIT DEC S1 P CHECK IF FRONT PANNEL ENTRY * IMM LOW S2 370B * PASS L S2 * AND P * JMP CNDX ALZ *+2 IF P NOT = TO 0 THEN * READ RTN PASS M S1 RETURN TO SOFRWARE PROGRAM ** * ZERO P INSURE P=0 * IMM CMHI S6 173B GENERATE 102000 FOR HALT * PASS L S7 * IOR A S6 AND THEN 1020XX * INC B S8 SET MACRO FOR RE-ENTERY * JMP CNDX HOI RJS *+2 IS THIS THE HALT BUTTON * INC P P YES INCREMENT P * JSB *+1 * READ RTN ZERO M RETURN ** *RE.ENTER IMM HIGH S7 177B CLEAR BIT 15 OF * PASS L S7 * AND X X X AND * AND Y Y Y REGISTERS * INC X X MOVE TO NEXT ADDRESS * IMM CMLO S7 370B SET MASK TO DETERMINE * } PASS L S7 WHICH ROUTINE TO * AND A A * IMM CMLO S7 367B ADD 10 OCTAL * PASS L S7 * IOR A A * PASS IRCM A RETURN TO * JMP RJ30 34400B RETURN TO IT ** *RE.ENTR7 PASS S DSPL * JMP CNDX AL15 RJS RE.ENTR0 MOVE TO NEXT BLOCK? * IMM CMHI S7 357B YES - ADD 4K * PASS L S7 * ADD SP SP * ADD S11 S11 * JMP CNDX AL15 RJS *+3 WRAPPAROUND? * ZERO S11 YES CLEAR LOWER LIMIT * IMM HIGH SP 17B SET UPPER LIMIT * JMP RE.ENTR0 SKP ** WRT.READ MEMORY FROM X TO Y TO BACKGROUND PATTERN IN B ** *WRT.READ M X M-REG=CURRENT ADDRESS * WRTE PRST TAB B WRITE BACKGROUND * READ PRST L B READ BACKGROUND * PASS A TAB SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX ALZ RJS D.ERROR DATA * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES * L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX ALZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP WRT.READ CONTINUE * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN ** *READ M X M-REG=CURRENT ADDRESS * READ PRST L B READ BACKGROUND * PASS A TAB SAVE DATA READ IN A * XOR A VERIFY * JMP CNDX ALZ RJS D.ERROR DATA * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES * Hf L Y GET LAST ADDRESS IN L * XOR X DONE * JMP CNDX ALZ *+3 TEST AREA? YES-GO SEE IF DONE * INC X X BUMP POINTER * JMP READ CONTINUE * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN SKP ** GALLOPING READ RECOVERY TEST ** *GAL.READ PASS S10 A SAVE TEST PATTERN * PASS S9 B SAVE BACKGROUND * PASS S11 X STARTING ADDRESSS * PASS SP Y ENDING ADDRESS * PASS Y X BOTH MUST BE THE SAME TO START ** *GL.RD.00 PASS B S10 SET TEST PATTERN AS EXPECTED * PASS M Y AND ADDRESS * WRTE PRST TAB B WRITE TEST PATTERN OVER BG * IMM CMHI S1 375B DID USER WANT TO * PASS L S1 * AND DSPL * JMP CNDX ALZ RJS HALT.INT ABORT? YES GO EXIT *GL.RD.01 PASS B S10 SET TEST PATTERN AS EXPECTED * READ PRST M Y READ PATTERN * PASS A TAB PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX ALZ RJS D.ERROR TEST PATTERN? NO-DATA ERROR * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES-GO PROCESS * L Y PATTERN ADDRESS * XOR X = WORKING * JMP CNDX ALZ GL.RD.02 ADDRESS? YES-SKIP READ * PASS B S9 SET EXPECTED TO BG * READ PRST M X READ BACKGROUND ADDRESS * PASS A TAB PUT DATA READ IN A * PASS L B DID IT * XOR A CONTAIN THE * JMP CNDX AL0Z RJS D.ERROR BG PATTERN? NO-DATA ERROR * JMP CNDX HOI HALT.INT HALT OR INTERRUPT? YES *GL.RD.02 L SP UPPER 4K LIMIT IN L * XOR X DONE ALL READ ACCESS TRANSITIONS * JMP CNDX ALZ *+3 FOR ONE TEST ADDRESS? * INC X X NO.BUMP WORKING ADDRESS * JMP GL.RD.01 CONTINUE * PASS B S9 RESTORE BG IN PATTERN ADDRESS * PASS M Y * WRTE PRST TAB B * XOR Y DONE ALL TEST * JMP CNDX ALZ *+4 YES RETURN * INC Y Y (MOVE TO NEXT TEST ADDRESS)144 * PASS X S11 (RESET STARTING ADDRESS) * JMP GL.RD.00 ADDRESS IN 4K? * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN SKP ** REFRESH TEST ** *REFRESH IMM CMLO S1 367B DELAY * ZERO S2 FOR * JMP CNDX HOI HALT.INT APPROXIMATELY * DEC S2 S2 500 MILLISECONDS * JMP CNDX ALZ RJS *-2 WITHOUT * DEC S1 S1 ADDRESSING * JMP CNDX ALZ RJS REFRESH+1 MEMORY * DEC S1 P SET M TO RETURN * READ RTN PASS M S1 RETURN ** ** HALT OR INTERRUPT ** *HALT.INT IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR Y Y IN Y TO INDICATE INTERRUPT * JMP EXIT RETURN ** ** PROCESSES ERRORS ** *D.ERROR IMM CMHI S5 177B SET BIT 15 IN * PASS L S5 * IOR X X IN X TO INDICATE ERROR * JMP EXIT RETURN * END SKP MX.ES EQU * OCST 34400,3534 MODULE 57 ADDRESS 34400B OCT 327,021007 OCT 327,024147 OCT 327,025507 OCT 327,026407 OCT 327,027247 OCT 327,032047 OCT 230,036740 OCT 327,031107 OCT 230,036740 OCT 327,021447 OCT 327,021707 OCT 327,022147 OCT 327,022347 OCT 327,022507 OCT 327,022707 OCT 327,025007 OCT 344,037147 OCT 010,046507 OCT 003,007547 OCT 010,007507 OCT 010,073447 OCT 010,071407 OCT 010,011347 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,175307 OCT 307,025507 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,173307 OCT 307,026407 OCT 010,065607 OCT 010,065647 OCT 353,171307 OCT 307,027507 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,167307 OCT 307,025507 OCT 353,165307 OCT 307,032047 OCT 010,065607 OCT 010,067647 OCT 010,060207 OCT 353,163307 OCT 307,026407 OCT 353,001307 OCT 006,037607 OCT 006,037647 OCT 000,075007 OCT 343,161047 OCT 010,042507 OCT 012,074747 OCT 320,023502 OCT 230,040640 OCT 006,037707 OCT 355,167247 OCT 010,054507 OCT 010,152147 OCT 007,156207 OCT 323,164042 OCT 007,175707 OCT 307,024107 OCT 226,036640 OCT 345,177307 OCT 010,054507 OCT 012,071607 OCT 012,073647 OCT 007,171607 OCT 353,161307 OCT 010,054507 OCT 012,006147 OCT 353,157307 OCT 010,054507 OCT 010,106147 OCT 010,006607 OCT 327,020004 OCT 010,015747 OCT 327,161342 OCT 357,137307 OCT 010,054507 OCT 003,067547 OCT 003,065507 OCT 327,165442 OCT 006,037507 OCT 344,037547 OCT 327,021347 OCT 010,070647  OCT 210,010015 OCT 230,010515 OCT 010,000147 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,026302 OCT 007,171607 OCT 327,025507 OCT 000,075007 OCT 230,040640 OCT 010,070647 OCT 230,010515 OCT 010,000147 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,027142 OCT 007,171607 OCT 327,026407 OCT 000,075007 OCT 230,040640 OCT 010,007447 OCT 010,011407 OCT 010,071507 OCT 010,073547 OCT 010,071647 OCT 010,062207 OCT 010,072647 OCT 210,010015 OCT 357,173007 OCT 010,040507 OCT 012,014747 OCT 320,072502 OCT 010,062207 OCT 230,072655 OCT 010,000147 OCT 010,010507 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,072507 OCT 014,170747 OCT 320,031102 OCT 010,060207 OCT 230,070655 OCT 010,000147 OCT 010,010507 OCT 014,106747 OCT 320,072702 OCT 323,132502 OCT 010,066507 OCT 014,170747 OCT 320,031342 OCT 007,171607 OCT 327,030047 OCT 010,060207 OCT 010,072647 OCT 210,010015 OCT 014,172747 OCT 320,031742 OCT 007,173647 OCT 010,065607 OCT 327,027507 OCT 000,075007 OCT 230,040640 OCT 353,157007 OCT 006,037047 OCT 323,132502 OCT 000,043047 OCT 320,072142 OCT 000,041007 OCT 320,072102 OCT 000,075007 OCT 230,040640 OCT 355,177207 OCT 010,050507 OCT 010,173647 OCT 327,023207 OCT 355,177207 OCT 010,050507 OCT 010,171607 OCT 327,023207 MX.EE EQU * SKP FWAA EQU * END $xZXTTZ  24998-18003 1723 S 0122 DOS FLOATING PT. LIBRARY              H0101 ASMB,R,L NAM FLIB.A,7 770518 24998-16003 REV.1723 FLIB NOP END ASMB,R,L HED "FADSB" DUMMY ENTRY FOR DOS-III SYSTEMS NAM FADSB,7 770518 24998-16003 ENT .FAD,.FSB EXT .MAC. SPC 1 * THIS ROUTINE CAN ONLY BE USED WITH RTE/DOS REL. LIB.(24998-16001) SPC 1 .FAD NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105000 IN THE "JSB .FAD" * .FSB NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105020 IN THE "JSB .FSB" END ASMB,R,L HED ".FMP" DUMMY ENTRY FOR DOS-III SYSTEMS NAM .FMP,7 770518 24998-16003 ENT .FMP EXT .MAC. SPC 1 * THIS ROUTINE CAN ONLY BE USED WITH RTE/DOS REL. LIB.(24998-16001) SPC 1 .FMP NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105040 IN THE "JSB .FMP" END ASMB,R,L HED ".FDV" DUMMY ENTRY FOR DOS-III SYSTEMS NAM .FDV,7 770518 24998-16003 ENT .FDV EXT .MAC. SPC 1 * THIS ROUTINE CAN ONLY BE USED WITH RTE/DOS REL. LIB.(24998-16001) SPC 1 .FDV NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105060 IN THE "JSB .FDV" END ASMB,R,L HED "IFIX" DUMMY ENTRY FOR DOS-III SYSTEMS NAM IFIX,7 770518 24998-16003 ENT IFIX EXT .MAC. SPC 1 * THIS ROUTINE CAN ONLY BE USED WITH RTE/DOS REL. LIB.(24998-16001) SPC 1 IFIX NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105100 IN THE "JSB IFIX" END ASMB,R,L HED "FLOAT" DUMMY ENTRY FOR DOS-III SYSTEMS NAM FLOAT,7 770518 24998-16003 ENT FLOAT EXT .MAC. SPC 1 * THIS ROUTINE CAN ONLY BE USED WITH RTE/DOS REL. LIB.(24998-16001) SPC 1 FLOAT NOP JSB .MAC. DO THE STORE OF NEXT CORE VALUE OCT 105120 IN THE "JSB FLOAT" END 1